Commit graph

3273 commits

Author SHA1 Message Date
toasterbabe
dbcd259bd6 * New Egg Guard behaviour!
* Fix the thing I mistakenly messed up with all of the things I moved out of P_SpawnMapThing without good reason to.
2018-05-22 23:02:54 +01:00
toasterbabe
847f8b4ef0 * CEZ decorations!
* Moved a bunch of stuff that had no business being in mapthing spawns into mobj spawns.
2018-05-22 11:04:28 +01:00
Monster Iestyn
f061ffa00e Stop Each Time trigger linedefs and object-carrying scrollers from doing anything with FOFs without FF_EXISTS 2018-05-21 20:02:30 +01:00
Tasos Sahanidis
001e4e11ca
Correct C FixedMul() off-by-one errors
The FixedMul() C implementation would produce off by one results,
causing constant desyncs on 64 bit builds and builds without an
ASM implementation of the function.

This is fixed by shifting instead of dividing, possibly avoiding
rounding errors.
2018-05-20 22:55:21 +03:00
toasterbabe
ee42132ed1 * Bumpers and Balloons in a more final state.
* Blue diagonal springs, because that gap is very, very odd.
* Improved A_SpawnFreshCopy.
* Tweaked P_LookForEnemies for consistency's sake. (Previously, it was impossible to make a spring that could neither be homing-attacked or attraction-shotted.)
2018-05-20 00:04:39 +01:00
Sryder
092e709235 OpenGL Map Specific palettes working
This makes OpenGL stop using a specific function that doesn't really do anything for it anymore. It looks like it was used for a hack that would change the colour of polygons for the flashpal equivalent in DOOM.
I made it so ST_DoPaletteStuff doesn't set the flashpal in OpenGL as it already does its own hacky overlay and doing that would cause all the textures to be flushed more mid-level, it could be enabled for more correct flashpals, but they still wouldn't effect fog or lighting.
This means the palette will be set when going to the title screen, and twice when starting a map, (causing the OpenGL cached textures to also be flushed at those times)
2018-05-17 22:17:20 +01:00
Steel Titanium
0bef99f566 Fix console typo 2018-05-17 13:57:19 -04:00
Sryder
badbb4324e Fix FF_FULLBRIGHT not working in sectors with multiple light levels in OpenGL 2018-05-16 21:04:57 +01:00
toasterbabe
786fd65f3c Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into hardcoding-time-again 2018-05-15 16:29:32 +01:00
toasterbabe
720de810bd The start of implementing FuriousFox's bumpers/balloons!
No hardcoding of states, but the test .wad they're stored in right now is predominantly state, object, and sprite definitions/assets right now - the only hook is for setting the colour of the balloons!!
2018-05-15 16:10:42 +01:00
MascaraSnake
2e8cb9582a Consistency: Pointer declarations next to the variable name instead of the type 2018-05-15 09:39:52 +02:00
MascaraSnake
975a318460 Change to linedef type 7 (flat alignment): If no tag is given, affect front sector. 2018-05-14 19:34:22 +02:00
toasterbabe
3c50acd1bf * Minor changes to make A_CrushclawAim more useful.
* Some fun with the chain. https://cdn.discordapp.com/attachments/402861856219463681/445539938633515018/srb20022.gif
* More corrections to closed captions.
2018-05-14 13:20:24 +01:00
toasterbabe
26d13db548 * Crushtacean!
* Behaves a bit differently to the one in DSZres.pk3.
   * Can now punch DSZ mines!
   * Also has mapthingnum 126 instead of 610.
* Some other mapthingnum changes.
   * DSZ2 stalagmite is now 1009, formerly 999.
   * Big DSZ gargoyle is now 1011, formerly 1009.
