Commit graph

12298 commits

Author SHA1 Message Date
James R
3f7c2ae0b0 Avoid using multiple tables to fetch hook
String hooks still use a table to fetch the id, but the id indexes a C array.

Also I fixed a missing call in the MusicChange hook.
2020-12-10 05:42:53 -08:00
James R
e0a307da15 Merge branch 'next' into hooklib-refactor 2020-12-10 03:09:24 -08:00
James R
0df5d8ff58 Oops! 2020-12-10 03:06:41 -08:00
James R
2ab71571aa Merge branch 'high-resolution-timer-2' into next 2020-12-10 02:55:02 -08:00
James R
8d382e49fb Big Large Lua Hooklib Refactor
* Hooks are no longer a mess of lua boiler plate. Helper functions reduce hooks
  to, at the most basic level, only two calls.
* Lua tables (the array part) are used to index hooks. Such tables contain only
  hooks of the same type.
* Hook types are defined in one place so you no longer need to sync up the enum
  and name array.
2020-12-10 00:36:41 -08:00
James R
e7883f3f8e That moment when you see HAVE_BLUA crawl back from the grave
This would mean MapChange hasn't been firing for demos ...since 2.2.5.
2020-12-10 00:36:14 -08:00
Zippy_Zolton
7082db485b CTF text 2, branch is finished 2020-12-08 16:09:51 -06:00
Zippy_Zolton
1b888c689c CTF text 1 2020-12-08 15:56:45 -06:00
Zippy_Zolton
45a4b728b3 zwip suggestion 2020-12-08 12:05:06 -06:00
Steel Titanium
c2de684150 Fix double free occuring when unloading the intermission patches due to the same patch being cached twice 2020-12-07 17:54:08 -05:00
Zippy_Zolton
2721725962 Final lap text for circuit 2020-12-07 16:46:05 -06:00
Steel Titanium
11bbad9be8 Tab fix 2020-12-06 22:58:17 -05:00
Steel Titanium
c3a560f51d Let's check for looping first 2020-12-06 22:30:50 -05:00
Steel Titanium
284205baac Fix SPC looping on libgme versions >= 0.6.3 2020-12-06 22:20:06 -05:00
Jaime Ita Passos
18ee97c583 Fix animated skincolors in OpenGL 2020-12-06 20:17:14 -03:00
Jaime Ita Passos
6f9c48a305 Move a few mobj spawn defaults to its own function 2020-12-06 17:46:35 -03:00
Jaime Ita Passos
24ba782144 Fix archived mobjs having no default blend mode and sprite scales 2020-12-06 17:29:20 -03:00
GoldenTails
6546fc8ce7 Fix HWR_DrawCroppedPatch scaling a patch when cropping the top and left sides. 2020-12-06 12:01:31 -06:00
Tatsuru
3b85abdee7 Kill saloon doors without a tracer, add height check for non-blocking doors 2020-12-06 14:11:08 -03:00
GoldenTails
233990099d Make caret coloring support letters. 2020-12-06 04:28:12 -06:00
katsy
8f4d23197c space 2020-12-06 04:32:30 -05:00
katsy
5853a0b4d8 Revert "add noclipheight on chaingrab"
This reverts commit 8541409329
2020-12-06 07:44:59 +00:00
katsy
ffd20ee753 Revert "ensure the new flag is cleared properly"
This reverts commit 3dbb44e7b1
2020-12-06 07:44:49 +00:00
katsy
2fcf613a31 brak barrier is scaled up by 2x in gameplay, the actual object's parameters should be halved 2020-12-06 00:13:10 -05:00
katsy
fd4674971a Replace p_inter.c 2020-12-06 00:10:45 -05:00
katsy
768ee57057 Replace p_user.c 2020-12-06 00:10:28 -05:00
katsy
a7fa2b2e49 Replace p_mobj.c 2020-12-06 00:09:40 -05:00
katsy
3dbb44e7b1 ensure the new flag is cleared properly 2020-12-05 23:17:01 -05:00
katsy
8541409329 add noclipheight on chaingrab 2020-12-05 23:13:47 -05:00
GoldenTails
f6af04ecbb Fix weird spelling mistake 2020-12-05 05:00:59 -06:00
James R
0b0f2e1e35 Invalidate taglist userdata 2020-12-05 02:26:00 -08:00
James R
5d1040c924 Reset taggroup iterator on successive calls 2020-12-05 02:08:00 -08:00
James R
8dd964e3a7 Lua: taglist.add and taglist.remove for sector tag lists 2020-12-05 02:02:06 -08:00
James R
e5a3e6a845 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
ae663e7247 Don't realloc twice when adding to the taggroup 2020-12-05 00:46:51 -08:00
James R
828d7e71ce Fix uninitialized last element when using Taggroup_Remove 2020-12-05 00:36:54 -08:00
James R
314fd2783a 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
c2217bb426 Mkae Lua taggroups indexable
They are 1-indexed.
2020-12-04 04:54:12 -08:00
James R
96851e52a1 hehehehehe what if I forgot to git add? 2020-12-04 02:27:46 -08:00
James R
621efbfa15 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
Jaime Ita Passos
2017eb4d9e Fix polyobject segs messing with 3D floors they shouldn't be 2020-12-04 00:03:54 -03:00
Steel Titanium
4c53eabc59 Reword the error to be more consistent with other errors 2020-12-03 21:14:27 -05:00
Steel Titanium
7d45a7c91a Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2 into lua-skinsprites 2020-12-03 17:29:08 -05:00
Tatsuru
fae845f935 Initialize in p_spec.c too + magic number replacement 2020-12-03 17:50:10 -03:00
Zippy_Zolton
29f56fb2d8 g 2020-12-03 02:05:10 -06:00
Zippy_Zolton
c28bd8005e Fix fire objects disappearing in lava 2020-12-03 01:28:54 -06:00
GoldenTails
b5526312e7 Fix missing stuff 2020-12-02 19:47:00 -06:00
Radicalicious
c98108df27 Revert "Update hw_light.c"
This reverts commit b254439592
2020-12-03 00:46:28 +00:00
Jaime Ita Passos
47b8c0648b Don't clip if the 3D floor is fog 2020-12-02 15:34:11 -03:00
Jaime Ita Passos
0ffb241c0a Fix 3D floor culling with polyobject segs 2020-12-02 15:31:11 -03:00