Commit graph

635 commits

Author SHA1 Message Date
Alam Ed Arias 68054a49e3 clang: cleanup 2016-02-05 22:32:14 -05:00
Alam Ed Arias f4886657c1 clang: fixup a few clang warnings 2016-02-05 22:12:12 -05:00
Alam Ed Arias 864baeda05 cmake: fixed up to handle Clang and AppleClang 2016-02-05 21:49:24 -05:00
Monster Iestyn 9973bedd5f Free the memory of all clipping arrays for each portal properly
Not the actual fix I'm intending to make with this branch, but it's needed anyway
2016-02-05 16:38:33 +00:00
Inuyasha 5320424269 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2 into pub_next 2016-02-03 18:09:08 -08:00
Inuyasha c05c43cfee Merge branch 'monster-misc' into 'master'
Monster Iestyn's Miscellaneous (netplay-compatible) changes

Just cleaning up some unused or unnecessary things left in the source code, see the commits for exact changes made if you like.

May add more stuff to this branch later, there's no rush really.

See merge request !39
2016-02-03 21:06:57 -05:00
Inuyasha 84fb4d108a Merge branch 'diagonal-spring-rings-tweak' into 'next'
Diagonal spring rings tweak

If you didn't know before, those special placement ring lines for diagonal springs only use multiples of 45 for their angles in-game. In other words, they only face any of the 8 basic cardinal directions (N, S, E, W, NE, NW, etc). Considering that springs themselves don't follow the above behaviour, you can probably work out that's a bad thing.

This branch changes that of course, if you couldn't guess from context. Diagonal spring rings can now be placed with any angles like most thing types already could!

See merge request !37
2016-02-03 21:05:44 -05:00
Inuyasha f17be6641e Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2 into pub_next 2016-02-03 18:00:28 -08:00
Monster Iestyn 0455b572dc Removed weird test for water planes in HWR_Subsector
It crashes when you try to test it anyway, lol
2016-02-03 17:58:44 -08:00
Monster Iestyn d1b89c9320 Quick fix for another drawer lib function while I'm here, cough 2016-01-31 22:52:02 +00:00
Monster Iestyn 04528eb3e6 <Inuyasha> MonsterIestyn: what about render_none? 2016-01-31 22:15:17 +00:00
Monster Iestyn dafe0ccd11 Added v.width(), v.height() and v.renderer() to Lua's drawer/video library 2016-01-31 21:53:14 +00:00
Monster Iestyn 2e58f6c4d9 Fixed that odd bug where PolyObjects sometimes leave a vertex or two in their control sectors
Turns out the seg-searching code falsely assumed it'd find frontfacing segs first, who knew?
2016-01-31 13:05:30 -06:00
Monster Iestyn 2d94b2a85f keys.h doesn't need to be included twice here lol 2016-01-31 17:10:57 +00:00
Monster Iestyn deb958a796 Remove unused "INVERSECOLORMAP" macro 2016-01-31 17:06:03 +00:00
Monster Iestyn 9e29b69a29 Remove unused "firstnewseg" variable 2016-01-31 16:49:04 +00:00
Monster Iestyn 8b56cd76c7 doomtype.h tweaks
some of the mess in here really bothers me

(cherry-picking this commit of mine from next since it only fixes a small oversight with compiling and adds a comment)
2016-01-31 15:08:16 +00:00
Monster Iestyn cd198d6809 merge SOC_****, MAINCFG and OBJCTCFG searches into one big search for any of them
This makes it so that it doesn't matter what order you place SOC lumps within a WAD... relative to other SOC lumps at least, anyway
2016-01-30 17:19:05 +00:00
Monster Iestyn 5cae87430f Merge branch 'next' of http://git.magicalgirl.moe/STJr/SRB2.git into new-SOC-lump-names 2016-01-30 16:39:55 +00:00
Inuyasha e49f531ba1 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2 into pub_next 2016-01-29 18:27:33 -08:00
Alam Ed Arias 82bfce7683 Merge remote-tracking branch 'magicgirl/master' 2016-01-29 20:29:28 -05:00
Inuyasha e6f0a4be18 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2 into pub_next 2016-01-29 16:01:57 -08:00
Inuyasha f500986692 use RGB for screen texture, not RGBA
the screen texture does not need an alpha channel.
the fact that it had one made OGL copy the topmost pixel of the screen texture's alpha channel.
which, naturally results in the screen becoming partially transparent and letting you see the working texture in the background.
2016-01-29 16:01:05 -08:00
Monster Iestyn 7d603c320b Merge branch 'next' of http://git.magicalgirl.moe/STJr/SRB2.git into diagonal-spring-rings-tweak 2016-01-29 19:40:04 +00:00
Alam Ed Arias e8cf4cdaac SDL2: compile SDL with SDL_main for Win32 2016-01-29 00:33:11 -05:00
Alam Ed Arias c47ff7b3c6 let make the main() entry point noreturns 2016-01-28 21:37:41 -05:00
Alam Ed Arias 050ce857c4 let not care for main() being noreturn 2016-01-28 21:31:18 -05:00
Alam Ed Arias 0d327c7c16 kill logical-not-parentheses warning in g_game.c
g_game.c: In function 'G_CheckDemoStatus':
g_game.c:5588:22: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
   if (!modeattacking == ATTACKING_RECORD)
                      ^
