Commit graph

253 commits

Author SHA1 Message Date
Louis-Antoine
4938015253 Replace lua_pop(-1) with lua_settop(0) 2020-11-13 15:31:11 +01:00
Sally Coolatta
fc934b38e1 Merge public next 2020-11-10 15:32:48 -05:00
James R
a247719adf Merge branch 'register-metatables' into 'next'
Improve support for metatables in netgames

See merge request STJr/SRB2!1224
2020-11-08 19:30:51 -05:00
Louis-Antoine
88408619aa Show a console error if the gamestate contains too many tables 2020-11-08 17:33:49 +01:00
James R
745b293c47 Always allow access to the serverplayer 2020-11-05 20:00:21 -08:00
GoldenTails
6126e8badf Make mapmusflags and mapmusname writable. 2020-11-05 18:12:35 -06:00
GoldenTails
fbd20c9591 Make skincolor_* CTF color variables writable. 2020-11-05 17:38:32 -06:00
GoldenTails
cf3d6eb0af Make stoppedclock writable. 2020-11-05 15:22:45 -06:00
GoldenTails
3125128be7 Make displayplayer writable. 2020-11-05 13:43:33 -06:00
GoldenTails
4a0fd2309e Make gravity writable. 2020-11-05 12:39:03 -06:00
GoldenTails
69f24e34ad Make token writable. 2020-11-05 12:38:47 -06:00
GoldenTails
7bf8a4d056 Make emeralds writable. 2020-11-05 12:37:49 -06:00
Steel Titanium
00f9e777af Expose gamestate to Lua 2020-10-31 16:36:15 -04:00
Louis-Antoine
bbd09eace1 Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2.git into register-metatables 2020-10-30 14:46:04 +01:00
Sally Coolatta
7c2bd0d1c2 Merge remote-tracking branch 'srb2/next' into the-scary-22-merge 2020-10-24 20:50:58 -04:00
Louis-Antoine
6f707dfbda Let Lua scripts relink tables to their metatables when unarchiving
This is done through the new "registermetatable" function,
in a somewhat similar fashion to "freeslot" but for metatables:
it must be called at script load to tell SRB2 your metatable
can be automatically relinked during the unarchiving process.
2020-10-03 16:31:04 +02:00
Sally Coolatta
b5fcd74ef9 Merge master
Slopes in a few maps are really broken ... think it's anchors, I'm gonna leave that to jart :V
2020-09-25 12:00:50 -04:00
Monster Iestyn
d3f61027f8 Added polyobj.vertices and polyobj.lines to Lua 2020-09-09 21:15:02 +01:00
Monster Iestyn
9e37ef5473 lua_script.c fixes:
* make sure polyobj_t userdata is invalidated at level load
* add support for syncing polyobj_t Lua variables in netgames
2020-09-09 16:09:08 +01:00
Monster Iestyn
d5030f8a02 Begin work on adding access to polyobjects in Lua:
* create new file lua_polyobjlib.c
* made a stub LUA_PolyObjLib function
* added META_POLYOBJ to lua_libs.h
* updated makefile, CMake and MSVC project files for lua_polyobjlib.c
2020-09-08 18:08:08 +01:00
James R
cedb09bd92 Fix pointers on LUA_Archive and LUA_UnArchive
(servers joinable again)
2020-08-21 19:47:53 -07:00
FlykeSpice
2424418390 Remove ESLOPE #ifdef(backport from srb2 2.2) 2020-08-20 13:02:13 -04:00
SteelT
d98aee5a8d Restore many missing Kart globals 2020-08-18 13:01:12 -04:00
Sally Coolatta
0dc21106e5 Lua stuff is done 2020-08-15 07:47:18 -04:00
Sally Coolatta
9efdc98de6 Makes it through all kart files
All that's left is SDL, OGL, maybe also Lua
2020-08-15 04:42:56 -04:00
Sally Coolatta
5a6263c36b Make it past p_mobj 2020-08-14 20:48:06 -04:00
Sally Coolatta
8731c6b7a4 Another round of fixing up
- gametyperules are now fitting for kart, not applied to the whole codebase though
- a few more files compile
2020-08-11 16:13:17 -04:00
Sally Coolatta
e296e1309a YAY, round 2 2020-08-09 21:02:56 -04:00
SteelT
a7f2ab7dea Merge lua_script.c 2020-08-04 00:45:49 -04:00
Nev3r
3d90a6aebe Merge branch 'udmf-next' into 'next'
Merge udmf-next into next

