SRB2/src
Inuyasha 26b3f2e0dc Merge branch 'toast_slopes' into 'next'
Some slope improvements/fixes (plus P_GetMobjGravity)

Dear Red, I did some things.

* Made the slope flag SL_NOPHYSICS actually have an effect like we wanted to, but didn't get around to implementing yet - activated by setting the slope's linedef flags to have ML_NOSONIC.
* Made downhill slope thrusts proportional to an object's gravity and friction.
* To make the above happen - seperated out the gravity value finding code in P_CheckGravity into a seperate function, P_GetMobjGravity. (p_mobj.c, p_local.h) I also made this function available to Lua.
* Turned those PANIC n console messages (which would inevitably be followed up with a crash, since we're accessing invalid memory immediately after) into a descriptive I_Error.
* Put the SRB2CB type-shimming behind an ESLOPE_TYPESHIM ifdef.
* Removed SPRINGCLEAN-ifdef'd code.
* Cleaned up some eosteric comments.
* NEW SINCE RED +1'd THIS: The teetering code now takes slopes into account pretty well. There are edge circumstances as outlined in commit 9d221f4f3f, but this is unilaterally better behaviour in every way and the teetering code was kind of a mess anyways.
* NEW SINCE RED AND ALAM +1'd THIS: P_ReverseQuantiseMomentumToSlope. Simple function that replaces the inverse angle stuff (which also wasn't using InvAngle, just ANGLE_MAX - angle - which is inaccurate!!)

Current testing files available at /toaster/slptst3.wad and /toaster/gravitytest.lua on the ftp.

I want to do more to the branch like implement SL_ANCHORVERTEX in the near future, but this is probably safe to merge in its current state.

