Commit graph

18332 commits

Author SHA1 Message Date
Sally Coolatta
5dc56a413e Copy first mapthing tag to their mobjs
Allows the ThingCount and ThingSound ACS functions to fully work now, and adds significantly more possibilities for scripting later.
2024-10-15 21:34:16 -04:00
NepDisk
5672fd6d50 Revert Merge branch thing-radius-acs into master
This reverts commit 31fd1bbd3e.
2024-10-15 17:02:12 -04:00
toaster
31fd1bbd3e Merge branch thing-radius-acs into master
"Radius Action" thing type

See merge request KartKrew/Kart!1429
2024-10-15 16:51:35 -04:00
toaster
e9a588c5b6 Add "GrandPrix" check function to ACS
Resolves #669
Done in this branch to keep ACS changes together
2024-10-15 16:49:57 -04:00
James R
6d0b9526e4 ACS: add Music_Play, Music_StopAll and Music_Remap 2024-10-15 16:49:18 -04:00
James R
a9a2aef018 acs/call-funcs.cpp: add ExitLevel function 2024-10-15 16:44:50 -04:00
James R
35b1554ca4 acs/call-funcs.cpp: add StopLevelExit function 2024-10-15 16:44:43 -04:00
Sally Coolatta
acf0466ba6 Add bot styles & bot spawn ACS function 2024-10-15 16:44:29 -04:00
James R
c81bbf3a20 Add GAMEOVER ACS script type
Triggered when the level ends with a losing condition and
there are no extra lives.
2024-10-15 16:32:32 -04:00
Sally Coolatta
4ccdf8f43f Add additional script types
- POSITION: Runs when POSITION period ends. Has no activator.
- OVERTIME: Runs when the time limit runs out. Has no activator.
- EMERALD: Runs when the Special Stage UFO's Chaos Emerald is grabbed. The activator object is set to the player that grabbed it.
2024-10-15 16:30:38 -04:00
Sally Coolatta
9b950fb5e7 Fully implement existing script type
Missed in the original merge.
2024-10-15 16:29:40 -04:00
NepDisk
af277ad1d9 Split G_ExitLevel into G_BeginLevelExit and G_FinishExitLevel 2024-10-15 16:19:50 -04:00
James R
fe4c882741 ACS_SectorThingCounter: fix infinite loop in touching iterator 2024-10-15 15:47:06 -04:00
--get
fc96a81762 ACS: Better thing counting
- ThingCount has an extra argument for sector tag.
- CountEnemies and CountPushables have an extra argument for thing tag.
- Sector tag 0 for CountEnemies and CountPushables now redirects to activator sector.
2024-10-15 15:47:00 -04:00
NepDisk
c63b4c8968 rewrite for og map numbering system 2024-10-15 15:46:42 -04:00
toaster
6346a4ffa6 ACS: void MapWarp(str mapname, bool showintermission)
An immediate level change on command, to the specified level (via string).
Utilises the existing nextmapoverride and skipstats system, but with skipstats assumed to be the default.
2024-10-15 15:35:20 -04:00
toaster
9e56a78e41 ACS_GetColorFromString; Fix copypaste error indexing into skin array rather than color array
Discovered while writing the following commit.
2024-10-15 15:35:13 -04:00
Sally Coolatta
1902839c1f ACS: Fix floor & ceiling FOF triggers 2024-10-15 15:35:02 -04:00
Sally Coolatta
285401707c ACS: Fix enter triggers on intangible FOFs 2024-10-15 15:34:56 -04:00
Sally Coolatta
b8c2112847 ACS: Prevent spectators from using sector actions 2024-10-15 15:34:50 -04:00
Sally Coolatta
d897e9ac79 ACS: Fix tag iterations not working 2024-10-15 15:34:42 -04:00
Sally Coolatta
8bbfd18608 ACS: Add SIDE_BOTH support for SetSideProperty 2024-10-15 15:34:36 -04:00
Sally Coolatta
988dafa667 ACS: Try to fix sprnames garbage 2024-10-15 15:34:30 -04:00
Sally Coolatta
6c026f59cb ACS: User properties can tell bool from string 2024-10-15 15:34:23 -04:00
Sally Coolatta
061e6e727c ACS: Get/SetThingProperty 2024-10-15 15:34:17 -04:00
Sally Coolatta
71b7c34b0a ACS: Allocate user properties with PU_LEVEL 2024-10-15 15:34:10 -04:00
Sally Coolatta
b98b23b901 ACS: Add SIDE_PROP_REPEATCOUNT
Missed this one.
2024-10-15 15:34:03 -04:00
Sally Coolatta
89a03a85f3 ACS: UDMF user properties
Lines, sides, sectors, and things now all support the "Custom" tab properly. Label a property as `user_[whatever you want]` in this tab, and it will be added to the structure. ACS will then be able to retrieve it using the `Get[x]UserProperty()` function.
2024-10-15 15:33:16 -04:00
Sally Coolatta
6895a04051 ACS: Implement Line and Side get/set functions
Additionally, these all now support tag 0 as getting/setting properties from the activator.
2024-10-15 15:27:30 -04:00
Sally Coolatta
1c2b4d5898 ACS: Get/Set property prototyping
Mostly proof-of-concept so that Charyb can play around with it and tell me if it works for her.
2024-10-15 15:27:12 -04:00
Sally Coolatta
7aac06b96e Add equivalent of "Each Time" triggers for ACS 2024-10-15 15:25:06 -04:00
NepDisk
8b3a8611ab Remove noflags 2024-10-15 15:24:17 -04:00
Sally Coolatta
4c6abb84e2 Fix overlap for ACS_Execute args 2024-10-15 15:23:19 -04:00
Sally Coolatta
03de6d0641 Add TimeAttack ACS function 2024-10-15 15:22:28 -04:00
Sally Coolatta
7a6546e42f Add BreakTheCapsules ACS function
Returns true or false if the map is being played in Break the Capsules or not.
2024-10-15 15:22:20 -04:00
Sally Coolatta
84904d897f SetLineRenderStyle ACS function
SetLineRenderStyle(int tag, int blend, int alpha)

