Commit graph

635 commits

Author SHA1 Message Date
Monster Iestyn c6a2bde7d9 Use modulo, not bitwise AND. My fault once again, whoops.
The point here is ColorOpposite(MAXSKINCOLORS) would have given an actual result of its own since MAXSKINCOLORS & MAXSKINCOLORS is still MAXSKINCOLORS. This shouldn't happen though, as both Color_Opposite[MAXSKINCOLORS*2] and Color_Opposite[MAXSKINCOLOR*2+1] aren't defined.
2016-01-18 19:46:00 +00:00
Monster Iestyn af3c4755dc All lumps with the "SOC_" prefix in their names are now read as SOCs. 2016-01-17 19:43:26 +00:00
Alam Ed Arias 106287aca5 SDL: config.h.in is pre source tree, config.h for each cmake build 2016-01-14 12:32:04 -05:00
Monster Iestyn 99fad84674 Added missing SHORT macros around these variables, they're needed for big-endian builds to use these properly
...I'm to blame for this particular slipup as it happens, surprise surprise
2016-01-14 16:41:40 +00:00
Monster Iestyn e31c7ae3fa Removed dummied-out Pope XVI code 2016-01-14 16:41:33 +00:00
Monster Iestyn a52f31f30e doomtype.h tweaks
some of the mess in here really bothers me
2016-01-14 16:41:26 +00:00
Monster Iestyn 01ef2d3ca3 If this isn't an accidental copy+paste then I'd be very surprised 2016-01-14 16:41:19 +00:00
Monster Iestyn 7e94ee8422 From what I can tell, correcting this one value in finetangent[] shouldn't cause any harm at all, so... 2016-01-14 16:41:10 +00:00
Monster Iestyn 1e131d2786 Partial undo of what I did last commit to make Inu happy again.
Note: polyobj_t's "translucency" is apparently a SIGNED integer, so in theory it's possible to get polyobj flats to use the "spanfunc = splatfunc" line using negative values. If this is not meant to happen, this should probably be fixed asap

Conflicts:
	src/f_wipe.c
2016-01-14 16:40:55 +00:00
Monster Iestyn 734419d549 FF_TRANSSHIFT is meant for transmaps linked to states, not anything else!
I'm surprised how the source code flew in the face of this fact for so long and just used it everywhere, that's just silly.

Conflicts:
	src/f_wipe.c
