Commit graph

387 commits

Author SHA1 Message Date
James R
b3511a9149 Player orbiting physics 2023-02-28 20:27:11 -08:00
James R
8770d76a4e Add P_SpawnMobjFromMobjUnscaled, does not scale offsets 2023-02-18 14:39:43 -08:00
Oni
f57dd43e36 Merge branch 'minigen' into 'master'
minigen

See merge request KartKrew/Kart!900
2023-01-25 05:54:12 +00:00
toaster
6a723cff58 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.
2023-01-24 17:57:56 +00:00
toaster
223531ffce 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...
2023-01-24 14:46:25 +00:00
toaster
ceed74d052 Stumble damagetype
- DMG_STUMBLE in SOC, hardcode
- Has sector type
    - UDMF: damagetype = "Stumble"
    - Binary: Sector type 9, section 1
- Can be chained even when invincible, unlike Tumble
- Will never instinctively cause hitlag
2023-01-22 14:56:42 +00:00
Oni
13563ce922 Merge branch 'acs' into 'master'
Action Code Script

See merge request KartKrew/Kart!728
2023-01-22 03:22:32 +00:00
toaster
c7525fb5a6 Introduce MT_OVERLAY exception flags
- Applied via threshold of Overlay mobj
    - OV_DONTSCREENOFFSET
        - spritexoffset, spriteyoffset
        - Given to Item Capsule quantity numbers
    - OV_DONT3DOFFSET
        - sprxoffset, spryoffset, sprzoffset
    - OV_DONTXYSCALE
        - spritexscale, spriteyscale
    - OV_DONTROLL
        - rollangle, pitch, roll
Makes overlay on UFO emerald follow the emerald's spriteyoffset now
2023-01-08 18:16:04 +00:00
Sally Coolatta
345e7f83b0 Copy first mapthing tag to their mobjs
Allows the ThingCount and ThingSound ACS functions to fully work now, and adds significantly more possibilities for scripting later.
2023-01-01 17:07:46 -05:00
Eidolon
be021baa02 Add extern "C" in C++ to all headers 2022-12-30 19:26:16 -06:00
toaster
8e88a840bb Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into unlockables-undefeatable
# Conflicts:
#	src/k_menudraw.c
#	src/k_menufunc.c
2022-12-19 20:13:44 +00:00
James R
4281adc60d Separate most of P_DoSpring into P_DoSpringEx 2022-12-18 21:09:29 -08:00
toaster
803490d7aa Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into unlockables-undefeatable
# Conflicts:
#	src/d_clisrv.h
#	src/doomstat.h
#	src/g_demo.h
#	src/m_cond.h
2022-12-10 21:54:58 +00:00
James R
abdb2e3ac3 Set Lightning Shield attack to DMG_VOLTAGE 2022-12-05 13:04:47 -08:00
toaster
8b1407c096 Proper MP emblem support
- Also adapted from (STJr/SRB2!1756)
- Unlike that MR, absolutely no sharing - this is a game of exclusively competitive gametypes.
2022-11-30 14:32:33 +00:00
James R
051b4f8935 Always use typedef name instead of struct name
mobj_t instead of struct mobj_s
2022-11-27 17:21:40 -08:00
James R
b5310a1f68 Add typedef.h
All typedefs for structs that were present in other header
files have been moved to here. (Except node_t because the
renderer and netcode both define node_t LOL.)
2022-11-27 17:21:40 -08:00
Sally Coolatta
0053cda35c Don't allow nextwaypoint to be past finish linedef 2022-11-26 02:51:46 -05:00
Sally Coolatta
8f5e0f63e9 Evict the wall gremlin
Gremlins happened whenever P_TryMove and P_SlideMove/P_BounceMove disagreed on what an object collided with. When TryMove said you collided with a line, but P_BounceMove said that you didn't, then you'd get gremlin'd.

To fix this, P_TryMove now can edit a struct to contain information on what it collides with. P_SlideMove and P_BounceMove no longer try to detect walls on their own and now requires this result from P_TryMove. If a slide/bounce is needed without moving the object, then you'd want to use P_CheckMove to get the result.

Lua is not supported right now.
2022-11-21 16:12:53 -05:00
Sally Coolatta
35f1fe580c P_RestoreTMStruct 2022-11-21 15:59:19 -05:00
Sally Coolatta
b31aa1bbb0 Put tm* variables into a struct
This makes it significantly easier to save/restore the state of these variables, whenever we need to do so for calling movement functions in the middle of other movement functions. This will also make it easier to move it out of global variable hell if desired later.
2022-11-20 19:27:34 -05:00
Nev3r
5c9599f0a9 "UDMF: The whole thing" merged
See merge request STJr/SRB2!1714

Barely any RR features reimplemented
2022-10-09 01:13:37 -04:00
James R
05dd7d7871 Merge remote-tracking branch 'origin/master' into HEAD 2022-10-01 14:45:39 -07:00
James R
ee2302d6ee Merge branch 'noclip-online' into 'master'
Cheat/Debug Commands ...ONLINE

See merge request KartKrew/Kart!717
2022-09-30 22:51:42 +00:00
James R
57a3c4109c Reset player cheat effects when disabling cheats cvar 2022-09-29 05:54:58 -07:00
Sally Coolatta
841bcf3619 Allow non-players to water skip/run
Water skipping is enabled for Orbinaut, Jawz, and Ballhog currently. Jawz can water run, as long as their target is on/above the plane they're at -- once their target goes into the water, they'll start skipping.
2022-09-27 12:31:33 -04:00
toaster
871de857ae Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into setangle
# Conflicts:
#	src/p_enemy.c
#	src/p_mobj.c
2022-09-24 20:23:35 +01:00
Sally Coolatta
acf2484def Merge branch 'master' into tumble-slope-fuck 2022-09-20 07:34:44 -04:00
James R
ba1b6bb253 Add P_CheckMove
Checks if P_TryMove would succeed without actually moving.