See merge request !77
2016-06-22 19:03:58 -04:00
..
android Update interfaces I_UpdateMumble function 2014-04-18 11:16:18 -04:00
blua gcc-6: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation] 2016-05-28 21:24:06 -04:00
djgppdos Update interfaces I_UpdateMumble function 2014-04-18 11:16:18 -04:00
dummy SRB2 2.1 release 2014-03-15 13:11:35 -04:00
hardware OpenGL: closed door/window detection code now accounts for slopes, just like in software 2016-06-04 18:31:21 +01:00
locale SRB2 2.1 release 2014-03-15 13:11:35 -04:00
nds Update interfaces I_UpdateMumble function 2014-04-18 11:16:18 -04:00
sdl debug: always load exchndl.dll 2016-05-31 21:30:18 -04:00
sdl12 New HD SRB2 icon by VAdaPEga. 2015-03-01 20:07:56 -05:00
win32 debug: always load exchndl.dll 2016-05-31 21:30:18 -04:00
win32ce New HD SRB2 icon by VAdaPEga. 2015-03-01 20:07:56 -05:00
.gitignore SRB2 2.1 release 2014-03-15 13:11:35 -04:00
am_map.c gcc: clear uninitialized warnings in am_map.c 2016-05-27 14:22:02 -04:00
am_map.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
Android.mk SRB2 2.1 release 2014-03-15 13:11:35 -04:00
asm_defs.inc SRB2 2.1 release 2014-03-15 13:11:35 -04:00
b_bot.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
b_bot.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
byteptr.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
CMakeLists.txt Remove p_fab.c 2016-03-31 20:42:01 -05:00
command.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
command.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
comptime.c Branch and revision information in builds 2016-03-14 12:43:08 -04:00
config.h.in update patch stuff again. 2016-05-04 05:43:05 -07:00
console.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
console.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
d_clisrv.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
d_clisrv.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
d_event.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
d_main.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
d_main.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
d_net.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
d_net.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
d_netcmd.c D_MD5PasswordPass, fixup 2016-05-28 19:51:10 -04:00
d_netcmd.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
d_netfil.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
d_netfil.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
d_player.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
d_think.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
d_ticcmd.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
dehacked.c Make token available to Lua as a global variable 2016-06-01 21:06:24 -05:00
dehacked.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
doomdata.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
doomdef.h Last few changes as reccomended by Red. (<3 u, no hetero) 2016-06-04 19:47:40 +01:00
doomstat.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
doomtype.h Merge branch 'master' into next 2016-05-18 20:07:27 -04:00
endian.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
f_finale.c ...completely misunderstood the reasons we weren't merging toast_slopes, mom holy fuck i'm stupid and bad 2016-06-20 00:20:20 +01:00
f_finale.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
f_wipe.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
fastcmp.h SRB2 2.1 release 2014-03-15 13:11:35 -04:00
filesrch.c SRB2 2.1 release 2014-03-15 13:11:35 -04:00
filesrch.h SRB2 2.1 release 2014-03-15 13:11:35 -04:00
g_game.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
g_game.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
g_input.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
g_input.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
g_state.h Remove extern for unused "oncontinuescreen" variable 2016-05-18 17:41:11 +01:00
hu_stuff.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
hu_stuff.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
i_addrinfo.c MSVC: fixed up MSVC project 2016-05-21 23:53:04 -04:00
i_addrinfo.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
i_joy.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
i_net.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
i_sound.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
i_system.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
i_tcp.c gcc-6: error: left shift of negative value [-Werror=shift-negative-value] 2016-05-28 21:23:09 -04:00
i_tcp.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
i_video.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
info.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
info.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
keys.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
lua_baselib.c Reinforcing encapsulation I originally broke down to allow for P_GetMobjGravity. 2016-06-09 18:16:13 +01:00
lua_consolelib.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
lua_hook.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
lua_hooklib.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
lua_hud.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
lua_hudlib.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
lua_infolib.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
lua_libs.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
lua_maplib.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
lua_mathlib.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
lua_mobjlib.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
lua_playerlib.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
lua_script.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
lua_script.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
lua_skinlib.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
lua_thinkerlib.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
lzf.c SRB2 2.1 release 2014-03-15 13:11:35 -04:00
lzf.h SRB2 2.1 release 2014-03-15 13:11:35 -04:00
m_anigif.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
m_anigif.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
m_argv.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
m_argv.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
m_bbox.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
m_bbox.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
m_cheat.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
m_cheat.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
m_cond.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
m_cond.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
m_dllist.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
m_fixed.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
m_fixed.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
m_menu.c gcc-6: error: this ‘for’ clause does not guard... [-Werror=misleading-indentation] 2016-05-28 21:23:46 -04:00
m_menu.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
m_misc.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
m_misc.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
m_queue.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
m_queue.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
m_random.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
m_random.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
m_swap.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
Makefile Makefile: compile debug build with -Og on GCC 4.8 and higher 2016-05-27 14:14:04 -04:00
Makefile.cfg Makefile: ignore suggest=attribute for GCC 4.6 and up 2016-05-27 01:55:52 -04:00
md5.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
md5.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
mserv.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
mserv.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
p5prof.h SRB2 2.1 release 2014-03-15 13:11:35 -04:00
p_ceilng.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
p_enemy.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
p_floor.c Renamed some struct variables so the problem this branch sets out to fix is more obvious at a glance. 2016-06-09 14:16:02 +01:00
p_inter.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
p_lights.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
p_local.h Reinforcing encapsulation I originally broke down to allow for P_GetMobjGravity. 2016-06-09 18:16:13 +01:00
p_map.c FUCK C90 2016-06-20 02:08:07 +01:00
p_maputl.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
p_maputl.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
p_mobj.c Merge branch 'next' of http://git.magicalgirl.moe/STJr/SRB2.git into toast_slopes 2016-06-19 16:59:49 +01:00
p_mobj.h Reinforcing encapsulation I originally broke down to allow for P_GetMobjGravity. 2016-06-09 18:16:13 +01:00
p_polyobj.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
p_polyobj.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
p_pspr.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
p_saveg.c P_NetUnArchivePlayers doesn't like having "inline" either 2016-05-27 14:49:11 +01:00
p_saveg.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
p_setup.c clean up warning done in setup-fixes 2016-06-19 12:48:35 -04:00
p_setup.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
p_sight.c Added P_LoadReject function to properly check if REJECT lump is valid or not when loading it, so P_CheckSight can avoid accessing it if not. 2016-06-11 18:45:56 +01:00
p_slopes.c ...completely misunderstood the reasons we weren't merging toast_slopes, mom holy fuck i'm stupid and bad 2016-06-20 00:20:20 +01:00
p_slopes.h P_ReverseQuantiseMomentumToSlope is now a function. (I was thinking about a macro, but couldn't get it down.) 2016-06-12 19:27:34 +01:00
p_spec.c Everywhere in the code that was doing things wrong has been changed. 2016-06-09 14:56:24 +01:00
p_spec.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
p_telept.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
p_tick.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
p_tick.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
p_user.c Merge branch 'toast_slopes' into 'next' 2016-06-22 19:03:58 -04:00
r_bsp.c MSVC: fixed up MSVC project 2016-05-21 23:53:04 -04:00
r_bsp.h Remove unused drawfunc_t function typedef 2016-05-24 14:38:31 +01:00
r_data.c MSVC: kill level 3 warnings 2016-05-22 00:44:12 -04:00
r_data.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
r_defs.h Renamed some struct variables so the problem this branch sets out to fix is more obvious at a glance. 2016-06-09 14:16:02 +01:00
r_draw.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
r_draw.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
r_draw8.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
r_draw16.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
r_local.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
r_main.c Fix sprites in skyboxes not having clipping arrays actually set properly 2016-06-08 17:53:34 +01:00
r_main.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
r_plane.c MSVC: fixed up MSVC project 2016-05-21 23:53:04 -04:00
r_plane.h Remove unused planefunction_t function typedef 2016-05-24 14:41:55 +01:00
r_segs.c Merge branch 'master' into other-software-fixes 2016-06-13 21:13:51 +01:00
r_segs.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
r_sky.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
r_sky.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
r_splats.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
r_splats.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
r_state.h Fix player 1 and player 2 affecting whether the other can see skyboxes or not 2016-05-18 18:20:56 +01:00
r_things.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
r_things.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
s_sound.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
s_sound.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
screen.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
screen.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
sounds.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
sounds.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
st_stuff.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
st_stuff.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
string.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
t_facon.c remove blank lines at EOF of new files 2016-05-13 00:12:51 -04:00
t_fsin.c remove blank lines at EOF of new files 2016-05-13 00:12:51 -04:00
t_ftan.c remove blank lines at EOF of new files 2016-05-13 00:12:51 -04:00
t_tan2a.c remove blank lines at EOF of new files 2016-05-13 00:12:51 -04:00
tables.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
tables.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
tmap.nas copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
tmap.s copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
tmap_asm.s copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
tmap_mmx.nas copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
tmap_vc.nas copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
v_video.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
v_video.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
vid_copy.s copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
w_wad.c Fix crash reported by FuriousFox at http://mb.srb2.org/showthread.php?t=41536 2016-06-02 20:16:25 +01:00
w_wad.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
y_inter.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
y_inter.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
z_zone.c copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00
z_zone.h copyright dates/statements updated and such 2016-05-17 17:42:11 -07:00