Commit graph

3385 commits

Author SHA1 Message Date
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
LJSonik 87ba5a2233
Merge branch 'master' into minor-net-command-fixes 2018-05-15 21:31:47 +02: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
Steel Titanium b4d479ad9a Include errno if not already included. 2018-05-13 16:04:34 -04:00
Steel Titanium 7f084868b9 More helpful error message 2018-05-13 15:35:38 -04:00
GoldenTails 7783ddd134
Update hw_md2.c 2018-05-13 14:34:08 -05:00
GoldenTails 5f0a45124c
Update hw_md2.c 2018-05-13 14:32:33 -05:00
GoldenTails e66e0bb20e
Fixed MD2 models not loading correctly on Linux 2018-05-13 14:19:36 -05: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 ce215195f8 NiGHTS drone loop: Change flyangle comparison to fix detection from vertical angles
Use > 90 && < 270 instead of >= 90 && <= 270. Fixes a bug where if you fly directly up (flyangle 90) or directly down (flyangle 270), that registers as a backwards direction, so you trigger the loop detection by flying BACKWARDS, not FORWARDS. This edge case (only possible via JUMPTOAXIS) should default to FORWARDS looping.
2018-03-26 01:04:02 -04:00
mazmazz 67e4381284 Fix NiGHTS drone loop detection by using pl->flyangle 2018-03-26 00:33:17 -04: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
Sryder 7830c031f7 Make HWR_DrawFill match V_DrawFill 2018-03-16 19:46:45 +00:00
Sryder 7764a1bb5d Match HWR_DrawFixedPatch to V_DrawFixedPatch 2018-03-16 18:08:24 +00:00
Sryder 1b3e1f78af Translucent floors shouldn't write into the depth buffer 2018-03-15 23:59:01 +00:00
Sryder 5a4ea9fab3 Better fog block colouring
They still aren't perfect, but now they are at least not quite so obviously just translucent polygons over the level. A mixture between partially modulating the background colours and adding the fog colour. Notably white fog blocks look like they're brightening what's behind them.
Additive was also setting noalphatest before, can probably decide that depending on what it needs anyway. I don't think it's currently used anyway.
2018-03-15 23:58:37 +00:00
Alam Ed Arias 5a04145e43 Merge branch 'master' into next 2018-03-14 14:29:42 -04:00
Alam Ed Arias 1619b392f6 Merge remote-tracking branch 'public/master' 2018-03-14 14:26:07 -04:00
toasterbabe fee8714109 i suck at the alphabet! 2018-03-14 16:55:33 +00:00
toasterbabe a5ab9f01bb oh yeah this guy's name needs changing too 2018-03-14 16:49:10 +00:00
toasterbabe 68cb919205 down with cis 2018-03-14 16:47:19 +00:00
LJSonik 0ff5b851cd
Merge branch 'master' into minor-net-command-fixes 2018-03-09 17:15:37 +01:00
Louis-Antoine aefe06e2ef Fix Lua panic when archiving a table element with an userdata key 2018-03-09 16:40:34 +01:00
Sryder e4ed3a793b Small hacky fix for MD2s and sprites until sorting for walls, floors, and sprites is done
Sorts all translucent sprites and MD2s so they're drawn after all the opaque ones. Fixes most of the observable issues between translucent MD2s and opaque sprites/MD2s.
2018-03-09 09:58:10 +00:00
Sryder 121fcd8369 Fix screenshot functionality in fullscreen in SDL2 2018-03-08 22:28:38 +00:00
Monster Iestyn 145616b152 Merge branch 'master' into next 2018-03-08 19:35:51 +00:00
Sryder 77af3a8f95 Optimise the screen texture setup for SDL2, Post-processor, and wipes.
Only use glCopyTexImage2D when first creating the screen texture, use glCopyTexSubImage2D anytime after that as it does not define a new texture each time.
Flushing of the screen textures has been implemented for when the screen size changes (so that the screen textures don't stay at a wrong size) and the game is closed, I believe they would leave a memory leak before.
2018-03-07 22:55:21 +00:00
Sryder 67ee1637c9 Decrease far clipping plane
The Far clipping plane did not need to be nearly as high as it was, the new value is 32768, which I suspect is about how far software can render before it completely falls apart.
It is desirable to increase the near clipping plane to between 6-10, but it can introduce more issues with close geometry not being drawn when the player or camera is scaled or viewheight is set to MIN in first person view. It would also stop sprites from being drawn ever so slightly too early, but this isn't too much of an issue and isn't too noticeable with those values. Might look into scaling near clipping plane in accordance to camera scale in the future.
The reason for wanting to increase the near clipping plane is because the small value can cause very noticeable Z-fighting where there shouldn't be on older GPU's, usually Intel ones, that don't support 24-bits for the depth buffer.
2018-03-07 00:39:33 +00:00
Monster Iestyn aba4adfabc shrunk buffer from 32 to 28 so that all of "Downloading "extremely...longname.wad"" can fit on screen at once. 2018-03-06 20:52:55 +00:00
Monster Iestyn a66824d63f replace the 3 strncpys with a snprintf 2018-03-06 20:20:27 +00:00
Sryder 538d0de949 Merge branch 'master' of git@git.magicalgirl.moe:STJr/SRB2.git into openglquickfixes 2018-03-06 16:11:05 +00:00
Monster Iestyn e3151f26dc rewrite download file screen code:
* fix screen to properly truncate the filename to just the real name only
* if the real name itself is too long, use ellipsis and paste in parts of the start and end of the actual name

note: I haven't actually tested if this works or compiles yet, I haven't the time right now
2018-03-05 22:24:03 +00:00
Monster Iestyn 1fe79a0d71 Fix movies not recording the "extension" to special stage intro fades 2018-03-05 19:08:53 +00:00
Monster Iestyn bfbe69c627 Merge branch 'master' into hardcoding-time-again 2018-03-04 19:22:08 +00:00
Monster Iestyn b254acaa0d Merge branch 'master' into texture-fixes 2018-03-04 19:20:54 +00:00
Monster Iestyn 01f1e7fc33 Merge branch 'zoning-out' into 'master'
Zoning out

See merge request STJr/SRB2Internal!133
2018-03-04 14:19:25 -05:00
Monster Iestyn 61923f3b1f Merge branch 'public_next'
# Conflicts:
#	src/sdl/i_system.c
2018-03-04 19:18:13 +00:00
Monster Iestyn ad1801e7f1 Merge branch 'master' into next 2018-03-04 19:10:01 +00:00
Monster Iestyn 16e60aada9 Merge branch 'linux-limbo' into 'master'
Linux limbo

See merge request STJr/SRB2!228
2018-03-04 14:08:21 -05:00
Monster Iestyn 4fdb82c942 Merge branch 'soc-sanitizing' into 'next'
SOC sanitizing

See merge request STJr/SRB2!227
2018-03-04 14:07:30 -05:00
toasterbabe 33d5baa2aa * Add new console text colours - sky, purple, aqua, peridot, azure, brown, rosy, and invert.
* Remove redundant check from V_DrawFadeScreen().
* Clean up potential endless sound source in Race HUD.
2018-03-02 13:32:55 +00:00
Monster Iestyn 4a0305eec8 more I_GetFreeMem fixes: don't attempt to set *total to 0L if total itself is NULL 2018-02-23 20:40:19 +00:00
Monster Iestyn 1216c9da18 Use __linux__ instead of LINUX/LINUX64
Turns out compiling for Linux 32-bit using the Makefiles never actually defines LINUX! Apart from that, most of the existing Linux-specific code in SRB2's source code (except for tmap.s) actually uses __linux__ instead anyway
2018-02-23 20:21:16 +00:00
Monster Iestyn 6e21059713 Eat unprintable keys too, since there's no reason to feed them to G_Responder anyway when the console is open 2018-02-23 20:08:02 +00:00
Monster Iestyn 80e18ecb7e Cache all the act number graphicss at game startup rather than at every start/end of a level
I also added a few helpful functions for drawing the act numbers themselves
2018-02-22 21:49:36 +00:00
Monster Iestyn ad8c51ab8f removing stupid dumb useless code fish 2018-02-21 22:45:51 +00:00
Monster Iestyn fb3e78c020 Make CON_Responder eat Ctrl+key combos that have no effect, instead of passing the key on to G_Responder 2018-02-20 17:06:03 +00:00
Steel Titanium 36d1259ceb Removed some redundant checks 2018-02-17 00:37:17 -05:00
Steel Titanium d921f26e54 Don't init the sound system on dedicated servers 2018-02-17 00:01:42 -05:00
Monster Iestyn 1bc98da70b Added Z_TotalUsage as a shortcut for Z_TagsUsage(0, INT32_MAX) 2018-02-16 20:32:43 +00:00
Monster Iestyn 81a9b7b070 Total reorganisation of z_zone.c/h, added doxygen-compatible comments to all functions and additional regular comments where appropriate, changed purge tag macros to an enum list 2018-02-15 22:09:24 +00:00
Monster Iestyn 4782cc89fa updating comment for Z_TagsUsage in the .c file 2018-02-15 16:53:58 +00:00
Monster Iestyn 013d185d9e Z_FreeTag and Z_TagUsage are now both macros of their respective two arg variants 2018-02-15 16:31:05 +00:00
Monster Iestyn 8f834d6784 added a quick Z_FreeTag function as a shortcut to Z_FreeTags(tag, tag) where both tags are the same 2018-02-14 23:16:16 +00:00
Monster Iestyn 836bf5e12f Clean up z_zone.h's function protos to look more readable like m_random.h, don't name functions with "2" if not using PARANOIA or ZDEBUG
also, Z_Malloc/Calloc/Realloc are now macros of the "Align" versions, regardless of ZDEBUG or not
2018-02-14 22:52:25 +00:00
LJSonik d1e3275c78
Merge branch 'master' into minor-net-command-fixes 2018-02-14 21:07:10 +01:00
Louis-Antoine bd2334dd93 Fix SV_StopServer not calling D_Clearticcmd correctly 2018-02-14 21:00:55 +01:00
Monster Iestyn bd7ced9363 Merge branch 'master' into hardcoding-time-again 2018-02-14 16:24:05 +00:00
Alam Ed Arias 306cbc43e2 Merge branch 'public_next' into private 2018-02-14 10:34:36 -05:00
Alam Ed Arias 99552c2ba2 Merge branch 'master' into next 2018-02-14 10:29:24 -05:00
Louis-Antoine c7320f9f82 Don't allocate memory for net commands already executed, as it would cause them to be never freed 2018-02-14 15:09:52 +01:00
Monster Iestyn df95e2175f Merge branch 'master' into hardcoding-time-again 2018-02-13 21:21:30 +00:00
Monster Iestyn 49b8fd6d67 Don't attempt to load the "Lua/" or "SOCs/" folder lumps themselves as Lua/SOC lumps 2018-02-13 21:12:42 +00:00
Louis-Antoine 490f5beb89 Do not prevent all net commands for the current tic from being executed because of an unkown net command ID 2018-02-13 17:53:18 +01:00
toasterbabe 7018ce925b Fixed the strengths going in the wrong direction of transparency in GL! 2018-02-12 21:31:03 +00:00
toasterbabe b69cbd85b9 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into pretty_stuff 2018-02-12 18:59:01 +00:00
toasterbabe da3f8ceb8d * Move the non-mapping drawFill out of the source code function and into the Lua interface.
* Add a drawFill fallback for COLORMAP too.
* Correct a few index mishaps.
2018-02-12 18:23:57 +00:00
toasterbabe c1b48ea79f * Total overhaul of V_DrawFadeScreen(color, strength!
- controllable strengths between 0-31 for COLORMAP lump like before
   - arbitrary colour indices in the palette via TRANSMAP lumps, with strengths 0-9
   - exposed to Lua as v.fadeScreen(color, strength)!
* Remove last vestiges of V_STATICPATCH.
2018-02-12 17:47:31 +00:00
Monster Iestyn 8556a05668 Fix SOC/Lua loading messages to display full names or even display at all (for PK3s at least), and otherwise some cleanup of existing code for the messages.
Also, I moved lua_lumploading on/offing to LUA_LoadFile.
2018-02-09 22:43:08 +00:00
Monster Iestyn bf88407d00 Make sure both software and OpenGL ignore patches that are completely out of a multi-patch texture's bounds.
This fixes OpenGL in particular crashing because of such a weird situation.
2018-02-09 17:23:35 +00:00
Monster Iestyn f12530a39f Merge branch 'master' into hardcoding-time-again 2018-02-08 20:33:17 +00:00
Monster Iestyn b533d36143 Merge branch 'master' into file-loading-cleanup 2018-02-08 20:32:59 +00:00
Monster Iestyn b1695de124 Merge branch 'public_next' 2018-02-08 20:31:53 +00:00
Monster Iestyn c42c70cb34 Merge branch 'playdemo-custom-home-fix' into 'next'
Fix for "playdemo" not working with custom home paths

See merge request STJr/SRB2!221
2018-02-08 15:29:39 -05:00
Monster Iestyn fbd4ce1d47 optimised R_ExpandPlane too 2018-02-07 18:11:32 +00:00
Monster Iestyn efe9204f78 Fixed sky-sky thok barriers showing HOM (turns out the floor and ceiling share the same plane, so I've modified the code to account for this)
Additionally, place some optimisations in both software and OpenGL; in particular one has been added for when all of back and front sector (floor and ceiling) is sky: since everything is "open" anyway, we can simply the usual checks involved.
2018-02-07 17:46:01 +00:00
Steel Titanium 0cc4b8d6db Smoother MD2 interpolation 2018-02-06 14:50:08 -05:00
Monster Iestyn 493af49a00 Correct backwards skies for OpenGL too 2018-02-03 21:39:36 +00:00
Monster Iestyn 33a538383f Added proper support for upside-down thok barriers, in both renderers
Thankfully it was really just a copy+paste of the code I already tinkered with for the normal ceiling sky based thok barriers, but tweaked for floors instead
2018-02-03 19:48:18 +00:00
Monster Iestyn 0dc867c05e Cleanup of the code I've tweaked for skies, added SLOPEPARAMS macro to R_StoreWallRange for use in getting seg end z positions 2018-02-03 18:30:49 +00:00
Monster Iestyn ecf2eed37f Pushing all my work to make OpenGL consistent with my changes to software's sky so far 2018-02-01 22:04:04 +00:00
toasterbabe 5adfdf9516 cv_playername already has a valid default value of "Sonic". We do NOT need to expose things like this. 2018-01-30 22:48:53 +00:00
toasterbabe 8090ea4ed0 Stop leaking names. 2018-01-30 21:25:28 +00:00
Monster Iestyn 9e4c985d70 some cleanup of software's seg rendering code, moved Red's polyobject plane hack to R_StoreWallRange since it doesn't actually need to be done every column draw
(I suspect polyobject planes don't actually need the minx/maxx hacks anymore, but I haven't the time to test that tonight nor is this branch really suited for it anyway)
2018-01-29 22:05:04 +00:00
Monster Iestyn 7d150485c9 More sky fixes for software:
* Thok barriers with slopes now render fine in software
* The solid "sky walls" between different-height thok barriers adjacent to each other are gone. Forever.
2018-01-28 22:08:58 +00:00
Monster Iestyn 5c70d6e6ca Fix skies in software being displayed backwards
(I'll get round to OpenGL later)
2018-01-27 19:29:41 +00:00
Monster Iestyn f6c740840a Move sky plane-drawing code from R_DrawPlanes to a new function called by R_DrawSinglePlane
This potentially allows FOFs and polyobjects to display sky flats on them properly, unless skyboxes are involved in which case they'd fail either way

I also updated or added comments to some places of the sky drawing code and related where useful
2018-01-27 19:18:17 +00:00
toasterbabe eba0978a00 RIP smiles 2018-01-24 02:07:30 +00:00
toasterbabe ab0296d1c1 Added a failure animation if you don't get the emerald. https://cdn.discordapp.com/attachments/402861856219463681/405477752972509185/srb20004.gif 2018-01-23 23:13:56 +00:00
toasterbabe dd3b39089f * Improve the rendering of emerald coinboxes.
* Make emeralds fall onto the end tally. https://cdn.discordapp.com/attachments/400761370800422922/405122775272128512/srb20003.gif
2018-01-22 23:29:57 +00:00
Monster Iestyn c0bb511c1f Hardcoded LUA_THZT from THZ1.wad, giving us the funny-looking steam whistle tree
This concludes hardcoding of scenery items for THZ
2018-01-22 18:41:14 +00:00
toasterbabe dca107f630 * Update V_DrawCroppedPatch and V_DrawFill to support V_PERPLAYER.
* Fix some mistakes in the comments for v_video.h.
2018-01-21 12:56:38 +00:00
toasterbabe 373bb329a2 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into pretty_stuff 2018-01-20 22:18:16 +00:00
toasterbabe 2141754e54 V_PERPLAYER. (Hooh boy.)
* Completely redid how splitscreen works, with eventual support for quads. Squish per-player stuff automatically into the right places! Works in GL, associated flag kills V_SPLITSCREEN.
* Seriously update the lives-drawing function for all gametypes, with strings that replace the lives number whenever it's missing (deprecates SKINNAMEPADDING).
* Improved how the nosshack works, alongside many other refactorings.
2018-01-20 22:14:24 +00:00
Monster Iestyn 0f99fdadd1 Merge branch 'next' into lua-archive-crash-hotfixes 2018-01-20 21:33:03 +00:00
Monster Iestyn fa3998e942 Some fixes to prevent bad table key types causing Lua panic errors for joining players in netgames:
* ArchiveTables: print an error if invalid key, to alert script author potentially
* UnArchiveTables: if the key is found to be nil after reading key and value, print an error and don't set them in the table
2018-01-20 21:18:16 +00:00
Monster Iestyn 82ac8b6a1c Hardcoded SOC_FWR6 from THZ1.wad, also tweaked MT_THZFLOWERB's hitbox 2018-01-19 17:56:18 +00:00
Monster Iestyn 0ef7aff5c0 Prevent SV_SpawnPlayer from being able to freeze the game if gametic is 0. Additionally add a sanity check to prevent the loop going on more than necessary anyway
This commit fixes -playdemo and -timedemo params for command line, allowing them to actually work again
2018-01-16 15:21:49 +00:00
Monster Iestyn 87aa9175a1 Merge branch 'master' into hardcoding-time-again 2018-01-13 17:49:44 +00:00
Monster Iestyn f1b8e122a2 Fix missing semicolon 2018-01-12 20:05:09 +00:00
Monster Iestyn 602701d6dd G_DoPlayDemo: prepend srb2home to the demo name (if an external file) so that demos in custom home paths can be loaded 2018-01-11 16:55:42 +00:00
Monster Iestyn ddf82949bf W_IsLumpWad: check if the file is a PK3, so it can bail out if it isn't 2018-01-10 19:13:29 +00:00
Monster Iestyn 0c89853425 created W_IsLumpWad as a shortcut for the "is the lump a WAD" checking in the code getting map data lumps 2018-01-10 16:51:23 +00:00
Monster Iestyn 19e08584a3 add support for maps-in-WADs-in-pk3s to P_NetArchiveWorld as well 2018-01-10 15:24:24 +00:00
Monster Iestyn 9c13cee9f0 Hack up support for pk3s in Custom FOF setup, fix stray ! preventing blockmap from loading 2018-01-09 22:22:10 +00:00
Monster Iestyn db23cfc916 Same has been done for REJECT now 2018-01-09 21:33:10 +00:00