Christoph Oelckers
85875da77a
- removed the old start-of-level-only savegame code.
...
This serves no purpose anymore, even with a checkpoint-based gameplay the full saves will do just as well.
2020-08-23 16:30:20 +02:00
Christoph Oelckers
f7fcd341ec
- removed redundant levelnum variable.
...
Better use the global map record.
2020-08-23 16:24:54 +02:00
Christoph Oelckers
1a0e413d5c
- use CCMDs for Exhumed's input where applicable.
...
- made crosshair toggle consistent across games.
2020-08-23 16:11:18 +02:00
Christoph Oelckers
2a3f7a48c9
- implemented a proper kill counter.
...
Unfortunately the display is a bit limited by the available font characters.
2020-08-23 14:39:14 +02:00
Christoph Oelckers
5c7b613aa7
- reworked the main loop.
2020-08-23 12:26:52 +02:00
Christoph Oelckers
7889605ff4
- condensed main loop further, started laying out the new one.
2020-08-23 09:11:32 +02:00
Christoph Oelckers
9e5ca8c408
- moved game and level init code out of app_main.
2020-08-23 08:22:59 +02:00
Christoph Oelckers
5ba384db35
- moved the main game ticker out of app_main.
2020-08-23 07:49:58 +02:00
Christoph Oelckers
3a3ba43985
- Exhumed: moved the input code out of the main loop
2020-08-23 07:41:29 +02:00
Christoph Oelckers
fccd054381
- split off the entire game loop related code into its own file.
...
This should make it easier to work on this.
2020-08-22 22:40:22 +02:00
Christoph Oelckers
7401c0e133
- moved Ramses head code into its own file.
2020-08-22 21:39:14 +02:00
Christoph Oelckers
8589d43835
- migrated Exhumed's cheats to the global system.
...
This also eliminates the last pieces using that global string list. All relevant text is now in the external string table.
2020-08-22 21:13:11 +02:00
Christoph Oelckers
6d852c33dd
- added CCMDs for all 'holly' cheats that didn't have an equivalent yet.
2020-08-22 20:34:58 +02:00
Christoph Oelckers
6b1d6a44d7
- exported the item pickup messages to the string table and use the global 'nomonsters' flag.
2020-08-22 20:14:00 +02:00
Christoph Oelckers
bddd196539
- ported the credits screen.
2020-08-22 19:50:04 +02:00
Christoph Oelckers
d94077f833
- exported cinema texts to the string table as well.
2020-08-22 18:30:48 +02:00
Christoph Oelckers
0843f5f04a
- ported the final level's text screen and exported its text to the string table.
2020-08-22 18:12:19 +02:00
Christoph Oelckers
7e7f9670c1
- transitioned the text intermission screen to use DScreenJob and interpolate the scrolling text display.
2020-08-22 11:56:54 +02:00
Christoph Oelckers
8e34288a1c
- moved the end level handler further out in the main loop.
2020-08-22 10:39:37 +02:00
Christoph Oelckers
8b3e3b6d4a
- cleaned out some waiting code.
...
There's still too many loops but this at least gets rid of the empty ones.
2020-08-22 10:17:24 +02:00
Christoph Oelckers
c74a1f03e3
- defer FinishLevel handling to the main loop instead of doing it deep inside the game logic code.
2020-08-22 10:03:21 +02:00
Christoph Oelckers
b96f12aa34
- removed Exhumed's demo loop.
...
It was broken already anyway and also looks like a first grade refactoring blocker.
2020-08-22 09:31:17 +02:00
Christoph Oelckers
e1fd0d8d80
- replaced most of the old text and graphics display functionality in Exhumed.
2020-08-21 22:40:09 +02:00
Christoph Oelckers
31e792223a
- converted Exhumed intro to use the ScreenJob framework.
2020-08-20 21:05:14 +02:00
Christoph Oelckers
78bfbdb253
- Exhumed status bar work.
...
Unfortunately this is a bit limited due to how the data was designed.
2020-08-20 17:04:21 +02:00
Christoph Oelckers
f888df9f5b
- fixed screen resize actions to work outside the automap.
2020-08-19 20:38:36 +02:00
Christoph Oelckers
d645674c1c
- consolidated the DEF parser parts in the backend.
...
Only Blood had some special handling - better implement callbacks here instead of requiring a second parsing pass.
2020-08-19 20:29:37 +02:00
Christoph Oelckers
aa5f42e5f4
- more header consolidation and cleanup.
...
In particular, this removes the pointless kTrue and kFalse constants.
2020-08-18 18:56:56 +02:00
Christoph Oelckers
4ea93ebccc
Exhumed code cleanup
...
merging all AI headers and removing several unused files
2020-08-18 18:56:39 +02:00
Christoph Oelckers
ef78e8602a
- major cleanup and consolidation of the screen/hud resizing code.
...
This is now being handled by the backend, except for the processing of the key bindings which cannot be done yet.
2020-08-16 02:55:50 +02:00
Christoph Oelckers
3455610031
- base palette cleanup.
...
Avoid passing this anywhere in the client code. It should only be set right before rendering the 3D view and the only code using the base palette should be the 3D renderer and hud_drawsprite.
Also make the palette override CVARs 3D view only in debug mode.
2020-08-14 21:18:14 +02:00
Christoph Oelckers
a0cd407632
- cleanup on pausing code.
2020-07-15 18:10:31 +02:00
Christoph Oelckers
aa01adb2f1
- removed osd.h as it was merely a minimal wrapper around c_dispatch, giving some alias names.
...
Nothing that's needed when cutting ties to upstream.
2020-07-14 14:00:27 +02:00
Christoph Oelckers
e146e73345
- consolidated the 'music' parsing in Defs (pending a refactor of the MAPINFO system.)
...
- removed the remaining parts of the game Defs parser because we do not want anything EDuke in here.
2020-06-24 00:40:22 +02:00
Christoph Oelckers
550576d94d
- allow skipping the Exhumed logos.
2020-06-17 17:10:31 +02:00
sirlemonhead
9df13d0dfe
PCExhumed: Don't restore mid level save point if re-entering a just completed level
2020-06-17 12:26:05 +02:00
sirlemonhead
2e514e539e
PCExhumed: Fix cheat messages
2020-06-17 12:26:05 +02:00
Christoph Oelckers
35471ce7e2
- clear the screen for Exhumed's logos.
2020-06-13 00:08:47 +02:00
Christoph Oelckers
ee98db589f
- fixed the Exhumed startup to do proper fading of the publisher logos, which PCExhumed only implemented for the software renderer.
...
Made it faster than PCExhumed, though
2020-06-12 23:06:11 +02:00
Christoph Oelckers
1311db9ac9
- changed all places clearing the screen in 2D display code to use the 2D drawer's ClearScreen method.
2020-06-12 20:52:01 +02:00
Mitchell Richters
ce48f081fc
Exhumed: Amend how game pauses.
2020-05-31 23:19:54 +02:00
Christoph Oelckers
b971bc2717
- avoid using global palette settings when drawing 2D content with a custom palette.
...
Instead pass the palette info with the render call to avoid stale global state.
2020-05-23 22:43:01 +02:00
Christoph Oelckers
8bd5f12b42
- matching sound backend code with GZDoom.
...
# Conflicts:
# source/core/sound/s_soundinternal.h
2020-05-23 12:59:11 +02:00
Christoph Oelckers
d0406e27b6
- all base palette data has been transitioned to GPalette.
2020-05-23 12:31:05 +02:00
Christoph Oelckers
6f9ee4b60f
- store palettes in the palette container.
2020-05-23 12:31:05 +02:00
sirlemonhead
20cfbc1786
PCExhumed: Fix the timing of credits text when not using CD audio.
...
# Conflicts:
# source/exhumed/src/exhumed.cpp
2020-05-22 17:17:54 +02:00
Mitchell Richters
8730bd9dda
- allow game's clock to keep running while paused (restores interpolations/animations in menus).
2020-05-08 21:23:02 +02:00
Mitchell Richters
7b35e04c0c
- reset buttonMap button states after returning from pause for Exhumed (stops keys acting stuck down if down prior to pausing).
2020-05-06 10:51:08 +02:00
Mitchell Richters
419329b5b2
- standardise main loop for Exhumed following changes to Duke3D/RR/SW main loops.
2020-05-06 10:51:08 +02:00
Christoph Oelckers
fac004b4d2
- palette code cleanup
2020-04-13 23:58:44 +02:00
Christoph Oelckers
57cb22f135
- console code matching with GZDoom
...
Refactored the buttons to be definable locally per game for easier handling of differing input.
2020-04-12 08:30:41 +02:00
Christoph Oelckers
8e87674d4c
- backend code matching with GZDoom
2020-04-12 08:30:40 +02:00
Christoph Oelckers
5584c726ba
- file system update and adjustment.
2020-04-12 08:30:40 +02:00
Christoph Oelckers
f671eb622f
- migrated to GZDoom's utility code.
2020-04-12 08:30:39 +02:00
Christoph Oelckers
66ecb05eb8
- use Printf as the only command to print to the console.
...
All uses of OSD_Printf, initprintf etc. have been renamed.
2020-04-12 08:30:38 +02:00
Christoph Oelckers
e2f5e8fe34
- renamed 'common' to 'core'.
...
We'll need 'common' for something else.
2020-04-12 08:30:36 +02:00
Mitchell Richters
b801a73db9
Exhumed: Fix look up/down in line with input amendments.
2020-04-06 08:06:38 +02:00
Mitchell Richters
2ddc442e48
Exhumed: Improve player input.
...
- Input velocity now consistent irrespective of frame rate.
- Angle and horizon calculated at frame rate.
- Replace usage of F16() macro with fix16_from_int() in GetInterruptKeys().
Note: Known issues with look up/down keys that is to be repaired.
2020-04-06 08:06:38 +02:00
Christoph Oelckers
12af524dcc
- fixed Exhumed's ingame menu.
...
The bad setup here didn't let the menu's exit action pass to the game code, it still needed ugly workarounds.
2020-03-01 16:32:41 +01:00
Christoph Oelckers
4bc0531bf7
- disabled help screen in Exhumed and save menus in Deer Huntin'.
2020-02-29 12:55:12 +01:00
Christoph Oelckers
0ed3b3b3ea
- manual merge of * PCExhumed: Don't shrink/expand screen viewable area if in map mode. Fixes #327
...
Code was too different for cherry-picking.
2020-02-26 20:51:19 +01:00
Christoph Oelckers
3a7067dbec
- properly transitioned Exhumed's sound system to the OpenAL sound engine.
2020-02-23 20:40:45 +01:00
sirlemonhead
efaefff3d0
PCExhumed: Misc code tidying. Changed cases in runlist_ProcessSectorTag() to match editor tag numbers,
...
consolidated duplicate code in runlist_ProcessWallTag(), renamed ActiveSound struct vars etc.
# Conflicts:
# source/exhumed/src/cd.cpp
# source/exhumed/src/exhumed.cpp
# source/exhumed/src/fish.cpp
# source/exhumed/src/grenade.cpp
# source/exhumed/src/mummy.cpp
# source/exhumed/src/sound.cpp
2020-02-05 18:00:40 +01:00
Christoph Oelckers
4d7a43004c
- use the new SW interpolation function for all games.
2020-02-02 10:27:47 +01:00
Christoph Oelckers
ae9ad6612c
- fixed: Exhumed did not pause when the console was open.
2020-02-02 00:10:18 +01:00
Christoph Oelckers
0e1eeea037
- use the game palette directly for palette lookups.
...
The setup here is far too messy for having a copy in a better format - it can be changed in some non-obvious places.
2020-02-01 23:05:43 +01:00
Christoph Oelckers
a7b020d1a8
- implemented proper screen size scaling for Exhumed.
2020-01-22 16:14:01 +01:00
sirlemonhead
56abec7ed4
PCExhumed: Add god, noclip and changelevel console commands.
...
# Conflicts:
# source/exhumed/src/osdcmds.cpp
2020-01-07 20:12:12 +01:00
NY00123
d5d60afdc3
PCExhumed: Improve the cheat code fixes in CheckKeys.
...
- Replace direct calls to strtok with calls to a new wrapper function,
safeStrtok. Whenever strtok returns a null pointer, safeStrtok returns
an empty string instead. This should assist with replicating
the behaviors with the DOS EXE, without leading to crashes.
- This way, the "GOTO" and "CREATURE" codes are fixed.
The code handling "LEVEL" is additionally simplified.
- The code executed if nStringLen == 0 || pToken == NULL is now gone.
As is the case under DOS, if you enter a non-empty string which isn't
matched at all, sHollyStr will be emptified, but you'll otherwise
still be able to enter a code, with no need to retype "HOLLY".
2020-01-06 18:16:36 +01:00
sirlemonhead
bddcde73f4
PCExhumed: Cheat code fixes.
...
Default to level 0 if no level number is specified and don't crash if only space characters are submitted. Thanks to NY00123 for reporting.
2020-01-05 10:48:55 +01:00
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
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
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
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
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
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
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
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
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
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
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
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
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