Commit graph

167 commits

Author SHA1 Message Date
NepDisk
0fcf7c7dbd Port small minimap icons and minimap nametags from saturn/snowy, add minimap angle reticle toggle 2025-02-20 20:32:18 -05:00
NepDisk
71225707bf Port freeplay, grow music and invin music toggles from saturn 2025-02-20 18:12:03 -05:00
NepDisk
fba4f40968 renanble minimapdot drawing code 2025-02-18 19:26:16 -05:00
GenericHeroGuy
247165d29e Fix compile errors 2025-02-18 23:48:18 +01:00
toaster
8ed510ca88 Precalculate as much shared minimap/automap data on level load as possible
- `P_InitMinimapInfo`
    - Writes to `p_local.h` extern struct
    - Handles everything previously distributed across multiple K_drawKartMinimapIcon calls (and most of AM_findMinMaxBoundaries)
- Reduces complexity of drawKartMinimapIcon significantly
- Last prerequisite before implementing user-placable minimap boundaries...
2025-02-18 23:48:18 +01:00
toaster
017e62f4b2 New console command "minigen"
- Generates "MINIMAP.png" in your srb2home
- Uses inherited automap code to render to a temporary buffer
    - Because am_map.c is a mess of filescope static variables right now, this only works when the automap is disabled.
- Currently an equal alternate method to SLADE's map image export, but because we're in control, additional features can be added later...
    - TODO: Off vertically by one pixel on GHZ. Otherwise effectively identical in shape
    - TODO: the colours are rancid, I wonder if they were even updated for the 2.2 palette

Related:
- Use identical linear-time mechanisms for detecting borders of map geometry between automap and minimap
    - Automap was previously using iteration over all vertices
    - Minimap was previously pointlessly writing min/max values twice
2025-02-18 23:48:18 +01:00
toaster
07c1fbf426 Move two of the three remaining NUMMAPS arrays part of the mapheader_t struct
- mapvisited and recorddata_t (previously mainrecords)
- Changed how gamedata is saved and loaded
- Change the versioncheck (funny hex provided by chengi) AND call it `developringdata.dat` in develop builds
- Fix a bunch of off-by-ones in condition and emblem data
ALSO, for Time Attack:
- Fix menu not showing off your times
- Now save times even when gamedata modified, since the menu didn't care (come back to it?)
- Don't save times or do intermission screen if the Capsule Attack ended because you lost all your bumpers
- Fix a crash adding ghosts in Capsule Attack
2025-02-11 03:47:36 +01:00
NepDisk
56745d621b Toggable Lap Emblem Animation 2025-02-09 18:45:53 -05:00
NepDisk
f5de319fae Implement stplyrnum and refactor K_drawBattleFullscreen to use it
Thanks Saturn and GHG as per usual
2025-02-09 18:45:53 -05:00
NepDisk
78751d9659 Uncap input display 2025-02-09 18:45:53 -05:00
SteelT
14e5796cf2 Support reading PICTURE/MINIMAP/ENCORE/TWEAKMAP lumps from a map resource
This supersedes the header-based method of fetching those lumps.

