NepDisk
ed025e5428
Fix uncommited messages
2024-10-15 14:58:22 -04:00
NepDisk
fb34898a29
remove added header
2024-10-15 14:16:03 -04:00
Eidolon
d08b923f06
Merge branch 'extern-c-everything' into 'master'
...
Add extern "C" in C++ to all headers
See merge request KartKrew/Kart!842
2024-10-15 14:14:43 -04:00
NepDisk
82a7f26c66
comment out unlockables for now
2024-10-15 14:00:07 -04:00
Sally Coolatta
22e3ff3b07
Add ACS functions that can replicate line triggers
...
PlayerTeam, PlayerRings, PlayerScore, CountEnemies, CountPushables, HaveUnlockableTrigger, HaveUnlockable, PlayerSkin, GetObjectDye, PlayerEmeralds, PlayerLap, LowestLap, and EncoreMode
2024-10-15 13:57:06 -04:00
Sally Coolatta
b656167bfb
Replace LinedefExecute hook
...
- It is now called the "SpecialExecute" hook, since it can be called from ACS in addition to linedef specials.
- The input arguments are completely different now. Instead of (line_t, mobj_t, sector_t), it's (activator_t, args array, stringargs array). activator_t is userdata containing valid, mo (mobj_t), line (line_t), side (side_t), sector (sector_t), and po (polyobject_t).
2024-10-15 13:44:30 -04:00
Sally Coolatta
63ca246a2a
Fix ACS specials not working in binary maps
...
Didn't copy over the text field.
2024-10-15 13:35:32 -04:00
Sally Coolatta
20b68e4a0f
Copy text to stringarg[0] for ACS linedefs
...
Allows them to be used in Zone Builder binary maps
2024-10-15 13:35:14 -04:00
NepDisk
ac7b44c503
Fix compile
2024-10-15 13:24:21 -04:00
Sally Coolatta
364b5bda8a
Improve compiling, add ACS_Execute
...
Arbritrary ACS scripts can now be run from linedef executors. I will be implementing more, non-linedef-executor-related methods in the future.
2024-10-15 13:07:13 -04:00
Sally Coolatta
192b30f8ea
Save+load SRB2 vars on ACS threads
2024-10-15 07:52:25 -04:00
Sally Coolatta
9ce121233e
Add save/load stream for ACS
...
Saves the majority of the VM state, but not the SRB2-specific vars ... that can come after food
2024-10-15 07:51:13 -04:00
Sally Coolatta
e23180283a
Contain end & size into savebuffer_t
...
I would've liked to make it use a single allocate function to do this very cleanly, but these cases were very clearly not meant to be standardized and use wildly different methods to allocate & free...
2024-10-15 07:48:51 -04:00
James R
3fb806ed71
Remove global lua_save_p and use savebuffer_t for LUA_Archive / LUA_UnArchive
2024-10-15 07:43:52 -04:00
James R
e91701fe5b
g_demo.c: use savebuffer_t
2024-10-15 07:41:38 -04:00
NepDisk
7a4b3e8017
Fix corrupt save files
2024-10-15 06:55:41 -04:00
Sally Coolatta
07cdd2f461
Make save_p / savebuffers not global
...
This caused some scary issues with P_SaveNetGame the other day, and it's making ACS net sync harder. Let's just cut this off right now.
Also fixed some scary mix-ups in some of the Lua archiving code.
2024-10-15 06:41:25 -04:00
Sally Coolatta
8637dc3ce3
Fully port the ACS integration to C++ and make it build
2024-10-15 06:01:14 -04:00
James R
6de3a1b573
Merge branch 'cmake-testers' into 'master'
...
Add TESTERS and HOSTTESTERS builds to CMake options
See merge request KartKrew/Kart!830
2024-10-15 04:45:25 -04:00
toaster
0e53b0513f
Remove dynamic base from CMake target link options
...
Permits functional debugging of crash reports by preventing ASLR
2024-10-15 04:44:21 -04:00
Sally Coolatta
e250450084
Add ACSVM building to CMake
...
Currently this breaks some parts of the ACS functionality ... before I made a handful of small extensions to ACSVM's slightly-limited C API myself, and I didn't get them into the actual repo yet.
But now that we've moved to actual C++ compiling, I will likely just flat-out rewrite the SRB2 side of the code in C++ so it can use the library directly.
2024-10-15 04:44:02 -04:00
Sal
f0370fc1a1
Merge branch 'cmake-sources' into 'master'
...
Move sources list from Sourcefile to CMakeLists.txt
See merge request KartKrew/Kart!795
2024-10-15 04:36:26 -04:00
NepDisk
ae739b9ef1
Merge branch 'CPP' into ACS2
2024-10-15 04:25:57 -04:00
NepDisk
872b3b70c1
Disable catch 2
2024-10-15 04:23:59 -04:00
Sal
f503d88ab5
Merge branch 'enable-cxx' into 'master'
...
Enable C++17 additionally with Catch2 unit testing
See merge request KartKrew/Kart!807
2024-10-15 04:19:22 -04:00
NepDisk
c7b48c8fe4
Remove unused headers
2024-10-15 04:18:11 -04:00
James R
9e801c66d5
Merge branch 'universal-typedef' into 'master'
...
Move all typedef into one file
See merge request KartKrew/Kart!791
2024-10-15 04:16:58 -04:00
Sal
4d1add7e4c
Merge branch 'cmake-overhaul' into 'master'
...
cmake: Rollup of srb2-side changes
See merge request KartKrew/Kart!758
2024-10-15 03:40:29 -04:00
NepDisk
1288c80d8b
Fix flat animation
2024-10-13 16:08:36 -04:00
NepDisk
afecac0c00
Remove unused titlecard code, some unused sounds and simplify pvp damage code
2024-10-12 22:02:51 -04:00
Alug
739b84ea28
Remove GLU library loading code
...
hope i didnt forger smth X)
2024-10-12 01:23:03 -04:00
Alug
674290dc11
Better Opengl version check
...
somehow forgor about vendor information in the version string lmao
2024-10-12 01:22:34 -04:00
Alug
26304d0bbb
Replace glBuild2DMipmaps with GL_GENERATE_MIPMAPS
...
Quote "gluBuild2DMipmaps. Never use this."
gluBuild2DMipmaps was causing massive stutters on many maps on windows
this replaces it with GL_GENERATE_MIPMAP and removes glBuild2DMipmaps completely
https://www.khronos.org/opengl/wiki/Common_Mistakes
2024-10-12 01:22:29 -04:00
NepDisk
9a6aeaaa56
Allow ACS to call linedef specials as functions
2024-10-10 15:30:22 -04:00
Sally Coolatta
9d0ae3e489
Add LAP script type
...
GDCC just updated after my feature request for remappable script type names, so there's no more limitations surrounding those.
2024-10-10 15:17:17 -04:00
NepDisk
6edb12de78
Revert " Allow ACS to call linedef specials as functions"
...
This reverts commit f46a9ed5fa .
2024-10-10 15:14:01 -04:00
NepDisk
f46a9ed5fa
Allow ACS to call linedef specials as functions
2024-10-10 15:10:18 -04:00
NepDisk
40270bcf3d
Fix acs map lump reading
2024-10-10 14:18:29 -04:00
Indev
2eea1d0cde
Those were not necessary oops
2024-10-10 20:59:05 +03:00
Indev
03c740503e
Attempt to fix ACS library linking
2024-10-10 20:56:12 +03:00
Alug
5e5144822e
shut up -Wcomment warnings pls
2024-10-10 18:08:24 +02:00
NepDisk
19ef4ef1e0
add to cmakelists?
2024-10-10 12:04:31 -04:00
NepDisk
84bff805e9
Fix perfstats, add acs folder
2024-10-10 11:29:58 -04:00
Sally Coolatta
ff1f91ebad
Implement remaining ACS0 codes that apply to SRB2
...
Only thing left to reach parity with Hexen is being able to use linedef specials as functions
2024-10-10 01:43:42 -04:00
Sally Coolatta
89a5ea4a21
Keep track of script activators
...
Can supply the activating object, line, line side, polyobject, and (added for SRB2) sector.
2024-10-10 01:43:33 -04:00
Sally Coolatta
eff994fd60
Add ThingCount
...
Hexen implements this as ThingCount(int, int), and ZDoom adds ThingCountName(str, int). I decided on simplifying down to ThingCount(str, int).
2024-10-10 01:42:38 -04:00
Sally Coolatta
27ae35a82f
Add ChangeFloor/Ceiling, fix Random
2024-10-10 01:42:33 -04:00
Sally Coolatta
4cd8aaa8b7
More code cleanup
...
- Inline function to simplify adding call funcs
- Implemented print when thread is killed
2024-10-10 01:42:26 -04:00
Sally Coolatta
3e5fb19e2d
Commentate code, add a few more CallFuncs
2024-10-10 01:42:04 -04:00
Sally Coolatta
f5fe8ddcbe
Reset hub & map scopes on map load
2024-10-10 01:41:36 -04:00