
                    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 procedure so that you can now actually
		attack and kill those baddies.
		i need to add sound events and stuff, but i would have to heavily
		reorganize my soundmanagement system, lots of small things to do
		still.

09-21-05	i refined the games enemy logic a bit so that hitpoints are being
		kept track of, "pain frames" are shown if your bullets hit an actor
		in case it you haven't yet killed it.

09-22-05	knife attacks are now possible too, i could add support for flame-
		and missile-attacks but a reorganization of the sfx management-
		system is strongly required before.

09-23-05	today i improved the game's enemy ai so that enemies outside the
		player's field of vision will keep shooting at you if you are
		still visible to _them_,

09-24-05	i eventually improved the sfx-system as planned so that we can
		have decent sound events. time to exclude the sample resources
		to hdd, as well.

		ok, sfx are now getting loaded in off of hdd, which decreased the
		binary's size to roughly 62Kb ! :)

09-25-05	today i started the "PlStuff" module which holds important proce-
		dures such as a "TakeDamage" routine counting the damage inflicted
		to you by those baddies.

09-26-05	i've added new sound events, such as the "oof" sound that occurs
		trying to hit "open/use" (i.e. the space key) on a solid wall.
		elevators should now have functionality, but obviously they have
		not...i still need to find out why.

09-29-05	fixed: elevators are now working. searching around in the level
		       data with bugaboo i found out the problem was caused by a
		       mistakeable tile enumeration.

09-30-05	some enemy classes will drop bonus items such as ammo, keys or
		guns when shot. this feature still behaves a bit odd sometimes,
		however.

10-02-05	i started adding support for missiles today. missiles are now
		virtually working (i.e. controlled), but i still need to work
		out a concept to lump them into the rendering engine :/.

10-03-05	ah, i just had an idea how to teach the rendering engine how to
		handle the missiles, i.e. just adapt the missile class to match
		the general static sprite class and extend my sprite engine a
		a bit to additionally take missiles into account as they don't
		get registered in the global tilemap as ordinary items/enemies
		(which was the initial problem).

10-04-05	the first missiles are being redrawn by the engine, however for
		strange reasons i can't figure out atm. they do not move at all
		yet :/.

		ok, fixed that, missiles are now at least send off into the
		correct direction, but still sometimes missiles/flameballs do
		not get send off at all or they keep staying in place all of a
		sudden. i still need to add a collection detection and some
		decent sprites, as i'm using the doortexture as a dummy atm..

10-05-05	bugfixed: missiles do now finnaly fly and and burst just as
			  they should, the bug was caused by a data register
			  accidently being overwritten in the sprite enqueueing
			  rout. collision detection and correct sprites have
			  been added today, too :). 

		i increased the targetting tolerance a bit so it should now be
		easier to shoot enemies even if they are far away.

10-06-05	the damage caused by missiles/flames is now taken by enemies
		so that these weapons are useable, too. injuries done by the
		enemies to the player will get registered as well so that you
		can get killed, as well.

		after reworking/recutting some gfx with neochrome master and
		crackart (tnx evl and havoc for telling me how to remap colors
		with crackart) i added health/ammo/item counters for good.

10-07-05	today i improved the GetItem procedure so that it counts score/
		treasure, lifes and so on. diffrent sounds are now replayed
		when picking up diffrent class items...there are still some bugs
		left to be fixed with it, though :/.

10-11-05	i needed to take a little break. however, i fixed a little bug
		in the pickup procedure, which caused bullet weapons to not
		work anymore after you had picked up some ammo.

		i've just changed some more bugs in the player AI. so that for
		instance your weapon is changed as soon as you run out of ammo.

		c-rem just send his tscc-logo, which looks very cool imo (tnx!)

10-12-05	today i've fixed a bug in the "EnMove" modulse so that enemies
		don't try to open locked doors anymore.

		bugfix: enemy picksups are now working but still disappearing
			at certain angles :/.

		bugfix: the MFP variable restore routine is now working a bit
			more relieable but sadly this doesn't result in a 100%
			stable exit, anyway.

		i extended BJ's player AI so that he cannot open locked doors
		without the apropriate keys

		bugfix: collision issues with not picked up items are now
			solved. 


10-15-05	thanks to flash/tnb for pepping up BJ Blazkowicz' faces so that
		i could add his facial animation into the staus panel, finally.
		it however still needs some bugfixing.

10-22-05	after a short break i implemented a mouse cursor routine. it
		still needs to be included with wolf3d's menu resource system,
		though.

10-26-05	flash/tnb finally send the fully reworked gamepanel gfx (inclu-
		ding BJ's face etc.), which rules - thanks mate! - so i finally
		cut and included these as well.

10-27-05	lately, i included the mouse driver and extended to my dialog/
		menu system to evenually support a software mousecursor and
		userdefined resources such as a clear screen and a wait for
		vbl object etc. which seems convenient.

10-28-05	i extendet the dialog system to support buttons which now can
		be depressed, without any functionality yet, though.

10-29-05	after plenty of fixes buttons are now also provided with functio-
		nality, i.e. their handler gets called as soon as you press and
		release a button.

10-31-05	i've now added support for user defined resources, so i could
		build the scenario selection object.

		completed: FORM_RADIO, so there's support for radio buttons now.

		i implemented the difficulty selection menu and to my surprise it
		worked flawlessly right	away, cool ;).

11-03-05	a deinit routine for resource objects has been made up today.
		i've completed my dialog resource interpreter so that it is now
		capable of displaying numeric string resources as well.
		
		i have extended the debuggin messages as well so that the fault's
		text segment offset is returned in case of an exception.

11-04-05	some minor bugfixes in the enemy AI.

11-05-05	completed: enemy AI (enemy missiles are now thrown., hitler drops
			   his armor etc.).

		i started implementing an intermission screen showing score, kill
		ratio etc., but i seems the hddriver gets irreversibly destroyed
		during the gameloop, shit!

11-06-05	i finally dropped the lowmem c2p method because there was no other
		way for me to get the hddriver running after the gameloop anymore,
		meaning the game will now run slightly slower :( but much more
		clean. exiting issues are now cured, as well.

		i added BJ's animated face to the interlude screen.

11-07-05	today i fixed the 2mb issue for good. so 2MB of RAM are now the
		minimum requirement to get wolf3d running instead 4MB :).

		added: the well known "bill-budgey roll" animation to the
		       intermission screen today counting score, treasure, kill
		       and secret ratio.

11-08-05	cosmetic optimization: i modified the intermission screen to use
		       delta clearing so it runs at full framerat now.

		i replaced "FORM_PALETTE" by an new resource object called
		"FORM_PAL_SNG" so i can optionally specify a unique soundtrack
		for each dialog. thus DMA-SC's excellent msx are included finally.

		thanks to gwem i could surpress the unwanted OS bell sound when
		a song is deinited.

		added: "game paused" screen. i will have to add a quit key from
		       there.

11-10-05	i added a quit key "Q" ("A" on french keyboards) to let you quit
		the game during the "game paused" screen.

11-11-05	it's done, i completed the scenario loader today so the game is
		now fully playable, yes!
		
13-11-05	did some minor retouches/fixes.

19-11-05	last minute additions: i added gameover and victory animations,
		a preference file saving your settings and a cheat mode ;).

		some minor fixes have been performed as well.

		done!