Commit graph

4114 commits

Author SHA1 Message Date
Monster Iestyn
7a37794316 Merge branch 'crumble-FOF' into 'master'
Crumble fof

Basic (but kind of WIPish still) support for remote falling of FOFs by linedef execs or Lua. Originally started for Nev3r to use his dark magic on.

Making this MR so people actually remember I was doing something regarding crumbling FOFs, it's been months since I did stuff for this now mind...

* linedef type 446: basic setup is same as the remote shatter one (436), except the FOF of course falls down rather than shatters. By default the FOF respawns
 * *No Climb*: the FOF *doesn't* respawn
 * *Block Enemies*: respawning ability is determined by the FOF's flags (if it has FF_NORETURN it doesn't return, if it doesn't it does return)
 * *Block Enemies + No Climb*: inverted version of above
* EV_StartCrumble for lua, format: `EV_StartCrumble(controlsec, rover, [floating?, [player, [origalpha, [crumblereturn?]]]])`
 * *controlsec* is the FOF's control sector
 * *rover* is the FOF itself
 * (optional) *floating?* does the FOF float on water after crumbling? Defaults to false (NOTE: probably should be set to `rover.flags & FF_FLOATBOB` for best results currently, kind of weird otherwise)
 * (optional) *player* is the player that caused the FOF to fall; needed for some effects such as who to award points to if you killed someone =3 Defaults to nil
 * (optional) *origalpha* is the FOF's original alpha before crumbling (the thinker for respawning + floating crumbling FOFs tinkers with the alpha for some reason). Defaults to rover.alpha
 * (optional) *crumblereturn?* will the FOF respawn afterwards? Defaults to false (NOTE: probably should be set to `not (rover.flags & FF_NORETURN)` for best results currently, kind of weird otherwise)
 * the return value of EV_StartCrumble means something I forget offhand now ...it's either true or false though, mind

See MonsterIestyn/crumble-fof on the FTP for a test exe (srb2win-crumblefof.exe), a test map for the linedef, and a test lua script for EV_StartCrumble (which can also be tested in the map).

See merge request !55
2017-03-13 14:30:44 -04:00
Monster Iestyn
386fec037f Merge branch 'lua-more-stuff' into 'master'
Lua more stuff