See merge request STJr/SRB2!1075
2020-07-28 14:03:59 -04:00
James R
f4989f36bd Fix a lot of stuff related to the version automation 2020-07-10 22:39:46 -07:00
Nev3r
e301d268ec Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2/ into udmf-next
# Conflicts:
#	src/hardware/hw_main.c
2020-06-30 20:29:48 +02:00
Louis-Antoine
9e770ceec4 Expose "server" and "dedicated" to Lua scripts
Careful! Both are local variables and are always false for clients,
and therefore should obviously not be used in anything gamelogic-related.
2020-06-27 15:30:23 +02:00
SteelT
dbd5198ac2 Merge branch 'marathonmode' into 'next'
MARATHON RUN

See merge request STJr/SRB2!941
2020-06-17 19:36:10 -04:00
MascaraSnake
3ce62d7780 Merge branch 'next' into udmf-next
# Conflicts:
#	src/p_mobj.c
#	src/p_polyobj.c
2020-06-09 09:38:01 +02:00
Louis-Antoine
c1bdfea582 Fix dofile() return incorrect values 2020-06-01 15:43:14 +02:00
LJ Sonic
ba9df9b574 Merge branch 'next' into 'dofile'
# Conflicts:
#   src/lua_script.c
#   src/lua_script.h
2020-06-01 09:28:56 -04:00
Louis-Antoine
a71f690241 Show the traceback when a Lua script error happens 2020-05-30 20:24:33 +02:00
Sally Coolatta
63917ffccc The start of the scary 2.2 merge
All conflicts are left in-tact. We should be collaborating on solving these files one at a time.
2020-05-29 13:43:38 -04:00
Louis-Antoine
808b7b17cc Add dofile() to Lua 2020-05-29 17:35:07 +02:00
SwitchKaze
afe56667b8 Update to 2.2.4 2020-05-22 16:47:51 -05:00
toaster
4c412d931a Introducing Marathon Run. (I was going to call it Marathon Mode, but NiGHTS Mode being right next to it on the menu looked terrible.)
Basically a dedicated Record Attack-like experience for speedrunning the game as a continuous chunk rather than ILs. Has several quality of life features.

Benefits include:
* An unambiguous real-time bar across the bottom of the screen, always displaying the current time, ticking up until you reach the ending.
* Disable the console (pausing is still allowed, but the timer will still increment).
* Automatically skip intermissions as if you're holding down the spin button.
* Show centiseconds on HUD automatically, like record attack.
* "Live Event Backups" - a category of run fit for major events like GDQ, where recovery from crashes or chokes makes for better entertainment. Essentially a modified SP savefile, down to using the same basic functions, but has its own filename and tweaked internal layout.
* "spmarathon_start" MainCfg block parameter and "marathonnext" mapheader parameter, allowing for a customised flow (makes this fit for purpose for an eventual SUGOI port).
* Disabling inter-level custom cutscenes by default with a menu option to toggle this (won't show up if the mod doesn't *have* any custom cutscenes), although either way ending cutscenes (vanilla or custom) remain intact since is time is called before them.
* Won't show up if you have a mod that consists of only one level (determined by spmarathon_start's nextlevel; this won't trip if you manually set its marathonnext).
* Unconditional gratitude on the evaluation screen, instead of a negging "Try again..." if you didn't get all the emeralds (which you may not have been aiming for).
* Gorgeous new menu (no new assets required, unless you wanna give it a header later).

Changes which were required for the above but affect other areas of the game include:
* "useBlackRock" MainCFG block parameter, which can be used to disable the presence of the Black Rock or Egg Rock in both the Evaluation screen and the Marathon Run menu (for total conversions with different stories).
* Disabling Continues in NiGHTS mode, to match the most common singleplayer experience post 2.2.4's release (is reverted if useContinues is set to true).
* Hiding the exitmove "powerup" outside of multiplayer. (Okay, this isn't really related, I just saw this bug in action a lot while doing test runs and got annoyed enough to fix it here.)
* The ability to use V_DrawPromptBack (in hardcode only at the moment, but) to draw in terms of pixels rather than rows of text, by providing negative instead of positive inputs).
* A refactoring of redundant game saves smattered across the ending, credits, and evaluation - in addition to saving the game slightly earlier.
* Minor m_menu.c touchups and refactorings here and there.

