Commit graph

20800 commits

Author SHA1 Message Date
toaster
6659e78c04 Battle cups
- The cups they're associated with for GP Bonus Round
- Fixes the issue where when opening Ring Cup, Green Hills would be first in the listing because its header is defined before the rest of the cup's maps
- One core set of functions that works between multiple modes
Will merge conflict with Unlockables Undefeatable
2022-12-18 01:08:18 +00:00
Oni
6247d42971 Merge branch 'musicdef-update' into 'master'
First Musicdef changes in preparation for music test

See merge request KartKrew/Kart!812
2022-12-18 00:28:23 +00:00
Sal
60d2f250b7 Merge branch 'broly-ease' into 'master'
Use sinusoidial interpolation for Broly ki

See merge request KartKrew/Kart!811
2022-12-17 23:44:16 +00:00
Sal
b02aa713d3 Merge branch 'slightly-better-colorize' into 'master'
Slightly improve colorize's luminance method

See merge request KartKrew/Kart!810
2022-12-17 23:44:01 +00:00
toaster
5f9854e898 First steps to making battle maps cup-based.
* Permit a map existing in multiple cups, rather than I_Error
    - The reason we didn't permit this before was because of marathon plans/advancemap next.
    - To that end, in that progression type, a map is only considered in its first valid cup.
2022-12-17 19:16:18 +00:00
toaster
ac423b3461 Further changes to musicdef based on discussion with Gunla
- Add "author" and "originalcomposers" fields
    - "author" is for remixes and original compositions, can be ommitted
    - "originalcomposers" will not be visible mid-game, but will be visible in music test. Stores original sound team info
