Commit graph

212 commits

Author SHA1 Message Date
toaster
09f7dc1350 * Store gravflip (resolves #206) and destscale in starposts. (Using the same field, taking advantage of the fact that object scale will always be positive!)
* Update the function signature of P_MixUp to accomodate both it and drawangle instead of doing it outside of the function.
* If the player is spawning from the start of the stage and it's from the ceiling, be in fall frames as requested (resolves #191).
2019-09-07 22:12:47 +01:00
Steel Titanium
16b17840d9 2D toggle command 2019-09-06 20:51:39 -04:00
TehRealSalt
f188c290e5 Start on new menus 2019-08-09 04:25:22 -04:00
Jonas Sauer
b7c783223a Fixed the thinkerlist issues by removing THINK_LIMBO. Delay-removed thinkers now stay in their list.
Also includes toaster's assorted fixes and improvements from target_painted_on_your_ass.
2019-07-13 01:42:03 +02:00
Nev3r
09ff071656 Fixed more mobj thinker iterator oversights and removed all mobj thinker function checks
Mobjs got their own thinker list after all, and disappearing thinkers are automatically purged from their lists and sent to the limbo list.
So it's safe to assume all thinkers inside the mobj list must be mobjs.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 16:39:57 +02:00
Nev3r
345984a396 Fix mobj list iteration oversights.
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 12:58:22 +02:00
Nev3r
baeda5060c Basic multiple thinker list implementation
Set up a main thinker list and a polyobject mover list to test things up. Works so far, networking as well.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-20 22:39:22 +02:00
fickleheart
f60e92aa70 Move public demo vars to a single struct 2019-03-24 21:32:15 -05:00
toaster
e3836bf772 Merge branch 'master' of https://git.magicalgirl.moe/KartKrew/Kart-Public.git into majormods 2019-01-21 21:56:49 +00:00
toaster
4a87838f06 * Refactor all instances of majormods = true; to route through G_SetGameModified, and catch a few spots I missed in the process.
* Make G_SetGameModified only console-print for major mods.
* Add amnesty to "major mod" detection while loading files with custom savedatas.
* Improved the console prints for command `isgamemodified`.
2019-01-17 22:01:28 +00:00
toaster
0037f5c91d First steps at implementing a mechanism that allows you to load non-cheaty good-faith mods such as custom characters with no Lua scripting, and play record attack with them. Features a few bad hacks and a few more areas of improvement; I'll try to iron them out before they hit next or master. 2019-01-15 19:01:55 +00:00
mazmazz
81352aece1 WIP 20190101 merge
d_netcmd.c
filesrch.c
m_menu.c
p_setup.c
p_spec.c
r_data.c
r_main.c
r_things.c
w_wad.c
w_wad.h
2019-01-02 01:09:15 -05:00
toaster
d5bddafd0f Move some sidemove/forwardmove checks to playsim code rather than have them happen in ticcmd generation.
pGetPlayerControlDirection has to die since it was the only other usage of sidemove, and wasn't even relevant anymore anyways.
2018-12-18 18:05:11 +00:00
TehRealSalt
4507ee18fd Merge remote-tracking branch 'srb2public/next' into merge-next 2018-11-29 08:49:50 -05:00
mazmazz
c91b2b4456 Update source copyrights to 2018 2018-11-25 07:35:38 -05:00
TehRealSalt
2485e25268 Game saves when you use the cheat
Because of other G_SaveGameData instances added in the last patch, this cheat can get saved anyway. Since this is just supposed to be convenience for server hosts, we might as well make it work like other console Kart racers and just make it save anyway!
2018-11-25 02:24:33 -05:00
Marco Z
633c28b28a VC build fixes 2018-11-20 21:54:20 -05:00
toaster
5e8799a965 Nuke a bunch of iteration things that have no purpose in SRB2Kart. A full explanation of my reasoning and what it affects is as follows.
p_inter.c -
	Everything to do with setting states for starposts
		In SRB2Kart, starposts are invisble. We don't need to loop through all thinkers just to set their states when there's no visible effect of the state-setting. In addition, it has no consequences for gameplay - starposts have long been silent here, and all checking is done regarding their health, not their state.
	Remove extremely low-traffic conditionals (MT_FLINGEMERALD collision height extension, for example)
		These objects serve no functional purpose during regular SRB2Kart gameplay. Why should every other object have to pay an admittedly minor performance hit just for them?
	Disable all mechanisms of damaging bosses or enemies with the player's physical contact
		With the exception of Sapphire Coast, no MF_ENEMY objects exist in the entirety of the standard roster. In addition, the conditions for damaging the enemies were impossible to achieve, because they required vanilla SRB2 mechanics such as "jumping", "spindashing", or "super". Therefore, they can be safely commented out.
	Disable NiGHTS-related material (excepting bumper, hoop, and wing-emblem objects)
		NiGHTS is fundamentally incompatible with regular kart gameplay and I believe was already broken. Therefore, any mechanism which enters, aids, or abets it can be safely disabled.
	Comment out Tag mechanisms
		Tag is the only vanilla multiplayer gametype which has sufficient gameplay depth and complexity (HEYOOOOOOOOO) to require dedicated thinking in and of itself in order to manage. This thinking is irrelevant to Kart's functioning, and can be neutered easily.
d_clisrv.c
	Comment out Tag mechanisms
		See p_inter.c
d_netcmd.c
	Disable several devmode commands which are irrelevant to SRB2Kart gameplay
		When investigating for references to NiGHTS material, I discovered that these remained untouched. In order to present a more coherent game, I have hidden the ones that serve no purpose for us.
	Comment out Tag mechanisms
		See p_inter.c
g_game.c
	Disable NiGHTS-related material
		See p_inter.c
	Disable some team-related material
		Teams are not present in SRB2Kart at present. Obviously we'd want to reconsider for future, but it doesn't need to be run right now.
	Everything to do with setting states for starposts
		See p_inter.c
m_cheat.c
	Disable several devmode commands which are irrelevant to SRB2Kart gameplay
		See d_netcmd.c
p_map.c
	Remove extremely low-traffic conditionals (MT_EGGSHIELD collision, for example)
		See p_inter.c
	Disable NiGHTS-related material
		See p_inter.c
p_mobj.c
	Disable P_EmeraldManager
		Power stones, despite their relevance in vanilla Match, are not in SRB2Kart's Battle. No management of nonexistent emeralds is required.
p_setup.c
	Everything to do with setting states for starposts
		See p_inter.c
p_spec.c
	Disable NiGHTS-related material
		See p_inter.c
	Everything to do with setting states for starposts
		See p_inter.c
p_telept.c
	Everything to do with setting states for starposts
		See p_inter.c
p_tick.c
	Disable some team-related material
		See g_game.c
	Disable P_EmeraldManager
		See p_mobj.c
	Do not run shields
		Shield objects are not run under the vanilla system; the Thunder Shield is a domain-specific recreation using a standard mobjthinker.
	Do not run special stages
		SRB2Kart does not have special stages.
	Comment out Tag mechanisms
		See p_inter.c
y_inter.c
	Disable some team-related material
		See g_game.c
p_user.c
	Disable NiGHTS-related material
		See p_inter.c
	Disable 2d movement for players
		2D mode? In a kart racer? :nick:
2018-10-03 17:04:41 +01:00
Monster Iestyn
a9882bfda4 Merge branch 'master' into hud-cleaning 2018-08-29 20:46:35 +01:00
Monster Iestyn
d130c48787 Fix typo introduced by changes to the setrings command 2018-08-29 20:46:08 +01:00
Monster Iestyn
3c65251bb6 Merge branch 'master' into hud-cleaning
# Conflicts:
#	src/y_inter.c
2018-08-29 16:39:02 +01:00
Digiku
66b4d0f929 Merge branch 'op-nights-bumper' into 'master'
Objectplace: Place NiGHTS Bumpers with the player's fly angle

See merge request STJr/SRB2Internal!166
2018-08-29 06:01:27 -04:00
Digiku
3c43ce46c6 Merge branch 'sphere-ring-concurrence' into 'master'
Change SETSPHERES console command to SETRINGS to handle player->spheres transparently

See merge request STJr/SRB2Internal!167
2018-08-29 04:24:23 -04:00
Monster Iestyn
dc6b52a449 Add INFLIVES macro, to make it easier to find infinite lives-related code 2018-08-23 20:09:39 +01:00
Digiku
20bb759ff6 Remove unnecessary totalring deduction condition
Because it would be triggered by !(maptol & TOL_NIGHTS) in the old code anyway
2018-08-17 09:11:59 -04:00
Digiku
9b0e9a58fe Revert "Checkpoint (unfinished): player->totalsphere"
This reverts commit 4aade072ef
2018-08-17 09:09:10 -04:00
mazmazz
6dd64bccbc Place backwards Bumpers with the correct Thing angle 2018-08-16 22:07:53 -04:00
mazmazz
5fdece424a Adjust vertical angle and forwards/backwards of NiGHTS bumper in objectplace 2018-08-16 16:51:48 -04:00
mazmazz
4aade072ef Checkpoint (unfinished): player->totalsphere 2018-08-16 13:11:32 -04:00
mazmazz
32939a11f1 Change SETRINGS to support player->spheres in NiGHTS 2018-08-16 12:13:57 -04:00
mazmazz
4b8fd01bc0 Revert "SETSPHERES console command for debugging/cheating"
This reverts commit 9e8784a376.
2018-08-16 11:34:57 -04:00
TehRealSalt
6cdbb7c896 Flashing tics length depends on speed stat
Change to speed-weight when the bump buff gets added
2018-08-11 00:12:41 -04:00
mazmazz
ef49700a49 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into op-nightshoop 2018-08-10 15:04:14 -04:00
mazmazz
9e8784a376 SETSPHERES console command for debugging/cheating
Fixed sphere spill bug where no spheres spill if player->rings is 0
2018-08-10 13:06:53 -04:00
SeventhSentinel
b18406aaa1 Disable viewheight cvar and vanilla's irrelevant first person HUD stuff, move Viewpoint HUD to a nicer spot 2018-06-26 11:33:54 -04:00
toaster
5fee30456f * Patch.pk3 as requested by literally everyone else on the team.
* Enable SECTORSPECIALAFTERTHINK since we probably really want to use that sloped lava wave in RVZ.
* Allow for infinite lives to be set via the setlives command/Pandora's Box.
* Refactor P_DoFiring(), with guidance from Sal.
* Correct the CRAWLA HONCHO\nCAN NOW BECOME\nSUPER CRAWLA HONCHO sliding movement in non-green resolutions.
2018-06-06 14:42:50 +01:00
toaster
e17fc2b0d3 * Almost everything except players and badniks get removed on deathpit collision, as requested by Nev (very useful for the Bridge). May need serious checking for mobjtypes this is safe to do for.
* Flames fall with flameholders.
* New modification to teleport cheat: -sp <val> <val> allows instantaneous jump to any starpost in the map, including spawnpoints as starpost index 0!
* Also, -ang <val> and -aim <val>, which can be combined with -nop to pivot on the spot.
2018-06-05 20:47:30 +01:00
toaster
849eeae3b9 MONSTER COMMIT.
OLD SPECIAL STAGES:
* Spheres in old special stages instead of rings!
* Individual timers in old special stages instead of a global one!
* Old special stages use a variant of the NiGHTS HUD now!
* Special stage damage in old special stages loses 5 seconds of time instead of 10 rings/spheres!
* All damage gained through old special stages is converted to special stage damage! As a consequence, the special spikeball has no need to be special anymore.
* Made emerald gaining function be based on special stage number rather than gained emeralds!
* Consistency with...

NiGHTS SPECIAL STAGES:
* Spheres now flash in bonus time. https://cdn.discordapp.com/attachments/400761370800422922/452590553100713984/srb20032.gif
* Sphere and ring mapthingnums are now less fucked up in 'em. (Rings are 300, same as usual, while Spheres are now 1706 replacing NiGHTS Wings.)

SPECIAL STAGES IN GENERAL:
* useNightsSS is now dead. Each individual special stage is now assessed for NiGHTS-mode behaviour based on maptol & TOL_NIGHTS.
* CRAWLA HONCHO\n CAN NOW BE\n SUPER CRAWLA HONCHO end tally modification now also includes a mini-tutorial on turning super. https://cdn.discordapp.com/attachments/400761370800422922/452844894113759233/srb20036.gif
* SONIC GOT A CHAOS EMERALD? https://cdn.discordapp.com/attachments/400761370800422922/452623869497573386/srb20034.gif

NiGHTS NON-SPECIAL STAGES:
* Colour Chips and Star Chips! Replaces Spheres and Rings of NiGHTS Special Stages.
* Colour Chips turn yellow in bonus time.
* Ideya!
* Its own "drowning" music!
* All of the object types for Dream Hill.
* GIF: https://cdn.discordapp.com/attachments/400761370800422922/452844894113759233/srb20036.gif

RANDOM BS:
* Turn super with the spin button instead of the jump button!
* Followmobj now correctly set with P_SetTarget instead of pointer assignment.
* Emerald hunt uses new sprites!
* Made unlock noise different from emblem gain noise! (It's the CRAWLA HONCHO CAN NOW TURN yadda yadda sound from S3K now.)
2018-06-03 22:41:54 +01:00
mazmazz
e5feb0552f For NiGHTS OP Hoop, make mt->options XOR cv_opflags more SRB2-like 2018-04-02 08:36:33 -04:00
toasterbabe
117017b0a0 A lot!
* cv_powerupdisplay. Never, First-person only (default), Always.
* New monitor stuff.
* Fixed hitmessages.
* Some CTF stuff.
* Aaaaugh it's a lot I hate myself I need to work on my coursework.
* I'll figure out what I did here in the merge request when that's done.
2018-03-26 23:53:09 +01:00
mazmazz
019d698e09 NiGHTS objectplace: Place new hoop 1713 instead of 1705
* Add cv_ophoopflags consvar to manage hoop flags separately from other flags
* Simplify hoop mt->options operation so we're not recalculating Z flags; just XOR cv_opflags OR cv_ophoopflags
2018-03-25 18:07:15 -04:00
TehRealSalt
76e317c111 Unlock all cheat no longer sets game modified if it can't find anything to unlock
Sound test is also in the Options menu now.
2018-03-04 18:42:06 -05:00
TehRealSalt
ab35dc6dbb Some unlockable stuff
- Secrets renamed to Extras
- Extras leads to the checklist instead of another menu
- Credits & Sound Test are on the Options menu now
- New title screen cheat for unlocking everything ("banana", or "← ↑ → →
↑ ← ↓ → Enter")
2018-03-01 19:00:16 -05:00
Sryder
192d28f7e0 I don't see a reason for this to be in caps, but it stops me compiling DEVELOP on linux so fix 2018-02-23 01:11:31 +00:00
TehRealSalt
13477267e0 Merge remote-tracking branch 'refs/remotes/origin/master' into menus-cvars-unlocks
# Conflicts:
#	src/g_game.c
#	src/m_cheat.c
#	src/p_user.c
2018-01-24 16:24:36 -05:00
TehRealSalt
30c84057dd Restructured some ticcmd stuff, temporary keyboard defaults, commented out mouse options menu
No more weapon number buttons, button constants reordered, and BT_JUMP
renamed to BT_DRIFT, and removed a lot of commented out stuff or stuff
we didn't need. Spectator-only support for looking up/down soon.
Keyboard defaults are just what I use, plan on adjusting it further
after more feedback
2018-01-24 02:45:06 -05:00
TehRealSalt
2141ac174d Spectating is properly implemented now
- Spectate button works
- Spectating & objectplace controls are usable now
- New spectator HUD
2018-01-22 22:18:57 -05:00
TehRealSalt
b225d48caf Camera adjustin's
- Look backward button works
- Increased default cam_speed, from 0.3 to 0.45. This is the highest
value that I think doesn't look overly stiff.
- Removed bobbing in first person
I was trying to do the camera angle thing that we've been talking about
for a while, but I can't get it to work well.
2018-01-22 17:08:31 -05:00
TehRealSalt
5981ae6ac0 Instead of player->laptime, lets add curlap
Since lap time will only ever be used locally, it makes more sense to
just use one variable instead of a player struct variable
2018-01-21 21:03:44 -05:00
TehRealSalt
5d3c9a1d73 Record best lap time in Record Attack
- Record Attack replays now save best lap time
- Removed instances of NiGHTS Attack
- Removed a lot of unlockable that have no use in Kart (ultimate mode,
perfect bonus, score emblems, etc)
- Removed all methods of activating ultimate mode
2018-01-21 19:15:26 -05:00