WinWolf3D Development History
From WinWolf3D/WDC
This is just a brief page that shows the progress of the WinWolf3D project. You can refer to the WinWolf3D ToDo List to see the current tasks.
January 10, 2008
- Fixed the knife attack. The distance guards wasn't being calculated when they weren't in a rotated frame.
- Fixed some 'divide by 0' errors by changing from integer divide to just divide.
- Released 0.0.98
- Fixed the bug that caused BJ to turn into a wall during after the victory jump.
January 9, 2008
- Fixed the border picture requirements.
- Fixed the Spear of Destiny Demo script.
- Released 0.0.97
January 8, 2008
- Added short cut keys (except for resizing, which is not needed).
- Added quick save/load functionality.
- Released 0.0.96
January 7, 2008
- Added game saving and loading.
- Completed scripts for all versions for Wolfenstein 3D and Spear of Destiny.
January 6, 2008
- Fixed pushwall speed.
- Changed KnifeAttack()/GunAttack() algorithms back to the original code.
- Shareware versions of Wolf3D now load because sparse sprite and wall data is now skipped.
- SetReadThis was changed to include the four border images in its call.
- Changed the UpdateFace code so that BJ's face isn't in constant motion.
January 4, 2008
- Fixed a crash that occurred when enemies fired rockets.
October 30, 2006
- Updated parser so scripts can simply copy the sprite enum from WL_DEF.H and use those names instead of just numbers.
- Sprite numbers used to be the VSWAP chunk number, but now they are in relation to the first sprite chunk, which numbering starting at 0. This means that you can add wall images without having to change every single sprite number, which is very good.
- Also fixed an ActorList array problem.
- Released 0.0.94
October 26, 2006
- Released 0.0.93
October 25, 2006
- Released 0.0.92
- Made project a public beta
September 8, 2006
- CatAbyss: Treasure chests give random items.
- CatAbyss: Added Time Freeze cheat (status text is also drawn).
- CatAbyss: Compass and gems are drawn now, but do nothing.
September 7, 2006
- Cat3D/Abyss: Added wall destruction animation.
- Cat3D: Added bouncing E/W and N/S sparks.
- Cat3D: Added death and end game screens.
September 6, 2006
- Fixed FadeIn/Out.
- Cat3D/Abyss: Added preliminary code for bolts, nukes, and potions.
September 5, 2006
- Started work on Blake Stone 1: added a gamepal block to the script and got textured flats working.
- Updated a lot of stuff in the WGD section of this wiki.
September 4, 2006
- Did a lot of work on Catacomb Abyss support: figured out wall codes/graphics, object codes/graphics, actor codes.
- Thanks to blacklionent for figuring out and explaining some of the special codes to me. This was very helpful.
- CatAbyss doors and special walls should work properly.
September 3, 2006
- UNP added to the WinWolf3D.exe so that data can be extracted from game EXEs when needed (EGA games).
- Grelminar now fires projectiles.
- Fixed a bug that caused guard-fired projectiles to damage themselves.
- Music now works for Cat3D.
September 2, 2006
- Can now read Cat3D scrolls.
- Cat3D bats disappear when they die now.
- The Cat3D warp gates work properly now.
- The invalid area names (I, Description P, etc) are no longer drawn.
September 1, 2006
- Several bug fixes.
- Removed borders completely.
- Added a lot of Catacomb 3D code: added items and guards, updates the status bar appropriately, the *sidebar updates as it should also.
August 30, 2006
- Added VL_FadeOut and VL_FadeIn.
- Released 0.0.84.
August 29, 2006
- LevelCompleted, Victory, EndSpear, LetsSeeThatAgain, CheckHighScore, and US_LineInput now work with DirectX.
- Pause picture is drawn again.
- VictorySpin works again.
- NoClip mode draw walls as expected now.
- Now enumerates the graphics adapter's 32-bit graphics modes.
- Front-end now saves last settings.
August 28, 2006
- Menus function much faster now.
- Keyboard response is better.
- Finally figured out a way to make the text look decent using Direct3DSurface8s including some forced transparency (since they don't support it directly).
August 27, 2006
- Started converting GDI code (menus, intermission) to complete DirectX code.
August 25, 2006
- Released 0.0.76
August 24, 2006
- Now drawing the weapon using screen coordinates (D3D_XYZRHW) instead of having to translate a 3D object in front of the player. This looks much better now.
August 21, 2006
- Hopefully fixed the "shooting guards at point blank sometimes misses" and "guards jog in place against the player" bugs.
August 20, 2006
- Hopefully fixed the "shooting guards at point blank sometimes misses" bug.
- Fixed the "door close on guard when killed" bug.
- You can now assign the add, subtract, multiply, divide, and decimal number pad keys.
- Fixed Ubermutant not attacking player bug.
- Released 0.0.74
- Now uses DirectInput for reading the keyboard state.
August 19, 2006
- Corrected alpha blending for object transparency so objects don't get only partially drawn at certain angles.
- Also stopped using floor codes to determine when objects to drawn (now uses spotvis[] array like original code).
- Fixed "pushwall snaps to wall slot without sliding" bug.
- Fixed "Automation error & Run-time error '70': Permission denied" error when window regains focus.
August 18, 2006
- Started working with Direct3DSurface8s to replace the GDI calls for the menus, border, and status bar.
August 16, 2006
- Added MapDefeatedText for SOD boss name/secret level intermissions.
- Added victory animation screens and end screens for Spear of Destiny.
- Fixed jagged mouse movement for very high FPS.
- Need to add AddVictoryScreen, AddEndScreen,and mt_victoryscreens to the wiki.
- Released 0.0.71
August 15, 2006
- Objects have transparency.
- Draws the player's weapon. This was blurry with a D3DXSprite, so changed to drawing rectangles that are slightly in front of the player.
- Re-added damage/item flashing with DirectX routines.
August 13-14, 2006
- Walls are now drawn with DirectX8.
- Static objects are drawn again, but transparency isn't working correctly.
August 12, 2006
- Started moving graphics code to DirectX8.
August 11, 2006
- Moved data file handling into the EXE. No longer needs WDC's WolfData.dll.
Added object animation.
August 10, 2006
- Finished Spear of Destiny script coding.
- Changed file layout a bit (added Scripts and Games folder).
- Released 0.0.66
August 9, 2006
- Added mouse support.
- Added debug logging.
- Released 0.0.64
- Added Enums to the script language.
- More debug logging points.
- Started working on the Spear of Destiny script.
- Released 0.0.65
August 8, 2006
- Finished all aspects of the high score screen.
- Added item pickup face.
- Added Dr. Schabbs' needle death face.
- Released 0.0.62
August 7, 2006
- Lots of scripting added.
- Added quit and end game confirmations.
August 6, 2006
- Scripting and minor bug fixes.
August 5, 2006
- Finished ENDART code... still need to make it scriptable.
- Fixed the "no way" use key sound.
- Fixed the adlib sounds again. This time they should be 100% correct.
- Menu sounds added, need to be scriptable.
August 4, 2006
- Moved adlib-sound-to-wav-data conversion to the ImfWav.dll.
- ImfWav.dll now creates two virtual OPLs - one for music and one for sounds - so I can convert adlib sounds while the music is playing.
- Released 0.0.59
- Fixed adlib sound speed.
- Started working on the ENDART code.
August 3, 2006
- Moved the project to DirectX8 because I just could not get streaming audio to work in DirectX7.
- Music uses a streaming 0.2 second buffer and seems to play alright.
- Fixed a sound panning problem.
- Adlib and PC sounds play now.
August 2, 2006
- Modified Ripper's IMFLib.dll (used by ChaosEdit and WDC to play music) so that it writes the WAV data to memory instead. This means that I can now use DirectSound to play the IMF files
August 1, 2006
- Music has been added and uses IMFLib.dll v1.6.
- Now using DirectSound for sound processing.
- Panning and Volume adjustments now take place without any lookup tables.
July 31, 2006
- BJRun block added.
- More picture and sound types added.
- Added Dr. Schabbs, Gretel, General Fettgesicht, and MechaHitler/Hitler.
- Death screams for some actors are held until the sound stops.
- Added preliminary stereo sound positioning using Chris' reduced stereotable.
- Added the pac-man ghosts. (v0.0.53)
July 30, 2006
- Started coding projectiles.
- Finished T_Projectile, T_Throw, and A_Smoke.
- Added the Projectile block to the script.
- Added the Robed Hitler actor to the script.
- Added Otto Giftmacher.
- DeathCam works now.
July 29, 2006
- Finished End Game screen.
- Finished code for the exit game tile, BJ run/jump, and VictorySpin.
July 28, 2006
- Intermission screen works except for adlib sounds, fading, and storing the level ratios.
July 27, 2006
- Added the Weapon block to the script.
- KnifeAttack works now.
- Released 0.0.51
- Added StrafeLeft/Right.
- Fixed key setup.
- Added more speed constants.
- Player death rotation is now correct (fixed atan2).
- Added the damage and bonus flash.
- Started porting the intermission screen.
July 26, 2006
- Added Difficulty and Pictures blocks to the script. (v0.0.50)
- After beta release:
- Added Hans to the script.
- Added the Sounds block to the script.
July 25, 2006
- Added dog chase behavior.
- Added dogs, mutants, and officers to the script.
- Added episode and difficulty selection menus.
- Player death rotation is not quite right.
July 24, 2006
- Added guard sounds for sight, shooting, and death.
- Guards now do damage.
- Fixed CheckLine code.
- Added the player death rotation.
June 28, 2006
- Added guards, scripting, began the menu system.
- Released 0.0.49
June 24, 2006
- Improved the draw routines for better FPS.
June 23, 2006
- At this point doors and pushwalls function and are drawn correctly while they move.
- Objects, the player weapon, and the statusbar are also drawn.
- You can also pick up items.
June 20, 2006
- Added textured walls, but the rendering in the distance is not that good because StretchBlt() does a terrible job when shrinking and image because it introduces some odd colors.
June 19, 2006
- Rather than tear apart the assembly in the Wolf3D code, I Googled for a raycasting tutorial and found this: http://student.kuleuven.be/~m0216922/CG/raycasting.html
I managed to port this code to VB6 and modify it to suit the Wolf3D engine. Right now it has only colored squares. That page did include a cool way to shade colors. I should add that to WDC soon.