Commit graph

14574 commits

Author SHA1 Message Date
Christoph Oelckers
5ee909ab6f - reduce footprint of the Rot member variable. 2023-10-08 09:41:17 +02:00
Christoph Oelckers
71e44ac7ae patch over the savegame problems with FState. 2023-10-08 09:41:16 +02:00
Christoph Oelckers
a1cbeb1b0d migrate to engine states.
Savegames do not work for this yet.
2023-10-08 09:41:16 +02:00
Christoph Oelckers
031fb2ea4e - SW: refactored states to use a Doom-like state model. 2023-10-08 09:41:16 +02:00
Christoph Oelckers
24a3d91d0d scriptified the things 2023-10-08 09:41:15 +02:00
Christoph Oelckers
c7e993d949 got rid of missileInfo 2023-10-08 09:41:15 +02:00
Christoph Oelckers
6250906879 implemented proper handling of VM functions as identifiers. 2023-10-08 09:41:15 +02:00
Christoph Oelckers
2c08ee0c5d refactored SEQ callbacks as well. 2023-10-08 09:41:15 +02:00
Christoph Oelckers
11f094c7fb reference event callbacks by name, not by internal index.
This is needed to allow writing new callbacks.
2023-10-08 09:41:15 +02:00
Christoph Oelckers
47f09c61fc WIP for event callback refactor 2023-10-08 09:41:14 +02:00
Christoph Oelckers
d86e99a2e1 added class registration code for Blood 2023-10-08 09:41:14 +02:00
Christoph Oelckers
cb443d443c Blood projectile scriptification. 2023-10-08 09:41:14 +02:00
Christoph Oelckers
93dde24ae1 added native script exports for all functions referenced b AISTATEs. 2023-10-08 09:41:13 +02:00
Christoph Oelckers
d3867cba5f removed the unused int parameter from state callbacks.
This makes handling a lot easier because all state related functions have the same signature
2023-10-08 09:41:13 +02:00
Christoph Oelckers
40ca77c6b5 use a feature flag for the enemy attacks in 3 callback functions.
This is simple enough to handle without gModernMap
2023-10-08 09:41:13 +02:00
Christoph Oelckers
11caee7477 exported actGetRespawnTime as a first simple test case. 2023-10-08 09:41:13 +02:00
Christoph Oelckers
79ae66d5ec exported gGameOptions. 2023-10-08 09:41:12 +02:00
Christoph Oelckers
8e5f2cceda we really do not need to pack the GAMEOPTIONS struct... 2023-10-08 09:41:12 +02:00
Christoph Oelckers
986d13ea7f moved 3 functions from actor.cpp to aiunicult.cpp 2023-10-08 09:41:12 +02:00
Christoph Oelckers
91660b71d6 same procedure for PickupWeapon to delete gWeaponItemData. 2023-10-08 09:41:12 +02:00
Christoph Oelckers
9340f39053 use the actor's metadata in PickupAmmo
This allows removing the AmmoItemData array.
Also make some tweaks to handle the nnext extension for customizable ammo amount given. Instead of tying it to gModernMap this now also uses a feature flag that will later be exposed to RMAPINFO.
2023-10-08 09:41:11 +02:00
Christoph Oelckers
e8eb558025 hardcode gAmmoItemData[0].count in 4 places.
This will have to be done differently later so simplify matters for now by removing the dependency.
2023-10-08 09:41:11 +02:00
Christoph Oelckers
6eda7d930e read packslot from the actor metadata so that gItemData can be removed. 2023-10-08 09:41:11 +02:00
Christoph Oelckers
64d8fd6072 Blood: scriptified item spawning
This was merely a testbed with a limited amount of code, the biggest gain here is that the spawning no longer depends on item IDs but classes so new ones can be added later.
2023-10-08 09:41:11 +02:00
Christoph Oelckers
d83c9f51c3 added texture and class definitions for the 18 items that have no coded function 2023-10-08 09:39:46 +02:00
Christoph Oelckers
4c34f414dc added the remaining needed GetChars calls. 2023-10-08 09:15:32 +02:00
Christoph Oelckers
5919232fa7 GetChars in non-windows code. 2023-10-08 08:12:18 +02:00
Christoph Oelckers
a2b93fdc23 a few Getchars 2023-10-08 08:09:05 +02:00
Christoph Oelckers
555a4d3dd5 Use GetChars on FStrings. 2023-10-08 08:09:04 +02:00
Mitchell Richters
41a42e5a6d - Fix some warnings in MSVC. 2023-10-08 08:52:11 +11:00
Mitchell Richters
6b35be636a - Bump MAXVOXELS from 1024 to 2048. 2023-10-08 08:18:05 +11:00
Mitchell Richters
961770ea31 - Add getTicrateAngle() to reduce the amount of times DAngle::fromDeg() needs to be called in input code. 2023-10-08 08:17:40 +11:00
Christoph Oelckers
aa54d3af10 backend update from GZDoom
LZMA update plus several ZScript improvements.
2023-10-07 18:44:31 +02:00
Mitchell Richters
83d3784007 - Duke: Repair crash when calling OnEvent(EVENT_ENTERLEVEL). 2023-10-06 15:16:02 +11:00
Mitchell Richters
b7702afacf - SW: No need to mark off PlayerArray for saving game-side. 2023-10-05 19:23:33 +11:00
Mitchell Richters
a179527209 - Slight clean-up in gameinput.cpp. 2023-10-05 19:23:33 +11:00
Mitchell Richters
35aa81d912 - Re-add lost paused check in GameInput::GetInput(). 2023-10-05 15:08:24 +11:00
Mitchell Richters
ab239b0899 - Exhumed: A little bit more cleanup. 2023-10-05 14:07:04 +11:00
Mitchell Richters
aca2302878 - Exhumed: Remove static copy of last yaw input from draw code. 2023-10-05 13:26:38 +11:00
Mitchell Richters
483ebad96a - Duke: Interpolate getavel() since we now have the last packet available to do so. 2023-10-05 13:25:38 +11:00
Mitchell Richters
29fc1240b4 - Remove unnecessary clamp in PlayerAngles::doViewPitch(). 2023-10-05 13:25:02 +11:00
Mitchell Richters
03a69c24b3 - Move syncinput mechanism into GameInput object. 2023-10-05 13:10:47 +11:00
Mitchell Richters
33bc4b08cb - Modernise function declarations in Cephis C math to address ongoing GCC and Clang warnings.
Examples:

