Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

12
  • 2
    So, in the comments at the top of RAP.c, is that a list of movies playing in 1994 and what time they were playing at the local theatre? And it somehow got saved into their source code archive, only to sit there for 30 years. Commented Jan 7, 2025 at 16:11
  • @user4574 it looks like precisely that, good catch! there are many interesting titbits there (which I often unfortunately have to remove while making the code up-to-date), but I'd say you found the most intriguing one... The Taiwan version is IMVHO an honorary 2nd place (in my fork you can enable it via SETUP.INI flag), the 3rd is that the key used for encrypting/encoding the save files is from the same variable that holds the S_HOST value required to enable gdmode. Commented Jan 7, 2025 at 17:44
  • @user4574 the honorary mention here would be that while the original code has some external asm that needs to be compiled in, virtually all that asm code is easily rewriteable to regular C (they are mostly loops for copying memory, i.e. just handcrafted versions of memset, and some int386 for setting font color in logs etc.) and in total it required surprisingly little work to cross-compile under Open Watcom v2 (native Win10 host). I still found some bugs while doing so (one of the semi-asm fns in GFX changes behaviour under OWv2 causing mouse to not initialize), but it compiles and runs! Commented Jan 7, 2025 at 17:44
  • @user4574 another thing I found: there is no real "randomness" in the game. The seeding is always done via srand( 1024 * game_wave[cur_game] );, and this means that all random stuff will give the same results if you start the same wave in the same episode... it's even worse than the legandary almost-random-but-really-completely-non-random damage in Doom TBH :D Commented Jan 11, 2025 at 20:25
  • @user213769 Isn't that commonplace for scrolling shooters? To be able to "git gud" at them by memorizing the patterns of everything in the level? Commented Jan 12, 2025 at 9:25