Release The Legend of Edgar


eyecreate

Member
Joined
Feb 3, 2009
Messages
253
Website
git.eyecreate.org
Had just finished playing Castlevania:Aria of Sorrow on my Pandora when I re-remembered how much I love open-exploration games. I decided then I had to make my next port one of those games.


In The Legend of Edgar, you take on the role of Edgar as he ventures across the world, battling fearsome creatures and solving puzzles whilst trying to find and rescue his father. The game is still in the process of being completed, but is pretty far.


http://repo.openpandora.org/?page=detail&app=edgar-edgar-5663


Still have to figure our the bug causing the game to crash on Game Overs(so I suggest playing it not-fullscreen or in mini-menu til that is fixed.) and implementing better/sane defaults on startup.
 
Update!


repo version now respects PND home directory(was writing to actual home previously), uses default config file if none exists(which has buttons premapped and fullscreen), and game over bug gone.(bug was in mikmod music player. Lazy person I am, I just disabled the game over music :p Let me know if other music spots crash it too.)
 
SWEET PICKLES!


So, after trying the game further, I found out the game over music wasn't the only music with issues. The game stopped being playable at the Mines for this same reason. Frustrated, I decided to research the issue a bit. It seems I stumbled upon the debian changelogs and found out this was a known bug in an older and unpatched version of libmikmod. (which is also a security issue,btw:http://security-tracker.debian.org/tracker/CVE-2009-0179)


So begins the journey...


I decided the only way to fix things was to compile my own copy of libmikmod...but also had to compile libsdl_mixer too, which is what uses it in TLoE. Turns out, neither lib wanted to compile off bat. Mikmod was spitting errors left and right(which turned out to be because all warning were turned to errors) After editing the configure script to say "these are not the warnings you are looking for", I went on the SDL_mixer. SDL_mixer wouldn't find my mikmod I just compiled, so I had to force it with env vars to find it.(also, the configure script wouldn't work as it wasn't made to handle certain libs when cross-compiling. Another hand configure script hack to remove that section, which only compiled a test app anyways.) This lead to, after compiling SDL_mixer and Edgar again, things still not working because it was trying to dynamically use the system mikmod instead of mine at runtime. I circumvented the PND script's default LD_LIBRARY_PATH to only use the PND dir for libs. This lead to a chorus of angels in the form of audible .XM tracker music in the background.


In short(tldr), new PND up on repo which "for sure" should never come across crashes due to music again.
 
After redoing my hundreds of malloc and const changes, I got the latest "full" version of edgar done. The default config doesn't seem to work anymore(may fix in update later), but you can reconfigure it all once the game loads. Find it in the repo.
 
Nice!


Did you think about getting your changes upstream, so you won't have to redo them for every version?
 
Nice!


Did you think about getting your changes upstream, so you won't have to redo them for every version?

I've thought about that, but would like to figure out why first these changes are needed. The fact these changes weren't needed for the creator to compile this means something is working differently for them. (I suspect using older compiler) Guess it wouldn't hurt to at least send an email, though.


Sidenote: I realized after upload I have the old broken url still in the pxml. Will fix that next update too.
 
Gonna check this out, i love plat former action rpgs


You know of any other good ones out there? This genre doesn't seem to be that popular


Sent from my Nexus S 4G using Tapatalk 2
 
I suspect using older compile
Have you tried ivanovic toolchain ? (it's gcc is newer)
I have not. I might once I verify the compiler was at fault. It could very well be something else(most my problems seem to be labeled under things that should function fine in C but not C++)

Gonna check this out, i love plat former action rpgs


You know of any other good ones out there? This genre doesn't seem to be that popular


Sent from my Nexus S 4G using Tapatalk 2
There aren't quite too many open-source games of this type for some reason.


You might also enjoy:


http://lipsofsuna.org/


http://wiki.openclonk.org/w/Main_Page


Cave Story


Frogatto


The Maze of Galious


Aquaria


along with parallelrealities' other games.
 
Last edited by a moderator:
I found the problem! I can now, with a minor change, compile it without any casting. Ready to know what the issue was?


*drum roll*


It was being compiled with g++ and not gcc.


*badum tish*


The makefile was using CXX set to gcc, so when I had it use the environment vars on the system, it used g++ instead. All those errors I fixed were for C++ casting on a C program. The only change is now to set the CXX to CC. Now I can do an update in a matter of minutes, not hours.
 
Neat :)


