Commit graph

3348 commits

Author SHA1 Message Date
TehRealSalt a5ca158622 LF_SAVEGAME flag instead of savemode
Also always save on file creation
2017-08-06 16:36:55 -04:00
Monster Iestyn 34908c9b29 Re-order P_RemoveShield's first/second layer shield code 2017-08-06 18:57:02 +01:00
TehRealSalt e24b8b917a Merge remote-tracking branch 'refs/remotes/origin/master' into save-mode 2017-08-06 01:19:33 -04:00
toasterbabe b51e80ef88 Make timer reset work in LF_NORELOAD as well. 2017-08-05 22:13:35 +01:00
toasterbabe 0a1e055ba1 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into new_coop
# Conflicts:
#	src/m_menu.c
2017-08-05 22:13:14 +01:00
Monster Iestyn 0ac63c0949 Merge branch 'lua-lump-load-only' into 'master'
Lua lump load only

This branch prevents the following Lua functions from being used within hooks or coroutines, to prevent netgame desync problems or any other similar oddities when using these weirdly:

* `freeslot()`
* `addHook()`
* `hud.add()`
* `COM_AddCommand()`
* `CV_RegisterVar()`

All of the above should only be called when the Lua script is being loaded (i.e. it takes place the same instant a ".lua" file or a WAD file with a "LUA_" lump is being loaded)

To put it another way:
```
//This is valid usage:
freeslot("MT_TEST")

//This is NOT valid usage
addHook("MobjSpawn", function() freeslot("MT_TEST2") end, MT_PLAYER)

```

See *Monster Iestyn/Lua lump load only* on the FTP for an exe and test script.

See merge request !87
2017-08-05 16:36:05 -04:00
Monster Iestyn 15a1112218 Merge branch 'master' into opengl-improvements 2017-08-05 21:08:48 +01:00
Monster Iestyn 2e2b71da92 Merge branch 'addfile_menu' into 'master'
Add-ons menu

Does what it says on the tin! Very pretty. Would like help testing in filesystems that are not Windows, although I've recieved assurances from Sryder that since it's based on the same filesrch code, it should work cross-platform. Just want to confirm it works, though.

Also, M_* is whitelisted lumpname too.

root/!LatestSRB2Files/srb2win_branch_addfile.exe, requires new patch.dta.

See merge request !92
2017-08-05 16:05:12 -04:00
Monster Iestyn c10c3d0441 Merge branch 'alignment_v2' into 'master'
Consistent flat alignment

Does what it says on the tin. Consistent between the three different plane drawers:

* Software flat (previously the only one working as intended)
* Software sloped (took a lot of work)
* OpenGL flat and sloped (worked reasonably well but used different signs for some reason)

Check out root/!LatestSRB2Files/srb2win_branch_flat2.exe, root/toaster/flatalignment.wad and any in-dev DSZ1 to test it all out.

See merge request !78
2017-08-05 16:04:41 -04:00
Monster Iestyn 102d30fe8d Merge branch 'nights_emblems' into 'master'
NiGHTS Paraloop-special emblems

Implemented the two NiGHTS Emblem types in the TUDD via var modifications to ET_GLOBAL!
* GE_NIGHTSPULL (for it to chase you once paralooped) - Sun emblem
* GE_NIGHTSITEM (for hidden until paralooped) - Moon emblem
* Combined means that you essentially have to loop it twice.

Also, revamped NIGHTSITEM to suck a little less (and have more compatibility with MT_EMBLEM).

Check out root/!LatestSRB2Files/srb2win_branch_nightsemblems.exe with the latest patch.dta, along with root/toaster/nightstest.soc for a sample in GFZS.

See merge request !94
2017-08-05 16:03:33 -04:00
toasterbabe e2a9d47ef6 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into new_coop 2017-08-05 12:28:31 +01:00
toasterbabe 8fcb66b3fa Allow for new coop leveltime reloading 2017-08-05 12:26:05 +01:00
Monster Iestyn c6be44d0da Merge branch 'linkdraw_reliability' into 'master'
MF2_LINKDRAW reliability improvements

Seriously improves the reliability of the linkdraw system (in Software, the only rendering engine which actually does anything with this information), reducing the number of visual errors it produces significantly. Deliberately engineered to only affect objects with MF2_LINKDRAW applied.

Of particular note: Standing in shallow pools of water as Smiles will now reliably associate the bottom half of the tails following mobj with the underwater portion of Smiles' body, and the flicking ends with his un-submerged head.

Test with ```<root>/!LatestSRB2Files/srb2win_branch_linkdraw.exe``` and ```<root>/toaster/smiles.wad```.

See merge request !101
2017-08-04 17:26:31 -04:00
Monster Iestyn 157c5625d7 Welp, that space removal was my fault 2017-08-04 22:22:20 +01:00
Monster Iestyn 0270e50ce5 Split off mostly map-specific code into a "CanSaveLevel" function, just to make things a bit less cluttered 2017-08-04 20:43:00 +01:00
Monster Iestyn 3fd9e9be3a Merge branch 'wallspike_tweaks' into 'master'
Wallspike tweaks