2016-01-28 21:15:51 -05:00
Alam Ed Arias 10e1aaaf85 appveyor: no need for DEPFLAGS 2016-01-28 12:08:08 -05:00
Alam Ed Arias 7fdb5cfcfb move disabled warning out of mingw 2016-01-28 12:06:00 -05:00
Alam Ed Arias 2176b21e62 ignore noreturns 2016-01-28 11:49:23 -05:00
Alam Ed Arias 7a09a82489 new flags: DEPFLAGS, to tell the depend step where are the headers 2016-01-28 11:41:02 -05:00
Alam Ed Arias f0842d2200 appveyor: add debug and sdl mixer 2016-01-28 11:33:36 -05:00
Inuyasha d76e21b546 fix bind out of bounds / keystring misreading 2016-01-28 08:15:34 -08:00
Alam Ed Arias d0ce9170da appveyor: build for GCC 5.2 2016-01-27 01:39:12 -05:00
Monster Iestyn 80fb282334 Fixed math for calculating current texture in texture animations 2016-01-23 18:59:17 +00:00
Alam Ed Arias 181c875016 SDL: config.h.in is pre source tree, config.h for each cmake build 2016-01-22 17:25:19 -05:00
Inuyasha 4df951224b Merge branch 'next' of http://git.magicalgirl.moe/STJr/SRB2 into public_next 2016-01-21 14:51:33 -08:00
Monster Iestyn 674ff51153 Fix shadowing in mapheaderinfo_get 2016-01-21 20:27:35 +00:00
Monster Iestyn ccb0abb853 Diagonal ring springs should now be able to face any angle 2016-01-21 20:19:43 +00:00
Alam Ed Arias c33d20acff whitespace cleanup 2016-01-21 13:50:05 -05:00
Inuyasha 9d5718760d interscreen is a lump name and thus needs lstring
... not just lstring though, but the behavior with i that is used elsewhere.
2016-01-20 09:42:35 -08:00
Inuyasha 7d6dc3a5bb fix bad lstring usage in map header lua
This is not how you use pushlstring! This is actually sending uninitialized memory to Lua, which is making scripts have inconsistent results (duh?)

c/o JTE: "Tell Red they're a doofus."
2016-01-20 09:25:28 -08:00
Monster Iestyn 5abdb08a25 #sector.lines now returns the number of linedefs in the sector 2016-01-20 16:03:17 +00:00
Sean Ryder 7d914913dd Tabbing 2016-01-20 15:55:32 +00:00
Monster Iestyn 79e3e2351d Finally bothered to add in a method to obtain sector.lines' size internally to prevent going out of bounds.
Admittedly I knew of this particular method from the start but wanted to avoid it in favour of a less-hacky looking method of getting sector.lines' size ...but there was none to be found at all.
2016-01-20 14:56:52 +00:00
Monster Iestyn 3dc0f2b4ff Merge branch 'next' of http://git.magicalgirl.moe/STJr/SRB2.git into lua-sector-lines 2016-01-20 14:22:11 +00:00
Inuyasha 61eb9c01d1 Merge branch 'coloropposite-hotfix' into 'next'
Coloropposite hotfix

Quick fix to prevent ColorOpposite(MAXSKINCOLORS) or higher input from giving results out of the actual array's bounds. In other words, preventing it from giving you nonsense values or something.

I created the function for Lua to begin with, so clearly this is 100% my fault once again. Welp.

See merge request !31
2016-01-20 07:40:05 -05:00
Monster Iestyn 103027124b Merge branch 'next' of http://git.magicalgirl.moe/STJr/SRB2.git into lua-sector-lines 2016-01-20 12:31:21 +00:00
Inuyasha 55f0e5cab5 objectplace stability fix
Objectplace reallocates the mapthings list to add one more mapthing. By itself there's no problem with this.
But, mobj->spawnpoint is a pointer to the mapthing's location in the mapthings list.
So by reallocating the mapthings list, all references to mobj->spawnpoints point to freed memory.

... Oops.

Now when objectplace reallocates the mapthings list it actually corrects the locations of all mobj's spawnpoints to point to the new list.

Hooray, you can use NiGHTS objectplace again if you really want to.
2016-01-20 01:24:30 -08:00
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