Commit graph

5378 commits

Author SHA1 Message Date
toaster 6a58ae34d1 In order to make P_PlayerCanDamage more flexible, I ended up bundling the invincibility/super checks into there.
Also, the start of my improvements to CA2_MELEE. Users of that abiliy can only damage enemies/monitors if they touch the front of the player object, but to make up for it, the player is no longer forced away from the direction of the screen at bigger movement speeds.
2019-06-19 13:20:34 +01:00
toaster 3eb9b85fd4 "PlayerCanDamage" hook!
* Takes function(player, mo) input.
* Return TRUE for stating that yes, the player is in a state that can cause contact damage, do with that what you will.
* Return FALSE for stating that no, the player is weak and vulnerable and cannot cause contact damage, do with that what you will.
* Return NIL for allowing the function to continue regular operation.

Fills a different ideological niche than ShouldDamage - that's for determining whether damage dished between two objects should happen, this is for determining which way around damage should be dished when considering a player-object interaction.

Or, in other words, think of it as "ShouldDamage is whether damage that has been requested should be granted, for object-object interaction, while PlayerCanDamage is for whether global player properties should cause damage to enemies and monitors in the first place, like spinning, hammering or stomping."
2019-06-19 12:55:05 +01:00
toaster 28dfeb344b Instead of only performing a hook if the Lua Hook loop determines its type to be the one we want, actively continue through the loop if it's NOT. This optimisation was performed while preparing the following commit; I have generously split them out for less shitty commit-by-commit review. 2019-06-19 12:28:57 +01:00
toaster ef6e00e8a2 P_PlayerCanDamage(player_t*, mobj_t*), ported from the abandoned project_birthday because GOD the code looks awful with those huge monolith conditions in it. Available to Lua.
(Also, minor fixes to lib_pSpawnLockOn, and removing the SH_OP fuckery.)
2019-06-19 12:09:02 +01:00
MascaraSnake d388547021 Some more minecart fixes 2019-06-19 00:10:28 +02:00
toaster b0326b6dec Do some minor HUD fixes.
* Move HUD text's anchoring to underneath STR instead of above Lives.
* Adjust chat position slightly, to take advantage of SRB2's HUD layout having less content towards the bottom (unlike Kart, where it has roughly equal).
* Fix Match emeralds not displaying while in tab rankings with all-seven invuln/shoes bonus active.
2019-06-18 18:51:24 +01:00
MascaraSnake c11a3010d9 Fixed the Canarivore gas slowdown being much too weak 2019-06-18 19:29:53 +02:00
MascaraSnake 3634321f43 ... 2019-06-18 19:06:05 +02:00
toaster 1d65caa250 With permission from Kart Krew (Sal and Sryder specifically - they don't know WHY vanilla's using it):
* Port across the additional colour translation maps, including mobj-level support for "colorized" objects.
* Make Fangboss and both Metal Sonic objects greyscale if, on spawn, there is a player in the game who is not a spectator whose skin is that character.
* Allow bosses with MF_GRENADEBOUNCE to opt out of the MF2_FRET colour-flashing tomfoolery, and give this flag to Fang.
2019-06-18 17:55:57 +01:00
toaster 96d6cea569 Support backspace for resetting various menu values, just like Kart. 2019-06-18 14:36:06 +01:00
toaster 861d0d0b0a Improve rain/weather.
* Like Kart, remove cv_precipdensity.
* Like Kart, replace "Infinite" draw distance value with "None".
* Better thinker with more return optimisation.
* Better placement of thinking in rendering, to avoid ceiling-mounted sprite glitches.
2019-06-18 14:22:10 +01:00
Monster Iestyn 62ed90b252 fix type mismatch by typecasting 2019-06-17 20:54:06 +01:00
MascaraSnake 95a0b3fc86 Merge branch 'master' into new-acz-minecarts 2019-06-17 20:43:21 +02:00
Monster Iestyn 1638fad75e Part 2 of fix, make sure copied slopes also pass on hasslope status to attached target sectors for FOFs
Also fix whitespace to use tab-style spaces instead of regular spaces, ew
2019-06-17 19:00:04 +01:00
Monster Iestyn 50e8f13c03 Fix FOF slopes briefly glitching on level load in software mode, by ensuring the FOFs' target sectors have hasslope set on creation 2019-06-17 18:46:51 +01:00
MascaraSnake 647520e067 Adjusted the height difference for track switching 2019-06-17 08:41:51 +02:00
MascaraSnake 096bad14fb Minecart stopper itself also needs MF_NOCLIPHEIGHT and MF_NOGRAVITY 2019-06-16 22:26:52 +02:00
MascaraSnake e23ef050d5 Repaired the height difference check during track switching 2019-06-16 22:00:50 +02:00
MascaraSnake cf7e618b2f Fixed a bug with the Canarivore gas 2019-06-16 21:36:22 +02:00
MascaraSnake 68060b731f Fixed a sound bug 2019-06-16 19:08:20 +02:00
MascaraSnake db7bd4d35a Fixed the cacti heights 2019-06-16 18:14:15 +02:00
MascaraSnake fbd7a5ae59 Finetuned the saloon door swinging 2019-06-16 17:57:03 +02:00
MascaraSnake 7e0c9d9398 (Hopefully) fixed the player sometimes landing on the solid part of the minecart stopper after being launched out of the minecart 2019-06-16 17:07:13 +02:00
MascaraSnake c5a2d33d4e Added minecart support to A_MixUp 2019-06-16 16:49:18 +02:00
MascaraSnake 622a44f551 Fixed a bug involving players being thrown out of minecarts 2019-06-16 16:39:06 +02:00
MascaraSnake b6790c7f35 Snapper head/legs and minecart segments flash when they're destroyed 2019-06-16 15:35:32 +02:00
MascaraSnake 774ccad401 Do death animation even when MF2_DONTDRAW is set 2019-06-15 22:29:30 +02:00
MascaraSnake 71a25eef92 Don't jump repeatedly when holding jump 2019-06-15 21:58:58 +02:00
MascaraSnake 39deb64e4f Streamlined the minecart death handling 2019-06-15 21:43:36 +02:00
MascaraSnake 8e61cc6d13 Kill minecarts that fall into death pits 2019-06-15 20:59:56 +02:00
MascaraSnake 24c6dd1a68 Many more bugfixes 2019-06-15 20:21:18 +02:00
MascaraSnake 91c1e13273 Simplified the setup for the Snapper/minecart death animations 2019-06-15 17:33:07 +02:00
MascaraSnake 33ed2924e9 Fixed minecart not exploding on death 2019-06-15 14:21:27 +02:00
MascaraSnake a3784850b7 Removed an unnecessary tracer check 2019-06-15 13:52:27 +02:00
MascaraSnake 943ddeeabf You can now jump onto tracks that are running antiparallel to yours 2019-06-15 13:49:30 +02:00
MascaraSnake cede95fc21 Some more bugfixes 2019-06-15 00:59:13 +02:00
MascaraSnake 981443c826 Another bugfix 2019-06-15 00:12:58 +02:00
MascaraSnake cc9d7bee80 A bunch of bugfixes 2019-06-15 00:04:50 +02:00
MascaraSnake 018fb9b461 "Finished" minecart hardcoding (still untested and buggy) 2019-06-14 21:19:52 +02:00
Jaime Passos c591633733 Update m_misc.c 2019-06-14 14:13:41 -03:00
MascaraSnake db66f58f2b Merge branch 'acz-hardcode' into new-acz-minecarts 2019-06-13 21:52:08 +02:00
MascaraSnake 43f28b8f56 Set tracers via P_SetTarget and not directly 2019-06-13 21:51:31 +02:00
MascaraSnake ba9c7d9310 More incomplete minecart hardcoding 2019-06-13 21:45:30 +02:00
MascaraSnake 1ff64baf8b Merge branch 'acz-hardcode' into new-acz-minecarts 2019-06-12 21:28:39 +02:00
MascaraSnake fae4dc3f21 Forgot to hardcode the mobj.valid checks 2019-06-12 21:28:09 +02:00
MascaraSnake fafabaae2b Hardcoded the saloon door 2019-06-12 21:20:14 +02:00
Steel Titanium 5ee6c5095d Merge remote-tracking branch 'remotes/origin/master' into levelselect-tweaks 2019-06-11 20:06:02 -04:00
Steel Titanium 58bb05be00 Merge branch 'public-musicplus-libopenmpt' of https://git.magicalgirl.moe/STJr/SRB2 into public_libopenmpt
# Conflicts:
#	.travis.yml
#	src/m_menu.c
#	src/sdl/Srb2SDL-vc10.vcxproj
#	src/sdl/Srb2SDL.props
2019-06-11 17:48:00 -04:00
Nev3r a1b2a0a344 Properly take skybox viewpoint angle into account. 2019-06-11 14:47:58 +02:00
toaster 6c6ed6a349 Fix Titlemap with mazmazz's fancy menu stuff
Handled by changing some defaults.

