Commit graph

60 commits

Author SHA1 Message Date
Jaime Passos
5ebd84c3e7 Move ALL the Lua global variable stuff into lua_script.c. 2019-12-23 18:49:23 -03:00
Jaime Passos
d0f7877fd0 Turn noglobals into setglobals, move the extra global variable handling to gamestateglobals. 2019-12-23 18:33:39 -03:00
Steel Titanium
a39b6a1286 Allow access to bluescore and redscore 2019-12-19 16:17:08 -03:00
Steel Titanium
d415cd5c6d
Update copyright date on source files 2019-12-06 13:49:42 -05:00
MascaraSnake
403d698724 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
079ef023c9 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
75ee3193f4 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
Jonas Sauer
166f1fac66 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
696ccbd943 Fix mobj list iteration oversights.
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 12:58:22 +02:00
Nev3r
39ba20be6b 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
mazmazz
075f28b7c8 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
Monster Iestyn
11cb163435 Backport the Blockmap library I made two years ago 2018-11-30 17:11:11 +00:00
Monster Iestyn
e158206e55 backport string len tweaks I made to LUA_LoadLump in internal 2018-11-27 23:06:31 +00:00
MonsterIestyn
b53cd70201
Merge branch 'next' into PK3-BackportNext 2018-11-26 18:56:51 +00:00
Monster Iestyn
1b2aea81dc Merge branch 'master' into next 2018-11-25 20:39:17 +00:00
mazmazz
ea7162a76a Update source copyrights to 2018 2018-11-25 07:35:38 -05:00
Nev3r
6f5e3d42ff Merge branch 'PK3-Backport' into 'PK3-BackportNext'
Pk3 backport

See merge request Nev3r/SRB2!1
2018-11-24 06:02:19 -05:00
Nev3r
c548aaa347 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
268bde3fdf 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
Monster Iestyn
bd0c187e68 Merge branch 'next' into lua-slopes 2018-10-21 16:03:48 +01:00
Monster Iestyn
10f9403619 Merge branch 'master' into next 2018-10-21 15:39:30 +01:00
Monster Iestyn
87afae9cf5 Fix unarchiving of mapheader_t userdata Lua variables 2018-10-21 15:15:54 +01:00
Monster Iestyn
2ec4f2024f Added support for pslope_t userdata variables in Lua archive/unarchive code 2018-10-21 15:00:07 +01:00
Monster Iestyn
291ebf302c 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
8196c59557 Merge branch 'master' into next 2018-10-09 22:55:55 +01:00
toaster
1324e0bfcd * 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
fa382c0233 Merge branch 'public_next' 2018-08-10 19:36:51 +01:00
Monster Iestyn
2738f3a537 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
Alam Ed Arias
59f5b46ad3 Merge branch 'public_next' into master 2018-04-03 16:09:11 -04:00
Alam Ed Arias
5a04145e43 Merge branch 'master' into next 2018-03-14 14:29:42 -04:00
Louis-Antoine
aefe06e2ef Fix Lua panic when archiving a table element with an userdata key 2018-03-09 16:40:34 +01:00
Monster Iestyn
8556a05668 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
b1695de124 Merge branch 'public_next' 2018-02-08 20:31:53 +00:00
Monster Iestyn
fa3998e942 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
61176ee736 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
Alam Ed Arias
bd86f98822 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
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
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
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