Commit Graph

5879 Commits

Author SHA1 Message Date
Mitchell Richters ee5689b07e Merge branch 'back_to_basics2' into InputStuffs 2020-09-09 21:04:42 +10:00
Christoph Oelckers d6c6561309 - that was for testing only. 2020-09-09 00:01:14 +02:00
Christoph Oelckers 9615308fb3 - Duke: fixed camera views glitching when changing their targets.
A nearly typical problem of this code. Not all relevant properties of the camera target were changed at once - there was a two frame discrepancy in which the camera pointed in some undefined direction after the change.

Fixes #15
2020-09-08 23:47:30 +02:00
Christoph Oelckers cef1f8275b - fixed backing off of monitor screens.
Although this is a blocking condition, it must not neutralize movement because it is needed to move away from the screen and end the camera view.
2020-09-08 23:09:40 +02:00
Christoph Oelckers 2fc058e487 - don't autosave just after starting a new game. 2020-09-08 23:00:31 +02:00
Mitchell Richters b72a3326d0 Merge branch 'back_to_basics2' into InputStuffs
# Conflicts:
#	source/core/d_net.cpp
2020-09-09 06:56:27 +10:00
Christoph Oelckers f15657cc6d - fixed missing widescreen sprite for shrinker/grower and bad light level for the incinerator.
Fixes #380
2020-09-08 22:50:38 +02:00
Christoph Oelckers d011a16c5b - added a menu option for WT's music switch.
Fixes #370
2020-09-08 22:37:21 +02:00
Christoph Oelckers 5490be4f71 - draw a player sprite on Exhumed's automap.
Not particularly convincing yet, I first need to find out the specific sprites of the walk animation.
2020-09-08 21:41:02 +02:00
Christoph Oelckers 4ce6f42932 - new fullscreen HUD for Exhumed. Except for the ammo icons this should be complete.
Fixes #374
2020-09-08 21:00:47 +02:00
Christoph Oelckers 5d7a51df9d - use a local bit array in Blood's precacher. 2020-09-08 19:18:11 +02:00
Christoph Oelckers 298949ceb8 - more compat.h cleanup
Its elimination is getting closer. :)
2020-09-08 18:48:18 +02:00
Christoph Oelckers ec1c42b04a - got rid of common.h
All still relevant content was moved to places closer to its use.
2020-09-08 18:39:47 +02:00
Christoph Oelckers 8d2d36457f - consolidated the map name display on startup
Fixes #275
2020-09-08 18:28:41 +02:00
Christoph Oelckers 378846c7bd - Exhumed: Replaced all checks for multiplayer levels with a single bool
This should make refactoring easier later.
2020-09-08 18:07:52 +02:00
Mitchell Richters 48630914b1 - SW: Remove boat code from new input code for cleanliness. 2020-09-09 00:34:51 +10:00
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
Christoph Oelckers 0263d8eed0 - Exhumed: Don't waste health powerup if fully healed.
Fixes #309
2020-09-05 12:29:09 +02:00
Christoph Oelckers 04dd939d65 - Exhumed: don't clear all button state when dead.
This makes it impossible to respawn.
Fixes #338
2020-09-05 12:14:30 +02:00
Christoph Oelckers 7c5635671e - Exhumed: When Ramses is talking, hide the status bar. 2020-09-05 12:01:47 +02:00
Christoph Oelckers b23424485a - re-implemented VP8 support.
Since the decoder cannot handle sound, there's two options:

