Commit Graph

12403 Commits

Author SHA1 Message Date
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