Commit graph

45 commits

Author SHA1 Message Date
toasterbabe 029fd156a8 Some nice optimisations to the new character select menu - no need to iterate up to 3 times a tic at the expense of ((32*2 + 2)*UINT8 - 3*INT32) memory. 2016-08-06 22:41:25 +01:00
toasterbabe 46e50a523f Let's be consistent with how other parts of the code handle this same issue of conditional operations surrounding non-conditional operations. 2016-07-19 01:19:03 +01:00
toasterbabe cfcd25f2cd Fixing a bug which could be caused by tapping up/down on the character select at high speeds by ensuring that o is never negative instead of assuming the one circumstance it may have been negative under. 2016-07-19 01:03:40 +01:00
toasterbabe cc9f874c5d Further improvements to the character select menu. 2016-07-17 16:21:46 +01:00
toasterbabe 9557cad235 Noticed some bad logic and typos, so correcting. 2016-07-17 15:56:31 +01:00
toasterbabe 6e0c9f7e18 The "forcecharacter" level header now allows for hidden characters.
Also, new default for revitem to match player.dta, and an updated Force Skin netgame option name to reflect the fact it's string based now.
2016-07-13 22:28:23 +01:00
toasterbabe 8087cde5db Correcting a few cockups. 2016-07-13 13:26:21 +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 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 c23b40fa9c Merge branch 'public_next' into master 2016-06-02 18:39:08 -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 032313260a Merge branch 'public_next' into master 2016-05-20 17:58:57 -04:00
Inuyasha f07585191b copyright dates/statements updated and such
(no actual SLOC changes)
2016-05-17 17:42:11 -07:00
Alam Ed Arias fbd9cb73c3 Merge branch 'public_next' into private 2016-04-27 16:54:37 -04:00
Inuyasha 5aea82ec91 Some drawing code cleanup
Fixed mashing buttons during fades causing crashes,
messed up behavior, record attack anywhere,
all the damn stupid bugs that it caused, basically
2016-04-06 18:01:01 -07:00
Inuyasha c956b498c8 Merge branch 'public_next' of http://git.magicalgirl.moe/STJr/SRB2Internal
# Conflicts:
#	src/p_user.c
2016-03-03 21:48:32 -08:00
Alam Ed Arias 2b12e5ff20 Merge branch 'next' into backport_unslot-music 2016-02-26 02:11:29 -05:00
Alam Ed Arias d09016c808 Merge branch 'public_next' into master 2016-02-09 14:19:50 -05:00
Alam Ed Arias 6000b5c980 Merge branch 'master' into next 2016-02-09 14:13:50 -05:00
Inuyasha 8c17dac589 The concept of "music slots" doesn't exist anymore.
Use whatever names you want for your music. So long as you prefix the lumps with O_ or D_, it doesn't matter anymore.
DISCLAIMER: Linedef type 413 (change music) and Lua scripting is not tested.

(cherry picked from commit 025ca413a2)

# Conflicts:
#	src/p_user.c
2016-02-09 02:48:33 -08:00
Alam Ed Arias f4886657c1 clang: fixup a few clang warnings 2016-02-05 22:12:12 -05:00
Alam Ed Arias 3bfc402241 whitespace cleanup 2016-01-21 13:53:21 -05:00
Inuyasha 06dea3ab78 Branch and revision information in builds
Also makes comptime.bat work with git if able.
Development builds will now show the branch and the SHA1 hash of the revision. Also been tested to work with subversion, where it displays "Subversion r####". You know, just in case.
2016-01-14 07:46:27 -08:00
Inuyasha 752d97dfb3 Branch and revision information in builds
Also makes comptime.bat work with git if able.
Development builds will now show the branch and the SHA1 hash of the revision. Also been tested to work with subversion, where it displays "Subversion r####". You know, just in case.
2016-01-14 04:31:48 -08:00
Yukita Mayako ca7151f1c2 Merge branch 'master' of git@git.magicalgirl.moe:STJr/SRB2Internal.git into reduced_palette
Conflicts:
	src/dehacked.c
2015-11-09 14:34:26 -05:00
wolfy852 1ed5407821 update stuff 2015-11-07 13:56:21 -06:00
Alam Ed Arias eb4de823e9 Merge branch 'public_next' into master 2015-09-03 13:55:29 -04:00
Monster Iestyn 775ccde424 Add M_Options(0); to F4/F5/F7 code to prevent them going to Main Menu instead of SP/MP pause menus when the latter should be shown 2015-09-01 22:56:45 -04:00
Monster Iestyn 0f038f9a3b Add M_Options(0); to F4/F5/F7 code to prevent them going to Main Menu instead of SP/MP pause menus when the latter should be shown 2015-09-01 12:45:26 +01:00
Sryder13 e054f4b6c6 Drawfills and Console
All relevant DrawFills had colours changed.
Console background colour changed.
Text colourmapping changed.
2015-07-23 18:56:05 +01:00
JTE 1d87f7d193 Removed default character select entries from hardcoding.
Find them in MAINCFG in player.dta instead, where they belong. This means that player.dta finally contains ALL playable character-related data, with none of it in the iwad or exe.

git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9003 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:03:00 -06:00
JTE b2681984a6 Merge branch 'player-animations'
SPR_PLAY now calls up a secondary spritedef for all animations for all players. Old character wads (including player.dta) are no longer compatible.

git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@8993 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 01:59:38 -06:00
Alam Ed Arias 73b3287b19 SRB2 2.1.14 release 2015-01-01 14:50:31 -05:00
Alam Ed Arias 404b5f666c SRB2 2.1.12 release 2014-11-11 19:55:07 -05:00
Alam Ed Arias 7cb77075d1 SRB2 2.1.11 release 2014-08-26 23:56:30 -04:00
Alam Ed Arias c028c83235 SRB2 2.1.9 release 2014-08-03 23:49:33 -04:00
Alam Ed Arias f03e591f64 change SDL into HAVE_SDL 2014-07-25 19:10:24 -04:00
Alam Ed Arias 02a3b0776c SRB2 2.1.7 release 2014-04-14 01:14:58 -04:00
Alam Ed Arias 15bd266cac SRB2 2.1.5 release 2014-03-23 12:00:29 -04:00
Alam Ed Arias ed72bd8fa1 SRB2 2.1.4 release 2014-03-21 19:21:06 +00:00
Alam Ed Arias a03da73115 SRB2 2.1.2 release 2014-03-17 08:13:16 -04:00
Alam Ed Arias b93cb1b65a SRB2 2.1 release 2014-03-15 13:11:35 -04:00