Christoph Oelckers
2b1284e8fa
- reorganized Blood's level structures to not use bitfields.
...
Only the single bits are still a bitfield, combined with an int in a union - all other fields are 8, 16 or 32 bit now.
For serialization this is necessary - I have to wonder anyway if the added code to process the bit fields wasn’t even more than the data savings…
2020-10-13 20:23:51 +02:00
Christoph Oelckers
817fa8aba3
- save the entire engine state as JSON.
...
The sprite lists may still need optimization. Due to different handling between Blood and the core engine they need to be written out completely which is quite wasteful.
2020-10-13 20:18:08 +02:00
Christoph Oelckers
bdc1f66131
- missed an include.
2020-10-12 20:30:12 +02:00
Christoph Oelckers
bce15428d5
- for Unix-like systems, check added resources for lower and uppercase variants if the specified one cannot be found.
2020-10-12 20:01:40 +02:00
Christoph Oelckers
20248d8e08
- fixed a few CCMDs which were blocked in the console.
2020-10-12 19:48:47 +02:00
Christoph Oelckers
742917c6d7
- re-enabled the autoload-after-death function.
...
This had to be disabled for the menu but somehow was missed when reenabling these things again.
2020-10-12 19:42:16 +02:00
Mitchell Richters
b6ec41e2b1
- Exhumed: Make WeaponSel_Prev
/WeaponSel_Next
operable.
2020-10-12 22:31:57 +11:00
Christoph Oelckers
86ad576675
- fixed lockup on Shareware screen when quitting Duke
...
Two errors: the menu wasn’t closed and the shareware check was inverted.
2020-10-12 08:07:51 +02:00
Mitchell Richters
a792f329ca
- binaryangle.h/PlayerAngle: Fix incorrect variable declaration on dang
within interpolatedsum()
method.
...
* Didn't seem to be causing an issue but better it be correct.
2020-10-12 16:28:05 +11:00
Mitchell Richters
bf5bd01164
- binaryangle.h/PlayerAngle: Make settarget()
method consistent with PlayerHorizon
class and fix incorrect variable declaration.
2020-10-12 14:51:53 +11:00
Mitchell Richters
c08851e4c0
- Blood/Duke/RR/SW: Drop resetinputhelpers()
.
2020-10-12 14:42:43 +11:00
Mitchell Richters
894feb1c80
- SW: When beginning to operate a sector object, just forcibly set the angle in the ticker.
...
* Angle transition is not meant to be smooth or scaled to a target, it's just meant to get the player to the necessary angle.
* Fixes https://forum.zdoom.org/viewtopic.php?f=340&t=70191 .
2020-10-12 13:15:19 +11:00
Mitchell Richters
1109a90273
- SW: Fix issues with sector object machine guns in InitSobjMachineGun()
following changes in 6476430be6
.
...
* Needed to account for rebase of horizon re-centering from 100 to 0.
* Horizon value here is only for projectile's z and not the player's z.
* Fixes https://forum.zdoom.org/viewtopic.php?f=340&t=70199&p=1168858 .
2020-10-12 13:06:21 +11:00
Christoph Oelckers
b4a011300a
- implemented proper delta serialization for sectors and walls.
2020-10-11 21:11:38 +02:00
Christoph Oelckers
f12c6b0319
- removed wallext because its only member 'blend' is not used by anything.
...
This is a feature not worth preserving, render style + alpha should be done directly, not via indirect lookup tables.
2020-10-11 18:44:16 +02:00
Christoph Oelckers
e6bd5989c2
- removed some unused parts from Blood's map loader.
2020-10-11 18:34:58 +02:00
Christoph Oelckers
fd31da3115
- save sectors and walls as JSON
...
This is not optimized yet so saves are a bit larger than necessary.
2020-10-11 18:10:52 +02:00
Christoph Oelckers
cb8d2eb94c
- added serializers for PlayerAngle and PlayerHorizon.
2020-10-11 16:55:12 +02:00
Christoph Oelckers
1757ef2aa6
- split the game input code off gamecontrol.cpp into its own file.
2020-10-11 16:33:43 +02:00
Christoph Oelckers
8e1c71b867
Merge branch 'InputContinuation'
2020-10-11 15:24:51 +02:00
Christoph Oelckers
f3f6bad1f8
- Exhumed: Wrapped the logo retrieval code into getter functions and removed the game type macros.
2020-10-11 14:30:45 +02:00
Christoph Oelckers
df42230b45
- Exhumed: converted all #define constants to enums.
2020-10-11 14:30:45 +02:00
Christoph Oelckers
51b48ca124
- Exhumed: removed most of the unused tile constants
2020-10-11 14:30:45 +02:00
Christoph Oelckers
5bb02f7bb0
- Exhumed: replace include guards with #pragma once.
2020-10-11 14:30:44 +02:00
Christoph Oelckers
6acc9db540
- cleanup of the remaining homegrown Blood wrappers.
...
consoleSysMsg and dassert are gone now, all places now call the system implementation directly.
2020-10-11 14:30:44 +02:00
Christoph Oelckers
1579bec714
- Blood: got rid of ThrowError.
...
Use I_Error directly.
2020-10-11 14:30:44 +02:00
Christoph Oelckers
2769abcf0f
- Blood: Removed most #defines.
...
only ThrowError and dassert left...
The unused BitWriter class was also removed.
2020-10-11 14:30:43 +02:00
Christoph Oelckers
7b6964a08f
- Blood: #define replacement
2020-10-11 14:30:43 +02:00
Christoph Oelckers
7deb3ed4bd
- Duke: got rid of the last 3 remaining #defines not used for list generation, as well.
2020-10-11 14:30:43 +02:00
Christoph Oelckers
fc82b3bc8a
- Duke: replaced the game type macros with inline functions.
2020-10-11 14:30:42 +02:00
Christoph Oelckers
9cc1268839
- Duke: added missing include guard to conlabel.h.
2020-10-11 14:30:42 +02:00
Christoph Oelckers
67375cf79c
- SW: renamed 3 duplicate constants
2020-10-11 14:30:42 +02:00
Christoph Oelckers
f0a1ce4850
- SW: fix some include guards.
2020-10-11 14:30:42 +02:00
Christoph Oelckers
fc54d98100
- Exhumed: Give all savegame handlers and action sequences unique names.
2020-10-11 14:30:41 +02:00
Christoph Oelckers
c87185a337
- use distinct names for monster AI variables and functions.
...
I was just toying around with compiling all of these as a single unit and that uniform naming made it impossible.
2020-10-11 14:30:41 +02:00
Christoph Oelckers
2f4c78dd73
- use distinct variable names for QAV and SEQ management.
2020-10-11 14:30:41 +02:00
Christoph Oelckers
3b59bf759c
- Blood: there's no need to store the loadsave handlers in local variables that never get used.
2020-10-11 14:30:40 +02:00
Christoph Oelckers
47e452f452
- fixed the real issue for the sound problems and reverted the last commit.
...
It was far more serious than a botched merge.
2020-10-11 13:44:23 +02:00
Mitchell Richters
5973391a51
- SW: Tune DrawHUD2()
text positioning and image scaling.
...
Not sure how or when these came to be off. Perhaps additional chars have effected the overall font size?
2020-10-11 22:38:56 +11:00
Mitchell Richters
372f0db28a
- Exhumed: Resolve sound issues following bad merge conflict resolve from b06a847d9a
.
2020-10-11 22:01:37 +11:00
Christoph Oelckers
adaf25377c
- moved the player sprite away from the edge of the frame.
2020-10-11 07:50:41 +02:00
Christoph Oelckers
8b8c6a5e3a
- fixed episode default.
2020-10-11 07:44:51 +02:00
Christoph Oelckers
ca288d08f4
- compile all files with script exports in the main project.
...
This hopefully gets around the failure to find these on on-Windows Builds.
2020-10-11 07:40:11 +02:00
Mitchell Richters
5011b10549
- binaryangle.h/cpp: Inline the functions created in 271eb1c3fa
. No real need to have a separate file for these.
2020-10-11 15:34:18 +11:00
Christoph Oelckers
820b37721b
- moved tab completion code into 'common' as well.
2020-10-11 00:08:07 +02:00
Christoph Oelckers
242a70e610
- split the command line buffer off from c_console.cpp and reactivated the check for CONBACK.
2020-10-10 23:16:08 +02:00
Christoph Oelckers
fe2e96d3a6
Merge branch 'master' into InputContinuation
...
# Conflicts:
# source/games/duke/src/duke3d.h
2020-10-10 21:39:27 +02:00
Christoph Oelckers
dcde91b0c9
- do not wrap the simple value wrappers into a JSON object when being serialized.
...
It only adds to the processing time - they can just be written out as-is.
2020-10-10 21:36:12 +02:00
Christoph Oelckers
a39cf290e3
- Blood: fixed: The player's inventory and some other state were reset for each level, not each new game.
2020-10-10 20:20:12 +02:00
Christoph Oelckers
78d5b2aa95
- Duke: fixed: The Recon's roaming sound was poorly checked resulting in garbled output.
...
It checked for two instances globally, which made the same actor repeat its sound all over again, but if more recons were present some were silent.
Now each one is allowed to play its effect separately.
2020-10-10 19:17:23 +02:00
Christoph Oelckers
b06a847d9a
Merge branch 'menu2'
...
# Conflicts:
# source/exhumed/src/sound.cpp
2020-10-10 19:03:29 +02:00
Christoph Oelckers
e95fea1056
- fixed: Toggling palette emulation should reset the texture filter in the samplers.
2020-10-10 18:57:16 +02:00
Christoph Oelckers
16a4d49268
- added background dimming for the menu when in overlay mode.
2020-10-10 18:29:15 +02:00
Christoph Oelckers
b142f33edd
- fixed problems with stopping sector effect sounds.
...
The old check only accounted for the case of trying to play a valid follow-up sound, but not for merely stopping the old one.
Restored the original check that was here.
2020-10-10 18:11:26 +02:00
Christoph Oelckers
f9ab77f700
- create named texture copies for 'tilefromtexture' replacements.
...
We want to be able later to find them in the texture manager again.
2020-10-10 16:52:04 +02:00
Christoph Oelckers
c478d1add2
- properly uninit the menus.
2020-10-10 15:16:28 +02:00
Mitchell Richters
271eb1c3fa
- binaryangle.h/cpp: Hook up FSerializer and use within Duke for saving objects.
2020-10-11 00:10:53 +11:00
Christoph Oelckers
91e23b3ab5
- Exhumed: play the menu advance sound when starting a game
2020-10-10 13:30:23 +02:00
Christoph Oelckers
294a806793
- fixed some issues with prematurely terminated sounds.
2020-10-10 12:57:43 +02:00
Christoph Oelckers
db21d5e946
- took all script exports out of the namespaces.
...
It looks like GCC cannot deal with this - on MSVC it works fine.
2020-10-10 10:11:22 +02:00
Christoph Oelckers
16fd505f9a
- make sure that sfxinfo_t is always fully initialized by adding initializer values to all fields.
...
Let's hope this finally fixes those sound hiccups.
2020-10-10 09:47:00 +02:00
Mitchell Richters
8f68e8b4a1
- Amend 2865fef7ed
as accidentally returned horizon as Build and not Q16.16.
2020-10-10 17:52:43 +11:00
Mitchell Richters
2865fef7ed
- Duke: Restore return_to_center
in gameexec.cpp dropped in 0ab3b33a6c
and redo based on new code.
2020-10-10 16:59:00 +11:00
Mitchell Richters
6ecbb2587e
- Duke: Fix z position when on certain cameras following changes in 09a05f354c
.
2020-10-10 16:17:02 +11:00
Christoph Oelckers
2237113a77
- fixed font scaling in RR's confirmation screens.
2020-10-10 00:51:26 +02:00
Christoph Oelckers
37d86d03f5
- fixed SW's skill-dependent startup lines
2020-10-10 00:09:18 +02:00
Christoph Oelckers
03e57fa3d7
- fixed Exhumed's game startup.
2020-10-09 23:58:34 +02:00
Christoph Oelckers
d6d9100992
- set proper slider colors for all games.
2020-10-09 23:35:38 +02:00
Christoph Oelckers
b21beb4039
- made the options search work.
...
This required changing how the engine credits menu work because it created a circular dependency in its original form.
2020-10-09 22:33:02 +02:00
Mitchell Richters
9c993b9104
- d_protocol: Change horz/avel pack/unpacking from long to float.
2020-10-09 16:18:28 +11:00
Mitchell Richters
79cd5e4731
- Blood: Fix warptocoords
CCMD.
2020-10-09 12:33:47 +11:00
Mitchell Richters
c6e3b4df11
- Blood: Use backend interpolation functions for angle and rotscrnang.
2020-10-09 11:34:42 +11:00
Mitchell Richters
44e4c5ff78
- Fix joystick scaling following shift to fixedhoriz and binangle.
...
* Remove joystick scaling from `CONTROL_GetInput()`.
* Store turnspeed as constant at top of `processMovement()` and use it for joystick yaw/pitch scaling. This adds the advantage of having the out-of-box turning speed match the keyboard's turn speed and also attenuates when the player is not running.
2020-10-09 11:34:14 +11:00
Christoph Oelckers
2d8bcd06fd
- added the player display for Duke.
...
This completes the menu transition.
2020-10-09 01:09:51 +02:00
Christoph Oelckers
a10aacea3a
- added the QAV drawer page.
2020-10-09 00:50:21 +02:00
Christoph Oelckers
2f8284f10b
- added filler help and credit menus for Exhumed.
...
They should not be empty, so that they do not crash when opened from the console.
2020-10-09 00:21:06 +02:00
Christoph Oelckers
4024ebd12d
- re-added Duke 1.3's credit screens.
2020-10-09 00:11:49 +02:00
Christoph Oelckers
802d295e48
- Shadow Warrior credit screens.
2020-10-08 23:53:15 +02:00
Christoph Oelckers
02507d937d
- got the text screens working. Also reformatted RR's credits a bit for a better presentation.
2020-10-08 23:40:17 +02:00
Christoph Oelckers
19c719db4e
- image scroller is working again.
2020-10-08 22:53:12 +02:00
Christoph Oelckers
6ba06f5ed0
- ImageScroller WIP commit.
2020-10-08 22:20:41 +02:00
Christoph Oelckers
15eaf86f5a
- preparations for the image scroller menu.
2020-10-08 18:02:25 +02:00
Christoph Oelckers
8caaf4fa64
- menu transitions are working again.
2020-10-08 16:33:11 +02:00
Mitchell Richters
f35bec4a5d
- Fix interpolation issues and do other minor fixes following shift to fixedhoriz and binangle.
...
* When interpolating on the initial setup, when binangle reached an overflow point when going lower than zero, the engine was spinning the player around clockwise to the new angle (2047, for instance).
* Interpolating after casting as uint64_t with a workflow similar to the original games, the issue went away.
* Cleaned up other interpolation functions to be of a consistent workflow.
* Scale keyboard input turning down to degree speeds.
* Uplift some remaining Q16.16 code in `applylook()` to full BAM precision.
* Move static calculations of aim and look speeds for `sethorizon()` back into function since GameTicRate isn't set right before calculation is done.
* Simplify the angle target setup back to a basic value like before.
* Repair SW interpolation issues of weapon sprite drawer when rotating left/right.
* Fix SW death horizon constant values following change of horizon center to 0.
2020-10-08 21:12:21 +11:00
Mitchell Richters
9bcdeae6cd
- InputPacket: Change q16avel
to avel
, changing type from fixed_t to float.
2020-10-08 14:47:30 +11:00
Mitchell Richters
e53d58bd42
- gamecontrol: Clean up remainder of legacy angle code.
2020-10-08 14:29:50 +11:00
Mitchell Richters
d758a0ae28
- SW: Cut q16ang
/q16look_ang
/q16rotscrnang
over to PlayerAngle struct.
2020-10-08 14:23:44 +11:00
Christoph Oelckers
cc7290e313
- work on menu transitions.
2020-10-08 01:00:23 +02:00
Christoph Oelckers
56eae0b42d
- got the basics working for Exhumed's main menu.
2020-10-08 00:21:07 +02:00
Christoph Oelckers
a953404331
- SW's text menus done.
...
This also copies the Build texture animation info into the texture manager so that the 2D code can access it through existing interfaces.
2020-10-07 23:22:29 +02:00
Mitchell Richters
3bc6777cf4
- Exhumed: Cut q16ang
/q16look_ang
/q16rotscrnang
over to PlayerAngle struct.
2020-10-08 08:08:40 +11:00
Mitchell Richters
bd68f67460
- Blood: Cut q16ang
/q16look_ang
/q16rotscrnang
over to PlayerAngle struct.
2020-10-08 07:55:54 +11:00
Christoph Oelckers
6041a3355c
- removed the file location reporting for Blood errors because it embeds the full path into the executable, which is not acceptable.
2020-10-07 20:52:25 +02:00
Christoph Oelckers
789eb6d51d
- Most of Duke's menus work again.
2020-10-07 20:32:43 +02:00
Christoph Oelckers
2bb38f7d67
- get load and save game menus and related CCMDs working again.
2020-10-07 18:32:57 +02:00
Christoph Oelckers
53c3a6fc9b
- silenced some warnings.
2020-10-07 16:02:49 +02:00
Mitchell Richters
40cb64cdcf
- applylook(): Remove some forgotten debug lines.
2020-10-07 23:40:41 +11:00
Mitchell Richters
babd7b9556
- InputState: Proposed new sensitivity dividers now that mouse input is based on true pitch and true angle.
2020-10-07 23:25:36 +11:00
Mitchell Richters
fca846272e
- gamecontrol: Initial setup of PlayerAngle
struct and deployment within Duke.
...
* Struct made up of binangle class units.
* Create signed clone of binangle for use with look_ang and rotscrnang.
* Append currently outgoing function names with `2` at the end to avoid conflict.
2020-10-07 23:13:29 +11:00
Mitchell Richters
e2691d4184
- Duke: Clean up a few missed things during f39939d114
.
2020-10-07 18:34:52 +11:00