- Store all strings as Zone memory instead of static arrays, since not every field will be relevant for every track
2022-12-17 17:36:44 +00:00
toaster
81fec17bb4 First Musicdef changes in preparation for music test
- Add `title` field, to permit seperation from `source`
- Store current displayed string as zone memory, to prevent repeated recalculation
2022-12-17 16:39:10 +00:00
James R
45dad16e4c Kill mine when running into it during explosion state
Fixes punting a mine if you run straight into it while
invincible.
2022-12-17 00:09:56 -08:00
Sally Coolatta
107ec27846 Go back to the old one, but gamma correct it
Did more research into the subject, the formula I used before was fine and was just expecting gamma correction.
2022-12-15 22:29:38 -05:00
Sally Coolatta
4feba88327 Slightly improve colorize's luminance method
Before I was using coefficents from another formula I forget the source of, but over time I've stopped liking how it looked -- just considers greens far too bright. Here I'm trying out BT.601 coefficents instead (https://en.wikipedia.org/wiki/Rec._601).

These are also the coefficients Doom itself used for invulnerability's invert effect (if you ignore the typo Carmack made :p), so this checks out.
2022-12-15 22:08:29 -05:00
Sally Coolatta
5ffcfb558f #define BOOL boolean -> #define boolean BOOL 2022-12-15 20:54:15 -05:00
Sal
1b4c910cbf Merge branch 'cmake-sources' into 'master'
Move sources list from Sourcefile to CMakeLists.txt

See merge request KartKrew/Kart!795
2022-12-16 01:08:40 +00:00
Sally Coolatta
3f2209b853 Newly added files to CMakeLists.txt 2022-12-15 19:55:29 -05:00
Sally Coolatta
38d8281a6b Merge branch 'master' into cmake-sources 2022-12-15 19:54:59 -05:00
Sal
03b37e2871 Merge branch 'deterministic-roulette' into 'master'
Deterministic roulette

See merge request KartKrew/Kart!808
2022-12-16 00:50:45 +00:00
Sal
aa29ac5ada Merge branch 'enable-cxx' into 'master'
Enable C++17 additionally with Catch2 unit testing

See merge request KartKrew/Kart!807
2022-12-15 22:54:27 +00:00
Sally Coolatta
05413eeb2d Add proper comments for each function
(I think this is the only code style I want to actively enforce :p)
2022-12-15 16:19:06 -05:00
James R
01f8fb3233 Use sinusoidial interpolation for Broly ki 2022-12-15 05:16:19 -08:00
toaster
eb15f3f428 Forgot V_6WIDTHSPACE in thin strings for Statistics + SECRET_ALTTITLE preview 2022-12-15 12:43:52 +00:00
James R
7f569fe168 Rename K_SpawnBrolyKi to Obj_SpawnBrolyKi, move to objects/broly.c, spawn MT_BROLY 2022-12-15 04:14:38 -08:00
Sally Coolatta
6554c8bfb1 Improve scope handling of the roulette
All of the player_t references are now full-const instead of const pointer after a certain point. This is because I've made two mistakes so far of modifying the player with this, when it's supposed to be safe to call for HUD as well.

Also uses this split to add a more efficient way to prevent multi-Shrink/SPB.

Also handles NULL player better, for the sake of Battle's K_CreatePaperItem.
2022-12-15 02:13:46 -05:00
Sally Coolatta
167df6cca7 Remove item roulette between maps 2022-12-15 01:44:09 -05:00
Sally Coolatta
ffe9d5cd1d Properly support small splitscreen itembox 2022-12-15 01:41:34 -05:00
Sally Coolatta
f7e53ec811 Cleanup lots of the older roulette code
- Most of it now requires a reference to itemroulette_t, rather than copying all of the variables over.
- Increased the effect of Frantic Items, as the old scaling was made extremely low because  item distance was exponential back then.
- A lot of variables are pre-calculated in itemroulette_t instead of redoing the calculations every time (player count, first place's dist, etc)
- Make most of these functions only accessible by k_roulette.c
- Even when single items get forced into your roulette, the Super Ring Debt effect can happen
- Make the game support setting single items from other gametypes (Pogo Spring-only races work now)
- Fix some item distances not accounting for scale
- Prevent multiple of certain items from rolling at once; Shrinks (not a big deal) and SPBs (OH GOD NO)
2022-12-15 01:23:23 -05:00
James R
c32134849f Merge branch 'clipping-rectangle' into 'master'
Clipping rectangle

See merge request KartKrew/Kart!806
2022-12-15 04:11:56 +00:00
Oni
f4ab4d753d Merge branch 'broly' into 'master'
Broly's ki on explosions

See merge request KartKrew/Kart!809
2022-12-15 03:56:39 +00:00
James R
b97c8cd176 Make explosions louder from a distance 2022-12-14 19:54:33 -08:00
James R
130953fc7e Add sfx to Broly ki 2022-12-14 19:54:33 -08:00
James R
9017ca1c20 Delay mine explosion sound until after Broly ki 2022-12-14 19:54:33 -08:00
James R
2d52e4a047 Colorize Broly ki to player color 2022-12-14 19:54:33 -08:00
James R
2ec29b2586 Adjust mine and explosion to center Broly ki 2022-12-14 19:54:33 -08:00
James R
34dec00539 Add K_SpawnBrolyKi, green circle shrinks during explosion hitlag 2022-12-14 19:54:31 -08:00
toaster
88d41f6721 SECRET_ALTTITLE
My final indulgence for this branch. One cvar that swaps a patch
2022-12-14 20:18:53 +00:00
toaster
e10df0ee68 Gamedata minor version
Matches Profiles, etc (including the funny "from the future" alert)
Also updates major VERSIONCHECK, so when this starts getting tested amongst the devteam it'll be explicitly not cross-compatible
2022-12-14 18:06:21 +00:00
toaster
42f4f28e06 Statistics menu
Relatively quick port from v1., but with under-the-hood changes to match the Emblem/Medal and Extra Medal reworks. We can make it prettier (and contain more data) later.
2022-12-14 17:53:35 +00:00
toaster
2fbbe52ded Cache level ID for Emblems, too 2022-12-14 17:50:00 +00:00
toaster
c7db580338 Remove debug print from Unlockable SOC color parse 2022-12-14 17:31:10 +00:00
toaster
c693be47f8 Fix possible out of bounds memory access for M_MapLocked 2022-12-14 17:30:39 +00:00
toaster
6545b693d4 Make level titles capitalised on Challenges menu 2022-12-14 17:29:22 +00:00
toaster
f87db3cfab Further K_DrawMapThumbnail changes.
- Precache M_NOLVL.
- Make all width calculations relative to a lump 320 pixels wide, to make outdated map thumbnails much, MUCH more visible.
- Add K_DrawLikeMapThumbnail to draw a 320x200 patch like a map thumbnail (currently used only for RANDOMLVL).
2022-12-14 13:08:06 +00:00
Sally Coolatta
8d43acccb7 Use predetermined roulette speed for Time Attack 2022-12-13 18:03:44 -05:00
Sally Coolatta
6b8a011aa1 Flicker other items when selecting
Makes the lerp back to the middle less jarring, since the items that were just there won't disappear.
2022-12-13 18:02:21 -05:00
toaster
19ab3a8445 Only show hints if an unlocked tile is adjacent 2022-12-13 22:28:46 +00:00
toaster
2a35f7d197 Adjust y offset for challenge description 2022-12-13 22:20:24 +00:00
toaster
5bb149c47a Permit M_CheckNetUnlockByID if conditionset is zeroed 2022-12-13 22:20:06 +00:00
toaster
7081ffd509 Fixes and changes for Emblem system
- New `flags` field
    - Permits coexistence of var and flags
- `notMedal` boolean is now `GE_NOTMEDAL`
- New `GE_TIMED` flag
    - Disappears `var` tics after `starttime`
- Improved M_GetConditionString handling for specific Emblem grabs
- More explicit error handling for invalid Emblem
2022-12-13 22:19:37 +00:00
toaster
0e8c739efc Fix M_GetLevelEmblems to work with gamemap index (as it was used for) instead of mapheaderinfo index 2022-12-13 22:11:07 +00:00
toaster
dbb96dabd6 Fix M_UnlockableFollowerNum to work with followers whose names have spaces in 2022-12-13 22:10:35 +00:00
toaster
e2e6ce6108 Fix follower translation colormap to use TC_DEFAULT 2022-12-13 21:48:49 +00:00
toaster
117b4c6a7b GAMEDATA MainCfg SOC block adustment
Discussed in DMs
- All other `MainCfg` block properties require a custom gamedata (or be a main file) to be modified
- When a custom gamedata is set, clear all unlockables, conditionsets, and emblems are unconditionally cleared
- You may also Clear Levels only if a custom gamedata is used
2022-12-13 18:20:52 +00:00