Commit Graph

348 Commits

Author SHA1 Message Date
Christoph Oelckers d464017363 - cleaned up the input code a bit. 2020-01-01 11:35:47 +01:00
Christoph Oelckers bcb48d8441 - added handling for changing the screen size (dragging the window borders / change scale factor) 2020-01-01 09:49:06 +01:00
Christoph Oelckers 3d47652d08 - had a look at Exhumed's shade tables and implemented the necessary adjustments for the 3 with abnormal gradients. 2019-12-31 22:53:03 +01:00
Christoph Oelckers d3a57e6e74 - route all clearscreen calls that happen after drawing the scene through the 2D drawer.
Otherwise they aren't synchronized with the remaining content.
2019-12-31 19:25:49 +01:00
Jonathan Gray 5ea5d87664 PCExhumed: fix triddat.cpp build with libc++
Include cstdlib for abs() with an int argument.  Fixes the following
compile error with libc++.

source/exhumed/src/trigdat.cpp:159:9: error: call to 'abs' is ambiguous
    if (abs(diff) > c)
        ^~~
/usr/include/c++/v1/math.h:761:1: note: candidate function
abs(float __lcpp_x) _NOEXCEPT {return ::fabsf(__lcpp_x);}
^
/usr/include/c++/v1/math.h:765:1: note: candidate function
abs(double __lcpp_x) _NOEXCEPT {return ::fabs(__lcpp_x);}
^
/usr/include/c++/v1/math.h:769:1: note: candidate function
abs(long double __lcpp_x) _NOEXCEPT {return ::fabsl(__lcpp_x);}
^
1 error generated.
2019-12-31 09:19:58 +01:00
Jonathan Gray 64d3d38014 PCExhumed: remove uneeded malloc.h include
malloc.h is a non-standard header and isn't required here
fixes build on OpenBSD which has no malloc.h

# Conflicts:
#	source/exhumed/src/enginesubs.cpp
2019-12-31 09:19:58 +01:00
Christoph Oelckers ad24a1ce31 - place weapon sprites in a separate render list.
They need to be drawn in a different pass than the 2D overlay HUD so the backend must have them separately.
2019-12-30 20:16:51 +01:00
Christoph Oelckers f1891c7750 - fixed compilation. 2019-12-29 22:47:40 +01:00
nukeykt 62c37b64ae Fix exhumed compiling
# Conflicts:
#	source/exhumed/src/exhumed.cpp
#	source/exhumed/src/menu.cpp
2019-12-29 22:30:13 +01:00
Christoph Oelckers 3a6d0b8f84 - more cleanup. 2019-12-29 17:04:38 +01:00
Christoph Oelckers 2e261a7468 - cleanup and removal of unused code.
compat.h probably needs a bit more attention, it's a horrendous mess of the wrong type of "compatibility" concerns.
2019-12-29 16:35:51 +01:00
Christoph Oelckers cc332486b4 - cleaned out the 2D drawing code.
With the new backend there will always be just one page, never more, so the RS_PERMS case will never be entered.
In addition, since the software renderer has already been nonfunctional due to lacking support from the 2D drawer, its 2D components have also been removed. Its main remaining purpose, drawing camera textures, remains unaffected by this.
2019-12-29 15:46:48 +01:00
Christoph Oelckers a021b96119 - added the needed parts of GZDoom's render backend to have the postprocessor working.
Not hooked up yet.
2019-12-28 18:20:47 +01:00
Christoph Oelckers 2b95808d42 - fixed ambient sounds not restarting in DN3D and RR. 2019-12-28 12:59:19 +01:00
Christoph Oelckers 93fccfd767 - fixed the fire sound in the intro. 2019-12-27 23:09:05 +01:00
Christoph Oelckers bea7391ac9 - more sound related fixes.
This was messier than I thought.
2019-12-27 22:17:36 +01:00
Christoph Oelckers affa8240f4 - fixed: Exhumed's ChannelEnded method did not call the super class.
This caused all sorts of audio errors.
2019-12-27 20:05:58 +01:00
Christoph Oelckers 907c2bbe1e - fixed keyboard turning.
Why did it only apply the chance each 4th call instead of doing it smoothly???
2019-12-27 17:35:13 +01:00
Christoph Oelckers 7e758a5e48 - hook up the savegame code in Exhumed. Superficially it looks like it works but it will require a lot more testing.
- fixed per-frame sound system update in Exhumed.

