Commit Graph

9583 Commits

Author SHA1 Message Date
Christoph Oelckers aefb3ec216 - removed obsolete gamemain.cpp 2019-12-27 13:11:48 +01:00
Christoph Oelckers 44ed9d63a7 Merge branch 'master' into powerslave 2019-12-27 10:54:50 +01:00
Christoph Oelckers 1870e1857f - savegame name generation fix for SW. 2019-12-27 10:54:00 +01:00
Christoph Oelckers 9415d0f78b - corrected savegame signatures. 2019-12-27 10:53:47 +01:00
Christoph Oelckers ce1a78fd62 - work on the savegame writer.
It saves, reloading not implemented yet.
2019-12-27 10:52:40 +01:00
Christoph Oelckers a4c5fbe295 - savegame name generation fix for SW. 2019-12-27 10:48:43 +01:00
Christoph Oelckers 3bd36bfb9d - more savegame stuff.
Should be complete now. We'll see...
2019-12-26 23:17:11 +01:00
Christoph Oelckers 79d0818201 - added savegame records for all global data that looks to be game relevant.
The data organization here is a mess, no wonder that this game could only save at the beginning of a level.
Fortunately it's all static so no allocations and pointers to track.
2019-12-26 22:00:04 +01:00
Christoph Oelckers 90fecbc6c0 - removed more unused content. 2019-12-26 19:41:42 +01:00
Christoph Oelckers 7fd86c8640 - config.cpp was also free of actual content. 2019-12-26 18:36:07 +01:00
Christoph Oelckers 25bb94cd94 - reducing the completionist cruft.
The 3 CD related files don't really contain enough code to justify this, merged all non-empty parts into one.
2019-12-26 18:29:10 +01:00
Christoph Oelckers 68a3a60d0b - Exhumed menu tweaks - draw a background and caption for the option menus the game originally did not have.
- fixed a crash in the 2D drawer when two consecutively allocated vertex buffers had the same address. Strangely this only occured with Exhumed but not the other games
- fixed Exhumed crashing with sound disabled.
2019-12-26 17:42:45 +01:00
Christoph Oelckers f77736ccb4 - renamed Exhumed filter folder to bring in line with the rest. 2019-12-26 14:47:00 +01:00
Christoph Oelckers 6373b75d22 Merge branch 'master' into powerslave
# Conflicts:
#	source/common/gamecontrol.cpp
#	source/common/version.h
#	wadsrc/static/engine/grpinfo.txt
2019-12-26 14:46:14 +01:00
Christoph Oelckers d473f9c590 - replaced all uses of Bfree with Xfree so they are subjected to debug instrumentation, uses FStrings in a few cases where it made sense.
- fixed: Sound channels weren't freed.
2019-12-26 14:43:44 +01:00
Christoph Oelckers eff25141a0 - little bit of CMake cleanup. 2019-12-26 14:16:00 +01:00
Christoph Oelckers 62e9112133 - renamed the internal resource directory to "engine" and routed most literal mentions of the engine name through version.h
All this comes from a time when I didn't use version.h so it's better to do it the same way as GZDoom to allow easy renaming of the engine.
2019-12-26 14:04:53 +01:00
Christoph Oelckers 7f62208bad - renamed demolition.grpinfo to grpinfo.txt. 2019-12-26 13:31:48 +01:00
Christoph Oelckers d8dfe752b5 - fixed handling of music in Redneck Rampage and Shadow Warrior.
After merging the CD enabling CVAR they had the same default (off) as Blood which is wrong.
This also addresses other music related issues, like not properly cycling through the RR music.
2019-12-26 13:04:29 +01:00
Christoph Oelckers c8edef4e0c - disabled the "User Maps" option pending implementation of a working selection menu for exposing this. 2019-12-26 10:55:43 +01:00
Christoph Oelckers 5dcfa1cb0c - do not use the internal SWCUSTOM.TXT from the Twin Dragon add-on.
There's a second variant without this definition, so this needs to be defined internally, and since it needs to be done internally it may receive proper localization labels.
2019-12-26 10:47:10 +01:00
hendricks266 8e6a54a1e4 Mostly clean up the codebase in preparation for tspritetype != uspritetype
Remaining exceptions:
SW - ConnectCopySprite
CON and M32Script - pSprite/pUSprite

git-svn-id: https://svn.eduke32.com/eduke32@8519 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/include/polymer.h
#	source/build/src/engine.cpp
#	source/build/src/engine_priv.h
#	source/build/src/polymer.cpp
#	source/build/src/polymost.cpp
#	source/duke3d/src/astub.cpp
#	source/duke3d/src/game.h
#	source/duke3d/src/m32common.cpp
#	source/duke3d/src/m32exec.cpp
#	source/duke3d/src/m32structures.cpp
#	source/kenbuild/src/bstub.cpp
#	source/kenbuild/src/game.cpp
#	source/sw/src/jnstub.cpp
#	source/sw/src/jsector.cpp
2019-12-26 08:58:25 +01:00
hendricks266 3bbecf84c2 SW: Fix FindDistance3D calls to not z>>4 at the call site
This is handled by the function itself now.

Fixes the distance issue with the ceiling fan.

git-svn-id: https://svn.eduke32.com/eduke32@8525 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-26 08:54:17 +01:00
hendricks266 ae94566fb5 SW: Draw the crosshair actually centered
Thanks to Striker for the tip.

