Commit graph

3651 commits

Author SHA1 Message Date
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
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
Monster Iestyn
9843d60e13 Merge branch 'console-key-breakfast' into 'master'
Console key breakfast

See merge request STJr/SRB2!226
2018-03-04 14:06:40 -05: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
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
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
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
Alam Arias
4cbe2e1622
Merge pull request #231 from LJSonik/net-command-leak-fix
Fix net commands not always being freed
2018-02-14 10:28:32 -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
e98a11afd0 Merge branch 'file-loading-cleanup' into 'master'
File loading cleanup

See merge request STJr/SRB2Internal!129
2018-02-13 16:18:55 -05: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
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
fe2fd432e8 Merge branch 'stopleakingnames' into 'master'
Stop leaking names via metadata.

See merge request STJr/SRB2!223
2018-02-08 16:14:15 -05: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
b898dc397d Merge branch 'lua-archive-crash-hotfixes' into 'next'
Hotfix for "LUA PANIC" crash when joining a netgame

See merge request STJr/SRB2!222
2018-02-08 15:29:20 -05:00
Monster Iestyn
fbceca1312 Merge branch 'general-sky-fixes' into 'master'
General sky fixes

See merge request STJr/SRB2Internal!132
2018-02-08 13:41:57 -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
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
Monster Iestyn
0f99fdadd1 Merge branch 'next' into lua-archive-crash-hotfixes 2018-01-20 21:33:03 +00:00