Sound is still quite broken and will require more work.
2019-12-27 17:07:09 +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 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 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 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 cc81b95570 - main menu works in the common framework.
The rest is messed up, though. This menu is really on an entirely different level of crappiness, even for a 1995 game.
2019-12-14 12:39:18 +01:00
Christoph Oelckers 5ac0eaad0b - added support data for the Powerslave demo. 2019-12-14 09:48:04 +01:00
sirlemonhead 3265b52c17 Add support for Powerslave demo version
# Conflicts:
#	source/exhumed/src/exhumed.cpp
#	source/exhumed/src/grpscan.cpp
#	source/exhumed/src/grpscan.h
#	source/exhumed/src/sound.cpp
2019-12-14 09:32:20 +01:00
Christoph Oelckers ff91493e39 - this was not correct. 2019-12-14 00:20:03 +01:00
Christoph Oelckers 0885befe6b - fixed input on the map. 2019-12-13 21:13:42 +01:00
Christoph Oelckers cbfb79977a - adjustments to make it compile with the new menu code. 2019-12-13 21:01:14 +01:00
Christoph Oelckers ddf0babefb - run the input routine.
This was done in faketimerhandler which isn't called anywhere anymore.
2019-12-13 20:10:03 +01:00
Christoph Oelckers 93fc2cb10a - fixed intro movie playback with sound disabled.
It would never do anything because the sound callback cannot make it advance if it isn't called.
Of course without sound it isn't properly synchronized - still better than nothing.
2019-12-13 20:08:42 +01:00
Christoph Oelckers b86d773005 - finally something can be seen...
The intro movie doesn't work without sound...
2019-12-13 18:48:18 +01:00
Christoph Oelckers 0cd7c9a5ae - removed the "configuration" Exhumed came with.
Seriously, what's the point of emulating something this worthless?
All settings have been remapped to the global CVARs.
2019-12-13 18:28:58 +01:00
Christoph Oelckers b13ee90aa0 - first steps trying to get the game to work. 2019-12-13 00:19:34 +01:00
sirlemonhead 30304341a5 Clear screen before rendering intro movie - stops previous screen flickering through in OpenGL mode when zooming/rotating in at the start 2019-12-09 17:30:45 +01:00
sirlemonhead 30879292b8 Set volume level immediately for music playback. Avoids hearing a brief blip of sound if you have volume set to 0. 2019-12-07 01:03:18 +01:00
sirlemonhead a83efd37ff Intro movie now has audio.
# Conflicts:
#	source/exhumed/src/movie.cpp
2019-12-07 01:03:17 +01:00
sirlemonhead 77a2625a85 Tidy Mummy AI code and fix incorrect branch 2019-12-07 01:01:04 +01:00
sirlemonhead 63120a1ca4 Fix stupid incorrect backwards Rat variable assignment 2019-12-07 01:01:03 +01:00
sirlemonhead cd59452806 Fix FindFood() for Rat AI and tidy a bit 2019-12-07 01:01:02 +01:00
sirlemonhead 8d81e49ac9 Tidy Anubis AI code slightly 2019-12-07 01:01:00 +01:00
sirlemonhead 6cf5bd1f16 Tidy spider AI code 2019-12-07 01:00:59 +01:00
sirlemonhead 0ddfbba8a0 Tidied up DoEnergyTile() a bit and lowered the speed of the cinema text scrolling 2019-12-07 01:00:58 +01:00
sirlemonhead e1dc15d165 Added switch case break and returns for Rex 2019-12-03 17:30:40 +01:00
nukeykt 099a995495 minor branching fix in FuncPlayer 2019-12-03 17:30:39 +01:00
nukeykt 426570729e Use engine's MAXSECTORS value in MoveRaToEnemy 2019-12-03 17:30:37 +01:00
nukeykt 865ca92b33 Another fish ai fix 2019-12-03 17:30:36 +01:00
nukeykt 0a4129ff56 RandomWord should be unsigned 2019-12-03 17:30:35 +01:00
nukeykt a0dac5e035 Fix bubbles 2019-12-03 17:30:34 +01:00
nukeykt d5fd9ba8b4 Fix fish velocity calculation 2019-12-03 17:30:32 +01:00
nukeykt c783ecbf22 Fix explode trigger seq counter randomization 2019-12-03 17:30:31 +01:00
nukeykt 51a24b3413 Fix demo playback speed 2019-12-03 17:30:30 +01:00
nukeykt 75789eee50 Fix reading demo file
# Conflicts:
#	source/exhumed/src/exhumed.cpp
2019-12-02 21:19:25 +01:00
sirlemonhead 7a7a0e16e8 Fix /playback command line argument handling 2019-12-02 21:18:42 +01:00
sirlemonhead a55a5ef038 Fix laptop static when using OpenGL 2019-12-02 21:18:40 +01:00
sirlemonhead fae001df77 Even more silencing of compiler warnings
# Conflicts:
#	source/exhumed/src/aistuff.cpp
#	source/exhumed/src/config.cpp
#	source/exhumed/src/exhumed.cpp
#	source/exhumed/src/status.cpp
2019-12-02 21:18:39 +01:00
sirlemonhead 2e28647e31 Silence some more compiler warnings 2019-12-02 21:17:05 +01:00
sirlemonhead c4b9137ee1 Silence compiler warnings about intentional switch fallthrough 2019-12-02 21:17:03 +01:00
sirlemonhead 5b82f519ff Add some timing code to the Laptop scene to control the playback speed. This speed isn't likely exact to the original - might need to verify this on one of my old machines.
# Conflicts:
#	source/exhumed/src/menu.cpp
2019-12-02 21:17:02 +01:00
sirlemonhead 33eeb3956f Amend previous spider and lion code slightly. 2019-12-02 21:16:13 +01:00
sirlemonhead 9e44478467 Add another invalid target sprite index check for Spider (and made the lion check more consistent to other code)
# Conflicts:
#	source/exhumed/src/lion.cpp
#	source/exhumed/src/spider.cpp
2019-12-02 21:16:03 +01:00
sirlemonhead 81dce2d2fe Amend previous spider and lion code slightly. 2019-12-01 00:02:56 +01:00
sirlemonhead eecb503207 Tidy anims.cpp somewhat 2019-12-01 00:02:53 +01:00
sirlemonhead a7e09febe4 Add another invalid target sprite index check for Spider (and made the lion check more consistent to other code) 2019-12-01 00:02:51 +01:00
sirlemonhead 66e3a53991 Fix another potential index of sprite array by -1 2019-12-01 00:02:49 +01:00
sirlemonhead ceccc0c2ee Fix an issue where the game attempts to index sprite array with -1. This occurs when runlist_DamageEnemy() is called when no source sprite for the damage is specified (an enemy burning in lava??). The game passes -1 for the 2nd parameter to this function call, and then attempts to index sprite array. Added check. Hopefully fixes crashing on the final level? 2019-12-01 00:02:46 +01:00
sirlemonhead 7b60bfdb95 Fix infinite loop in DimLights(). Should fix game locking up when finishing the final level. 2019-11-30 01:09:58 +01:00
sirlemonhead cdf44030d7 Silence nPlayerSprite check in DoKenTest() as this can fail in valid situations, such as in RestartPlayer() while the player is still being set up. 2019-11-29 00:39:24 +01:00
sirlemonhead de5aa31674 Fix issue causing voodoo doll of player appearing when selecting No to starting Training when already in a level. Fixes issue #20 2019-11-29 00:39:23 +01:00
sirlemonhead 1928f3fbc1 Change cheat screen messages to not display player number - are cheats usable outside of single player?!. Also removed a redundant message in FillWeapons() which got overwritten immediately anyway 2019-11-29 00:39:22 +01:00
sirlemonhead e115058cd3 Rewrote music playback to be more sensible. Hopefully this will get rid of the crashes that the handful of people reported. Needs to be fully tested.
Also, not sure what to do re: map screen. OG seems to keep playing the currently playing track, which seems slightly janky? should we just play track 19?