2018-05-14 01:19:24 +01:00
toasterbabe
5c11131230 Fix inverted chaining condition! 2018-05-13 17:25:55 +01:00
toasterbabe
a738ef99e3 * DrT's Spincushion hardcoded.
* Make the MF_PAIN stuff ONLY depend on mass, using the bottom 8 bits for the type and the custom sound in the upper ones.
* A bunch of cleanup of random other stuff, including an unused Deton state and an unused Jetty type's sprite.
2018-05-13 14:09:20 +01:00
Monster Iestyn
4f75ae3a68 Fix both Bouncy FOF and Space Countdown sector specials working on FOFs without the FF_EXISTS flag
Also move the Bouncy FOF sector special check above the FOF heights checking in P_CheckBouncySectors, because it means not having to waste time calculating FOF heights only for it not to be bouncy anyway :P
2018-05-11 20:35:46 +01:00
Alam Ed Arias
6be0f90fbe Merge branch 'master' into next 2018-05-08 21:26:26 -04:00
Steel Titanium
a1d696b38e Fix small typo 2018-05-08 18:38:28 -04:00
Steel Titanium
9ff491dd78 Add indentation 2018-05-08 18:36:47 -04:00
toasterbabe
8a61d87961 * Add new damagetype flag (DMG_CANHURTSELF) that allows a player to hurt themselves indirectly.
* Add damagetype to P_RadiusAttack (optinteger in lua, A_Explode var1).
* Removed the prevention of MF_BOSS objects from getting P_RadiusAttacked. This was a holdover from DooM (I checked) - a way to prevent the Cyberdemon from gibbing itself when firing point blank into a wall, and also a way to make it and the Spider Mastermind harder.
* Enemies are solid to other enemies movement-wise now.
* (Fun little aside - if you remove MF_SOLID from a monitor, it now behaves like they did in Sonic Adventure (poppable by colliding with, not just attacking).
* Fixed Metal Sonic battle conflict in MF_PAIN/mass not picked up earlier.
* Miscellaneous tiny code tweaks.
2018-05-08 23:26:36 +01:00
Steel Titanium
29e80c5300 Don't increment totalplaytime if a demo is playing. 2018-05-08 18:16:01 -04:00
toasterbabe
d0575f7fb0 * Hive Elementals and Bumblebores, plus associated useful action functions.
* Made Facestabbers take two hits and have associated pain/death animations. No other changes, just wanted to make sure THIS was done.
* Move Bubblebuzz-related stuff to go alongside the secret badniks and etc.
* MF2_INVERTAIMABLE. Inverts whether P_LookForEnemies can get at; replaces a hardcoded thingy.
2018-05-04 21:30:15 +01:00
toasterbabe
8f71e93cee * Remove Commander-specific hack, incorporate into A_CrawlaCommanderThink.
* Make my changes to its thinker slightly more consistent.
2018-05-03 14:04:29 +01:00
toasterbabe
94c7d9bc52 Forgot to do this before making the previous commit; completes support for no-points drone badniks. 2018-05-03 00:00:22 +01:00
toasterbabe
6d1ba20a1d * Add native support for multi-hit badiks to MF_ENEMY.
* MF2_FRET application and removal.
   * Flashing when flag present.
   * Bounce player back on successful damaging.
   * Add their spawnhealth to the chain.
* Reduce code duplication in P_TouchSpecialThing.
* Play with Crawla Commander a little bit as a test of its power.
2018-05-02 23:48:50 +01:00
toasterbabe
856edd50df Remove the ugly double-hack for monitors! Doesn't QUITE do it via the return value of P_DamageMobj like MI and I theorised it should do, but it's functionally identical whilst being less code to maintain. 2018-05-02 20:55:07 +01:00
toasterbabe
cf9d53efd8 Kill MF2_STANDONME (mechanically; still occupies the slot... will change that next time I have to handle the DEHACKED lists.) 2018-05-02 20:35:20 +01:00
toasterbabe
dbc0ac2303 * Springs no longer need MF_SOLID to function. (I tried to add a special Sonic 1-3 style "springs are solid from the side" thing with native support, but it turns out that requires too many hacks for an optional extra feature not used in the campaign, so No.)
* Springs no longer send you flying relative to the slope whilst you're on a slope. (I tried fixing this before, but this is a much more solid fix.)
2018-05-02 20:03:18 +01:00
toasterbabe
5cc1befcad * Haunted Heights! Smashing spikeball, Cacolantern, Spinbobert and Hangster, along with the Spider and Bat flickies and general decoration/ambience stuff.
* MF_PAIN and MF_MISSILE now support setting damagetype via their Mass parameter. The two existing conflicts - the fuse setting for the grenade weapon ring and the Cybrakdemon napalm bomb - had these moved to other free parameters.
* A_ConnectToGround is EXTREMELY useful for palmtrees and stuff.
* Some other, relatively hacky A_ functions.
* (Unrelated) Remove the need for a "Mario block mode" for the token by making it natively compatible.
* Spikes and their time-offsetting via that Lua script sphere made. Also allow for wallspikes to do it via their angle/360.
2018-04-28 15:13:44 +01:00
toasterbabe
1eb84f57c5 * Billiards mines! With support for both above and below water, replacing both the below-and-above-water old mines at once.
* Explosion executors.
* Minor refactor of P_KillMobj.
2018-04-26 20:18:51 +01:00
Monster Iestyn
8e5ac64d7c Merge branch 'dedicated-nosoundinit' into 'master'
Don't init the sound system on dedicated servers

See merge request STJr/SRB2!225
2018-04-21 17:40:45 -04:00
Monster Iestyn
452aef4981 Merge branch 'connect-empty-address-fix' into 'master'
Fixed "invalid pointer" error when passing "" to Command_connect().

See merge request STJr/SRB2!234
2018-04-21 17:32:50 -04:00
Monster Iestyn
83a84d5a81 Merge branch 'connect-server-fix' into 'master'
Removed contradictory `-connect` check

See merge request STJr/SRB2!236
2018-04-21 16:25:28 -04:00
Monster Iestyn
eb0f9681d7 Merge branch 'findfile-rewrite' into 'master'
Rewrite of d_netfil.c's findfile

See merge request STJr/SRB2!240
2018-04-21 16:22:21 -04:00
Monster Iestyn
48a85512a0 Merge branch 'dedicated-debug-hotfix' into 'master'
Dedicated debug hotfix

See merge request STJr/SRB2!239
2018-04-21 16:13:38 -04:00
Monster Iestyn
6c7acdbd9e Merge branch 'movie-spec-stage-fade-fix' into 'master'
Movie mode: special stage intro fade recording fix

See merge request STJr/SRB2!229
2018-04-21 16:12:46 -04:00
Monster Iestyn
9cdf87404e Rewrote findfile to store whether any of the three paths searched had a bad MD5 rather than just simply being not there.
This means that, if the three paths are not the same, you should be able to tell if at least one of them has a file that just had a bad MD5. Most relevant for Linux peeps I expect.

Note: Untested as of writing
2018-04-15 22:00:31 +01:00
Monster Iestyn
3fb12cf337 Don't use CV_StealthSetValue on cv_itemfinder if running the game in dedicated mode 2018-04-15 19:59:57 +01:00
toasterbabe
976331fb03 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into hardcoding-time-again 2018-04-08 16:23:19 +01:00
toasterbabe
375c3c584e [13:01] toaster: hey
[13:01] toaster: would anyone object if i pushed this to master
[13:02] toaster: so my changes to devmode don't fuck with gifs, for example https://cdn.discordapp.com/attachments/428262628893261828/432500920773771264/srb20575.gif
[13:02] NEV3R: ¯\_(ツ)_/¯
[13:02] toaster: ok i'll just do it
2018-04-08 13:03:40 +01:00
toasterbabe
790e334d19 comment goof 2018-04-07 23:10:34 +01:00
toasterbabe
ff9775225e Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into delag_maces
# Conflicts:
#	src/p_mobj.c
2018-04-07 01:54:43 +01:00
Digiku
e1cd6357cc Merge branch 'op-nightsbumper' into 'master'
NiGHTS Objectplace: Preserve MT_NIGHTSBUMPER vertical angle upon WRITETHINGS

See merge request STJr/SRB2Internal!137
2018-04-06 20:21:25 -04:00
toaster
d315072e3f Merge branch 'texture-fixes' into 'master'
Texture fixes

See merge request STJr/SRB2Internal!135
2018-04-06 17:44:17 -04:00
toaster
8c33cb9134 Merge branch '100-make-slopes-static-by-default-and-require-flag-to-turn-them-dynamic' into 'master'
Resolve "Make slopes static by default, and require flag to turn them dynamic."

Closes #100

See merge request STJr/SRB2Internal!140
2018-04-06 17:43:47 -04:00
toasterbabe
4f3c9b5fad Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into pretty_stuff
# Conflicts:
#	src/hardware/hw_draw.c
2018-04-06 19:38:19 +01:00
Monster Iestyn
a3b86a737e Merge branch 'public_next'
# Conflicts:
#	src/f_finale.c
#	src/hardware/hw_draw.c
#	src/hardware/hw_main.c
#	src/hardware/r_opengl/r_opengl.c
#	src/sdl12/hwsym_sdl.c
#	src/sdl12/i_video.c
2018-04-06 18:42:07 +01:00
toasterbabe
3f427d0161 * Improve devmode text.
* Make sure showfps never covers anything relevant to the base game.
* Tweak spectator text for raising/lowering.
* Minor code-smell squishes.
2018-04-06 18:40:08 +01:00
toasterbabe
15903c6271 * Correct V_PERPLAYER's screen-centered (no snapto flags on a given axis) behaviour.
* Fix that one comment Digiku mentioned. ;P
* Make extra lives/100 ring rewards consistent between lives being relevant and lives being infinite/not present, which was a problem this branch made evident when Race ended up getting the infinite lives symbol!
2018-04-06 14:42:49 +01:00
toasterbabe
3c74952522 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into pretty_stuff 2018-04-06 12:54:39 +01:00
Monster Iestyn
740e0cf8c1 Merge branch 'master' into hardcoding-time-again 2018-04-05 19:03:49 +01:00
Wolfy
ca8e14d5e9 Revert "THZ Hardcoding"
This reverts commit 8bd91bd2f2.

Note to self: read through the fucking merge requests
2018-04-05 12:49:39 -05:00
Wolfy
1d63f53aeb Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal 2018-04-05 03:55:03 -05:00
Wolfy
8bd91bd2f2 THZ Hardcoding
Feel free to reorganize as necessary.
2018-04-05 03:23:27 -05:00
Steel Titanium
d446f3420e Merge remote-tracking branch 'upstream/master' into dedicated-nosoundinit 2018-04-03 16:16:20 -04:00
Steel Titanium
759ea8cb42 Indentation fixup 2018-04-03 16:11:07 -04:00
Alam Ed Arias
59f5b46ad3 Merge branch 'public_next' into master 2018-04-03 16:09:11 -04:00
Alam Ed Arias
cf6a30a8ef Merge branch 'master' into next 2018-04-03 15:48:06 -04:00
toasterbabe
4f3f647f5b A minor assortment of changes. 2018-04-03 01:46:42 +01:00
toasterbabe
156cc031ea * Optimise them even further... AGAIN! Using an offset-based system rather than a multiplication-based one...
* Again, tweak the spawning code to take maximum advantage of these gains.
* Fix potential crashes with MT_NULL mace/chain types supplied.
* #ifdef out the height-clipping code. It needs more TLC than I can give it right now, and the existing behaviour is less obviously broken (sadly enough).
* Fix chainmace points, which were apparently broken without anyone realising.
2018-04-03 01:10:10 +01:00
toasterbabe
4051ae8915 * Revamp mace creation again to potentially serve as the foundation for further optimisation (and also not rely on a while (1) loop, which easily went wrong several times whilst I was making changes to it).
* Fix minor typoes and other small tweaks in the P_MaceRotate function, which I'm probably about to rewrite again anyways...
2018-04-02 21:36:12 +01:00
toasterbabe
0102da824e Make the h-chain repairing safer. 2018-04-02 01:20:32 +01:00
toasterbabe
5ac70bbb7e * Fix multispoke mace/chainbars having problems.
* Completely rework how mace/chainbars are spawned to reduce the number of matrix multiplications required EVEN FURTHER!
* Reimplement the maceretry solidity stuff (effect 4).
* Flip the mminlength stuff so that existing dev maps don't break badly.
* Fix hacky chainbar grabbing.
* Tweak height of tinychain a smidge.
2018-04-02 01:08:31 +01:00
toasterbabe
97ddb8881d * Remove ability to change speed of chains.
* Fix ability to turn chains (still disabled by default, just at least want the option...)
* Replace max speed setting with a "minimum chainlink distance" setting - if greater than zero, that many chains will not be spawned from the center outwards. Doesn't affect the head of the chain at all, since otherwise what's the point? :V
2018-04-01 22:05:59 +01:00
toasterbabe
6d59551afd Mace optimisation!
* Handle all chain objects as a hnext/hprev chain.
* When removing mobjs with hnext/hprev, "repair the chain" (make the h links meet).
* Fix hidden slings, which I accidentially broke when I revamped maces the first time.
* Kill MF2_MACEROTATE. Not needed for anything anymore.
* P_MaceRotate now available to Lua to make up for it.
* Related: Made modifying hnext/hprev using Lua safer, so it keeps the reference counts in play.
2018-04-01 20:54:19 +01:00
Sryder
6f2de824fb Uncomment HWR_CorrectSWTricks but set gr_correcttricks to be off by default
I wasn't aware of the cvar, this should do for now since I don't believe any maps use these software tricks, probably an old leftover from DOOM.
2018-03-30 23:12:44 +01:00
toasterbabe
0fbebcaa08 Make special stage tallies do the token noise if you cash in a token! 2018-03-30 22:03:14 +01:00
toasterbabe
d9b5155e6e * Make Tokens appear in competition.
* Tweak thrown ring colours.
* Make Armageddon shield loop properly.
* Tweak drowning numbers to be consistent between third and first person.
2018-03-30 21:49:15 +01:00
Sryder
0aaae501d3 Warnings must die 2018-03-30 18:53:23 +01:00
Sryder
f3aa02e26d Start with lightnum on sector lightlevel 2018-03-30 18:13:52 +01:00
Sryder
66f220d6ad Merge branch 'master' into openglquickfixes 2018-03-30 18:09:41 +01:00
toasterbabe
de8f1fa407 * Incorporate (almost) all of Mystic's feedback.
* Prevent ANY input when blindfolded.
* Make CECHOs always perplayer'd. (A little hacky; quads will need work here.)
* Make NiGHTS link timer bounces not a mess, and only when the colour changes.
2018-03-30 16:39:59 +01:00
Sryder
65c893da86 static tempsec for R_FakeFlat
I don't fully understand this, but it's what software does and it fixes the issue of the lighting in DSZ3. Also don't need the extra call to R_Prep3DFloors.
2018-03-29 23:28:54 +01:00
Nevur
fc3e863fd3 asdf
Signed-off-by: Nevur <apophycens@gmail.com>
2018-03-29 20:12:19 +02:00
toasterbabe
98601dc757 A lot!
* cv_powerupdisplay. Never, First-person only (default), Always.
* New monitor stuff.
* Fixed hitmessages.
* Some CTF stuff.
* Aaaaugh it's a lot I hate myself I need to work on my coursework.
* I'll figure out what I did here in the merge request when that's done.
2018-03-26 23:53:09 +01:00
mazmazz
d85f108997 P_SpawnMapThing: Ignore MTF_ flags if MT_NIGHTSBUMPER 2018-03-25 19:42:46 -04:00
mazmazz
dc9fd6f02e MT_NIGHTSBUMPER Spawn: Don't reset mthing->options 2018-03-25 19:07:21 -04:00
toasterbabe
33afd94252 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into pretty_stuff
# Conflicts:
#	src/d_main.c
#	src/st_stuff.c
2018-03-24 17:17:01 +00:00
jameds
876d0fa58b Removed contradictory -connect check 2018-03-23 18:09:07 -07:00
Sryder
f62cb3a30a I've commented out the call to HWR_CorrectSWTricks.
I don't think it does anything for us anymore, and might even break things with slopes.
Someone let me know if I'm wrong and am breaking things horribly here.
2018-03-23 22:27:29 +00:00
jameds
a431197921 Fixed "invalid pointer" error when passing "" to Command_connect(). 2018-03-22 21:21:26 -07:00
Sryder
fab4b7f5ea Stop squashing the screen vertically in non-green resolutions 2018-03-22 01:10:53 +00:00
Sryder
839ee0ab85 OpenGL Sprite Splitting 2018-03-22 00:52:14 +00:00
Sryder
0885d27171 Transform sprites in world space rather than screen space
Transformation based on screen space would make sense if we didn't want anything in the world to effect the sprites.
This should allow sprite splitting and sorting of sprites with level geometry easier.
stransform is no longer needed.
2018-03-21 19:45:37 +00:00
toasterbabe
24c017564e Mammoth commit!
* Make TIME part of HUD count down in a bunch of circumstances where it was otherwise some other seperate thing.
* Make race countdown happen in a bunch of appropriate circumstances.
* Refactor race countdown.
* Remove a lot of useless stuff from H&S/Tag UI.
* Make co-op/competition/race end-of-act countdown use the race countdown and bigger HUD font.
* Remove useless PLAYING/SPECTATE text from lives element.
* Merge lap counter into lives element.
* Move some other text around.
2018-03-21 18:18:45 +00:00
toasterbabe
05bf3674d3 * M_Random function access to v! (so v.RandomFixed(), etc...)
* Remove deprecated P_Random() from Lua.
2018-03-20 15:00:27 +00:00
Sryder
4e95066f5a Some fixes and updates for HWR_SplitWall
Solid walls *can* be cut
Fix issues with water and fog FOFs not cutting each other out correctly
Fix Fog colourmap and lighting setting that is done here.
Remove HWR_SplitFog

There is currently a bug with FF_DOUBLESHADOW (that also exists in software) but has a larger impact here. When 2 FF_DOUBLESHADOW lights are directly stacked on each other the bottom one has its height set incorrectly. This causes all the Fog in the timed gravity flipping section of ERZ2 to be drawn and it looks really bad.
2018-03-20 14:20:08 +00:00
toasterbabe
ae033a9409 * Clean up a lot of NiGHTS stuff still using the old, shitty NOSCALESTART offsetting in nonstandard resolutions.
* Clean up the ST_ drawing macro list.
2018-03-20 00:19:20 +00:00
toasterbabe
7885ae57e2 * Allow for V_ flag control for hudinfo SOC/Lua stuff through hudinfo[n].f (for flags).
* Fix Old Special Stage offsets.
* Fix drowning number offsets.
* Remove useless "WS" macros.
2018-03-19 23:08:51 +00:00
toasterbabe
4798f85382 Fix issues with the level platter in nonstandard resolutions. 2018-03-19 17:41:53 +00:00
toasterbabe
c0cc1471e5 Make some tweaks to devmode offsets. 2018-03-19 16:39:37 +00:00
toasterbabe
7d1885917a Some minor intro tweaks. 2018-03-19 16:36:14 +00:00
Sryder
f3d63b82ce Revert "Fix screenshot functionality in fullscreen in SDL2"
This reverts commit 121fcd8369.

The reason I am reverting this is because the last commit actually fixes the *old* screenshot functionality, as the screen is being drawn back onto the buffer after they're swapped in the "real" size. Meaning the old function actually works perfectly fine now.
2018-03-18 18:33:53 +00:00
Sryder
a984d979d1 Fix wipes in low resolutions 2018-03-18 17:12:12 +00:00
Sryder
31d1ef8db0 Draw the final screen texture in the centre with black bars
Only applies when the monitor aspect ratio is different to the game's aspect ratio.
2018-03-17 19:22:14 +00:00
Sryder
527df5c248 Fix OpenGL Title Screen Sky
My IDE doesn't seem to like Vada's name.
2018-03-17 15:11:32 +00:00
Sryder
6de0cc6bcc Remove the OpenGL only code from V_DrawPatchFill
That's all of the HUD drawing functions that are currently used updated in GL.
2018-03-17 14:47:06 +00:00
Sryder
a9214ebd37 Match HWR_DrawCroppedPatch to V_DrawCroppedPatch 2018-03-17 13:58:44 +00:00
Sryder
801f7547d3 Add the full-screen drawfill functionality to HWR_DrawFixedPatch 2018-03-17 13:26:43 +00:00