NepDisk
ed025e5428
Fix uncommited messages
2024-10-15 14:58:22 -04:00
James R
5b1345cfd1
cmake: refactor GitUtilities.cmake
...
Remote branch name can now be resolved from detached HEAD.
2024-10-15 14:19:40 -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
1cacd36967
Finish adding highlights to ZB script editor
2024-10-15 13:55:16 -04:00
Sally Coolatta
7aaeae93e1
Fixes for special config
2024-10-15 13:51:10 -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
35e71beabf
Fix Log not existing in the ACS definition
2024-10-15 13:35:26 -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
47b72ef4d6
Remove unnecessary ACSVM files from libs
...
C API and Exec are unused, and ACSVM compiles based on what folders are present.
2024-10-15 07:53:31 -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
James R
bcf014a539
.gitignore: add CMakeUserPresets.json
2024-10-15 04:44:14 -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
Eidolon
a4f618b052
cmake: Fix png and openmpt builds in clean envs
...
In environments without zlib installed, png would fail to build since
it can't find zlib.h. The zlib build's generated public include dir
needs zlib.h to work.
openmpt fails to build because it can't find Rpcrt4, which is not a
necessary link under mingw, but exists in some mingw-w64 toolchains.
It is only needed for MSVC.
(cherry picked from commit fcf69001ada08077f82d3fc8510dcd24b4433e64)
2024-10-15 03:42:15 -04:00
Eidolon
475215dec4
cmake: Use MAME YM2612 emu in GME
...
(cherry picked from commit fb0f0c5e6c161b4b88439cda84c8b6cae9d236cc)
2024-10-15 03:42:07 -04:00
Eidolon
9b2a590938
Cherry-pick internal zlib MR from SRB2/next
...
cmake: build zlib manually in internal build
See merge request STJr/SRB2!1856
(cherry picked from commit 3597957af13878854c02305a0aec5ca744209ef2)
# Conflicts:
# thirdparty/CMakeLists.txt
2024-10-15 03:41:53 -04:00
Sal
45cd500eda
Merge branch 'cmake-fix-override-exe-name' into 'master'
...
cmake: let SRB2_SDL2_EXE_NAME override git branch
See merge request KartKrew/Kart!796
2024-10-15 03:41:02 -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