blankart/src/f_dscredits.hpp
2025-09-02 02:37:07 -04:00

74 lines
No EOL
1.9 KiB
C++

// BLANKART
//-----------------------------------------------------------------------------
// Copyright (C) 2025 by Vivian "toastergrl" Grannell.
// Copyright (C) 2025 by Kart Krew.
// Copyright (C) 2025 by "Anonimus".
// Copyright (C) 2025 Blankart Team.
//
// This program is free software distributed under the
// terms of the GNU General Public License, version 2.
// See the 'LICENSE' file for more details.
//-----------------------------------------------------------------------------
/// \file k_dscredits.hpp
/// \brief (Mostly) secret MKDS credits :)
#ifndef __F_DSCREDITS__
#define __F_DSCREDITS__
#include "doomdef.h"
#include "m_fixed.h"
#ifdef __cplusplus
extern "C" {
#endif
#define MAXDSOBJECTS (MAXPLAYERS + (48 - MAXPLAYERS))
#define DSOBJOFFSCREEN 48
#define FRAMETOSEC (FRACUNIT / TICRATE)
#define CREDITSDELAY (TICRATE / 2)
// "Special" players, such as us, our rival, and the various unique characters in Act 2.
#define DSUNIQUEPLAYERS 3
extern longtic_t creditstimings[];
typedef struct dscredits_s {
longtic_t ticker;
tic_t delaytoplayer;
tic_t delaytobg;
UINT16 creditsscene; // "Scene" number of credits, iterated by 1 for each timing.
struct dscreditsobj_s
{
boolean active;
boolean player; // Are we a player?
UINT16 skin;
UINT16 color;
patch_t *patch; // Patch.
INT32 position[2]; // Position
fixed_t scale; // Scale
INT32 speed[2]; // Speed
INT64 movestop; // Stops our movement after
INT64 movestart; // Restarts our movement
INT32 movestartspd[2]; // Speed to apply on movestart
UINT8 glance; // They look at one another as they drive
boolean spinout; // Spinning out?
} creditsobj[MAXDSOBJECTS + DSUNIQUEPLAYERS];
} dscredits_t;
extern dscredits_t dscredits;
extern tic_t dscreditsticks;
void F_SecretCreditsTicker(void);
void F_SecretCreditsDrawer(void);
#ifdef __cplusplus
}
#endif
#endif // __F_DSCREDITS__