mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge branch 'more-debug' into 'master'
More item debug See merge request KartKrew/Kart!185
This commit is contained in:
commit
5a56271392
5 changed files with 170 additions and 46 deletions
132
src/d_netcmd.c
132
src/d_netcmd.c
|
|
@ -73,6 +73,7 @@ static void Got_ExitLevelcmd(UINT8 **cp, INT32 playernum);
|
||||||
static void Got_SetupVotecmd(UINT8 **cp, INT32 playernum);
|
static void Got_SetupVotecmd(UINT8 **cp, INT32 playernum);
|
||||||
static void Got_ModifyVotecmd(UINT8 **cp, INT32 playernum);
|
static void Got_ModifyVotecmd(UINT8 **cp, INT32 playernum);
|
||||||
static void Got_PickVotecmd(UINT8 **cp, INT32 playernum);
|
static void Got_PickVotecmd(UINT8 **cp, INT32 playernum);
|
||||||
|
static void Got_GiveItemcmd(UINT8 **cp, INT32 playernum);
|
||||||
static void Got_RequestAddfilecmd(UINT8 **cp, INT32 playernum);
|
static void Got_RequestAddfilecmd(UINT8 **cp, INT32 playernum);
|
||||||
#ifdef DELFILE
|
#ifdef DELFILE
|
||||||
static void Got_Delfilecmd(UINT8 **cp, INT32 playernum);
|
static void Got_Delfilecmd(UINT8 **cp, INT32 playernum);
|
||||||
|
|
@ -203,6 +204,8 @@ static void Command_Archivetest_f(void);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static void Command_KartGiveItem_f(void);
|
||||||
|
|
||||||
// =========================================================================
|
// =========================================================================
|
||||||
// CLIENT VARIABLES
|
// CLIENT VARIABLES
|
||||||
// =========================================================================
|
// =========================================================================
|
||||||
|
|
@ -393,10 +396,24 @@ consvar_t cv_karteliminatelast = {"karteliminatelast", "Yes", CV_NETVAR|CV_CHEAT
|
||||||
|
|
||||||
consvar_t cv_kartusepwrlv = {"kartusepwrlv", "Yes", CV_NETVAR|CV_CHEAT, CV_YesNo, NULL, 0, NULL, NULL, 0, 0, NULL};
|
consvar_t cv_kartusepwrlv = {"kartusepwrlv", "Yes", CV_NETVAR|CV_CHEAT, CV_YesNo, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
|
||||||
static CV_PossibleValue_t kartdebugitem_cons_t[] = {{-1, "MIN"}, {NUMKARTITEMS-1, "MAX"}, {0, NULL}};
|
static CV_PossibleValue_t kartdebugitem_cons_t[] =
|
||||||
|
{
|
||||||
|
#define FOREACH( name, n ) { n, #name }
|
||||||
|
KART_ITEM_ITERATOR,
|
||||||
|
#undef FOREACH
|
||||||
|
{0}
|
||||||
|
};
|
||||||
consvar_t cv_kartdebugitem = {"kartdebugitem", "0", CV_NETVAR|CV_CHEAT|CV_NOSHOWHELP, kartdebugitem_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
|
consvar_t cv_kartdebugitem = {"kartdebugitem", "0", CV_NETVAR|CV_CHEAT|CV_NOSHOWHELP, kartdebugitem_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
static CV_PossibleValue_t kartdebugamount_cons_t[] = {{1, "MIN"}, {255, "MAX"}, {0, NULL}};
|
static CV_PossibleValue_t kartdebugamount_cons_t[] = {{1, "MIN"}, {255, "MAX"}, {0, NULL}};
|
||||||
consvar_t cv_kartdebugamount = {"kartdebugamount", "1", CV_NETVAR|CV_CHEAT|CV_NOSHOWHELP, kartdebugamount_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
|
consvar_t cv_kartdebugamount = {"kartdebugamount", "1", CV_NETVAR|CV_CHEAT|CV_NOSHOWHELP, kartdebugamount_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
consvar_t cv_kartallowgiveitem = {"kartallowgiveitem",
|
||||||
|
#ifdef DEVELOP
|
||||||
|
"Yes",
|
||||||
|
#else
|
||||||
|
"No",
|
||||||
|
#endif
|
||||||
|
CV_NETVAR|CV_CHEAT|CV_NOSHOWHELP, CV_YesNo, NULL, 0, NULL, NULL, 0, 0, NULL
|
||||||
|
};
|
||||||
consvar_t cv_kartdebugshrink = {"kartdebugshrink", "Off", CV_NETVAR|CV_CHEAT|CV_NOSHOWHELP, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
consvar_t cv_kartdebugshrink = {"kartdebugshrink", "Off", CV_NETVAR|CV_CHEAT|CV_NOSHOWHELP, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
consvar_t cv_kartdebugdistribution = {"kartdebugdistribution", "Off", CV_NETVAR|CV_CHEAT|CV_NOSHOWHELP, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
consvar_t cv_kartdebugdistribution = {"kartdebugdistribution", "Off", CV_NETVAR|CV_CHEAT|CV_NOSHOWHELP, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
consvar_t cv_kartdebughuddrop = {"kartdebughuddrop", "Off", CV_NETVAR|CV_CHEAT|CV_NOSHOWHELP, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
consvar_t cv_kartdebughuddrop = {"kartdebughuddrop", "Off", CV_NETVAR|CV_CHEAT|CV_NOSHOWHELP, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
|
@ -587,6 +604,8 @@ void D_RegisterServerCommands(void)
|
||||||
RegisterNetXCmd(XD_MODIFYVOTE, Got_ModifyVotecmd);
|
RegisterNetXCmd(XD_MODIFYVOTE, Got_ModifyVotecmd);
|
||||||
RegisterNetXCmd(XD_PICKVOTE, Got_PickVotecmd);
|
RegisterNetXCmd(XD_PICKVOTE, Got_PickVotecmd);
|
||||||
|
|
||||||
|
RegisterNetXCmd(XD_GIVEITEM, Got_GiveItemcmd);
|
||||||
|
|
||||||
// Remote Administration
|
// Remote Administration
|
||||||
CV_RegisterVar(&cv_dummyjoinpassword);
|
CV_RegisterVar(&cv_dummyjoinpassword);
|
||||||
COM_AddCommand("joinpassword", Command_ChangeJoinPassword_f);
|
COM_AddCommand("joinpassword", Command_ChangeJoinPassword_f);
|
||||||
|
|
@ -645,6 +664,8 @@ void D_RegisterServerCommands(void)
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
COM_AddCommand("kartgiveitem", Command_KartGiveItem_f);
|
||||||
|
|
||||||
// for master server connection
|
// for master server connection
|
||||||
AddMServCommands();
|
AddMServCommands();
|
||||||
|
|
||||||
|
|
@ -5726,6 +5747,41 @@ static void Got_PickVotecmd(UINT8 **cp, INT32 playernum)
|
||||||
Y_SetupVoteFinish(pick, level);
|
Y_SetupVoteFinish(pick, level);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void Got_GiveItemcmd(UINT8 **cp, INT32 playernum)
|
||||||
|
{
|
||||||
|
int item;
|
||||||
|
int amt;
|
||||||
|
|
||||||
|
INT32 *kartstuff;
|
||||||
|
|
||||||
|
item = READSINT8 (*cp);
|
||||||
|
amt = READUINT8 (*cp);
|
||||||
|
|
||||||
|
if (
|
||||||
|
( netgame && ! cv_kartallowgiveitem.value ) ||
|
||||||
|
( item < KITEM_SAD || item >= NUMKARTITEMS )
|
||||||
|
)
|
||||||
|
{
|
||||||
|
CONS_Alert(CONS_WARNING,
|
||||||
|
M_GetText ("Illegal give item received from %s\n"),
|
||||||
|
player_names[playernum]);
|
||||||
|
if (server)
|
||||||
|
{
|
||||||
|
XBOXSTATIC UINT8 buf[2];
|
||||||
|
|
||||||
|
buf[0] = (UINT8)playernum;
|
||||||
|
buf[1] = KICK_MSG_CON_FAIL;
|
||||||
|
SendNetXCmd(XD_KICK, &buf, 2);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
kartstuff = players[playernum].kartstuff;
|
||||||
|
|
||||||
|
kartstuff[k_itemtype] = item;
|
||||||
|
kartstuff[k_itemamount] = amt;
|
||||||
|
}
|
||||||
|
|
||||||
/** Prints the number of displayplayers[0].
|
/** Prints the number of displayplayers[0].
|
||||||
*
|
*
|
||||||
* \todo Possibly remove this; it was useful for debugging at one point.
|
* \todo Possibly remove this; it was useful for debugging at one point.
|
||||||
|
|
@ -5911,6 +5967,80 @@ static void Command_Archivetest_f(void)
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/** Give yourself an, optional quantity or one of, an item.
|
||||||
|
*
|
||||||
|
* \sa cv_kartallowgiveitem
|
||||||
|
*/
|
||||||
|
static void Command_KartGiveItem_f(void)
|
||||||
|
{
|
||||||
|
char buf[2];
|
||||||
|
|
||||||
|
int ac;
|
||||||
|
const char *name;
|
||||||
|
int item;
|
||||||
|
|
||||||
|
const char * str;
|
||||||
|
|
||||||
|
int i;
|
||||||
|
|
||||||
|
/* Allow always in local games. */
|
||||||
|
if (! netgame || cv_kartallowgiveitem.value)
|
||||||
|
{
|
||||||
|
ac = COM_Argc();
|
||||||
|
if (ac < 2)
|
||||||
|
{
|
||||||
|
CONS_Printf(
|
||||||
|
"kartgiveitem <item> [amount]: Give yourself an item\n"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
item = NUMKARTITEMS;
|
||||||
|
|
||||||
|
name = COM_Argv(1);
|
||||||
|
|
||||||
|
if (isdigit(*name) || *name == '-')
|
||||||
|
{
|
||||||
|
item = atoi(name);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (i = 0; ( str = kartdebugitem_cons_t[i].strvalue ); ++i)
|
||||||
|
{
|
||||||
|
if (strcasecmp(name, str) == 0)
|
||||||
|
{
|
||||||
|
item = kartdebugitem_cons_t[i].value;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item < NUMKARTITEMS)
|
||||||
|
{
|
||||||
|
buf[0] = item;
|
||||||
|
|
||||||
|
if (ac > 2)
|
||||||
|
buf[1] = atoi(COM_Argv(2));
|
||||||
|
else
|
||||||
|
buf[1] = 1;/* default to one quantity */
|
||||||
|
|
||||||
|
SendNetXCmd(XD_GIVEITEM, buf, 2);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
CONS_Alert(CONS_WARNING,
|
||||||
|
"No item matches '%s'\n",
|
||||||
|
name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
CONS_Alert(CONS_NOTICE,
|
||||||
|
"The server does not allow this.\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/** Makes a change to ::cv_forceskin take effect immediately.
|
/** Makes a change to ::cv_forceskin take effect immediately.
|
||||||
*
|
*
|
||||||
* \sa Command_SetForcedSkin_f, cv_forceskin, forcedskin
|
* \sa Command_SetForcedSkin_f, cv_forceskin, forcedskin
|
||||||
|
|
|
||||||
|
|
@ -126,7 +126,7 @@ extern consvar_t cv_kartusepwrlv;
|
||||||
|
|
||||||
extern consvar_t cv_votetime;
|
extern consvar_t cv_votetime;
|
||||||
|
|
||||||
extern consvar_t cv_kartdebugitem, cv_kartdebugamount, cv_kartdebugshrink, cv_kartdebugdistribution, cv_kartdebughuddrop;
|
extern consvar_t cv_kartdebugitem, cv_kartdebugamount, cv_kartallowgiveitem, cv_kartdebugshrink, cv_kartdebugdistribution, cv_kartdebughuddrop;
|
||||||
extern consvar_t cv_kartdebugcheckpoint, cv_kartdebugnodes, cv_kartdebugcolorize;
|
extern consvar_t cv_kartdebugcheckpoint, cv_kartdebugnodes, cv_kartdebugcolorize;
|
||||||
extern consvar_t cv_kartdebugwaypoints;
|
extern consvar_t cv_kartdebugwaypoints;
|
||||||
|
|
||||||
|
|
@ -187,9 +187,10 @@ typedef enum
|
||||||
XD_ACCEPTPARTYINVITE, // 28
|
XD_ACCEPTPARTYINVITE, // 28
|
||||||
XD_LEAVEPARTY, // 29
|
XD_LEAVEPARTY, // 29
|
||||||
XD_CANCELPARTYINVITE, // 30
|
XD_CANCELPARTYINVITE, // 30
|
||||||
|
XD_GIVEITEM, // 31
|
||||||
#ifdef HAVE_BLUA
|
#ifdef HAVE_BLUA
|
||||||
XD_LUACMD, // 31
|
XD_LUACMD, // 32
|
||||||
XD_LUAVAR, // 32
|
XD_LUAVAR, // 33
|
||||||
#endif
|
#endif
|
||||||
MAXNETXCMD
|
MAXNETXCMD
|
||||||
} netxcmd_t;
|
} netxcmd_t;
|
||||||
|
|
|
||||||
|
|
@ -200,29 +200,39 @@ typedef enum
|
||||||
NUMPOWERS
|
NUMPOWERS
|
||||||
} powertype_t;
|
} powertype_t;
|
||||||
|
|
||||||
|
/*
|
||||||
|
To use: #define FOREACH( name, number )
|
||||||
|
Do with it whatever you want.
|
||||||
|
Run this macro, then #undef FOREACH afterward
|
||||||
|
*/
|
||||||
|
#define KART_ITEM_ITERATOR \
|
||||||
|
FOREACH (SAD, -1),\
|
||||||
|
FOREACH (NONE, 0),\
|
||||||
|
FOREACH (SNEAKER, 1),\
|
||||||
|
FOREACH (ROCKETSNEAKER, 2),\
|
||||||
|
FOREACH (INVINCIBILITY, 3),\
|
||||||
|
FOREACH (BANANA, 4),\
|
||||||
|
FOREACH (EGGMAN, 5),\
|
||||||
|
FOREACH (ORBINAUT, 6),\
|
||||||
|
FOREACH (JAWZ, 7),\
|
||||||
|
FOREACH (MINE, 8),\
|
||||||
|
FOREACH (BALLHOG, 9),\
|
||||||
|
FOREACH (SPB, 10),\
|
||||||
|
FOREACH (GROW, 11),\
|
||||||
|
FOREACH (SHRINK, 12),\
|
||||||
|
FOREACH (THUNDERSHIELD, 13),\
|
||||||
|
FOREACH (BUBBLESHIELD, 14),\
|
||||||
|
FOREACH (FLAMESHIELD, 15),\
|
||||||
|
FOREACH (HYUDORO, 16),\
|
||||||
|
FOREACH (POGOSPRING, 17),\
|
||||||
|
FOREACH (SUPERRING, 18),\
|
||||||
|
FOREACH (KITCHENSINK, 19)
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
KITEM_SAD = -1,
|
#define FOREACH( name, n ) KITEM_ ## name = n
|
||||||
KITEM_NONE = 0,
|
KART_ITEM_ITERATOR,
|
||||||
KITEM_SNEAKER,
|
#undef FOREACH
|
||||||
KITEM_ROCKETSNEAKER,
|
|
||||||
KITEM_INVINCIBILITY,
|
|
||||||
KITEM_BANANA,
|
|
||||||
KITEM_EGGMAN,
|
|
||||||
KITEM_ORBINAUT,
|
|
||||||
KITEM_JAWZ,
|
|
||||||
KITEM_MINE,
|
|
||||||
KITEM_BALLHOG,
|
|
||||||
KITEM_SPB,
|
|
||||||
KITEM_GROW,
|
|
||||||
KITEM_SHRINK,
|
|
||||||
KITEM_THUNDERSHIELD,
|
|
||||||
KITEM_BUBBLESHIELD,
|
|
||||||
KITEM_FLAMESHIELD,
|
|
||||||
KITEM_HYUDORO,
|
|
||||||
KITEM_POGOSPRING,
|
|
||||||
KITEM_SUPERRING,
|
|
||||||
KITEM_KITCHENSINK,
|
|
||||||
|
|
||||||
NUMKARTITEMS,
|
NUMKARTITEMS,
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9115,27 +9115,9 @@ struct {
|
||||||
|
|
||||||
// SRB2Kart
|
// SRB2Kart
|
||||||
// kartitems_t
|
// kartitems_t
|
||||||
{"KITEM_SAD",KITEM_SAD}, // Actual items (can be set for k_itemtype)
|
#define FOREACH( name, n ) { #name, KITEM_ ## name }
|
||||||
{"KITEM_NONE",KITEM_NONE},
|
KART_ITEM_ITERATOR, // Actual items (can be set for k_itemtype)
|
||||||
{"KITEM_SNEAKER",KITEM_SNEAKER},
|
#undef FOREACH
|
||||||
{"KITEM_ROCKETSNEAKER",KITEM_ROCKETSNEAKER},
|
|
||||||
{"KITEM_INVINCIBILITY",KITEM_INVINCIBILITY},
|
|
||||||
{"KITEM_BANANA",KITEM_BANANA},
|
|
||||||
{"KITEM_EGGMAN",KITEM_EGGMAN},
|
|
||||||
{"KITEM_ORBINAUT",KITEM_ORBINAUT},
|
|
||||||
{"KITEM_JAWZ",KITEM_JAWZ},
|
|
||||||
{"KITEM_MINE",KITEM_MINE},
|
|
||||||
{"KITEM_BALLHOG",KITEM_BALLHOG},
|
|
||||||
{"KITEM_SPB",KITEM_SPB},
|
|
||||||
{"KITEM_GROW",KITEM_GROW},
|
|
||||||
{"KITEM_SHRINK",KITEM_SHRINK},
|
|
||||||
{"KITEM_THUNDERSHIELD",KITEM_THUNDERSHIELD},
|
|
||||||
{"KITEM_BUBBLESHIELD",KITEM_BUBBLESHIELD},
|
|
||||||
{"KITEM_FLAMESHIELD",KITEM_FLAMESHIELD},
|
|
||||||
{"KITEM_HYUDORO",KITEM_HYUDORO},
|
|
||||||
{"KITEM_POGOSPRING",KITEM_POGOSPRING},
|
|
||||||
{"KITEM_SUPERRING",KITEM_SUPERRING},
|
|
||||||
{"KITEM_KITCHENSINK",KITEM_KITCHENSINK},
|
|
||||||
{"NUMKARTITEMS",NUMKARTITEMS},
|
{"NUMKARTITEMS",NUMKARTITEMS},
|
||||||
{"KRITEM_TRIPLESNEAKER",KRITEM_TRIPLESNEAKER}, // Additional roulette IDs (not usable for much in Lua besides K_GetItemPatch)
|
{"KRITEM_TRIPLESNEAKER",KRITEM_TRIPLESNEAKER}, // Additional roulette IDs (not usable for much in Lua besides K_GetItemPatch)
|
||||||
{"KRITEM_TRIPLEBANANA",KRITEM_TRIPLEBANANA},
|
{"KRITEM_TRIPLEBANANA",KRITEM_TRIPLEBANANA},
|
||||||
|
|
|
||||||
|
|
@ -629,6 +629,7 @@ void K_RegisterKartStuff(void)
|
||||||
CV_RegisterVar(&cv_kartdebugitem);
|
CV_RegisterVar(&cv_kartdebugitem);
|
||||||
CV_RegisterVar(&cv_kartdebugamount);
|
CV_RegisterVar(&cv_kartdebugamount);
|
||||||
CV_RegisterVar(&cv_kartdebugshrink);
|
CV_RegisterVar(&cv_kartdebugshrink);
|
||||||
|
CV_RegisterVar(&cv_kartallowgiveitem);
|
||||||
CV_RegisterVar(&cv_kartdebugdistribution);
|
CV_RegisterVar(&cv_kartdebugdistribution);
|
||||||
CV_RegisterVar(&cv_kartdebughuddrop);
|
CV_RegisterVar(&cv_kartdebughuddrop);
|
||||||
CV_RegisterVar(&cv_kartdebugwaypoints);
|
CV_RegisterVar(&cv_kartdebugwaypoints);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue