Commit graph

3181 commits

Author SHA1 Message Date
toasterbabe
4da6169892 Add spr2defaults[] array to make sprite2 defaulting system much, much simpler to manage.
This is in preparation for a seperate project which still involves sprite2s.
2017-08-25 18:00:20 +01:00
Monster Iestyn
c17eb94ef7 Merge branch 'lua-spritedefs' into 'master'
New Lua video lib functions for getting sprite patches

See merge request !105
2017-08-18 11:35:25 -04:00
Monster Iestyn
9703aa2864 Feed skin and sprite2 through P_GetSkinSprite2 to change sprite2 if necessary (if for instance the supplied sprite2 didn't actually exist) 2017-08-16 21:00:18 +01:00
Monster Iestyn
c9acc3cee4 Merge branch 'master' into lua-spritedefs 2017-08-16 20:13:26 +01:00
Monster Iestyn
3795a15164 Merge branch 'public_next' 2017-08-16 20:11:33 +01:00
Monster Iestyn
9b788b55f6 Merge branch 'patch-lua-cv_registervar' into 'public_next'
Patch: Lua CV_RegisterVar

See merge request !109
2017-08-16 15:06:41 -04:00
Monster Iestyn
9f726bc66d Merge branch 'new_coop' into 'master'
New Co-op

See merge request !104
2017-08-16 15:01:39 -04:00
Monster Iestyn
75d363527b Merge branch 'toastfixes' into 'master'
An assortment of relatively minor bugfixes and behaviour tweaks

See merge request !110
2017-08-16 14:58:30 -04:00
toasterbabe
f6670fea76 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into new_coop
# Conflicts:
#	src/r_things.h
2017-08-16 19:29:23 +01:00
Monster Iestyn
a33b09ca05 Merge branch 'skin_patch' into 'master'
Skin patching (P_SKIN) and killing DELFILE

See merge request !63
2017-08-16 14:20:21 -04:00
toasterbabe
6d3691d3d1 woops, compile fix 2017-08-15 22:40:19 +01:00
toasterbabe
06dc30ea54 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into skin_patch
# Conflicts:
#	src/dehacked.c
2017-08-14 21:34:37 +01:00
toasterbabe
6e79de3de8 Patched an out-of-bounds crash with papersprites in the least resource-intensive way I could find (xiscale not fitting perfectly into frac). This will have to do until papersprites get a make-over at some point. 2017-08-11 16:00:45 +01:00
toasterbabe
a00deee209 * Combine all shield-giving functions into a single one, since they were practically identical anyways.
* Expose P_SwitchShield(player, shieldnum) to Lua.
2017-08-10 13:57:09 +01:00
toasterbabe
709a43d3be Fix that thing where you-know-who didn't have a lives icon. 2017-08-09 22:51:29 +01:00
toasterbabe
8175e0836e Remove all trace of harddefs, considering we use an ANIMDEFS lump in srb2.srb now. 2017-08-09 22:09:06 +01:00
toasterbabe
1cab08e39f * Add SH_PROTECTSPIKE as a shield flag, because I kinda wanted to when I originally made shields, and SUBARASHII's cactus shield vindicated my desires.
* Tweaked the values of the shield constants slightly so that no base-game shield is made up of flags and only flags.
2017-08-09 20:56:31 +01:00
toasterbabe
a3767fedac Clean out code/update comments relating to TEXTUREn, TEXTURE (SOC), PNAMES, and ANIMATED. 2017-08-08 22:03:37 +01:00
Yukita Mayako
720987367a Prevent cvar naming conflicts from pointing Lua to the wrong internal data. 2017-08-08 14:27:02 -05:00
toasterbabe
a61be91523 Add a new feature to MT_PARTICLEGEN, per Sphere's request - if you give the parameters line a backside, then the backside x offset controls the number of tics between particle spawn. (By default, it's 3.) 2017-08-08 18:22:44 +01:00
toasterbabe
1d11a14f64 Getting polyobject flats to the equivalent functionality BEFORE I changed up how floor offsets worked. (Doesn't touch OGL, since they work perfectly there.) 2017-08-08 15:32:12 +01:00
toasterbabe
780f9b1645 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into new_coop
# Conflicts:
#	src/hardware/hw_md2.c
2017-08-07 20:36:14 +01:00
Monster Iestyn
42ed41aeb1 Merge branch 'maces_but_better' into 'master'
Maces but better

See merge request !103
2017-08-07 15:27:05 -04:00
Monster Iestyn
f3b7d2f89e Merge branch 'opengl-improvements' into 'master'
OpenGL improvements

See merge request !99
2017-08-07 15:06:16 -04:00
Monster Iestyn
bcfd949dce Merge branch 'save-mode' into 'master'
LF_SAVEGAME flag

See merge request !108
2017-08-07 15:01:43 -04:00
toasterbabe
2e1b81b5da Woops, silly find and replace 2017-08-07 19:23:48 +01:00
Monster Iestyn
15db571757 Merge branch 'master' into opengl-improvements 2017-08-07 19:06:49 +01:00
toasterbabe
d135f64464 Crash prevention 2017-08-07 18:58:41 +01:00
TehRealSalt
a813506b8f Clean whitespace 2017-08-06 23:47:39 -04:00
TehRealSalt
042729bd8f AA i'm forgetting everything today 2017-08-06 17:09:25 -04:00
TehRealSalt
5c1aaf3906 Guess who forgot to press "Save All Files" in Notepad++ ^^; 2017-08-06 17:07:23 -04:00
TehRealSalt
a5ca158622 LF_SAVEGAME flag instead of savemode
Also always save on file creation
2017-08-06 16:36:55 -04: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