Commit graph

502 commits

Author SHA1 Message Date
NepDisk
2e2b90f843 Finalize Cvar and push check to lua 2025-03-31 14:04:06 -04:00
NepDisk
945704849f stacking part 6: Implement customization cvars 2025-03-26 13:35:26 -04:00
NepDisk
0ae44e0fa0 stacking pt.4: Finish Chaining
Again thanks to Indev for helping me figure out why the last tick wouldn't deincrement
2025-03-25 19:14:40 -04:00
NepDisk
f0b6ef89eb stacking pt.3: start work on chaining 2025-03-25 18:03:39 -04:00
NepDisk
7091195a95 stacking pt.2: finish stacking 2025-03-25 15:07:20 -04:00
NepDisk
077b34b37f Make legacy waypoint helper and expose K_RingsActive and K_UsingLegacyCheckpoints to lua 2025-03-10 19:14:35 -04:00
GenericHeroGuy
8a51847fb1 Y'know what? Just make these functions one-based, sheesh 2025-03-03 21:18:07 +01:00
GenericHeroGuy
1025ac59bd Translate MapLoad/MapChange and implicit gamemap argument 2025-03-03 19:03:36 +01:00
GenericHeroGuy
ebea1395d4 Map number compatmode 2025-03-03 01:28:51 +01:00
NepDisk
b0bbf07bdb Custom gametype and gametyperules additions
Many new options have been added.

You can now specify "menucolor" when creating a gametype. This accepts a V_ colorchar flag (IE V_PURPLEMAP) and will be used to color hud elements in menus and on the HUD.

Encore is now controlled by GTR_ENCORE. This allows for custom modes that don't accept encore.

Itemodds are now controlled by GTR_RACEODDS and GTR_BATTLEODDS respectively. If neither is specified on gametype creation, completely random items will be rolled.

General GTR_FREEROAM adjustments
2025-03-02 11:41:30 -05:00
NepDisk
064be1b201 Merge branch 'bortsport' into blankart-dev 2025-02-26 19:43:22 -05:00
NepDisk
c6daa4da80 Revert 'New solid object bouncing, and updated player bouncing'
This reverts commit 5ac5ca89d0.
2025-02-23 18:04:20 -05:00
NepDisk
51154e346c rename tm to g_tm to fix C conflict 2025-02-22 01:24:53 -05:00
GenericHeroGuy
48204a5ba7 Sprite frame/char compatibility 2025-02-20 00:32:31 +01:00
NepDisk
24c0d8086a Make respawn function shut up and expose it to lua 2025-02-18 17:51:08 -05:00
toaster
b92c125928 I_Error in all situations where mapheaders were previously allocated outside of SOC.
Also:
- improved error prints for SOC condition definitions
- improved bounds checking to use `nummapheaders` for iterating over mapheaderinfo
There are still situations that use NUMMAPS like mapvisited, randmapbuffer, etc, which need to be addressed before merger.
2025-02-11 01:52:05 +01:00
NepDisk
3350b02cc8 Long Map Names Port pt 1. 2025-02-05 17:46:21 -05:00
NepDisk
760a8574c2 Toss some backcompat lua shit under lua_compatmode 2025-02-04 07:54:32 -05:00
NepDisk
22562dc646 Fix Sunset being missing 2025-01-28 08:23:32 -05:00
NepDisk
92d86be813 Implement distance based itemodds when legacy waypoints are in play 2025-01-22 13:15:42 -05:00
NepDisk
1f86196cf5 P_SetupLevelSky compat fix 2024-12-31 00:49:09 -05:00
NepDisk
d5e45f3798 Some lua backcompat changes
have yet to test some of these
2024-12-27 22:39:49 -05:00
NepDisk
1766932ea9 Improve mapthing mobjlib code and expose I_GetPreciseTime 2024-10-26 02:01:58 -04:00
NepDisk
c526cc5da2 use saturn behaviour for lib_sStopSoundByID 2024-10-22 17:50:15 -04:00
NepDisk
af277ad1d9 Split G_ExitLevel into G_BeginLevelExit and G_FinishExitLevel 2024-10-15 16:19:50 -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
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
0ef46ec9e2 add back P_ThingOnSpecial3DFloor for back compat with older scripts 2024-09-10 18:08:35 -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
toaster
0532cc8484 Remove P_InitAngle and its kin, considered on a case-by-case basis for also setting old_angle as well. 2024-09-04 01:18:51 -04:00
Sally Coolatta
dec51a3b25 Add sector action
Linedef actions, but on sectors. Including args, stringargs, and unique activator flags.
2024-09-03 16:53:54 -04:00
NepDisk
ccfa90677c Merge branch 'v2dev3' into udmf-cherrypick-cherrypick 2024-08-21 22:13:53 -04:00
James R
6c99bd2a9f lua_baselib.c: expose P_SpawnMobjFromMobjUnscaled 2024-08-21 16:56:43 -04:00
NepDisk
a2fcc4bc20 UDMF cherry-pick cherry-pick 2024-08-20 02:47:00 -04:00
NepDisk
d7dd4f68e2 rings disable toggle, rebalance rings 2024-08-01 14:06:24 -04:00
Hanicef
091f781b49 Add tofixed lua function 2024-08-01 02:20:47 -04:00
hayaunderscore
e42008ab13 Add follower_t to userdataType() 2024-08-01 01:59:39 -04:00
NepDisk
f611554cbc Assorted Changes 2
Restored old titlescreen, generally made the game closer to v1 gameplay wise and visual wise
2024-07-30 18:00:37 -04:00
NepDisk
48871a8b68 Remove tumble. 2024-07-29 03:40:28 -04:00
NepDisk
8f3b2db7d3 Remove hitlag. 2024-07-29 03:24:40 -04:00
Sally Coolatta
01af5127c8 Improved pain then hit confirm sound
- The pain + hit confirm delay is done for all players, instead of only the damaged player.
- The player who got the hit also gets to hear their pain sound at full volume.
- Changed the code so that your hit confirm sound effect will no longer be interrupted if the player who got hit left the game.
2022-09-04 14:23:51 -04:00
Sally Coolatta
4c3f89cdf7 Allow freesloting & editing precipprops
Allows for custom weather types.

