Commit graph

2813 commits

Author SHA1 Message Date
toasterbabe
9641196374 * Fixed bug with wide blank select pic being used instead of the normal one.
* Added length cap to savegame's zone name.
* Refactor to level select's zone name length cap code.
2017-08-25 00:40:45 +01:00
toasterbabe
16395f4dd2 Final corrections. Branch should be ready to merge now. 2017-08-24 21:29:29 +01:00
toasterbabe
00c62e6d88 * Removed unused info from struct as part of clean up.
* Made botskin being invalid make the entire save invalid.
2017-08-23 22:05:11 +01:00
Monster Iestyn
9c4e2eeeef Merge branch 'next' into netcode-fixes-the-sequel 2017-08-23 19:17:25 +01:00
toasterbabe
a81c3ca115 Update V_DrawCroppedPatch to match V_DrawFixedPatch's fixes. 2017-08-23 17:41:16 +01:00
yellowtd
519414b215 Merge branch 'master' into titlemap 2017-08-22 19:07:32 -04:00
toasterbabe
673fbc3ec2 * Make the delete save message include the save number.
* Update/improve ultimate mode interaction experience a little. https://cdn.discordapp.com/attachments/293238104096112641/349685399200727041/srb20027.png
2017-08-22 23:47:25 +01:00
Monster Iestyn
36977a5eda SDL_SetRelativeMouseMode(SDL_TRUE) already does what HalfWarpMouse does
Also, don't post an ev_mouse event_t if not in relative mouse mode, so the camera doesn't jerk when the mouse enters the window
2017-08-22 22:53:18 +01:00
toasterbabe
1e71b6d746 woops lmao 2017-08-22 21:12:02 +01:00
toasterbabe
8d78d32d64 * Fix an issue where valid savefiles would be hidden because there were at least three unused slots between that and the last visible save. In the process, made sure there were at least three slots visible at all times, but never show extras not needed to show all the saves.
* Optimisations in a bunch of places, including to static
* Fix some visual errors with text and patches near the edges of the screen in non-standard resolutions.
2017-08-22 21:02:33 +01:00
Monster Iestyn
821a1810f7 Moved lrounding of mouse motion events to the actual point an event is made
Also did some cleanup and moving around, as well as adding comments
2017-08-21 21:38:29 +01:00
toasterbabe
6e7605e4f3 * Add new graphics for the no save and ultimate slots, and make the invalid files look a little different.
* Push big endsign images downwards.
* Add a way to disable the ultimate slot.
* BwehHehHe()
2017-08-21 16:02:13 +01:00
toasterbabe
706eb5efeb * New, pretty save select! Requires patch.dta to really appreciate.
* Changed the save format a little more, since I had free reign over it.
* Modified the string drawing functions to not awkwardly clip at the very edges of the screen, considering the relevant patch drawing functions avoid out-of-range memory writes.
2017-08-20 23:18:47 +01:00
toasterbabe
42211f02b4 * Per Mystic's request, only set the number of lives in the save file if you actually use a continue, or completely wipe out your lives and continues.
* Fix a bug where I got emeralds and mapnumbers mixed up when checking for the "there's a tailsbot" flag.
* Consider a save with an invalid skin an invalid save, rather than allowing its continued presence.
2017-08-20 13:14:17 +01:00
Monster Iestyn
10cbe2c82b Turns out the issue was with fullscreen! All I have to do is factor in the resolution/real window size ratio apparently (which was already done before)
Also changed movemousex/y to INT32
2017-08-19 22:54:30 +01:00
Monster Iestyn
758e9c4558 Merge all (relative) mouse motion events into one mouse event
This fixes SDL2_RelMouse's weaker sensitivity for me on Windows (but apparently not for others??)
2017-08-19 21:39:04 +01:00
Monster Iestyn
d4141ae230 Remove unused floorinfo_t struct and some unused vars in the hardware code 2017-08-19 18:51:56 +01:00
Monster Iestyn
9805b82fec Disable "connect self" due to being broken, cleaned up ip+port part
Anyone know if "connect any" work at all? Would have disabled that too but apparently the game uses it if "-connect" is given with no params
2017-08-18 18:14:03 +01:00
Monster Iestyn
030c437186 Merge branch 'master' into mi-misc-whatever 2017-08-18 17:00:05 +01:00
toasterbabe
fd63db0aaf Starting lives revamp, per the 2.2 priorities topic list!
* Each time you die, the number of game overs you've had is counted.
* Your save file updates to record this.
* The number of startinglives is determined by the number of times you'ved game-overed, with the maximum being infinity lives (thereby providing a cap on the number of game overs you can go through in a typical game).