/home/mrichters/Repos/Raze/source/common/thirdparty/math/exp.c: In function ‘c_exp’:
/home/mrichters/Repos/Raze/source/common/thirdparty/math/exp.c:171:48: warning: declaration of built-in function ‘floor’ without a prototype; expected ‘double(double)’ [-Wbuiltin-declaration-mismatch]
  171 | double polevl(double, void *, int), floor(), ldexp();
      |                                                ^~~~~
/home/mrichters/Repos/Raze/source/common/thirdparty/math/exp.c:171:57: warning: declaration of built-in function ‘ldexp’ without a prototype; expected ‘double(double,  int)’ [-Wbuiltin-declaration-mismatch]
  171 | double polevl(double, void *, int), floor(), ldexp();

/home/mrichters/Repos/Raze/source/common/thirdparty/math/exp.c:200:16: warning: passing arguments to 'polevl' without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype]
px = x * polevl( xx, P, 2 );
               ^
/home/mrichters/Repos/Raze/source/common/thirdparty/math/exp.c:201:17: warning: passing arguments to 'polevl' without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype]
x =  px/( polevl( xx, Q, 3 ) - px );
                ^
/home/mrichters/Repos/Raze/source/common/thirdparty/math/exp.c:167:8: warning: a function definition without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype]
double c_exp(x)
       ^
3 warnings generated.
2023-10-05 10:32:44 +11:00
Mitchell Richters
026c9a44e9 - Fix most warnings in Clang under Linux. 2023-10-05 09:57:31 +11:00
Mitchell Richters
bd5fff4040 - Duke: Remove casts from setting RR vehicle velocities and consolidate setup into an inline. 2023-10-04 22:05:03 +11:00
Mitchell Richters
7498be6f5d - Duke: Change a few triple negations from the wrapper removal process. 2023-10-04 20:39:37 +11:00
Mitchell Richters
98e83fcc3a - Use DCorePlayer::GetActor() inside of CCMD(warptocoords). 2023-10-04 19:32:24 +11:00
Mitchell Richters
7e3a1dfb1e - Fix most GCC warnings in the backend/common code code.
* Most of them were just signedness issues. Hopefully I got everything right here.
* 3rd party stuff deliberately not touched.
2023-10-04 19:28:26 +11:00
Mitchell Richters
623e453d4d - Fix all GCC warnings in the game-side code.
* Most of these were due to mixed spaces/tabs playing nastiness with non-braced if/else statements.
2023-10-04 19:28:25 +11:00
Mitchell Richters
94e23343e1 - Store scaleAdjust directly inside the GameInput object. 2023-10-04 19:28:25 +11:00