Untested, experimenting with Gitlab Web IDE as reconfiguring my build environment is likely to be a pain and I'd like to put that off as long as possible please
2019-06-10 15:43:47 -04:00
MascaraSnake 6a46fc76b8 Fixed some angle business in the BASH code 2019-06-10 20:40:12 +02:00
MascaraSnake 068e07974d Hardcoded the new Snapper behavior 2019-06-10 20:32:50 +02:00
Nev3r ae6997621d Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal into portals2 2019-06-10 18:14:03 +02:00
Nev3r c014235ad3 Fix 1 extra column rendering on portal-clipped vissprites. 2019-06-10 17:59:12 +02:00
MascaraSnake 0e80d2ec5d Hardcoded the new Minus behavior 2019-06-10 17:42:37 +02:00
Nev3r d2605e0314 Remove remnants of portalcullsector. 2019-06-10 17:13:04 +02:00
MascaraSnake 85eece29d3 Fixed the bug 2019-06-10 16:19:58 +02:00
MascaraSnake b98de5d362 Hardcoded the new BASH behavior (there's still a bug lurking somewhere) 2019-06-10 16:09:15 +02:00
MascaraSnake 4d0b0f84b1 Pushables that are also vulnerable no longer block crushers (because they die anyway). This allows us to make TNT barrels pushable again. 2019-06-10 14:10:37 +02:00
MascaraSnake 98ea229680 Hardcoded the Canarivore 2019-06-10 13:58:16 +02:00
Nev3r 581e80ed69 Made Portal_Add static; move ffloors clip reset from R_RenderPlayerView to r_plane. 2019-06-09 22:48:54 +02:00
Monster Iestyn e7e3b0ef38 Merge branch 'public_next'
# Conflicts:
#	src/doomdef.h
#	src/hardware/hw_draw.c
#	src/m_misc.c
#	src/sdl12/macosx/Srb2mac.xcodeproj/project.pbxproj
2019-06-09 20:04:08 +01:00
Nev3r f536ab3467 Fixed crash regarding opening reallocating. A thousand thanks go for MonsterIestyn for figuring this out.
I carelessly changed the line's drawsegs to curdrawsegs without researching what that piece of code did.
2019-06-09 20:04:07 +02:00
MascaraSnake 3a16a7d7d4 Hardcoded train dust and steam spawner 2019-06-09 17:16:07 +02:00
MascaraSnake 6df14492a5 Hardcoded train cameo 2019-06-09 13:48:07 +02:00
MascaraSnake ca4ab06abf Hardcoded wood debris 2019-06-09 12:27:09 +02:00
MascaraSnake 7b603f4ac8 Hardcoded the TNT barrels and proximity shell (using mazmazz's A_TNTExplode implementation from the minecart branch) 2019-06-09 10:51:33 +02:00
MascaraSnake 546af19c82 Hardcoded oil lamp 2019-06-08 15:50:01 +02:00
MascaraSnake 3d65ec7426 Changed cacti widths 2019-06-08 14:45:01 +02:00
MascaraSnake 5ac594abf5 Fixed dust scaling, changed sound captions 2019-06-08 14:12:39 +02:00
MascaraSnake 1aaccfcd5c Hardcoded dust devil 2019-06-08 09:51:46 +02:00
Monster Iestyn f5d883bd12 Merge branch 'next' into 2.1.24-prep
# Conflicts:
#	debian-template/control
#	debian/changelog
2019-06-07 23:18:31 +01:00
Alam Ed Arias ea08ba3fba Merge branch 'master' into next 2019-06-07 18:07:32 -04:00
Alam Ed Arias 83b8a98df4 Merge branch 'gme-msvc' into 'master'
Add GME to MSVC 10 solution

See merge request STJr/SRB2!448
2019-06-07 18:06:51 -04:00
Steel Titanium c0c1e5416f Merge branch 'next' into 2.1.24-prep 2019-06-07 18:02:09 -04:00
Steel Titanium 3c08ee1313 Merge branch 'master' into travis-deployer
# Conflicts:
#	.travis.yml
2019-06-07 16:56:19 -04:00
Steel Titanium eb99ad0437 Merge branch 'more-limits' into 2.1.24-prep 2019-06-07 11:28:43 -04:00
Monster Iestyn 6f6d912fa6 Update version to 2.1.24 2019-06-07 15:48:33 +01:00
Nev3r 0795c7811a Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal into portals2 2019-06-07 13:11:51 +02:00
Nev3r 8c3ddd61d5 Refactored a bit of code regarding visplane bound trimming for portals; reset ffloor's f_clip/c_clip so that FOFs on portals don't interfere with previously acquired bounds. 2019-06-07 13:10:12 +02:00
Nev3r d2692ddd24 viewx/viewy also need to be stored/restored. 2019-06-06 13:31:48 +02:00
Nev3r 0d77e8afaf Add pad checks for visplanes; invalidate invalid columns from visplanes (visplane renderer and column renderers don't speak exactly the same language).
The visplane portal top boundary offset has been restored since all known bugs involving it have been fixed.
2019-06-06 11:26:13 +02:00
Nev3r 5284817259 Fix sigsegv when there is no main skybox viewpoint. 2019-06-05 18:45:36 +02:00
Nev3r 1c14062e8b Vissprite clipping improvements.
Vissprites are now only clipped against their respective portal's geometry obtained from their BSP run.
Additionally, if a portal is provided, they're clipped to the portal's clip boundaries.
The work on this branch should conclude after a pair of remaining glitches are fixed.
2019-06-05 18:07:08 +02:00
Nev3r 25b56ffecd Masked elements are now fully grouped individually for each portal/view; fixed viewz-related glitches,.
The drawnodes are now fully grouped in separate lists, and then sorted individually. This fixes sorting problems caused by portals belonging to differently perceived scales (skyboxes for example).

Drawsegs and vissprite/drawnode sorting require the viewz, so the viewz is stored for each portal/view, and then restored when needed; without this, the rendering process erroneously sorts the elements, and draws some at wrong positions.
2019-06-05 12:10:59 +02:00
Nev3r b22aa784fb Set a default frontscale for visplane portals.
I don't know whether this is necessary or not but I'm poking blindly trying to fix the sorting issues for now.
2019-06-04 21:04:35 +02:00
Nev3r 8abecc7f86 Created drawnode lists for each view/portal.
Each shall eventually have its specific vissprites/drawsegs; currently only drawsegs are stored in their correct list, vissprites are stored in the first list as a placeholder.
The idea is to sort each list individually, and then render their masked elements, starting from the last drawnode list.
This retains a non-recursive function calling method while still rendering things in order.
2019-06-04 20:15:42 +02:00
Monster Iestyn 0fd3668111 Revert "Merge branch '144-scrolltweaks' into 'master'"
This reverts merge request !213
2019-06-04 17:34:59 +00:00
Steel Titanium 742c43cf1c Some small tweaks 2019-06-03 17:34:51 -04:00
Steel Titanium 81dec89aeb Merge branch 'next' into public-musicplus-libopenmpt 2019-06-03 15:36:50 -04:00
Steel Titanium d4dac52766 Upped freeslots limit 2019-06-03 15:23:48 -04:00
Nev3r 2aabf6ffd5 Moving away more portal-related global vars to r_portal. 2019-06-03 13:33:12 +02:00
Nev3r 942c34a6af Moved validcount++ to where it used to be.
It seems to screw up the portal rendering in odd ways if it's in the wrong position. I apologize for not even knowing what it's meant to do nor how it works.
2019-06-03 13:04:27 +02:00
Monster Iestyn b7f75246e4 Merge branch 'master' into checksight-fixes
# Conflicts:
#	src/p_sight.c
2019-06-02 18:13:02 +01:00
Nev3r 264386f842 Add visplane portal creation functionality and use it to replace the skybox rendering.
The skybox rendering process has been replaced with portals instead. Those are generated after the first BSP tree pass by looking for existing sky visplanes at the time, and their windows are used to define new portals.
The skybox portals are still incomplete and cause visual glitches when masked elements are involved.
2019-06-02 00:07:55 +02:00
Nev3r df0a40b3c2 Code refactoring to turn portal struct into a more generalized shape.
Split portal-related code to its own source files.
Most of the 2-line-specific setup has been moved to the function which adds a 2-line case. The portals should render as they used to so far, anyway.
2019-06-01 13:07:23 +02:00
Monster Iestyn 571c5b89b5 Whoops, forgot to make P_CheckSight support slopes for same-sector FOF plane checking. 2019-05-27 21:18:02 +01:00
Monster Iestyn abfdac15a8 Fixed P_CheckSight to support slopes, both for normal planes and FOF planes
(Untested)
2019-05-27 20:36:35 +01:00
Monster Iestyn ad4006712e fix P_CheckSight to consider FOFs that completely block the view
(this could probably be in its own branch to be tested properly, but I'm on a roll with this atm)
2019-05-27 19:32:05 +01:00
Steel Titanium 34ce368895 Merge branch 'next' into jimita-unfuck-awayview 2019-05-25 19:47:45 -04:00
Steel Titanium dc273d3f23 Merge branch 'next' into jimita-flashpals-on-screenshots 2019-05-25 19:37:17 -04:00
Steel Titanium c8a5597492 Update libopenmpt to 0.4.4 2019-05-23 22:05:28 -04:00
Monster Iestyn 677801f5ff Hardcode the bomb's explosion states, the dust object type and states, and the sprite prefixes for both 2019-05-23 21:51:58 +01:00
Monster Iestyn e60b0b1a80 Update hw_light.c
(though I'm not sure why we bother, since coronas have been disabled for a decade now)
2019-05-23 21:08:27 +01:00
Monster Iestyn 7d0509f1cb Merge branch 'master' into acz-boss-hardcode 2019-05-23 20:38:25 +01:00
Monster Iestyn 742b11c0ff Hardcoded ACZ3.wad's version of A_TNTExplode under the name of A_Boss5BombExplode. After a lot of confusion and silly misunderstandings on my part (as well as a lot of mess cleaning), I've finally got there!
The states for the actual bomb explosion effect itself are yet to be hardcoded, but that I'll do tomorrow afternoon probably.
2019-05-21 21:51:19 +01:00
Steel Titanium ce1c1d8c88 Forgot some references 2019-05-20 23:31:23 -04:00
Steel Titanium bf3d5f4188 circleci: Fix compiling error 2019-05-20 23:22:23 -04:00
Steel Titanium 91767a7740 Merge branch 'master' into public-musicplus-libopenmpt 2019-05-20 21:33:10 -04:00
Monster Iestyn ec0719f74f Merge branch 'steelt-acz-things-hardcode' into 'master'
Hardcode some ACZ things

See merge request STJr/SRB2Internal!220
2019-05-17 12:22:21 -04:00
Monster Iestyn 572328a4fa Merge branch 'public_flatsprite' 2019-05-16 16:00:24 +01:00
Monster Iestyn 66bc287688 Merge branch 'public_next' 2019-05-16 15:58:17 +01:00
Monster Iestyn 600a373739 Merge branch 'master' into next 2019-05-13 16:07:30 +01:00
Monster Iestyn 2a9019c15e Merge branch 'archiveworld-sigsegv-fix' into 'next'
Fix SIGSEGV from sending lindefs/sidedefs in savegame due to duplicated lines.

See merge request STJr/SRB2!490
2019-05-13 07:02:48 -04:00
Alam Ed Arias addf2bb3c4 Fix NONET build 2019-05-13 01:51:36 -04:00
Steel Titanium 8a14427420 Merge branch 'perpetual-modifier-updates' into 'master'
Set modifiers in a non-reactive manner

See merge request STJr/SRB2!456
2019-05-13 00:36:06 -04:00
Steel Titanium 06961a8f5e Merge branch 'no-frameskip' into 'next'
Don't skip frames when connecting or paused

See merge request STJr/SRB2!489
2019-05-13 00:35:11 -04:00
Steel Titanium cad65ad5e9 Properly fix crash due to duplicated lines. 2019-05-13 00:23:43 -04:00
Steel Titanium 4e0cc2505a Revert "Check that lumps are okay"
This reverts commit 7ac0a8b4d2.
2019-05-13 00:20:39 -04:00
Steel Titanium b34aa86403 Hardcode some ACZ things 2019-05-11 22:56:23 -04:00
James R 7ac0a8b4d2 Check that lumps are okay 2019-05-08 20:30:19 -04:00
Monster Iestyn f0e16cad32 Merge branch 'master' into next 2019-05-08 16:31:05 +01:00
Monster Iestyn 8ea9d0e95c Merge branch 'alias_recursion_hotfix_2' into 'master'
Alias recursion hotfix 2

See merge request STJr/SRB2!482
2019-05-08 11:25:15 -04:00
wolfy852 8f05d75926 Don't skip frames when connecting or paused 2019-05-08 09:39:45 -05:00
wolfs e394f41c52 Merge branch 'public-musicplus-tagfix' into 'next'
Fix music load lag by reverting tag changes

See merge request STJr/SRB2!486
2019-05-07 22:42:13 -04:00
Sryder b304b268c8 No sprite billboarding on papersprites 2019-05-06 20:24:26 +01:00
Sryder 1f1d67cd7e Merge branch 'next' of git@git.magicalgirl.moe:STJr/SRB2.git into public_flatsprite
# Conflicts:
#	src/p_user.c
2019-05-06 20:20:57 +01:00
Monster Iestyn 406c3619d7 Merge branch 'master' into next 2019-05-06 19:38:53 +01:00
Nev3r aab2f55aec Merge branch 'banip-command' into 'next'
Ban IP command

See merge request STJr/SRB2!460
2019-05-06 13:09:14 -04:00
Nev3r ae25e8ea07 Merge branch 'console-wait-fix' into 'master'
Don't count down wait timer when executing a command line

See merge request STJr/SRB2!483
2019-05-06 12:56:07 -04:00
Nev3r 8b8e165d19 Merge branch 'opengl-sprite-billboarding' into 'master'
OpenGL Sprite Billboarding

See merge request STJr/SRB2!485
2019-05-06 12:45:53 -04:00
Sryder 8273534967 Add a cvar for sprite billboarding, off by default. 2019-05-06 16:57:32 +01:00
Monster Iestyn ea951eef78 fix an inconsistency I introduced between counting the waypoints and finding them again 2019-05-05 21:16:44 +01:00
Monster Iestyn ee0c4b42a6 fix P_CheckSight to consider FOFs that completely block the view
(this could probably be in its own branch to be tested properly, but I'm on a roll with this atm)
2019-05-05 21:03:15 +01:00
Monster Iestyn b9611c3a81 Hardcoded the cork's stun-you-even-while-flashing behaviour 2019-05-05 19:16:30 +01:00
Monster Iestyn b0087616c7 Hardcoded the boss's TouchSpecial hook.
Also cleaned up this part of P_TouchSpecialThing a bit while I'm here
2019-05-05 18:22:19 +01:00
Monster Iestyn 373d12cb82 Hardcode "slapstick" 2019-05-05 17:36:55 +01:00
Monster Iestyn f7fbf40437 Hardcoded MT_FSGNA's MobjThinker hook function 2019-05-05 16:42:50 +01:00
Monster Iestyn 9c0c0ad3dc hardcoded the boss's A_BossDeath behaviour.
(also turned this part of the function into a switch case to make things neater)
2019-05-05 16:03:34 +01:00
Monster Iestyn 289a412377 Hardcode the boss thinker function 2019-05-05 15:34:06 +01:00
Monster Iestyn 9e26d7bdaa I just checked how P_LookForPlayers works, and it turns out it doesn't modify the target *unless* it returns true. So I guess we've no need to account for a change in target in A_LookForBetter after all? 2019-05-05 14:09:09 +01:00
Monster Iestyn 09368963dd hardcode MT_FBOMB's MobjSpawn hook function 2019-05-04 22:46:27 +01:00
Monster Iestyn d44265a217 Mystery solved, he was turning "invisible" because of this mistake in A_DoNPCSkid 2019-05-04 22:38:14 +01:00
Monster Iestyn 691ae982e7 S_FANG_SLIDE wasn't defined in the Lua script, despite being declared :|
Also Fang seems to turn invisible after his first jump for some reason, and I can't figure out why???
2019-05-04 21:31:46 +01:00
Monster Iestyn 7b6b34212b Swap "S_TNTBARREL_EXPL1" for S_NULL as a temporary measure until I actually hardcode the explosion states.
As of now, you can now compile this branch with no issues. But Fang won't work properly for a while yet, we'll get there don't worry.
2019-05-04 20:20:34 +01:00
Monster Iestyn 445709037d Fix some compiler complaints about A_Boss5FindWaypoint 2019-05-04 20:17:00 +01:00
Monster Iestyn b205602db6 DO NOT USE FRACUNIT AS A LAZY WAY TO DO UPPER 16 BITS FOR ACTION VARS 2019-05-04 19:43:14 +01:00
Monster Iestyn a5331f8024 Fix A_LookForBetter to not leave a stray thinker reference lingering potentially forever, as toaster pointed out it might do. 2019-05-04 17:15:59 +01:00
Monster Iestyn 54fea4d0b9 AND I forgot these checks, confound it 2019-05-03 23:16:11 +01:00
Monster Iestyn ee1fd72f9f ah, forgot to do this 2019-05-03 23:12:03 +01:00
Monster Iestyn df99e93288 Hardcoded A_Boss5FindWaypoint
...that took a while x_x
2019-05-03 22:58:54 +01:00
Monster Iestyn 0d7cd34882 Hardcoded A_Boss5MakeItRain 2019-05-03 20:52:56 +01:00
Monster Iestyn b03bfbabe4 Hardcode A_DoNPCSkid 2019-05-03 20:00:31 +01:00
Monster Iestyn b4d8c2fa29 Hardcoded A_Boss5PinchShot 2019-05-03 19:46:41 +01:00
Monster Iestyn 6cd2b73273 Hardcoded A_LookForBetter 2019-05-03 19:14:17 +01:00
Monster Iestyn a0220454fd Hardcoded A_PrepareRepeat and A_Boss5Calm, added missing prototype for A_Boss5ExtraRepeat (and also fixed its description) 2019-05-03 18:51:17 +01:00
Monster Iestyn 1b2afea091 Merge branch 'public_next' 2019-05-03 16:42:42 +01:00
Monster Iestyn 454306cf86 Merge branch 'master' into next 2019-05-03 16:40:13 +01:00
Monster Iestyn a5dfbe7eff add parentheses around these conditions to fix sloped lights cutting out lights on FOF walls for apparently no reason
not making a merge request because this is so laughably stupidly simple
2019-05-03 16:38:59 +01:00
Monster Iestyn d4ab2837bb Merge branch 'master' into next 2019-05-03 16:00:45 +01:00
mazmazz 904b00e921 Remove song_length tag search
Because songs without this tag will skiplag when loading.
2019-05-02 19:14:23 -04:00
mazmazz 3e5b0c4531 Remove MP3 widechar tag searching
1. It's slow, 2. It's incorrect
2019-05-02 19:13:56 -04:00
mazmazz 89ab777c40 Merge remote-tracking branch 'origin/master' into menu-execs 2019-05-02 18:47:43 -04:00
Monster Iestyn 266fa05e15 fix a slipup in A_DoNPCPain I just noticed I made, whoops 2019-05-02 21:34:00 +01:00
Monster Iestyn 61eb05eab2 Hardcoded A_Boss5CheckFalling 2019-05-02 21:32:28 +01:00
Monster Iestyn 953a0c2967 Hardcoded A_Boss5ExtraRepeat 2019-05-02 21:21:15 +01:00
Monster Iestyn fb17c1ac5a Hardcoded A_Boss5CheckOnGround 2019-05-02 19:09:40 +01:00
Monster Iestyn 3bbc5d0b08 hardcoded A_DoNPCPain 2019-05-02 18:32:43 +01:00
Monster Iestyn 75701294ea Hardcode Fang waypoint object type (turns out no state is needed) 2019-05-02 18:11:44 +01:00
Monster Iestyn d92ccf6823 Hardcoded all the main Fang-specific object types, states and sprites.
This cannot be compiled as-is right now for the following reasons:
* Numerous actions still need to be hardcoded.
* MT_FBOMB uses the TNT barrel explosion (and by extention A_TNTExplode) for its death state. This is a pickle, I'll deal with it when I get to it.

Also missing:
* Fang waypoint object type+states.
* Fang's good looks (to be put in the resource files obviously).
* Fang's brain.
2019-05-02 18:01:18 +01:00
Sryder 4d77ed925e OpenGL sprite billboarding
Should work on both normal and precipitation sprites.
Sprites that are split by lighting should work correctly.
2019-05-01 20:15:00 +01:00
Nev3r a56e8e4f8b Merge branch 'further-mace-advancements' into 'master'
Further Mace Advancements

See merge request STJr/SRB2Internal!147
2019-04-30 15:15:35 -04:00
Nev3r 5c240eb9db Add back the p_slopes.h header guard
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 18:05:16 +02:00
Nev3r 62875d6728 Send the slope thinkers list after the mobj list
Keeping the sector list before the mobj list stops the objects from "entering" or "floating" on slopes. However this induces a new slope adhesion problem in fast-moving slopes, so it is more desirable to leave the "indent/float-on" behavior for now since fixing this one seems like a big can of worms and falls off this branch's scope.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 17:16:35 +02:00
Nev3r a9110c0645 Fixed more mobj thinker iterator oversights and removed all mobj thinker function checks
Mobjs got their own thinker list after all, and disappearing thinkers are automatically purged from their lists and sent to the limbo list.
So it's safe to assume all thinkers inside the mobj list must be mobjs.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 16:39:57 +02:00
Nev3r a3174fb56f Add a temporary limbo list for thinkers that need to be freed, in order to keep other lists clean, especially the mobj list.
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 16:17:47 +02:00
Nev3r fc9e141460 Give precip. its own thinker list
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 14:58:18 +02:00
Monster Iestyn 8cb0f55a90 Rename thinkers.iterate to mobjs.iterate, kill the "mobjs" arg (though you still need the parentheses). Done a bit messily/lazily, I'll clean up if we can confirm this works
I do wonder whether this library can be extended for all of thlist's lists... but for now it's mobj-only, since we only have the ability to mess with mobjs anyway.
2019-04-21 13:52:55 +01:00
Nev3r 696ccbd943 Fix mobj list iteration oversights.
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 12:58:22 +02:00
Nev3r aad78d4985 Give slope thinkers their own list right before mobjs'.
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 12:00:10 +02:00
Nev3r 11dba34f43 Remove dynamic slope queue list due to now being unnecessary.
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 11:52:18 +02:00
Nev3r d264d06879 Merge branch 'slopethinkers' into thinkerlists
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 11:47:34 +02:00
Nev3r 134679c287 Fix some of the polyobject thinkers being removed via P_RemoveThinkerDelayed() directly
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 11:08:24 +02:00
Nev3r b60c66325c Added a mobj-only list entry for mobj thinkers
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-20 23:29:20 +02:00
Nev3r 39ba20be6b Basic multiple thinker list implementation
Set up a main thinker list and a polyobject mover list to test things up. Works so far, networking as well.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-20 22:39:22 +02:00
Nev3r 7c17ed0aa6 Things spawning over copied slopes now properly align on the new plane
While I believe the opposite behavior was intentional at first, it has proven to be problematic and makes alignment a tedious task for copied planes.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-20 19:03:50 +02:00
Nev3r b3ac590e5e Add a slope thinker queue.
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-20 13:06:06 +02:00
Nev3r 83001a5bc9 Fix line-based slopes' normals.
The game never uses the normals directly yet so it's been left unnoticed ever since.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-19 20:34:22 +02:00
Nev3r 8a2e11ffa9 Small code cleanup
- Removed unused vars from the slope struct. I'm pretty sure they were meant for something at some point, but right now there's nothing using them and frankly I find it hard to understand what they were meant for.
- Removed unused slope flags.
- Flipped dynamic slope flag naming convention.


Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-19 20:30:13 +02: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
Nev3r f7d1515888 Perform dynamic slope thinking before other thinkers.
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-18 14:43:34 +02:00
Monster Iestyn 3203dc5d4b Remove old code altogether at Nev3r's request 2019-04-17 16:46:32 +01:00
Monster Iestyn 6bddd131da Undefine toaster's old define to flip full-brightness default status for planes 2019-04-17 14:51:48 +01:00
Steel Titanium 26fdee8217 Don't enable UPnP support if NONET is defined. 2019-04-16 15:05:09 -04:00
James R 36e678b292 Don't count down wait timer when executing a command 2019-04-14 15:17:47 -07:00
Monster Iestyn 797ca99f42 Detect infinite alias self-recursion mixed with other commands, such as in the case of alias a "echo test; a"; a.
(Unfortunately, this does not work if "wait" is used instead of "echo", but oh well)
2019-04-14 16:39:14 +01:00
Monster Iestyn 8a2f8a441b Merge branch 'master' into opengl-new-patch-features-support 2019-04-11 20:09:57 +01:00
Monster Iestyn 212be85655 added "checkmobjs" boolean to both Polyobj_moveXY and Polyobj_rotate, so we can disable interaction with mobjs for netgames 2019-04-05 12:03:03 +01:00
Nev3r 1d401d8481 Merge branch '144-scrolltweaks' into 'master'
Resolve "Let scrollers and wind/current affect front sector if untagged, and use texture offsets as parameters if different from 0"

Closes #144

See merge request STJr/SRB2Internal!213
2019-04-05 06:41:11 -04:00
Nev3r fec991dedb Implement displacement-based polyobject rotation.
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-05 11:50:59 +02:00
Monster Iestyn 07a66e5355 Merge branch 'public_next' 2019-04-02 15:49:15 +01:00
Monster Iestyn ab0fe6b164 Merge branch 'master' into next 2019-04-02 15:47:07 +01:00
James R 42d25f67ca Merge remote-tracking branch 'origin/master' into less-obtuse-console-fixes 2019-03-31 12:29:55 -07:00
Monster Iestyn 7ae6d5ee8c Merge branch 'public_next'
# Conflicts:
#	src/doomstat.h
#	src/g_game.c
2019-03-28 14:19:02 +00:00
James R 917edf720d Don't close console when starting title screen 2019-03-26 13:05:19 -07:00
James R 9a350eb879 Don't close console when changing map 2019-03-26 13:04:11 -07:00
James R 69d7e98f34 Remove redundant CON_ClearHUD calls 2019-03-26 12:59:13 -07:00
James R e8071e66e4 Resize console upon resolution change
Basically, changing to a lower resolution won't cause your console to extend
past the screen anymore.
2019-03-26 12:30:02 -07:00
jameds b9b36a44a8 Keep color across wrapped lines
And this works by inserting the same color code on each wrapped line.
2019-03-26 12:07:11 -07:00
jameds 587586f4bb Scroll console immediately upon pressing PageUp 2019-03-26 12:05:23 -07:00
Monster Iestyn a01a0a3dc3 Merge branch 'master' into next 2019-03-26 13:46:15 +00:00
Monster Iestyn 9ef98471a4 Merge branch 'buildbot' into 'master'
Buildbot changes

See merge request STJr/SRB2!477
2019-03-26 09:44:56 -04:00
Monster Iestyn 8e78369f83 Merge branch 'dedicated-server-credits-fix' into 'master'
Dedicated server credits fix

See merge request STJr/SRB2!476
2019-03-26 09:44:21 -04:00
Monster Iestyn 67874180b2 Merge branch 'gametype-strings-backport' into 'next'
Gametype strings backport

See merge request STJr/SRB2!473
2019-03-26 09:42:52 -04:00
James R d00cc7cddb Prevent just anyone from skipping credits but allow admins
exitlevel works too
2019-03-25 16:19:40 -07:00
Monster Iestyn 8c1c0875a2 Fix credits gamestate in dedicated mode, by properly separating the timer variable code from the drawing code in a semi-hacky way 2019-03-25 21:35:04 +00:00
Alam Ed Arias fe22fdc5a3 P_SuperDamage() is too big for inlining 2019-03-25 15:30:25 -04:00
Monster Iestyn 147221cf6e R_RenderThickSideRange: clamp lights that fail overflow test, rather than skipping them. 2019-03-25 18:54:47 +00:00
Monster Iestyn 7441dd7d9b Merge branch 'master' into next 2019-03-25 18:08:36 +00:00
James R ed0f8fd967 Actually allow connecting to "localhost"
Because IPv6 doesn't seem to work anyway.
2019-03-20 20:37:00 -07:00
James R f139ffd1dc Let localhost connections 2019-03-20 20:37:00 -07:00
Monster Iestyn ecb6322a52 Merge branch 'sdl-noxinput-nohidapi' into 'master'
-noxinput and -nohidapi command line parameters.

See merge request STJr/SRB2!468
2019-03-20 17:33:04 -04:00
Monster Iestyn 2fb569857a Added the Gametype_Names array and G_GetGametypeByName for ease in converting gametype nums to strings and vice versa
gametype_cons_t is now initialised using the Gametype_Names array, like how Color_cons_t is initialised using Color_Names

# Conflicts:
#	src/doomstat.h
#	src/m_menu.c
2019-03-18 22:00:23 +00:00
Nev3r aa43f8b3bf Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal into 144-scrolltweaks 2019-03-16 08:14:29 +01:00
Steel Titanium 6d751ff302 Remove the define. 2019-03-15 18:46:25 -04:00
Steel Titanium 5a170b9e4e Merge branch 'master' into errorifpng 2019-03-15 16:40:47 -04:00
Steel Titanium 67a80ba311 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into banip-command 2019-03-15 16:13:31 -04:00
Jimita 6e4b42fc97
Merge branch 'next' into flashpals-on-screenshots 2019-03-15 16:38:33 -03:00
mazmazz f18103a473 Declare exitfadestarted properly 2019-03-15 11:01:41 -04:00
mazmazz 587a51a957 Fix end-of-level fading for cv_playersforexit
(Code in p_user.c was from 2.2, where cv_playersforexit has different values so that the player exit check works differently)
2019-03-15 03:47:30 -04:00
mazmazz 8afaaa80a1 lclear -> _clear typo 2019-03-15 03:15:20 -04:00
mazmazz a1ccb8512d Merge branch 'public-gl-next' into public-musicplus-feature-endoflevel 2019-03-15 02:07:53 -04:00
mazmazz f163633591 Merge branch 'public_next' 2019-03-15 01:43:03 -04:00
mazmazz 6b93ca9221 Intermission: Don't fade out level music when using win32 midi volume hack 2019-03-15 01:26:13 -04:00
mazmazz e098d6a8b8 Merge branch 'public-musicplus-feature-interfadeout' into public-musicplus-feature-endoflevel 2019-03-15 01:09:12 -04:00
mazmazz 6cf05a4613 Implement MUSICINTERFADEOUT level header 2019-03-15 01:05:52 -04:00
mazmazz ba77dfd546 Merge branch 'public-musicplus-feature-interfadeout' into public-musicplus-feature-endoflevel 2019-03-15 01:01:24 -04:00
mazmazz b5fc27c545 Implement MUSICINTERFADEOUT level header 2019-03-15 01:00:50 -04:00
mazmazz 773f9dc2ba Merge remote-tracking branch 'public-gl/next' into public-musicplus-feature-endoflevel 2019-03-15 00:39:26 -04:00
mazmazz 9064a0b33a Merge remote-tracking branch 'origin/master' 2019-03-15 00:33:12 -04:00
mazmazz 4377386153 Merge branch 'public_next' 2019-03-15 00:33:06 -04:00
mazmazz bd9e42ce6e Merge branch 'public-gl-next' into public-musicplus-inter 2019-03-14 23:42:16 -04:00
mazmazz 3b6be9b419 Remove redundant music reset block for MIXNIGHTSCOUNTDOWN 2019-03-14 23:21:52 -04:00
mazmazz 469ed9cbe3 Implement MIXNIGHTSCOUNTDOWN
An alternate mode to NiGHTS countdown jingle: play it as an SFX while fading down the music.
2019-03-14 23:10:14 -04:00
mazmazz 9ec98c588f Merge branch 'public_next' 2019-03-14 22:15:34 -04:00
mazmazz fdde5f13c5 When resetting volume on same music, make it fade instead of a hard change 2019-03-13 23:55:30 -04:00
mazmazz 67e2857303 When changing to same music, reset the internal volume 2019-03-13 23:41:35 -04:00
mazmazz c021e29835 Restore MUSIC_RELOADRESET if block in g_game 2019-03-13 21:18:23 -04:00
mazmazz 2c75d4da69 Fix custom fade source bug for Change Music linedef 2019-03-13 19:53:16 -04:00
mazmazz aea18f36ba Remove MP3 warning 2019-03-13 19:51:45 -04:00