More new Lua features and fixes:
* Most Lua functions that deal with stuff that exists only in levels now should spout Lua errors instead of crashing the game if you try to use them outside of levels. Likewise, accessing any of the tables that contain level-only stuff (players, sectors, lines, etc etc) spouts Lua errors too outside of levels.
* `userdataType(variable)` now exists: this function simply returns the type of the userdata variable given as a string (e.g. `userdataType(players[0])` returns "player_t", `userdataType(sectors[0])` returns "sector_t"). This also includes "minor" userdata types for array members of other userdata types, such as .powers of player_t variables or .lines of sector_t variables (which would give the strings "player_t.powers" and "sector_t.lines" respectively).
* The Lua hook "MobjMoveBlocked" now exists: functions for this hook are called whenever a mobj attempts to move horizontally but is blocked by a wall or solid mobj (or whatever else can cause P_TryMove to return false, assuming it doesn't remove the mobj). In theory this hook could be very useful for behaviour such as sliding or bouncing off walls without the need of flags like MF_SLIDEME or MF_BOUNCE etc. Format for use is just like most generic mobj hooks: `addHook("MobjMoveBlocked", functionname, MT_OBJECTTYPE)`, where `functionname` is a function that takes a single mobj_t argument.

See MonsterIestyn/lua-more-stuff on the FTP for a test exe (srb2win-lua-more-stuff.exe) and some test scripts for the above changes.

See merge request !67
2017-03-13 14:29:35 -04:00
Monster Iestyn
731ee115a3 Merge branch 'public_next' 2017-03-13 18:25:26 +00:00
Monster Iestyn
f40e1dc069 Merge branch 'next' into public_next 2017-03-13 18:24:50 +00:00
Alam Arias
7d25ab361a Merge branch 'next' into allowteamchange-fix 2017-03-12 21:50:31 -04:00
Alam Ed Arias
cb98c2d972 Merge branch 'master' into next 2017-03-12 21:34:19 -04:00
Alam Ed Arias
538eac7a47 appveyor: disable command output 2017-03-12 21:17:07 -04:00
Alam Ed Arias
4e8972cd24 build: no warning or error about logical-ip or tautological-compare 2017-03-12 21:16:37 -04:00
Alam Ed Arias
9cac1e9e62 build: fixup WFALGS/WFLAGS mistake 2017-03-12 21:09:06 -04:00
Alam Ed Arias
6bb7a636dc appveyor: output commands passed to GCCwq 2017-03-12 21:02:05 -04:00
Alam Ed Arias
81fe46213d build: do not overwrite the -Wno-error switchs 2017-03-12 20:51:45 -04:00
Alam Ed Arias
42ecca817d build: disable tautological-compare and logical-op 2017-03-12 20:43:35 -04:00
Alam Ed Arias
b01d5da60f build: fixup GCC54 endif 2017-03-12 20:23:30 -04:00
Alam Ed Arias
e0b2a4a779 build: add suport for GCC 6.3 2017-03-12 17:45:18 -04:00
Alam Ed Arias
b22417bcfa appveyor: buildbot now using GCC 6.3, not 5.3 2017-03-12 17:26:37 -04:00
Alam Ed Arias
2823c7bffb build: fixup warnings from GCC 6.2.1 2017-03-12 17:23:56 -04:00
Nevur
be9ca534d7 Whitespace indenting. 2017-03-12 20:26:45 +01:00
Nevur
144514247d Added exceptions to the transparent column drawers to avoid modifying pixels with the cyan color. 2017-03-12 20:02:29 +01:00
toasterbabe
b9ddc0226e Fixed a thing where super float started on the float frame normally and then immediately went to the float run frame a tic later. 2017-03-11 18:15:44 +00:00
toasterbabe
5b77ca5fed Reverted change where NiGHTS drilling sprites were technically the super version of flying sprites. It was not helpful to modders at all, and was only justifiable as a rutheless attempt at efficiency in storage. 2017-03-11 18:14:58 +00:00
toasterbabe
e20292844d * SPR2_DRL0-C are gone. They're now (FF_SPR2SUPER|SPR2_NGT0-C). This frees up a bunch of badly-used freeslots, considering that you can't be super AND NiGHTS at the same time.
* Speaking of, actively enforced not being able to be Super and NiGHTS at the same time.
* Also on that note - SPR2_TRNS is now the NiGHTS transformation. The Super transformation is (FF_SPR2SUPER|SPR2_TRNS).
* SPR2_NPAN is now SPR2_NSTN, since it matches Super Sonic's stun animation rather than the pain animation.
* Fixed a bunch of things where Super float was handled badly with 2AM brain.
* Fixed the R_ProjectSprite error going out of spr2names' bounds.
* Fixed order of FF's in dehackéd.
* Fixed that thing where Super Sonic was blue for 1 tic after transformation, and the life icon was a blue Super Sonic.
2017-03-11 17:14:39 +00:00
toasterbabe
75ac351940 It's 2am, I'll upload the exe and player.dta to the ftp later.
* Super sprites are now deliniated via an additional S_SUPER lump between S_START and S_END. Above are normal sprites, below are super sprites. Handled internally via FF_SPR2SUPER.
* Sprite2 numbers are now appropriately limited for the data type that stores them.
* SPR2_SPIN is now SPR2_ROLL, SPR2_DASH is now SPR2_SPIN and SPR2_PEEL is now SPR2_DASH. Makes more sense, right?
2017-03-11 02:09:01 +00:00
Monster Iestyn
4f80bd82a5 Merge branch 'metal_unsuck' into 'master'
Making Metal's pinch cues suck less

Does what it says on the tin. Give it a shot with <root>/toaster/metaltest.wad to skip the race and go directly to the boss to see what it does!

See merge request !70
2017-03-10 14:20:36 -05:00
toasterbabe
7f7d51a474 comment updates 2017-03-06 19:03:05 +00:00
Nevur
13dbe7d3a3 Fixed issue with vertical offsets being broken.
Add a vertical flip variant for the translucent column drawer.
Translucency is now properly distributed: 0.00 leads to no render at all, 0.1 to TRANS10, ..., 0.9 to TRANS90, 1 to regular column drawer.
2017-03-05 18:53:34 +01:00
Nevur
829be5bd43 Changed how R_GenerateTexture picks the function to draw the columns so it checks once per patch.
Also had to set the same args for all of the three current column drawer functions.
2017-03-05 12:49:09 +01:00
Nevur
bf5a10e4b7 The translucency feature is now functional, but it doesn't exactly work as expected. Need to make it behave like FOF translucencies etc., I guess. 2017-03-05 00:29:10 +01:00
Nevur
bb49362577 Add rudimentary and non-working code for translucency on patches. 2017-03-04 20:59:43 +01:00
Monster Iestyn
0f014fe20a Merge branch 'master' into next 2017-03-04 17:16:33 +00:00
Monster Iestyn
5019077f82 Merge branch 'precip-overflow-fix' into 'master'
Precipitation sprite overflow fix

This fixes artifacts of rain/snow sprites appearing on-screen in levels that have rain/snow, if said sprites were high enough above the camera. This kind of thing was previously fixed for sprites of regular objects (and textures of FOFs?), but apparently the fix wasn't applied to sprites for precipitation as it turns out.

I found this most easily reproducable in SRB2TD's Stormy Streets level, because some of the invisible FOFs make raindrops continually splash right up at the sky ceiling itself. Position your camera underneath them right and ...voila, ghostly precip sprites apparently appearing. (You'll need to make a SOC to make the level playable in vanilla SRB2 mind)

