Commit graph

20872 commits

Author SHA1 Message Date
NepDisk
437bd25157 Implement PF_SLIDING support 2025-02-21 18:41:18 -05:00
NepDisk
842b7e85b3 Use Kart number here for light_contrast default 2025-02-21 17:03:11 -05:00
NepDisk
0d6aad827b Begin work on making custom lighting optional 2025-02-21 16:51:56 -05:00
NepDisk
bb31da5053 Update tracy and add libbacktrace library
libbacktrace is not in use
2025-02-21 14:52:05 -05:00
NepDisk
ccaf4f8e63 Add More Tracy Zones 2025-02-21 13:58:41 -05:00
NepDisk
64f2ae0f55 Push Kartspeed constants to lua 2025-02-21 12:58:59 -05:00
NepDisk
58151ed644 Expose more globals as writeable 2025-02-21 12:55:44 -05:00
NepDisk
94d192b1da Implement item breaker 3 item limit 2025-02-21 12:45:59 -05:00
NepDisk
c9f02b8e76 Rewrite comments to be accurate 2025-02-21 11:25:46 -05:00
NepDisk
6a03779b05 aggresive ring duration reduction from final RR 2025-02-21 00:02:18 -05:00
NepDisk
dac6374b0a Don't apply tighter minimap angle reticle if minimap names are on 2025-02-20 20:41:59 -05:00
NepDisk
fee2700b87 Whoops copypaste mistake 2025-02-20 20:35:59 -05:00
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
7a186c057d Remove unnecessary Z_Calloc from HWR_AddPolyObjectSegs
https://github.com/Indev450/SRB2Kart-Saturn/pull/78
2025-02-20 17:53:39 -05:00
NepDisk
e6913db517 Force wall transfering on RR maps 2025-02-20 15:03:31 -05:00
GenericHeroGuy
160897f5ca mapcompat + udmf_namespace = mapnamespace 2025-02-20 19:49:13 +01:00
NepDisk
40b508e3ce Add bot lshield/bshield prediction error
ac119e42ff
2025-02-20 09:37:42 -05:00
NepDisk
a0d2983b5b Handle How RingRacers uses args/scriptargs 2025-02-19 20:47:24 -05:00
GenericHeroGuy
48204a5ba7 Sprite frame/char compatibility 2025-02-20 00:32:31 +01:00
GenericHeroGuy
37969a3415 Add mapcompat global (AKA fix remapping on palette texture skyboxes)
Rather than setting udmf earlier in P_SetupLevel and continuing to awkwardly
check udmf everywhere, I'm adding a new global solely for compat purposes.

For now, have it mirror udmf to avoid supporting two binary formats.
(still keeping the 2.2 conversion code tho?)
2025-02-19 22:45:34 +01:00
NepDisk
72a1ba7080 Merge pull request 'Merge in some of Ring Racers' minimap improvements.' (#23) from rrminimap into ACS2
Reviewed-on: https://codeberg.org/NepDisk/blankart/pulls/23
2025-02-19 20:01:56 +00:00
NepDisk
fba4f40968 renanble minimapdot drawing code 2025-02-18 19:26:16 -05:00
GenericHeroGuy
0838417ebd Fix v.drawOnMinimap 2025-02-19 01:11:13 +01:00
NepDisk
24c0d8086a Make respawn function shut up and expose it to lua 2025-02-18 17:51:08 -05:00
GenericHeroGuy
39997e8c67 Fix compile again 2025-02-18 23:48:18 +01:00
toaster
c9b532ad84 minigen: Add black fragments to common objects on valid road
- Drawn underneath absolutely everything else, because it's the least specific of all the guides minigen can provide
- "Common objects" includes:
    - Rings/spheres
    - Waypoints
    - Item boxes/spots
    - Overtime kiosk
    - Rings
    - Item Capsules
- The above were chosen because they're a good distinctor between sectors that are valid to drive on and sectors that would be valid were there no impassable lines or massive height differences preventing the player from getting there.

Related:
- K_TerrainHasAffect now has a "bad only" check mode.
    - If true only report back for strong friction, any offroad, any damage, or stairjank.
