Release The Legend of Edgar

Discussion in 'Software Releases' started by eyecreate, Jun 7, 2011.

  1. eyecreate

    eyecreate Member

    Joined:
    Feb 3, 2009
    Messages:
    253
    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.
     
    Tags:
  2. eyecreate

    eyecreate Member

    Joined:
    Feb 3, 2009
    Messages:
    253
    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.)
     
  3. eyecreate

    eyecreate Member

    Joined:
    Feb 3, 2009
    Messages:
    253
    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.
     
  4. EvilDragon

    EvilDragon Administrator Staff Member

    Joined:
    Mar 4, 2003
    Messages:
    19,753
    Location:
    Ingolstadt
    Wow, that looks like a neat little game :D


    Gotta try it, thanks :D
     
  5. eyecreate

    eyecreate Member

    Joined:
    Feb 3, 2009
    Messages:
    253
    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.
     
  6. mcobit

    mcobit Advanced Member

    Joined:
    Jul 28, 2008
    Messages:
    6,755
    Nice!


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

    eyecreate Member

    Joined:
    Feb 3, 2009
    Messages:
    253
    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.
     
  8. SNESFAN

    SNESFAN Retro game fanatic

    Joined:
    Oct 3, 2008
    Messages:
    3,407
    Location:
    Fort Knox, KY. USA
    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
     
  9. sebt3

    sebt3 homebrew player (P. & C.)

    Joined:
    Sep 9, 2008
    Messages:
    4,747
    Location:
    France
    Have you tried ivanovic toolchain ? (it's gcc is newer)
     
  10. eyecreate

    eyecreate Member

    Joined:
    Feb 3, 2009
    Messages:
    253
    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++)

    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: Apr 10, 2012
  11. eyecreate

    eyecreate Member

    Joined:
    Feb 3, 2009
    Messages:
    253
    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.
     
  12. EvilDragon

    EvilDragon Administrator Staff Member

    Joined:
    Mar 4, 2003
    Messages:
    19,753
    Location:
    Ingolstadt
    Neat :)


    I also like these kinds of games :)


    Played half-way through Edgar already, might want to restart with the latest full version :)
     
  13. Pickle

    Pickle Mega GP Mania

    Joined:
    May 30, 2006
    Messages:
    5,449
    Location:
    Detroit, Michigan
    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.
     
  14. eyecreate

    eyecreate Member

    Joined:
    Feb 3, 2009
    Messages:
    253
    Interesting, will have to remember if I come across that again. Thanks for the suggestion!

    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.
     
  15. Michoko

    Michoko Member

    Joined:
    May 13, 2008
    Messages:
    458
    Location:
    France
    Thank you for this nice port! B)
     

Share This Page

Loading...