2016-01-14 16:39:31 +00:00
Monster Iestyn 69550e98fe Since cv_pointlimit is handled in P_CheckPointLimit, I've just created P_CheckTimeLimit for cv_timelimit.
It helps make P_UpdateSpecials less messy-looking anyway.
2016-01-14 16:32:30 +00:00
Monster Iestyn 693058adae Replaced the old finetangent[] with a new more accurate one I made using a Python script.
Actually uses 0 and 65536 now! (and also INT32_MIN)
2016-01-14 16:32:22 +00:00
Monster Iestyn d4f2d24921 Fix up lib_finetangent so tan() returns values starting from "0" in Lua (finetangent itself hasn't been touched)
Also fixed how the function went out of the array's bounds for ANGLE_180 and above (or negative angles)
2016-01-14 16:32:13 +00:00
Monster Iestyn a0df3cec7b Move finecosine[] declaration to where it really belongs in the source code 2016-01-14 16:32:02 +00:00
Inuyasha 420a27ce11 Attempt to play nice to cmake. 2016-01-14 07:46:28 -08:00
Inuyasha 06dea3ab78 Branch and revision information in builds
Also makes comptime.bat work with git if able.
Development builds will now show the branch and the SHA1 hash of the revision. Also been tested to work with subversion, where it displays "Subversion r####". You know, just in case.
2016-01-14 07:46:27 -08:00
Monster Iestyn 529f5af614 Removed a few old OpenGL-specific hacks that compensated for lack of dispoffset
(I won't touch overlays for now)
2016-01-13 22:50:16 -08:00
Monster Iestyn 4a8dd8031e dispoffset now works in OpenGL 2016-01-13 22:50:15 -08:00
Monster Iestyn 049689334d large dispoffset values no longer cause sprites to be distorted
more detailed description: vissprites now store dispoffset in a separate variable from (y)scale, and uses it to influence order between sprites without it affecting the actual drawing of the sprites themselves
2016-01-13 22:50:14 -08:00
Inuyasha fea0a9577a Further optimization of fading code because I'm crazy
The less branches, the better.

Optimization is a bitch, you know.
2016-01-13 22:48:39 -08:00
Monster Iestyn 4eb8ba7bf7 Merge branch 'fix-md2s' into 'next'
Fix md2s

shoutouts to MI for breaking them accidentally

I was about to just commit this straight to next but it's the perfect reason of why code review is beneficial and I'd be a hypocrite to point that out and then skip the process

See merge request !28
2016-01-13 22:20:31 -05:00
Sean Ryder 6a67609b74 Merge branch 'master' into md2_colourchange 2016-01-12 23:52:04 +00:00
Monster Iestyn 22cf800f2f Fixed implicit declaration of some functions if compiling without OpenGL support
Not related to Wolfy's problems afaik... this branch seems to be turning into a misc compiling fixes branch now
2016-01-12 15:42:40 +00:00
Monster Iestyn de576c56a5 Removed void typedef for GLPatch_t used when HWRENDER is undefined
Apparently all parts of the source code that require GLPatch_t are themselves used only if HWRENDER is defined. Do I need to say more?

Not sure if this will fix Wolfy's latest problem or not though
2016-01-12 15:42:36 +00:00
Monster Iestyn 997ae7dcc9 Fixed what appears to be a minor including error in sdl/i_system.c
Basically, Wolfy's linux (non-CMake) compiling apparently fails here, and config.in.h actually lives outside of the sdl folder. Blame a particular someone for blindly copy+pasting these includes in this file without considering the consequences when adding support for CMake everywhere.
2016-01-12 15:42:25 +00:00
Monster Iestyn a8e4234d74 Fixed implicit declaration of some functions if compiling without OpenGL support
Not related to Wolfy's problems afaik... this branch seems to be turning into a misc compiling fixes branch now
2016-01-11 14:51:55 +00:00
Monster Iestyn be266c27e1 Removed void typedef for GLPatch_t used when HWRENDER is undefined
Apparently all parts of the source code that require GLPatch_t are themselves used only if HWRENDER is defined. Do I need to say more?

Not sure if this will fix Wolfy's latest problem or not though
2016-01-10 20:56:09 +00:00
Monster Iestyn 146011937a Fixed what appears to be a minor including error in sdl/i_system.c
Basically, Wolfy's linux (non-CMake) compiling apparently fails here, and config.in.h actually lives outside of the sdl folder. Blame a particular someone for blindly copy+pasting these includes in this file without considering the consequences when adding support for CMake everywhere.
2016-01-10 18:24:58 +00:00
RedEnchilada 6929b6fe4b Make internal slope functions static and remove from header 2016-01-03 10:33:45 -06:00
Monster Iestyn 8cad9a6dc8 We can compile the slopes code now, yay! My brain hurts.
Compiling errors fixed in this commit:
* Various cases of mixed declaration and statement code
* Implicit declaration of slope functions (read: you forgot to put "include "p_slopes.h" in MORE than a few places)
* an odd case of a bad fixed_t to float typecase, cause by using P_GetZAt directly inside FIXED_TO_FLOAT
* a few minor cases of bad unsigned-signed comparisons
* no prototypes for some of the new slope functions. For goodness sake Red, this is basic stuff!
2016-01-03 10:30:36 -06:00
Monster Iestyn b043520411 NextLevel for level headers can now take the special strings "Title" "Evaluation" or "Credits" in place of their usual numbers (optionally, that is) 2016-01-03 10:29:53 -06:00
RedEnchilada b9b1e2b298 Fix MD2s 2016-01-02 21:53:43 -06:00
Nipples the Enchilada 0a0f16a001 Merge branch 'actions-tweaks' into 'next'
Actions tweaks

This just rewrites the action A_SetTargetsTarget currently, dunno if I'll bother to tweak any more actions in the near future \*shrugs\*

That said, PLEASE check whether the action works properly before accepting the merge. It's been a while since I last did anything with this branch, so I forget entirely whether I tested it or not.

See merge request !27
2015-12-30 14:45:37 -05:00
Nipples the Enchilada 93c31b5b72 Merge branch 'angles' into 'next'
FOF slope/ground slope weirdness fix

Solves STJr/SRB2Internal#26 .

See merge request !26
2015-09-26 18:51:34 -04:00
RedEnchilada 773e5fbda6 Fix sloped FOF/ground weirdness ( STJr/SRB2Internal#26 ) 2015-09-24 15:35:55 -05:00
Alam Ed Arias 3917b02132 Merge branch 'angles' into 'next'
Slopes and stuff

Adds support for slopes, slopes on FOFs, slopes on translucent FOFs, slopes on FOFs with holes in the flat, slope physics, dynamic slopes, vertex slopes, dynamic vertex slopes, and a ham sandwich to the game. Only for software mode right now, though. (OGL still gets the physics and the sandwich.) Some things still need to be done, but for now this can be merged in to be finished later.

Please make sure nothing in the vanilla game breaks before giving the thumbs up for this merge.

Since this doesn't merge automatically, if the code review turns out positive and nobody else has done it, I'll handle the merging.

See merge request !22
2015-09-03 15:57:01 -04:00
Alam Ed Arias 04c1a507ba Merge remote-tracking branch 'public/hotfix-hook_NetVars' into next 2015-09-03 13:54:12 -04:00
Yukita Mayako 52e2087ee7 Fixed NetVars hook mistakenly assuming index starts from 0. 2015-09-03 13:13:55 -04:00
Monster Iestyn 775ccde424 Add M_Options(0); to F4/F5/F7 code to prevent them going to Main Menu instead of SP/MP pause menus when the latter should be shown 2015-09-01 22:56:45 -04:00
Monster Iestyn 0f038f9a3b Add M_Options(0); to F4/F5/F7 code to prevent them going to Main Menu instead of SP/MP pause menus when the latter should be shown 2015-09-01 12:45:26 +01:00
RedEnchilada 9155fd6c14 Fix unexpected behavior with colormaps in sloped sectors
To be specific: when a sector had a sloped ceiling and a colormap was
placed above it, the colormap wouldn't fill anything above where the
ceiling height is at the sector's midpoint. This is fixed.
2015-08-24 22:09:19 -05:00
Yukita Mayako 2fb03a7cff Merge branch 'next' of git@git.magicalgirl.moe:STJr/SRB2.git into angles
Conflicts:
	src/p_map.c - Automatically resolved by mergetool
2015-08-22 09:52:11 -04:00
Alam Ed Arias 96c71c68c8 remove NEED_FIXED_VECTOR and fix angelchk testcase 2015-08-21 21:27:20 -04:00
Alam Ed Arias c64e4d58b7 git warning: new blank line at EOF 2015-08-21 20:47:00 -04:00
Alam Ed Arias f3d40c34a0 git warning: trailing whitespace 2015-08-21 20:46:41 -04:00
RedEnchilada d5884a6957 Add Chee to credits
(she helped port important drawing code!)
2015-08-21 18:23:37 -05:00
Monster Iestyn f8b439769a Fixed Tag and H&S getting each other's suicide behaviors by mistake. 2015-08-15 13:00:49 +01:00
Alam Ed Arias 79ecbc407e Merge branch 'pointtoangle-fix' into 'next'
Tweaks to R_PointToAngle and R_PointToAngle2

Exactly what it says in the title! See commit description for more information on what I did, since I'm too lazy to write it all up a second time. =P

Could someone check that these changes don't cause anything else in particular to go wrong in the game or source code? I haven't checked myself that much yet, mostly because I totally forgot about this thing until now, lol.

See merge request !19
2015-08-14 18:10:33 -04:00
Monster Iestyn b449bd826a Rewrote A_SetTargetsTarget to be more sensible and efficient 2015-08-13 19:42:00 +01:00
RedEnchilada 50b5e978cc Support ceiling/backsector vertex slopes 2015-08-03 23:09:50 -05:00
RedEnchilada 1f5fc04d60 Add vertex slopes 2015-08-03 22:15:59 -05:00
RedEnchilada c7b6cd705f Separate P_LoadThings into two functions to make the next commit cleaner 2015-08-03 19:27:10 -05:00
RedEnchilada 14ea936f74 Sync mobj->standingslope in netgames 2015-08-03 18:06:42 -05:00
RedEnchilada 51284c01d8 Start using slope flags/id in creation process 2015-08-03 17:39:33 -05:00
RedEnchilada 049bbce5c0 Add data to slope struct that will be useful later 2015-08-03 17:37:50 -05:00
RedEnchilada 6026fa42eb Add masked FOF slopes (+other rendering tweaks) 2015-08-03 14:47:05 -05:00
Sryder13 d050a60f36 Change a few colours. 2015-08-03 02:01:56 +01:00
Monster Iestyn fa935be129 Fixed the issue where diagonal springs couldn't teleport you to their centers anymore (guess whose fault that was! =D ). Basically I just made P_DoSpring boolean, which probably could be useful to Lua peeps as well. (it returns true if you were sprung, false if not) 2015-07-28 19:28:51 +01:00
Sryder13 cc3d3a67e6 Colour Changing MD2s
I don't know how I can move my old branch over so I've just created a new one.
2015-07-26 20:14:47 +01:00
Monster Iestyn 6138845930 Removed all "-1"s from R_PointToAngle and R_PointToAngle2, in order to allow ALL basic compass directions at the least to be given the right angle by these functions.
Note: Before this change, North and West directions would be returned as ANGLE_90-1 and ANGLE_180-1. This caused the pusher polyobjects in THZ2 to slowly move sideways as a side-effect (and probably caused similar bugs in the past too, these functions have barely been touched in a decade it turns out.)
2015-06-21 16:58:34 +01:00
Alam Ed Arias ac5c8f10e9 Merge remote-tracking branch 'public/lua-32bit-changes' into next
Conflicts:
	src/lua_mobjlib.c
2015-06-18 10:22:07 -04:00
Alam Ed Arias c4ac9643ad Merge branch 'goop-dampen' into 'next'
Goo Water (THZ Goop) adjustements

At Nev3r's request:
Adjusted goop so that you spend less time bouncing around in it. The goop will become a walkable surface with a higher velocity threshold.

The actual goop physics haven't been altered as far as the initial entrance and underwater time is concerned, only leaving goop and subsequent bounces has been dampened significantly.

See merge request !7
2015-06-18 10:11:27 -04:00
Alam Ed Arias 904c3c227b Merge branch 'trigonometry-fix' into 'next'
finesine table

I pasted in finesine from #11 and made a merge request.

This has been lightly tested to ensure the renderer doesn't immediately break. No ill effects have been observed so far.

See merge request !17
2015-06-18 10:09:04 -04:00
Alam Ed Arias b2e330d64c Merge branch 'idk-what-to-call-this-branch' into 'next'
A_SetObjectFlags tweak

Only reset the sector/blockmap links on an object calling A_SetObjectFlags if the MF_NOSECTOR|MF_NOBLOCKMAP flags change. Fixes a freeze related to LD442 demonstrated in MascaraSnake's example WAD at https://dl.dropboxusercontent.com/u/27962790/statetest.wad .

See merge request !11
2015-06-18 10:06:46 -04:00
Alam Ed Arias f0054be951 whitespace fixup 2015-06-18 10:05:51 -04:00
Alam Ed Arias a03fc205b4 Merge branch 'hotfix-pltz' into 'next'
Re-add/fix broken platform momz mobj code.

The changes in this branch re-add the platform's momentum to players and mobjs which leave the platform (eg. by jumping) so that they move with relative velocity as expected. This behavior was unintentionally broken in SRB2 2.0, which adds a lot of artificial difficulty to certain segments of the levels, where you have to jump between high velocity moving platforms which seemingly cut your jump height to nothing.

Not only has the behavior been fixed, but it has now been enhanced to move the camera while free-falling between platforms as well, completing the illusion of full relative velocity with minimal hiccups. [Observe.](http://i.imgur.com/zmSfUyp.gifv)

See merge request !14
2015-06-18 10:04:54 -04:00
Alam Ed Arias f7747f43ba Merge branch 'misc-fixes-tomerge' into 'next'
Miscellanous fixes to merge

These are the commits from the "miscellanous-fixes" branch that are okay to merge in.

Bugs fixed include the following:
* CTF flags respawning incorrectly: they cannot z position themselves correctly, and they cannot flip themselves.
* The weird "jumping" spring/monitor effect: this is the result of an internal mobj_t pointer (tmfloorthing, specifically) not resetting itself to NULL for the next object's thinker, resulting in Z movement code thrusting the object vertically at tmfloorthing->momz.

See merge request !18
2015-06-18 09:51:59 -04:00
Monster Iestyn b564a169d8 Starting work for getting sector.lines in Lua: it WORKS at the least, but I have no way to determine the size of the array itself as of yet 2015-06-17 21:00:10 +01:00
STJrInuyasha 45515df790 Make sure "word" in readlevelheader gets reset
... because some things (Lua. custom header entries) move it.
https://mb.srb2.org/showthread.php?t=40580

(Technically breaks netgame compatibility for Lua-heavy mods, so in next.)
2015-06-13 15:56:28 -07:00
Yukita Mayako 0af32ee2fa Move garbage collection out of Lua hooks.
That's supposed to be run once a frame, not once per hook
per mobj per frame you moron. If you just run it seven
thousand times a frame, of course your framerate will drop.
2015-06-10 13:42:45 -04:00
Yukita Mayako c139e93fe6 Applied new finesine table.
finesine[0] == 0 now. This naturally fixes a bunch of math fudging.
No ill effects have been observed so far.
2015-06-10 12:07:08 -04:00
Yukita Mayako 06b82d172b lua_pushfstring only allows %d not %x
Stupid JTE.
2015-06-10 11:06:56 -04:00
Yukita Mayako 6ac5013802 Only push userdata to the stack when needed!!
Dummy, what do you think you're doing? If you
just push mobjs and players into Lua all willy-
nilly everywhere, you'll wind up generating
tons of metatables and stuff you arne't even
gonna use!

Oh. Thanks me, I'm really smart.
2015-06-10 08:06:16 -04:00
Yukita Mayako 120c9c5ad5 Change int32_t to __int32 on MSC.
I can't just say screw it and include the full
doomtype.h here (windows.h conflict?) so a
small hack here will have to do. :I
2015-06-10 07:41:44 -04:00
Yukita Mayako ecdf3412c0 Rewrote the entirety of lua_hooklib.c
This _should_ solve some significant performance
issues Lua experiences. If not, I will be very
upset for having wasted so much time and effort.

There will be bugs, this kind of thing needs to
be thuroughly tested and this is just the first
iteration of it.
2015-06-10 07:28:09 -04:00
Yukita Mayako 36cf4c1bd2 Fix comma error. 2015-06-09 19:53:35 -04:00
Yukita Mayako fc649ce195 Merge branch 'next' of git@git.magicalgirl.moe:STJr/SRB2.git into hotfix-pltz
Conflicts:
	src/dehacked.c
	src/p_mobj.h
2015-06-09 07:38:21 -04:00
Yukita Mayako 9a9025b1ee Remove pmomz from players who are on ground.
Assume that every frame the player is on the ground, their pmomz will
be re-set properly if the floor is moving, therefore if the platform
STOPS, we need this to set it to 0.
2015-06-09 06:59:34 -04:00
Monster Iestyn b88600dac6 tmfloorthing and tmhitthing are set to NULL at the start of P_MobjThinker, preventing any weird cases of carrying over the previous mobj's floor object or such.
This fixes the issue with upside-down springs shooting downwards if you touch another of its kind. Also fixes one of the issues with monitors in Icicle Falls (after you phase inside the East-most float-bob FOF's monitor via the other bug and jump up to break it while there, the NEXT monitor moves upwards too)
2015-05-31 13:57:27 +01:00
Yukita Mayako c16516ef0d Partial revert.
This partially reverts commit a1c67e7e67.
2015-05-29 17:22:31 -04:00
Yukita Mayako a1c67e7e67 Add MFE_APPLYPMOMZ to fix camera movement.
Here's how it works: When a player walks off the
moving platform, it applies their pmomz once, and
then _keeps pmomz set_ so that the camera still
adds pmomz to its movements until they hit another
floor. This way, the camera doesn't jerk around.
2015-05-29 13:53:06 -04:00
Monster Iestyn c6ade27b6a Fixes to CTF flag respawning, particularly reverse gravity and z-positioning. 2015-05-29 14:59:13 +01:00
Yukita Mayako 213a0caa23 Hotfix amendment
Also gain velocity from walking off an "up" elevator normally?

This _looks_ incorrect because the camera stops matching
the platform movement the moment you step off, but I
assure you it is a correct and accurate movement.
(Try it with chasecam off.)
2015-05-29 05:47:01 -04:00
Yukita Mayako 3bc56a91b2 Hotfix for platform movement being dropped on players.
Now players will apply platform movement when jumping,
but only if the platform is moving the same direction
as their jump is, and all other objects will have an
appropriate pmomz in reverse gravity FOF situations.
2015-05-29 04:34:53 -04:00
RedEnchilada e00d682185 Fix issue with objects getting stuck IN floors 2015-05-25 13:25:23 -05:00
RedEnchilada 5e18db79e9 Fix mobjs sometimes clipping through floors (whoops!) 2015-05-25 12:16:19 -05:00
RedEnchilada d9d3752b4e Unbreak FOF specials 2015-05-25 11:46:09 -05:00
RedEnchilada 32759312a1 Shut up the Kalaron 2015-05-24 18:22:56 -05:00
RedEnchilada bddcf98355 Remap slope line specials to 7xx range: shim old values for now 2015-05-24 15:59:17 -05:00
RedEnchilada a9d49cd9fa Make all specials reliant on floor touch work right with sloeps
(I might've missed some, though)
2015-05-24 12:53:30 -05:00
RedEnchilada a9dba0ffd1 Condense GetFloor/CeilingZ into fewer functions, and use macros for the rest 2015-05-24 11:27:52 -05:00
RedEnchilada e0d97e4b1a Slope planes should now not turn into static in 99% of cases 2015-05-23 16:27:15 -05:00
RedEnchilada 109d379980 Fix conveyor slopes eventually turning to static 2015-05-23 15:44:53 -05:00
RedEnchilada b121bcca68 Remove P_GetZAtf (it didn't seem to work right anyway) 2015-05-23 12:23:24 -05:00
RedEnchilada 485f671f23 Sloped planes now respect flat offsets 2015-05-23 02:18:32 -05:00
RedEnchilada a5d7356fd2 Sayonara, m_vector.c 2015-05-23 01:32:28 -05:00
RedEnchilada 3629a2141b Slope planes work again. I hacked an alignment fix in too. 2015-05-23 01:19:38 -05:00
RedEnchilada 89319b1c2a Dummy out m_vector and use m_fixed's functions instead
These functions were already here before, and I /swear/ the slope
physics became slightly less glitchy after switching to them...
Only issue is the slope plane mapping code hasn't been properly
converted yet, so they don't render properly for now.
2015-05-22 22:07:07 -05:00
RedEnchilada 3f8e7b1739 Revert/remove unused/broken junk from original slopes port
m_vector removal to come later. The little thing commented out in it
is so I could revert the weird tables.c change.
2015-05-22 20:57:58 -05:00
RedEnchilada 8c54ee44e7 Slopey physics for some things that aren't players
This is incredibly messy and probably needs redone differently at
some point, but... fuck it.
2015-05-22 12:33:12 -05:00
JTE f783df718c Reset tmthing after P_CheckSector calls from Lua
tmthing must not be set outside of P_MapStart and P_MapEnd
or the game will fail a sanity check which ensures that
mobj references are not persistent across frames and crash.
2015-05-22 01:51:40 -04:00
JTE c91cd3860b Revert "Wrapped Lua MapLoad hook in P_MapStart / P_MapEnd."
This reverts commit 6ee50e803b.
2015-05-22 01:46:59 -04:00
RedEnchilada fb9d07b8ba Bugfixes to sloped FOF plane clipping 2015-05-21 22:13:51 -05:00
JTE 6ee50e803b Wrapped Lua MapLoad hook in P_MapStart / P_MapEnd.
This fixes a crash if a script tries to use a MapLoad hook
to immediately edit the map in some way the moment it
finishes loading.
2015-05-21 19:55:22 -04:00
JTE dfa8ac7ccb Added sidedef texture and offset manipulation to Lua. 2015-05-21 19:05:17 -04:00
RedEnchilada 0d9f8028b7 Players now bounce off of slopes on bouncy FOFs 2015-05-21 15:49:49 -05:00
RedEnchilada f23f5d4379 Fix flat slopes eating jumps 2015-05-21 15:49:26 -05:00
RedEnchilada e24595ed52 Make the crumble check account for slopes for... some reason 2015-05-21 10:17:53 -05:00
RedEnchilada 3d2b71b24c Make cameras properly collide with slopes 2015-05-21 09:36:20 -05:00
JTE ef0e61fc33 Change LUA_NUMBER to fixed_t, change angle_t handling in Lua.
Angles now go from 0 to 0xFFFF (360 degrees == FRACUNIT) instead
of using a full UINT32. Lua only has one number type, so signedness
gets in the way of using angle_t directly. This handling of angles
matches up with how ZDoom ACS scripting and the like does it.

I also changed all the integer casts and pushes of fixed_t to
their own macro in preperation for possible future seperation.
2015-05-20 23:54:04 -04:00
RedEnchilada 7a3c5b3dd9 Scenery objects (notably, bubbles) now use slope when finding water surfaces 2015-05-20 19:21:44 -05:00
RedEnchilada 0e94cc66ff 2-in-1! Fixed slide movement AND climbing when around slopes 2015-05-20 19:08:49 -05:00
JTE 9d36cf37bd Removed EvalMath from base Lua.
EvalMath is for SOC only.
It spawns an entirely seperate instance of Lua and requires
uppercase-only strings, and it's ability to parse strings to
enums is redundant to Lua's _G table (try using
_G["MT_BLUECRAWLA"] for instance)
2015-05-20 18:44:03 -04:00
JTE 1e62be15ce ALL7EMERALDS is a boolean you idiot, not an integer. 2015-05-20 17:29:32 -04:00
RedEnchilada 7b0e98ef35 Change sliding physics and standing/rolling rules on slopes 2015-05-20 13:18:41 -05:00
RedEnchilada 1376f399d3 Sprite lighting obeys the slope overlords now 2015-05-18 00:23:44 -05:00
RedEnchilada e7bc004bbf Sloped lights n shit 2015-05-17 23:51:38 -05:00
RedEnchilada e83844796e Proper sorting fix for sloped FOFs and sprites 2015-05-17 21:49:13 -05:00
RedEnchilada 41573b118c I'm a dumbass 2015-05-17 12:36:06 -05:00
RedEnchilada 0af3852273 Add translucent slope renderer 2015-05-17 12:24:20 -05:00
RedEnchilada 780c568aaf Fix sprite-to-plane sorting on sloped FOFs 2015-05-17 12:03:52 -05:00
RedEnchilada d138f7e14f Collision with FOF slopes (might be unfinished, idk) 2015-05-17 11:53:28 -05:00
RedEnchilada 8ba5b66853 Slight optimization (don't get seg ends for slopes if there are no slopes) 2015-05-16 23:55:49 -05:00
RedEnchilada c08253d796 FOF sides now render slopified too! 2015-05-16 23:04:54 -05:00
RedEnchilada 4e11d6d615 Make FOF planes render slopedly if set 2015-05-16 22:32:12 -05:00
RedEnchilada d81cecdac9 Minor cleanup so it stops bugging me 2015-05-16 19:59:52 -05:00
RedEnchilada 09f8dec7d1 Optimization/configuration option: No Tails on a slope line makes a slope non-dynamic 2015-05-16 00:04:19 -05:00
RedEnchilada 6fcdac494f Spawned things spawn relative to slope floor/ceiling heights now
This was a headache. :<
2015-05-16 00:02:01 -05:00
RedEnchilada 36d576adf4 I think those were being cast wrong 2015-05-15 12:36:16 -05:00
RedEnchilada 445e778309 Improvements to slope collision/landing/ejecting/fajitas 2015-05-15 12:35:54 -05:00
RedEnchilada b69678f1a6 PLACEHOLDER, DO NOT PUSH THIS COMMIT 2015-05-15 10:23:53 -05:00
RedEnchilada bd0b7829bb Fix rotated flats on slopes 2015-05-14 10:55:43 -05:00
RedEnchilada e39c8aa62e Fix ceiling slopes lol 2015-05-13 21:57:47 -05:00
RedEnchilada 0cc917a0ff Plane lighting for slopes now actually acts like it should 2015-05-13 21:41:54 -05:00
RedEnchilada 2187dac49b Fix random texture triangles rendering on lines with slopes????? 2015-05-13 16:48:34 -05:00
RedEnchilada a3358479f0 Improvements related to slope collision, and quantize momentum properly for landing 2015-05-13 16:15:32 -05:00
RedEnchilada 371e23d55d Reduce acceleration pushback to less absurd levels 2015-05-13 16:02:19 -05:00
RedEnchilada 2183912100 Change upper/lower textures to not skew by default, add new linedef flags on normal linedefs:
Effect 1: Restore skewing on upper/lower textures
Effect 2: Disable skewing on midtextures
Effect 3: Flips effect of Lower Unpegged for midtextures only
(Effect 3 w/o LU: midtexture sticks to bottom, bottom texture sticks to
upper edge. Effect 3 w/ LU: midtexture sticks to top, bottom texture
sticks to lower edge.)
2015-05-04 17:45:02 -05:00
RedEnchilada 7e13cb8b47 Fix various issues/crashes with texture alignments 2015-05-04 16:40:02 -05:00
RedEnchilada 1b9180111c Pin midtextures based on slopes, including bending on wall crossing 2015-05-04 15:15:57 -05:00
RedEnchilada c66bb1c330 Make textures skew according to slope (midtextures not fixed yet) 2015-05-03 15:47:40 -05:00
RedEnchilada 79fedf91a0 Fix occasionally running into an invisible wall around slopes 2015-04-30 18:36:21 -05:00
RedEnchilada 3644d4d883 Minor code cleanup around renderer gunk
(Who let that silhouette == 1/etc thing sit there all those years? :V)
2015-04-30 00:41:29 -05:00
RedEnchilada 234f734fe5 Fix sprite clipping and some blocking walls being rendered around slopes 2015-04-30 00:38:51 -05:00
RedEnchilada 02d63aa011 Tweaks to slope physics + add accel rules for slopes
Your acceleration vector parallel to the slope is reduced based on slope
angle if it's going up the slope. The pull physics' momentum increase was
toned down a bit to go along with this. Also, I removed the ifdefs for
OLD_MOVEMENT_CODE because why should that be kept around?
2015-04-30 00:32:44 -05:00
RedEnchilada fe8a2ae680 Fix compile error 2015-04-29 01:45:39 -05:00
chi.miru c4306b624d Optimized R_DrawTiltedSpan_8 2015-04-29 02:36:18 -04:00
RedEnchilada ae935a0955 Stop rubbing my ass on the code long enough to fix reverse gravity 2015-04-29 00:36:24 -05:00
RedEnchilada db883f6a23 Add a bunch of slope physics
I know giant commits all at once like this are a bad thing, but
too bad I worked without staging commits and now it's all here
at once :)
2015-04-29 00:35:54 -05:00
RedEnchilada 1f0f6b64c1 Store the slope an object is resting on (if applicable) 2015-04-29 00:33:04 -05:00
RedEnchilada de81d01fbc Fixes to slope generation (backfloor crash and wrong zdelta/zangle) 2015-04-29 00:30:39 -05:00
RedEnchilada 776b5254e6 Slope collision fixes 2015-04-29 00:29:51 -05:00
RedEnchilada 10ba850871 Fix dynamic slopes not working right in some cases 2015-04-27 14:07:04 -05:00
RedEnchilada 6694480f68 Overhaul slope collision (NOT PHYSICS) to work almost perfectly 2015-04-27 13:20:50 -05:00
RedEnchilada 58dd6d42af Add P_GetFloorZ and P_GetCeilingZ as boilerplate to facilitate better slope collision
I have not used this anywhere in the code yet.
2015-04-27 13:18:12 -05:00
RedEnchilada 0c477c685d Removing unused cruft 2015-04-26 22:20:03 -05:00
RedEnchilada 6fa1448f59 More cleanup, and made dynamic sloping more efficient/fixed memory leak 2015-04-26 21:50:50 -05:00
RedEnchilada d0a726c00b Teeny optimization in renderer code?? 2015-04-26 13:06:45 -05:00
RedEnchilada aeef23e816 MakeSlope_Line cleanup/fixed-point conversion 2015-04-26 13:06:23 -05:00
RedEnchilada 5070a964b9 Starting to clean up a bit of Kal's mess
I still don't know why Git reacts so strangely to the new files' line breaks...
2015-04-25 22:22:50 -05:00
RedEnchilada bac34d783e Fix crash with ceiling slopes and line collisions 2015-04-25 20:39:18 -05:00
RedEnchilada f130a529b1 make stupid slopes render on stupid unix stupids 2015-04-21 10:01:51 -05:00
RedEnchilada 7703eae0e8 Actually fix slope generation (also whitespace stuff) 2015-04-20 13:25:39 -05:00
RedEnchilada f4ea285f02 Fix vertical linedefs on slopes rendering improperly 2015-04-20 12:31:30 -05:00
RedEnchilada 12202d94a9 Fix calculation of slope extent, whoops 2015-04-20 12:18:56 -05:00
RedEnchilada 779faaa93f SLOPES IN SOFTWARE MOD EHOLY SHIT 2015-04-20 02:10:14 -05:00
RedEnchilada 65719c5b99 Make wall renderer account for slopes properly (in most cases) 2015-04-19 22:20:54 -05:00
RedEnchilada 8d35c5064a Fix slope generation
Physics seem to work at least partially, but no rendering yet (not even in OGL)
2015-04-19 16:54:20 -05:00
RedEnchilada 6e1f7e5f3a Add slope files to CMakeLists 2015-04-19 16:21:19 -05:00
RedEnchilada 923fae476e Merge branch 'fury-gh/slopes' into angles
Conflicts:
	src/p_maputl.c
2015-04-19 15:56:55 -05:00
RedEnchilada ddd66b9eff Make A_SetObjectFlags only reset sector/bmap links if needed 2015-04-17 12:10:40 -05:00
Furyhunter f7c463418e Merge branch 'actual-blockmap-fix' into 'next'
Actual blockmap fix

MI's "fix" was a reversion of something that allowed 2.0 maps to use the entire blockmap. This MR reverts that fix and adds a proper fix to the issue of west/south edges of the blockmap not working as they should. Tested with a thokbarrier-less square map (all sides were solid) and with AGZ (objects are tangible all around the map, like they are in 2.1.14).

See merge request !10
2015-04-14 20:22:25 -04:00
Furyhunter 420c90fb48 Merge branch 'serverfix' into 'next'
Re-fix the server global variable in Lua

I screwed up the conditions on my first attempt to fix this, since I only tested one scenario. Tested this in SP, at the main menu, and both clientside and (dedicated)serverside in MP. Everything works as intended.

See merge request !9
2015-04-14 20:14:17 -04:00
Furyhunter 63089c885e Merge branch 'polyobject-more-fixes' into 'next'
Polyobject more fixes

Extra fixes related to polyobjects; actually properly putting their flats alongside them in the draw list, and making them able to use single-waypoint zoom tube sequences. Also threw in a smoothness fix for swinging chains while I was there.

See merge request !8
2015-04-14 20:13:16 -04:00
Furyhunter 3d59e337ac Merge branch 'polyobject-scroll-hotfix' into 'next'
Polyobject scroll hotfix

Things fixed:

* Polyobjects should now carry the same thing types as conveyors (notable example; they'll now carry Crawlas when they wouldn't before)
* The drifting issue with players on spinning polyobjects should be fixed. (I swapped in the old bad hack for a new hack that should work like it's supposed to)

See merge request !6
2015-04-14 20:10:07 -04:00
RedEnchilada d2c74e1b13 Fix the west/south blockmap issue without fucking up huge maps 2015-04-08 21:32:07 -05:00
RedEnchilada 09345ce929 Revert "Guess what major breaking-news bug I just fixed B)"
This reverts commit 9e306394dd.
Sorry MI, but this completely breaks large maps like AGZ.
2015-04-08 20:50:49 -05:00
Wolfy 55bfb4ffe8 Re-fix the server global variable in Lua 2015-04-08 13:46:30 -04:00
RedEnchilada 210279625a Extra tiny logic fixes; swinging chains are smoother, and polyobjects can follow single-waypoint sequences 2015-04-06 11:23:08 -05:00
RedEnchilada 1078be3c30 Insert polyobject planes into their proper spot in the draw list; replace related hack with other hacks 2015-04-06 11:22:27 -05:00
JTE 4f06650a1e Removed the small velocity boost you get for surfacing from goo.
This will prevent the goo from maintaining momentum for too long,
and shorten the amount of time before you stabilize on the surface.
2015-04-04 18:39:32 -04:00
JTE 4016d15f7b Adjusted platform-creating velocity of goo water.
Now it will only bounce ONCE when you jump on it, and Knuckles
just barely gets enough velocity out of his jump for even that.
This will leave players vulnerable and annoyed for a lot less
time while they wait to finish bouncing.
2015-04-04 18:38:20 -04:00
RedEnchilada 5a4d9f885b Making RotateThings a bit nicer?? 2015-04-01 20:41:53 -05:00
RedEnchilada 6616b030bb Replace the old spinny polyobject player drifty hack thing with a new one that actually works 2015-04-01 18:15:46 -05:00
RedEnchilada fb120299bb Make polyobjects carry the same objects as conveyors for consistency 2015-04-01 17:39:20 -05:00
Alam Ed Arias 83461f49c5 Merge branch 'public_todo_next' into next
All commits that was in private that are not SRB2 2.2 had moved to public's next
2015-04-01 12:32:34 -04:00
MonsterIestyn 9e306394dd Guess what major breaking-news bug I just fixed B)
...

(It's that infamous intangible West/South linedefs bug, which was really a blockmap-related bug all along. AND IT WAS SO SIMPLE TO FIX!)

git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9048 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-31 18:00:14 -04:00
RedEnchilada bd5dcb0b0a Make sure lump name is zeroed out before writing so it always ends in a terminating char
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9047 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-31 18:00:14 -04:00
MonsterIestyn a797e88bb9 Red's last commit should have been using "pgl", not "gl" for function name prefixes, so the compiler would be happy. Also, more simplicity in my camera code please! Simplified some of the checks for whether a camera should chase or not etc
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9046 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-31 18:00:14 -04:00
RedEnchilada 308a958653 yellow wanted me to push this cus it fixed md2 translucency for her test cases
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9045 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-31 18:00:14 -04:00
RedEnchilada ada9b6a9ea I was helping yellow debug a crash and we found out this thing never actually fixed the crash like it was supposed to so it's fixed now -3-
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9044 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-31 18:00:14 -04:00
MonsterIestyn 076719e6a4 P_CheckSight should ideally be called AFTER most other things in things like P_LookForPlayers at least
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9043 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-31 18:00:13 -04:00
MonsterIestyn d915a8142d Super skin colors are now available for use with mobj.color (but not player.skincolor, for obvious reasons), complete with the names for them (SKINCOLOR_SUPER1-5, TSUPERx, KSUPERx and MAXTRANSLATIONS to boot)
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9042 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-31 18:00:13 -04:00
MonsterIestyn 6cff0bba70 Base draw distances on viewx/viewy coordinates, NOT the player object's coordinates (this can cause problems with things like skyboxes for instance). Splitscreen's player 2 should not affect what sprites player 1 can see, and vice versa! Especially not for precipitation, that just looks ridiculous.
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9041 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-31 18:00:13 -04:00
MonsterIestyn 2d9d028bea Removed Lua's access to subsector/linedef validcounts and camera viewheight/startangle, since they are all useless for Lua purposes
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9040 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-31 18:00:13 -04:00
MonsterIestyn 4aa0b7a2a8 Fixed changing of player states with respect to vertical spring direction; only thing that should affect it is the player's own gravity.
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9038 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-31 18:00:13 -04:00
MonsterIestyn 34c396825f tmsprung is dead, long live MFE_SPRUNG a bunch of other painful tweaks to springs to fix this long-standing "AAA IM STUCK FOREVER UNDER A SPRING" thing when you touch a vertical spring from below (or above for reverse)
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9037 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-31 18:00:13 -04:00
MonsterIestyn 2480382b6b remove camera_t's "relativex" option from Lua stuff, it's unused anyway (todo: possibly remove said variable from existence altogether? Some disabled code still uses it though)
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9036 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-31 18:00:13 -04:00
MonsterIestyn 69f77a6c2e Not sure how these things work, but presumably this was meant to be here
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9029 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-31 18:00:13 -04:00
MonsterIestyn c8c7878005 MF2_PUSHED is now MFE_PUSHED, for the simple reason that it makes more sense as an eflags object flag than a flags2 object flag!
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9009 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-31 18:00:13 -04:00