Commit graph

56 commits

Author SHA1 Message Date
Christoph Oelckers
a8e7d1ef74 - the rest for SW. 2020-10-15 20:22:40 +02:00
Christoph Oelckers
6eb6938bbe - another batch in SW. 2020-10-15 20:22:40 +02:00
Christoph Oelckers
727e2ceb29 - iterator variable cleanup. 2020-10-15 20:22:39 +02:00
Christoph Oelckers
679c394b29 - the second third of SW. 2020-10-15 20:22:39 +02:00
Christoph Oelckers
a506b45369 - one third of SW's iterators. 2020-10-15 20:22:39 +02:00
Mitchell Richters
d758a0ae28 - SW: Cut q16ang/q16look_ang/q16rotscrnang over to PlayerAngle struct. 2020-10-08 14:23:44 +11:00
Christoph Oelckers
2ffb6a3580 - finally got rid of SWBOOL. 2020-09-09 20:32:24 +02:00
Christoph Oelckers
e044582aef - fixed all issues with SWBOOL as pointed out by a type-safe wrapper class. 2020-09-09 20:28:05 +02:00
Christoph Oelckers
1a647e8104 - globally search and replaced TRUE and FALSE in SW.
There were a handful of warnings afterward which were also addressed.
The SWBOOL type has not been handled yet.
2020-09-09 19:52:52 +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
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
fd2ce0321e - transitioned SW to level change event system 2020-09-04 21:15:15 +02:00
Mitchell Richters
1354d52c05 - Major cleanup of Q16.16 utilisation within games and engine.
* Remove fix16.h/cpp and utilise library from m_fixed.h.
* Extend m_fixed.h with two inline functions for int to/from float operations.
* Replace fix16_floor operations with those from xs_Float.h
* Replace multiple Q16.16 conversions from 0 to just be 0.
* Replaced all found in-game bit-shifts and multiplications/divisions with inline functions from m_fixed.h
* Replaced many casts of FRACUNIT as double in SW's panel.cpp as it is converted to double by way of type promotion.
* Fixed missed precision fixes in SW's panel.cpp where some types weren't declared correctly.
* Replaced 100+ `Cos()/Sin() >> 16` operations for Blood with inline functions `CosScale16()/SinScale16()`.
2020-09-01 23:00:47 +10:00
Christoph Oelckers
b9e0f493b2 - transitioned the 5 primary action keys: Open, Jump, Crouch and Fire/AltFire. 2020-08-28 23:25:08 +02:00
Christoph Oelckers
25e8636a60 - eliminated a few smaller headers. 2020-08-16 23:21:24 +02:00
Christoph Oelckers
ab7774c6d7 - thinning out some garbage. 2020-08-16 16:57:42 +02:00
Christoph Oelckers
532b11467f - handle all level access and indexing through the mapinfo data.
No more level numbers will be stored in the game code.
2020-08-16 14:39:18 +02:00
Christoph Oelckers
bb6972abb4 - SW: get rid of redundant common_game.h 2020-08-12 23:43:21 +02:00
Christoph Oelckers
9060abbafd - 8 more SW headers gone. 2020-08-06 00:18:45 +02:00
Christoph Oelckers
72806e27eb - cleanup work on SW
* consolidating smaller headers to reduce number of files
* remap all unmapped keyboard checks to corresponding buttons
2020-08-05 22:36:38 +02:00
NY00123
37c3f1cc46 SW: Add the macro SO_EMPTY and use it instead of
separate checks of the form sop->xmid == INT32_MAX
2020-05-22 23:41:09 +02:00
Mitchell Richters
a4fdabd860 SW: Use Q16.16 for angle. 2020-05-20 14:43:03 +02:00
Mitchell Richters
83936bf5eb Revert "SW: Improve main game loop."
This reverts commit e878c5bab8.

Revert "SW: Use Q16.16 for horiz."

This reverts commit f07a0ae01e.

Revert "SW: Use Q16.16 for angle."