(G: a LOT of creative liberties... but i'd rather this thing compiles)
2025-02-07 02:41:06 +01:00
NepDisk
1a668e0ab5 Merge pull request 'Rework Rings hud to use original assets.' (#20) from ringrework into ACS2
Reviewed-on: https://codeberg.org/NepDisk/blankart/pulls/20
2025-02-01 15:29:51 +00:00
NepDisk
de1fc65df3 Ring rework 3 2025-02-01 10:25:38 -05:00
NepDisk
a18cffeade Revert "Merge branch 'nukelaps' into v2dev3"
This reverts commit d1b0358ac8, reversing
changes made to b56b79db15.
2025-01-31 19:34:11 -05:00
NepDisk
b70834374d Ring rework 2 2025-01-31 19:22:55 -05:00
NepDisk
4e926d3466 Ring rework 1 2025-01-31 03:06:58 -05:00
NepDisk
c3aa2075d3 Shuffle Speedometer values to be like saturn 2025-01-28 12:04:34 -05:00
NepDisk
a148d4e17b Seperate out itemflags 2025-01-27 12:24:19 -05:00
NepDisk
b77977ef7e Fix legacy distance odds 2025-01-23 11:57:35 -05:00
NepDisk
92d86be813 Implement distance based itemodds when legacy waypoints are in play 2025-01-22 13:15:42 -05:00
NepDisk
ac3e8827a7 Rename back to thundershield, update doomdata.h ml_flags, update constants 2024-12-31 01:31:03 -05:00
NepDisk
c68b60a67a Fix direction dot and color 2024-12-27 14:57:48 -05:00
James R
3db50f6b6b Draw MMAPDOT in front of players' facing angles on the minimap 2024-12-27 13:19:39 -05:00
James R
85ce609374 Show waypoints on the minimap, if debugwaypoints is enabled
- Uses in level waypoint colors:
  - Green for player's next waypoint
  - Pink for shortcuts
  - Gray for disabled waypoints
  - Yellow for ego orb
  - Blue for ordinary waypoints
- The player's next waypoint appears slightly larger
2024-12-27 12:23:26 -05:00
NepDisk
3622b78b3e Readd SPB karma modes, remove every hit rewarding bumpers, allow flashtics again 2024-12-17 17:57:47 -05:00
NepDisk
8dcaba2d43 Basic work to restore the wanted system 2024-12-17 10:54:22 -05:00
NepDisk
7bdf9633bc Remove emeralds from battle 2024-12-17 10:13:09 -05:00
NepDisk
e1720e7b3a Remove overtime stuff 2024-12-17 00:47:36 -05:00
NepDisk
4b1324da69 Remove Battle capsule stuff and turn it into Item Breaker
You have to smash every itembox in a map as fast as you can. When you mash you get a pogospring and waiting gives a sneaker
2024-12-17 00:24:20 -05:00
NepDisk
9dee047420 Minor fixes 2024-12-09 17:21:46 -05:00
NepDisk
33e0954002 Revert 'Remove FIN'
This reverts commit d970747c85.
2024-12-09 17:21:46 -05:00
NepDisk
049c182288 Massive warning clean up 2024-10-23 00:01:03 -04:00
NepDisk
d22db75409 2.1 palette pt 1
this is a work in progress conversion to make the engine once again use the srb2 2.1 palette
2024-10-14 02:59:07 -04:00
NepDisk
f65336ae72 Clamp these values to prevent a crash in the opengl renderer 2024-10-09 15:40:00 -04:00
NepDisk
7941448e59 Do lapping how it was in v1. zero = one rather then one = one
this mostly works but now maps using nothing but waypoints allow you to gain a free lap on racestart. This seems like i would need some sort of lap validation for the new waypoint system.
2024-10-09 11:47:40 -04:00
NepDisk
000c5cf15a Lua indecent exposure 2024-10-04 15:58:46 -04:00
NepDisk
b94b47abb5 Fix minimap fade-in 2024-09-04 13:41:51 -04:00
Sally Coolatta
3c274581c7 Add currentwaypoint 2024-09-02 05:34:29 -04:00
NepDisk
31205ce934 GTR_FREEROAM and Fix players constantly JUSTHITFLOOR when walking slowly at the top of slopes 2024-08-19 00:28:36 -04:00
NepDisk
6b6ea4f8d2 Use Fade instead of slide for hud elements 2024-08-17 20:40:31 -04:00
NepDisk
097109525a Fix transparnecy on position graphic 2024-08-16 11:23:05 -04:00
NepDisk
05e3b8bf6a Remove unused function I added 2024-08-13 01:14:30 -04:00
NepDisk
860a0cf31f Revert hyudoro and remove now unused code 2024-08-10 18:09:36 -04:00
Wumbo
d2f630aff4 Fix free play text position 2024-08-07 16:06:42 -04:00
NepDisk
51178216e2 Remove trick panel leftovers 2024-08-05 12:24:00 -04:00
toaster
5f8d231340 Add extra minimap icons
- Battle Capsules for Break The Targets, to improve conveyability
- No Contest players have a special X icon
Also fixes a few issues with minimap rendering
- obviously written before netsplits and bots
- mixing up array indices and loop iteration for local players
- mixing up SPB object and target
- old version of hyudoro with double time in Race
- using explicit gametype comparisons instead of gametype rules
- SPBs with hitlag disappeared from the minimap
2024-08-05 00:44:36 -04:00
toaster
9016f65440 Support alternate gameplay events during GP
- Implementation details:
    - grandprixinfo.eventmode is the reference point
    - All bots have spectator applied and removed at map start depending on eventmode, and I've done my best to guard against side effects of not removing them entirely
    - You shouldn't turn off grandprixinfo.gp when turning on things like specialStage.active or bossinfo.boss when pursuing eventmode behaviour
    - Probably needs to be integrated into XD_MAP for any future netplay support, is currently disabled.
    - You technically don't have to assign a Capsules map to be the bonus and a Special Stage to be the special. A Capsules map can be assigned to a Special Stage too, and a Boss can be assigned to either of them.
    - Special Stages are still just as incomplete as they were before.
- Break the Capsules has special behaviour.
   - Timelimit starts at 20 seconds.
   - Earn 10 seconds (plus a little extra cheaty time) every capsule you destroy.
   - WIN + extra life if you bust all the capsules, COOL if you get some but run out of time, LOSE if you lose your bumper or run out of time without breaking a single capsule.
   - Supposed to also give you rings, but ran into a LOT of difficulty with this and didn't want to commit half-baked stuff, so it'll be a later project.
Also:
- Fix a long standing bug where totalring was reset between maps, preventing the sum from adding up across GP rounds and depriving you of extra lives you were owed.
- Fix an issue where Break the Capsules record attack was KARTSPEED_HARD.
- Send timelimitintics in savegames, since it's handled seperately now.
2024-08-05 00:41:06 -04:00
NepDisk
47cda284e6 Remove steering, use v1 turnvalue calcs, remove handleboost 2024-08-04 10:16:51 -04:00
NepDisk
dec535e42e Assorted fixes
adds back stuff that was removed that is needed. Also brings tries fixing percentage
2024-08-03 22:45:35 -04:00
NepDisk
1c16abadf6 implement water panels and add pogo springs to terrain 2024-08-01 17:25:46 -04:00