Commit graph

1314 commits

Author SHA1 Message Date
Monster Iestyn 2dfb841c38 Correcting slight mistake I made 2016-11-06 17:50:04 +00:00
Monster Iestyn 7b9328781f Merge branch 'master' into next 2016-11-05 19:36:04 +00:00
Monster Iestyn 8909b7c27b Change >= to >, I THINK having exactly 4096 vertices is safe? 2016-11-05 17:38:36 +00:00
Louis-Antoine 6f4699fb77 MobjThinker, MobjCollide and MobjMoveCollide hooks are now directly linked to the mobjtype they belong to, so you no longer iterate through all existing hooks. 2016-11-04 18:56:25 +01:00
Inuyasha 55400a262d go fuck yourself stupid compiler
...your guesses should not be treated as errors.
2016-11-04 02:02:26 -07:00
Inuyasha 010c52aed2 show highlight BG over ellipses if highlight extends offscreen
+ bug fixes
2016-11-03 19:36:43 -07:00
Inuyasha bb92986aee Merge branch 'console-improvements' of http://git.magicalgirl.moe/STJr/SRB2 into console-improvements
# Conflicts:
#	src/sdl/i_system.c
2016-11-03 17:31:24 -07:00
Inuyasha e245cdfcbf Console with moving cursor, selections, etc 2016-11-03 17:30:30 -07:00
Monster Iestyn efe02e2a42 allow triangle/frame limits too 2016-11-03 22:53:49 +00:00
Monster Iestyn 561a0fe768 Attempt loading of an MD2 only once; if we failed then don't bother again
This keeps my new error messages from flooding the console and log.txt
2016-11-03 21:06:23 +00:00
Monster Iestyn 2ec972af54 check numVertices, bail out and print error message if there are too many
I added similar checks for the other num* but it seems some MD2s break the other limits without knowing anyway ...so I've commented these checks out for now, unless we have further discussion regarding them later on
2016-11-03 20:40:17 +00:00
Alam Ed Arias 1f6388a2e0 Fix up Win32 interface code misdeclaration of I_ClipboardPaste() 2016-11-03 14:35:32 -04:00
Alam Ed Arias 8040a68fa0 Clipboard: remove Win32 code for SDL Clipboard API 2016-11-03 14:29:51 -04:00
Alam Ed Arias f3751828cb Merge branch 'master' into next 2016-11-03 12:51:48 -04:00
Inuyasha bb20cfd6be Clipboard copy/paste testing
(unfinished, but basics work)
2016-11-03 01:43:57 -07:00
STJrInuyasha b2c71944f6 Revert "Chat and console improvements" 2016-11-03 00:34:15 -07:00
Alam Ed Arias 941df72b6f Merge branch 'master' into next 2016-11-03 02:06:49 -04:00
Inuyasha c277125fe7 modifier key status made globally accessible
now also properly handles L/R simultaneous presses
2016-11-02 15:23:22 -07:00
Inuyasha 8107765677 make console back color use just one section of memory
let's be honest, it's pretty dumb to have every single possible back colormap in memory when only one is being used at a time
2016-11-02 14:26:35 -07:00
Louis-Antoine 8b72b553be Fixed warnings 2016-11-02 20:10:08 +01:00
Louis-Antoine 2d72b2fac6 You can now move the cursor in command prompt and chat, using left/right, ctrl+left/right, home/end, and select text with shift 2016-11-02 19:31:06 +01:00
Alam Ed Arias 5fed10913f Merge branch 'master' into next 2016-10-30 13:02:01 -04:00
Alam Arias 51cb45cd4b Merge pull request #119 from ilag11111/linux64-soundcrash-fix
Prevent resampling-related crashes on Linux 64-bit
2016-10-29 14:14:41 -04:00
toasterbabe 31d569a15b No more changing skins when you're in singleplayer and manage to enter a hole in the gamestate defenses! 2016-10-29 18:12:41 +01:00
toasterbabe ab6fd676b5 YUP, I just fixed OGL Precipitation with this branch too. What the fuck? Squashing ancient bugs, woo. 2016-10-29 11:54:51 -04:00
toasterbabe ff443251b1 P_IsPointInSubsector now works in both Software and GL, which means it can be used as the main driver behind support for Knuckles climbing on one-sided walls.
Also, the "teleport" devmode command can now gracefully handle coordinates specified outside maps with no/few thok barriers, which previously prevented teleport via the thok barrier bleed's sector floor and ceiling being equal.
2016-10-29 11:54:47 -04:00
Monster Iestyn 8b5abd957c Merge branch 'slopes_n_objects' into 'next'
Fixing various problems with MF_SOLID collision

(I, toast, wrote the original merge request, but Alam made this merge request because I made a mistake. Twice. In a row.)

* Solid objects are now no longer intangible when your z is less than the other object's.
    * I originally thought the bug was limited to just solid objects on slopes (hence the branch name), and was wondering about undesired side effects - but looking at this gfy, this was a major bug that slopes made easier to expose.
    * Unfixed = http://gfycat.com/BareLimitedCavy
    * Fixed = http://gfycat.com/JubilantOffensiveGar
* You now properly lose your momentum when jumping at a solid object.
    * The way I fixed this was a hack, but it was originally a much worse hack which resulted in very bizzare physics issues, so...
    * Unfixed = http://gfycat.com/ShockingAbsoluteArthropods (also demonstrates the first bug)
    * Fixed = http://gfycat.com/EmbellishedCourageousGordonsetter

See merge request !119
2016-10-29 11:19:37 -04:00
Monster Iestyn 2ef1aaf15c Merge branch 'shield_issues' into 'next'
Fixed players disappearing when spindashing whilst wearing multi-layer shields

* Before: http://i.imgur.com/gxUFElo.png
* After: http://i.imgur.com/NxsOg94.png

The problem was that MT_OVERLAY's default radius and height were never getting changed from 1*FRACUNIT, and that meant that when you spindashed, the game considered it completely below the surface of the flat you were standing on. Since you're not usually clipped on flats that don't belong to FOFs, we didn't notice this aspect of the issue sooner.

(SORRY FOR THE MULTIPLE MR'S AGAIN I TOTALLY SUCK AT REMEMBERING TO MAKE SURE IT GOES TO NEXT INSTEAD OF MASTER)

See merge request !124
2016-10-29 11:19:09 -04:00
toasterbabe 8025ef2f79 At MI's suggestion (shields don't NEED to be tweaked, just overlays) 2016-10-29 16:08:19 +01:00
toasterbabe fe67c6fbea Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2.git into shield_issues 2016-10-29 16:06:41 +01:00
Alam Arias dfc83a5483 Merge pull request #128 from Yukitty/fix-animdefs
Fix ANIMDEFS process order
2016-10-28 22:45:37 -04:00
Monster Iestyn c42e7ee4b4 Merge branch 'next' into slopes_n_objects 2016-10-24 16:50:06 +01:00
Monster Iestyn 8e660ce863 Merge branch 'drawscaled-scalefix' into 'next'
v.drawScaled negative scales fix

Lua now errors if you try to use negative scales with v.drawScaled, rather than crashing as it does in 2.1.16 currently. Not much else to say here.

See merge request !126
2016-10-19 21:11:44 -04:00
Yukita Mayako cdb841ef54 Only P_InitPicAnims when wads are loaded.
Not in P_SetupLevel. That's just dumb.
2016-10-19 03:24:43 -04:00
Yukita Mayako aa3e52f05e Fix ANIMDEFS parsing to allow overwrite.
ANIMATED and ANIMDEFS are now processed in reverse order,
and duplicate definitions in ANIMDEFS are dropped.
2016-10-19 03:24:26 -04:00
Monster Iestyn f72e8a8ff8 Merge branch 'reverseplatform_clippingfixed' into 'next'
Fixing FF_REVERSEPLATFORM clipping fixes

