Kart-Public/src/k_kart.h

73 lines
3.4 KiB
C
Raw Normal View History

2016-08-12 01:42:11 +00:00
// SONIC ROBO BLAST 2 KART ~ ZarroTsu
//-----------------------------------------------------------------------------
/// \file k_kart.h
/// \brief SRB2kart stuff.
#ifndef __K_KART__
#define __K_KART__
2016-08-15 03:51:08 +00:00
#include "doomdef.h"
#include "d_player.h" // Need for player_t
UINT8 colortranslations[MAXSKINCOLORS][16];
2016-08-12 01:42:11 +00:00
extern const char *KartColor_Names[MAXSKINCOLORS];
extern const UINT8 KartColor_Opposite[MAXSKINCOLORS*2];
void K_RainbowColormap(UINT8 *dest_colormap, UINT8 skincolor);
2016-08-12 01:42:11 +00:00
void K_GenerateKartColormap(UINT8 *dest_colormap, INT32 skinnum, UINT8 color);
UINT8 K_GetKartColorByName(const char *name);
2016-08-15 03:51:08 +00:00
void K_RegisterKartStuff(void);
2016-08-12 01:42:11 +00:00
boolean K_IsPlayerLosing(player_t *player);
2018-07-01 08:36:09 +00:00
boolean K_IsPlayerWanted(player_t *player);
void K_KartBouncing(mobj_t *mobj1, mobj_t *mobj2, boolean bounce, boolean solid);
void K_MatchGenericExtraFlags(mobj_t *mo, mobj_t *master);
void K_RespawnChecker(player_t *player);
void K_KartMoveAnimation(player_t *player);
2016-08-15 03:51:08 +00:00
void K_KartPlayerThink(player_t *player, ticcmd_t *cmd);
void K_KartPlayerAfterThink(player_t *player);
void K_DoInstashield(player_t *player);
2018-07-01 08:36:09 +00:00
void K_SpinPlayer(player_t *player, mobj_t *source, INT32 type, boolean trapitem);
void K_SquishPlayer(player_t *player, mobj_t *source);
void K_ExplodePlayer(player_t *player, mobj_t *source, mobj_t *inflictor);
void K_StealBumper(player_t *player, player_t *victim, boolean force);
void K_SpawnKartExplosion(fixed_t x, fixed_t y, fixed_t z, fixed_t radius, INT32 number, mobjtype_t type, angle_t rotangle, boolean spawncenter, boolean ghostit, mobj_t *source);
void K_SpawnMineExplosion(mobj_t *source, UINT8 color);
void K_SpawnBoostTrail(player_t *player);
void K_SpawnSparkleTrail(mobj_t *mo);
void K_SpawnWipeoutTrail(mobj_t *mo, boolean translucent);
void K_DriftDustHandling(mobj_t *spawner);
2018-10-07 22:53:46 +00:00
void K_DoSneaker(player_t *player, INT32 type);
void K_DoPogoSpring(mobj_t *mo, fixed_t vertispeed, UINT8 sound);
2018-06-16 23:57:08 +00:00
void K_KillBananaChain(mobj_t *banana, mobj_t *inflictor, mobj_t *source);
void K_UpdateHnextList(player_t *player, boolean clean);
void K_DropHnextList(player_t *player);
2018-06-27 19:58:43 +00:00
void K_RepairOrbitChain(mobj_t *orbit);
2018-08-30 23:24:22 +00:00
player_t *K_FindJawzTarget(mobj_t *actor, player_t *source);
boolean K_CheckPlayersRespawnColliding(INT32 playernum, fixed_t x, fixed_t y);
INT16 K_GetKartTurnValue(player_t *player, INT16 turnvalue);
Mammoth commit! * Deaths in record attack no longer put you into a glitchy singleplayer game-over state that we somehow both kept around and also broke since we branched Kart off of Vanilla.. * Fix non-standard mapscales making the Death Egg respawn octagons dissasemble themselves. * Allow for MULTIPLE TIME EMBLEMS PER MAP, at least in the emblem UI on the timer. It shows all completed emblems plus the uncompleted emblem up to a total of three. * Major tweaks to the First Person HUD. * I know this was your baby, Sal, and some of the changes may prove controversial - so I've put the ones that are likely to cause the most fuss inside an ifndef block, so that you can toggle it as you please with minimal code changes. * Dontdraw-ness, transparency, and colorization match the player's object! * Moves around on the screen with respect to the direction of the player object's motion, to make drifting look nicer! * Flashes the colour of your drift sparks. * Did a WHOLE bunch of things with respect to music. I'm not sure how to describe this, so I'll go through step-by-step. * Countdowns now play the drowning music again. * Removed/disabled extraenous P_RestoreMusics. * Made map-ending music called by its own function, P_EndingMusic(player_t *player). * Made the ending music play on the LAST player crossing the finishing line in splitscreen, rather than first. * Make dead players spinout and clip through the floor, at least until we add the new death anims. * Fix prior pogo spring usage making dead players fall faster. * Make the time over countdown use the kart font when not splitscreen with 3 or 4 players. * Removed a weird bonus HWR_DrawCroppedPatch function signature in the hardware header.
2018-07-16 19:19:30 +00:00
fixed_t K_GetKartDriftSparkValue(player_t *player);
void K_DropItems(player_t *player);
void K_StripItems(player_t *player);
void K_StripOther(player_t *player);
void K_MomentumToFacing(player_t *player);
fixed_t K_GetKartSpeed(player_t *player, boolean doboostpower);
fixed_t K_GetKartAccel(player_t *player);
UINT16 K_GetKartFlashing(player_t *player);
fixed_t K_3dKartMovement(player_t *player, boolean onground, fixed_t forwardmove);
void K_MoveKartPlayer(player_t *player, boolean onground);
2018-07-01 08:36:09 +00:00
void K_CalculateBattleWanted(void);
void K_CheckBumpers(void);
void K_CheckSpectateStatus(void);
2016-08-12 01:42:11 +00:00
2018-09-23 22:07:38 +00:00
const char *K_GetItemPatch(UINT8 item, boolean tiny);
INT32 K_calcSplitFlags(INT32 snapflags);
2016-08-15 03:51:08 +00:00
void K_LoadKartHUDGraphics(void);
2017-11-21 07:23:06 +00:00
fixed_t K_FindCheckX(fixed_t px, fixed_t py, angle_t ang, fixed_t mx, fixed_t my);
2016-08-15 03:51:08 +00:00
void K_drawKartHUD(void);
void K_drawKartFreePlay(UINT32 flashtime);
void K_drawKartTimestamp(tic_t drawtime, INT32 TX, INT32 TY, INT16 emblemmap, boolean playing);
2016-08-12 01:42:11 +00:00
// =========================================================================
#endif // __K_KART__