Commit graph

419 commits

Author SHA1 Message Date
Christoph Oelckers
b9a567463c - fixed compile error. 2020-06-17 12:26:06 +02:00
Richard C. Gobeille
9a2c2d5a98 exhumed: fix overflow in feebtag() 2020-06-17 12:26:06 +02:00
sirlemonhead
d2806393bb PCExhumed: Add code to draw serpent cam status text on screen
# Conflicts:
#	source/exhumed/src/sound.cpp
#	source/exhumed/src/status.h
2020-06-17 12:26:06 +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
2c2b871083 - fixed texture validation checks. 2020-06-17 12:26:02 +02:00
Christoph Oelckers
946da7d622 - moved the textures used for the animations into the texture manager.
This is to allow giving them a texture ID so that they can be used from ZScript which has no access to naked textures.
This also consolidates AnimTexture and VpxTexture.
2020-06-14 20:27:13 +02:00
Christoph Oelckers
d4cdb31464 - backend update to make the ZScript compiler work. 2020-06-14 18:58:30 +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
Christoph Oelckers
4f0e3adfbb - removed pointless constexpr declaration on numeric constants. 2020-06-12 16:49:35 +02:00
Mitchell Richters
d79a5d256d - fix joystick scaling for all games.
* Repairs https://forum.zdoom.org/viewtopic.php?f=340&t=67239 and https://forum.zdoom.org/viewtopic.php?f=340&t=67933
* Values that come from GZDoom backend are too low to be suitable for the Build games which were dividing by 'analogExtent'.
* Remove definition of analogExtent from all games and define in inputstate.h, then define joyaxesScale as 75% of analogExtent to provide a bit of headroom and not have a scale of 1.0 be full speed.
* Invert the returned results of GetAxes() as the returned floats are reversed for build games.
* Leverage scaleAdjustmentToInverval() on game-side code to consistently scale the input irrespective of frame rate, vsync etc.
2020-06-12 16:44:08 +02:00
Christoph Oelckers
f159496f6e - moved the ShadeDiv array into the lookup table and took the numshades-2 divisor out of the stored value.
The value was changed to allow easier reuse in scenarios where the size of the shade table does not matter anymore.
2020-06-05 23:18:21 +02:00
Christoph Oelckers
cf6855904d - took projection and view matrix out of the render state.
This is a preparation to migrate to GZDoom's HWViewpointUniforms buffer.
2020-06-04 18:46:44 +02:00
Christoph Oelckers
68c97e3c25 Merge branch 'master' of https://github.com/coelckers/Raze
# Conflicts:
#	source/core/gamecontrol.h
#	source/duke3d/src/game.cpp
#	source/exhumed/src/exhumed.cpp
#	source/rr/src/game.cpp
2020-05-31 23:30:10 +02:00
Mitchell Richters
ce48f081fc Exhumed: Amend how game pauses. 2020-05-31 23:19:54 +02:00
Christoph Oelckers
efa1cd3048 - moved video files to 'common'.
# Conflicts:
#	source/blood/src/screen.cpp
2020-05-31 09:19:16 +02:00
Christoph Oelckers
1e2a3da5fd - video base code unified.
# Conflicts:
#	source/core/rendering/v_video.cpp
2020-05-31 09:18:43 +02:00
Christoph Oelckers
edb2cb31ee - backend update with GZDoom model code. 2020-05-31 08:55:00 +02:00
sirlemonhead
86f2a7a578 PCExhumed: MoveSector() updates player position variables. Fixes #366 2020-05-30 23:34:26 +02:00
Christoph Oelckers
a3e6829817 - fixed Exhumed menu by adding a proper layout mode to the drawer instead of hacking the broken tile offsets. 2020-05-27 23:30:36 +02:00
Christoph Oelckers
193b940eef - palette code cleanup. 2020-05-27 22:19:02 +02:00
Christoph Oelckers
29db3febb8 - updated the platform code to be mostly identical with GZDoom 2020-05-26 00:08:26 +02:00
Christoph Oelckers
55a3c62b59 - use GZDoom's 2D drawer.
Console and menu font colors are not ok yet, aside from that it works.
2020-05-25 17:11:32 +02:00
Christoph Oelckers
266364fc2e - properly implement texture offsets 2020-05-24 13:26:45 +02:00
Christoph Oelckers
498b19873d - split up textures.h. 2020-05-24 07:58:56 +02:00
Christoph Oelckers
f929419a0a - refactoring of the lookup tables. 2020-05-23 22:43:04 +02:00
Christoph Oelckers
c1f7cf1c3a - added DObject as a preparation for the ZScript compiler. Currently large parts are disabled because the backing features are not present yet.
# Conflicts:
#	source/CMakeLists.txt
2020-05-23 22:43:01 +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
cfe02cebf1 - moved music code to "common" 2020-05-23 12:37:47 +02:00
Christoph Oelckers
6a8efb7520 - update of music code, in particular separating the engine-specific lookup from the backend.
# Conflicts:
#	source/core/music/music.cpp

