Commit graph

1204 commits

Author SHA1 Message Date
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