# Conflicts:
#	source/exhumed/src/cd.cpp
#	source/exhumed/src/cd.h
2019-11-29 00:39:20 +01:00
nukeykt acc8f01269 Shifting is not needed here 2019-11-28 17:06:55 +01:00
nukeykt 6f4a6daaa2 Scale status text 2019-11-28 17:06:54 +01:00
sirlemonhead ca80125aba Set bShowTowers back to it's default value
# Conflicts:
#	source/exhumed/src/map.cpp
2019-11-28 17:06:53 +01:00
sirlemonhead c7e3aa4b46 Changed the order of some variable assignment in ThrowGrenade() to match disassembly. Don't think it really makes a difference? 2019-11-28 17:06:20 +01:00
sirlemonhead 2dddf19ce7 Add shade flash highlight for currently selected Load Game name 2019-11-28 17:06:18 +01:00
sirlemonhead f56dd9a3e1 Fix incorrect bitwise OR operation in CheckSectorSprites() 2019-11-28 17:06:17 +01:00
sirlemonhead 8b9f15d5ea Fix DoAfterCinemaScene() not calling GoToTheCinema() 2019-11-28 17:06:16 +01:00
Christoph Oelckers 7cbe9615ea - fixed merge error. 2019-11-26 19:15:44 +01:00
nukeykt 1b0a036995 Add fov cvar
# Conflicts:
#	source/exhumed/src/config.cpp
#	source/exhumed/src/osdcmds.cpp
2019-11-26 19:13:48 +01:00
sirlemonhead 82767751a7 Fix credits screen
# Conflicts:
#	source/exhumed/src/exhumed.cpp
2019-11-26 19:12:52 +01:00
sirlemonhead f34507813f Add some error handling for music playback 2019-11-26 19:12:22 +01:00
sirlemonhead aba3e85c8e Fix player taunt frequency (and there was much rejoicing) 2019-11-25 23:24:20 +01:00
sirlemonhead 979f40f900 Fix missing angle mask for Anubis AI 2019-11-25 23:24:18 +01:00
sirlemonhead 803f22904b Fix Ramses head being all tiny
# Conflicts:
#	source/exhumed/src/exhumed.cpp
2019-11-25 23:24:17 +01:00
sirlemonhead 326947d976 Initial music playback support code
# Conflicts:
#	source/exhumed/src/cd.cpp
#	source/exhumed/src/cd.h
2019-11-24 22:39:25 +01:00
Christoph Oelckers 28294c8a96 - use symbolic constants. 2019-11-24 16:37:31 +01:00
Christoph Oelckers 11b8017752 - Exhumed compiles without errors. 2019-11-24 16:34:23 +01:00
Christoph Oelckers 8d11990494 - more work on making Exhumed compile.
Almost done, down to 20 compile errors.
2019-11-24 13:59:36 +01:00
Christoph Oelckers 40772d9f0c - making more things compile. 2019-11-24 10:03:19 +01:00
Christoph Oelckers 6280b0b516 - started fixing things. 2019-11-24 00:04:15 +01:00
sirlemonhead 9ce8d5156c Fix missing text under laughing skull. 2019-11-23 23:37:33 +01:00
Christoph Oelckers 0ad7f25a8a - added project and namespace wrappers to all Exhumed files. 2019-11-23 00:11:37 +01:00
Christoph Oelckers 762ade3fd8 - we do not need this. 2019-11-22 23:06:22 +01:00
nukeykt af5f5aad77 Fix compiling errors
# Conflicts:
#	platform/Windows/pcexhumed.vcxproj
#	source/platform/win32/startwin.game.cpp
2019-11-22 17:41:30 +01:00
nukeykt a55ea9a55c Fix black screen issue after training level 2019-11-22 17:39:31 +01:00
sirlemonhead 3977c3e3bd Check for a valid return value from BuildBullet() in FuncTrap() before trying to use it. Will need to check all instances of BuildBullet() return value uses as original game doesn't seem to check if they're valid before using them to index arrays. 2019-11-22 17:39:30 +01:00
Christoph Oelckers ff3dec2f08 - looks like I missed one commit... 2019-11-22 00:17:59 +01:00
nukeykt c1ad44bcc9 Remap screenshot key to F12 2019-11-22 00:14:59 +01:00
nukeykt cd74f50e8c Fix silly error with gamefunctions data 2019-11-22 00:14:58 +01:00
nukeykt 47b8dd509b Properly read settings from cfg 2019-11-22 00:14:56 +01:00
nukeykt 2fe0a6c496 Properly save cfg files on exit 2019-11-22 00:14:55 +01:00
nukeykt e626db8ce5 Parse exhumed.def if available 2019-11-22 00:14:54 +01:00
nukeykt f3069bbe4f Fix movie in opengl 2019-11-22 00:14:53 +01:00
NY00123 2da94d33e8 Bring startgtk fixes from EDuke32 rev. 8134 into exhumed 2019-11-22 00:14:52 +01:00
sirlemonhead 3073f1780d Show BMG or PIE publisher logos and Exhumed or PowerSlave graphics depending on which DAT/GRP file is used. 2019-11-22 00:14:50 +01:00
nukeykt 0f874f6979 Disable intro fade effects for opengl mode 2019-11-22 00:14:49 +01:00
NY00123 27a3945583 Forgotten this comment in preceding demo-related commit 2019-11-22 00:14:48 +01:00
NY00123 e38dcc7c5f Exhumed: Disable demo playback for now 2019-11-22 00:14:47 +01:00
nukeykt 7660d74713 Unifdef HandleAsync in input.cpp 2019-11-22 00:14:45 +01:00
nukeykt fc3ba66cb1 Rename app name to pcexhumed
# Conflicts:
#	GNUmakefile
#	platform/Windows/eduke32.sln
#	platform/Windows/pcexhumed.vcxproj
#	platform/Windows/pcexhumed.vcxproj.filters
2019-11-22 00:14:43 +01:00
sirlemonhead be65a9863b Add License header to .h and .cpp files 2019-11-22 00:13:44 +01:00
sirlemonhead 6cb4456c91 Slow down the cinema text scroll speed a bit 2019-11-22 00:13:42 +01:00
sirlemonhead f22d6b275b Working towards fixing Energy Towers. Tower texture should now animate but explosion effect still doesn't render when the tower is destroyed. 2019-11-22 00:13:41 +01:00
nukeykt c261f76e5f Automap improvements using code from eduke32 2019-11-22 00:13:40 +01:00
nukeykt 73a3be9aa1 Clean up and fix snake code 2019-11-22 00:13:39 +01:00
nukeykt 7e7f74206d Fix flamethrower light rotation 2019-11-22 00:13:38 +01:00
nukeykt f445dd45d7 Fix erroneous condition in FuncQueenHead 2019-11-22 00:13:36 +01:00
nukeykt cf389bf3ef Clean up and some fixes for Queen ai code 2019-11-22 00:13:35 +01:00
sirlemonhead 4ca74ee06a Queen AI fixes. Still need to check Head and Egg code. 2019-11-22 00:13:34 +01:00
nukeykt 6da91a4c1f Fix rex animation speed 2019-11-22 00:13:33 +01:00
nukeykt e65d2ef4f4 Fix cobra venom bowl damage 2019-11-22 00:13:31 +01:00
nukeykt cabf25bc8b Detabulate gun.cpp 2019-11-22 00:13:30 +01:00
nukeykt 9048c0a75c Fix CheckCloseRange return value 2019-11-22 00:13:29 +01:00
sirlemonhead eded50e873 Fix Set angle miscalculation 2019-11-22 00:13:28 +01:00
sirlemonhead 21459b4ba8 Fix Fish AI. Was miscalculating yvel (too many shifts) 2019-11-22 00:13:27 +01:00
sirlemonhead 69a6715997 Added Wall effect tag 20 2019-11-22 00:13:25 +01:00
sirlemonhead 87ef1331d9 Fix the Roach/Kilmaat sentry being unkillable. I was missing the line in BuildRoach() to set it's sprite's cstat value 2019-11-22 00:13:24 +01:00
sirlemonhead fe24913d63 Hopefully finally fixed Lion AI. Should now attempt to go underground when shot 2019-11-22 00:13:23 +01:00
nukeykt eb456e0dda Fix flow texture panning 2019-11-22 00:13:22 +01:00
nukeykt c970aebb54 Fix invalid sector sound 2019-11-22 00:13:20 +01:00
nukeykt 337dea13e6 Add FPS counter 2019-11-22 00:12:57 +01:00
sirlemonhead 19dfc45321 Fix set AI. Shouldn't die so quickly now. 2019-11-22 00:12:56 +01:00
sirlemonhead c365a79f81 Fix asserts firing for some sector tags. This code now handles cases where the effects aren't set up correctly in the .map file - a floor/ceiling is not in the expected starting position. The nextsectorneighborz() function would end up returning -1 but the game would use this value to index the sector array. It seems the developers were lucky and this resulted in the correct value being returned regardless. 2019-11-22 00:12:55 +01:00
nukeykt 6fef06453c Fix shadows in polymost 2019-11-22 00:12:54 +01:00
nukeykt c2594ec4ea Fix background box drawing in Query 2019-11-22 00:12:52 +01:00
nukeykt 99a7195f5f Fix water splash sound 2019-11-22 00:12:51 +01:00
nukeykt 92dc6be003 Fix training level start from ingame menu 2019-11-22 00:12:50 +01:00
nukeykt 74e5b77982 Fix loadgame menu closing causing training level start 2019-11-22 00:12:49 +01:00
nukeykt 62ccf7712a Fix game pause 2019-11-22 00:12:47 +01:00
sirlemonhead 7049070721 Misc warning fixes (removed unused variables) 2019-11-22 00:12:46 +01:00
nukeykt 2f1a53e5c4 Fix weapon pickup sound 2019-11-22 00:12:45 +01:00