(cherry picked from commit 518de0ce104166c3eacd10ebe6ade422307ce671)
2022-09-05 11:56:30 -07:00
toaster
3a4b485c5d Remove P_InitAngle and its kin, considered on a case-by-case basis for also setting old_angle as well. 2022-08-25 11:35:09 +01:00
Sally Coolatta
ebb34ff9d4 Lap based power level 2022-08-14 06:00:37 -04:00
Sally Coolatta
6106ce1624 Add reversed weather
- Negative speed weather will spawn from a floor in a sector with a sky ceiling, and go up into the ceiling.
- (Not really the same as reverse gravity weather in that aspect, because that would be for sky floors.)
- Fixed invert precipitation flag for linedef type 8 being completely unimplemented. (How long has it been like this...?)
- Fix swapping weather on the fly having reversed momz
2022-06-05 05:39:35 -04:00
Sally Coolatta
d053d5f8ba Fix blockmap WILD inconsistency when it's not PIT_CheckThing
An optimized error check was put into P_BlockThingsIterator for tmthing, but this meant that anything that was not using or even setting this variable (the supermajority of them) would exit after finding 1 thing in each block.

To keep this error check & keep it optimized, the PIT_ functions were expanded to three options instead of two: BMIT_CONTINUE lets the search continue. If used as the last mobj, it will return true when the iterator finishes. BMIT_ABORT ends the search and forces the iterator to return false.
BMIT_STOP ends the search and forces the iterator to return true.
2022-05-23 17:37:29 -04:00
Sally Coolatta
f3bb8833a1 Tumble when not landing upright on slopes 2022-03-28 17:10:27 -04:00
toaster
7508e0e198 P_IsLocalPlayer changes
This is the function that controls whether a bunch of music-related function (and also whether certain error messages get printed).

* P_IsLocalPlayer now supports party players (currently untested, but the code is pretty airtight).
* P_IsLocalPlayer now always returns false in replays.
* P_IsMachineLocalPlayer now exists for the one situation the game determines local players that actually has a net-related function (kicking illegal character changes).
* Invincibility/grow sfx now operates based on whether the player is NOT local (it used to be whether it was NOT a displayplayer).
* Refactored P_SpectatorJoinGame to make future team support easier, and also reset the relevant camera focus, rather than always the consoleplayer's.
* Fix viewpoints on non-local players having overlapping viewpoint text.
2022-01-24 22:03:40 +00:00
SinnamonLat
191103fec1 Fix a dumb mistake, add DMG_WOMBO to orbinauts, jawz and banana hits 2022-01-22 11:41:49 +01:00
SinnamonLat
ba9ef23b31 Add MF_NOHITLAGFORME and DMG_WOMBO 2022-01-22 10:01:24 +01:00
Sally Coolatta
ef5a4f01d4 Merge branch 'master' into terrain-lump 2022-01-04 12:34:47 -05:00
Sally Coolatta
6c13ddca01 Rename PitchRoll stuff back
I did a find+replace because I realized the functions I added were named too similar to other ones & to make the purpose more obvious ... but it ended up changing them too anyway! Gah!
2021-12-24 13:00:12 -05:00
Sally Coolatta
cc250afd45 P_InitAngle, to fix angle interpolation on spawning objects 2021-12-24 12:45:51 -05:00
Sally Coolatta
da459a9c73 Add terrain splashes 2021-12-19 00:57:45 -05:00
Sally Coolatta
21e868216e Merge remote-tracking branch 'origin/getmobjzmovement' into terrain-lump 2021-12-18 21:25:20 -05:00
lachablock
e14af65d52 Merge remote-tracking branch 'origin/master' into getmobjzmovement 2021-12-19 13:22:59 +11:00
Sally Coolatta
0cd3efc76d Merge branch 'master' into terrain-lump 2021-12-18 18:36:05 -05:00
James R
1140410e2c Spawn SPHERE BOXES randomly in Battle
They look like random item boxes (the ones in Race) but
have a blue sphere inside of them. One box is worth 10
blue spheres. More boxes spawn during Overtime.

New sprite: SBOX
2021-12-14 01:05:42 -08:00
Sally Coolatta
19463d6b20 New bot prediction wall detection
Instead of searching for walls around the player, and then deciding to make the radius tighter if it found anyway, it instead checks if the waypoint it's trying to predict towards was blocked by any walls / hazards.

Needs adjusted some, I think its being pulled back too hard sometimes, but I am optimistic about some of the improvements I already saw.
2021-12-10 17:42:00 -05:00
Sally Coolatta
bf4b47a2cf Merge branch 'master' into terrain-lump 2021-12-09 03:46:01 -05:00
Sally Coolatta
150faf9de6 Add terrain pointer to mobj_t 2021-12-09 00:56:05 -05:00
James R
e07b296368 Merge branch 'waterrun' into 'master'
Water running

See merge request KartKrew/Kart!476
2021-12-08 00:36:16 +00:00
James R
9bde266f9f Water running
You can run on water in any case where you would have
slope resistance AND your speed is over 100%. You may run
on water regardless if you're speed is above 200%.
2021-12-05 22:41:25 -08:00