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_ModifyVotecmd(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);
|
||||
#ifdef DELFILE
|
||||
static void Got_Delfilecmd(UINT8 **cp, INT32 playernum);
|
||||
|
|
@ -203,6 +204,8 @@ static void Command_Archivetest_f(void);
|
|||
#endif
|
||||
#endif
|
||||
|
||||
static void Command_KartGiveItem_f(void);
|
||||
|
||||
// =========================================================================
|
||||
// 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};
|
||||
|
||||
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};
|
||||
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_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_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};
|
||||
|
|
@ -587,6 +604,8 @@ void D_RegisterServerCommands(void)
|
|||
RegisterNetXCmd(XD_MODIFYVOTE, Got_ModifyVotecmd);
|
||||
RegisterNetXCmd(XD_PICKVOTE, Got_PickVotecmd);
|
||||
|
||||
RegisterNetXCmd(XD_GIVEITEM, Got_GiveItemcmd);
|
||||
|
||||
// Remote Administration
|
||||
CV_RegisterVar(&cv_dummyjoinpassword);
|
||||
COM_AddCommand("joinpassword", Command_ChangeJoinPassword_f);
|
||||
|
|
@ -645,6 +664,8 @@ void D_RegisterServerCommands(void)
|
|||
#endif
|
||||
#endif
|
||||
|
||||
COM_AddCommand("kartgiveitem", Command_KartGiveItem_f);
|
||||
|
||||
// for master server connection
|
||||
AddMServCommands();
|
||||
|
||||
|
|
@ -5726,6 +5747,41 @@ static void Got_PickVotecmd(UINT8 **cp, INT32 playernum)
|
|||
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].
|
||||
*
|
||||
* \todo Possibly remove this; it was useful for debugging at one point.
|
||||
|
|
@ -5911,6 +5967,80 @@ static void Command_Archivetest_f(void)
|
|||
#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.
|
||||
*
|
||||
* \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_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_kartdebugwaypoints;
|
||||
|
||||
|
|
@ -187,9 +187,10 @@ typedef enum
|
|||
XD_ACCEPTPARTYINVITE, // 28
|
||||
XD_LEAVEPARTY, // 29
|
||||
XD_CANCELPARTYINVITE, // 30
|
||||
XD_GIVEITEM, // 31
|
||||
#ifdef HAVE_BLUA
|
||||
XD_LUACMD, // 31
|
||||
XD_LUAVAR, // 32
|
||||
XD_LUACMD, // 32
|
||||
XD_LUAVAR, // 33
|
||||
#endif
|
||||
MAXNETXCMD
|
||||
} netxcmd_t;
|
||||
|
|
|
|||
|
|
@ -200,29 +200,39 @@ typedef enum
|
|||
NUMPOWERS
|
||||
} 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
|
||||
{
|
||||
KITEM_SAD = -1,
|
||||
KITEM_NONE = 0,
|
||||
KITEM_SNEAKER,
|
||||
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,
|
||||
#define FOREACH( name, n ) KITEM_ ## name = n
|
||||
KART_ITEM_ITERATOR,
|
||||
#undef FOREACH
|
||||
|
||||
NUMKARTITEMS,
|
||||
|
||||
|
|
|
|||
|
|
@ -9115,27 +9115,9 @@ struct {
|
|||
|
||||
// SRB2Kart
|
||||
// kartitems_t
|
||||
{"KITEM_SAD",KITEM_SAD}, // Actual items (can be set for k_itemtype)
|
||||
{"KITEM_NONE",KITEM_NONE},
|
||||
{"KITEM_SNEAKER",KITEM_SNEAKER},
|
||||
{"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},
|
||||
#define FOREACH( name, n ) { #name, KITEM_ ## name }
|
||||
KART_ITEM_ITERATOR, // Actual items (can be set for k_itemtype)
|
||||
#undef FOREACH
|
||||
{"NUMKARTITEMS",NUMKARTITEMS},
|
||||
{"KRITEM_TRIPLESNEAKER",KRITEM_TRIPLESNEAKER}, // Additional roulette IDs (not usable for much in Lua besides K_GetItemPatch)
|
||||
{"KRITEM_TRIPLEBANANA",KRITEM_TRIPLEBANANA},
|
||||
|
|
|
|||
|
|
@ -629,6 +629,7 @@ void K_RegisterKartStuff(void)
|
|||
CV_RegisterVar(&cv_kartdebugitem);
|
||||
CV_RegisterVar(&cv_kartdebugamount);
|
||||
CV_RegisterVar(&cv_kartdebugshrink);
|
||||
CV_RegisterVar(&cv_kartallowgiveitem);
|
||||
CV_RegisterVar(&cv_kartdebugdistribution);
|
||||
CV_RegisterVar(&cv_kartdebughuddrop);
|
||||
CV_RegisterVar(&cv_kartdebugwaypoints);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue