raise skinlimit to 4096

Why not UINT16_MAX? Thats 22gb of allocation lmao
This commit is contained in:
NepDisk 2025-06-10 15:23:41 -04:00
parent 37ea829b2f
commit 64fd5b93ac
16 changed files with 69 additions and 69 deletions

View file

@ -1624,7 +1624,7 @@ bool CallFunc_PlayerSkin(ACSVM::Thread *thread, const ACSVM::Word *argV, ACSVM::
&& (info->mo != NULL && P_MobjWasRemoved(info->mo) == false)
&& (info->mo->player != NULL))
{
UINT8 skin = info->mo->player->skin;
UINT16 skin = info->mo->player->skin;
thread->dataStk.push(~env->getString( skins[skin].name )->idx);
return false;
}

View file

@ -1080,7 +1080,7 @@ static void SV_SendPlayerInfo(INT32 node)
netbuffer->u.playerinfo[i].score = LONG(players[i].score);
netbuffer->u.playerinfo[i].timeinserver = SHORT((UINT16)(players[i].jointime / TICRATE));
netbuffer->u.playerinfo[i].skin = (UINT8)(players[i].skin
netbuffer->u.playerinfo[i].skin = (UINT16)(players[i].skin
#ifdef DEVELOP // it's safe to do this only because PLAYERINFO isn't read by the game itself
% 3
#endif
@ -3712,7 +3712,7 @@ static void Got_RemovePlayer(UINT8 **p, INT32 playernum)
static void Got_AddBot(UINT8 **p, INT32 playernum)
{
INT16 newplayernum;
UINT8 skinnum = 0;
UINT16 skinnum = 0;
UINT8 difficulty = DIFFICULTBOT;
botStyle_e style = BOT_STYLE_NORMAL;
@ -3728,7 +3728,7 @@ static void Got_AddBot(UINT8 **p, INT32 playernum)
}
newplayernum = READUINT8(*p);
skinnum = READUINT8(*p);
skinnum = READUINT16(*p);
difficulty = READUINT8(*p);
style = READUINT8(*p);
@ -3832,11 +3832,11 @@ static boolean SV_AddWaitingPlayers(SINT8 node, const char *name, const char *na
}
/*--------------------------------------------------
boolean K_AddBotFromServer(UINT8 skin, UINT8 difficulty, botStyle_e style, UINT8 *p)
boolean K_AddBotFromServer(UINT16 skin, UINT8 difficulty, botStyle_e style, UINT8 *p)
See header file for description.
--------------------------------------------------*/
boolean K_AddBotFromServer(UINT8 skin, UINT8 difficulty, botStyle_e style, UINT8 *p)
boolean K_AddBotFromServer(UINT16 skin, UINT8 difficulty, botStyle_e style, UINT8 *p)
{
UINT8 newplayernum = *p;
@ -3877,7 +3877,7 @@ boolean K_AddBotFromServer(UINT8 skin, UINT8 difficulty, botStyle_e style, UINT8
if (server)
{
UINT8 buf[4];
UINT8 buf[5];
UINT8 *buf_p = buf;
WRITEUINT8(buf_p, newplayernum);
@ -3887,7 +3887,7 @@ boolean K_AddBotFromServer(UINT8 skin, UINT8 difficulty, botStyle_e style, UINT8
skin = numskins;
}
WRITEUINT8(buf_p, skin);
WRITEUINT16(buf_p, skin);
if (difficulty < 1)
{

View file

@ -317,7 +317,7 @@ struct plrinfo
char name[MAXPLAYERNAME+1];
UINT8 address[4]; // sending another string would run us up against MAXPACKETLENGTH
UINT8 team;
UINT8 skin;
UINT16 skin;
UINT8 data; // Color is first four bits, hasflag, isit and issuper have one bit each, the last is unused.
UINT32 score;
UINT16 timeinserver; // In seconds.
@ -327,7 +327,7 @@ struct plrinfo
struct plrconfig
{
char name[MAXPLAYERNAME+1];
UINT8 skin;
UINT16 skin;
UINT16 color;
UINT32 pflags;
UINT32 score;
@ -481,7 +481,7 @@ void SV_StopServer(void);
void SV_ResetServer(void);
/*--------------------------------------------------
boolean K_AddBotFromServer(UINT8 skin, UINT8 difficulty, botStyle_e style, UINT8 *newplayernum);
boolean K_AddBotFromServer(UINT16 skin, UINT8 difficulty, botStyle_e style, UINT8 *newplayernum);
Adds a new bot, using a server-sided packet sent to all clients.
Using regular K_AddBot wherever possible is better, but this is kept
@ -498,7 +498,7 @@ void SV_ResetServer(void);
true if a bot can be added via a packet later, otherwise false.
--------------------------------------------------*/
boolean K_AddBotFromServer(UINT8 skin, UINT8 difficulty, botStyle_e style, UINT8 *p);
boolean K_AddBotFromServer(UINT16 skin, UINT8 difficulty, botStyle_e style, UINT8 *p);
void CL_AddSplitscreenPlayer(void);
void CL_RemoveSplitscreenPlayer(UINT8 p);

View file

@ -1726,7 +1726,7 @@ static void SendNameAndColor(UINT8 n)
WRITESTRINGN(p, cv_playername[n].zstring, MAXPLAYERNAME);
WRITEUINT32(p, (UINT32)player->availabilities);
WRITEUINT16(p, (UINT16)cv_playercolor[n].value);
WRITEUINT8(p, (UINT8)cv_skin[n].value);
WRITEUINT16(p, (UINT16)cv_skin[n].value);
WRITESINT8(p, (SINT8)cv_follower[n].value);
WRITEUINT16(p, (UINT16)cv_followercolor[n].value);
@ -1738,10 +1738,10 @@ static void Got_NameAndColor(UINT8 **cp, INT32 playernum)
player_t *p = &players[playernum];
char name[MAXPLAYERNAME+1];
UINT16 color, followercolor;
UINT8 skin;
UINT16 skin;
SINT8 follower;
SINT8 localplayer = -1;
UINT8 i;
UINT16 i;
#ifdef PARANOIA
if (playernum < 0 || playernum > MAXPLAYERS)
@ -1767,7 +1767,7 @@ static void Got_NameAndColor(UINT8 **cp, INT32 playernum)
READSTRINGN(*cp, name, MAXPLAYERNAME);
p->availabilities = READUINT32(*cp);
color = READUINT16(*cp);
skin = READUINT8(*cp);
skin = READUINT16(*cp);
follower = READSINT8(*cp);
followercolor = READUINT16(*cp);

View file

@ -103,7 +103,7 @@ extern "C" {
// Special Hashing.
//#define NOMD5
//#define NOFILEHASH
#define NOFILEHASH
// Uncheck this to compile debugging code
//#define RANGECHECK
@ -207,7 +207,7 @@ extern char logfilename[1024];
#define MAXSPLITSCREENPLAYERS 4 // Max number of players on a single computer
#define MAXGAMEPADS (MAXSPLITSCREENPLAYERS * 2) // Number of gamepads we'll be allowing
#define MAXSKINS UINT8_MAX
#define MAXSKINS 4096
#define MAXFOLLOWERS UINT16_MAX
#define COLORRAMPSIZE 16

View file

@ -973,7 +973,7 @@ void G_WriteGhostTic(mobj_t *ghost, INT32 playernum)
if (ghost->player->followmobj->colorized)
followtic |= FZT_COLORIZED;
if (followtic & FZT_SKIN)
WRITEUINT8(demobuf.p,(UINT8)(((skin_t *)(ghost->player->followmobj->skin))-skins));
WRITEUINT16(demobuf.p,(UINT16)(((skin_t *)(ghost->player->followmobj->skin))-skins));
oldghost[playernum].flags2 |= MF2_AMBUSH;
}
@ -1134,14 +1134,14 @@ void G_ConsGhostTic(INT32 playernum)
{
demobuf.p += sizeof(INT16);
if (followtic & FZT_SKIN)
demobuf.p++;
demobuf.p += sizeof(UINT16);
}
if (followtic & FZT_SCALE)
demobuf.p += sizeof(fixed_t);
// momx, momy and momz
demobuf.p += sizeof(fixed_t) * 3;
if (followtic & FZT_SKIN)
demobuf.p++;
demobuf.p += sizeof(UINT16);
demobuf.p += sizeof(UINT16);
demobuf.p++;
demobuf.p += sizeof(UINT16);
@ -1432,7 +1432,7 @@ void G_GhostTicker(void)
follow->colorized = true;
if (followtic & FZT_SKIN)
follow->skin = &skins[READUINT8(g->p)];
follow->skin = &skins[READUINT16(g->p)];
}
if (follow)
{
@ -1452,7 +1452,7 @@ void G_GhostTicker(void)
follow->z = g->mo->z + temp;
P_SetThingPosition(follow);
if (followtic & FZT_SKIN)
follow->sprite2 = READUINT8(g->p);
follow->sprite2 = READUINT16(g->p);
else
follow->sprite2 = 0;
follow->sprite = READUINT16(g->p);

View file

@ -85,7 +85,7 @@ struct menudemo_t {
struct {
UINT8 ranking;
char name[17];
UINT8 skin, color;
UINT16 skin, color;
UINT32 timeorscore;
} standings[MAXPLAYERS];
};

View file

@ -47,7 +47,7 @@ consvar_t cv_forcebots = CVAR_INIT ("kartforcebots", "Off", CV_NETVAR|CV_CHEAT,
consvar_t cv_botcontrol = CVAR_INIT ("kartbotcontrol", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL);
/*--------------------------------------------------
void K_SetNameForBot(UINT8 playerNum, UINT8 skinnum)
void K_SetNameForBot(UINT8 playerNum, const char *realname)
See header file for description.
--------------------------------------------------*/
@ -100,11 +100,11 @@ void K_SetNameForBot(UINT8 newplayernum, const char *realname)
}
/*--------------------------------------------------
void K_SetBot(UINT8 playerNum, UINT8 skinnum, UINT8 difficulty, botStyle_e style)
void K_SetBot(UINT8 playerNum, UINT16 skinnum, UINT8 difficulty, botStyle_e style)
See header file for description.
--------------------------------------------------*/
void K_SetBot(UINT8 newplayernum, UINT8 skinnum, UINT8 difficulty, botStyle_e style)
void K_SetBot(UINT8 newplayernum, UINT16 skinnum, UINT8 difficulty, botStyle_e style)
{
CONS_Debug(DBG_NETPLAY, "addbot: %d\n", newplayernum);
@ -146,11 +146,11 @@ void K_SetBot(UINT8 newplayernum, UINT8 skinnum, UINT8 difficulty, botStyle_e st
}
/*--------------------------------------------------
boolean K_AddBot(UINT8 skin, UINT8 difficulty, botStyle_e style, UINT8 *p)
boolean K_AddBot(UINT16 skin, UINT8 difficulty, botStyle_e style, UINT8 *p)
See header file for description.
--------------------------------------------------*/
boolean K_AddBot(UINT8 skin, UINT8 difficulty, botStyle_e style, UINT8 *p)
boolean K_AddBot(UINT16 skin, UINT8 difficulty, botStyle_e style, UINT8 *p)
{
UINT8 newplayernum = *p;
@ -186,16 +186,16 @@ boolean K_AddBot(UINT8 skin, UINT8 difficulty, botStyle_e style, UINT8 *p)
--------------------------------------------------*/
void K_UpdateMatchRaceBots(void)
{
const UINT8 defaultbotskin = K_BotDefaultSkin();
const UINT16 defaultbotskin = K_BotDefaultSkin();
UINT8 difficulty;
UINT8 pmax = (dedicated ? MAXPLAYERS-1 : MAXPLAYERS);
UINT8 numplayers = 0;
UINT8 numbots = 0;
UINT8 numwaiting = 0;
SINT8 wantedbots = 0;
UINT8 usableskins = 0, skincount = numskins;
UINT8 grabskins[MAXSKINS+1];
UINT8 i;
UINT16 usableskins = 0, skincount = numskins;
UINT16 grabskins[MAXSKINS+1];
UINT16 i;
// Init usable bot skins list
for (i = 0; i < skincount; i++)
@ -318,11 +318,11 @@ void K_UpdateMatchRaceBots(void)
while (numbots < wantedbots)
{
UINT8 skinnum = defaultbotskin;
UINT16 skinnum = defaultbotskin;
if (usableskins > 0)
{
UINT8 index = P_RandomKey(usableskins);
UINT16 index = P_RandomKey(usableskins);
skinnum = grabskins[index];
if (((cv_ingamecap.value > 0) && (usableskins+1 >= cv_ingamecap.value)) || (usableskins+1 >= cv_maxplayers.value))
{

View file

@ -175,7 +175,7 @@ fixed_t K_DistanceOfLineFromPoint(fixed_t v1x, fixed_t v1y, fixed_t v2x, fixed_t
/*--------------------------------------------------
boolean K_AddBot(UINT8 skin, UINT8 difficulty, botStyle_e style, UINT8 *p);
boolean K_AddBot(UINT16 skin, UINT8 difficulty, botStyle_e style, UINT8 *p);
Adds a new bot, using code intended to run on all clients.
@ -190,7 +190,7 @@ fixed_t K_DistanceOfLineFromPoint(fixed_t v1x, fixed_t v1y, fixed_t v2x, fixed_t
true if a bot was added, otherwise false.
--------------------------------------------------*/
boolean K_AddBot(UINT8 skin, UINT8 difficulty, botStyle_e style, UINT8 *p);
boolean K_AddBot(UINT16 skin, UINT8 difficulty, botStyle_e style, UINT8 *p);
// NOT AVAILABLE FOR LUA
@ -215,7 +215,7 @@ void K_SetNameForBot(UINT8 newplayernum, const char *realname);
/*--------------------------------------------------
void K_SetBot(UINT8 newplayernum, UINT8 skinnum, UINT8 difficulty, botStyle_e style);
void K_SetBot(UINT8 newplayernum, UINT16 skinnum, UINT8 difficulty, botStyle_e style);
Sets a player ID to be a new bot directly. Invoked directly
by K_AddBot, and indirectly by K_AddBotFromServer by sending
@ -231,7 +231,7 @@ void K_SetNameForBot(UINT8 newplayernum, const char *realname);
None
--------------------------------------------------*/
void K_SetBot(UINT8 newplayernum, UINT8 skinnum, UINT8 difficulty, botStyle_e style);
void K_SetBot(UINT8 newplayernum, UINT16 skinnum, UINT8 difficulty, botStyle_e style);
/*--------------------------------------------------

View file

@ -96,11 +96,11 @@ INT16 K_CalculateGPRankPoints(UINT8 position, UINT8 numplayers)
}
/*--------------------------------------------------
UINT8 K_BotDefaultSkin(void)
UINT16 K_BotDefaultSkin(void)
See header file for description.
--------------------------------------------------*/
UINT8 K_BotDefaultSkin(void)
UINT16 K_BotDefaultSkin(void)
{
const char *defaultbotskinname = "tails";
INT32 defaultbotskin = R_SkinAvailable(defaultbotskinname);
@ -111,7 +111,7 @@ UINT8 K_BotDefaultSkin(void)
defaultbotskin = 0;
}
return (UINT8)defaultbotskin;
return (UINT16)defaultbotskin;
}
/*--------------------------------------------------
@ -136,7 +136,7 @@ UINT8 K_GetGPPlayerCount(UINT8 humans)
--------------------------------------------------*/
void K_InitGrandPrixBots(void)
{
const UINT8 defaultbotskin = K_BotDefaultSkin();
const UINT16 defaultbotskin = K_BotDefaultSkin();
const UINT8 startingdifficulty = K_BotStartingDifficulty(grandprixinfo.gamespeed);
UINT8 difficultylevels[MAXPLAYERS];
@ -147,14 +147,14 @@ void K_InitGrandPrixBots(void)
UINT8 numplayers = 0;
UINT8 competitors[MAXSPLITSCREENPLAYERS];
UINT8 usableskins, skincount = numskins;
UINT8 grabskins[MAXSKINS+1];
UINT16 usableskins, skincount = numskins;
UINT16 grabskins[MAXSKINS+1];
UINT8 botskinlist[MAXPLAYERS];
UINT8 botskinlistpos = 0;
UINT16 botskinlist[MAXPLAYERS];
UINT16 botskinlistpos = 0;
UINT8 newplayernum = 0;
UINT8 i, j;
UINT16 i, j;
memset(competitors, MAXPLAYERS, sizeof (competitors));
memset(botskinlist, defaultbotskin, sizeof (botskinlist));
@ -237,10 +237,10 @@ void K_InitGrandPrixBots(void)
rivalnum = R_SkinAvailable(rivalname);
// Intentionally referenced before (currently dummied out) unlock check. Such a tease!
if (rivalnum != -1 && grabskins[(UINT8)rivalnum] != MAXSKINS)
if (rivalnum != -1 && grabskins[(UINT16)rivalnum] != MAXSKINS)
{
botskinlist[botskinlistpos++] = (UINT8)rivalnum;
grabskins[(UINT8)rivalnum] = MAXSKINS;
botskinlist[botskinlistpos++] = (UINT16)rivalnum;
grabskins[(UINT16)rivalnum] = MAXSKINS;
}
}
}
@ -268,11 +268,11 @@ void K_InitGrandPrixBots(void)
{
while (botskinlistpos < wantedbots)
{
UINT8 skinnum = defaultbotskin;
UINT16 skinnum = defaultbotskin;
if (usableskins > 0)
{
UINT8 index = P_RandomKey(usableskins);
UINT16 index = P_RandomKey(usableskins);
skinnum = grabskins[index];
if (usableskins >= K_GetGPPlayerCount(1))
{
@ -545,13 +545,13 @@ void K_IncreaseBotDifficulty(player_t *bot)
--------------------------------------------------*/
void K_RetireBots(void)
{
const UINT8 defaultbotskin = K_BotDefaultSkin();
const UINT16 defaultbotskin = K_BotDefaultSkin();
SINT8 newDifficulty;
UINT8 usableskins = 0, skincount = numskins;
UINT8 grabskins[MAXSKINS+1];
UINT16 usableskins = 0, skincount = numskins;
UINT16 grabskins[MAXSKINS+1];
UINT8 i;
UINT16 i;
if (grandprixinfo.gp == true
&& (((grandprixinfo.cup != NULL) && (grandprixinfo.roundnum >= grandprixinfo.cup->numlevels))
@ -643,11 +643,11 @@ void K_RetireBots(void)
if (bot->pflags & PF_NOCONTEST)
{
UINT8 skinnum = defaultbotskin;
UINT16 skinnum = defaultbotskin;
if (usableskins > 0)
{
UINT8 index = P_RandomKey(usableskins);
UINT16 index = P_RandomKey(usableskins);
skinnum = grabskins[index];
if (usableskins+1 >= K_GetGPPlayerCount(1))
{

View file

@ -72,13 +72,13 @@ INT16 K_CalculateGPRankPoints(UINT8 position, UINT8 numplayers);
/*--------------------------------------------------
UINT8 K_BotDefaultSkin(void);
UINT16 K_BotDefaultSkin(void);
Returns the skin number of the skin the game
uses as a fallback option.
--------------------------------------------------*/
UINT8 K_BotDefaultSkin(void);
UINT16 K_BotDefaultSkin(void);
/*--------------------------------------------------
UINT8 K_GetGPPlayerCount(UINT8 humans)

View file

@ -3342,7 +3342,7 @@ static void K_drawKartMinimapNametag(fixed_t objx, fixed_t objy, INT32 hudx, INT
fixed_t amnumxpos, amnumypos;
INT32 amxpos, amypos;
UINT8 skin = 0;
UINT16 skin = 0;
UINT16 chatcolor = skincolors[player->mo->color].chatcolor;
amnumxpos = (FixedMul(objx, minimapinfo.zoom) - minimapinfo.offs_x);
@ -3457,7 +3457,7 @@ static void K_drawKartMinimap(void)
INT32 x, y;
INT32 minimaptrans = cv_kartminimap.value;
INT32 splitflags = 0;
UINT8 skin = 0;
UINT16 skin = 0;
UINT8 *colormap = NULL;
SINT8 localplayers[MAXSPLITSCREENPLAYERS];
SINT8 numlocalplayers = 0;

View file

@ -1891,7 +1891,7 @@ void M_Init(void)
void M_InitCharacterTables(void)
{
UINT8 i;
UINT16 i;
// Setup description table
for (i = 0; i < MAXSKINS; i++)
@ -6930,7 +6930,7 @@ Update the maxplayers label...
#define iconwidth 32
#define spacingwidth 32
#define incrwidth (iconwidth + spacingwidth)
UINT8 i = 0, pskin, pcol;
UINT16 i = 0, pskin, pcol;
// player arrangement width, but there's also a chance i'm a furry, shhhhhh
const INT32 paw = iconwidth + 3*incrwidth;
INT32 trans = 0;

View file

@ -457,7 +457,7 @@ struct modedesc_t
typedef struct
{
char levelname[32];
UINT8 skinnum;
UINT16 skinnum;
UINT8 numemeralds;
UINT8 numgameovers;
INT32 lives;

View file

@ -2492,7 +2492,7 @@ static void SaveMobjThinker(savebuffer_t *save, const thinker_t *th, const UINT8
if (diff2 & MD2_CVMEM)
WRITEINT32(save->p, mobj->cvmem);
if (diff2 & MD2_SKIN)
WRITEUINT8(save->p, (UINT8)((skin_t *)mobj->skin - skins));
WRITEUINT16(save->p, (UINT16)((skin_t *)mobj->skin - skins));
if (diff2 & MD2_COLOR)
WRITEUINT16(save->p, mobj->color);
if (diff2 & MD2_EXTVAL1)
@ -3726,7 +3726,7 @@ static thinker_t* LoadMobjThinker(savebuffer_t *save, actionf_p1 thinker)
if (diff2 & MD2_CVMEM)
mobj->cvmem = READINT32(save->p);
if (diff2 & MD2_SKIN)
mobj->skin = &skins[READUINT8(save->p)];
mobj->skin = &skins[READUINT16(save->p)];
if (diff2 & MD2_COLOR)
mobj->color = READUINT16(save->p);
if (diff2 & MD2_EXTVAL1)

View file

@ -36,7 +36,7 @@ mobj_t *P_FindNewPosition(UINT32 oldposition);
struct savedata_t
{
UINT8 skin;
UINT16 skin;
INT32 score;
INT32 lives;
UINT16 emeralds;