This reverts commit 1ecc74c2ec.

Revert "SW: Minor repairs for Q16.16 implementation."

This reverts commit d78d046bad.

Revert "SW: Process input at frame rate."

This reverts commit c162014dab.

Revert "SW: Amendments to accommodate changes in master."

This reverts commit eaa51138ad.

Revert "SW: Fix incorrectly declared function input type."

This reverts commit 1cdd5b08d8.

Revert "SW: Amend scaleAdjustmentToInterval() with correct value for SW."

This reverts commit d4dd737cd5.

Revert "SW: Refinements to new input code."

This reverts commit 5ebc65a1fb.

Revert "SW: Adjust look and snap up/down keys and slightly tune PLAYER_TURN_AMOUNT."

This reverts commit 2852536dbf.

Revert "SW: Get PLAYER_TURN_SCALE to be just right."

This reverts commit 4630c8a0b7.

Revert "SW: Make map follow mode work better."

This reverts commit 8e94c48eff.

Revert "SW: Remove line accidentally left from 'MoveScrollMode2D()'."

This reverts commit 5db8047b41.

Revert "Fix multiplayer desync after the change to q16 angle and horiz."

This reverts commit 3bc46078b8.

Revert "SW: Revert commented out horiz->q16horiz renames in DSPRINTF strings"

This reverts commit 537313f620.

Revert "sw/src/draw.cpp:drawscreen: We can set the pp->si* fields just once,"

This reverts commit d2e9595980.

Revert "sw/src/game.cpp:LoadLevel: Rename q16ang -> ang"

This reverts commit a178961a3e.

Revert "SW: Minor tweaks."

This reverts commit 377ba68344.

Revert "SW: Further refine turning and optimise horizon adjustment."

This reverts commit 039022d9ac.

Revert "SW: Don't process input at frame rate if ScrollMode2D is true."

This reverts commit 1aa1e62c4d.

Revert "SW: Use a bit more Q16.16 in places."

This reverts commit 40ca656f38.

Revert "SW: Use the old interpolation path in drawscreen if player is dead"

This reverts commit 2d73466425.

Revert "SW: Smooth out 180 degree turn landing and replace some fix16_min/max with fix16_clamp."

This reverts commit 0996e87f79.

Revert "Change Next/Previous Weapon button handling for Shadow Warrior."

This reverts commit f6b8ca6a22.

Revert "SW: Make "Center_View" key return smoothly."

This reverts commit 23c401fbc2.

Revert "SW: Use the old interpolation path in drawscreen if player is dead"

This reverts commit 43ec16eb55.

Revert "Interpolation fixes for SW:"

This reverts commit ac8a7ecfbd.

Revert "SW: Reset the number of interpolations on level load"

This reverts commit 04bf8499e7.

Revert "Another change modifying saved game format in SW:"

This reverts commit e80888523e.

Revert "SW: Interpolate sector objects in non-demo, single player games."

This reverts commit 996ab77cf4.

Revert "- fixed merge errors in SW."

This reverts commit b8cfa94568.

Revert "- fix interpolation stutters when opening console for SW."

This reverts commit 99fdbfb6cb.

Revert "- reset buttonMap button states after returning from pause for SW (stops keys acting stuck down if down prior to pausing)."

This reverts commit 693b6955da.

Revert "SW: fix stupid input scaling bug"

This reverts commit 1c79e6e17c.

Revert "SW: Make vehicle input better."

This reverts commit 670a53c402.

Revert "SW: Change fix16_from_float() to fix16_from_int() that was changed in 4630c8a0b7 but should have been reverted in 377ba68344e34495638c6fa7685ff78c9a0ed6f8."

This reverts commit 423c9da071.

Revert "SW: Remove ScrollMode2D extern boolean and move into PLAYERp struct."