I also like these kinds of games :)


Played half-way through Edgar already, might want to restart with the latest full version :)
 
SWEET PICKLES!


So, after trying the game further, I found out the game over music wasn't the only music with issues. The game stopped being playable at the Mines for this same reason. Frustrated, I decided to research the issue a bit. It seems I stumbled upon the debian changelogs and found out this was a known bug in an older and unpatched version of libmikmod. (which is also a security issue,btw:http://security-tracker.debian.org/tracker/CVE-2009-0179)


So begins the journey...


I decided the only way to fix things was to compile my own copy of libmikmod...but also had to compile libsdl_mixer too, which is what uses it in TLoE. Turns out, neither lib wanted to compile off bat. Mikmod was spitting errors left and right(which turned out to be because all warning were turned to errors) After editing the configure script to say "these are not the warnings you are looking for", I went on the SDL_mixer. SDL_mixer wouldn't find my mikmod I just compiled, so I had to force it with env vars to find it.(also, the configure script wouldn't work as it wasn't made to handle certain libs when cross-compiling. Another hand configure script hack to remove that section, which only compiled a test app anyways.) This lead to, after compiling SDL_mixer and Edgar again, things still not working because it was trying to dynamically use the system mikmod instead of mine at runtime. I circumvented the PND script's default LD_LIBRARY_PATH to only use the PND dir for libs. This lead to a chorus of angels in the form of audible .XM tracker music in the background.


In short(tldr), new PND up on repo which "for sure" should never come across crashes due to music again.

I aint sweet :p


I think ive incountered the same bug with mikmod and sdl_mixer. My approach was to replace mikmod with libmodplug, you can find the code in the hurrican project on srouceforge.


libmodplug is supposed to have better quality, but i dont know that i can tell.
 
SWEET PICKLES!


So, after trying the game further, I found out the game over music wasn't the only music with issues. The game stopped being playable at the Mines for this same reason. Frustrated, I decided to research the issue a bit. It seems I stumbled upon the debian changelogs and found out this was a known bug in an older and unpatched version of libmikmod. (which is also a security issue,btw:http://security-tracker.debian.org/tracker/CVE-2009-0179)


So begins the journey...


I decided the only way to fix things was to compile my own copy of libmikmod...but also had to compile libsdl_mixer too, which is what uses it in TLoE. Turns out, neither lib wanted to compile off bat. Mikmod was spitting errors left and right(which turned out to be because all warning were turned to errors) After editing the configure script to say "these are not the warnings you are looking for", I went on the SDL_mixer. SDL_mixer wouldn't find my mikmod I just compiled, so I had to force it with env vars to find it.(also, the configure script wouldn't work as it wasn't made to handle certain libs when cross-compiling. Another hand configure script hack to remove that section, which only compiled a test app anyways.) This lead to, after compiling SDL_mixer and Edgar again, things still not working because it was trying to dynamically use the system mikmod instead of mine at runtime. I circumvented the PND script's default LD_LIBRARY_PATH to only use the PND dir for libs. This lead to a chorus of angels in the form of audible .XM tracker music in the background.


In short(tldr), new PND up on repo which "for sure" should never come across crashes due to music again.

I aint sweet :p


I think ive incountered the same bug with mikmod and sdl_mixer. My approach was to replace mikmod with libmodplug, you can find the code in the hurrican project on srouceforge.


libmodplug is supposed to have better quality, but i dont know that i can tell.
Interesting, will have to remember if I come across that again. Thanks for the suggestion!

Neat :)


I also like these kinds of games :)


Played half-way through Edgar already, might want to restart with the latest full version :)
I like metroidvania type games enough that I've been doing research on how to best create one. Knowing me and me my love of "intelligent" games, I'll probably have procedural maps similar to this project:


http://code.google.com/p/jetblade/


Also, luckily for you, with the changes between last version, the saves are also now architecture independent, so you can move the save between computer and Pandora if you wish.
 
Back
Top