See merge request !169
2017-03-04 08:40:37 -05:00
Monster Iestyn
b0f4bbb44b Played TD's Stormy Streets enough to know precipitation sprites didn't get an overflow test of their own
(various large invisible blocks used in the level cause rain to make splashes high above the main level, high enough to make ghostly rain splash sprite artifacts appear sometimes in nearby areas)
2017-03-02 19:37:21 +00:00
Monster Iestyn
c43b41815f Make "Enter Game" option use the big blue window notice if you cannot switch teams, instead of falling back on changeteam's own console notice 2017-03-02 14:28:52 +00:00
Monster Iestyn
b837d5b23d Fix teamchange/teamchange2 to block changing FROM spectator rather than changing TO spectator
This way they're consistent with Got_Teamchange, which is the cause of the "illegal team change" desyncs
2017-03-02 14:25:46 +00:00
Monster Iestyn
6f2f244aef Remove "playerdeadview" variable; it's not been used for its stated purpose for who knows how long now
Besides rankings popping up when you die just sounds weird anyway, maybe I'm just used to SRB2 not doing it I guess
2017-02-22 21:07:29 +00:00
Monster Iestyn
6efb15c6e8 Fix Ban_Add usage for NONET 2017-02-20 21:36:05 +00:00
Monster Iestyn
7424df8180 Make sure I_Ban and Ban_Add are only used by the server
Also make sure the server actually uses Ban_Add if an admin banned someone
2017-02-20 19:58:29 +00:00
toasterbabe
76c15a0e97 Salt's suggestion. 2017-02-18 21:17:20 +00:00
toasterbabe
cf45067d9c Gametype descriptions.
https://gfycat.com/RelievedUnselfishChinchilla (competition's desc is slightly reworded but I'm too lazy to retake the gfy)
2017-02-18 17:09:03 +00:00
toasterbabe
2f9db4486a Minor corrections. 2017-02-18 14:03:49 +00:00
toasterbabe
c882851f14 Wide icons for the level select platter's exclusive usage.
https://gfycat.com/MenacingClearAngora

More for what's coming than what's here right now, but still quite pretty as a placeholder.
2017-02-17 01:45:21 +00:00
Monster Iestyn
84727f4205 Created W_OpenWadFile for opening WAD files with the path correction code.
This is used by Command_Addfile in the MD5 calculation code, so that it can search subfolders properly and allow addfile in netgames to treat them the same way as in SP
2017-02-16 21:55:17 +00:00
Monster Iestyn
a27367cdd4 Remove unused ObjectPlace_OnChange prototype (from when Objectplace was a consvar, which it is not anymore) 2017-02-15 21:16:56 +00:00
toasterbabe
758bec6963 Fixed a bunch of awkwardness where Metal wouldn't reset himself properly when his target died. 2017-02-14 02:07:08 +00:00
toasterbabe
a04ae45a93 MORE CUES 2017-02-13 18:53:16 +00:00
toasterbabe
3feac5bc90 bad bounce https://gfycat.com/DeliciousReliableGentoopenguin 2017-02-13 18:04:08 +00:00
toasterbabe
5f3cfc6729 Some cleanup. 2017-02-12 14:16:52 +00:00
toasterbabe
6dfef794a4 Metal Sonic's bounce attack is much nicer. Also, a bunch of other minor tweaks. 2017-02-12 01:28:12 +00:00
Monster Iestyn
8f1deb9128 Remove unused "runcount" variable from p_local.h 2017-02-11 23:28:42 +00:00
Monster Iestyn
a51548abea "t" is not needed to take out fencepost cases from viewangletox 2017-02-11 23:24:12 +00:00
Monster Iestyn
a5001a6af9 Removed unused function prototypes in d_main.h
Also corrected what appears to be a typo in some comments above?
2017-02-11 22:56:08 +00:00