Sorry, MI. You told me to test the objects via objectplace, and they worked fine there - but @FuriousFox had some [issues](http://i.imgur.com/DQuLYzz.png) when he finally got to place them via mapthing.

Specifically, I think the problem this was caused by was a straight up copypaste of the "height" attribute of MT_SPIKE into the "radius" field of MT_WALLSPIKE, when it should technically be half that to match the intended collision box. Some other stuff also got adjusted to match when I solved this.

FF's happy now - they work well enough to place, even if their [collision is a little wonky](http://i.imgur.com/o2rG0tV.gifv), but that's an MF_PAPERCOLLISION issue and more than a quick fix to be done in an evening.

Nab ```<root>/!LatestSRB2Files/srb2win_branch_spikefix.exe``` to test.

UPDATE:

* Support for MF_PAPERCOLLISION tmhitthing in P_SlideMove.
* Knockback for wallspikes is much more consistent, fixing FF's gif as posted above/below.
* Optimised away a FixedDiv call when determining the slopetype of a line.
* Changed the position of the wallspike base slightly.
* Made it so NOTHING can step up onto the player outside of other players, essentially killing a bunch of springs-launch-with-players style bugs. (I was able to recreate that issue with the wallspikes until I added this, which is why I did it in this branch.)
* Wallspikes are now bustable.
* Invert the solidity mapthing flag for spikes and wallspikes.
* Improve the frame arrangement for vertical spikes' spriteset. (Requires new patch.dta)
* Make all spikes consistently do damage with DMG_SPIKE.
* (unrelated) renamed "flame stomp" to "elemental stomp" in P_HitDeathMessages.
* (unrelated) Make gas jets not make noise if they have the ambush flag, per Sphere's request.

See merge request !107
2017-08-04 14:28:44 -04:00
TehRealSalt 2d9a024c4a Commenting out lastmapsaved 2017-08-04 13:57:47 -04:00
TehRealSalt 9d17466d99 Added lastmaploaded to replace the lastmapsaved check
This allows saving in special cases where you can go to a map that
doesn't save, and then back to the map you saved on (see: SUBARASHII
special stages), while still preventing you from killing your lives by
repeatedly retrying in said map.

Kept lastmapsaved just in case. Can be removed if deemed unnecessary.
2017-08-03 20:27:31 -04:00
toasterbabe e21ae8de7d * Updated NiGHTS skincolor list on Rob's request.
* Unrelated: fixed a bug where FF_ANIMATE stuff tried to access rain's skin.
2017-08-03 00:01:12 +01:00
toasterbabe cca779e4a0 * Updated Supercyan constants/names to Supersky, considering the base skincolour Cyan was renamed Sky (and a new Cyan was made independently of that).
* Swapped the names of Cloudy and Silver so that Silver meant the shinier option.
2017-08-02 13:11:21 +01:00
toasterbabe 021e7ed1f0 Okay, actually fixed. Thanks, MI, for understanding the maths a little better than I :p 2017-07-30 17:45:27 +01:00
toasterbabe 1e1d191a75 Make it so you can't even STAND on spikes if you're flashing and moving away from them. 2017-07-30 16:52:39 +01:00
TehRealSalt 0b05b10bdb Merge remote-tracking branch 'refs/remotes/origin/master' into save-mode 2017-07-30 11:13:52 -04:00
toasterbabe 1180f0418e Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into new_coop 2017-07-26 17:52:34 +01:00
toasterbabe be5184a8cc ...fixed some weirdness with spinning I accidentially introduced in an attempt to fix it. 2017-07-26 16:34:33 +01:00
toasterbabe 672bcc349c * Hide the number of lives you can steal if game-overed. It's not directly relevant unless you're game overed.
* Fix an issue where everyone being game overed except for one person, and then kicking that one person, meant the game over trigger was never met.
* Fix an issue where the spectator text could be overridden with a count of the number of remaining players to complete the level.
* Fixed a few glitches with spinning. (Unrelated to the branch, but exposed through new_coop testing.)
2017-07-26 16:10:08 +01:00
toasterbabe 2bdf432703 Allow for the previous defaulting system to continue working. 2017-07-26 13:50:49 +01:00
Monster Iestyn 07c260a83e Merge branch 'master' into opengl-improvements 2017-07-25 19:11:16 +01:00
toasterbabe 3186d6a4e4 * An improved Multiplayer menu.
* If NONET, the Multiplayer option on the main menu leads directly to the Splitscreen menu, which also includes player 1/2 setup under this circumstance.
* A mechanism to save player name, skin and colour as defaults to config.cfg.
2017-07-25 18:34:13 +01:00
Monster Iestyn 3948ab6da5 Merge branch 'master' into lua-lump-load-only 2017-07-25 17:18:07 +01:00
Monster Iestyn 472d962e1a Merge branch 'master' into lua-spritedefs 2017-07-25 17:17:48 +01:00
Monster Iestyn cfbe180312 Merge branch 'public_next' 2017-07-25 17:17:22 +01:00
Monster Iestyn 55e0e71d92 Merge branch 'next' into public_next 2017-07-25 17:17:01 +01:00
Monster Iestyn bba78a95b5 Merge branch 'charability-trigger-hotfix' into 'next'
Charability trigger hotfix

