Commit graph

184 commits

Author SHA1 Message Date
JugadorXEI
dc9bec000a Bot library for Lua (botvars getter/setter, bot functions) 2025-08-31 14:16:49 +02:00
NepDisk
2f84779d41 Update rest of the existing files to use blankart branding 2025-07-01 00:23:30 -04:00
NepDisk
bda7d26a0f Port basic lap anticheat for new waypoints from RR 2025-03-09 20:03:10 -04:00
GenericHeroGuy
8a51847fb1 Y'know what? Just make these functions one-based, sheesh 2025-03-03 21:18:07 +01:00
GenericHeroGuy
ebea1395d4 Map number compatmode 2025-03-03 01:28:51 +01:00
NepDisk
51154e346c rename tm to g_tm to fix C conflict 2025-02-22 01:24:53 -05:00
NepDisk
dcb3570475 Merge pull request 'Add support for longmapnames' (#22) from longmapnames into ACS2
Reviewed-on: https://codeberg.org/NepDisk/blankart/pulls/22
2025-02-17 22:38:05 +00:00
NepDisk
8f040ed151 Reapply 'Implement per-texture offsets in UDMF'
This reverts commit c713de1225.
2025-02-11 16:11:03 -05:00
NepDisk
c713de1225 Revert "Implement per-texture offsets in UDMF"
This reverts commit 6808564763.
2025-02-11 15:52:37 -05:00
toaster
1475feb734 Refactoring ahoy
* Instead of doing constant G_MapNumbers when finding the relationship between maps and cups...
    * Add a cache of level IDs to cups, to go with the strings.
    * Add a cache of the cup pointer to maps, so we don't have to search through all cups to find our map. (done in P_InitMapData)
    * Pre-emptive work: G_IsSpecialStage and P_GetNextEmerald now reference cup data instead of a hardcoded ID set.
* Remove a bunch of old stuff from mapheaderinfo_t/associated, and reorder what stays
    * Countdowntimer? 💥
    * Startrings? 💥
    * sstimer/ssspheres? 💥
    * forcecharacter? 💥 (distinct from forceskin)
    * interscreen? 💥
    * sstage_start/end and smpstage_start/end? 💥💥💥💥
    * You've been blocked
* G_MapNumber now returns a special NEXTMAP_INVALID if not found, for more consistent reference.
* Incorporate a good chunk of the `edit-headers` branch. Can't clear maps individually because of the new restrictions on sequential mapheaders, but we can add a "disable in vote screen, not even for map hell/archive" flag to a map at some future juncture for equivalent functionality...
2025-02-11 17:22:34 +01:00
toaster
88ae398eea Rework nextmap to be automatic
- Refactor significantly (now has its own func, `G_GetNextMap`)
    - If gametype uses cups, iterate through cups to find the current level, then grab the next valid level
    - If not, get the next valid mapheader for your gametype
    - SOC `nextmap`/`marathonnext` is not just deprecated but REMOVED
    - Hide the NEXTMAP_ constants again, but leave support dummied out for if we have them publically accessible again
- Also get rid of a bunch of OTHER mapheader stuff we're never gonna use
    - NiGHTS Grades? NOPE
    - Vanilla titlecard patches? NOPE
    - Boss music fadeout/replacement? NOPE
    - Select Heading? NOPE
    - You've been blocked.
- Don't show maps without lumps on the level select list
- this is me being petty, but making it NOTIMEATTACK in SOC instead of TIMEATTACK so we can reconsider the maps with/without them.
2025-02-11 02:24:01 +01: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
GenericHeroGuy
a78bfe2785 The rest of the changes from de1f67b 2025-02-10 21:56:07 +01:00
MascaraSnake
6808564763 Implement per-texture offsets in UDMF 2025-02-10 01:23:32 -05:00
MascaraSnake
8ee51262be Fix flag mixup in P_GetOldFOFFlags() 2025-02-10 01:06:56 -05:00
GenericHeroGuy
390fa8c30f Assorted Lua fixes, part 1 2025-01-28 02:29:43 +01:00
NepDisk
049c182288 Massive warning clean up 2024-10-23 00:01:03 -04:00
Sally Coolatta
34c4a207c7 Separate script args from mapthing args
SRB2 uses a LOT of mapthing args compared to Hexen (which has none) and ZDoom (which only has them on objects that will never ever activate scripts). So we really badly needed to separate the two if we want attaching scripts to things to be useful.
2024-10-16 13:19:31 -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
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
Oni
8012a21070 Merge branch 'alt-music' into 'master'
Alt Music

See merge request KartKrew/Kart!915
2024-09-07 13:57:13 -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
3aab5834fc d5155e3d83411be7e71953e2f8e8fdc52818b36d 2024-09-03 16:39:02 -04:00
NepDisk
a2fcc4bc20 UDMF cherry-pick cherry-pick 2024-08-20 02:47:00 -04:00
NepDisk
eb93c8df5b Fix possible crashes in the Lua API when accessing invalid fields
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2128\?commit_id\=6414e9db79771494f87662f902999a028aa385cd
2024-08-01 02:54:12 -04:00
NepDisk
64b36b90ae Use kart titlecard, redo fade and fix grow canceling 2024-07-29 15:38:06 -04:00
James R
08348fcd43 Merge remote-tracking branch 'srb2/next' 2021-04-05 01:26:17 -07:00
toaster
ebe38ff518 * Add a blend field to FOFs.
* Set via a fourth digit in the upper midtexture for transparent FOFs
        * For example - #2551 is additive solid, #1282 is subtractive half...
    * The original method of setting the upper midtexture to #900 or 901 still works, since I'm not out to break existing maps.
* Software: Remove the horrible `else if` ladder for FOF translucency. Algorithms, baby!
* OpenGL: Move to using `HWR_GetBlendModeFlag` in more places, for more long-term extensible support for multiple blendmodes.
2021-04-01 23:45:21 +01:00
LJ Sonic
2b576eade2 Remove misleading comment 2021-03-12 19:54:01 +01:00
Sally Coolatta
9d7ec0ab8f Merge SRB2 next
Probably doesn't compile yet, but I got rid of all of the conflicts for anyone who wants to take a stab at it.
2021-02-27 05:18:36 -05:00
LJ Sonic
412be3f5c5 Fix sector tags being signed in Lua 2021-02-25 23:41:43 +01:00
Nev3r
9d99a7880e Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2 into lua-tag-iterator
# Conflicts:
#	src/doomtype.h
2020-12-16 17:27:44 +01:00
James R
1c6133a39a Lua: taglist.add and taglist.remove for sector tag lists 2020-12-05 02:02:06 -08:00
James R
01e7c48630 Lua tag lists
Index and take length of tag lists like a table, 1-indexed. There are three
methods which may be used on tag lists:

list:iterate() - returns an iterator over the tags in the list
list:has(tag) - returns a boolean whether the tag is in the list
list.shares(list2) - returns whether two lists share a tag

"find" is also an alias to "has". Each method may be accessed from the global
taglist library too, e.g. taglist.iterate(list)

Tag lists may be compared with an equality operator too. This will tell you if
the two lists are composed of identical tags.

Accessible from sector.taglist, line.taglist and mapthing.taglist.
2020-12-04 13:53:27 -08:00
James R
775cb46f75 Lua taglib for accessing taggroups
The global "tags" can be iterated upon for every unique tag which is set in the
level. If a tag is set on a sector/line/thing, it will be included. Taking the
length of "tags" will give you the number of these unique tags. (If a tag is
set on multiple sectors/lines/things, it will only be counted once though.)

For sectors, lines and mapthings, call the field "tagged". This function takes
one argument, which is the tag. The return value can be iterated over for all
the sectors/lines/things with that tag. The length can also be taken for the
number of such objects. If no argument is given, the global tag is default.
2020-12-04 00:30:08 -08:00
Zachary McAlpin
d96f1738a1 Expose the selectheading option from mapheader_t in Lua 2020-11-24 20:41:11 -06:00
Nev3r
df6a903592 Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2 into udmf-multitag
# Conflicts:
#	src/lua_baselib.c
#	src/lua_maplib.c
2020-10-27 20:48:25 +01:00
Sally Coolatta
7c2bd0d1c2 Merge remote-tracking branch 'srb2/next' into the-scary-22-merge 2020-10-24 20:50:58 -04:00
James R
8e3ea37b21 Merge remote-tracking branch 'origin/next' into reverse-offsetof-macro 2020-10-15 16:15:20 -07:00
James R
66a6374dbe Merge branch 'lua-polyobjects' into 'next'
Lua polyobjects

Closes #19

See merge request STJr/SRB2!1140
2020-10-15 19:08:54 -04:00
James R
45f9df2951 Use the macro in sectorlines_num too 2020-10-10 17:40:01 -07:00
James R
bbb82166d3 Turn the lua sector lines hack into a macro 2020-10-10 16:43:09 -07:00
Monster Iestyn
f0f24e8276 lua_maplib.c changes now that polyobj_t is supported:
* added line.polyobj for line_t
* added subsector.polyList iteration function, for iterating polyobjs in a subsector
* added seg.polyseg for seg_t, in case we ever reenable support for segs/nodes
2020-09-09 17:31:44 +01:00
Sally Coolatta
c96bd5f64a Many removals
Lots of NiGHTS code, lots of ringslinger code, revert actnum behavior back to vanilla
2020-08-10 21:45:51 -04:00
Sally Coolatta
e296e1309a YAY, round 2 2020-08-09 21:02:56 -04:00
Sally Coolatta
3ad209a366 Merge lua_maplib.c 2020-08-05 14:04:13 -04:00
Zachary McAlpin
70fc6854b1 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into playercmd-kart-port 2020-07-30 15:37:41 -05:00
Zachary McAlpin
6877df94bc Ported Lat's PlayerCmd hook to vanilla SRB2 2020-07-17 00:08:38 -05:00
Nev3r
ebe16a66d9 Merge branch 'udmf-next' of https://git.magicalgirl.moe/STJr/SRB2/ into udmf-multitag
# Conflicts:
#	src/hardware/hw_main.c
#	src/p_ceilng.c
#	src/p_floor.c
#	src/p_mobj.c
#	src/p_mobj.h
#	src/p_polyobj.c
#	src/p_saveg.c
#	src/p_setup.c
#	src/p_spec.c
#	src/p_spec.h
#	src/p_user.c
#	src/r_bsp.c
#	src/r_defs.h
2020-07-10 18:18:07 +02:00