git-svn-id: https://svn.eduke32.com/eduke32@8524 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/sw/src/draw.cpp
2019-12-26 08:53:36 +01:00
hendricks266 91cbaa1491 Add information to cstat enums
git-svn-id: https://svn.eduke32.com/eduke32@8518 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-26 08:49:42 +01:00
hendricks266 846c7eaff2 SW: Run all allocations through Xmalloc et al
git-svn-id: https://svn.eduke32.com/eduke32@8515 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/audiolib/src/driver_winmm.cpp
#	source/audiolib/src/flac.cpp
#	source/sw/src/StartupWinController.game.mm
#	source/sw/src/bldscript.cpp
#	source/sw/src/game.cpp
#	source/sw/src/game.h
#	source/sw/src/grpscan.cpp
#	source/sw/src/jbhlp.cpp
#	source/sw/src/rts.cpp
#	source/sw/src/scrip2.cpp
#	source/sw/src/sounds.cpp
2019-12-26 08:47:09 +01:00
Christoph Oelckers e9602e0e74 - SW grpinfo updates. 2019-12-26 08:42:35 +01:00
hendricks266 33ad4b9860 Fix -Wfallthrough error in gamevars.h
git-svn-id: https://svn.eduke32.com/eduke32@8495 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-26 08:26:09 +01:00
Christoph Oelckers 078455659f - fixed incorrect initialization order. 2019-12-26 00:54:21 +01:00
Christoph Oelckers 1a8f11e01d Merge branch 'master' into powerslave
# Conflicts:
#	source/build/src/sdlayer.cpp
#	source/common/menu/menu.cpp
#	source/sw/src/config.cpp
#	source/sw/src/game.cpp
2019-12-26 00:21:04 +01:00
Christoph Oelckers e3084cd1b1 - ported Exhumed sound to OpenAL.
The regular sounds are not a big deal, but this game contains two special effects that were problematic to port. We'll have to wait and see if they work as intended - the original panning effect is not 3D compatible so I had to redo it.
2019-12-25 23:37:16 +01:00
Christoph Oelckers e180d9afd3 Merge commit '40a533402e443a0de1673543642c892ab9c731fd' into powerslave
# Conflicts:
#	source/audiolib/include/fx_man.h
#	source/audiolib/include/multivoc.h
#	source/audiolib/src/_multivc.h
#	source/audiolib/src/fx_man.cpp
#	source/audiolib/src/multivoc.cpp
2019-12-25 19:24:55 +01:00
Christoph Oelckers 2d7ad75b5f - lightened sound.cpp by deleting all inactive content. 2019-12-25 19:17:06 +01:00
Christoph Oelckers 23bc599468 - fixed recursion issues caused by the plasma generator function performing a busy wait. 2019-12-25 18:57:08 +01:00
Christoph Oelckers 4050ce156f - fixed crash on NAM.
This game contains one sound that made the Voc loader crash.
2019-12-25 17:14:17 +01:00
Christoph Oelckers dd984c94b0 - fixed extended quote management. 2019-12-25 17:13:36 +01:00
Christoph Oelckers 414201e741 - fixed palette translucency after aborting movie playback. 2019-12-25 17:13:10 +01:00
Christoph Oelckers 120a985b98 - disable palette transparency for color 255 when running an animation.
There's several intro cutscenes using the full palette and for these the color must not be nulled as it should for in-game textures.
2019-12-25 14:13:15 +01:00
Christoph Oelckers b0cefdedce - plugged all memory leaks that were reported with Shadow Warrior when starting the first level. 2019-12-25 11:26:19 +01:00
Christoph Oelckers 5e821de481 - replaced the leaky hash table that was used to handle the animations.
Just replaced with a linear array - for a hash table indexed with a string to be efficient, a much larger amount of data is needed than 20 or 30 entries.
This is also hardly the kind of data where losing a microsecond for performing the search matters.
2019-12-25 09:51:44 +01:00
sirlemonhead 4a31447702 NBlood: Remove std::string from libsmackerdec to fix cutscene crashing with MinGW builds.
# Conflicts:
#	source/libsmackerdec/include/FileStream.h
#	source/libsmackerdec/src/FileStream.cpp
2019-12-25 09:02:18 +01:00
Christoph Oelckers 745d78d8d7 - fixed voxels leaking memory. 2019-12-25 08:57:58 +01:00
Christoph Oelckers efe4261932 - fixed Blood music and movie playback.
I have no idea why the movie code was completely disabled in NBlood, it all works fine...
2019-12-25 01:10:13 +01:00
Christoph Oelckers 5bd32cf769 - fixed: Voxel setup code wasn't called anymore. 2019-12-25 00:30:13 +01:00
Christoph Oelckers 49c49b2672 - read the global settings before presenting the game selection dialog
- deinit the menu in GameMain instead of using atexit.
- gi == null check must include the call to FreeGameData.
2019-12-24 20:06:55 +01:00
Christoph Oelckers 055b310d60 - rewrote all remaining places that used wm_msgbox to throw a fatal error instead so that the global error handler can deal with the messages.
This eliminates another piece of hideous code.
This commit also moves the memory error handler to the common code, so that all games can call it if triggered.
2019-12-24 19:59:14 +01:00
Christoph Oelckers f65b2c1dcb - disable the allocation breakpoint. 2019-12-24 19:48:26 +01:00
Christoph Oelckers 43033e830a - Blood now also starts the first level without leaks.
I had to refactor the LoadSave data to allow automatic takedown, the linked list was not the most convenient thing - an array is better.
2019-12-24 19:47:34 +01:00
Christoph Oelckers 2820dc85a8 - plugged more memory leaks.
I can now start the first Duke Nukem level, exit with Alt-F4 and no leaked memory blocks get reported.
2019-12-24 18:53:29 +01:00
Christoph Oelckers 1c46c6da9d - more leaks plugged, plus rerouting exception messages to the log window. 2019-12-24 16:30:33 +01:00