Apparently when I made `P_RunTriggerSpecial` less than 3 years ago (August 2014) and cleaned up the trigger linedef code, I accidentally inverted the ability check for linedef types 305-307 by mistake, thereby causing the linedefs to activate for anyone EXCEPT those with the ability instead. Whoops.

See merge request !205
2017-07-25 11:07:03 -04:00
Monster Iestyn 821692fbf7 This was my fault, whoops 2017-07-24 17:53:18 +01:00
toasterbabe 634c560e99 * Who wore it better? https://cdn.discordapp.com/attachments/293238104096112641/338696939774279680/srb20037.png
* Now that Cyan is back, swap out the substitute Teal in the emblems for it.
* P_GetMobjSprite2 is now P_GetSkinSprite2.
* Correct "Siler".
2017-07-23 17:49:19 +01:00
toasterbabe 8941379c64 Implementation of all the new skincolours. No new exe yet, though, since I'm still doin' stuff. 2017-07-22 23:24:12 +01:00
toasterbabe b2e92e7a09 * Invert solidity flag for vertical spikes and wallspikes.
* (unrelated) Per a request by sphere, make the ambush flag stop sounds being made by the gas jet.
2017-07-19 17:07:31 +01:00
toasterbabe ef4dc42c7c * Bustable wallspikes.
* Improve the code for busting vertical spikes.
* Improve the frame arrangement for vertical spikes' spriteset. (Requires new patch.dta)
* Make all spikes consistently do damage with DMG_SPIKE.
* (unrelated) renamed "flame stomp" to "elemental stomp" in P_HitDeathMessages
2017-07-19 16:26:49 +01:00
Monster Iestyn 2456ae8260 Merge branch 'p_isobjectongroundin-fixes' into 'next'
Fixes for Each Time and P_IsObjectOnGroundIn

Fixes the issue with Each Time reported here: https://mb.srb2.org/showthread.php?t=42818

Also fixes a separate issue with P_IsObjectOnGroundIn and intangible FOFs (where it determined that standing at the top height of them counted as being on the ground) which was also reproducable via the above bug funnily enough.

See merge request !204
2017-07-18 22:51:29 -04:00
toasterbabe 2330f1a9c9 Account for the fact that pointtoangle2 points due weast if there's no dy OR dx, so that's taken care of. 2017-07-18 17:04:30 +01:00
toasterbabe d1be22ccf5 * Scope tweakin's to prevent having to make some stuff static.
* Make wallspikes intangible if you're being thrust away from them in pain.
2017-07-18 17:01:19 +01:00
toasterbabe a5477737d7 Whooh boy. Probably requires re-review.
* Support for MF_PAPERCOLLISION tmhitthing in P_SlideMove.
* Knockback for wallspikes is much more consistent.
* Optimised away a FixedDiv call when determining the slopetype of a line.
* Changed the position of the wallspike base slightly.
* Made it so NOTHING can step up onto the player outside of other players, essentially killing a bunch of springs-launch-with-players style bugs. (I was able to recreate that issue with the wallspikes until I added this, which is why I did it in this branch.)
2017-07-18 14:17:23 +01:00
toasterbabe 6d43fad098 Correct the baseradius stuff. (Still doing some other work, though - will let you know when the branch is safe to review.) 2017-07-18 12:56:39 +01:00
toasterbabe 66d59efddc Sorry, MI. More info in forthcoming merge request. 2017-07-17 23:58:54 +01:00
toasterbabe 6250266af5 Preparatory work for the contestesque implementation. 2017-07-17 23:26:24 +01:00
Monster Iestyn 4d740ff783 Change getSpritePatch and getSpritePatch to accept angles 1-8 instead of 0-7, and just decrement the numbers internally
0 now just defaults to front angle (1, or 0 internally), in case people thought it was a separate angle from 1-8 for some reason
2017-07-17 21:31:33 +01:00
Monster Iestyn 6e5cffba5b Create static function P_IsObjectOnRealGround for each time thinker to use in place of P_IsObjectOnGroundIn, for non-FOF floor touch specials
This fixes solid FOFs activating floor touch specials for normal ground if using an "each time" trigger linedef
2017-07-17 20:56:55 +01:00
Monster Iestyn 7d4513f2f1 Don't be stupid with FF_BLOCKPLAYER/FF_BLOCKOTHERS flags please 2017-07-17 20:47:00 +01:00
toasterbabe 9b506b2fde I legitimately cannot remember for the life of me why I added this check. It broke spectator text in gametypes outside of co-op, so... 2017-07-17 18:16:41 +01:00