Christoph Oelckers
d1f1bf2ae1
- fixed icorrect validation of give ccmd
...
Fixes #379
2020-09-08 16:18:17 +02:00
Mitchell Richters
1e3199413c
- SW: Rename all Tank-related function code to Vehicle.
2020-09-08 21:54:48 +10:00
Mitchell Richters
8625ac573d
- SW: Comment out all boat code, it's actually not used within the game at all and was very confusing...
2020-09-08 21:40:20 +10:00
Mitchell Richters
cb7e797842
- SW: Partially revert changes from df0331a4c3
.
2020-09-08 20:48:01 +10:00
Mitchell Richters
73d0772e87
- SW: Call DoPlayerMoveTurret()
in processMovement()
in lieu of DoPlayerTurnTurret()
and don't interpolate sector object's sprite while !cl_syncinput
.
...
* Makes operating the tank silky smooth while unsynchronised.
2020-09-08 19:42:22 +10:00
Mitchell Richters
c00217163b
- SW: Fix turret sound with unsynchronised input.
2020-09-08 19:38:32 +10:00
Mitchell Richters
cda79496ce
- SW: Fix DoPlayerDeathHoriz()
with unsynchronised input.
2020-09-08 18:12:45 +10:00
Christoph Oelckers
29d990991b
- dug out Dynamo's BigFont for Exhumed from the forum.
...
This is not the font from GDX, it was a separate creation. The only character in here from GDX is the question mark because it was missing.
2020-09-08 01:12:23 +02:00
Christoph Oelckers
bf761af9aa
- added missing terminator to Base64 encoder.
2020-09-07 23:32:58 +02:00
Christoph Oelckers
1b46a6fd9a
- removed bogus assert in buffer code.
...
An empty buffer is a perfectly valid construct that may not be asserted upon. The 3D scene does not use indices so the buffer receives no data and remains empty.
This made the softpoly renderer fail in debug builds. Performance issues aside it works fine now.
Fixes #314
2020-09-07 23:17:06 +02:00
Christoph Oelckers
cd5443484a
- fixed the cutscenes in Exhumed by cleaning up the definition data.
...
Fixes #351
2020-09-07 23:03:18 +02:00
Mitchell Richters
083ed3e9b7
- SW: Handle angAdjust
and horizAdjust
directly in processMovement()
instead of via DoPlayerTurn()
/DoPlayerHorizon()
.
...
* Eliminates issues with when to call when player is dead, etc. Handles cases like climbing a ladder which doesn't trigger `DoPlayerTurn()`.
2020-09-08 06:50:38 +10:00
Mitchell Richters
92443806af
Merge branch 'back_to_basics2' into InputStuffs
2020-09-08 06:26:32 +10:00
Mitchell Richters
f14405f9cc
SW: getinput
-> processMovement()
.
2020-09-08 06:24:26 +10:00
Mitchell Richters
5145bf907a
- SW: Hook up all vehicle turn code in processMovement()
except for DoPlayerTurnTankRect()
, which still needs considerations.
...
* Issue in `DoPlayerTurnTurret()` with `PlaySOsound()` calls occurring too frequently, still requires investigation on how to best handle this.
2020-09-08 06:22:47 +10:00
Christoph Oelckers
04ec21d6b6
- fixed key alignment on Exhumed's status bar.
...
Fixes #281
2020-09-07 22:19:37 +02:00
Christoph Oelckers
a2e3bb5725
- fixed WT's incinerator and a few other minor things I found while comparing Raze's WT support code with BuildGDX's.
...
Fixes #357
2020-09-07 21:38:17 +02:00
Christoph Oelckers
703b142bad
- added a CVAR to disable WT's ogg music and a fallback for when it cannot be found.
...
Fixes #354
2020-09-07 21:26:07 +02:00
Christoph Oelckers
775c4a3b51
- fixed explosions in World Tour.
...
A classic result of trying to add new stuff to Duke's spaghetti code, shit like this would not happen if this code wasn't this poorly structured.
Fixes #360 and most of #357
2020-09-07 21:00:27 +02:00
Christoph Oelckers
e4fa695b57
- fixed the movement factor for automap panning.
...
Fixes #363
2020-09-07 20:39:07 +02:00
Christoph Oelckers
de7da0d4d7
- fixed: The summary screen in Duke and RR was blocking without explicit user input.
...
It must check for the actual sound that was played, because at least in Duke the looping music is still playing.
Fixes #367
2020-09-07 20:09:53 +02:00
Christoph Oelckers
9bb99e5c05
- fixed 361 - togglerotate CCMD still had some bugs.
2020-09-07 19:56:28 +02:00
Christoph Oelckers
fc435565af
- always use the narrow status bar for overlay mode.
2020-09-07 19:43:46 +02:00
Mitchell Richters
0619281a34
- SW: Remove unused centering
bool from PLAYERp
struct.
2020-09-07 22:48:25 +10:00
Mitchell Richters
df0331a4c3
- SW: Promote all vehicle angle code to proper Q16.16.
...
* Input still rough with `cl_syncinput 0` for vehicles.
2020-09-07 22:36:11 +10:00
Mitchell Richters
e1a5e37126
- SW: Handle DoPlayerTurn()
/DoPlayerHorizon()
better while dead.
2020-09-07 21:50:43 +10:00
Mitchell Richters
681a8ebec2
- SW: Hook up horizAdjust
and adjust all ticrate amendments of q16horiz
via playerAddHoriz()
/playerSetHoriz()
.
2020-09-07 21:47:15 +10:00
Mitchell Richters
2e2ca03812
- SW: Promote recoil_horizoff
to Q16.16 to avoid down-scaling only to upscale.
2020-09-07 21:34:13 +10:00
Mitchell Richters
e36c9fc78c
- SW: Hook up angAdjust
and adjust all ticrate amendments of q16ang
via playerAddAngle()
/playerSetAngle()
.
...
* Promoted some uses of `getangle()` upscaled to Q16.16 with `gethiq16angle()` for higher precision.
2020-09-07 21:30:06 +10:00
Mitchell Richters
1cc1c21029
- SW: Add resetinputhelpers()
and hook up within game.
2020-09-07 21:15:53 +10:00
Mitchell Richters
77816bf3d3
- SW: Promote adjustment of helpers to double since some values will be coming in with higher precision.
2020-09-07 21:03:30 +10:00
Mitchell Richters
584ec935ed
- SW: Add Duke's input helpers and adjust to suit SW.
...
* These are temporary until a backend solution is available after all games have had initial uplift.
2020-09-07 20:35:35 +10:00
Mitchell Richters
40a00be202
- SW: Remove inputScale
const from processMovement()
. Isn't needed anymore since input scaling in DoPlayerTurn()
has been removed.
2020-09-07 20:25:26 +10:00
Mitchell Richters
3667116274
- SW: Uplift of DoPlayerHorizon()
and PlayerAutoLook()
.
...
* Set `PF2_INPUT_CAN_AIM` explicitly where `DoPlayerHorizon()` would have been done within the original game.
* Replace original centering code and route `SB_CENTERVIEW` through the `SB_LOOK_UP`/`SB_LOOK_DOWN` code.
* With this commit, first person input is now nice again. Vehicle code still to be looked at.
2020-09-07 20:20:41 +10:00
Mitchell Richters
e84c8379d9
- SW: Uplift of DoPlayerTurn()
.
...
* Set `PF2_INPUT_CAN_TURN` explicitly where `DoPlayerTurn()` would have been done within the original game.
* Uplift the turn 180 code to full Q16.16.
* Eliminate stupid input scaling so input matches that provided by the input device.
* Ticrate angle adjustments outside of the player's control still to be uplifted.
2020-09-07 19:23:48 +10:00
Christoph Oelckers
bd183ad682
- fixed World Tour weapon display and property parsing, resulting in incorrect ammo count for the flamethrower.
...
Fixes #356
2020-09-07 00:45:11 +02:00
Mitchell Richters
6e6373deda
- SW: Remove camq16*
variables from game and backend code that supported them.
...
* `cl_syncinput 0` is very raw at the moment.
2020-09-07 08:40:14 +10:00
Mitchell Richters
d1d40c6982
- SW: Move SW's input scaler into processMovement()
. Doesn't need to be available to any other function.
2020-09-07 08:07:53 +10:00
Mitchell Richters
6c091a116f
- SW: Fix issues from fa9fa88fce
while merging back_to_basics2
into working branch.
2020-09-07 07:56:42 +10:00
Christoph Oelckers
0c60b28ea1
- fixed positioning of World Tour status bar
...
Fixes #355 .
2020-09-06 23:54:40 +02:00
Mitchell Richters
fa9fa88fce
Merge branch 'back_to_basics2' into InputStuffs
...
# Conflicts:
# source/core/gamestruct.h
# source/games/duke/src/duke3d.h
# source/sw/src/input.cpp
# source/sw/src/player.cpp
2020-09-07 07:51:37 +10:00
Christoph Oelckers
57db150ed3
- SW: Fix player sprite on the automap.
...
Now where did that wrong number come from? I have no idea.
2020-09-06 23:30:19 +02:00
Christoph Oelckers
cbbbe2a09b
- Duke+RR: Don't quit the level summary screen through timeout when a sound is still playing.
...
Fixes #359
2020-09-06 23:23:17 +02:00
Christoph Oelckers
38cd38f0eb
Merge branch 'automap' into back_to_basics2
2020-09-06 23:13:36 +02:00
Christoph Oelckers
e63e134195
- fixed automap follow mode and added some menu entries for the new options and key bindings.
2020-09-06 23:12:47 +02:00
Christoph Oelckers
1060d74e08
- SW's automap sprite drawer.
2020-09-06 21:50:02 +02:00
Christoph Oelckers
2d547a4ef1
- re-added the sprite drawer for Duke's automap.
2020-09-06 21:31:05 +02:00
Mitchell Richters
cc3551dcaa
- SW: Ensure player's fvel/svel is calculated using q16ang
, and not camq16ang
.
...
Fixes #328 , again.
2020-09-07 05:21:00 +10:00
Mitchell Richters
613c32e6a2
- SW: Ensure player's fvel/svel is calculated using q16ang
, and not camq16ang
.
...
Fixes #328 , again.
2020-09-07 05:19:49 +10:00
Christoph Oelckers
9d39f770d4
- reimplemented player sprite display on Blood's automap.
2020-09-06 21:15:59 +02:00
Christoph Oelckers
18b39fd952
- first stage of generic automap code.
...
Lines and textures get rendered, not all colors are correct - sprites yet to do...
2020-09-06 20:49:43 +02:00
Christoph Oelckers
2395749192
- restored the automap texture drawer in the backend.
...
While ultimately this needs to be tossed into the deepest bowels of hell for being one gargantuan piece of bad code, it is still needed and does not really work when placed in a separate source file, due to its endless list of global dependencies.
2020-09-06 17:35:08 +02:00
Mitchell Richters
c183143ec6
- SW: Clear out the local input buffer while paused like Duke does.
2020-09-06 21:57:33 +10:00
Mitchell Richters
07d4c78e1f
- SW: Manually remove call to MoveScrollMode2D()
in anticipation of branch automap
being merged.
2020-09-06 21:55:37 +10:00
Mitchell Richters
46a12cf58a
- SW: Clean up gi->GetInput()
by removing some unneeded local variables.
2020-09-06 21:47:00 +10:00
Mitchell Richters
dfc3a13428
- SW: Finalise cleanup from remaining code in getinput()
to processWeapopn()
.
2020-09-06 21:46:26 +10:00
Christoph Oelckers
e8452a79e8
- implemented the automap serializer.
...
Also optimized the base64 encoder to avoid creating endless memory copies, thanks to using std::string which is a really poor container for this kind of stuff when workig with larger blocks of data.
2020-09-06 13:39:57 +02:00
Mitchell Richters
e94bd9da04
- SW: Replace use of scaleAdjustmentToInterval()
in lieu of backend solution from 290e615807
.
2020-09-06 21:30:47 +10:00
Mitchell Richters
256e23673d
- SW: Clean up all the game's scaling stuff in processMovement()
.
2020-09-06 21:21:12 +10:00
Mitchell Richters
348be65399
- SW: Commence re-factoring getinput()
into processMovement()
, starting with top-most code.
2020-09-06 21:03:27 +10:00
Mitchell Richters
dd4251da09
- SW: Split getinput()
's input bits code into its own static function.
2020-09-06 20:52:58 +10:00
Mitchell Richters
ce160f7ac1
- SW: Split getinput()
's weapon code into its own static function.
2020-09-06 20:49:21 +10:00
Christoph Oelckers
809f8b5d4b
- hooked up the new automap framework.
2020-09-06 12:44:58 +02:00
Mitchell Richters
0ef9da6a0c
- SW: Make game's local input buffer static within input.cpp.
2020-09-06 20:19:29 +10:00
Mitchell Richters
290e615807
- Move Duke's input scaling for unsynchronised input to backend as InputScale()
.
2020-09-06 20:19:26 +10:00
Mitchell Richters
722537a1f0
- InputState: Make CONTROL_GetInput()
return an object instead of accepting a pointer and provide to games as a function parameter.
...
* Provide read-only/const results from `CONTROL_GetInput()` so games can't change received input.
* Change non-descript `info` to `hidInput` (Human Interface Device).
* Remove a few unused prototypes.
2020-09-06 20:18:26 +10:00
Christoph Oelckers
a6c92aec64
- removed all automap code from SW and the flat drawer from the backend.
...
This should have been the last parts of automap code.
Now on to rebuild this thing in a cleaner fashion...
2020-09-06 12:14:08 +02:00
Christoph Oelckers
2c183bf504
Merge remote-tracking branch 'remotes/Github_private/back_to_basics2' into automap
2020-09-06 11:47:35 +02:00
Mitchell Richters
677efb20ba
- SW: Don't check SB_RUN
as player action in ChopsCheck()
.
...
Fixes #312 .
2020-09-06 19:18:14 +10:00
Mitchell Richters
d73ea118df
- SW: Get cl_syncinput 0
(default) working properly.
...
* Joystick input probably not appropriately scaled. Refactor is coming but lets just get the game workable for now.
* Fixes #328 .
2020-09-06 19:17:58 +10:00
Christoph Oelckers
d61d279168
- excised Blood's entire automap code.
2020-09-06 10:59:45 +02:00
Christoph Oelckers
8f6f368445
- cleaned out the remaining parts of automap handling in Duke and Exhumed.
2020-09-06 10:42:39 +02:00
Christoph Oelckers
df6d480519
- took automap code out of Exhumed's game module and added handling for cleaning movement in automap follow mode.
...
I cannot say I was surprised when discovering that this game had no handling for that at all...
2020-09-06 10:23:38 +02:00
Christoph Oelckers
d947cc4765
- also took out the zoom variable so that no automap data remains in the playsim code.
2020-09-06 10:22:05 +02:00
Christoph Oelckers
c1a995822d
- took all automap related code out of Duke's game module.
2020-09-06 10:08:47 +02:00
Christoph Oelckers
07ea2ef350
- fixed Ramses head animation.
...
This now uses the DoSpiritHead variant from PowerslaveGDX because I was unable to determine where in that cryptic code something went wrong. The GDX version looks a lot more cleaned up by comparison.
Fixes #332
2020-09-06 09:48:26 +02:00
Christoph Oelckers
0b399fb384
- Exhumed: fixed time values for Ramses text scroll.
2020-09-06 09:10:45 +02:00
Mitchell Richters
72771aeb40
- Fix broken krand()
follow changes in 1354d52c05
due to truncation occuring from FixedToInt()
inline function.
...
Very very sorry... :'(
Fixes #321 .
2020-09-06 16:37:04 +10:00
Christoph Oelckers
d6b80bda52
- force the renderer to use radial fog.
...
Plane-distance based fog does not work with Polymost's projection settings - the distance value appears to be completely off and useless.
Fixes #243
2020-09-06 00:19:38 +02:00
Christoph Oelckers
dc0968bf61
- fixed fog on RRRA E2L1
...
Fixes #183
2020-09-05 23:20:48 +02:00
Christoph Oelckers
ac0eb92367
- fixed timer screwups in Exhumed.
...
The leveltime ticker only runs at 30 fps so all places where it replaces totalclock need to multiply it by 4.
2020-09-05 22:41:02 +02:00
Christoph Oelckers
7dbae8b8f4
- enabled autosaves.
...
Fixes #55
This only creates them but does not auto-resume from them.
2020-09-05 22:39:27 +02:00
Christoph Oelckers
45882a02cc
- fix WT level name display.
2020-09-05 22:14:00 +02:00
Christoph Oelckers
8b2302ec67
- backslash eradication in sound definitions.
...
World Tour does this badly, even using double backslashes.
2020-09-05 22:01:19 +02:00
Christoph Oelckers
d5b7935ca1
- fixed the CON parser to treat tabs as whitespace.
...
Fixes #287 .
World Tour starts now but still has issues.
2020-09-05 21:53:48 +02:00
Christoph Oelckers
36b9ac54b7
- added a parser for World Tour's language files.
2020-09-05 21:33:04 +02:00
Christoph Oelckers
8dfb7967e2
- use a more precise timer for Exhumed's text scroller.
2020-09-05 20:31:45 +02:00
Christoph Oelckers
a7b198d7ee
- Stop music when ending a level, or when going back to the menu in Blood. Also play the sound on Blood's summary screen as an UI sound.
...
Fixes #349
2020-09-05 19:20:25 +02:00
Christoph Oelckers
b4dd006a40
- debug output for investigating Exhumed text crawl.
2020-09-05 18:41:40 +02:00
Christoph Oelckers
f36ac1dc90
- fixed issues with console on top of intermissions not appearing.
2020-09-05 18:41:18 +02:00
Christoph Oelckers
443ddf670b
- let the ANM player wait until the sound has finished if it has reached the last frame before the sound ends.
...
In Shadow Warrior there's a few where the sound plays a bit longer than the video.
Fixes #341
2020-09-05 18:14:50 +02:00
Christoph Oelckers
607d30ef8e
- fixed broken end of level timer in Duke.
...
Fixes #342
2020-09-05 17:56:35 +02:00
Christoph Oelckers
55c7c56709
- fixed bad sound check in Duke's E3 ending.
2020-09-05 17:56:09 +02:00
Christoph Oelckers
27acd430aa
- reset the screen job clock when advancing.
...
Fixes #347
2020-09-05 17:37:37 +02:00
Christoph Oelckers
fa50cde93f
- fixed skill selection in Duke.
...
Screw these old shadowing menu variables. Well, the one for skill is gone now.
Fixes #344
2020-09-05 16:31:01 +02:00
Christoph Oelckers
9af093b818
- fixed screen job timer when paused
...
Fixes #343
2020-09-05 16:21:53 +02:00
Christoph Oelckers
e0b4dde3cd
- fixed: A screen job that fades out was not rendering its final (black) frame which could result in visual glitches.
...
Fixes #320
2020-09-05 15:59:32 +02:00
Christoph Oelckers
c1786001b2
- route all game state changes through game actions.
...
This is to avoid problems with the main loop not calling Ticker and Render in sync.
2020-09-05 15:43:34 +02:00
Christoph Oelckers
7a5dca7d5d
- renamed startgame CCMD to levelstart.
2020-09-05 14:02:07 +02:00
Christoph Oelckers
32ec9ff369
- consolidated crosshair drawing and added ZDoom's crosshair code.
...
For Exhumed this is the default, for the other games it is an option.
Fixes #269 .
2020-09-05 13:57:26 +02:00