Forgot the case where == 0.

Tested by @wolfy852 in Top Down, where the bugs this caused were first discovered.

See merge request !121
2016-10-18 17:19:48 -04:00
Monster Iestyn fc44e53056 Merge branch 'slopes-even-more-fixes' into 'next'
Even more slope-related fixes

What it says on the tin pretty much:

Currently included fixes:
* Pusher specials applied to FOFs did not properly account for slopes applied to the bottom plane; this probably was just a minor slipup that appeared on adding the support in the first place, I take it? (some waterfall in the last section of SUGOI's Fudge Canyon is the only place I can think of offhand where this bug is noticable)

See merge request !114
2016-10-18 17:19:13 -04:00
Monster Iestyn e1baf02b7a Lua now errors if negative scales are used with v.drawScaled 2016-10-18 22:07:20 +01:00
toasterbabe 6f1ce5c1ca Merge branch 'next' of http://git.magicalgirl.moe/STJr/SRB2.git into slopes_n_objects 2016-10-18 21:56:40 +01:00
Monster Iestyn ff0b1d1dfa Split polyobj plane drawnode-creating code from ds->maskedtexturecol code, and add plane bounds checking 2016-10-11 22:35:46 +01:00
Monster Iestyn b66925e467 R_FindPlane now has a polyobj argument, R_DrawPlanes now skips polyobj planes, like it does with FOF planes 2016-10-09 21:48:25 +01:00
Monster Iestyn 1c23a84aa5 set floorcenterz/ceilingcenterz for all of R_Subsector to use, not just FOF planes 2016-10-09 20:55:04 +01:00
Monster Iestyn 405237d364 Merge branch 'SLADE_textures' into 'next'
Treating " as whitespace in TEXTURES (and animdefs too i guess)

SLADE adds this character in its TEXTURES editor and makes SRB2 cry unless the lump is manually edited; this just treats it as whitespace so we don't have to think too hard about it.

Also, two I_Errors now refer to the correct lump name.

See merge request !122
2016-10-09 11:23:01 -04:00
toasterbabe 8881a413f3 Fixed that really annoying bug where you disappear when spindashing on top of a FOF whilst wearing a multi-layer shield.
(the problem was that MT_OVERLAY's default radius and height were never getting changed from 1*FRACUNIT, and that meant that when you spindashed, the game considered it completely below the surface of the flat you were standing on. Since you're not usually clipped on flats that don't belong to FOFs, we didn't notice this issue sooner.)
2016-09-27 17:17:23 +01:00
toasterbabe 5f4f6fdac8 Public remake of a merge request I shouldn't have put in Internal in the first place. 2016-09-26 18:35:13 +01:00
toasterbabe 8ad72232be Helpful explanatory comments to assauge MI's fears. 2016-09-22 21:15:12 +01:00
toasterbabe 394ed30f44 Fixed the problem with the reverseplatform_clipping branch that caused springs to fall through platforms, as tested by Wolfs in TD. 2016-09-22 21:08:36 +01:00
toasterbabe 0568712a5e Prevent overflow when attempting to calculate the space between floor and ceiling. (I didn't notice any bugs as a result of the previous behvaiour, but you never know.) 2016-09-22 12:01:13 +01:00
toasterbabe fa16abf7ae Fixed the thing where if you thok into a solid object you spin really fast in the air without moving OR losing your momentum. 2016-09-22 11:15:08 +01:00
toasterbabe b8345aaf27 Solid objects are now no longer selectively intangible on slopes.
HOWEVER, since these changes to PIT_CheckThing do raise questions about whether there may be unintended side effects here. As a result, I may remake this for internal only if necessary.
2016-09-22 00:13:34 +01:00
ilag11111 3b503f1336 Use function va to avoid having to delcare a new variable. Thanks MonsterIestyn. 2016-09-11 14:59:24 -07:00
ilag11111 4abfe1e8f3 Fix MinGW/AppVeyor build. 2016-09-11 10:57:14 -07:00
ilag11111 2798bd5c16 Ensure demo files will save to srb2home, where SRB2 already looks for them. 2016-09-11 10:40:49 -07:00
ilag11111 c977d17416 Prevent truncation when resampling sounds with non-multiples of 11250. 2016-09-11 09:41:18 -07:00
Alam Ed Arias c9aebc6f81 libz pkgconfig 2016-09-09 17:41:30 -04:00
Monster Iestyn 9f87841936 Fix bottom of FOF with a pusher special not accounting for slopes 2016-09-08 22:55:11 +01:00
Alam Ed Arias b949f49c68 Merge branch 'master' into next 2016-09-04 20:51:45 -04:00
Wolfy 484bb9535c Merge branch 'more-slope-fixes' into 'next'
More slope fixes (aka sorry guys I made another quick SUGOI fix)

Another slopes fix branch!

This branch currently includes a fix for:
* Knuckles gliding into a slope while in 2D mode causes him to try to "climb" on air above them, if the original non-sloped height is higher. Unfortunately he still tries to grab onto places that he can't really climb on, but at least now it's on the slope itself and not in mid-air lol. This issue is encountered in SUGOI's Retro Hill Zone, if you want to check for yourselves.
* Bustable FOF-busting code for both players AND pushables not accounting for slopes
* (Unrelated to slopes): Fix FF_SHATTERBOTTOM FOFs acting like THZ goop when stood on; I added this fix as a bonus because I encountered it in a test map of mine for the bustables fix

(Other fixes may or may not appear here in the near future, I haven't decided yet. Don't wait on me to get in any further fixes before merging, that said)

See merge request !110
2016-09-04 19:34:29 -04:00
Wolfy 58df0e76c3 Merge branch 'nights_bugfixes_i_almost_put_in_internal' into 'next'
Last-minute NiGHTS exiting bugfix

One single-line fix concerning the end of NiGHTS maps. Extremely small, literally zero side effects here, the only reason I'm not committing directly to master (aside from ettiquette) is that I don't have the ability to do so.

* The NiGHTS drone had a single tic of visibility when you hit the goal, which is evident stepping frame by frame through http://gfycat.com/ComplicatedComposedAoudad (the contents of which may or may not make it into 2.2). This is no longer the case.

See merge request !100
2016-09-04 19:27:12 -04:00
Wolfy bcf7ca421c Merge branch 'DD_netplay_off' into 'next'
DIsable NetPlay on DirectDraw builds

Also disable UPnP support on NONET builds

See merge request !102
2016-09-04 19:01:26 -04:00
wolfy852 2d94256490 Shut the compiler up 2016-09-03 16:05:45 -05:00
toasterbabe 5bb0b5684e More irrelevant negation reduction, sorry. 2016-09-03 15:46:38 -05:00
toasterbabe 6ff75d2aa1 Double negation becomes single negation, with handy comment! 2016-09-03 21:37:52 +01:00
Wolfy cce2a5e048 Merge branch 'RA_hotfix' into 'next'
Record Attack hotfix

Limit damage from http://mb.srb2.org/showthread.php?t=41847, basically.

Also fixed the message popup background because why not

See merge request !107
2016-09-03 16:29:28 -04:00
Monster Iestyn a860c068d8 BONUS UNRELATED FIX: Fix FF_SHATTERBOTTOM FOFs acting like THZ goop when stood on 2016-09-02 22:53:55 +01:00
Monster Iestyn 8f02c50c10 Fix players and pushables not accounting for slopes on bustable FOFs 2016-09-02 21:41:45 +01:00
Monster Iestyn eae47c9808 Fix Knuckles in 2D mode attempting to latch onto air when gliding into a slope. Now he just attempts to latch onto the slope directly (which I'll fix another time, if I can figure out how)
(fix for SUGOI's Retro Hill Zone)
2016-09-01 21:21:20 +01:00
toasterbabe 3bad307e2d Sorry, Inu. 2016-08-28 20:46:56 +01:00
Monster Iestyn 21aa444943 Merge branch 'cutscene-switch-fix' into 'next'
Cutscene switch fix

Yet another fix for SUGOI, lol: apparently going from a final level's post-cutscene straight to a custom credits cutscene gets the latter stuck forever in the first scene (because the game accidentally stops the cutscene responder from realising the custom credits cutscene is running). This branch of course makes a fix for that.

See merge request !108
2016-08-28 13:40:44 -04:00
Monster Iestyn 454b705d32 Merge branch 'wall-collision-fix' into 'next'
Wall collision fixes

Fixes included in this branch:
* A fix for a specific crash encountered in a SUGOI map (sound familiar?) caused by bouncing off a wall adjacent to a slope
* A fix for solid midtextures not accounting for Effect 3/Peg Midtexture properly (https://mb.srb2.org/showthread.php?t=41462)
* A fix for solid midtextures not accounting for texture y offsets properly for non-Lower Unpegged/Peg Midtextured midtextures
* A fix for solid midtextures not accounting for "infinite" repeats (Repeat Midtexture + no repeat count set)
* ~~A fix for Effect 4 on Polyobject First Line making that particular linedef's midtexture solid in addition to making planes visible - this is not wanted if you want a polyobject with both visible planes and full intangibility.~~ Apparently they never did this anyway, don't mind me \o/

See merge request !104
2016-08-28 13:33:14 -04:00
toasterbabe e8775419d1 Removed now-irrelevant braces. 2016-08-28 14:09:15 +01:00
toasterbabe 25ab977862 ...didn't realise P_InsideANonSolidFFloor checks for FF_EXISTS itself, so HM 2016-08-28 14:06:20 +01:00
toasterbabe c0f5f22b6a Suggested improvement by MI on irc. 2016-08-28 13:51:32 +01:00
toasterbabe 50ce152c69 Cleaned up some performance issues in Skytop Zone (2.1.16: THE SUGOI UPDATE) arising from some inefficiencies with P_GetMobjGravity. FPS drops only occasionally to 34 now, which is a big improvement when I was frequently getting 27 in Salt's 15andahalf.exe. 2016-08-28 13:19:17 +01:00
Monster Iestyn 2a6a21a4a2 Solid midtextures now account for "infinite" repeats 2016-08-27 17:14:21 +01:00
Monster Iestyn 96f74a3a17 Merge branch 'master' into next 2016-08-25 19:19:53 +01:00
Monster Iestyn ab3f677e66 F_EndCutScene now sets cutsceneover to true BEFORE running Y_EndGame and the like, not AFTER 2016-08-25 17:58:54 +01:00
Monster Iestyn fd5297ee6c Merge branch 'fix-obj-step' into 'next'
Fix non-player objects having busted step-up/down on slopes

Why the fuck did I make this a player conditional in the first place holy shit

See merge request !103
2016-08-20 18:08:11 -04:00
Inuyasha 44df9358dd If the game becomes modified during a record attack run, end it
RA menu can be opened if the game is modified, but Start can't be selected. (Obvious reason: so scripts to display info can be used easier)
Fixed the stupid background for messages in the Record Attack menu, it was bugging me
2016-08-19 22:18:43 -07:00
toasterbabe 3db3433a51 More consistent comment. 2016-08-19 00:07:32 +01:00
toasterbabe 3d9fe7c899 The ability to disable weapon rings, as heavily requested by Lat and Speedwagon for their high effort character .wads and selfishly also desired to make thokker less hacky. 2016-08-19 00:06:12 +01:00
Monster Iestyn 1530183ddf Fix multiple solid midtexture-related issues:
* Effect 3 (Peg Midtexture) is now accounted for properly, flipping the collision box position to match the actual rendered position of the midtexture
* Fixed incorrect application of y-offsets for non-lower unpegged midtextures collision boxes; +ve always goes up, -ve always goes down!
* Effect 4 now doesn't make midtextures solid for polyobjects at all - this "conflicted" with First Line having both Effect 4 (visible planes) and Effect 3 (intangible) simultaneously, where we kind of expect the first line's wall to not be made solid. This may be less of a problem in future SRB2 versions, but for now solid midtextures for polyobjects are disabled.
2016-08-14 16:56:41 +01:00
Alam Ed Arias 0264fd24ae @MonsterIestyn: Should probably be returning true then 2016-08-14 10:43:44 -04:00
RedEnchilada 55b8ef9f64 More stepping upward fixing ugh 2016-08-14 00:03:00 -05:00
RedEnchilada 758c77fe53 Fixed non-players having fucked slope stepup/down 2016-08-13 17:45:23 -05:00
Monster Iestyn f1a9634260 P_LineOpening now takes a mobj_t argument, instead of relying on tmthing
. tmthing can be NULL if called from PTR_SlideTraverse, so we should use slidemo instead

This fixes a crash that occurs in yet ANOTHER SUGOI map, involving bouncy walls next to sloped floors/ceilings
2016-08-13 21:41:18 +01:00
Alam Ed Arias bdb5db878a NONET should also disable UPNP support 2016-08-13 10:12:14 -04:00
toasterbabe be973d6990 expanded comment for future generations 2016-08-13 15:07:40 +01:00
Alam Ed Arias da23d93b00 Disable netplay for DirectDraw builds 2016-08-13 10:03:17 -04:00
toasterbabe 612575620b Solved the climbing-on-one-sided-lines problem another way, using the last touched line's attributes.
(After talking to Alam, we can't have floats anywhere near P_ functions, so.)
2016-08-13 14:16:06 +01:00
toasterbabe 5d6463fafc Fixed Knuckles being able to climb in space in OpenGL.
To understand: look at AjustSegs(void) in hw_bsp.c. It reallocates the vetex_t pointers for lines as POLYVERTEX_T pointers, and of COURSE things are gonna get wacky when you're casting pointers.

I dunno how resilient the FLOAT_TO_FIXED solution is or whether it'll be netgame compatible (yayyy float precision loss) but it's not like our builds are netgame compatible with themselves
2016-08-13 13:39:24 +01:00
toasterbabe 104fc8ba98 Partially reverted on Inu's reccomendation. 2016-08-12 16:01:03 +01:00
toasterbabe 7795e146fa Two seperate single-line fixes, both concerning the end of NiGHTS maps.
* The NiGHTS drone had a single tic of visibility when you hit the goal, which is evident stepping frame by frame through http://gfycat.com/ComplicatedComposedAoudad (the contents of which may or may not make it into 2.2).
* When completing a NiGHTS stage with a non-zero link, the link could flash up in the final few tics before the fade to black. This just checks for player->exiting to make sure it shouldn't be shown.
2016-08-12 15:56:07 +01:00
Alam Ed Arias fb8de61a81 Merge branch 'master' into next 2016-08-11 12:48:52 -04:00
Monster Iestyn c79428a178 Merge branch 'opengl-planes' into 'master'
OpenGL planes fix

This branch removes a specific hack in the OpenGL code for detecting if a plane is for the floor or ceiling of a sector. This it turns out fixes ceiling slopes in Boinciel's SUGOI map going missing. Though, It doesn't fix that other glitch with one FOF (must be unrelated).

If you want to test these fixes out properly, make sure working in-level sectors, FOFs AND also polyobjects all still work fine, sloped or not.

See merge request !97
2016-08-11 12:15:08 -04:00
Monster Iestyn ae5844be76 Merge branch 'fof-slope-crash-fix' into 'master'
Fof slope crash fix

This fixes yet another software renderer crash, this time relating to sloped FOFs: sometimes the renderer thinks parts of FOFs where the top and bottom heights are the same height are actually the bottom going through the top (in other words a negative height). This causes problems when drawing normal walls around such FOFs since the game obviously doesn't expect negative heights anywhere along the FOF - before slopes, the game could just flip around the top and bottom heights automatically with no problems. This branch also should fix crashes for all genuine cases of negative FOF heights when slopes are involved, I suppose.

Hopefully this stops FuriousFox's SUGOI map crashing for the time being, all seemed fine when I tested it out myself.

See merge request !96
2016-08-11 12:13:52 -04:00
Alam Ed Arias 774a93c819 Merge branch 'master' into next 2016-08-07 23:23:50 -04:00
Wolfy bbb4bb8a05 Merge branch 'invalid-map-name-test' into 'next'
-warp checking for invalid map names

I've noticed a bunch of new people getting the "Cannot warp to map 0 (out of range)" error when testing their custom maps. On asking what map name they used, it was clear they didn't use a MAPxx name at all. Sadly it was not obvious to them that other kind of map names are not accepted by SRB2, so I thought it best we make that more clear in-game.

SRB2 now gives you the error "Cannot warp to map \[your input\] (invalid map name)" if you used -warp with a param that is neither a MAPxx name or a plain number.

See merge request !99
2016-08-07 16:34:23 -04:00
Wolfy 8561a6b413 Merge branch 'sprite-loading-tweaks' into 'master'
Fix R_AddSingleSpriteDef's I_Error messages

Whoops, seems I forgot about this little branch. Basically this fixes how for a character's sprites, a full sprite lump name is displayed instead of just its sprite prefix in the "R_AddSingleSpriteDef: No patches found for [sprite prefix] frame [frame character]" message (unlike when it occurs for non-character sprites), resulting in something like "R_AddSingleSpriteDef: No patches found for PLAYC2C8 frame \^" which does NOT help custom character authors at all as it just confuses them instead. (for the record, the problem would actually with the ^ frame and not the ones displayed after "PLAY")

Oh, and the same problem is also fixed for this similar message: "R_AddSingleSpriteDef: Sprite [sprite prefix] frame [frame character] is missing rotations"

See merge request !95
2016-08-07 16:33:15 -04:00
RedEnchilada 02d3382408 Leave a note to anyone foolish enough to try to fix this 2016-08-07 12:17:31 -05:00
Monster Iestyn 4c4f124611 Detect if -warp's parm is actually a valid map name (MAPxx or plain number), and print an "invalid map name" message if not 2016-07-28 16:07:26 +01:00
Monster Iestyn 2b985bda85 Make sure we detect if start >= numlines so we can deal with that properly
for some apparent reason the compiler didn't like the while loop condition edit on its own (it complained about inline failures for P_MobjReadyToTrigger for some reason), so I had to add that extra bit above the while loop... and it was happy again, huh
2016-07-28 14:57:19 +01:00
Monster Iestyn 2870e19f7f Take out fixedheight-based hacks for checking if floor or ceiling! Use an "isceiling" boolean for that instead
This apparently fixes most of the issues with ceiling slopes in Boinciel's SUGOI map
2016-07-27 19:56:21 +01:00
Monster Iestyn dc765cde2c Fix R_DrawColumnShadowed_8 crash encountered in FuriousFox's map
If you want more specifics, sloped FOFs are to blame it turns out: sometimes the bottom of an FOF wall blocking a segment of an in-level wall column can be considered ABOVE the top part of the FOF there (yikes), and then the dc_y* values go offscreen, and then BOOM
2016-07-24 18:54:01 +01:00
Alam Ed Arias 03ddc1f29a define SRTICT_ALIGN to - if the system is x86/x64 system 2016-07-23 23:26:08 -04:00
Alam Ed Arias ddce305c17 under clang, defined does not means true 2016-07-23 23:14:24 -04:00
Alam Ed Arias 82fad646e7 wad and lumps are unsigned, not signed 2016-07-23 23:02:10 -04:00
Alam Ed Arias 5c234a817a Merge branch 'master' into next 2016-07-21 18:49:33 -04:00
Alam Ed Arias f6b8b51ac2 Merge branch 'software-fixes' into 'master'
Software crashes fix... fix

Fixes a typo introduced by merge request !75 that caused upper textures to set the wrong ceiling clipping value when not visible, allowing all sorts behind the walls to be visible. This is most noticable in GFZ2 when the inside of the tunnel section is visible

...probably a good idea to make sure this one doesn't introduce any MORE visual glitches by mistake (again, compare with 2.1.15 if possible)

See merge request !93
2016-07-21 17:45:45 -04:00
Alam Ed Arias df0a90957f Merge branch 'tilted-transparent-flats-fix' into 'master'
Fix for flats with transparent pixels on slopes

This fixes how R_DrawTiltedSplat_8 unintentionally allows the cyan pixels to NOT be considered "transparent" if after being remapped, depending on sector brightness and/or linedef type 606 colormaps, the result of remapping is not palette index 247 (the cyan we typically turn transparent). That is, the original colors from the source flat graphic are not checked, but instead the __result__ of coloring the flat under the respective colormap is checked for "transparent" pixels. This is only a problem for the tilted splat drawing function, not the regular one for non-sloped planes with cyan-pixel-using flats.

I found out about this bug from the issues Ritz was having with sloped 255-alpha translucent FOFs using transparent flats and his custom COLORMAP lump (and later when he applied a linedef type 606 colormap to the FOF) for his custom map. Thankfully he has some workarounds, but this should fix the code-side issues that caused his problems in the first place.

I also fixed stuff with another splat drawing function that's not currently used atm (maybe it will be in the future, if splats themselves are ever enabled again? *shrugs*).

See merge request !92
2016-07-21 17:14:43 -04:00
Alam Ed Arias b02c824da8 Merge branch 'skybox-render-fix' into 'master'
Skybox rendering offset fix for third person/alt view camera

Fixes the issue reported in this thread: https://mb.srb2.org/showthread.php?t=41729

I dunno if this will negatively affect any existing skyboxes in SRB2's own levels, that said. I tried out THZ2 and CEZ1 with this fix at least but I forgot to compare them with how they are in 2.1.15 so _*shrugs_*

See merge request !94
2016-07-21 16:58:06 -04:00
Alam Ed Arias 9301344003 Merge branch 'macosx-hacking' into 'master'
OS X Makefile build setup

This merge request:

* Cleans up the OS X bundle resource location code and fixes a SIGSEGV and memory leak
* Simplifies and fixes the OS X desktop alert code, closing more leaks
* Adds the MACOSX build flag to the Makefiles, to allow building a binary (but not Mac app yet) of SRB2.

This is intended to make it easier for developers to build on Mac OS X, without having to pull in all of XCode. You can keep using CMake if you prefer.

To test, use `make -C src MACOSX=1 NONX86=1 SDL=1 NOASM=1` for a release build.

Left to do:

* Add a content bundling script to be run after building, and a flag to trigger doing that.
  `MACOSX_BUNDLE` maybe?
* Somehow get access to a Mac running PowerPC and figure out how to build a multi-platform binary.
* Add the proper magic to compile using gcc if requested. (Right now, compilation is done via LLVM/Clang)

See merge request !72
2016-07-21 15:38:46 -04:00
Alam Ed Arias a9c521031d Merge branch 'gasjets_and_slopes' into 'next'
Gas jets, fan objects, springs and slopes

Whoop whoop whoop minor bugs that only get noticed due to weird experiments whoop whoop whoop

* For gas jets only: the object's standingslope is ALWAYS null. No drifting down the slope for you.
* For gas jets and fan objects: Now checks whether the player's top is below the bottom of the launcher, instead of its bottom. zdist calculation not affected, since it's signed and okay with being negative by about the height of the player.
* For all 3: the player's standingslope is NULL'd so the player isn't launched off at a wacky angle if they're standing on a slope then walk into the thing.

See merge request !91
2016-07-21 15:11:49 -04:00
Alam Ed Arias 1a0fcbd8dc Revert "Merge branch 'RemoveINetC' into 'master'"
This reverts commit 8607f5247c, reversing
changes made to 11d76a6562.
2016-07-21 14:42:00 -04:00
Alam Ed Arias 8607f5247c Merge branch 'RemoveINetC' into 'master'
Remove i_net.c

The code in i_net.c doesn't actually seem to be used in SRB2. I was able to compile a build without it, and hosting and joining netgames worked just fine (well, as fine as they can with the current state of the netcode...).

The vast majority of code in the file seems to be contained in HAVE_SDLNET ifdefs, and I'm pretty sure SRB2 has never used SDLNET in a public build. The only bit not contained in that block is I_InitNetwork(), which just prints an error and returns false.

Do we really need to keep it around? If not, I say get rid of it. It seems like useless clutter that is just going to confuse people who are trying to understand the source code.

See merge request !73
2016-07-21 14:15:58 -04:00
Alam Ed Arias c5fe08dcd2 Merge branch 'aatree-refactor' into 'next'
Re-factoring AA tree code from m_misc.c/m_misc.h into its own files

What the title says. The AA tree-related code now lives in the files m_aatree.c and m_aatree.h. Part of why I did this was to solve this m_misc.h/w_wad.h cyclic dependency problem (involving MAX_WADPATH and AA trees themselves) mentioned in the now-removed comments, another reason was ...only OpenGL uses AA trees at all, why include the relevent structs/functions/otherwise anywhere except where is necessary (which is very few files as it turns out)?

Otherwise, it just looked better on its own rather than mixed with all the other stuff already in the m_misc files. Not really important or anything affecting gameplay at all I guess.

See merge request !82
2016-07-21 14:13:38 -04:00
Monster Iestyn 6ba568ac49 Fixed typo of mine that lead to the ceiling part of GFZ2's tunnel section being rendered wrongly 2016-07-20 15:11:36 +01:00
Monster Iestyn 77a40e9016 Slightly unrelated, but if R_DrawTranslucentSplat_8 is ever going to be used this is probably more efficient (also fixing early colormap application for the last part) 2016-07-17 23:01:07 +01:00
Monster Iestyn 9ad205f5ba R_DrawTiltedSplat_8 fix: apply colormapping AFTER checking the source pixel is cyan first 2016-07-17 22:33:37 +01:00
Monster Iestyn 4d0f0230de Fix chasecam/awayviewmobj viewz offset to be consistent with non-skybox frame rendering 2016-07-17 17:36:37 +01:00
Alam Ed Arias 765d68899f Merge branch 'master' into next 2016-07-11 16:10:40 -04:00
toasterbabe 8426ce8d9c Minor change to fans and gas jets that makes them work on slopes.
- Now checks whether the player's top is below the bottom of the fan/gas jet, instead of its bottom. zdist calculation not affected.
- mo->standingslope is NULL'd so the player isn't launched off at a wacky angle. (I also did this for springs, since Prime mentioned it was a problem for them too.)
2016-06-30 23:23:50 +01:00
Inuyasha 331ea9814f version numbers, etc 2016-06-29 20:01:22 -07:00
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
toasterbabe f93b31f0a7 FUCK C90 2016-06-20 02:08:07 +01:00
toasterbabe 20ffbbdc41 Climbing now supports one-sided linedefs.
The whole thing needs a refactor in general, but it's almost 2am here, I need my sleeb, and this fix would probably break something with 2.1 climbing if I made it any more/less (depending on viewpoint) complicated.
2016-06-20 01:50:47 +01:00
Alam Ed Arias 7126d57fd7 whitespace cleanup 2016-06-19 20:25:09 -04:00
toasterbabe 71f5d4ea85 ...completely misunderstood the reasons we weren't merging toast_slopes, mom holy fuck i'm stupid and bad
Enjoy your slopes without physics, people :D
2016-06-20 00:20:20 +01:00
Alam Ed Arias 24038d4d54 Merge branch 'next' into aatree-refactor 2016-06-19 15:48:22 -04:00
Alam Ed Arias e87e747a29 clean up warning done in setup-fixes 2016-06-19 12:48:35 -04:00
toasterbabe 86721f1457 Compilation fix of the patch to disable this feature ( :c ). 2016-06-19 17:29:04 +01:00
toasterbabe fa58993bda Merge branch 'next' of http://git.magicalgirl.moe/STJr/SRB2.git into toast_slopes
# Conflicts:
#	src/p_user.c
2016-06-19 16:59:49 +01:00
toasterbabe 1147428904 Revert "Changed teetering to match the discoveries made about it in the sectorlist_traversal branch in a way that matches my revamps here, since I DID change a lot."
This reverts commit 19b186e52e.
2016-06-19 16:38:11 +01:00
toasterbabe f5f2c4ad48 Revert "Okay, NOW I fixed the compile error. Forgot to stage this."
This reverts commit 1723bb55f9.
2016-06-19 16:38:04 +01:00
Alam Ed Arias 8e98c78456 Merge branch 'next' (early part) into toast_slopes 2016-06-19 03:39:42 -04:00
toasterbabe 3fe87eff97 Disabling the functionality of SL_NOPHYSICS for 2.1 patches by never applying it 2016-06-18 23:55:43 +01:00
toasterbabe 9c277bfb22 Merge branch 'next' of http://git.magicalgirl.moe/STJr/SRB2.git into toast_slopes 2016-06-18 22:58:24 +01:00
Inuyasha 8fc61bb674 Merge branch 'sectorlist_traversal' into 'next'
Sectorlist traversal

MOM GET THE CAMERA

There's a LOT of code in the source that ended up mixing m_snext (the node for the next thing in the sector's thinglist) and m_tnext (the node for the next sector in the thing's sectorlist), so I renamed the following:

* m_snext ==> m_thinglist_next
* m_sprev ==> m_thinglist_prev
* m_tnext ==> m_sectorlist_next
* m_tprev ==> m_sectorlist_prev

Then, I changed all the instances where the code was trying to go m_thinglist_next on a mobj's touching_sectorlist (which would've just gone to the node for the next thing in the same sector, instead of the node for the next sector for the same thing). Notable samples:

* FF_SHATTER blocks now disappear the moment you go into their sector. You still can't give FF_SOLID to them because in that case they will still stop you if you never enter their sector at all (ie - clip on corners), but having them nonsolid no longer allows you to phase through entirely without busting them (which was the whole downside of making them intangible in the first place).
* You can now bump into multiple Mario blocks at a time, even if you're not exclusively in their sector.
* No more getting randomly stopped on the edges of bouncy FOFs.
* Landing on polyobjects might behave a little more consistently at the edge of their host sector.
* Teetering did a SHITTON of code that basically never got executed, and then had directly-blockmap-accessing code as a backup. The code was activatable by replacing the m_thinglist_next with m_sectorlist_next, but it behaved SUPER differently from what we're used to with teetering (if the player mobj's edge was JUST off the edge of a platform, you ended up in teetering frames - even if it looked like you could stand) so I ended up removing that section entirely.

Any objections?

See merge request !85
2016-06-18 16:52:21 -04:00
Monster Iestyn 9e31ab1393 Merge branch 'master' into next 2016-06-17 14:44:23 +01:00
Alam Ed Arias 56331d86c4 Merge remote-tracking branch 'origin/master' into build-modes 2016-06-17 08:55:20 -04:00
Inuyasha ee180807d1 Merge branch 'setup-fixes' into 'next'
Fixes and changes related to the act of setting up a level (in other words, setup fixes)

Changes made in this branch so far:
* a REJECT lump of zero length (NOT to be confused with a REJECT lump of non-zero length with all-zeros, just to clarify) should no longer cause problems with netgames and otherwise. The game now checks if the lump exists, has the right name, and length is not zero - if it fails any of these, the REJECT lump is not loaded and P_CheckSight won't be allowed to use it. This means ZDBSP (no reject) should be safe(r) to use now!
* there's now a simple devmode-only message (requires "Setup" mode) if a sector is found to have no lines at all during setup. It's a far cry from the plot to I_Error the game I once had for that unsusal scenario, but such a level still works anyway so whatever.

See merge request !87
2016-06-17 08:05:09 -04:00
Inuyasha 191a4bc7d2 Merge branch 'reverseplatform_clipping' into 'next'
FF_REVERSEPLATFORM clipping

Ran into an issue whilst testing out one last feature (there's always one more...) for flat_alignment_revamp. This is a backported fix.

The bug was such that if you're falling through a platform with FF_REVERSEPLATFORM and not FF_PLATFORM, you'll be pushed downwards such that your head is against the bottom of the FOF. This just checks momz is greater than zero if it has FF_REVERSEPLATFORM to make sure it's okay to set ceilingz. (OR the alternative in reverse gravity.)

No test map because this was originally done for internal. Instead, test it on the other branch's test map.

See merge request !83
2016-06-17 08:01:03 -04:00
Monster Iestyn 5fd87351a8 Place precision of 4 on sprname string in the I_Error messages, so that you just get "PLAY" instead of "PLAYC2C8" or "PLAYA0" etc
This is so custom character creators won't get confused by having two different frames shown in the same message anymore, bleh
2016-06-13 22:52:20 +01:00
Monster Iestyn a135def1bb Merge branch 'next' into aatree-refactor 2016-06-13 21:14:52 +01:00
Monster Iestyn df55019d40 Merge branch 'master' into other-software-fixes 2016-06-13 21:13:51 +01:00
Monster Iestyn 9ae2a4036a Merge branch 'master' into next 2016-06-13 21:10:53 +01:00
Alam Ed Arias a046d3807e strings return by M_GetText() can not be changed 2016-06-13 11:11:02 -04:00
Alam Ed Arias 2c8008e11e NULL checks 2016-06-13 10:07:10 -04:00
Monster Iestyn 9b037164bc Added debug messages for when REJECT lump is not loaded 2016-06-12 21:51:27 +01:00
Monster Iestyn f94dd510ad change back to 8, add \0s 2016-06-12 21:16:41 +01:00
Alam Ed Arias 4d6a3e3398 FUNCMATH fun 2016-06-12 16:08:48 -04:00
Alam Ed Arias 1e507d3d1e added printf checks to hardware's I_Error 2016-06-12 16:08:48 -04:00
Alam Ed Arias 1e3631425f r_opengl: move DrawMD2i code to DrawMD2Ex 2016-06-12 16:08:48 -04:00
Alam Ed Arias 6271adcbe7 make sure !BLUA EXE works without warnings 2016-06-12 16:08:48 -04:00
Monster Iestyn b4798538e2 Merge branch 'software-fixes' into 'master'
Software crashes fix

This branch SHOULD fix the many crashes people have reported lately that all point to the software renderer. Simply put, the software renderer allowed stuff to be drawn out of the screen even though that wasn't safe, and even the existing checks to prevent that didn't work.

If you saw me worrying about the sky HOMs I discovered in AGZ earlier in the commits for this branch, don't worry - it turns out that issue already existed in 2.1.15's srb2win.exe (and probably srb2dd.exe too) anyway, the changes in this branch didn't cause them. Hopefully nothing else broke then.

See merge request !75
2016-06-12 14:33:27 -04:00
toasterbabe 2c676eea43 P_ReverseQuantiseMomentumToSlope is now a function. (I was thinking about a macro, but couldn't get it down.)
Also, the teetering angle on slopes is now FRACUNIT/2 because there's literally no way to stand still on a slope that steep unless it doesn't have physics.
2016-06-12 19:27:34 +01:00
Monster Iestyn 305d32870f Effect 2 (No Midtexture Skew) now toggles off skewing for midtextures on single-sided lines, which was what was intended for them to begin with apparently.
This means the current skewing-by-default effect isn't changed, and OpenGL's equivalent code doesn't have to be touched since apparently it was already like that.
2016-06-12 18:47:27 +01:00
Alam Ed Arias 472dce1ae6 Do not why we are not checking REJECT\0\0, let fix this check 2016-06-11 21:42:02 -04:00
Monster Iestyn 1d0e74f9c0 "REJECT" is only 5 chars long, not 8. 2016-06-11 21:19:16 +01:00
Monster Iestyn a7a7a7ee6d 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.
This should mean that maps built with ZBSDP (no reject) should have less or no problems in netgames compared to the standard ZenNode maps now, hopefully. =)
2016-06-11 18:45:56 +01:00
Monster Iestyn df92dc8d9e Print debugging message if sector->linecount is zero 2016-06-11 16:14:08 +01:00
toasterbabe 9e87f6d85d i did so much in this branch, so UPGRADE ME TO PROGRAMMER
note: once this is merged into internal, you should probably remove me from "programming assistance" so i'm not duplicated for no clear reason. unless you want me to slowly take over every section in the credits >:3c
2016-06-10 22:45:42 +01:00
Monster Iestyn a04fcce3a9 Hack to fix midtextures for polyobjects being mucked up
"frontsector" in this part of the code isn't actually the polyobject's sector for back-side polyobject segs, it's the in-level sector the polyobject as a whole is being rendered in it turns out.
2016-06-09 22:07:43 +01:00
Monster Iestyn 20c2d84c78 Fix single side line midtexture skewing
Red apparently left in code for single-sided linedefs to NOT skew their midtextures ...but it doesn't work because it doesn't stop the skewing code from running instead, regardless of whether Effect 1 is on or not. If it's decided single-sided line midtextures shouldn't do this though, the non-skew code could just as well be thrown out lol (or something else I guess?)
2016-06-09 20:37:36 +01:00
toasterbabe 661da15146 Reinforcing encapsulation I originally broke down to allow for P_GetMobjGravity.
When I first wrote this, I thought the .h file that contained a function declaration needed to have the same name as the .c file the function was in. Now I know that's not the case, off to p_local.h with you.
2016-06-09 18:16:13 +01:00
toasterbabe 1723bb55f9 Okay, NOW I fixed the compile error. Forgot to stage this. 2016-06-09 15:24:23 +01:00
toasterbabe c5ff41d6a6 Fixed compile error and placed the #undefs for xsign and ysign in more logical places. 2016-06-09 15:20:45 +01:00
toasterbabe 19b186e52e Changed teetering to match the discoveries made about it in the sectorlist_traversal branch in a way that matches my revamps here, since I DID change a lot. 2016-06-09 15:16:25 +01:00
toasterbabe 7af14c20ed Everywhere in the code that was doing things wrong has been changed.
Two interesting points of note:
* The touchspecial sector flag seems to actually do its job now.
* Detection of sectors with polyobjects in seems to have done this incorrectly, but this doesn't mess with anything about touching the polies themselves so it seems to really only handle edge cases where the polyobject was too close to the border of another sector (which would've likely made rendering glitches anyways).
* There was a whole swathe of teetering code that was basically never run properly because of this mistake. I did a simple fix at first, but you started teetering whenever you were slightly less than your radius away from a sector's edge, which was completely different and undesirable behaviour. Instead, I cut out the code that was never running, and just left the hacky method in instead since it was more accurate to what we want in general.
2016-06-09 14:56:24 +01:00
toasterbabe 17e0adcbac Renamed some struct variables so the problem this branch sets out to fix is more obvious at a glance.
* m_snext ==> m_thinglist_next
* m_sprev ==> m_thinglist_prev
* m_tnext ==> m_sectorlist_next
* m_tprev ==> m_sectorlist_prev
2016-06-09 14:16:02 +01:00
toasterbabe 0b920ee249 You know that problem where you bumped on the edges of Mario blocks and Bustable blocks and Bouncy FOFs sometimes? Wham. Bam. In the van.
Issue was caused by attempting to traverse the sector's thing-touching-list across all the things in the sector (which would inevitably have the same sector as the first node in mobj->touching_sectorlist) instead of traversing the thing's sector-touching-list (which has the same thing but different sector references).

I wonder how many times AJ copypasted this code with absolutely no idea why it wasn't working properly. I'll figure that out tomorrow, maybe set up some compiler macros so this mistake is never made again. For now, I must sleeb.
2016-06-09 00:02:50 +01:00
Alam Ed Arias 742353d0ab Merge branch 'master' into next 2016-06-08 15:06:17 -04:00
Monster Iestyn 29ea733ae5 Fix sprites in skyboxes not having clipping arrays actually set properly 2016-06-08 17:53:34 +01:00
toasterbabe 51c769247a Compiling fixes. 2016-06-07 19:44:43 +01:00
toasterbabe aa113045d7 MI pointed out opportunity for more optimisation, and who could resist? 2016-06-07 18:18:47 +01:00
toasterbabe 9df72a966e Some simplifications after MI pointed out that the sector heights are the only thing accessed outside of the iteration. 2016-06-07 17:55:03 +01:00
toasterbabe 9d221f4f3f Teetering now supports slopes properly.
Behaves ALMOST as you'd expect. It gets the z position of the slope at the player coordinates when it comes to the sectorlist check (which is first), though, so there's a few oddities that are amplified with steep slopes:
* If the slope's sloping away from you at a steep angle, you might not be able to step down onto it, but you won't teeter (because it's at a step-down-able height if it extended to directly beneath you)
* If the slope's sloping towards you at a steep angle, you might end up in teetering frames when you're able to step down onto it (because it's NOT at a step-down-able height if it extended to directly beneath you)

HOWEVER, it would be pretty obnoxious to hold back code which is functionally superior in every way otherwise, and it doesn't really seem like there's a good way to get that checked tbph
2016-06-07 17:37:25 +01:00
toasterbabe 26744c2a6b woops #1 2016-06-06 21:02:47 +01:00
toasterbabe 7c0eee6ff1 The fix now takes reverse gravity platform step-up into account properly. 2016-06-06 20:53:29 +01:00
toasterbabe 60dd8dab3c Backported clipping fix for FF_REVERSEPLATFORM collision. 2016-06-06 18:11:23 +01:00
Monster Iestyn 69f556d40a Split AA trees code from m_misc.c/.h into m_aatree.c/.h
Also updated any relevant project files that I can think of to include the new files, as well as the makefile of course. Some of the other project files haven't been touched in years so I'll leave those alone ...unless someone objects
2016-06-05 21:29:40 +01:00
Monster Iestyn 2e9607938d Merge branch 'master' into next 2016-06-04 20:23:46 +01:00
toasterbabe 3591e92dfa Merge branch 'toast_slopes' of http://git.magicalgirl.moe/STJr/SRB2 into toast_slopes 2016-06-04 19:48:04 +01:00
toasterbabe ba528a075e Last few changes as reccomended by Red. (<3 u, no hetero) 2016-06-04 19:47:40 +01:00
Monster Iestyn 4c422f6605 OpenGL: closed door/window detection code now accounts for slopes, just like in software 2016-06-04 18:31:21 +01:00
Alam Ed Arias 31a59f8ae6 Merge branch 'next' into toast_slopes 2016-06-02 17:45:16 -04:00
Monster Iestyn 83c4dba4ce Fix crash reported by FuriousFox at http://mb.srb2.org/showthread.php?t=41536
Basically this makes sure numwadfiles is updated before loading the SOC/Lua scripts, so if a Lua script calls COM_BufInsertText with the contents "addfile scr_mysticrealm.wad" it can't overwrite the last written wadfile slot! Not that COM_BufInsertText really should be used like that to begin with
2016-06-02 20:16:25 +01:00
toasterbabe c1caf21323 Reccomended by MI: Dividing by the original friction value just so slopes with normal friction don't behave differently between next and this branch. 2016-06-02 16:51:12 +01:00
toasterbabe 882622d2e7 ...I made two major mistakes with P_GetMobjGravity.
*Didn't take into account object scale
*Doubled force when on the ground (ignore what the comment of the line I moved says, it was relevant for slopes...)

This also led to a mistake with slopes, where I was double-multiplying by the gravity constant to get half (because of a quirk of numbers...)
2016-06-02 16:42:07 +01:00
toasterbabe 213a9632ca Let's multiply the thrust by the mobj's friction. You should have less chance of purchase on a slippery slope (tee hee) and more on a rough one, but the slopes were basically identical during testing before I implemented this change. 2016-06-02 16:09:33 +01:00
toasterbabe 80fceafcb9 Merge branch 'toast_slopes' of http://git.magicalgirl.moe/STJr/SRB2 into toast_slopes 2016-06-02 14:40:36 +01:00
toasterbabe 1493537dfc Moved the standingslope check in P_ZMovement to after the FOF and height adjustment as it is in P_PlayerZMovement, as reccomended.
Doesn't actually stop Crawla jittering, but might as well make it happen for consistency's sake.
2016-06-02 14:39:41 +01:00
wolfy852 919e3ed0e2 Make token available to Lua as a global variable
Reviewed by @RedEnchilada
2016-06-01 21:06:24 -05:00
Alam Ed Arias 507b336bd6 Merge branch 'next' into toast_slopes 2016-06-01 15:36:46 -04:00
Alam Ed Arias 208fb75a17 Merge branch 'master' into software-fixes 2016-06-01 15:35:55 -04:00
toasterbabe 44a6e8bb54 I_Error description syntax consistency (buzzword buzzword buzzword). 2016-06-01 19:52:12 +01:00
Monster Iestyn 43b6b2a53f Merge branch 'master' into next 2016-06-01 19:31:57 +01:00
Monster Iestyn c863e311fe OpenGL: Fix upper texture Effect 1 only skewing 2016-06-01 19:22:54 +01:00
Monster Iestyn bf85cc25bd OpenGL: Fix lower unpegged texture offset, fix lower unpegged + effect 1 so the texture actually skews 2016-06-01 18:51:38 +01:00
Alam Ed Arias 629dd8e08f Merge branch 'next' into toast_slopes 2016-06-01 11:47:22 -04:00
Alam Ed Arias 0444e8a14c Merge branch 'master' into next 2016-06-01 11:45:57 -04:00
toasterbabe ae8b45965c No Size_t --> int
in an I_Error print!
[/rhyme]
2016-06-01 16:45:10 +01:00
Alam Ed Arias 87cf02e21b Merge branch 'master' into software-fixes 2016-06-01 11:17:57 -04:00
toasterbabe 76d108d760 Whoops, didn't realise pushing fixed and integer were different. My mistake. 2016-06-01 14:49:14 +01:00
toasterbabe 62c4338d60 Added P_GetMobjGravity to Lua. Check /toaster/gravitytest.lua for sample script. 2016-06-01 13:19:44 +01:00
Alam Ed Arias f21c72b889 debug: always load exchndl.dll 2016-05-31 21:30:18 -04:00
Monster Iestyn d24cc49443 Fix FOF height checks all over p_spec.c to account for slopes
This fixes certain sector specials and linedef executor specials etc not accounting for players/mobjs touching sloped FOFs
2016-05-31 21:31:29 +01:00
toasterbabe 7071fbe29e I made a mistake. Fuck git reverts, they are a nightmare, let's just do this the old fashioned way. 2016-05-31 18:13:17 +01:00
toasterbabe d4d44777f4 Okay, now vertex slopes aren't placement-order-dependent any more. Hopefully this is the best way to handle things. 2016-05-31 17:43:27 +01:00
toasterbabe d998ddfae4 When you haven't found all the vertices, it's just not safe to carry on. Hit them with a descriptive I_Error so they don't get confused as hell like Glaber did. http://mb.srb2.org/showthread.php?t=41455 for reference.
Also took the opportunity to nuke or otherwise neuter a bunch of Kalaron's bizzare ramblings (most are questions which have long-been answered by Red's efforts) at the same time.
2016-05-31 17:07:28 +01:00
Monster Iestyn d5184847d6 Merge branch 'master' into software-fixes 2016-05-31 16:29:02 +01:00
Alam Ed Arias 7dd3a4ba7b Merge branch 'master' into next 2016-05-31 11:26:51 -04:00
toasterbabe da2abbb39f Failed a build because C is an obnoxious language. 2016-05-31 16:24:51 +01:00
toasterbabe 6058eec1c9 Holy shit. I spent two hours staring at how garbage this code was and didn't even realise it was #ifdef'd out behind a define not even mentioned in doomdef.h. It's not actually used anywhere (superseded entirely by the much nicer, much more relevant P_NewVertexSlope()... out with you, ancient, foul demons who should've been SPRINGCLEANed long ago. 2016-05-31 16:14:21 +01:00
Monster Iestyn 8b2b49fb04 Just some final cleanup of the code I changed 2016-05-31 16:08:29 +01:00
toasterbabe ad61050bb0 Whitespace removal. 2016-05-31 16:01:05 +01:00
toasterbabe fa002e58ad Did a bunch of things to/for slopes.
*The No Physics flag now works (Red, you might want to doublecheck this to see whether I haven't missed any eosteric stuff out). Going downhill is a little bumpy, and I'm not sure whether that's good or not. Someone help me out here?
*The SRB2CB typeshims are now behind #ifdef ESLOPE_TYPESHIM instead of #if 1 for easier disabling.
*Slopes' downhill thrusts are now scaled with regards to object gravity. This is actually untested in gravities other than normal and reverse normal but it's one line which can be easily reverted in that circumstance. I also checked with MI to make sure this is how it's calculated elsewhere, so fingers crossed this doesn't cause any edge cases.
*As a consequence of the above point, there's now a function in p_mobj.c/h that returns an object's internal gravity - seperated out from the logic of P_CheckGravity, which really didn't need to be so monolithic. Multiply by global gravity to get the thrust. This should probably be available to Lua somehow, but I have absolutely no idea where to start with that. Wolfs, maybe?

Non-comprehensive test file available at /toaster/slptst3.wad on the ftp.
2016-05-31 15:01:19 +01:00
Monster Iestyn eb90f4f50d welp no success in fixing the sky HOMs yet, committing progress anyway 2016-05-30 22:53:22 +01:00
Monster Iestyn a2aeece419 Significant rework of main seg-rendering code, to eliminate the possibility of drawing off-screen and crashing the game as result
NOTE: HOMs sometimes appear in the sky in maps like AGZ (map40), so this isn't completely fine yet. I'll fix that later
2016-05-30 21:53:29 +01:00
Monster Iestyn 2c73e2a2cd Fix flung emeralds not disappearing in death pits
(assuming it wasn't an intentional behaviour thing of course)
2016-05-29 16:47:38 +01:00
Alam Ed Arias 209d76cb9d gcc-6: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation] 2016-05-28 21:24:06 -04:00
Alam Ed Arias 9e196613a0 gcc-6: error: this ‘for’ clause does not guard... [-Werror=misleading-indentation] 2016-05-28 21:23:46 -04:00
Alam Ed Arias 4956be2bd4 gcc-6: error: left shift of negative value [-Werror=shift-negative-value] 2016-05-28 21:23:09 -04:00
Alam Ed Arias 35b254feaa D_MD5PasswordPass, fixup 2016-05-28 19:51:10 -04:00
Alam Ed Arias 3aea4a7601 replace strcpy with memmove in D_MD5PasswordPass() 2016-05-28 19:48:52 -04:00
Alam Ed Arias d9aa430817 use memmove in D_MD5PasswordPass() and drop noreturn 2016-05-28 19:42:38 -04:00
Alam Ed Arias 35f36e1bba travis-ci: set v of nulK to 0 2016-05-28 19:28:37 -04:00
Alam Ed Arias 02e67a4a95 travis: add gcc 4.4, 4.6 and 4.7 2016-05-28 19:15:37 -04:00
Alam Ed Arias ad6c2e634f travis: disable xcode6.3 2016-05-28 19:08:50 -04:00
Alam Ed Arias f4a84c916e travis: Fixedup gcc 5 error and allow gcc 6 to fail 2016-05-28 18:41:08 -04:00
Alam Ed Arias 9731a8daa1 Merge branch 'master' into next 2016-05-27 14:39:23 -04:00
Alam Ed Arias d1aab2e418 gcc: clear uninitialized warnings in am_map.c 2016-05-27 14:22:02 -04:00
Alam Ed Arias 390927cc32 Makefile: compile debug build with -Og on GCC 4.8 and higher 2016-05-27 14:14:04 -04:00
Alam Ed Arias 98b1254a65 Merge branch 'master' into next 2016-05-27 11:02:44 -04:00
Monster Iestyn 0081397920 OpenGL: Fix MD2s on player 2's screen breaking when reverse gravity is involved 2016-05-27 14:53:36 +01:00
Monster Iestyn 65d9c9e167 P_NetUnArchivePlayers doesn't like having "inline" either 2016-05-27 14:49:11 +01:00
Alam Ed Arias 869d582cc4 Makefile: ignore suggest=attribute for GCC 4.6 and up 2016-05-27 01:55:52 -04:00
Alam Ed Arias 20dcf138e2 hardware: let not break MSVC support 2016-05-27 01:28:21 -04:00
Alam Ed Arias 008be7c90d hardware: start the surf as clean 2016-05-27 01:19:16 -04:00
Alam Ed Arias 3297fe11ed P_NetArchivePlayers() is too bad for inline 2016-05-26 23:39:08 -04:00
Alam Ed Arias 0079b4df64 Make: compile Release build will all the speed 2016-05-26 20:39:15 -04:00
Monster Iestyn 8ceba95bfa Fix slope collision detection for the camera
See http://mb.srb2.org/showthread.php?t=41494
2016-05-25 21:10:46 +01:00
Alam Ed Arias 8e32d978a1 Merge remote-tracking branch 'public/master' 2016-05-25 06:42:01 -04:00
Monster Iestyn 7c78b95a7d This is probably the "correct" way to set maskedtextureheight
Probably doesn't make any difference in-game at all though, lol
2016-05-24 22:11:48 +01:00
Monster Iestyn ab6d4d7aec Remove unused planefunction_t function typedef
(the number of unused things hiding around in SRB2's source code is silly lol)
2016-05-24 14:41:55 +01:00
Monster Iestyn 17346e29c3 Remove unused drawfunc_t function typedef 2016-05-24 14:38:31 +01:00
Hank Brannock f94d3a1fb0 The code in i_net.c doesn't actually seem to be used in SRB2. I was able to compile a build without it, and hosting and joining netgames worked just fine (well, as fine as they can with the current state of the netcode...).
Do we really need to keep it around? If not, I say get rid of it. It seems like useless clutter that is just going to confuse people who are trying to understand the source code.
2016-05-22 22:38:16 -04:00
Alam Ed Arias b96b999c1e MSVC: Move x86/x64 settings into commons props 2016-05-22 21:55:55 -04:00
Alam Ed Arias 79f3d6e072 MSVC: Tidy up project files by hand 2016-05-22 11:54:32 -04:00
Alam Ed Arias 47ae39ea62 netplay: fix off by 1 2016-05-22 11:03:04 -04:00