This reverts commit 31eb55c1fa.
2020-05-20 14:43:03 +02:00
Mitchell Richters
1ecc74c2ec SW: Use Q16.16 for angle. 2020-03-30 09:52:14 +02:00
Christoph Oelckers
41545b644a - cleaned out most of the software renderer's static global variables. 2020-03-29 16:59:49 +02:00
ny00123
cf093e9ea6 SW: Comment out function parameters accessed only in commented out code
git-svn-id: https://svn.eduke32.com/eduke32@8697 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-07 19:48:28 +01:00
ny00123
3e8dc4e509 SW: Remove a bunch of unused function parameters
git-svn-id: https://svn.eduke32.com/eduke32@8694 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/sw/src/brooms.cpp
#	source/sw/src/draw.cpp
#	source/sw/src/game.cpp
#	source/sw/src/inv.cpp
#	source/sw/src/save.cpp
#	source/sw/src/spike.cpp
#	source/sw/src/text.cpp
#	source/sw/src/weapon.cpp
2020-03-07 19:45:38 +01:00
ny00123
ed6e9df07c SW: Handle cases in which the result of an expression
with (possible) side-effects is written to an unused var.

git-svn-id: https://svn.eduke32.com/eduke32@8688 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/sw/src/console.cpp
#	source/sw/src/jnstub.cpp
#	source/sw/src/save.cpp
#	source/sw/src/sounds.cpp
#	source/sw/src/swconfig.cpp
2020-03-07 19:30:18 +01:00
ny00123
d55871927a SW: Comment out unused vars, which would become
used if previously commented out code was uncommented
(including a few instances of uninitialized var reads).

git-svn-id: https://svn.eduke32.com/eduke32@8686 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/sw/src/brooms.cpp
#	source/sw/src/cheats.cpp
#	source/sw/src/draw.cpp
#	source/sw/src/game.cpp
#	source/sw/src/jnstub.cpp
#	source/sw/src/menus.cpp
#	source/sw/src/rts.cpp
#	source/sw/src/sector.cpp
#	source/sw/src/setup.cpp
#	source/sw/src/sounds.cpp
#	source/sw/src/weapon.cpp
2020-03-07 19:30:17 +01:00
ny00123
896de8aa1c SW: Remove a ton of unused vars
git-svn-id: https://svn.eduke32.com/eduke32@8685 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/sw/src/anim.cpp
#	source/sw/src/border.cpp
#	source/sw/src/brooms.cpp
#	source/sw/src/config.cpp
#	source/sw/src/console.cpp
#	source/sw/src/coolie.cpp
#	source/sw/src/draw.cpp
#	source/sw/src/game.cpp
#	source/sw/src/hornet.cpp
#	source/sw/src/jbhlp.cpp
#	source/sw/src/jnstub.cpp
#	source/sw/src/jsector.cpp
#	source/sw/src/menus.cpp
#	source/sw/src/miscactr.cpp
#	source/sw/src/network.cpp
#	source/sw/src/ninja.cpp
#	source/sw/src/player.cpp
#	source/sw/src/save.cpp
#	source/sw/src/serp.cpp
#	source/sw/src/setup.cpp
#	source/sw/src/sounds.cpp
#	source/sw/src/sprite.cpp
#	source/sw/src/swconfig.cpp
#	source/sw/src/weapon.cpp
2020-03-07 19:30:17 +01:00
Christoph Oelckers
6958e0326d - Shadow Warrior fixes
* added missing entries to saveables.
* added several null pointer checks to places where the game crashed.
2020-01-22 22:49:51 +01:00
Christoph Oelckers
134122335b - first attempt to compile on a Mac
This could have gone better, there's far too many warnings here
2020-01-06 02:41:47 +01:00
hendricks266
3bbecf84c2 SW: Fix FindDistance3D calls to not z>>4 at the call site
This is handled by the function itself now.

Fixes the distance issue with the ceiling fan.