Requires a new patch.dta, but I'm not uploading that yet because not happy with the icon we've got going for infinity lives on the save select menu.
2017-08-18 00:58:16 +01:00
toasterbabe
2e6c09a636 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into directionchar
# Conflicts:
#	src/hardware/hw_main.c
2017-08-16 21:40:32 +01: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
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
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
Monster Iestyn
2d661fef18 Turns out we don't need to use SDL_SetWindowTitle on its own, since SDL_CreateWindow already deals with the window title anyway. So I've disabled everything related to Impl_SetWindowName for now
Also what were you thinking Fury?!? window shouldn't be NULL for SDL_SetWindowTitle, you backwards person you
2017-08-07 16:44:29 -04:00
Alam Ed Arias
35404be1e0 SDL: y input is flipped 2017-08-07 16:37:03 -04:00
Alam Ed Arias
c25b2eb37f Merge remote-tracking branch 'origin/master' into SDL2_RelMouse 2017-08-07 16:33:39 -04: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
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
Monster Iestyn
a0204c6722 Made P_SpecialStageDamage for the lose 10 rings damaging code shared by spikeballs and SS damage sector special 2017-08-06 22:10:29 +01: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
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
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
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
toasterbabe
9bd10fb0d2 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into new_coop 2017-07-17 16:44:10 +01:00
Monster Iestyn
e32774a604 Merge branch 'master' into lua-spritedefs 2017-07-16 22:19:54 +01:00
Monster Iestyn
832a7b1f5a Merge branch 'master' into opengl-improvements 2017-07-16 21:39:45 +01:00
Monster Iestyn
64fae001eb Update hw_light.c's sprite lights list with the updates to the sprites list (and any before that I missed)
Not that we're using coronas at all anymore so whatever
2017-07-15 21:16:45 +01:00
Monster Iestyn
dbc7a4099f Hardcoded SOC_TOKE from patch.dta
Or rather, I killed anything to do with the old background orb, renamed all "EMMY" stuff to "TOKEN", and of course adjusted the new S_TOKEN accordingly
2017-07-15 20:15:34 +01:00
Monster Iestyn
381138d7b1 Increased hitbox height of GFZ trees to 128 FU and gave them all MF_SCENERY 2017-07-15 16:57:03 +01:00
Monster Iestyn
00062220de Move spawning of base to P_SpawnMapThing, so objectplacing a wall spike doesn't look weird
Also attempted to "optimise" spawning and position correction code
2017-07-14 17:19:01 +01:00
Monster Iestyn
444e9ce7df Fix wall spikes being harmful from below, set initial destscale of base too just in case 2017-07-14 17:01:13 +01:00
Monster Iestyn
eacf753f2c Add the remaining code from the Lua script to get wall spikes actually working so far 2017-07-13 23:00:45 +01:00
Monster Iestyn
aa947ea022 Starting work for hardcoding wall spikes 2017-07-13 22:42:08 +01:00
Monster Iestyn
96ec319897 Hardcoded SOC_TREE from patch.dta
Also made sure the GFZ trees have MF2_STANDONME
2017-07-13 17:29:15 +01:00
toasterbabe
fe756d567e Add a "bias" to collision with chain ferris wheels to make it more likely that you'll grab one nearer to the center if you could potentially hit two in the next frame (previously was blockmap order dependent, which was never consistent) 2017-07-12 14:43:59 +01:00
Monster Iestyn
e485ac3a7e Add support for getting super sprites with v.getSprite2Patch
You can either add FF_SPR2SUPER directly to the sprite2 arg if it's a number, or you can use the new (optional) boolean arg between sprite2 and frame, where as you'd expect false = normal and true = super.
2017-07-09 16:33:43 +01:00
Monster Iestyn
2350e94a9f Merge branch 'master' into next 2017-07-09 15:08:51 +01:00
Monster Iestyn
2ac566fa85 Fix whitespace goofup of mine 2017-07-09 15:08:17 +01:00
Monster Iestyn
0dd15ed8a4 Merge branch 'master' into lua-lump-load-only 2017-07-09 15:06:15 +01:00
Monster Iestyn
3d2fd5d5a4 Merge branch 'master' into lua-spritedefs 2017-07-09 15:05:18 +01:00
toasterbabe
1f2743ce64 Clean up the event and caption when a life is transferred. 2017-07-08 19:42:01 +01:00
toasterbabe
fb00691324 Fix a bug in a testing netgame where we were able to game over and yet ended up just resetting the map normally. 2017-07-08 19:30:25 +01:00
toasterbabe
a0cf28671c Remove some jankiness from spectators. 2017-07-08 19:12:46 +01:00
toasterbabe
317259a459 Two fixes to playersforexit changes.
* Crash prevention if total somehow becomes zero.
* Don't waste time multiplying and demultiplying the HUD check if it's just gonna net you the same number.
2017-07-08 19:02:28 +01:00
Monster Iestyn
fb23f4c724 Merge branch 'master' into opengl-improvements 2017-07-08 17:55:40 +01:00
Monster Iestyn
023d91a02e Merge branch 'public_next'
# Conflicts:
#	src/y_inter.c
2017-07-08 17:49:54 +01:00
toasterbabe
b197dcdb1f A little bit of monitor love.
* Rename "Unknown" options to "Mystery".
* Make Random monitors work consistently in singleplayer if hacked/SOC'd in.
2017-07-08 12:31:37 +01:00
toasterbabe
5cc1b0dcd0 Exiting icon on the tab menu! (Requires new patch.dta) 2017-07-08 11:41:32 +01:00
Monster Iestyn
f0ffd691f4 Merge branch 'master' into next 2017-07-07 22:47:34 +01:00
Monster Iestyn
fe3f4f4ed1 Merge branch 'pwease_no_kicky' into 'master'
Pwease no kicky