1: Use the same sounds as the video it replaces.
2: If an identifiable streamable sound with the same base name is found, it will be played along with the video.
Fixes #133
2020-09-05 11:58:19 +02:00
Christoph Oelckers 80cea90854 - implemented zoom by mouse wheel for the automap.
Fixes #121
2020-09-05 09:10:24 +02:00
Christoph Oelckers adbedd30c4 - consolidated the 4 functions for handling the automap zoom. 2020-09-05 00:58:25 +02:00
Christoph Oelckers 6e6d74f058 - update the sector for the interpolated camera position in Exhumed.
Let's hope that fixes #272..
2020-09-05 00:21:10 +02:00
Christoph Oelckers b54fd2f054 - fixed: Entering the menu from SW's intro may not stop the sound.
This is a singular special case, everything else must do it.
Fixes #335
2020-09-05 00:07:06 +02:00
Christoph Oelckers cdd2329b63 - fixed levelwarp for games with linear level counting.
Fixes #337
2020-09-05 00:00:55 +02:00
Christoph Oelckers d2de11cd99 - hide the message display on intermission screens.
Fixes #336
2020-09-04 23:56:04 +02:00
Christoph Oelckers f72b283519 - fixed alignment of Exhumed's menu captions. 2020-09-04 23:31:41 +02:00
Christoph Oelckers 5a90f35aed - fixed order of Exhumed cinema texts and their color.
Fixes #286
2020-09-04 23:16:21 +02:00
Christoph Oelckers b7db8b988d - SW: Ignore follow mode setting when not on the automap.
Fixes #311.
2020-09-04 22:54:11 +02:00
Christoph Oelckers 2e8b808683 - added a C_ClearMessages function for the console and fixed game restart after death.
Fixes #322
2020-09-04 22:23:38 +02:00
Christoph Oelckers 1eb99f69c2 - transitioned Exhumed to level change events. 2020-09-04 21:59:38 +02:00
Christoph Oelckers 8114309e89 - compat.h cleanup.
* use static_assert directly. Raze is C++17, no need for that macro shit.
* removed CONSTEXPR - I seriously fail to see the use here, many of the functions marked as CONSTEXPR cannot possibly even be constant evaluated so the declaration makes no sense. Removed most of these and replaced the valid ones with the official constexpr keyword.
* got rid of EDUKE_PREDICT_FALSE - this makes zero sense in script parsing code, at best it will save a few microseconds. Clean code wins.
* replaced Blrintf with xs_CRoundToInt. Shitty name is shitty name, even if derived from POSIX.
* replaced Bstr*casecmp with str*icmp. As these get defined in the CMake project based on actual compiler checks they are preferable here.
* removed lots of other stuff that is not needed with a minimum compiler requirement of C++17.
2020-09-04 21:24:48 +02:00
Christoph Oelckers 5bc80d2468 - macro cleanup 2020-09-04 21:17:24 +02:00
Christoph Oelckers fd2ce0321e - transitioned SW to level change event system 2020-09-04 21:15:15 +02:00
Christoph Oelckers b8d2d626ca - cleaned out some leftover network variables 2020-09-04 20:48:29 +02:00
Christoph Oelckers 3eef0db6f6 - check if a map file exists before starting it. 2020-09-04 20:47:40 +02:00
Christoph Oelckers 97f395bd72 - transitioned Blood to the new level change messaging system 2020-09-04 20:46:44 +02:00
Christoph Oelckers 77f96a1c75 - fixing some issues. Level transitions in Duke are working now. 2020-09-04 19:43:36 +02:00
Christoph Oelckers e5e8c02f1d - WIP level transition refactored to a game independent event system. 2020-09-04 19:43:35 +02:00
Christoph Oelckers 1cf0ca3f75 - save the global view variables in a savegame.
I have no idea why but these did not get restored to something useful anymore.
2020-09-04 01:17:06 +02:00
Christoph Oelckers b253ae123f - run screen jobs with uncapped frame rate.
Fixes #325
2020-09-03 18:36:37 +02:00
Christoph Oelckers 8f0a885f63 - route 'give' through the network for all games. 2020-09-03 17:39:41 +02:00
Christoph Oelckers fb334e7f1a - transitioned Blood's give command and changed SW's not to call the cheat handler. 2020-09-03 16:31:31 +02:00
Christoph Oelckers 3e5e956b72 - run most cheats through the network.
The remaining excpetions are the "give" CCMD and any level change action.
Unfortunately the implementation of most cheats is not multiplayer safe so right now it'd only be useful for demo recording (assuming that worked to begin with... ;))
2020-09-03 01:32:51 +02:00
Christoph Oelckers a0874a26a7 - noclip cheat and splitting of Exhumed's cheat code into its own file. 2020-09-03 00:41:32 +02:00
Christoph Oelckers 66bf8113b8 - implemented the 'god' cheat as a network command.
This was mainly chosen as something simple to get the basics set up.
2020-09-03 00:29:17 +02:00
Christoph Oelckers 66d8eae8e1 - implemented the framework for freeform network commands.
Unlike ZDoom this uses callbacks for implementation to keep game specific parts encapsulated to the game code.
2020-09-02 23:27:02 +02:00
Christoph Oelckers b3d89a6a0b - removed the old main loop. 2020-09-02 23:03:48 +02:00
Christoph Oelckers b49e050baf - transitioned Exhumed to the new main loop.
Fixed #301
2020-09-02 22:55:57 +02:00
Christoph Oelckers b1a3080671 - migrated Exhumed to a local ticker as well.
gameclock is history - all games now run on a timer that increments once per tick under their own control and not independently of the ticker routine.
2020-09-02 21:42:12 +02:00