Commit graph

11860 commits

Author SHA1 Message Date
James R
22270d354b Reset taggroup iterator on successive calls 2020-12-05 02:08:00 -08:00
James R
1c6133a39a Lua: taglist.add and taglist.remove for sector tag lists 2020-12-05 02:02:06 -08:00
James R
408d31431f Fix removing a tag unsetting the bit array even if more elements with that tag exist 2020-12-05 01:14:52 -08:00
James R
1216108ea3 Don't realloc twice when adding to the taggroup 2020-12-05 00:46:51 -08:00
James R
b21e3fc2bf Fix uninitialized last element when using Taggroup_Remove 2020-12-05 00:36:54 -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
3c0c15f28c Mkae Lua taggroups indexable
They are 1-indexed.
2020-12-04 04:54:12 -08:00
James R
4cf8e32135 hehehehehe what if I forgot to git add? 2020-12-04 02:27:46 -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
Steel Titanium
e7683fb239 Reword the error to be more consistent with other errors 2020-12-03 21:14:27 -05:00
Steel Titanium
acf0d768fb Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2 into lua-skinsprites 2020-12-03 17:29:08 -05:00
Tatsuru
e9a7d98522 Initialize in p_spec.c too + magic number replacement 2020-12-03 17:50:10 -03:00
Zippy_Zolton
dc53970fac g 2020-12-03 02:05:10 -06:00
Zippy_Zolton
5fc6864cc2 Fix fire objects disappearing in lava 2020-12-03 01:28:54 -06:00
GoldenTails
db7cc8e988 Fix missing stuff 2020-12-02 19:47:00 -06:00
Jaime Ita Passos
4b8b5d928d Don't clip if the 3D floor is fog 2020-12-02 15:34:11 -03:00
Jaime Ita Passos
fefd953a83 Fix 3D floor culling with polyobject segs 2020-12-02 15:31:11 -03:00
Tatsuru
2f44a9ab02 Don't spawn the projectile if you're just gonna delete it 2020-12-02 12:05:40 -03:00
Nev3r
0b6585b51d Move the numerical arg check below so that the string gets checked first (who decided to give them such similar names anyway). 2020-12-01 19:44:58 +01:00
Nev3r
f17cae1b5d Follow GZDoom's convention for stringargs. 2020-12-01 18:35:24 +01:00
Zachary McAlpin
7eebfdc7d4 Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2 into expose-selectheading 2020-11-30 23:48:49 -06:00
James R
6dea40beaa Fix double define 2020-11-30 19:04:23 -08:00
Zippy_Zolton
3015ee07ae thanks zap 2020-11-30 16:39:24 -06:00
Tatsuru
8502675e1b Initialize junk line tag lists 2020-11-30 18:21:06 -03:00
Zippy_Zolton
6bfccec3c3 oops 2020-11-30 12:05:45 -06:00
Zippy_Zolton
8c836971de overhaul 2020-11-30 12:04:35 -06:00
Zippy_Zolton
556dd3bfca P_GivePlayerRings 2020-11-29 17:39:54 -06:00
Zippy_Zolton
96ff6d002d Make P_DoSuperTransformation (with giverings) add 50 rings instead of setting it 2020-11-29 17:16:57 -06:00
GoldenTails
d8ab3a75ed Remove the rest of the Playing() checks for GameQuit hook 2020-11-29 16:53:29 -06:00
LJ Sonic
079df8df4d Merge branch 'fix-stacktrace' of https://git.do.srb2.org/STJr/SRB2.git into next
# Conflicts:
#	src/dehacked.c
#	src/dehacked.h
2020-11-29 21:54:15 +01:00
Zachary McAlpin
522dd26376 Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2 into expose-selectheading 2020-11-29 13:59:10 -06:00
GoldenTails
7c8a447d8f Always call GameQuit when quitting via the Quit menu option on the title screen. 2020-11-29 08:32:04 -06:00
GoldenTails
ded87cb54c Send a quitting argument to the GameQuit Lua hook 2020-11-29 08:30:50 -06:00
Nev3r
ed041a88a4 Merge branch 'fix-playercmd' into 'next'
Fix PlayerCmd not handling angle and aiming correctly

See merge request STJr/SRB2!1265
2020-11-29 05:30:01 -05:00
Nev3r
7f9eca0b13 Merge branch 'no-dd-make' into 'master'
Remove Direct Draw from Makefile

See merge request STJr/SRB2!1263
2020-11-29 05:29:21 -05:00
Nev3r
9fe6bd7ae9 Merge branch 'optimise-overridden-actions' into 'fix-stacktrace'
Only call the Lua API for overridden actions

See merge request STJr/SRB2!1254
2020-11-29 05:27:33 -05:00
Nev3r
17955311b9 Merge branch 'dehacked-hell' into 'next'
Split dehacked.c into multiple files.

See merge request STJr/SRB2!1222
2020-11-29 05:18:45 -05:00
James R
d5688f53a0 Don't print W_VerifyFile errors more than once 2020-11-28 20:51:21 -08:00
SMS Alfredo
6b83600300 Allow non-player objects to apply the CR_PLAYER carry type without crashing the game 2020-11-28 22:03:02 -06:00
James R
0587b89b93 Don't add pk3 if there are holes
ZIP tools often read the final central directory, but SRB2 may not if there are
multiple central directories. It's just easier to not allow "holes", or
unaccounted for bytes in the file.
2020-11-28 20:00:01 -08:00
James R
e3cae2315a Add missing *individual* skin flags 2020-11-28 02:22:08 -08:00
James R
7367acf00d Replace TC macros with an enum that automatically counts up
Also fixes TC_DASHMODE not being accessible to Lua.
2020-11-28 02:19:52 -08:00
Zachary McAlpin
09d4fb3a69 Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2 into expose-selectheading 2020-11-26 10:39:41 -06:00
Zippy_Zolton
9a8493f1c4 Fix normal one-up sound playing in Mario mode 2020-11-25 21:46:45 -06:00
James R
d6ed2f4ac8 Merge branch 'spritestuff2-fixes' into 'next'
Some fixes for spritestuff2

See merge request STJr/SRB2!1264
2020-11-25 19:26:49 -05:00
SMS Alfredo
12f36719b4 Allow player.lastlinehit and player.lastsidehit to be used outside of Knuckles' climbing ability 2020-11-25 14:31:24 -06:00
SMS Alfredo
0118d60c06 Expose player.skin and player.availabilities to Lua as Read-only 2020-11-25 12:35:36 -06:00
Zachary McAlpin
d418a8cd45 Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2 into expose-selectheading 2020-11-24 20:42:08 -06:00
Zachary McAlpin
d96f1738a1 Expose the selectheading option from mapheader_t in Lua 2020-11-24 20:41:11 -06:00
lachwright
9172661e47 Prevent non-CA2_SPINDASH characters from getting crushed by roll-jumping into a crevice 2020-11-24 14:56:22 +11:00