Commit graph

1422 commits

Author SHA1 Message Date
toasterbabe c2aba46298 New S_SKIN attributes.
* radius - sets the player's radius for that skin.
* height - sets the player's normal height for that skin.
* spinheight - sets the player's spinheight for that skin.
* shieldscale - see http://i.imgur.com/BQ5DhKC.png for justification
2016-07-13 15:15:45 +01:00
toasterbabe 8087cde5db Correcting a few cockups. 2016-07-13 13:26:21 +01:00
toasterbabe b2bfe3737a Rudimentary SOC shuffling if you add a character with the same name as a previous character to prevent character select from breaking. 2016-07-13 12:17:53 +01:00
toasterbabe fcfe8c0132 More clearly defined handling for replacing character select images. Specifically takes into account whether the hidden character was added in this file or a seperate one.
Also, removed some commented out code regarding character selects, and removed a useless case for R_SkinAvailable().
2016-07-12 20:10:01 +01:00
toasterbabe 80a3d79d4d Some hacks added to forceskin to:
* support hidden characters
* take the skin->name, not the number
* display the skin->name in the menu

Also, minor tweaks to other things.
2016-07-12 14:40:20 +01:00
toasterbabe b5108afe16 Substantial re-engineering for the foundations of hidden characters.
R_SkinUnlock defines the circumstances under which a skin is available. For simplicty's sake, I've currently bound it to an S_SKIN variable so I can toggle it easily, but it WILL be replaced with a hook into the savegame system at some point.
* Currently has three tiers of unlock - freebie (forceskin or modeattacking via a loaded replay), Ringslinger Only, and SP/Coop and Ringslinger.
* I don't know anything about netcode so I basically decided to make R_SkinUnlock relevant only under local circumstances, try as hard as possible to stop bad skin info from getting sent to the server, and then admit defeat once the server has the information. If this is a bad choice, please discipline me and show me how to fix it.
* Character Select now checks for whether the character is hidden or not on menu load and does/undoes it based on that info, but will never touch one disabled via SOC. I also used this opportunity to optimise, checking for/filling out charsel pictures instead of doing it later. (It now also includes special casing for a select screen with zero characters!)
* Mode Attack now hides hidden characters in its character select based on SP rules.