In SOC:
```Freeslot
PRECIP_GROOVY

Weather PRECIP_GROOVY
Type = MT_PARTICLE
Effects = PRECIPFX_THUNDER|PRECIPFX_LIGHTNING```

In Lua:
```freeslot("PRECIP_GROOVY")

precipprops[PRECIP_GROOVY] = {
    type = MT_PARTICLE,
    effects = PRECIPFX_THUNDER|PRECIPFX_LIGHTNING
}```

Then in level header, simply set `Weather = PRECIP_GROOVY`.

Other properties are part of the object itself:
- Falling speed is set as the object's speed
- Sound ID is set via the object's SeeSound
- Sound frequency is set by the object's Mass.
2022-05-31 09:03:06 -04:00
Sally Coolatta
c678146f0c Drastically simplified bot rubberbanding 2022-05-23 23:59:18 -04:00
Sally Coolatta
83b5bfef59 Super Circuit hit confirms
After getting hit, you'll hear the person who hit you's hit confirm from any distance
2022-05-22 03:26:32 -04:00
toaster
38e6cba181 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart.git into uncapped-absolution
# Conflicts:
#	src/f_finale.c
#	src/sdl/i_video.c
#	src/st_stuff.c
2022-05-21 13:40:20 +01:00
toaster
884064049e * Allocate the "MISSING" patch only once, statically, at first boot via missingpat, and prevent it from being freed.
* Rework HU_UpdatePatch to HU_UpdateOrBlankPatch with a "required" boolean.
    * If desired graphic is not present in resources:
        * If required is true, return `missingpat`.
        * If false, return NULL as before (font compatibility).
    * Add an alias with the previous function signature, so you don't need to add a million `true`s everywhere.
* Remove a ton of irrelevant graphics the game attempts to cache only because of code inherited from vanilla SRB2.
* Remove the unused hudinfo system, also inherited from vanilla SRB2.
2022-05-14 14:56:02 +01:00
James R
11f97049b1 Merge remote-tracking branch 'origin/master' into uncapped-absolution 2022-05-11 17:09:59 -07:00
Sally Coolatta
1381a56077 Rewrite mines
Get rid of the tons of extra objects it uses for sounds & collision, do it all from the actual object PLEASE...
2022-05-07 22:59:38 -04:00