Commit graph

549 commits

Author SHA1 Message Date
toaster
08a9f69ed6 Multiple BonusGame support
- Comma-separated (exactly the same as levellist)
- Not REQUIRED, you can still make cups with one or zero BonusGame entries
- Happens every (numlevels+1)/(numbonus+1) - 5 and 2 makes after rounds 2 and 4, for example
2022-11-25 22:31:55 +00:00
toaster
44eb099cfb Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into special-stages 2022-10-11 15:44:32 +01:00
toaster
d364e5a5f6 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into rename-kart-commands
# Conflicts:
#	src/d_netcmd.c
#	src/d_netcmd.h
2022-10-10 17:34:28 +01:00
Sally Coolatta
4ee46c74d7 Basic start on Special Stages 2022-10-01 21:32:55 -04:00
James R
08f9628e6c Remove kartminimap, kartcheck, kartcomeback cvars 2022-10-01 17:04:48 -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
VelocitOni
1d2e1420f6 Merge branch 'master' into cheats-streamline 2022-09-25 14:27:17 -04: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
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
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
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
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
VelocitOni
8a5707ad83 Merge branch 'master' into hostcode 2022-09-13 17:08:15 -04:00
SteelT
c64f36309a Support reading PICTURE/MINIMAP/ENCORE/TWEAKMAP lumps from a map resource
This supersedes the header-based method of fetching those lumps.
2022-09-12 17:29:15 -04:00
Sally Coolatta
524eff9fde Update new menus to use long names 2022-09-10 16:01:47 -04: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
JugadorXEI
f17f6b7525 banishing hell map forcing
# Conflicts:
#	src/d_netcmd.c
#	src/y_inter.c
2022-08-28 17:11:19 +01:00
Sally Coolatta
107622968e Merge branch 'master' into new-menus 2022-08-27 22:36:58 -04:00
Sally Coolatta
70c48fc0e9 Ping measured in frame delay instead of milliseconds
The part of HOSTMOD ministats that I wanted. Can go back to ms using the pingmeasurement cvar.

If Tyron wants to bring ministats fully in I think it'd be better to bring its ideas to replace the current HUD instead, ideally using the existing ping gfx, so they should bring it up with Oni
2022-08-24 21:02:37 +01:00
Sally Coolatta
ebb34ff9d4 Lap based power level 2022-08-14 06:00:37 -04:00
Sally Coolatta
36b8ab1eac Streamline cheats
"cheats" is a proper cvar now. Enabling it allows for cheats to be used any time, even in multiplayer, and disables gamedata saving. Turning it off undoes as many cheat commands as reasonably possible. Based a little bit off of some vanilla work I also did.

Many cheat commands are still SP-only, but can reasonably be allowed in netgames now if a net command is created for them.
2022-06-08 12:46:56 -04:00
Sally Coolatta
0e96aeec84 Add water particles 2022-06-05 06:24:55 -04:00
Sally Coolatta
4c3f89cdf7 Allow freesloting & editing precipprops
Allows for custom weather types.

In SOC:
```Freeslot
PRECIP_GROOVY

Weather PRECIP_GROOVY
Type = MT_PARTICLE
Effects = PRECIPFX_THUNDER|PRECIPFX_LIGHTNING```

In Lua:
```freeslot("PRECIP_GROOVY")

precipprops[PRECIP_GROOVY] = {
    type = MT_PARTICLE,
    effects = PRECIPFX_THUNDER|PRECIPFX_LIGHTNING
}```

Then in level header, simply set `Weather = PRECIP_GROOVY`.

