// 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__