Wolfenstein 3D v0.8a - development log ---------------------------------------------- hiya fellow sceners, i'm proud to present the first playable version of wolf3d, v0.8a. all versions since v0.5b have been internal, so don't wonder about the version number. the game has been finished in october, but i thought to hold it back making sort of a "double-feature" with alive 11 possible ;). consider this version to be in beta stage so feel free to happily test the game on diffrent system configurations to find and report bugs that might (and surely will) occur. please take a look into my bugtracker, "docs\bugs.txt" in order to avoid annoying and unnecessary postings about yet known bugs. one thing ahead, i DO NOT care about emulator issues! for information on handling and playing wolfenstein 3d please refer to "docs\wolf3d.txt". now go and finally enjoy a playable atari wolfenstein 3d after maybe 6 years since my first rd-developments preview back in '99 and after periods of on and off of "hard" coding and effort...i hope it will be appreciated, at least i feel relieved as to me it's like a long-time dream of mine having become true eventually, any doubts removed this could have been possible on a plain ST :P. technical information ahead below. requirements/specs.: -any (M)ST(e)/Falcon030/TT030 (CT60 support has been dropped) -a Harddisk and/or HDD floppy is required to play Wolf3d -2MB of RAM -RGB/VGA -Running from a clean SingleTOS works most relieable atm. -Fastram is supported requests: eml: ray@tscc.de irc: ircnet server -> #atariscne -> ray-tscc bug reports: http://ray.tscc.de/wolfbugs.htm ray//.tSCc. 11-19-05 ------------------------------------------------------------------------------ development snapshot of v0.8 alpha: 05-04-05 i started including dma-sc great music, but there was no way for me to sync the cycle critical title screen and the msx without either disturbing the picture or the music at the other hand upon making the hbl highest priority. 05-05-05 the problem could be solved thanks to dma-sc who converted another tune for me without using any effects, so the timers are left free and there are no disturbances anymore - cool. the msx is replayed via the vbl which i set to/is 60hz on all atari systems this runs on anyway, so there aren't any speed issues. i think i'm gonna use the other tunes during menus/intermission screens where much fewer (i.e. 6-7 instead of 200) rasters are used anyway, so disturbing the msx effect timers doesn't become too obvious at last, hopefully. i'll need to verify this tomorrow...in-game msx are not an option to me though. 05-10-05 ok, so i've made up a little "intro" where various credits are being displayed. you can skip screens pressing space or enter the game hitting the esc-key now. bugfixed: IKBD issue causing the controls not to react within the game if a key had been pressed or the mouse had been moved during the intro. this was mereley caused by me forgetting to flush the IKBD buffer before entering the gameloop, sorry for that. 05-17-05 i've been busy coding a lite (and incomplete) blitter emulation for machines lacking it (i.e. STs and TTs) during the last couple of days which turned out to be a pain in the ass due to its code getting quite messy very quickly. i'm now just trying to fix up the last glitches so that i can easily implement procedures to handle menus and text strings more easily which require bitplane gfx to be placeable at arbitrary pixel positions. 05-18-05 ok, everything about it seems to be fixed now...time for some optimizations. 05-19-05 thanks to gwEm another bug in my lz77 could be revealed but it looks like we could fix that one quickly, too...phew. i could yet fix another bug in my blitter emulation causing shapes of <= 16 px. width to not be displayed correctly. gosh, i've been busy cutting down loads of buttons, caption areas, a font set and stuff using neochrome maste's awesome grabber tool ;). so i can finally start implementing the menus tomorrow. 05-20-05 today i've started a little resource scripting language using devpac's macro feature and a suitable resource interpreter so i can directly create arbitrary dialog forms used for the menus...by now i have defined the following elements: FORM_PALETTE FORM_WVBL (Wait for vbl event) FORM_CLEARSCR FORM_BUTTON FORM_RADIO RORM_IMAGE FORM_NUMBER FORM_USERDEF FORM_MOUSE which should be enough to create wolf3d's menus. atm. the only features actually implemented are FORM_PALETTE and FORM_IMAGE. so selectable elements and a mouse cursor are badly needed :). i've just added support for external resources to be loaded in from hdd which means i can finally cut down the binarie's size and hopefully pack the whole thing to run on 1mb machines again. 05-21-05 bug: the resource management system doesn't work at all under MiNT/MagX!...i suspect this to be caused by the hd-driver's timer-c dependance. i still need to verify this though. 05-26-05 arf...i still couldn't get the HDD access run properly with HDDRIVER loaded, so i took the time to tidy up the source code a bit. i completely removed my timer d rout since it was just there for the keyframing which is now being performed by the vbl instead. 05-27-05 ok, today i finally managed to swap out the wall and sprite shapes into external disc resources as well so the binary has become much smaller. i still need to add support for external enemy sprites and sound samples as well though. ...extended the dialog management system a bit so it loads in form resources from disc as well. 06-02-05 shit, it seems like hdd access occasionally fails and leads to crashes in various tos versions <= 2.06 :/. i'll try to fix that now. 06-07-05 finally bugfixed: clumsy wall collisions leading to trouble in properly opening doors on the ST. this could be solved by iteratively decreasing the collision square's size until one motion works instead of just checking for horizontal/vertical spaces seperately. still no success with fixing the texture-loading :(...it seems that the problem is caused by the door textures which are tried to be loaded into non accesible memory segments retrieved by M(x)alloc(), somehow. 08-15-05 it's been quite a while but in the meantime of trying to finish some exams i were able to sort out the malloc problems pointed out above, so the game seems to run fine even from tos 1.04 (and above) plus i needed to skip manual calls of the gem event-timer, leading to unpredictable multitasking OS (MagX!, MiNT) behaviour on HDD accesses. but i will try to find a solution on that issue. it seems there's also some struggle with spurious crashes during the game on the tt and my falcon. i finally patched the game to run on 1Mb machines again, sacrifying the high detail mode on those computers, read: THE HIGH DETAIL MODE WILL REMAIN UNACCESSIBLE ON 1MB MACHINES, so please don't bother :). now it's 02:40h, i need to get some sleep...ZZZzzzz 08-17-05 i've hacked up a little utility to convert pictures with multiple palettes in c. i had been using "LOADSPEC.MDL" with neochrome master to convert the raster pictures before but it wasn't able to handle the extended STE colors. meaning you can now enjoy all the gfx with a full 4096 color palette including raster pictures such as the intro logos and so on. 08-22-05 i've made up a little routine drawing the famous "Get Psyched" status screen while the game is being initialized. 08-26-05 to decrease the binary size i excluded some more graphics into ex- ternal disc resources. i'm just playing around with the enemy death animation which gets temporarily triggered instead of letting these guards shoot. whatever, i will try to add some code for loading in diffrent actor classes and some routines for animaing the player's weapon before adding a more decent game logic to kill enemies. i yet have to bugfix another issue with non-reactiong, stationary guards appearing occasionally before, too. 09-01-05 i've fixed the "stationary" guard issue...the problem was caused by a simple "mulu.w" instead of a "muls.w" in the spawning procedure i finally added support for multiple actor classes to be loaded in from disc as well. this decreased the binary size by 50Kbytes since i could skip the nazi guard sprites which had by now been statically included. 09-02-05 just a small update today. i've added wolf3d's famous elevator level ending switch :). 09-12-05 trying to end animated weapons i had to convert another bunch of gfx data so the whole set of masked weapon-shapes is now organized as a codetable with jump entrypoints which i decided to be the quickest way of animating and glueing the weapon sprites. 09-16-05 trying to provide a useable weapon i started implementing the "PlThink module" necessary for this. i also patched the common system error vectors (bus-, address- and illegal instruction error) in order to ease wolf3d's debugability ;). ok, i'm done...you can now finally attack enemies, still without doing any damage to them though. i still need to add sounds for the weapons as well. 09-20-05 optimized the "PlThink" module a little bit. Ha, i finally implemented a TargetEnemy proce...
steishen