# Conflicts:
#	source/build/src/palette.cpp
2020-05-23 12:37:47 +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
73a56f76af PCExhumed: Avoid some original memory read bugs and correct some bullet code branching. 2020-05-22 17:22:00 +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
bece408548 Exhumed: Set scaleAdjustmentToInterval to correct value for game's ticrate. 2020-05-13 15:10:18 +02:00
Richard C. Gobeille
98f4bac708 Exhumed: fix stupid input scaling bug 2020-05-11 21:27:29 +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
Mitchell Richters
db428a4f03 All Games: Make more precise use of 'scaleAdjustmentToInterval()'.
- Inline function returns a double, therefore we should use it and not potentially truncate the mantissa.
- Use divisors to get true numbers of some floats (3.333 -> 10/3, etc).
- Remove a few brackets/parentheses where possible from what are already exceedingly bracketed lines.
2020-04-14 00:00:21 +02:00
Christoph Oelckers
156a225ff4 - renamed global palookup variable.
Since the same word gets used in text messages and local variables in the game code it is easier this way to search for it and facilitate its transition to the translation table management in PaletteContainer.
2020-04-13 23:58:46 +02:00
Christoph Oelckers
fda4293013 - draw the movie franes outside of the tile system to reduce the palette maintenance.
The movie code has always been the part causing the most issues because it alters the palettes - the rest treats them as static data.
2020-04-13 23:58:45 +02:00
Christoph Oelckers
fac004b4d2 - palette code cleanup 2020-04-13 23:58:44 +02:00
Christoph Oelckers
f74ba52990 - compile fixes. 2020-04-12 05:40:16 +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
0ca4bbd0c4 - changed some menu related names to match 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
41545b644a - cleaned out most of the software renderer's static global variables. 2020-03-29 16:59:49 +02:00
Christoph Oelckers
73a4e0d1fe - made Blood's FullMap flag global and removed the hacks to show the full automap.
Also refactor show2dsector into a bit array to get rid of the bit shifting code at play here.
2020-03-07 19:30:18 +01:00
Christoph Oelckers
a203e37aeb - removed buggy diagnostics print. 2020-03-05 01:01:04 +01:00
nukeykt
b88eeea9a2 Exhumed: Correctly set player action id for mummified state 2020-03-04 17:57:16 +01:00
Christoph Oelckers
8eef69b1a6 - compile fixes. 2020-03-02 23:05:07 +01:00
sirlemonhead
df34d8ca85 PCExhumed: Big bunch of AI tidying, code consistency changes and misc fixes. Aiming to get compatibility with new demos from DOS exe.
# Conflicts:
#	source/exhumed/src/anubis.cpp
#	source/exhumed/src/bubbles.cpp
#	source/exhumed/src/bubbles.h
#	source/exhumed/src/bullet.cpp
#	source/exhumed/src/bullet.h
#	source/exhumed/src/fish.cpp
#	source/exhumed/src/fish.h
#	source/exhumed/src/grenade.cpp
#	source/exhumed/src/grenade.h
#	source/exhumed/src/lavadude.cpp
#	source/exhumed/src/lavadude.h
#	source/exhumed/src/lion.cpp
#	source/exhumed/src/lion.h
#	source/exhumed/src/mummy.cpp
#	source/exhumed/src/mummy.h
#	source/exhumed/src/queen.cpp
#	source/exhumed/src/queen.h
#	source/exhumed/src/ra.cpp
#	source/exhumed/src/ra.h
#	source/exhumed/src/rat.cpp
#	source/exhumed/src/rat.h
#	source/exhumed/src/rex.cpp
#	source/exhumed/src/roach.cpp
#	source/exhumed/src/roach.h
#	source/exhumed/src/runlist.cpp
#	source/exhumed/src/scorp.cpp
#	source/exhumed/src/set.cpp
#	source/exhumed/src/set.h
#	source/exhumed/src/snake.cpp
#	source/exhumed/src/snake.h
#	source/exhumed/src/spider.cpp
#	source/exhumed/src/spider.h
#	source/exhumed/src/wasp.cpp
#	source/exhumed/src/wasp.h
2020-03-02 23:01:55 +01:00
Christoph Oelckers
951d28f15d - Exhumed movie fix. 2020-03-01 18:32:43 +01:00
Christoph Oelckers
cf662de165 - commented out diagnostic messages. 2020-03-01 17:22:31 +01: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
69e018d0c4 - added serialization of playing sounds.
For ambient sounds that can be cleanly restarted a new 'transient' flag was added so that these do not get written out.
Tested on SW so far, other games yet to do.
2020-02-29 12:33:35 +01:00
Christoph Oelckers
1a66878205 - fixed some issues with Exhumed's ambient and creepy sounds.
Both now refer to a proper target for bookkeeping.
2020-02-28 19:56:37 +01:00
sirlemonhead
69aba5f3ea PCExhumed: Don't modify coordinates with abs() in runlist_CheckRadialDamage(), correct to original behaviour. 2020-02-28 18:42:45 +01:00
sirlemonhead
cd4090e531 PCExhumed: Fix Anubis drum not moving correctly when shot (bad angle calc). 2020-02-27 18:27:33 +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
6315bd3960 - Exhumed - fixed wrong sound origin for special effect sound 2020-02-26 00:20:52 +01:00
Christoph Oelckers
b4a2a5c187 - fixed Exhumed's creepy sounds. 2020-02-25 20:10:36 +01:00
Christoph Oelckers
71083f2b23 - use sound rolloff settings for Exhumed that actually work.
I cannot say if this is correct because the sound in PCExhumed doesn't seem right so the rolloff distance was more or less guesswork based on what sounds ok.
2020-02-25 19:40:39 +01:00
Christoph Oelckers
7d725bfe8a Exhumed sound coordinate fixes 2020-02-25 00:40:51 +01:00
sirlemonhead
999840a9b5 PCExhumed: Corrected sector tag number handling for enemy death triggered sectors. Fixes issue #328 2020-02-24 22:13:32 +01:00
Christoph Oelckers
2f91c2f696 - fixed the Exhumed sequence reader.
There was interference with the sound loader here - both accessed the same file handle so the sequence's sound data wasn't read correctly, resulting in memory corruption.
2020-02-24 21:59:04 +01:00
Christoph Oelckers
fe1133e5c2 - fixed EnumerateChannels. 2020-02-24 20:19:03 +01:00
Christoph Oelckers
920f424184 - pitch fix. 2020-02-24 18:34:15 +01:00
Christoph Oelckers
3a7067dbec - properly transitioned Exhumed's sound system to the OpenAL sound engine. 2020-02-23 20:40:45 +01:00
Christoph Oelckers
7909f29691 - allow starting Duke, NAM and WW2GI with the RedNukem-based game code for Redneck Rampage.
This mainly required some rework of the menu setup to be less explicit about the frontend's menu classes.
2020-02-12 20:25:59 +01:00
Christoph Oelckers
4b0db4893a - fixed a few changes constants. 2020-02-05 18:49:47 +01:00
sirlemonhead
5f2009eea5 PCExhumed: Remove function declaration for ServeSample in movie.cpp 2020-02-05 18:00:41 +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
ab3811bac0 - fixed: The 2D drawer must apply the render state before it finishes.
Otherwise the global state settings will not be reset.
2020-01-31 22:07:51 +01:00
Christoph Oelckers
eac1007c56 - automap color fix. 2020-01-30 22:05:18 +01:00
Christoph Oelckers
4bf519dcb0 - fixed copy/pasted broken 'map' CCMD. 2020-01-30 20:25:52 +01:00
Christoph Oelckers
4aaf6c4cf6 - check for angular overflow in pitch calculations. 2020-01-29 21:52:17 +01:00
Christoph Oelckers
8657ecb35d - implemented 'map' CCMD for all games. 2020-01-28 11:20:30 +01:00
Christoph Oelckers
9ca1e56713 - added extended sound lookup as well plus menu options. 2020-01-27 22:29:45 +01:00
alexey.lysiuk
5510df77be - streamlined CMake configuration of game libraries
https://forum.zdoom.org/viewtopic.php?t=67121
2020-01-27 18:11:35 +01:00
Christoph Oelckers
245aa5d3bc - reworked global palette state for robustness. 2020-01-26 10:58:00 +01:00
sirlemonhead
ccfefaa9be PCExhumed: Fixed player view not centring when the Ramses Head appears. 2020-01-24 19:51:42 +01:00
sirlemonhead
d044b2a605 PCExhumed: Fix inconsistent HUD health and magic animation speed. 2020-01-24 19:51:42 +01:00
Christoph Oelckers
a7b020d1a8 - implemented proper screen size scaling for Exhumed. 2020-01-22 16:14:01 +01:00
Christoph Oelckers
493525a58e - consolidation of engine save code.
This had discrepancies between the game modules so now all use the same code to save the common engine state.
2020-01-21 21:51:05 +01:00
Christoph Oelckers
acf7f29dbd - moved Exhumed's engine state save code into the common part.
This needs to be save for all games and the discrepancies have already caused problems so engine state saving needs to be unified.
2020-01-21 19:22:38 +01:00