Built using feedback from the official server's #speedruns channel, among other places.
2020-05-14 23:10:00 +01:00
MascaraSnake
c2037391d2 Merge branch 'next' into udmf-next 2020-05-13 10:01:12 +02:00
LJ Sonic
8b5becfcba Merge branch 'optimise-archiving' into 'next'
Optimise net-archiving of Lua strings, numbers and booleans

See merge request STJr/SRB2!904
2020-05-09 16:40:28 -04:00
MascaraSnake
7f74258951 Merge branch 'next' into udmf-next
# Conflicts:
#	src/p_saveg.c
#	src/p_slopes.c
#	src/p_spec.c
2020-05-01 12:44:39 +02:00
Louis-Antoine
1f830836ba Optimise number archiving 2020-04-28 23:12:02 +02:00
Louis-Antoine
9ce73e9790 Optimise boolean archiving 2020-04-28 23:11:28 +02:00
Louis-Antoine
6ec3ec4933 Optimise string archiving and allow for longer strings 2020-04-28 22:19:44 +02:00
Monster Iestyn
a1a7c3785c Do the same with writing ARCH_FFLOOR values in Lua archiving code (reading was already dealt with years ago) 2020-04-24 22:43:23 +01:00
MascaraSnake
d2e21afaf1 Merge branch 'next' into udmf-next
# Conflicts:
#	src/p_mobj.c
#	src/r_segs.c
2020-04-24 21:15:53 +02:00
Louis-Antoine
74e8d7f733 Rename lumpinfo_t.name2 to lumpinfo_t.fullname 2020-04-20 23:40:41 +02:00
Nev3r
860c44d953 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2/ into udmf-next
# Conflicts:
#	src/lua_hooklib.c
2020-04-12 09:57:19 +02:00
James R
7ff3e7f18b Merge branch 'lightmemedata' into 'next'
Cvars returned by CV_FindVar did not work with userdataType

See merge request STJr/SRB2!754
2020-04-09 19:48:39 -04:00
MascaraSnake
9b76d3af6f Merge branch 'next' into udmf-next
# Conflicts:
#	extras/conf/Includes/SRB222_linedefs.cfg
#	extras/conf/Includes/SRB222_misc.cfg
#	src/p_spec.c
2020-03-21 20:04:31 +01:00
Louis-Antoine
4e7605f0e2 Make SRB2 flat like Earth 2020-03-20 18:55:29 +01:00
Louis-Antoine
46df2b9551 Use HAVE_BLUA as fuel for my fireplace 2020-03-19 18:36:14 +01:00
MascaraSnake
6645030a39 Add boolean variable that indicates if current map is in UDMF format 2020-03-15 16:23:15 +01:00
Latapostrophe
6fe54eafba Fix Lua crashes when loading without addons 2020-03-12 16:03:12 +01:00
Latapostrophe
9abbd2d1b3 Fix Demo lua archive crash for real this time 2020-03-12 15:31:58 +01:00
Latapostrophe
ba8b962f61 Fix tiny conflict because I forgot to merge 2020-03-11 19:55:56 +01:00
Latapostrophe
5f11f7b8df Remove debug prints 2020-03-11 19:53:52 +01:00
Latapostrophe
778ab0a2bb Attempt to fix replay loading crash 2020-03-11 19:33:22 +01:00
SwitchKaze
99a1840101 Merge branch 'next' of https://github.com/STJr/SRB2 into next-luacolors 2020-02-23 11:50:13 -05:00
James Hale
51137837c4 Custom skincolors 2020-02-21 21:56:39 -05:00
Steel Titanium
fc042e90f0 Merge branch 'master' into next 2020-02-21 21:01:29 -05:00
James R
2274129f57 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
fickleheart
b87cea3272 Expose stoppedclock to Lua 2020-02-10 00:07:01 -06:00
James R
21794e7a94 lua_pushvalue is unneeded 2020-02-02 17:22:28 -08:00
James R
0f3a44887c LUA_PushLightUserdata takes the fun out of lib_cvFindVar 2020-02-02 15:19:19 -08:00
James R
2c9ea284a7 Kill Lua adminplayer 2020-01-12 20:04:05 -08:00
Jaime Passos
41e5789e04 Remove debugging stuff. 2019-12-28 19:50:14 -03:00
Jaime Passos
ba5516b99f Add gametyperules to LUA_CheckGlobals. 2019-12-23 19:16:10 -03:00
Jaime Passos
62f2fcc57e Add sstimer to LUA_PushGlobals. 2019-12-23 19:08:57 -03:00
Jaime Passos
4ebbe4e518 Move ALL the Lua global variable stuff into lua_script.c. 2019-12-23 18:49:23 -03:00
Jaime Passos
15a403c39b Turn noglobals into setglobals, move the extra global variable handling to gamestateglobals. 2019-12-23 18:33:39 -03:00
Steel Titanium
f94cfb5929 Allow access to bluescore and redscore 2019-12-19 16:17:08 -03:00
Steel Titanium
a5cdb0a4b3 Update copyright date on source files 2019-12-06 13:49:42 -05:00
MascaraSnake
c8cfe08144 Merge branch 'mi-tinkers-with-lua-again' into 'master'
MI tinkers with lua again

