Content

Not quite a Yegge long.

Age of Empires Data Format Parsers

Saturday 19 September 2009 - Filed under Uncategorized

I was hacking on Age of Empires (the first/decent one) again this week, and have decided to open up my DRS and SLP parsers for whoever wants to use them.

So here’s libaof, a lightweight C API for efficient DRS and SLP access. It uses MapViewOfFile on win32, and can be easily adapted to use mmap on POSIX systems.

http://github.com/chrisforbes/libaof

The SLP (compressed sprite) renderer is nowhere near complete, and quite broken, but everything else works rather well. The DRS stuff is rather solid – too simple to be broken?

If anyone wants to use this library, they are welcome to – within the terms of the GPL3. (Edit: Removed some unnecessary comments on BSD vs GPL). FreeAOE, if you’re still alive, go nuts. Similarly, contributions (particularly to add more data formats, or to fix the bugs in the SLP opcode parser) are very welcome.

2009-09-19  »  admin

Talkback x 5

  1. bubu
    19 September 2009 @ 9:25 pm

    GPL3 for library is pretty awful. LGPL3 would much be better choice

  2. admin
    19 September 2009 @ 10:06 pm

    If I wanted to allow it to be used in non-open ways, sure, I would have picked LGPL3.

  3. liffer
    20 September 2009 @ 3:35 am

    Fantastic! I am a huge fan of the original AoE, and would loved to have had this back in the day. Still, it’s a contribution of a huge amount of work, so many thanks. I can’t wait to have a spare moment to hack on it.

    -the liff

  4. Suresh
    20 September 2009 @ 8:22 am

    Great, always wanted something like this.
    And yeah, i am still a fan of this game.

  5. amin
    16 February 2011 @ 8:39 pm

    hi~~~can you send the detail of slp file format of AOE to me?
    Thank you very much!~

Share your thoughts

Re: Age of Empires Data Format Parsers







Tags you can use (optional):
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>