Changes the blend mode and transparency of a linedef. Requires new compiler config for the blend mode constants.
2024-10-15 15:21:31 -04:00
Sally Coolatta
a1e1e5ce22 Add PodiumPosition ACS function
Returns the best position of all non-CPU players.
2024-10-15 15:17:32 -04:00
Sally Coolatta
a12ad40610 Add CameraWait ACS function
Pauses a script until the tagged camera has no more waypoints to follow.
2024-10-15 15:17:15 -04:00
toaster
1a5ba23947 ACS Environment::loadModule: Free vres after generation
Discovered (temporary) memory leak while writing the following commit
2024-10-15 15:15:27 -04:00
Sally Coolatta
47a59591b1 Add string comparison funcs for ACS 2024-10-15 15:14:48 -04:00
Sally Coolatta
1f6574e9a3 Copy first mapthing tag to their mobjs
Allows the ThingCount and ThingSound ACS functions to fully work now, and adds significantly more possibilities for scripting later.
2024-10-15 15:13:50 -04:00
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
cb9ab1518b Fix default skin colors 2024-10-15 00:22:18 -04:00
NepDisk
e0149fea3a revert fades 2024-10-14 17:54:47 -04:00
NepDisk
50995a0004 fade color revert 2024-10-14 04:36:57 -04:00
NepDisk
016f16d91f 2.1 palette pt 2.5: more menu stuff 2024-10-14 04:02:11 -04:00
NepDisk
771938161a 2.1 palette pt 2: Menu stuff
this does some stuff in the menus
2024-10-14 03:23:30 -04:00
NepDisk
d22db75409 2.1 palette pt 1
this is a work in progress conversion to make the engine once again use the srb2 2.1 palette
2024-10-14 02:59:07 -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
Sally Coolatta
629b0aa77a ACS basic implementation
- BEHAVIOR lumps successfully load & run from maps. Currently they do not get unloaded between maps, though.
- Print and Timer are the only implemented CallFuncs. All of the base language functions (Delay, etc) are already implemented by the VM though.
- ACS compiler files are included, for use with GDCC. (Picked instead of ACC because it's less ZDoom-centric)
- Additionally, also added the configs for Zone Builder to be able to compile it in editor. Syntax highlighting is very incomplete atm.
2024-10-10 01:41:24 -04:00
Sally Coolatta
8d8100166e Attempt using ACSVM to implement
It's having trouble linking the dll on Windows currently
2024-10-10 01:40:23 -04:00
NepDisk
267e84d562 Change speed for this object 2024-10-09 23:05:19 -04:00
NepDisk
f4ce1a8f78 Add support for record attack and encore load linedef effects 2024-10-09 20:20:22 -04:00
NepDisk
8854918375 ACtually Fix content id music cvar 2024-10-09 19:16:52 -04:00
Indev
cd768dd7a6 Merge branch 'v2dev3' of ssh://github.com/NepDisk/blankart into v2dev3 2024-10-10 02:09:49 +03:00
NepDisk
249c4afd6d Fix content id music cvar 2024-10-09 19:08:55 -04:00
Indev
03d18d289a Attempt to fix binary linedef flags mismatching with new flags 2024-10-10 02:08:38 +03:00
NepDisk
f65336ae72 Clamp these values to prevent a crash in the opengl renderer 2024-10-09 15:40:00 -04:00
NepDisk
dbc25481cf Whoops forgot to save this after death 2024-10-09 13:58:28 -04:00
NepDisk
7cfa6fa129 Implement lapvalidation
this uses a seperate bool inside the player to check if incrementing the lap when crossing the line is ok. Shouldn't conflict with the old checkpoint system or on maps with starposts in general
2024-10-09 13:31:37 -04:00
NepDisk
7941448e59 Do lapping how it was in v1. zero = one rather then one = one
this mostly works but now maps using nothing but waypoints allow you to gain a free lap on racestart. This seems like i would need some sort of lap validation for the new waypoint system.
2024-10-09 11:47:40 -04:00
NepDisk
e03277d272 renable use of respawn delay cvar 2024-10-08 22:50:37 -04:00
NepDisk
9d6c643f6c Remove DMG_WUMBO comboing and fix respawn lua value 2024-10-08 21:38:59 -04:00
NepDisk
3ade5e697b Fix missing object on vanilla maps
there are probably tons of conflicts outside of this set but thats to be fixed later.
2024-10-08 14:29:44 -04:00
NepDisk
92217ce901 Hardcode the meme arrows 2024-10-07 22:53:06 -04:00
NepDisk
4577eaa275 fix losing check to prevent lost lives 2024-10-07 22:18:21 -04:00
NepDisk
914a4fa9e1 Remove dumb artifical restriction.
Yes I know this is for safety but it makes file io really really annoying
2024-10-07 21:58:07 -04:00
NepDisk
c5e9e1a196 Remove defrosting levelovers 2024-10-07 21:51:20 -04:00
NepDisk
3d65b9a1f8 fix bumpers on map spawn, Remove invincibility during comeback 2024-10-07 21:45:15 -04:00
NepDisk
21a92702a5 Show driftsparks in the air 2024-10-07 20:52:51 -04:00
NepDisk
d23ad3f6fb Small fixes for GTR_FREEROAM, make spinning wheels check for player speed only 2024-10-07 20:40:49 -04:00
NepDisk
1b372c4430 Use K_GetForwardMove more universally
Use it here to apply the value just like pogospring. Will make things like quickstartaccel and sneaker forwardmove apply to all uses of forwardmove
2024-10-07 20:17:35 -04:00
NepDisk
7886c6efb4 Make drift and sliptide angle turn renderer based, to recreate v1 kart drift
v1 had its art assets show a different angle on drift while v2 does not. This recreates that effect without touching drawangle/frameangle and the art assets
This makes sure that scripts that set drawangle/frameangle to match player angle won't eat the drift frames.
2024-10-07 14:45:55 -04:00
NepDisk
4f9f23f75c Use old waterskipping code for accuracy 2024-10-05 21:56:11 -04:00
NepDisk
2788d699d4 Fix make battle more similar to v1 and fix smk iceblocks
This commit removes gametype rules to make battle closer to v1, also iceblocks bonk
2024-10-05 20:52:19 -04:00
NepDisk
01a72de5de Fix item constant exposure 2024-10-05 19:59:35 -04:00
NepDisk
000c5cf15a Lua indecent exposure 2024-10-04 15:58:46 -04:00
Sally Coolatta
ce7d345e44 Level_SetWeather: Use str instead of int 2024-10-04 13:23:59 -04:00
NepDisk
d674634875 Implement UDMF versioning system and add support for srb2kart namespace 2024-10-04 13:21:07 -04:00
NepDisk
d48cd0f28f Apply offroad terrain particle based on offroad check rather then boostpower
this should prevent issues with boostpower related scripts spawning errornous offroad dust
2024-09-29 16:20:50 -04:00
NepDisk
99c0257f02 Remove screen flash and quake 2024-09-29 16:09:29 -04:00
NepDisk
32b06f43fd Comment out screenflash and quake on mines and remove items from buttered slopes if statement 2024-09-29 15:53:02 -04:00
NepDisk
667b584700 Fix errornous use of line->args to prevent skybox change crash 2024-09-29 13:37:08 -04:00
NepDisk
9a9b8b6763 Remove shrink until I can figure out why it won't delete the object
mr sigsev called
2024-09-21 12:03:22 -04:00
NepDisk
54773c3b44 Redo and add shrink animation part
shrinking doesn't delete the object despite being in its thinker :P
2024-09-21 11:00:08 -04:00
NepDisk
9e8fa84e73 Revert WIP: Make Capsules just display papersprite so gfx aren't needed for capsules
This reverts commit db340ffd59.
2024-09-21 10:09:05 -04:00
NepDisk
db340ffd59 WIP: Make Capsules just display papersprite so gfx aren't needed for capsules 2024-09-20 20:00:10 -04:00
NepDisk
d8aaf8552c Use mapobjectscale instead of FRACUNIT for droptarget pushback code
This makes it so droptarget knockback is the same regardless of mapscale, this also makes the item more fair and less annoying to go up against

Also remove the scaling effect from it as it was bugged and looked goofy
2024-09-20 19:18:49 -04:00
toaster
bb79940893 COM_Exec_f: By default, insert into command buffer
- Resolves KartKrew/RingRacers#281 under standard operation
- Add `-immediate` parameter for previous, `wait`-ignoring behaviour
    - Used by configfile, EXECCFG
2024-09-20 18:52:18 -04:00
NepDisk
0200426b51 Fix players constantly JUSTHITFLOOR when walking slowly at the top of slopes
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2358
2024-09-20 18:40:26 -04:00
NepDisk
1823286c24 Remove Debt spkie object 2024-09-20 16:33:43 -04:00
NepDisk
7b2ee07993 Remove RR ringsparkle and use regular srb2 ring sparkle 2024-09-20 15:49:44 -04:00
NepDisk
58e7a3e47e Modify GFX code to use modified SRB2 shield graphics instead 2024-09-20 14:45:49 -04:00
NepDisk
d08280f38d Fix blue spherebox pickup 2024-09-20 13:17:23 -04:00
NepDisk
4af21646c2 Use old itembox item definiton and behaviour 2024-09-20 11:28:20 -04:00
NepDisk
5a31a68ddf change default gravity to one used in kart 2024-09-19 22:28:38 -04:00
NepDisk
80a40bf91f Make Terrain loading the same as other texture related things such as brightmaps 2024-09-19 21:44:34 -04:00
NepDisk
ca85f4f94e allow the console anywhere (besides TA) 2024-09-19 20:47:09 -04:00
NepDisk
93c8a62c99 Add K_TerrainInit to partload instead, Exitlevel on Terrain definition load to prevent issues 2024-09-19 19:23:18 -04:00
NepDisk
b60a9d4bae Improve Subtitles a little bit 2024-09-19 18:07:55 -04:00
NepDisk
9321aa6229 fix boss3cap sync 2024-09-18 19:38:23 -04:00
toaster
251a9a4bb4 Make sure MT_LOOPCENTERPOINT doesn't have an invalid stack-allocated spawnpoint pointer
Fixes connecting to a server that's currently on a map with a loop.

Also tidies P_SpawnItemRow, P_SpawnItemCircle to reduce the likelihood of this happening again, and possible crash with Lua-shortcircuited loop spawning
2024-09-18 19:37:14 -04:00
NepDisk
01c015e560 Don't fade kstart 2024-09-18 10:17:35 -04:00
NepDisk
9f79054a01 Clean up video and GL video options menus and show message when GL is disabled
This also makes the change screen function force set the software option to prevent mismatching menus and cvar toggles
2024-09-18 10:17:35 -04:00
NepDisk
fe83886abb clean up 2024-09-18 10:17:35 -04:00
NepDisk
7a1be2aeac Fix terrain friction and rework closer to sector friction 2024-09-18 10:17:35 -04:00
NepDisk
a26f971980 Fix MF_PAIN 2024-09-18 10:17:35 -04:00
NepDisk
92bda9519a Reimplement turn smoothing plus toggle 2024-09-18 10:17:35 -04:00
NepDisk
e3d888b08d Restore old spinout behaviour 2024-09-18 10:17:35 -04:00
NepDisk
dab9108db0
Merge pull request #20 from alufolie91/trysomesoftwarecrap
Mitigate software renderer performance regression
2024-09-18 10:16:12 -04:00
Alug
8604ba2d7e Revert "use d3d11 for windoze and opengles2 for nix sdl render driver"
This reverts commit 15f44c333c.
2024-09-15 12:14:52 +02:00
Wumbo
3ad5d9cd00 Fix follower with ID 0 not appearing on track load 2024-09-14 18:30:06 -04:00
Alug
6a9f8ef273 fix overflow check in R_DrawRepeatMaskedColumn + super smol optimization 2024-09-14 19:02:28 +02:00
Alug
15f44c333c use d3d11 for windoze and opengles2 for nix sdl render driver
speeds things up significantly
falls back to opengl if stuff fails to be set
since thats still better than just software rendering
2024-09-14 18:42:19 +02:00
Alug
e2f79aa308 remove some code duplication + add missing check 2024-09-14 18:29:57 +02:00
Alug
05d07927b8 mititgate software renderer performance hit + cleanup
no its not on the level of before, but you either take the hit or break basically all kart maps visually (well unless you would manually fix all the maps yourself)
2024-09-14 18:12:23 +02:00
NepDisk
55d47c7cf8 Revert Revert Use all your momentum to push back the camera
This reverts commit 696d9a0d4e.
2024-09-14 00:22:55 -04:00
NepDisk
0d7e9fc691 Fix balloon coloring 2024-09-13 22:49:39 -04:00
NepDisk
124bc25cee redisable thing stepup like RR does 2024-09-13 21:20:28 -04:00
NepDisk
1593ba7041 Fix midtexture stepup issue
Thanks Indev!!!!
2024-09-13 15:33:38 -04:00
NepDisk
7277fe1dbf remove mom from lua funcs 2024-09-13 12:12:29 -04:00
Sally Coolatta
b21352d8ac Evict the wall gremlin
Gremlins happened whenever P_TryMove and P_SlideMove/P_BounceMove disagreed on what an object collided with. When TryMove said you collided with a line, but P_BounceMove said that you didn't, then you'd get gremlin'd.

To fix this, P_TryMove now can edit a struct to contain information on what it collides with. P_SlideMove and P_BounceMove no longer try to detect walls on their own and now requires this result from P_TryMove. If a slide/bounce is needed without moving the object, then you'd want to use P_CheckMove to get the result.

Nep Note: I tried implementing lua support, its probably shit lmao
2024-09-13 11:49:12 -04:00
Sally Coolatta
e4534dcf50 P_RestoreTMStruct 2024-09-13 11:32:41 -04:00
Sally Coolatta
97dc236522 Reference count tm.floorthing and tm.hitthing 2024-09-13 11:31:31 -04:00
Sally Coolatta
55a8643dd3 Put tm* variables into a struct
This makes it significantly easier to save/restore the state of these variables, whenever we need to do so for calling movement functions in the middle of other movement functions. This will also make it easier to move it out of global variable hell if desired later.
2024-09-13 11:29:30 -04:00
NepDisk
a95b4cc902 Forgot thing for sonic loops 2024-09-13 00:17:47 -04:00
NepDisk
4d2e611765 Fix the flip/step up fix 2024-09-13 00:16:02 -04:00
NepDisk
6816173d98
Merge pull request #19 from WumboSpasm/followers
Follower improvements. Thanks Wumbo!
2024-09-12 23:17:27 -04:00
Wumbo
0dbecfdcf3 Improve presentation of followers on player setup screen
- Animation speed is now framerate-independent
- Render height is no longer all over the place
- Ground followers now bounce
2024-09-12 22:37:28 -04:00
NepDisk
3a1633e02a Experimental fix to fix flipping 2024-09-12 22:24:12 -04:00
NepDisk
696d9a0d4e Revert Use all your momentum to push back the camera
This reverts commit e52d569c58.
2024-09-12 18:28:13 -04:00
NepDisk
922ea1235e Revert "Merge branch 'natural-camera-outrun' into 'master'"
This reverts commit 57e69603a4, reversing
changes made to 542e0b88df.
2024-09-12 18:25:38 -04:00
NepDisk
03ba9629bc
Merge pull request #18 from alufolie91/fixmidnightcaves
fix issues with R_PointOnSide on kart maps + big optimization. Thanks Alug
2024-09-12 17:28:42 -04:00
NepDisk
a5844b36cb Disable camera lookback during loops.
c4154470b9
2024-09-12 16:23:55 -04:00
Alug
ddc4356fd7 fix issues with R_PointOnSide on kart maps + big optimization 2024-09-12 22:18:39 +02:00
NepDisk
ca8062edec fix loopcam jerk 2024-09-12 16:18:16 -04:00
NepDisk
0f9c385697
Merge pull request #17 from alufolie91/fixcullcrap
Fix some Rendering issues + slight cleanup. Thanks Alug!
2024-09-12 16:08:59 -04:00
Alug
e76852e932 fix fof renderflags on kart maps in software 2024-09-12 21:54:55 +02:00
Alug
ac7ca78e25 fix issues with fofflags on kart maps in ogl 2024-09-12 21:47:07 +02:00
Alug
71772fcef1 smal cleanup + refactor HWR_RenderBSPNode
og code was pain
2024-09-12 21:41:41 +02:00
Alug
97f9426a7a fix ogl culling stuff on polyobjects 2024-09-12 21:32:27 +02:00
James R
410419c852 Add player_t.cameraOffset, offset chasecam Z position 2024-09-12 15:11:19 -04:00
Alug
52e3a399ee fix ogl water shader ripple
is a float, and also gets divided by ticrate earlier
2024-09-12 21:00:22 +02:00
Wumbo
b4ec4ef691 Make first follower selectable again 2024-09-12 13:38:31 -04:00
James R
5290e3fcd8 Loop camera: do not pan with drifts
This would offset the camera in loops. Bad since they
sometimes have very specific parameters.
2024-09-12 13:07:02 -04:00
James R
1189720220 Loop camera: do not reverse panning direction based on player camera 2024-09-12 13:06:55 -04:00
James R
0d9ea51279 Default loop camera settings if camera distance is not set 2024-09-12 13:05:41 -04:00
James R
dd7e3e4c26 Loop camera
It zooms out, pans to the side and toward the player.

Loop Center thing:

- arg2: zoom-out speed in tics (zooms out when entering the loop)
- arg3: zoom-in speed in tics (zooms in when exiting the loop)
- arg4: zoom-out distance in fracunits (multiply by 65536)
- arg5: angle to pan to the side of the loop in degrees fracunits (multiply by 65536)
  - This will be flipped depending on where the camera was
    facing before entering the loop.
- arg6: panning speed in degrees fracunits (multiply by 65536)
- arg7: panning acceleration in tics (camera gradually pans to side of loop)
- arg8: panning deceleration in tics (camera gradually pans back to normal)
2024-09-12 13:04:37 -04:00
James R
7dfa273dde Loops: lag camera correctly 2024-09-12 13:01:41 -04:00
Oni
4c994de722 Merge branch 'loops' into 'master'
Sonic Loops

See merge request KartKrew/Kart!991
2024-09-12 12:10:40 -04:00
toaster
6927191a24 Merge branch 'loops-prep' into 'master'
Prep for Sonic Loops

See merge request KartKrew/Kart!990
2024-09-12 11:48:08 -04:00
NepDisk
e2e81d1c27 Run old function ceiling and floor move regardless when in binary 2024-09-12 01:38:50 -04:00
Wumbo
45304f5c3d Handle follower colors better
- Default color definitions are now parsed properly
- Fallback color value is now default color instead of player color
- Player setup now renders follower with right color

Selecting the first follower in the list is currently broken, will
fix later
2024-09-12 01:34:56 -04:00
NepDisk
5733b3b14b resync sourceline 2024-09-12 00:29:35 -04:00
NepDisk
84f4ce5510 Fix crushers on anicent tomb in the uglyist way possible
yes duplicate code but can't be arsed to fix new code for now
2024-09-12 00:19:39 -04:00
NepDisk
ed68557f6f
Merge pull request #15 from alufolie91/fixfogcrap
Restore karts fog brightness behaviour for binary kart maps. Thanks Alug!
2024-09-11 12:08:41 -04:00
Alug
736b1bda04 did not mean to revert this 2024-09-11 18:01:59 +02:00
Alug
a1e4b5d6ba fix software skywalls
this is a fucking mess thx
2024-09-11 17:58:15 +02:00
Alug
435b8337f3 Merge branch 'v2dev23' into fixfogcrap 2024-09-11 17:20:45 +02:00
Alug
d7447dbfc1 no fog fullbright in binary maps 2024-09-11 17:19:18 +02:00
NepDisk
8c459ed0e7 windows buildtest3 2024-09-11 11:15:25 -04:00
NepDisk
1c336c204d windows buildtest2 2024-09-11 11:09:50 -04:00
Alug
737173c382 always use planelightlevel for translucent planes when in binary maps
since kart did not draw every fogplane at fullbright
2024-09-11 16:23:41 +02:00
NepDisk
2ba9ebdce4
Merge pull request #13 from alufolie91/removeunusedhwcode
Remove a bunch of unused clutter in hw_main.c. Thanks Alug!
2024-09-11 10:23:31 -04:00
NepDisk
dd8f5c3da9
Merge pull request #14 from alufolie91/fixbinaryclipping
Fix issues with Clipping and Skywalls in kart binary maps in Opengl. Thanks Alug!
2024-09-11 10:23:08 -04:00
NepDisk
2c8b0150ff test this 2024-09-11 10:15:10 -04:00
Alug
7c8d9ddaf5 need to draw skywalls first here 2024-09-11 16:05:29 +02:00
Alug
b45158995c properly take player fov into account for frustumangle clipping 2024-09-11 15:54:19 +02:00
Alug
adcb7b4f63 fix skywall issues on binary kart maps
for the most part
fixes performance issues and other things
still some issues that i need to look into
2024-09-11 15:48:31 +02:00
Alug
6477695e92 remove old broken and unused clipping code from hw_main.c 2024-09-11 14:53:51 +02:00
NepDisk
685d72b6d7 Clamp rover->alpha-1 to prevent overflow
Thanks Alug!
2024-09-11 08:31:18 -04:00
NepDisk
2f298af463 Point out some duplicate objects and make them -1 2024-09-10 23:50:00 -04:00
NepDisk
8bf5f2c5fb Fix stringargs crash in P_ProcessSpecial 2024-09-10 22:55:00 -04:00
NepDisk
1085c6ceb0 Implement blan folder and reimplement walltransfer
Wall transfering can now be used by enabling cvar BG_forcewalltransfer or putting WALLTRANSFER into your map header
2024-09-10 22:36:45 -04:00
NepDisk
0ef46ec9e2 add back P_ThingOnSpecial3DFloor for back compat with older scripts 2024-09-10 18:08:35 -04:00
NepDisk
040bf74a55 Remove uneeded test check here that I added 2024-09-10 15:53:17 -04:00
NepDisk
6df955cdc3 Revert Track skybox within player struct
This was done to make lua scripts that change the skybox work again!

This reverts commit 196dc77e6faafe41203ef132580c3178ad4562de.
2024-09-10 14:43:00 -04:00
NepDisk
a14b5bd755 Disable Thing stepup for now like Release RR 2024-09-10 11:44:20 -04:00
Wumbo
5e78be3c52 Fix buggy monitor collision in Kart Airlines, attempt 2 2024-09-09 19:15:07 -04:00
NepDisk
e45ad78b18 Fix rng desync 2024-09-09 15:16:21 -04:00
James R
fed3bbb74f Replays: do not initialize displayplayers to INT32_MAX
- Only demo playback does this and it's a mystery why
2024-09-09 14:44:32 -04:00
toaster
8545e26adf Tryx, tryy for P_GetThingStepUp in increment_move instead of destination x, y 2024-09-09 14:09:02 -04:00
toaster
99b42992f5 P_CheckDeathPitCollide: Use P_GetSpecialBottomZ/P_GetSpecialTopZ instead of floorz, ceilingz
Fixes a nasty ledge/FOF touch oversight
2024-09-09 12:08:06 -04:00
NepDisk
d901e0bffd Revert monitorbump due to breaking ramp on Test map
This reverts commit 5bab479ec9, reversing
changes made to be5cbdcc9f.
2024-09-08 22:16:49 -04:00
NepDisk
f2eb243c6c Fix sidemove on sticks 2024-09-08 19:45:32 -04:00
NepDisk
11aa76469d Make terrain pogosprings also affect movement 2024-09-08 19:25:55 -04:00
NepDisk
5bab479ec9
Merge pull request #11 from WumboSpasm/monitorbump
Fix buggy monitor collision in Kart Airlines and remove unused variables. Thanks Wumbo!
2024-09-08 18:31:16 -04:00
Wumbo
3735ff2eb0 Fix buggy monitor collision in Kart Airlines and remove unused variables 2024-09-08 18:26:36 -04:00
NepDisk
be5cbdcc9f Readd walltransfer and toss it behind a define
This is going to be turned into a mapheader option later on to keep compat with RR maps
2024-09-08 13:57:57 -04:00
NepDisk
96bac94e41 Remove head bonking and revert some gravity stuff 2024-09-08 12:46:37 -04:00
Wumbo
79504ab833 Make ML_BLOCKPLAYERS block players in UDMF maps only 2024-09-07 17:30:11 -04:00
NepDisk
3da39cde1b Fix skybox in software 2024-09-07 17:07:29 -04:00
Alug
7b887a0c0a make fan particles not crash kart maps
idk should hopefully not break them in durr maps
2024-09-07 16:12:38 -04:00
AJ Martinez
2f9c1631ca Fix K_PlayerTripwireSpeedThreshold breakage 2024-09-07 15:44:15 -04:00
AJ Martinez
bb4d3ea2fb Grant short tripwire leniency when passing tripwire 2024-09-07 15:39:52 -04:00
AJ Martinez
8b66878ab5 Opaque tripwire on subtractnum maps 2024-09-07 15:36:28 -04:00
Sally Coolatta
607c5c5dae SubtractNum also makes tripwire subtractive 2024-09-07 15:36:20 -04:00
Sal
15e02127dc Merge branch 'fix-window-refocus' into 'master'
SDL: only react to window focus changes if state actually changes

See merge request KartKrew/Kart!859
2024-09-07 15:22:18 -04:00
James R
d6fa3023b7 Do not set cvars with S_SetSfxVolume or S_SetMusicVolume
Don't do this because in sdl/i_video.cpp,
S_InitMusicVolume is called to unmute music when the
window is refocused. Because I_StartupGraphics is called
before those cvars are added and it is an error to try to
set a cvar before it is added.
2024-09-07 15:21:17 -04:00
NepDisk
272535fa17 readd back these accidently removed lines and fix crash 2024-09-07 14:46:18 -04:00
Oni
8012a21070 Merge branch 'alt-music' into 'master'
Alt Music

See merge request KartKrew/Kart!915
2024-09-07 13:57:13 -04:00
NepDisk
0c7cc41527 More Tweaks to outrun
Use player scale if grown or shrunk other wise use FRACUNIT
2024-09-07 13:13:51 -04:00