Other properties are part of the object itself:
- Falling speed is set as the object's speed
- Sound ID is set via the object's SeeSound
- Sound frequency is set by the object's Mass.
2022-05-31 09:03:06 -04:00
toaster
d963dea4f9 Merge branch 'master' into new-menus
# Conflicts:
#	src/Sourcefile
#	src/deh_soc.c
#	src/m_menu.c
#	src/p_user.c
#	src/r_data.h
#	src/r_skins.h
2022-05-25 15:12:51 +01:00
Sally Coolatta
bc3a82b610 Merge branch 'master' into slope-lighting 2022-05-25 04:04:38 -04:00
Sally Coolatta
b6ed17d9fc Allow adjusting map contrast 2022-05-24 23:04:48 -04:00
Sally Coolatta
c8718b25ff REMOVE hyubgone + all of the other bullshit we did to try and make it show up less 2022-05-22 21:17:14 -04:00
toaster
73dabaeab6 Merge branch 'master' into new-menus
# Conflicts:
#	src/d_clisrv.c
#	src/deh_soc.c
#	src/lua_baselib.c
#	src/m_cheat.c
#	src/m_menu.h
#	src/y_inter.c
2022-03-29 17:14:38 +01:00
toaster
8de92e8dca Merge branch 'master' into boss
# Conflicts:
#	src/k_bot.c
2022-03-17 16:58:42 +00:00
toaster
6e7adedaa0 Make the Kart TICQUEUE system closer to the 2.2 BACKUPTICS system.
* Rename TICQUEUE to BACKUPTICS.
* Add CLIENTBACKUPTICS to limit the time gap players can send tics in at once
    * This likely means freezes are more possible, and this variable could be raised later, but prevents some potential duplication in the extrapolerated tic.
2022-03-14 19:24:07 +00:00
toaster
b9acad707e Restore the v1 record attack critera (maps available by default), whilst also now allowing for specific maps to opt out. 2022-03-12 22:31:52 +00:00
toaster
4a2efd3000 Fix a few basic mistakes.
* Don't forcibly go to a race map if you're exiting a boss and would otherwise return to the title screen.
* Yes, there are four basc TOL's now, not three.
* Title card string for ZONE should be right aligned.
2022-02-27 17:07:56 +00:00
toaster
c1f3237157 Boss API + assorted relevant bugfixes, will go over the featureset of this branch with a fine toothed comb when it's time to write the merge request description so this is all you're getting right now 2022-02-24 21:19:03 +00:00
Sally Coolatta
cd8862f0bc New input handling
Events have a player ID instead of adding billions of keys for separate gamepads. Axis movement (mouse movement, analog sticks) now are counted as keys, so axes don't need to be separately implemented for all controls. Game controls emulate a Saturn controller (some of the external functions like screenshot / gif should be readded, but I got lazy)

This will allow later us to save a config for a controller that can be reused for any player slot, which is one of the main goals for profiles.

Only just enough was made to use the new input system to make it compile. Menus in this branch should aim to move to using PlayerInputDown entirely, instead of using hardcoded keys & simply remapping to those
2021-11-26 14:56:25 -05:00
Latapostrophe
f2f0a6cbe2 New titlecards 2021-04-30 18:11:36 +02:00
toaster
b3d006b093 structs gunched 2021-04-17 00:27:13 +01:00
Sally Coolatta
de1f67b72a Use strings in the map header for next level, marathon next, thumbnails, minimaps, encoremaps, and tweakmaps 2021-04-09 21:10:46 -04:00
Sally Coolatta
359cf86efb Merge branch 'master' into big-large-map-markers 2021-04-09 19:49:33 -04:00
James R
1eca138b21 Revert "Rumble rumble"
This reverts commit c82ac33c0c.
2021-04-06 16:25:25 -07:00
James R
04b6911e21 Merge branch 'sloped-camera' into 22-merge-again 2021-04-01 20:55:22 -07:00
Sally Coolatta
fed0e0f9e5 Issue #133 thing 2021-04-01 21:09:30 -04:00
Sally Coolatta
9d7ec0ab8f Merge SRB2 next
Probably doesn't compile yet, but I got rid of all of the conflicts for anyone who wants to take a stab at it.
2021-02-27 05:18:36 -05:00
Sally Coolatta
4d108930a9 Update position nums to use additive
Looks far more colorful this way! By default it is additive... but like SMK, there is a map header option for subtractive, intended for maps with white roads.
2021-02-02 19:58:07 -05:00