James R
3491bd0b1d
Add Battle monitors
...
- Includes a struct definition for symmetrical objects
made out of papersprite sides.
- Dimensions of papersprite sides are looked up using
sprite cache.
- Monitors may contain multiple types of items.
- Item RNG is deterministic from the time the monitor is
spawned but the item types are not stored in memory.
Instead the RNG seed is restored every time an item type
needs to be determined. Item types need to be determined
every time the icon on the monitor's screen changes and
when the monitor is popped and drops all its items.
- Monitors sparkle like emeralds if there is an emerald
inside.
- Monitors take damage from players simply bumping into
them. The damage scales up with speed and weight.
- Activating a lightning shield in proximity decimates the
monitor into being able to be destroyed in one hit by
anything thereafter.
- All throwable / deployable items destroy a monitor in
one hit.
2023-01-03 05:31:30 -08:00
James R
3549625095
Add item monitor states
...
SPR_MSHD
SPR_IMDB
SPR_MTWK
S_MONITOR_DAMAGE
S_MONITOR_DEATH
S_MONITOR_SCREEN1A
S_MONITOR_SCREEN1B
S_MONITOR_SCREEN2A
S_MONITOR_SCREEN2B
S_MONITOR_SCREEN3A
S_MONITOR_SCREEN3B
S_MONITOR_SCREEN4A
S_MONITOR_SCREEN4B
S_MONITOR_STAND
S_MONITOR_CRACKA
S_MONITOR_CRACKB
S_MONITOR_BIG_SHARD
S_MONITOR_SMALL_SHARD
S_MONITOR_TWINKLE
MT_MONITOR
MT_MONITOR_PART
MT_MONITOR_SHARD
2023-01-03 05:31:30 -08:00
James R
ae16f124db
K_GetTotallyRandomResult: use NULL roulette data
...
This fixes random paper items spawner RNG not advancing.
2023-01-03 05:30:53 -08:00
James R
339cb1e8b8
K_KartGetItemOdds: apply GTR_CIRCUIT checks
...
- No restriction on whether more than one player may
receive the same type of shield outside of Race.
- SPB is now technically allowed outside of Race, if item
odds permit.
- powerItems and assorted checks no longer apply outside
of Race.
2023-01-03 05:29:59 -08:00
James R
a37eccd708
Split powerItem etc conditions from K_KartGetItemOdds
2023-01-03 04:42:48 -08:00
James R
aab661cad8
Split shields and SPB special conditions from K_KartGetItemOdds
2023-01-03 04:42:48 -08:00
James R
5bdbbd1695
Comptime.cmake: escape \backslashes and "quotes" in git subject line
2023-01-02 20:06:30 -08:00
Oni
e400625da8
Merge branch 'broly-sigfpe' into 'master'
...
Fix Broly SIGFPE
See merge request KartKrew/Kart!841
2023-01-03 02:49:58 +00:00
Oni
46005089f1
Merge branch 'rulesify' into 'master'
...
Rulesify (resolves #375 )
Closes #360 and #375
See merge request KartKrew/Kart!836
2023-01-03 02:43:52 +00:00
Sal
2335c849fe
Merge branch 'monitors-prep' into 'master'
...
Misc. changes for the sake of monitors
See merge request KartKrew/Kart!805
2023-01-03 00:52:52 +00:00
Sal
3f6cc8a183
Merge branch 'cmake-build-type-titlescreen' into 'master'
...
Show CMAKE_BUILD_TYPE on title screen
See merge request KartKrew/Kart!849
2023-01-03 00:51:30 +00:00
Sal
cab15b7d07
Merge branch 'file-and-header-fix' into 'master'
...
File and header fix (resolves #370 )
Closes #370
See merge request KartKrew/Kart!848
2023-01-03 00:40:38 +00:00
toaster
e73e0bd835
Don't treat players with 0 lives that are exiting (definitely just completed a race) as irrelevant in P_CheckRacers counts
...
Fixes special stages not booting you back to the title screen after running out of lives on them
2023-01-02 20:20:47 +00:00
toaster
26f3490ba8
Increased memory safety with cupgrid memory allocation
...
Also clearer variable name for length of cupgrid page in memory
2023-01-02 13:32:12 +00:00
toaster
4b9797fe26
Correct for recursive iteration of multiple mines in succession clobbering filescope minehitlag
2023-01-02 13:08:11 +00:00
James R
5887c36111
Show CMAKE_BUILD_TYPE on title screen
...
Includes a hint if optimizations may have been turned off.
2023-01-02 01:46:05 -08:00
James R
8a92f03f7b
Set fuse for Battle items
2023-01-01 18:38:53 -08:00
James R
71004d4b46
Halve spawn time for Battle items
2023-01-01 18:38:53 -08:00
James R
3965f77763
Add BATTLE_SPAWN_INTERVAL
2023-01-01 18:38:53 -08:00
James R
6eb8da1a56
Add K_GetTotallyRandomResult, for battle item spawners
2023-01-01 18:38:53 -08:00
James R
a94e18c277
Add K_UpdateMobjItemOverlay
2023-01-01 18:38:53 -08:00
James R
43aa162fcb
Add K_GetChaosEmeraldColor
2023-01-01 18:38:53 -08:00
James R
2e4b5bd061
Clean up P_FuseThink flicker condition
2023-01-01 18:38:53 -08:00
toaster
718eb8b11f
Permit losing a life when exited if the player has PF_NOCONTEST
2023-01-02 00:54:24 +00:00
James R
151dccf32f
Parity between title screen and menu version info
2023-01-01 15:40:51 -08:00
toaster
c10bd068de
Fix loading a map in a seperate file before loading a file with the relevant header
2023-01-01 23:39:28 +00:00
Eidolon
d13f2c34b9
Merge branch 'cxx-foundations' into 'master'
...
Add SRB2_ASSERT, srb2::NotNull
See merge request KartKrew/Kart!843
2023-01-01 21:05:51 +00:00
Eidolon
2e229dcdde
Merge branch 'discord-rpc-internal' into 'master'
...
cmake: build discord-rpc internally
See merge request KartKrew/Kart!846
2023-01-01 20:54:56 +00:00
Eidolon
19c5711092
cmake: build discord-rpc internally
2023-01-01 14:50:52 -06:00
Sal
21774564da
Merge branch 'fix-c++-strcasestr' into 'master'
...
Fix strcasestr redefine warnings for G++
See merge request KartKrew/Kart!844
2023-01-01 19:41:14 +00:00
toaster
8f78b37e57
Fix yellowmap not being included
...
Was going to `#include "console.h"` but not worth it for literally one placeholder index
2023-01-01 16:02:55 +00:00
toaster
a020ea86c8
Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into rulesify
...
# Conflicts:
# src/k_boss.h
# src/k_specialstage.h
# src/y_inter.h
2023-01-01 16:02:05 +00:00
toaster
4bbe3d7177
Draw Rings/Lives HUD even when not GTR_CIRCUIT
2023-01-01 14:55:58 +00:00
toaster
d5cd4f6798
Make placeholder for vote screen gametype color yellowmap[0] instead of 255 cyan
2023-01-01 14:54:58 +00:00
toaster
42a6b03e48
Remove "circuitmap"
...
An effectively useless global scope boolean that literally checks for the presence of a finish line, created in and used only by things we inherited from vanilla SRB2
2022-12-31 23:27:59 +00:00
toaster
84b066245e
Demo savemode text is consistent colour now
2022-12-31 23:14:43 +00:00
toaster
425a02d09b
Make GTR_BUMPERS less monolithic
...
* Battle-like item box respawn handling inverse of GTR_CIRCUIT
* Make battle fullscreen overlay forbid GTR_CIRCUIT
* Make GTR_ITEMARROWS actually do something
* Make everything related to points actually use GTR_POINTLIMIT
* Fobid sphere addition without GTR_SPHERES, to mirror ring addition forbidding
2022-12-31 23:12:41 +00:00
toaster
c23a2d8dca
Don't force a reset of the level in GTR_BUMPER when lonesome if not GTR_CAPSULES
2022-12-31 22:49:20 +00:00
toaster
3357f56c9e
G_RandMap should consider & all valid flags for gametype, not ==.
2022-12-31 22:44:49 +00:00
toaster
94bcf79710
Restrict collecting rings in GTR_SPHERES, not GTR_BUMPERS!
2022-12-31 22:34:19 +00:00
toaster
98646ef65b
Fix arrangement of gametype rules between SOC and constants
2022-12-31 22:33:09 +00:00
toaster
36d6fcaba4
Add a preview for Special Attack unlock type
2022-12-31 21:43:39 +00:00
toaster
05241341b8
Remove the last few instances of gametype-specific colorisation
2022-12-31 21:38:52 +00:00
toaster
a2c5ff6ac8
Remove the duplication of levellist.netgame into cupgrid.netgame
2022-12-31 20:56:00 +00:00
toaster
e0c4c235df
Move "return" in "Are you sure you want to return to the menu?" to the next line, to balance the lines out a little better
2022-12-31 20:34:11 +00:00
toaster
76ea72ceac
Prevent entering the cup or level select if there's no valid maps to pick from.
2022-12-31 20:33:31 +00:00
toaster
c857153c29
Unstaged closing brace
2022-12-31 19:03:13 +00:00
toaster
6b18f869b9
Prevent a special stage win by sneaking ahead of the UFO to the goal line
2022-12-31 19:02:22 +00:00
toaster
5b027ff2fe
Instead of preventing lives for GTR_CAPSULES, prevent them for it being GPEVENT_BONUS
2022-12-31 19:00:52 +00:00
toaster
a86ed5c6cb
Rework the conditions for the previous commit
...
- The "never force a retry" condition is now `!G_GametypeUsesLives()`
- In GT_SPECIAL *and* GT_VERSUS, check for K_IsPlayerLosing before retry, instead of bespoke check
2022-12-31 18:59:56 +00:00