2025-02-18 23:48:18 +01:00
toaster
1b163a93f9 AM_DrawWalls: correct issue with the planes to grab terrain from being incorrect (copypaste error) 2025-02-18 23:48:18 +01:00
GenericHeroGuy
247165d29e Fix compile errors 2025-02-18 23:48:18 +01:00
toaster
b4dcc12e4f Support for user-specified minimap bounds
The totally-not-a-secret reason I made this branch.
- doomednum 770 (associated with polyobject anchors 760/761 and skybox centerpoint 780)
- Place exactly two in a map to draw an implicit rectangle.
    - Supports top-left/bottom-right AND bottom-left/top-right placements.
    - I_Errors if you place too many (or only one).
- You don't *have* to have these, this is just a bonus if you're a map like Power Plant or CDSS1 negatively affected by your skybox.
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
ab58883d85 minigen command: Support -m(ultiplier) parameter
Supports values between 1 and 10, with 1 being the default.
If a multiplier greater than 1 is provided, the filename will take the form "MINIMAP-%d.png", where %d is the multiplier.
2025-02-18 23:48:18 +01:00
toaster
281265f777 AM_MinimapGenerate: return NULL if malloc fails 2025-02-18 23:48:18 +01:00
toaster
5cd0f14345 Add an explicit error for attempting to generate a preliminary minimap while the automap is open. 2025-02-18 23:48:18 +01:00
toaster
073c3ed4c2 Refactor in preperation for scaling feature
Return a `minigen_t` struct with explicit width and height instead of extending the UINT8 buffer by 2 to provide that information in a very datatype-limited way.
2025-02-18 23:48:18 +01:00
toaster
8269db8f99 Rework automap/minigen colours
- All pre-existing colours are now actually what the code says they should be for the 2.2 palette
- RR-specific colour changes.
    - Remove all noclimb-specific line colours
    - Render areas that can't be stepped up/down onto as walls
    - Add colours for
        - Tripwire (cyan, but not 0xff cyan)
        - Finish Line (grey)
        - FOF info (blue)
    - Use a low-intensity colour to signal possible offroad/hazard sector or stairjank step
- Rework to support drawing in multiple passes, so that information that is strictly more important (solid walls, finish line) will not be obscured at minimap resolution by nearby lines signalling offroad/stairjank

Related:
- Added K_TerrainHasAffect
    - Returns true if terrain has any properties which would affect the player's gameplay, false if not.
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
NepDisk
df5e3f76c1 Add safety fallback for respawn code 2025-02-18 17:29:57 -05:00
GenericHeroGuy
a8974a5f71 or just... check longname????? 2025-02-18 22:55:41 +01:00
GenericHeroGuy
7a9bb9deea Don't find old encore/tweak lumps for long map names 2025-02-18 22:48:23 +01:00
SteelT
a314db98dd Fix double-free in W_Shutdown 2025-02-18 16:19:56 -05:00
GenericHeroGuy
bfe1a253da Palette texture hack for palremap 2025-02-18 21:56:24 +01:00
GenericHeroGuy
d3d67d1d0e W_NeedPaletteRemap refactor because I'm stupid 2025-02-18 21:56:24 +01:00
NepDisk
283f5a5fc7 Prevent weather from I_Erroring in GL as well 2025-02-18 15:48:08 -05:00
NepDisk
dd4022ee51 Prevent weather from I_Erroring 2025-02-18 15:29:13 -05:00
NepDisk
b181133810 Fix streamersafemusic Cvar 2025-02-18 14:50:02 -05:00
GenericHeroGuy
71dd3666b8 Fix the other scrollers too 2025-02-18 14:49:24 +01:00
Sally Coolatta
08c67ab0e7 Spec 500 uses the same speeds as other scrollers 2025-02-18 14:33:29 +01:00
NepDisk
dcb3570475 Merge pull request 'Add support for longmapnames' (#22) from longmapnames into ACS2
Reviewed-on: https://codeberg.org/NepDisk/blankart/pulls/22
2025-02-17 22:38:05 +00:00
NepDisk
dc9a3b4d31 Use final version of 'W_CheckNumForMapPwad' 2025-02-17 17:27:38 -05:00