Mitchell Richters
54d307a7e6
- Move doslopetilting()
into DDukePlayer
.
2023-12-05 22:39:11 +01:00
Mitchell Richters
c029273e19
- Duke: Clean up player/actor accesses in ParseState::parse()
.
2023-12-05 22:39:11 +01:00
Mitchell Richters
cec1893852
- Duke: Clean up player/actor accesses in game_misc.cpp
.
2023-12-05 22:39:10 +01:00
Mitchell Richters
9529e8fa67
- Duke: Clean up player/actor accesses in game.cpp
.
2023-12-05 22:39:10 +01:00
Mitchell Richters
5d67edf6db
- Duke: Clean up player/actor accesses in cheats.cpp
.
2023-12-05 22:39:10 +01:00
Mitchell Richters
cbe977bfec
- Duke: Remove unused angle rotation from ccmds()
.
2023-12-05 22:39:10 +01:00
Mitchell Richters
f93dcf253f
- Duke: Remove unused angle rotation from animatesprites_r()
.
2023-12-05 22:39:10 +01:00
Mitchell Richters
f570167f48
- Duke: Clean up player/actor accesses in animatesprites_r.cpp
.
2023-12-05 22:39:10 +01:00
Mitchell Richters
b1391cb482
- Duke: Clean up player/actor accesses in animatesprites_d.cpp
.
2023-12-05 22:39:10 +01:00
Mitchell Richters
f8d403739a
- Duke: Clean up player/actor accesses in actors_lava.cpp
.
2023-12-05 22:39:10 +01:00
Mitchell Richters
cfc24a3697
- Duke: Tidy up resetplayerstats()
to avoid looping through the players three times.
2023-12-05 22:39:09 +01:00
Mitchell Richters
4e1148e1ff
- Duke: Fix resetplayerstats()
setup.
2023-12-05 22:39:09 +01:00
Mitchell Richters
ae0de2d6aa
- Clean up serialisers in savegamehelp.cpp
.
2023-12-05 22:39:09 +01:00
Christoph Oelckers
a6467d2c9a
use a TArray for the screenshot buffer.
2023-12-05 22:39:09 +01:00
Christoph Oelckers
3e47edb677
Revert "fixed CollisionData export."
...
This reverts commit fe02190604
.
2023-12-05 22:39:09 +01:00
Christoph Oelckers
2096b74421
Duke: fixed bad loop index in gamevar init code.
2023-12-05 22:39:09 +01:00
Christoph Oelckers
330e2af217
made SW's panel sprites into actual DObjects
...
so that they can a) cleanly be exposed to scripting later and b) serialized for savegames without using gross hacks.
2023-12-05 22:39:09 +01:00
Christoph Oelckers
88d5d15094
fixed bad assumption about object destruction state in garbage collector.
...
The assumption was made that every object in the ToDestroy list wasn't destroyed yet.
This assumption is wrong in case one object destroys an owned one on its own destruction.
Instead this case must be properly dealt with and duplicate destruction be avoided.
This happened with the panel sprite sentinel in SW's player object.
2023-12-05 22:39:08 +01:00
Christoph Oelckers
0463623daf
SW: fix serialization of panel sprites
2023-12-05 22:39:08 +01:00
Christoph Oelckers
3a37bda806
do not copy players, it is not allowed for polymorphic classes.
2023-12-05 22:39:08 +01:00
Mitchell Richters
8d205bc896
- Clean up a bunch of serialisers that were saving vector members, and not the whole vector.
2023-12-05 22:39:08 +01:00
Mitchell Richters
8bed6c9241
- Centralise the saving of player actions within DCorePlayer
's serialiser.
2023-12-05 22:39:08 +01:00
Mitchell Richters
7a408582bc
- Blood: Fix missing call to Super while saving.
2023-12-05 22:39:08 +01:00
Mitchell Richters
60c69f3344
- Duke: Remove some duplicated save variables.
2023-12-05 22:39:08 +01:00
Mitchell Richters
8281e5b324
- Exhumed: Remove some duplicated save variables.
2023-12-05 22:39:07 +01:00
Mitchell Richters
9df739186c
- SW: Remove some duplicated save variables.
2023-12-05 22:39:07 +01:00
Mitchell Richters
176d027a3f
- Duke: Clean up player/actor accesses in resetpspritevars()
.
2023-12-05 22:39:07 +01:00
Mitchell Richters
9325759a48
- Duke: Ensure player's pnum
is updated during premap.
2023-12-05 22:39:07 +01:00
Christoph Oelckers
c02cff1e48
fix saving.
2023-12-05 22:39:07 +01:00
Christoph Oelckers
5448f6ec2c
turn players into DObjects and fix several bugs with bad memory access.
...
* DObjects may not be memset to 0.
* There was still code trying to retrieve the player index with pointer artithmetic. With an array of pointers this does not work.
2023-12-05 22:38:34 +01:00
Christoph Oelckers
1ce8ceac5d
fixed GC handling of players.
...
These were missing null checks, the player pointers also weren't nulled after deleting the objects.
2023-12-05 22:03:57 +01:00
Christoph Oelckers
049bd41efe
fixed warning
2023-12-05 22:03:57 +01:00
Christoph Oelckers
6dd27f2262
directory structure cleanup
2023-12-05 21:58:36 +01:00
Christoph Oelckers
5f8cd74ba5
added missing license to Duke's vmexports.cpp
2023-12-05 21:57:15 +01:00
Mitchell Richters
bdd02953c3
- Duke: Clean up player/actor accesses in rrra_specialstats()
.
2023-10-02 21:24:26 +11:00
Mitchell Richters
ca4f00b6b3
- Duke: Clean up player/actor accesses in movetransports_r()
.
2023-10-02 21:24:25 +11:00
Mitchell Richters
6c72a2a1fa
- Duke: Clean up player/actor accesses in ifhitbyweapon_r()
.
2023-10-02 21:24:05 +11:00
Mitchell Richters
8584745ce4
- Duke: Clean up player/actor accesses in addweapon_r.cpp
.
2023-10-02 21:23:42 +11:00
Mitchell Richters
9a301d6e06
- Duke: Fix incorrect distance value in handle_se28()
.
2023-10-02 21:23:42 +11:00
Mitchell Richters
2d7ab0f581
- Duke: Clean up player/actor accesses in handle_se28()
.
2023-10-02 21:23:42 +11:00
Mitchell Richters
9fb63af7b6
- Duke: Clean up player/actor accesses in movetransports_d()
.
2023-10-02 21:23:41 +11:00
Mitchell Richters
3274450fe6
- Duke: Clean up player/actor accesses in ifhitbyweapon_d()
.
2023-10-02 21:23:05 +11:00
Mitchell Richters
fe5581f3cf
- Duke: Clean up player/actor accesses in addweapon_d.cpp
.
2023-10-02 21:14:55 +11:00
Mitchell Richters
95d5e1f57d
- Duke: Clean up player/actor accesses in gameexec.cpp
.
2023-10-02 21:14:32 +11:00
Mitchell Richters
d4999619dc
- Duke: Clean up player/actor accesses in movefta()
.
2023-10-02 20:45:33 +11:00
Mitchell Richters
6f248ff34c
- Duke: Clean up player/actor accesses in alterang()
.
2023-10-02 20:45:06 +11:00
Mitchell Richters
5e82e5ab94
- Duke: Clean up player/actor accesses in handle_se31()
.
2023-10-02 20:44:40 +11:00
Mitchell Richters
36fd510f2c
- Duke: Clean up player/actor accesses in handle_se24()
.
2023-10-02 20:44:21 +11:00
Mitchell Richters
6754dd03f1
- Duke: Clean up player/actor accesses in handle_se27()
.
2023-10-02 20:43:01 +11:00
Mitchell Richters
c98083bf75
- Duke: Clean up player/actor accesses in handle_se26()
.
2023-10-02 20:42:42 +11:00
Mitchell Richters
6764acccb0
- Duke: Clean up player/actor accesses in handle_se20()
.
2023-10-02 20:42:20 +11:00
Mitchell Richters
da75e29d5c
- Duke: Clean up player/actor accesses in handle_se18()
.
2023-10-02 20:42:00 +11:00
Mitchell Richters
c948b4a526
- Duke: Clean up player/actor accesses in handle_se17()
.
2023-10-02 20:41:43 +11:00
Mitchell Richters
98eacf83b9
- Duke: Clean up player/actor accesses in handle_se13()
.
2023-10-02 20:41:24 +11:00
Mitchell Richters
0c8539b0dd
- Duke: Clean up player/actor accesses in handle_se05()
.
2023-10-02 20:41:07 +11:00
Mitchell Richters
10ede7ce16
- Duke: Clean up player/actor accesses in handle_se02()
.
2023-10-02 20:41:06 +11:00
Mitchell Richters
3aea097f87
- Duke: Clean up player/actor accesses in handle_se30()
.
2023-10-02 20:41:05 +11:00
Mitchell Richters
c19ac0a916
- Duke: Clean up player/actor accesses in handle_se14()
.
2023-10-02 20:39:26 +11:00
Mitchell Richters
f992ec9221
- Duke: Clean up player/actor accesses in handle_se00()
.
2023-10-02 20:39:03 +11:00
Mitchell Richters
eb8a359c77
- Duke: Clean up player/actor accesses in move()
.
2023-10-02 20:38:48 +11:00
Mitchell Richters
091c6cb9dd
- Duke: Clean up player/actor accesses in hitradius()
.
2023-10-02 20:38:22 +11:00
Mitchell Richters
76f47a61bb
- Duke: Clean up player/actor accesses in moveplayers()
.
2023-10-02 20:38:06 +11:00
Mitchell Richters
7a6e036849
- Duke: Clean up player/actor accesses in movedummyplayers()
.
2023-10-02 20:37:40 +11:00
Mitchell Richters
77eb44fd54
- Duke: Clean up player/actor accesses in clearcamera()
.
2023-10-02 20:37:18 +11:00
Mitchell Richters
892eb16d8b
- Duke: Clean up player/actor accesses in checkavailweapon()
.
2023-10-02 20:36:58 +11:00
Mitchell Richters
3925af453a
- Duke: Clean up player/actor accesses in moveactor()
.
2023-10-02 20:36:39 +11:00
Mitchell Richters
ac35e09d1c
- Move each game's stored nPlayer/pnum value to CorePlayer
.
2023-10-02 18:44:04 +11:00
Mitchell Richters
16189ff7f9
- Remove GameInterface::getConsoleActor()
in place of direct access.
2023-10-02 18:11:53 +11:00
Mitchell Richters
6de8fc91d6
- Remove GameInterface::reapplyInputBits()
and directly perform operation in GameTicker()
.
2023-10-02 18:11:51 +11:00
Mitchell Richters
02bd017d07
- Directly set CorePlayer::ucmd
rather than copying it to a temporary array.
2023-10-02 17:00:50 +11:00
Mitchell Richters
d90aca9640
- Directly store a ticcmd_t
object within CorePlayer
.
2023-10-02 17:00:50 +11:00
Mitchell Richters
7953fe7425
- Delete all players upon engine shutdown.
2023-10-02 17:00:50 +11:00
Mitchell Richters
23d4cbc3bd
- Remove all game-side PlayerArray[]
objects and store within common code.
2023-10-02 15:43:00 +11:00
Mitchell Richters
789c4669f1
- SW: Initial setup to convert PlayerArray
array to array of SWPlayer
pointers.
2023-10-02 15:43:00 +11:00
Mitchell Richters
f9c3a64f35
- Exhumed: Initial setup to convert PlayerArray
array to array of ExhumedPlayer
pointers.
2023-10-02 15:43:00 +11:00
Mitchell Richters
6d2124dd01
- Duke: Initial setup to convert PlayerArray
array to array of DukePlayer
pointers.
2023-10-02 15:43:00 +11:00
Mitchell Richters
0aac044da6
- Blood: Initial setup to convert PlayerArray
array to array of BloodPlayer
pointers.
2023-10-02 15:43:00 +11:00
Mitchell Richters
1604cf009c
- Move the actor pointer for each game's player structures into CorePlayer
.
...
* Something strange was going on here with Blood where the static_cast would not work... Moved the player structure into `bloodactor.h` for now to work around it.
2023-10-02 15:42:59 +11:00
Mitchell Richters
6beec5eed2
- Set up initial implementation of CorePlayer
struct and make game-side player structs inherit from it.
2023-10-02 15:42:59 +11:00
Mitchell Richters
6a7eabd23f
- SW: Rename Player[]
array to PlayerArray[]
and wrap its access.
2023-10-02 15:42:59 +11:00
Mitchell Richters
2327e08acb
- SW: Replace remaining Player +
pointer arithmetic with array accesses.
2023-10-02 15:42:58 +11:00
Mitchell Richters
2733c90237
- SW: Replace all pp (.)\= Player \+ (.+)\)
with array accesses.
2023-10-02 15:42:58 +11:00
Mitchell Richters
3c499b060f
- SW: Replace all pp = Player \+ (.+);
with array accesses.
2023-10-02 15:42:58 +11:00
Mitchell Richters
3cc2aa7af4
- SW: Replace remaining Player+
pointer arithmetic with array accesses.
2023-10-02 15:42:57 +11:00
Mitchell Richters
edd089cc0d
- SW: Replace Player+pnum
pointer arithmetic with array accesses.
2023-10-02 15:42:57 +11:00
Mitchell Richters
6a72b3dd83
- SW: Replace all pp (.)\= Player\+(.+)\)
with array accesses.
2023-10-02 15:42:57 +11:00
Mitchell Richters
5d5327c427
- Replace direct pointer access to Player[]
array with array accesses.
2023-10-02 15:42:57 +11:00
Mitchell Richters
dbb11eed4d
- SW: Rename PLAYER
struct to SWPlayer
.
2023-10-02 15:42:55 +11:00
Mitchell Richters
d107b6a1fa
- Exhumed: Rename PlayerList[]
array to PlayerArray[]
and wrap its access.
2023-10-02 15:42:09 +11:00
Mitchell Richters
5008ac08ac
- Exhumed: Rename Player
struct to ExhumedPlayer
.
2023-10-02 15:41:15 +11:00
Mitchell Richters
6a367c6184
- Duke: Rename ps[]
array to PlayerArray[]
and wrap its access.
2023-10-02 15:41:15 +11:00
Mitchell Richters
bd9e42bb40
- Duke: Rename player_struct
struct to DukePlayer
.
2023-10-02 15:41:13 +11:00
Mitchell Richters
0ed54ed719
- Blood: Rename gPlayer[]
array to PlayerArray[]
and wrap its access.
2023-10-02 15:31:05 +11:00
Mitchell Richters
49104f9b24
- Blood: Rename PLAYER
struct to BloodPlayer
.
2023-10-02 15:30:51 +11:00
Mitchell Richters
a20e2b64f9
- SW: Wrap access to player's actor pointer.
2023-10-02 15:30:35 +11:00
Mitchell Richters
61bc8c23cf
- Exhumed: Wrap access to player's actor pointer.
2023-10-02 15:30:35 +11:00
Mitchell Richters
6d6872fea7
- Duke: Ensure player_struct::GetActor()
is exclusively used to get the player's actor.
2023-10-02 15:30:34 +11:00
Mitchell Richters
2755b17fd5
- Blood: Wrap access to player's actor pointer.
2023-10-02 15:30:34 +11:00
Mitchell Richters
719cc75fd2
- Duke: Rename player_struct::sync
to player_struct::input
to match the other games.
2023-10-02 15:30:32 +11:00
Mitchell Richters
eeb9f48436
- Fix uncommitted change missed from 7fa5df934b
.
2023-10-02 15:30:32 +11:00
Rachael Alexanderson
1fa628b47e
- do same change as d33f2697a3
2023-10-01 10:47:15 -04:00
Christoph Oelckers
295d9e690b
remove unneeded non-standard includes from inifile.cpp
2023-10-01 14:00:26 +02:00
Christoph Oelckers
716e059374
use shared SplitPath function
2023-10-01 13:09:22 +02:00
Christoph Oelckers
ee07ae35aa
retrieve time in fillSummary.
2023-10-01 12:10:56 +02:00
Christoph Oelckers
4dcf0fd3c4
get rid of the GetStats interface function.
...
Now that all data it retrieves is available in shared code it is no longer needed.
2023-10-01 11:48:32 +02:00
Christoph Oelckers
19dfd84320
use global stat manager in SW
2023-10-01 10:33:07 +02:00
Christoph Oelckers
da3df98484
use global stat manager in Exhumed
2023-10-01 10:17:27 +02:00
Christoph Oelckers
3e821c5849
use global stat manager in Duke
2023-10-01 10:07:54 +02:00
Christoph Oelckers
4af7a649b6
move kill/secret management into the shared code
...
Implemented for Blood so far, this gets rid of gKillMgr and gSecretMgr
2023-10-01 10:07:45 +02:00
Christoph Oelckers
26ba62dc62
Blood: cleanup of INI loading
...
* use snprintf instead of sprintf
* keep the IniFile object local
* get rid of the FreeGameData interface function, it only existed to free the global INI object.
2023-09-30 22:34:09 +02:00
Christoph Oelckers
bb6d6ae83b
replaced Ini-parser with a reworked version from Blood RE.
...
This was mainly for the license.
2023-09-30 21:47:17 +02:00
Christoph Oelckers
31541fd8ae
correct else placement in calebSwimChase.
2023-09-29 20:22:56 +02:00
Christoph Oelckers
e072380470
Blood: fixed bad order of random numbers.
2023-09-29 20:11:34 +02:00
Mitchell Richters
88939a9c60
- Do a memset()
in PlayerAngles::initialize()
instead of value initialisation.
2023-09-29 08:31:48 +10:00
Mitchell Richters
092d8e7937
Revert "- Favour value initialisation in GameInput::Clear()
instead of a memset()
."
...
This reverts commit 59acdde9c9
.
Apparently this can generate terrible code with MSVC for some reason.
2023-09-29 08:31:03 +10:00
Mitchell Richters
f8ee893529
- Move I_GetEvent()
call into GameInput::getInput()
.
2023-09-28 22:16:31 +10:00
Mitchell Richters
dc8be29354
- Exhumed: Use range-based loop in seq_LoadSequences()
.
2023-09-28 22:16:31 +10:00
Mitchell Richters
ad87f9ba54
- Duke: Adjust doVehicleTilting()
somewhat.
...
* Don't adjust and scale the player's roll, we can rely on `player_struct::TiltStatus` alone for this.
* Ensure maximum tilt via full keyboard turn == (20. * 360. / 2048. * 0.5), same as original code.
2023-09-28 22:16:31 +10:00
Mitchell Richters
04ac4561a8
- Exhumed: Set up cl_viewbob
so its disabled by default since the game never had it.
2023-09-28 22:16:30 +10:00
Mitchell Richters
8f9b413d38
- Always clear object in PlayerAngles::initialize()
rather than expecting the caller to do it.
2023-09-28 22:16:30 +10:00
Mitchell Richters
59acdde9c9
- Favour value initialisation in GameInput::Clear()
instead of a memset()
.
2023-09-28 22:16:30 +10:00
Mitchell Richters
7fa5df934b
- Make playercmds[]
non-global and pass through as pointer.
2023-09-28 22:16:30 +10:00
Mitchell Richters
80da809e0c
- Apply cl_noturnscaling
CVAR from feaaf2c15a
to GameInput::processVehicle()
.
2023-09-28 22:16:29 +10:00
Mitchell Richters
ae39645169
- Duke: Slight cleanup on e0e459216d
.
2023-09-28 22:16:29 +10:00
Mitchell Richters
4958241c57
- Blood: Slight cleanup on 32480dde16
.
2023-09-28 22:16:29 +10:00
Christoph Oelckers
b05b409695
Blood: removed 3 unused members in PLAYER
2023-09-28 11:45:16 +02:00
Christoph Oelckers
f46db83ab3
removed two leftover floatification helpers.
2023-09-28 11:43:14 +02:00
Christoph Oelckers
aea46548bd
moved all Is***Sprite function to animatesprite.cpp because that's the only place they still get used from.
...
Naked sprite pointers have been removed everywhere else.
2023-09-28 11:41:35 +02:00
Christoph Oelckers
7e63ccd57a
Blood: get rid of the mirror struct and related data.
...
This is a relic of Polymost.
2023-09-26 23:34:08 +02:00
Christoph Oelckers
bcad8a85d2
renamed at* fields in gib.cpp
2023-09-26 23:34:08 +02:00
Christoph Oelckers
3625a510d2
took a hint from Blood-RE and replaced that awful reconstructed sorting function with the qsort call it most likely originally was.
2023-09-26 23:34:08 +02:00
Christoph Oelckers
8a0f79141b
code cleanup
...
* gave reverb functions the proper 'S_' prefix for consistency.
* Blood: fixed license of 4 files which do not contain any NBlood code anymore (sound code was completely rewritten, and all such code has long been moved out of d_menu.cpp)
* Blood: renamed VIEWPOS_* constants
2023-09-26 23:30:38 +02:00
Mitchell Richters
e0e459216d
- Reduce GameInput::processVehicle()
interface by changing three bools to a bitfield.
2023-09-25 19:51:53 +10:00
Mitchell Richters
ce236c795f
- Blood: Don't attenuate view rolling when swimming.
...
* Blood's input and drag system is much more developed than the other games and further attenuation is not needed here.
2023-09-25 17:00:10 +10:00
Mitchell Richters
9ad0af4479
- Blood: Better fix for view rolling under all circumstances.
...
* Why is everything so difficult in Blood? 😕
* Do StrafeVel drag/resistance before `MoveDude()` as it may never be called if there's no velocity.
* Avoid using `mulscale16r()` in algorithm as we simply don't need to here.
* Move `doRollInput()` call into same area where drag is applied so all the code is concentrated in one spot.
2023-09-25 16:42:11 +10:00
Mitchell Richters
2916fe596f
- Blood: Fix view rolling while underwater.
2023-09-24 20:00:11 +10:00
Mitchell Richters
8d8c30d10e
- Reset the crouch toggle only when loading a new game, not every time we clear out the input.
...
* We need to preserve the crouch toggle when loading saves.
* Deliberately not resetting during level transitions as each level in an episode is interconnecting.
2023-09-24 17:51:22 +10:00
Mitchell Richters
ae192df7b7
- Consolidate two gi->FreeLevelData()
into NewGame()
.
2023-09-24 17:28:52 +10:00
Mitchell Richters
32480dde16
- Ensure all games preserve SB_CENTERVIEW
and SB_CROUCH
bits upon loading.
2023-09-24 17:22:38 +10:00
Mitchell Richters
ff8cea673e
- Duke: Ensure player_struct
Serialiser only attempts to set variables when reading, not unconditionally.
2023-09-24 17:21:17 +10:00
Mitchell Richters
22077c5b50
- Ensure crouch_toggle
is cleared when clearing all input.
2023-09-24 15:53:39 +10:00
Mitchell Richters
f35e8eecf1
- Fix incomplete backend update in 4a87003408
that broke Linux builds.
2023-09-24 14:38:30 +10:00
Mitchell Richters
feaaf2c15a
- Allow disabling turn scaling (turbo turn).
2023-09-24 14:15:50 +10:00
Mitchell Richters
29e021b5bf
- Move crouch toggling back into the backend so the toggle key can be used as a swim key.
...
* Reverts 272dfa762d
, but is a fresh implementation.
* I doubted anyone was doing this but apparently not.
* Exhumed needed a bit more work as it has very specific underwater checks.
2023-09-24 14:15:49 +10:00
Christoph Oelckers
615267dbd4
- fixed incorrect setup in Blood map loader.
2023-09-23 21:13:03 +02:00
Christoph Oelckers
a703acea00
- consider swvoxfil.txt a known name for SW mods.
...
This allows the voxel pack to be dragged and dropped.
2023-09-23 14:51:18 +02:00
Christoph Oelckers
4bb66fb44e
- Duke: Fixed WT fallback for classic sounds in cases the user data does not exist.
...
currently that's only the case for CRANEGRAB which is aliased because of differences between Duke and RR.
2023-09-23 14:29:41 +02:00
Christoph Oelckers
711813c36f
- fixed flat debug helper.
2023-09-23 14:03:59 +02:00
Christoph Oelckers
6e4dcc5bff
- fixed clipping range of artificially split sectors.
...
This caused render glitches on the barn in RR E1L1.
2023-09-23 13:32:09 +02:00
Christoph Oelckers
912d8d38bf
- disable alloc debugging again.
2023-09-23 10:32:49 +02:00
Christoph Oelckers
d96a928738
- Exhumed: fixed sprite positioning issues
...
Apparently tile #1 has some significance here.
2023-09-23 10:30:52 +02:00
Christoph Oelckers
4a87003408
- backend update from GZDoom.
...
* Vulkan backend updated.
* zlib replaced with miniz.
* FileReader is now 64 bit capable.
* jpeg replaced with stb-image.
* CMake project warnings fixed.
2023-09-23 09:56:27 +02:00
Mitchell Richters
a3aa2e877e
- Exhumed: Repair use key clearing issue from ed2c557297
.
...
* It's important that the use button is cleared for Exhumed, just not in the game code like it was previously done.
* Fixes #971 .
2023-09-23 09:51:45 +10:00
Christoph Oelckers
1fe1359e5b
- fix incomplete palette generation for paletted rendering.
2023-09-22 21:26:40 +02:00
Christoph Oelckers
e19ce3ead4
- fixed voxel loader.
2023-09-10 21:30:45 +02:00
Christoph Oelckers
a41ebfeb73
- Duke: fixed the explosion's lighting hackery.
...
The animatesprites handler in the old code got called on the already animated sprite, meaning it will only activate for the first frame.
To do this right the code had to be moved to applyanimations and be guarded by a flag.
2023-09-10 20:42:26 +02:00
Christoph Oelckers
230c1b9041
- fix animatesprite loop aborts on sector effectors
2023-09-10 19:55:41 +02:00
Christoph Oelckers
f749f4cc33
- copied equal_epsilon from GZDoom.
2023-09-07 22:12:31 +02:00
alexey.lysiuk
ecc0301f5b
- removed obsolete forward declarations
...
source/core/savegamehelp.h:10:1: error: declaration conflicts with target of using declaration already in scope
source/core/savegamehelp.h:13:24: error: reference to 'FileReader' is ambiguous
source/core/gameconfigfile.h:40:1: error: declaration conflicts with target of using declaration already in scope
source/core/gameconfigfile.h:61:27: error: reference to 'FileWriter' is ambiguous
2023-09-07 12:44:51 +03:00
Christoph Oelckers
fa7a16a775
- backend update from GZDoom.
...
Some missing 'override' qualifiers and font fixes.
2023-09-06 00:18:45 +02:00
Christoph Oelckers
25c0a56d96
- fixed broken character fallback for cyrillic T.
...
This was attached to the у (i.e. cyrillic u)
2023-09-06 00:03:02 +02:00
Christoph Oelckers
431d29b6a1
- don't run string conversions on empty strings.
...
std::string complains about this case
2023-09-05 23:54:22 +02:00
Christoph Oelckers
4e53f3bd81
- backend update from GZDoom for adding vcpkg integration
2023-09-02 09:46:20 +02:00
Christoph Oelckers
e88d2fb6b4
- fixed directory loader
2023-08-23 22:09:09 +02:00
Christoph Oelckers
4ff6e9bc72
- fix altered virtuals and gave them an override qualifier.
2023-08-23 21:26:42 +02:00
Christoph Oelckers
ec18e022ca
- fix allocation for tile buffer.
2023-08-23 21:05:00 +02:00
Christoph Oelckers
82057bcd5a
- Backend update from GZDoom-
...
This compiles but doesn't run.
2023-08-23 20:36:19 +02:00
Christoph Oelckers
f2740e434a
- adapted game code.
2023-08-20 02:25:12 +02:00
Christoph Oelckers
b95a5a4b2b
- yet another backend update.
2023-08-20 02:15:57 +02:00
Christoph Oelckers
d34bad3045
- adapted game side code.
2023-08-19 19:41:40 +02:00
Christoph Oelckers
6355671480
- second backend update from GZDoom.
2023-08-19 19:32:17 +02:00
Christoph Oelckers
32ede813e9
- new files for backend update.
2023-08-19 18:17:17 +02:00
Christoph Oelckers
2095a2120c
- consolidated the 4 ReadSound functions.
2023-08-19 18:11:19 +02:00
Christoph Oelckers
3c695a5abd
- adapted to backend changes.
2023-08-19 18:08:27 +02:00
Christoph Oelckers
cf19d75242
- backend update from GZDoom without adapting other code.
2023-08-19 16:59:05 +02:00
Christoph Oelckers
5eee7b80b1
- backend update from GZDoom.
...
* controller handling improvements
* use stb_sprintf.
* various smaller fixes.
2023-08-09 12:17:17 +02:00
Christoph Oelckers
76e77d4e64
- Duke: fix enemy counting
2023-08-06 09:59:33 +02:00
Christoph Oelckers
f0623c7098
- fix compilation
2023-08-06 09:22:07 +02:00
Christoph Oelckers
bd078cc3e6
- SW: Clear FinishTimer when starting a new level.
2023-08-03 17:53:25 +02:00
Christoph Oelckers
20b96501b6
- moved rnd_plasma into global space again.
...
C++'s init rules for local static variables are so dumb that this will cause undefined behavior with the RNG management, it's also very inefficient.
2023-08-03 12:55:23 +02:00
Rachael Alexanderson
7936aca79d
- redo work from b95dbaf914
2023-08-02 00:35:58 -04:00
Christoph Oelckers
c19653262e
- Duke: fix management of killit_flag.
...
This cannot be in the actor because event scripts can be called without a valid actor.
It is now part of the parse state, but execute allows returning it to the caller, which is needed in one place.
2023-07-22 10:24:20 +02:00
Christoph Oelckers
6aa61e72b5
- backend update from GZDoom.
...
* cleanup on the sound init code.
* added #pragma once in several headers.
* macOS version detection overhaul.
2023-07-22 09:54:00 +02:00
Christoph Oelckers
706c784965
- added a few checks for null pointer types in the ZScript compiler.
2023-07-22 08:59:15 +02:00
Christoph Oelckers
ce34ef2921
- Duke: fixed skill filter handling for CON defined enemies.
2023-07-17 00:32:27 +02:00
Christoph Oelckers
0380ef3b80
- SW: remove redundant ; in sector object serializer.
...
This caused the animtype field not to be saved.
2023-07-16 10:59:39 +02:00
Kevin Caccamo
80ac9f6416
Fix a memory write issue with plasma_{A,B,C}
...
plasma_A[5] = {}; will write the default value for int to the sixth element of plasma_A, causing a global-buffer-overflow.
I assume the intention here was to fill these three arrays with zeroes, which is what I did with the memset calls.
2023-07-12 19:13:05 +10:00
Christoph Oelckers
1e2b5c2747
- added missing range checks to PlaySpriteSound.
...
This can be called with attr_none!
2023-06-29 18:28:16 +02:00
Christoph Oelckers
c4cb44f5f0
- RR: thunder may only be triggered when the player sees a sector with an activating texture as sky.
2023-06-19 20:45:16 +02:00
Christoph Oelckers
5bbcb82ef2
- unlimited the number of sectors to have window lightning.
2023-06-19 20:34:04 +02:00
Rachael Alexanderson
f1c917cffc
- mimic gzdoom/01dfcc7d9564013ae26c79ecb642e4e5578905b1
2023-06-19 04:41:58 -04:00
Christoph Oelckers
8adc32c6c9
-fixed: tilenum 0 is a valid image for flat and wall sprites.
...
It's only invalid for face sprites.
2023-06-05 23:35:24 +02:00
Christoph Oelckers
fcb8e7614f
- new names and SWActor properties.
...
Not used yet
2023-06-03 10:16:48 +02:00
Christoph Oelckers
61bc698029
- sprite init code.
2023-06-01 22:08:42 +02:00
Christoph Oelckers
b31e8dd8b4
- some initial preparations for exporting SW's actors.
2023-06-01 22:07:47 +02:00
Christoph Oelckers
d74c2ba52f
- added a few texture names for picnum literals.
2023-05-31 21:53:14 +02:00
Christoph Oelckers
d7a00b76f1
- added extensions to texnames parser to handle fully rotated sprite animations in one line
...
Also define all sprites for Shadow Warrior.
2023-05-30 22:32:58 +02:00
Christoph Oelckers
54335f7215
- got rid of the tilenum variant of hud_drawsprite.
2023-05-30 19:08:26 +02:00
Christoph Oelckers
0b158dbdd0
- Blood: use texture IDs in drawElements.
2023-05-30 19:05:33 +02:00
Christoph Oelckers
117874bb72
- Blood: fixed bad scaling in viewBurnTime.
2023-05-30 18:57:44 +02:00