git-svn-id: https://svn.eduke32.com/eduke32@8525 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-26 08:54:17 +01:00
Christoph Oelckers
a087d566ee - more refactoring on SW's sound system:
* removed all cases of getting a sound handle and checking it later.
* In particular, refactor the cases where the handle is stored in a static local variable. These are fundamentally unsafe because nothing maintains these local variables.
* finished rewriting the PlaySound function. Let's hope this is what was intended, the entire coding here was not particularly good, mixing high and low level sound handling all on the same level.
* call the update routine each tic and not merely every 4th or 8th one, this kind of granularity was ok in 1997 but not with a modern sound engine.
2019-12-18 19:17:37 +01:00
Christoph Oelckers
75c76ccf66 - changed SW's PlaySound interface to take pointers to objects instead of pointers to coordinates.
With pointers to coordinates the sound engine cannot work, so this had to be changed globally.
2019-12-18 11:09:01 +01:00
Christoph Oelckers
9b9c009de9 - copybyte is not the same as memcpy.
It should be inlined to use it, though, because homegrown loops for this stuff may have been ok in 1995, but not in 2019.
2019-12-15 21:06:41 +01:00
Christoph Oelckers
16818d2d71 - exported Shadow Warrior strings to stringtable.
The MP obituaries are not handled yet, they were only copied but there's no code using them.
2019-12-09 21:19:05 +01:00
Christoph Oelckers
0604c72586 - code cleanup
removed some unused definitions
replaced the copybuf* functions with memcpy. These days doing homegrown copy loops is not efficient anymore.
2019-12-09 01:39:40 +01:00
hendricks266
863d35d7c2 SW: Activate ASSERT macro with RELEASE=0 builds
git-svn-id: https://svn.eduke32.com/eduke32@8349 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-03 17:32:49 +01:00
hendricks266
823e47f3e8 SW: Fix assertions and OOB so that the player can noclip OOB
git-svn-id: https://svn.eduke32.com/eduke32@8348 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-03 17:32:48 +01:00
hendricks266
0a70c5e55f SW: Sanitize all uses of wall.nextwall to prevent OOBs
git-svn-id: https://svn.eduke32.com/eduke32@8322 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/sw/src/jnstub.cpp
#	source/sw/src/sector.cpp
2019-11-27 18:04:01 +01:00
hendricks266
92a699b7eb SW: Fix enough OOBs to get in-game
git-svn-id: https://svn.eduke32.com/eduke32@8295 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/sw/src/_functio.h
#	source/sw/src/config.cpp
#	source/sw/src/sector.cpp
2019-11-26 17:50:55 +01:00
Christoph Oelckers
2da4294ba5 - hooked up the event processing for Shadow Warrior, so keyboard input is working now. Mouse movement is not being processed yet.
Also removed some leftover code from the old input system.
2019-11-20 22:01:44 +01:00
Christoph Oelckers
234283ca8a - SW: added validation checks to WallSetup.
This code wrote to array index -1.
With this change the level finally gets rendered, although it still doesn't work.
2019-11-19 23:04:22 +01:00
Christoph Oelckers
f24de03501 - fixed auto-picking of game GRPS from the command line. 2019-11-19 21:35:35 +01:00
Christoph Oelckers
557bd201fb - removed unused code. (MDA screen hack - huh???)
- Shadow Warrior updates from SWP.
2019-11-19 20:43:11 +01:00
hendricks266
125ec7ad2c SW: Replace MAXLONG with INT32_MAX
git-svn-id: https://svn.eduke32.com/eduke32@8281 1a8010ca-5511-0410-912e-c29ae57300e0
2019-11-08 17:41:39 +01:00
Christoph Oelckers
966751b7e8 - added GZDoom's font code and some dependencies. 2019-10-24 01:20:58 +02:00
Christoph Oelckers
0f4abfa4f4 - SW compiles.
This required taking lots of function prototypes out of functions because they won't get a namespace in there.
2019-10-09 19:58:09 +02:00
Christoph Oelckers
70004665fd - added Shadow Warrior files to CMake project - not compiled yet. 2019-10-09 18:09:05 +02:00