Commit graph

190 commits

Author SHA1 Message Date
MascaraSnake
cfadbb0f36 -Add linedef pointer to side_t, so sidedefs are able to tell if they're a front or back sidedef during setup
-Fix a broken condition during setup of texture fields for the change music linedef
2019-12-29 09:39:50 +01:00
James R
0780e48f86 Merge branch 'titlecard2' into 'next'
More customisable title card

See merge request STJr/SRB2!552
2019-12-24 14:47:55 -05:00
Jaime Passos
254d812901 More customisable title card
Add TitleCardZigZag, TitleCardZigZagText and TitleCardActDiamond fields to SOC.
Add the same fields to Lua under their internal names.
Turn map header level flags into an UINT16, so that NoTitleCard works. (NOBODY caught this, I'm actually disappointed.)
2019-12-18 00:28:58 -03:00
Monster Iestyn
f028bb0219 Fix numoflines calculations in sectorlines_* functions by first typecasting seclines (the sector.lines address) to size_t before doing any math on it, then (after the math) typecast the result to size_t * and dereference it.
And yes, this time I tested it to make sure it works :)
2019-12-16 17:46:27 +00:00
Steel Titanium
d415cd5c6d
Update copyright date on source files 2019-12-06 13:49:42 -05: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
mazmazz
46993268ae * Added FORCERESETMUSIC level header
* cv_resetmusicbyheader toggle to disable said override
* Never reset music during time attack
* Change cv_resetmusic default back to off
2019-08-04 20:02:38 -04:00
toaster
384dc0674e Revert "Revert "Merge branch 'musicplus-aug2019-b' into 'master'""
This reverts commit 603d5805f7.
2019-08-04 12:03:57 +01:00
toaster
603d5805f7 Revert "Merge branch 'musicplus-aug2019-b' into 'master'"
This reverts commit 56bfdb7113, reversing
changes made to c29cfbef9b.
2019-08-04 11:32:55 +01:00
mazmazz
cdb7250da4 Merge branch 'musicplus-feature-postboss' into musicplus-aug2019-b 2019-08-04 03:22:36 -04:00
toaster
7bff305672 * Strip the word "function" from INLEVEL error messages, since they're now shared between access and function cases.
* Move it into lua_script.h, so it's available to everything that needs it.
2019-07-30 17:57:57 +01:00
toaster
69e573517f Fix lua scripts erroring on the title screen because they're run there but it's not counted as GS_LEVEL (aka #168). 2019-07-30 17:48:13 +01:00
MascaraSnake
e9978b2955 Merge branch 'master' into thinkerlists
# Conflicts:
#	src/f_finale.c
#	src/p_enemy.c
2019-07-02 23:08:37 +02:00
Steel Titanium
a801efa946 Forgot to do this. 2019-06-23 18:51:42 -04:00
Nev3r
5401e9560f Dynamic slopes now use thinkers.
* Moved dynamic slope-related data into its own thinker.
* Vertex slopes no longer use the mapthings directly.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-19 14:14:43 +02:00
mazmazz
f163633591 Merge branch 'public_next' 2019-03-15 01:43:03 -04:00
mazmazz
6cf05a4613 Implement MUSICINTERFADEOUT level header 2019-03-15 01:05:52 -04:00
mazmazz
4377386153 Merge branch 'public_next' 2019-03-15 00:33:06 -04:00
mazmazz
9ec98c588f Merge branch 'public_next' 2019-03-14 22:15:34 -04:00
Monster Iestyn
f3796dc7f6 revert to LF_SAVEGAME system code, removing all traces of saveoverride
(I believe Sal wanted us to do this anyway, so...)
2019-01-08 17:14:21 +00:00
mazmazz
1e702443e3 Merge remote-tracking branch 'origin/musicplus-core' into musicplus-feature-postboss 2019-01-07 01:10:54 -05:00
Steel Titanium
827461cc36 Support for per-map intermission music 2019-01-02 05:15:23 -05: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
mazmazz
b7bb570f97 Merge remote-tracking branch 'public-gl/master' into public-musicplus-core 2019-01-01 10:41:40 -05:00
Monster Iestyn
76fe78571e fix ffloor.toppic/bottompic to be consistent in behavior with sector.floorpic/ceilingpic 2018-12-20 16:47:17 +00:00
Digiku
bea76aa4bf Merge branch 'save-override' into 'next'
Feature: Save override for level header

See merge request STJr/SRB2!392
2018-12-19 13:04:41 -05:00
TehRealSalt
bef3bb23f8 Undo dc92bb49 2018-12-16 21:36:54 -05:00
TehRealSalt
9e596d15af Save override for level header
Kind of like 2.2's, but with backwards-compatability with 2.1
2018-12-16 20:09:59 -05:00
Alam Ed Arias
14e98df69b Revert "Merge branch 'kart-luatextures-backport' into 'next'"
This reverts merge request !387
2018-12-16 22:57:39 +00:00
TehRealSalt
4ba23e1028 Expose R_TextureNumForName
Backport from SRB2Kart
2018-12-16 15:58:47 -05: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
mazmazz
8f87bf82cd Merge branch 'master' into musicplus-core 2018-11-13 13:46:30 -05:00
Monster Iestyn
a8291c122a adding lua_maplib.c comments for new slope-related userdata types 2018-11-10 15:47:04 +00: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
98fd9f8e42 WHY DID I FORGET THIS 2018-11-08 21:22:45 +00:00
Monster Iestyn
82c738ea4b Remove hasslope, per colette's warning about it potentially causing desyncs 2018-11-08 21:13:58 +00:00
Monster Iestyn
e95b54e64f missed this ESLOPE-needed area from a few commits ago apparently :V 2018-10-21 20:35:14 +01:00
Monster Iestyn
772004d3fd Fix editing slope xydirection with Lua 2018-10-21 18:25:13 +01:00
Monster Iestyn
3ec8743c1b Fix up the ability to edit slope zdelta and zangle with Lua (zangle is untested as of writing) 2018-10-21 17:32:53 +01:00
Monster Iestyn
e15ed742c1 add ESLOPE ifdef checks around all the Lua slope support code that was there before I was involved 2018-10-21 16:27:54 +01:00
Monster Iestyn
9296aaa28c zangle should be shifted down by ANGLETOFINESHIFT if we're to use FINETANGENT on it 2018-10-20 23:36:06 +01:00
Monster Iestyn
61fa7026a1 add vector2 and vector3 userdata types to simplify getting a slope's o/d/normal 2018-10-20 19:00:37 +01:00
Monster Iestyn
7d4e27937d Merge branch 'next' into lua-slopes
# Conflicts:
#	src/lua_maplib.c
2018-10-20 18:31:06 +01:00
mazmazz
c5ea6b5efe MusicPlus Core (positioning and fading) 2.2 -> 2.1 backport 2018-09-18 10:22:17 -04:00
mazmazz
c5d4ff5712 Merge branch 'musicplus-core' into musicplus-feature-postboss 2018-09-16 23:32:18 -04:00
mazmazz
8e4569381f Merge branch 'master' into musicplus-core 2018-09-13 13:24:46 -04:00
mazmazz
dabd7f99e6 Add MUSICPOSTBOSSFADEIN 2018-09-01 13:10:50 -04:00
Digiku
4882b7c3f8 Merge branch 'intermission-bonuslivesmax' into 'master'
Intermission: MaxBonusLives level header option for # of lives in score tally

See merge request STJr/SRB2Internal!162
2018-08-29 04:25:03 -04:00
mazmazz
4dd6b733d6 MUSICPOSITION -> MUSICPOS
* Added muspos level header var to lua

# Conflicts:
#	src/dehacked.c
#	src/lua_maplib.c
#	src/p_setup.c
2018-08-25 16:23:01 -04:00
mazmazz
493bc86b08 MUSICPOSITION -> MUSICPOS
* Added muspos level header var to lua
2018-08-25 16:21:34 -04:00
mazmazz
ed8288a028 MUSICPOSTBOSSPOSITION -> MUSICPOSTBOSSPOS 2018-08-25 16:18:09 -04:00
mazmazz
610a83f60e Added MUSICPOSTBOSSTRACK and MUSICPOSTBOSSPOSITION level header/variables 2018-08-25 16:10:46 -04:00
mazmazz
a3ed60d7bd Added MUSICPOSTBOSS level header for boss post-defeat music 2018-08-25 16:02:12 -04:00
Monster Iestyn
87e37e21df Merge branch 'public_next'
# Conflicts:
#	src/sdl12/i_cdmus.c
#	src/win32ce/win_cd.c
2018-08-21 15:40:54 +01:00
mazmazz
d8c565407c MaxBonusLives level header option for # of lives in score tally 2018-08-13 14:17:38 -04:00
Monster Iestyn
c703bc2fd7 Trim off any extra null bytes off the end of sector floorpic/ceiling when you access them in Lua 2018-08-06 22:37:44 +01:00
Monster Iestyn
2ac3f68438 Added in-level checks to a lot of these functions and tables for Lua use
This makes it less likely for the game to crash when stuff is used outside a level when they shouldn't be
2017-01-18 22:02:28 +00:00
Alam Ed Arias
94025ae947 Merge branch 'master' into lua-additions 2017-01-13 16:47:57 -05:00
Monster Iestyn
ab423f99c6 Optimising retrieval of sector_floorpic/ceilingpic
As LJSonic has pointed out, there's no need for a for loop in either case; just use sector->floorpic/ceilingpic as a levelflats index directly

(Besides, if that was to stop any out-of-bounds indexes being used, that's hardly the way to do it anyway)
2016-12-09 21:18:06 +00:00
Monster Iestyn
d294c9d15c P_NetUnArchiveWorld now uses P_AddLevelFlatRuntime instead of P_AddLevelFlat.
Also created P_CheckLevelFlat to just return the flat # from a name, since that's all P_NetArchiveWorld really needed from P_AddLevelFlat anyway
2016-12-08 21:45:25 +00: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
ebb1fd1470 node.children now also takes "right" and "left" as fields, as alternatives to integers 0 and 1
in other words node.children[0] == node.children.right and node.children[1] == node.children.left
2016-08-04 19:20:34 +01:00
Monster Iestyn
e3ab77ef21 node.bbox now works with the format node.bbox(child, bboxcoord)
child can be 0 or 1 (or "right" and "left", alternatively)
bbox coord can be 0,1,2 or 3 (or "top", "bottom", "left" and "right", alternatively)

Also added some support for bbox userdata taking "top" "bottom"  "left" "right" fields. Not that there's any use for non-node bbox userdata just yet...
2016-08-04 18:54:29 +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
Inuyasha
f07585191b copyright dates/statements updated and such
(no actual SLOC changes)
2016-05-17 17:42:11 -07:00
Wolfy
e769b7882c Merge branch 'lua-sector-lines' into 'next'
Lua sector lines

Adds support for "sector.lines" in Lua, an array containing all the linedefs in a particular sector variable:

#sector.lines returns the number of lines in the sector.

sector.lines\[ _i_ \] (e.g. sector.lines[0], sector.lines[1], sector.lines[2], etc ....) gives you individual linedefs in the sector. If the number you supply is equal to or greater than #sector.lines, this returns nil.

Test script for your benefit: (see comments)

Type "luatest" in console in any level and you'll get a few print messages that tests these features for sectors[0]

See merge request !32
2016-03-04 10:23:42 -05:00
Inuyasha
a8bca89dbd Merge branch 'backport_unslot-music' into 'next'
BACKPORT: removal of music slots

Relevant commits cherry-picked. Basically everything except the internal music track name switches.

See merge request !43
2016-03-03 22:31:21 -05:00
wolfy852
ad0069676a slope->normal is vector3_t, not vector2_t 2016-03-03 20:47:05 -06:00
Monster Iestyn
b3d842e859 Fix accidental copy+paste of o to d and normal in slope_get code 2016-03-03 14:43:42 +00:00
Inuyasha
61a0d1bcd1 don't use lstring
you have space for a null terminator there...
2016-03-03 03:09:35 -08:00
wolfy852
b0cbc8ab2a Lua slope manipulation stuff!
Warning: Incomplete. Very prone to crashing and I might not have handled some things properly. Use with caution.
2016-03-02 23:47:06 -06:00
Monster Iestyn
c7ba1d1532 Make sure target sector's lightlist is reset whenever FOF flags are changed.
This fixes how removing certain flags (such as FF_EXISTS) from FOFs can cause HOMs on walls bordering their target sectors. Also fixes how the force-FOF-to-vanish linedef special can leave behind the FOF's shadow
2016-02-26 18:11:12 +00:00
Monster Iestyn
e44c96e417 Merge branch 'next' of http://git.magicalgirl.moe/STJr/SRB2.git into lua-sector-lines 2016-02-09 19:58:51 +00:00
Inuyasha
8c17dac589 The concept of "music slots" doesn't exist anymore.
Use whatever names you want for your music. So long as you prefix the lumps with O_ or D_, it doesn't matter anymore.
DISCLAIMER: Linedef type 413 (change music) and Lua scripting is not tested.

(cherry picked from commit 025ca413a2)

# Conflicts:
#	src/p_user.c
2016-02-09 02:48:33 -08:00
Monster Iestyn
674ff51153 Fix shadowing in mapheaderinfo_get 2016-01-21 20:27:35 +00:00
Inuyasha
9d5718760d interscreen is a lump name and thus needs lstring
... not just lstring though, but the behavior with i that is used elsewhere.
2016-01-20 09:42:35 -08:00
Inuyasha
7d6dc3a5bb fix bad lstring usage in map header lua
This is not how you use pushlstring! This is actually sending uninitialized memory to Lua, which is making scripts have inconsistent results (duh?)

c/o JTE: "Tell Red they're a doofus."
2016-01-20 09:25:28 -08:00
Monster Iestyn
5abdb08a25 #sector.lines now returns the number of linedefs in the sector 2016-01-20 16:03:17 +00:00
Monster Iestyn
79e3e2351d Finally bothered to add in a method to obtain sector.lines' size internally to prevent going out of bounds.
Admittedly I knew of this particular method from the start but wanted to avoid it in favour of a less-hacky looking method of getting sector.lines' size ...but there was none to be found at all.
2016-01-20 14:56:52 +00:00
Monster Iestyn
103027124b Merge branch 'next' of http://git.magicalgirl.moe/STJr/SRB2.git into lua-sector-lines 2016-01-20 12:31:21 +00:00
Monster Iestyn
b564a169d8 Starting work for getting sector.lines in Lua: it WORKS at the least, but I have no way to determine the size of the array itself as of yet 2015-06-17 21:00:10 +01:00
JTE
f783df718c Reset tmthing after P_CheckSector calls from Lua
tmthing must not be set outside of P_MapStart and P_MapEnd
or the game will fail a sanity check which ensures that
mobj references are not persistent across frames and crash.
2015-05-22 01:51:40 -04:00
JTE
dfa8ac7ccb Added sidedef texture and offset manipulation to Lua. 2015-05-21 19:05:17 -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
MonsterIestyn
2d9d028bea Removed Lua's access to subsector/linedef validcounts and camera viewheight/startangle, since they are all useless for Lua purposes
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9040 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-31 18:00:13 -04:00
Alam Ed Arias
404b5f666c SRB2 2.1.12 release 2014-11-11 19:55:07 -05:00
Alam Ed Arias
c028c83235 SRB2 2.1.9 release 2014-08-03 23:49:33 -04:00
Alam Ed Arias
b93cb1b65a SRB2 2.1 release 2014-03-15 13:11:35 -04:00