Things that still need to be done:
* ForceSkin_OnChange. Is there a graceful way to handle this?
* No obvious skin name conflicts. Add a salt to the names of hidden skins, and then remove it when they're unhidden?
* The gap between Knuckles' skin number and the first custom character anybody adds will be way too obvious. A seperate hidden skin numbering system? Start at 32 and count up from there? There's a few ways...
2016-07-12 03:15:58 +01:00
toasterbabe ee92e043b9 Preparation for hidden characters, making sure R_SkinAvailable was being used where appropriate.
Also, bugfix for something my optimisation introduced.
2016-07-11 23:40:31 +01:00
toasterbabe eee6a6ff45 Optimisations to the character select screen.
* If a character select character image is not set, don't iterate every tic - iterate on first image get and then save to the struct.
* A character select screen with only two characters now has special case handling.
* A memory leak in the making has been plugged. (specifically, picname not being Z_Free'd if the loop fails to do so)
* Logic/operation simplification.

Also, some typo corrections and clarity case movements of stuff in other files I've been looking at.
2016-07-11 23:01:43 +01:00
toasterbabe 7c63a96bf1 Logic error. Now works as described previously. 2016-07-10 20:03:08 +01:00
toasterbabe 8431f64300 A thorough reimplementation of Nojumpspin for the SPR2_ age.
* SF_NOJUMPSPIN - Player's height is full whilst jumping, SPR2_JUMP defaults to SPR2_SPNG instead of SPR2_SPIN, and the player goes into fall frames if they start moving downwards or use their ability.
* PA_JUMP - for jumping (upwards in the case of SF_NOJUMPSPIN.
* SF_NOJUMPDAMAGE - Ala rosy.wad, don't damage enemies, etc when jumping into them.
* SF_STOMPDAMAGE - Just for fun. Ala in Mario, always damage enemies when you land on top of them (your gravity reference, not theirs).
* SF_MARIODAMAGE - SF_NOJUMPDAMAGE|SF_STOMPDAMAGE is reasonably accurate to the Mario games, and might as well be surfaced as such.

Also, a minor change:

* Instead of not spawning the revitem if your SPR2_ is SPR2_DASH, don't spawn it if it's set to 0. This requires the player.dta I uploaded a couple days ago to behave as it was previously.
* Don't get stuck in spindash frames if your maxdash is 0, and don't flash rolling frames if you're on goop.
2016-07-10 18:41:38 +01:00
toasterbabe d8d8333719 S_SKIN now supports both DS* and sfx_* prefixes for sounds. 2016-07-10 13:22:49 +01:00
toasterbabe 7fe80a7f31 Minor optimisations and clearer code. 2016-07-10 12:35:24 +01:00
toasterbabe 8ab32ca93a Significant improvements to the Character select screen in preperation of implementing unlockable characters.
* Characters disabled through SOC are outright removed. No awkward gap in scrolling - no hint they were ever there in the first place.
* Vertical loop - the character select images are visually continuous. No matter where you are in the chain, you'll always see a hint of the character above or below your current selection in the chain.
* Smooth scrolling - Moto and Prime showed me a gfy from back during 2.1 development where it was super smooth. I didn't make it as slow as that one, but the smoothness was easy to add and the reason it was removed previously - gaps in the character select leading to varying speeds - is no longer relevant.
2016-07-10 02:05:59 +01:00
Alam Ed Arias 214cd404bd Merge branch 'public_next' into master 2016-06-08 15:29:25 -04:00
Alam Ed Arias 5d263da9b4 Merge branch 'next' into public_next 2016-06-08 15:07:08 -04:00
Alam Ed Arias 742353d0ab Merge branch 'master' into next 2016-06-08 15:06:17 -04:00
Alam Ed Arias 6d2d48f152 Merge branch 'skybox-sprites-fix' into 'master'
Fix for rendering sprites in skyboxes

This branch fixes the visual glitches one sees with sprites for objects within skyboxes, typically with parts of or all of some sprites disappearing from view even though they shouldn't be.

See merge request !84
2016-06-08 14:05:06 -04:00
Monster Iestyn 29ea733ae5 Fix sprites in skyboxes not having clipping arrays actually set properly 2016-06-08 17:53:34 +01:00
Alam Ed Arias b9a39f3043 Merge branch 'public_next' into master 2016-06-04 22:36:55 -04:00
Alam Ed Arias f4b90792fb Merge branch 'next' into public_next 2016-06-04 22:35:42 -04:00
Monster Iestyn 2e9607938d Merge branch 'master' into next 2016-06-04 20:23:46 +01:00
Nipples the Enchilada 6bf40b8f40 Merge branch 'gl-slope-doors' into 'master'
OpenGL slope fixes again

This branch just adds the relevant code for OpenGL to properly check slopes regarding "closed door" segs (those between two sectors that cannot be crossed normally) and "window" segs (those between two sectors of differing plane heights that you CAN cross, which would probably display top or bottom textures), so you don't get HOMs when the the slopes create a closed door even though the normal sector heights wouldn't or something.

(if you couldn't understand that, my slopes test map shows what I mean to the right of the player start: https://dl.dropboxusercontent.com/u/25409000/2.1/mi-slopetest.wad)

See merge request !81
2016-06-04 14:28:07 -04: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 c23b40fa9c Merge branch 'public_next' into master 2016-06-02 18:39:08 -04:00
Alam Ed Arias 5cc2502b1a Merge branch 'next' into public_next 2016-06-02 18:37: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
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 5c24efac21 Merge branch 'master' into next 2016-06-01 15:35:03 -04:00
Alam Ed Arias a7640e4d6c travis: compress the build cache 2016-06-01 14:32:03 -04:00
Monster Iestyn 43b6b2a53f Merge branch 'master' into next 2016-06-01 19:31:57 +01:00
Monster Iestyn 7fc1c7466d Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2.git 2016-06-01 19:24:00 +01:00
Monster Iestyn c863e311fe OpenGL: Fix upper texture Effect 1 only skewing 2016-06-01 19:22:54 +01:00
Alam Ed Arias dfe5246636 appveyor: only for taggeed master builds 2016-06-01 14:01:12 -04: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 0444e8a14c Merge branch 'master' into next 2016-06-01 11:45:57 -04:00
Alam Ed Arias d86dc67218 travis-ci: add back xcode6.2 2016-06-01 11:23:30 -04:00
Alam Ed Arias f21c72b889 debug: always load exchndl.dll 2016-05-31 21:30:18 -04:00
Alam Ed Arias ef290723c2 Merge branch 'master' into next 2016-05-31 17:57:12 -04:00
Alam Ed Arias 5401257c74 travis-ci: llvm's APT repos are offline for now 2016-05-31 17:56:05 -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
Alam Ed Arias 7dd3a4ba7b Merge branch 'master' into next 2016-05-31 11:26:51 -04:00
Alam Ed Arias 2262e4aeb9 travis-ci: allow clang-3.8 to fail 2016-05-31 11:26:29 -04:00
Alam Ed Arias bd588ad0f4 travis-ci: note down what version of clang we are compiling with 2016-05-31 11:06:47 -04:00
Alam Ed Arias 9122c3e5ea Merge branch 'travis-ci' into 'master'
Travis ci

Ok, now SRB2 on travis-ci is tested to be compiled against 17 buildsets

Now, what am I doing wrong?

See merge request !74
2016-05-31 11:02:51 -04:00
Alam Ed Arias 61faee12bc travis-ci: add back clang 3.6 to 3.8, but also have toolchain test repos into the mix 2016-05-30 17:52:30 -04:00
Alam Ed Arias 9a703bbeda travis-ci: drop clang 3.6, 3.7 and 3.8 2016-05-30 17:41:23 -04:00
Alam Ed Arias 5e154ce3fd travis: use the correct binary name for clang 2016-05-30 17:21:24 -04:00
Alam Ed Arias 9f5ecdcd9c travis: add mssing addons: section 2016-05-30 17:19:32 -04:00
Alam Ed Arias 5c5b85f369 travis-ci: add builds for clang 3.4 to 3.8 2016-05-30 17:16:58 -04: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