See merge request STJr/SRB2Internal!392
2019-10-25 15:27:55 -04:00
toaster
69197211d6 Fix dedicated server extra lua variables not being synched for joiners.
Original fix written by Lat`.
2019-10-15 10:49:14 +01:00
Monster Iestyn
59109b6ef4 Write a new hack for getting sector->linecount from sector->lines in Lua, to put my mind at rest about it at last.
1) In sector_get, actually push the memory address of the lines array within sector_t, rather than push the value of "lines" itself (essentially, we we want a pointer to a double pointer, or rather a TRIPLE pointer haha)
2) In the sectorlines_* functions, use offsetof to shift the memory address so we can obtain the value of linecount within the sector_t struct, and dereference the result to obtain the value of linecount itself
3) ??? profit

Untested and uncompiled atm, but I have some confidence this might work
2019-09-25 20:27:41 +01:00
Latapostrophe
7cf7e9cb55 i am a retard 2019-09-13 23:42:51 +02:00
Latapostrophe
7ca181df6e forgot to add back 'void' after undoing experiments 2019-09-10 13:52:32 +02:00
Latapostrophe
0599d23254 get replays to save player lua vars 2019-09-10 11:59:17 +02:00
Jonas Sauer
b7c783223a Fixed the thinkerlist issues by removing THINK_LIMBO. Delay-removed thinkers now stay in their list.
Also includes toaster's assorted fixes and improvements from target_painted_on_your_ass.
2019-07-13 01:42:03 +02:00
Nev3r
345984a396 Fix mobj list iteration oversights.
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 12:58:22 +02:00
Nev3r
baeda5060c Basic multiple thinker list implementation
Set up a main thinker list and a polyobject mover list to test things up. Works so far, networking as well.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-20 22:39:22 +02:00
Latapostrophe
2b61d81011 Fix dedicated server extra lua variables not being synched for joiners 2019-02-18 22:19:28 +01:00
toaster
4a87838f06 * Refactor all instances of majormods = true; to route through G_SetGameModified, and catch a few spots I missed in the process.
* Make G_SetGameModified only console-print for major mods.
* Add amnesty to "major mod" detection while loading files with custom savedatas.
* Improved the console prints for command `isgamemodified`.
2019-01-17 22:01:28 +00:00
toaster
0037f5c91d First steps at implementing a mechanism that allows you to load non-cheaty good-faith mods such as custom characters with no Lua scripting, and play record attack with them. Features a few bad hacks and a few more areas of improvement; I'll try to iron them out before they hit next or master. 2019-01-15 19:01:55 +00:00
mazmazz
81352aece1 WIP 20190101 merge
d_netcmd.c
filesrch.c
m_menu.c
p_setup.c
p_spec.c
r_data.c
r_main.c
r_things.c
w_wad.c
w_wad.h
2019-01-02 01:09:15 -05:00
TehRealSalt
a1bdfb1272 Merge remote-tracking branch 'srb2public/next' into merge-next 2018-12-03 00:31:23 -05:00
Monster Iestyn
2e12cf411d Backport the Blockmap library I made two years ago 2018-11-30 17:11:11 +00:00
TehRealSalt
4507ee18fd Merge remote-tracking branch 'srb2public/next' into merge-next 2018-11-29 08:49:50 -05:00
Monster Iestyn
d2c822c583 backport string len tweaks I made to LUA_LoadLump in internal 2018-11-27 23:06:31 +00:00
MonsterIestyn
d158d7e011 Merge branch 'next' into PK3-BackportNext 2018-11-26 18:56:51 +00:00
Monster Iestyn
d824e05a6f Merge branch 'master' into next 2018-11-25 20:39:17 +00:00
mazmazz
c91b2b4456 Update source copyrights to 2018 2018-11-25 07:35:38 -05:00
Nev3r
34c472dfb7 Merge branch 'PK3-Backport' into 'PK3-BackportNext'
Pk3 backport

See merge request Nev3r/SRB2!1
2018-11-24 06:02:19 -05:00
Nev3r
623c7097f1 Backported PK3 support to 2.1
Hopefully I'm not missing anything.

Signed-off-by: Nev3r <apophycens@gmail.com>
2018-11-23 16:58:16 +01:00
Monster Iestyn
7989e9a482 Merge branch 'public_next'
# Conflicts:
#	src/d_netcmd.c
#	src/d_netcmd.h
#	src/dehacked.c
#	src/g_game.h
#	src/hardware/hw_draw.c
#	src/hardware/hw_main.c
#	src/lua_baselib.c
#	src/lua_hook.h
#	src/lua_hooklib.c
#	src/lua_hudlib.c
#	src/lua_libs.h
#	src/lua_maplib.c
#	src/lua_script.c
#	src/m_misc.h
#	src/p_mobj.c
#	src/s_sound.c
#	src/sdl12/mixer_sound.c
#	src/w_wad.c
2018-11-10 15:41:57 +00:00
TehRealSalt
5b6efcba0c Merge remote-tracking branch 'srb2public/next' 2018-11-08 17:37:05 -05:00
TehRealSalt
c7b0df8172 Merge remote-tracking branch 'srb2public/next'
(Huge change: NO_MIDI is now a define, simply because that makes it easier for me to resolve merge conflicts if I can see the original code and the new code. Also means that people who REALLY miss MIDI can compile & fix it themselves :P)
2018-11-07 16:15:14 -05:00
Monster Iestyn
d0db97974f Merge branch 'next' into lua-slopes 2018-10-21 16:03:48 +01:00
Monster Iestyn
ccd5ee5127 Merge branch 'master' into next 2018-10-21 15:39:30 +01:00
Monster Iestyn
d55b4ea3dd Fix unarchiving of mapheader_t userdata Lua variables 2018-10-21 15:15:54 +01:00
Monster Iestyn
d5ea9a1242 Added support for pslope_t userdata variables in Lua archive/unarchive code 2018-10-21 15:00:07 +01:00
toaster
1142fddc71 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into nextmerge_plus_rain
# Conflicts:
#	src/d_netcmd.c
#	src/d_netcmd.h
#	src/g_game.c
#	src/p_floor.c
#	src/p_user.c
#	src/r_data.c
#	src/r_data.h
#	src/v_video.c
2018-10-14 21:52:05 +01:00
Monster Iestyn
89d7c55878 Merge branch 'public_next'
# Conflicts:
#	src/Makefile
#	src/lua_script.c
#	src/p_user.c
#	src/sdl/i_system.c
#	src/v_video.c
#	src/w_wad.c
2018-10-10 14:51:34 +01:00
Monster Iestyn
afd62ec071 Merge branch 'master' into next 2018-10-09 22:55:55 +01:00
toaster
d62566e3ea * Fix a memory leak regarding implementation of SOC_ (improperly copypasted code from LUA_LoadLump!!)
* Optimise the repeated strlen usage into a single call, which is stored for later.
2018-10-08 18:50:17 +01:00
Monster Iestyn
1952653f5b Merge branch 'public_next' 2018-08-10 19:36:51 +01:00
toaster
62ae9d5d64 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into sonicitems
# Conflicts:
#	src/f_finale.c
#	src/hardware/hw_md2.c
2018-08-07 21:20:27 +01:00
Monster Iestyn
2ad792ccd4 Rewrite archiving/unarchiving of Lua strings for netgames.
This now means:
* Lua strings longer than 1024 chars can now be read properly without awful crashes
* Lua strings with embedded zeros can be written/read without truncating anything (hopefully)
2018-08-05 22:02:20 +01:00
Sryder
47230e69c5 Always send gamestate to joiners.
It's cut down already outside of levels, needed to stop Lua sending mobj references during intermission though.
This is needed because in the past there was a separate way to send player information to joiners that has since been removed. Meaning player information is always desynched for joiners during anything but levels.
2018-07-06 20:25:13 +01:00
TehRealSalt
8fe068ef46 Merge remote-tracking branch 'refs/remotes/srb2public/next'
# Conflicts:
#	src/f_finale.c
#	src/hardware/hw_draw.c
#	src/hardware/hw_main.c
#	src/m_misc.c
2018-04-07 18:43:59 -04:00
Alam Ed Arias
afa68c8ccb Merge branch 'public_next' into master 2018-04-03 16:09:11 -04:00
Alam Ed Arias
1e76cb8a88 Merge branch 'master' into next 2018-03-14 14:29:42 -04:00
Louis-Antoine
dc02ef886f Fix Lua panic when archiving a table element with an userdata key 2018-03-09 16:40:34 +01:00
Monster Iestyn
02862511ae Fix SOC/Lua loading messages to display full names or even display at all (for PK3s at least), and otherwise some cleanup of existing code for the messages.
Also, I moved lua_lumploading on/offing to LUA_LoadFile.
2018-02-09 22:43:08 +00:00
Monster Iestyn
78d3ddcb34 Merge branch 'public_next' 2018-02-08 20:31:53 +00:00
Monster Iestyn
7dd919f3f8 Some fixes to prevent bad table key types causing Lua panic errors for joining players in netgames:
* ArchiveTables: print an error if invalid key, to alert script author potentially
* UnArchiveTables: if the key is found to be nil after reading key and value, print an error and don't set them in the table
2018-01-20 21:18:16 +00:00
Monster Iestyn
728d27f2d5 Merge branch 'public_next'
# Conflicts:
#	src/doomdef.h
#	src/sdl12/macosx/Srb2mac.xcodeproj/project.pbxproj
#	src/win32/win_vid.c
2018-01-02 17:32:24 +00:00
TehRealSalt
e62a473766 Merge remote-tracking branch 'srb2public/next' into quads
Update
2017-12-22 20:55:59 -05:00
Alam Ed Arias
825ae325c1 Merge branch 'master' into next 2017-12-16 16:07:31 -05:00
Louis-Antoine
beb9b0f103 Return for both players and mobjs if they've got an empty table, instead of just mobjs 2017-12-15 22:02:34 +01:00
Louis-Antoine
0b836a9841 Fix missing lua_pop in ArchiveExtVars 2017-12-15 16:31:27 +01:00
Sryder13
e60b3e1b88 Move Player collision check into the regular collision checking 2017-11-01 18:40:32 +00:00
TehRealSalt
5fe2f4928f Merge remote-tracking branch 'refs/remotes/srb2public/next' into zarrotsu
# Conflicts:
#	src/doomdef.h
#	src/sdl/i_main.c
#	src/sdl/i_video.c
#	src/y_inter.c
2017-10-17 15:53:34 -04:00
Monster Iestyn
0dd15ed8a4 Merge branch 'master' into lua-lump-load-only 2017-07-09 15:06:15 +01:00
Monster Iestyn
023d91a02e Merge branch 'public_next'
# Conflicts:
#	src/y_inter.c
2017-07-08 17:49:54 +01:00
Monster Iestyn
c751971d57 Fix integer type slipup in ArchiveValue for saving mobjinfo/state #s that LJSonic spotted
Apart from the fact that UnArchiveValue reads UINT16 for both anyway (which alone causes problems), but UINT8 isn't even enough to store the higher end of the object types list and definitely most of the states welp
2017-07-02 16:50:11 +01:00
Monster Iestyn
1462c638cb Added the "lua_lumploading" variable for restricting certain Lua functions to lump load time only 2017-04-25 21:45:53 +01:00
ZTsukei
cfdb127630 v1.3.04 - The Bouncy One
--------
Hardcoded Collide.lua.
Added player boolean array "Collide", used by Collide.lua.
Walls are now bouncy by default again, like they were in 1.09.
Buffed Orange Drift sparks, the boost now lasts 60 frames up from 40.
2017-04-17 13:20:52 -04:00
ZTsukei
5d0b9ef551 Friction updated. Added KARTSTUFF to lua. Added ->kartstuff to network syncing stuff (surprised it even worked before now???), also maybe items correctly reset at the end of level now. 2017-02-27 17:55:26 -05:00
Monster Iestyn
aa146dee41 Disabled all seg_t/node_t-related Lua code for now
To re-enable support for the above, uncomment the define HAVE_LUA_SEGS line in lua_script.h. Plain bbox userdata stuff is not disabled (though currently it's not used anyway)
2016-11-24 21:11:44 +00:00
Monster Iestyn
dc1e7165f7 Created lua_blockmaplib.c, for Lua's blockmap library
my P_SearchBlockmap_* functions are now a single searchBlockmap function, you can choose between "objects" and "lines" with the first arg to decide what to iterate through. I also rearranged the argument order a bit for easy stack cleanup etc

I'll remove the old stuff later, don't worry, it's disabled for now
2016-10-27 18:10:30 +01:00
Monster Iestyn
98e43ac0d9 Fixed ffloor_t Lua variables not actually saving to $$$.sav
Stupid overlooked semicolons
2016-10-25 16:15:17 +01:00
Monster Iestyn
3fba690d0a Allow $$$.sav to archive and read ffloor_t userdata Lua extvars
Oh, and P_GetFFloorByID is now a thing, to assist with the above. Also added a suitable description for P_GetFFloorBySec
2016-07-10 17:58:54 +01:00
Monster Iestyn
c8a2eaf8a6 Make sure to invalidate sector.lines and all ffloors for the previous map's sectors as well
(yes, I changed my mind about doing it in public repo, probably too much hassle if we want 2.1.16 out soon)
2016-07-10 17:35:05 +01:00
Monster Iestyn
f2b3640c6a Make sure seg/node arrays are invalidated in LUA_InvalidateLevel
(I'll fix sector.lines and ffloors and other things I missed in the public repo)
2016-07-08 20:43:02 +01:00
Monster Iestyn
4c723d05ac Added node_t and nodes[] to Lua
Still some issues with node.bbox, but the rest seems to work
2016-07-08 20:05:54 +01:00
ZTsukei
e4a970f894 Starting from scratch. SRB2 v2.1.15 2016-07-06 00:10:19 -04:00
Monster Iestyn
8211e89aec Add seg_t to Lua, may be of use to Nev3r (and possibly others, I guess)
segs[i] is the segs table, "for seg in segs.iterate" iterates through segs, you know the drill by now I hope
2016-05-25 17:15:44 +01:00
Inuyasha
f07585191b copyright dates/statements updated and such
(no actual SLOC changes)
2016-05-17 17:42:11 -07:00
Yukita Mayako
9d6e75ae4f Cleanup LUAh_NetArchiveHook prototype mess. 2016-03-03 17:30:10 -05:00
Yukita Mayako
0b704ba618 Updated NetArchiveHook to lua_hooklib.c
Fixes I_Assert failure crash due to hooks working differently now.
2016-03-03 17:07:05 -05:00
Alam Ed Arias
04c1a507ba Merge remote-tracking branch 'public/hotfix-hook_NetVars' into next 2015-09-03 13:54:12 -04:00
Yukita Mayako
52e2087ee7 Fixed NetVars hook mistakenly assuming index starts from 0. 2015-09-03 13:13:55 -04:00
Yukita Mayako
0af32ee2fa Move garbage collection out of Lua hooks.
That's supposed to be run once a frame, not once per hook
per mobj per frame you moron. If you just run it seven
thousand times a frame, of course your framerate will drop.
2015-06-10 13:42:45 -04:00
JTE
ef0e61fc33 Change LUA_NUMBER to fixed_t, change angle_t handling in Lua.
Angles now go from 0 to 0xFFFF (360 degrees == FRACUNIT) instead
of using a full UINT32. Lua only has one number type, so signedness
gets in the way of using angle_t directly. This handling of angles
matches up with how ZDoom ACS scripting and the like does it.

I also changed all the integer casts and pushes of fixed_t to
their own macro in preperation for possible future seperation.
2015-05-20 23:54:04 -04:00