View Single Post
Neobeo

JCF Member

Joined: Sep 2002

Posts: 409

Neobeo is an asset to this forumNeobeo is an asset to this forum

Jan 21, 2012, 07:49 AM
Neobeo is offline
Reply With Quote
Quote:
Originally Posted by Stijn View Post
What's the actual benefit of having the source code?
Three immediate things come to mind.
  1. To understand how stuff works. Of course, with enough patience you can get this from disassembling the relevant part of the exe. According to IDA Pro, I've only identified around 200 of the 1000+ functions in Jazz2.exe, and the ones I fully understand is probably less than half of that. It is relatively easy to find out "why an event works the way it does", but somewhat harder to figure out whether or not JJ2 reads from those "unknown" bytes in the J2L (since you'd have to essentially look at every function).
  2. To change stuff. This is fine for minor fixes (e.g. bugfixes or hooks). But if you want to change, for example, the maximum number of players to more than 32, you'd have to allocate some memory somewhere else, and then find every function that has this hardcoded and change it. With a lot of patience and time, this could be done by hand, but it would be a lot easier to just change "#DEFINE MAXPLAYERS 32". I remember thinking something along the lines of "I'm never trying to create a high resolution patch ever again".
  3. To port to a different system. Since there's a Mac version I assume it's endian-friendly and doesn't rely on Windows-specific code. I for one would really like to see JJ2 run on the Wii.
__________________
<TABLE border=1><TR><TD>Facts:
Jazz Sprite Dynamite (JSD)
Tileset Extractor
Neobeo's Firetruck

</TD><TD>Myths:
Jazz Creation Station Plus (JCS+) - 10%
Coming soon - a dedicated server! - 25%
Jazz Sprite Dynamite v2 (JSDv2) - 2%
Another generic single-player level - 0%
</TD></TR></TABLE>