Don't kick Tails! Also, a movement for the WRITESINT8 to prevent modification to buf if the function bails early.

This can go into Master, right? It only matters for the host, and it's explicitly only having a major effect outside of netgames.

See merge request !201
2017-07-07 17:45:59 -04:00
Monster Iestyn
4752109233 Some more tweaks of my own:
*Add CONS_Printf messages for !netgame checks
*Arg count is checked first regardless of netgame status for both kick and ban, < 2 is checked instead of == 1 just in case these weren't called from console for some stupid reason?
*Moved Command_Kick's buffer vars to within the code that actually does kicking stuff
2017-07-07 22:40:00 +01:00
toasterbabe
54a8602c4c Woops, forgot about other gametype spawncamping. 2017-07-07 14:39:51 +01:00
toasterbabe
88546abb08 Fix a few things noted during a test netgame with Salt and FuriousFox.
* Hide the individual lives on the tab menu whenever they're irrelevant.
* Make co-op spectators appear on the tab menu.
* Hide one frame of spectatorhood stuff in splitscreen.
* Fix joining netgames whilst in a special stage not giving the startinglives.
* Make monitors that don't appear to do anything play the failure sound.
* Only make players flash if they're REspawning, rather than spawning into a fresh level - unless it's a NiGHTS level, in which case never.
2017-07-07 13:35:48 +01:00
toasterbabe
25fb318a0b * Fixed a typo with the bit-shifting of the max speed, meaning that it wasn't being set as desired.
* Made the speed capping/minimising done at the point of changing it via player control, as opposed to the point of macerotate, in an attempt to fix a potential cause of mace rotation desynchronisation (not netplay, just https://cdn.discordapp.com/attachments/293238104096112641/331453363499696139/srb20180.gif stuff.)
2017-07-06 22:26:31 +01:00
toasterbabe
1a7a0662ba * Set player->outofcoop to false if it's not a coop gametype.
* Expose player->outofcoop to Lua.
2017-07-06 14:53:52 +01:00
toasterbabe
f809923f69 * If cv_playersforexit != "One", add a count of the number of players required to exit to the end tally.
* Make the default value of cv_playersforexit "All".
* Correct the greying out of the lives counter for cv_cooplives == "Single pool" to only be when you can't respawn.
2017-07-06 14:39:51 +01:00
toasterbabe
0bf676498a woops, the check was accidentially inverted 2017-07-05 22:43:45 +01:00
Monster Iestyn
e8df99c632 They didn't use V_HUDTRANS before and they probably shouldn't, my fault here 2017-07-05 22:30:18 +01:00
toasterbabe
014c1d8f03 https://cdn.discordapp.com/attachments/297148222332469249/332227405747847168/unknown.png
betterexit integration!
2017-07-05 19:33:41 +01:00
Monster Iestyn
815d10e15d Display minutes in full, so 60:00 for instance displays as 60:00 and not 0:00
The normal HUD display while playing a level doesn't do this, only the tally screen does it for some reason
2017-07-05 19:25:11 +01:00
Monster Iestyn
aca7a574f8 Copy+paste st_stuff.c functions and macros to accurately draw SCORE/TIME on the tally screen like they are when actually playing the level 2017-07-05 17:05:39 +01:00
toasterbabe
9a1e1180ff Also account for bans, pff. 2017-07-05 16:29:21 +01:00
toasterbabe
60e21381ab Don't kick Tails!
Also, a movement for the WRITESINT8 to prevent modification to buf if the function bails early.
2017-07-05 16:20:23 +01:00
toasterbabe
e55f24419e Additional opportunity for F12 message exposure pounced upon. 2017-07-05 13:44:50 +01:00
toasterbabe
fa42875aee Better setting names/values for various new and old console variables impacted by this branch. 2017-07-05 12:34:13 +01:00
toasterbabe
125646e521 Some minor tweaks to make countdown not COMPLETELY broken. 2017-07-04 21:33:16 +01:00
toasterbabe
e5eb6720f0 Change how countdowns are presented.
I would have changed how they actually worked, too, but I ended up breaking it and getting too frustrated/tired to continue.
2017-07-04 20:49:38 +01:00
toasterbabe
dad6ce9796 * Tweaked some monitor toggle names I forgot to modify.
* Added arrows to the "sky room" menu.
2017-07-04 14:59:48 +01:00
toasterbabe
a65598a97a Fixed Game Over being broken in singleplayer. Woopsie doodle! 2017-07-04 14:57:22 +01:00
toasterbabe
bc066a16a0 Whoops, I did some menu stuff in here. Oh well.
NEW COOP BASED:
* Add "Infinite" option to cv_cooplives, inspired by SUBARASHII. Lives still exist, but are hidden from the player's view, and are prevented from falling below 1 at any cost. As a result, made the variable CV_CHEAT.

OTHER MULTIPLAYER BASED (semi-related):
* Made cv_autobalance an on/off switch which determines the allowed difference based on the number of people in the server, instead of a weird and opaque number from 0-4.

MENU BASED (not related):
* Add horizontal arrows to menu options which respond to the arrow keys.
* Make the menu arrows bob.
* Switch out the seperate arrows for combination arrows on the joystick menus.
* Minor cvar description tweaks.
2017-07-04 13:17:29 +01:00
toasterbabe
2fd6a20be0 * Fix some HUD offsets.
* Don't attempt to respawn anybody when changing cv_coopstarposts and nobody CAN be respawned.
* Make Rings transparent (and not flash) when you're a spectator.
2017-07-03 16:33:52 +01:00
toasterbabe
50496970d1 Fix weird visual artifacting caused by restarting the level in co-op, which was a direct result of my code being messy. This is significantly better to deal with, anyways. 2017-07-03 15:43:29 +01:00
toasterbabe
ca76dd41f8 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into new_coop
# Conflicts:
#	src/p_user.c
2017-07-03 15:41:00 +01:00
Monster Iestyn
298c1af045 Merge branch 'lua-archive-value-fix' into 'next'
Lua archive value fix

This fixes some potential problems with archiving mobjinfo_t/state_t data via Lua in netgames (whether as custom mobj/player vars or by NetVars hook). Thanks to LJSonic for pointing this out to me.

See merge request !200
2017-07-02 20:23:29 -04: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