Commit graph

1631 commits

Author SHA1 Message Date
Sally Coolatta
80d9637dda devmode cheat online 2022-09-29 12:19:45 -04:00
James R
0444e70413 Rearrange player cheat flags
PC_GODMODE -> PF_GODMODE
PC_NOCLIP -> MF_NOCLIP
2022-09-29 02:23:07 -07:00
James R
36a40d0971 Refactor weapon pref into one place 2022-09-28 21:23:49 -07:00
Sally Coolatta
d7be3d3aca Add Duel objects
- Banana, Eggman Items, Proxi Mine, Land Mine, Hyudoro, and Drop Targets are now placeable in maps.
- By default, will only appear when in 1v1s. (Extra flag can be checked to enable spawning in all modes.)
- Most of these objects will need tweaks to account for being placeable now.
2022-09-27 22:43:45 -04:00
Sally Coolatta
85499045f9 Merge branch 'master' into cheats-streamline 2022-09-27 15:41:17 -04:00
James R
3d2f6770a5 Divide G_PlayerInputAnalog values by JOYAXISRANGE
Previously right shifted by 10, which should've been
equivalent to divide by 1024. It returned -799 or 800 for
a full turn in either direction though.

This commit lets turning values reach KART_FULLTURN in
either direction.
2022-09-26 20:44:09 -07:00
toaster
90578b2628 Fix G_UpdateVisited, this time in a forward-thinking way
- Check for if a single local player isn't spectator or no-contested.
- Clean up code to return early if exclusionary conditions are met, rather than one long if conditional bundling them together
2022-09-26 17:16:53 +01:00
Sally Coolatta
4165fae63f Merge branch 'master' into cheats-streamline 2022-09-25 17:29:38 -04:00
VelocitOni
6144c04909 Changed i to unsigned to match "numgamedatamapheaders" 2022-09-25 14:34:18 -04:00
VelocitOni
1d2e1420f6 Merge branch 'master' into cheats-streamline 2022-09-25 14:27:17 -04:00
Sally Coolatta
139d6f4a49 Merge branch 'master' into rng-states-2 2022-09-25 14:04:19 -04:00
SteelT
bf9bbaaec9 Add missing line feed 2022-09-25 00:17:46 -04:00
toaster
5c36e72115 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into rng-states-2
# Conflicts:
#	src/p_enemy.c
2022-09-24 20:29:53 +01:00
toaster
fe49543456 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into big-large-map-markers 2022-09-24 19:53:36 +01:00
Sally Coolatta
a60d48202f Merge branch 'master' into cheats-streamline 2022-09-24 14:32:15 -04:00
AJ Martinez
e10d6124d6 Merge remote-tracking branch 'origin/master' into new-spb 2022-09-23 22:20:24 -07:00
toaster
859375ce3d Disable all staffghosts code since the lumpname stuff needs addressing (but that'll come later) 2022-09-23 21:08:26 +01:00
toaster
fe2757cb44 Fix special map usage
- Free header on `CLEAR LEVELS` even if it's `tutorialmap`
- `titlemap` infinite recursion prevention Z_Free's instead of leaking
2022-09-23 20:59:02 +01:00
toaster
f5998c7624 Skip over locked maps/cups when getting nextmap
(carve out an exception for marathon mode, although we will probably want to lock that behind all cups available)
2022-09-23 20:52:51 +01:00
Sally Coolatta
117d791424 Merge branch 'master' into cheats-streamline 2022-09-23 14:38:54 -04:00
toaster
a4c73b204a Kill spstage_start and spmarathon_start 2022-09-23 13:07:59 +01:00
Sally Coolatta
f89d8d15c2 Properly separate SPB & Shrink cooldowns
Also refactors some of the result -> type & amount code
2022-09-23 03:35:18 -04:00
toaster
cb8becb2d3 Enforce maximum length of 63 for map lumpname
Also, in g_demo.c, use SKIPSTRING (instead of READSTRINGN into a discard buffer)
2022-09-22 17:34:02 +01:00
toaster
48e9138dda Refactoring ahoy
* Instead of doing constant G_MapNumbers when finding the relationship between maps and cups...
    * Add a cache of level IDs to cups, to go with the strings.
    * Add a cache of the cup pointer to maps, so we don't have to search through all cups to find our map. (done in P_InitMapData)
    * Pre-emptive work: G_IsSpecialStage and P_GetNextEmerald now reference cup data instead of a hardcoded ID set.
* Remove a bunch of old stuff from mapheaderinfo_t/associated, and reorder what stays
    * Countdowntimer? 💥
    * Startrings? 💥
    * sstimer/ssspheres? 💥
    * forcecharacter? 💥 (distinct from forceskin)
    * interscreen? 💥
    * sstage_start/end and smpstage_start/end? 💥💥💥💥
    * You've been blocked
* G_MapNumber now returns a special NEXTMAP_INVALID if not found, for more consistent reference.
* Incorporate a good chunk of the `edit-headers` branch. Can't clear maps individually because of the new restrictions on sequential mapheaders, but we can add a "disable in vote screen, not even for map hell/archive" flag to a map at some future juncture for equivalent functionality...
2022-09-22 17:14:41 +01:00
James R
bcdf41ec64 Remove PF_ATTACKDOWN/PF_ACCELDOWN/PF_BRAKEDOWN, use oldcmd.buttons 2022-09-22 08:49:44 -07:00
toaster
574cc6049f NUMMAPS is dead
Dynamically allocated mapheaderinfo. 1035 reserved slots in a google doc is a thing of the past
2022-09-21 23:01:58 +01:00
toaster
60355d9efd 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
2022-09-21 22:12:36 +01:00
Sally Coolatta
1563660a39 Add a few RNG classes
- PR_ITEM_ROULETTE: Used for item results
- PR_ITEM_RINGS: Flung ring direction
- PR_ITEM_SHRINK: Shrink gun offsets
- PR_PLAYERSTARTS: Battle mode player starts
- PR_TERRAIN: TERRAIN particles
- PR_DECORATION: Generic decoration
- PR_VOICES: Player voice sounds
2022-09-19 00:55:11 -04:00
Sally Coolatta
a60d4a13a1 RNG classes, take 2
Redone version of my old branch
2022-09-19 00:04:57 -04:00
toaster
7d990c4f15 Rework nextmap to be automatic
- Refactor significantly (now has its own func, `G_GetNextMap`)
    - If gametype uses cups, iterate through cups to find the current level, then grab the next valid level
    - If not, get the next valid mapheader for your gametype
    - SOC `nextmap`/`marathonnext` is not just deprecated but REMOVED
    - Hide the NEXTMAP_ constants again, but leave support dummied out for if we have them publically accessible again
- Also get rid of a bunch of OTHER mapheader stuff we're never gonna use
    - NiGHTS Grades? NOPE
    - Vanilla titlecard patches? NOPE
    - Boss music fadeout/replacement? NOPE
    - Select Heading? NOPE
    - You've been blocked.
- Don't show maps without lumps on the level select list
- this is me being petty, but making it NOTIMEATTACK in SOC instead of TIMEATTACK so we can reconsider the maps with/without them.
2022-09-18 20:00:28 +01:00
toaster
b68710faf2 Rework special nextmap events.
- G_MapNumber now handles special NEXTMAP_ nextmapspecial_t constants that exist at the end of the available type.
- Cleanup of G_DoCompleted
- Add bounds checking to the various SOC maincfg map starts (spstage_start, etc)
- Add lump checking to titlemap behaviour
2022-09-17 19:10:04 +01:00
toaster
8ea80d64ef Randmapbuffer now prepared for infinite maps
- Now a struct with zone-allocated buffer member
- Instead of bunging it on the end of the buffer, the time for G_SometimesGetDifferentGametype is its own struct member
2022-09-17 16:13:50 +01:00
toaster
d42812d5b5 Don't select a map - whether random (voting screen, randommap command, etc) or specific (map command) if it has no associated lump. 2022-09-17 14:08:11 +01:00
toaster
1a284ec7c6 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into big-large-map-markers
# Conflicts:
#	src/d_netcmd.c
2022-09-17 13:57:26 +01:00
toaster
7e17f5456c I_Error in all situations where mapheaders were previously allocated outside of SOC.
Also:
- improved error prints for SOC condition definitions
- improved bounds checking to use `nummapheaders` for iterating over mapheaderinfo
There are still situations that use NUMMAPS like mapvisited, randmapbuffer, etc, which need to be addressed before merger.
2022-09-17 13:07:48 +01:00
toaster
acc92ba4c9 Catch some areas that previously checked for map lump, but stopped doing so for a bit. 2022-09-17 00:02:54 +01:00
toaster
04e5cfd338 Fix cups.
* Required an adjustment of everywhere using G_MapNumber to return the raw header number, instead of off-by-one ala gamemap.
    * Fixing gamemap is a viable improvement for a future commit, but this commit is already pretty big.
    * Remove SCANTHINGS, since it used G_MapNumber and didn't work with long map names OR virtres anyways.
* Support freeing new information in CLEAR LEVELS maincfg event, since I tried to use that to test cups.
* Make Patch_Free's usability match Z_Free -- passing NULL is permitted and a no-op.
2022-09-16 22:51:02 +01:00
toaster
4f1bb14732 Extra catch to prevent SIGSEGV 2022-09-16 15:07:12 +01:00
toaster
46441092dc Address initial review comments + associated cleanup
- Grab thumbnail and minimap pictures even for base game maps
- Repair modified game event for replacement map load
- PU_STATIC thumbnail and minimap, freed on new file load lump discovery
- Fix W_CheckNumForMap to not SIGSEGV if no match
- Reduce the number of pointless map lump hunts, we've already got it stored
- Prevent use-after-free for map pictures on voting screen
- Cache "BLANKLVL" patch once
- Draw minimap on the time attack menu

Unfortunately cups are still broken and I'm not sure where to start on that, or if it's just not having a sample wad to test with that includes cups
2022-09-16 15:01:49 +01:00
VelocitOni
92cfb5a677 Just bringing it up to date w/ master
Got it to compile after some cleaning.
2022-09-13 19:17:39 -04:00
VelocitOni
8a5707ad83 Merge branch 'master' into hostcode 2022-09-13 17:08:15 -04:00
toaster
033d87fbe1 Adjust profile "guessing"
- Remove block from using connect with uninitialised profile. Instead, CL_ConnectToServer handles the guess entirely.
- Add splitscreen player initialisation in circumstances previously missing it
2022-09-13 12:46:27 +01:00
Sal
a7716b966a Merge branch '14plus-votechanges' into 'master'
1.4+ Voting Changes

See merge request KartKrew/Kart!655
2022-09-11 06:30:39 +00:00
Sal
94d7c497b0 Merge branch 'hooklib-port' into 'master'
Hooklib refactor ported and (mostly) squashed

See merge request KartKrew/Kart!662
2022-09-11 06:30:07 +00:00
Sally Coolatta
2fddc9f343 Merge branch 'master' into big-large-map-markers 2022-09-10 16:01:02 -04:00
toaster
975ed1f136 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into new-menus
# Conflicts:
#	src/d_main.c
2022-09-07 21:39:34 +01:00
James R
787b5283fc Fix big blunder by MEEEEEEE
Blame 37c3a55dd
2022-09-05 12:16:59 -07:00
James R
37c3a55dda Fix conflicts 522467a88 2022-09-05 11:56:30 -07:00
toaster
06e9bd5b0a Merge branch '14plus-mergeladder' of https://git.do.srb2.org/KartKrew/Kart into 14plus-votechanges 2022-09-05 15:41:05 +01:00
toaster
1f3ac199ae Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into 14plus-mergeladder 2022-09-05 15:32:02 +01:00