mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-12-10 10:02:41 +00:00
Fix loading follower default colour
Also corrects an issue where the last two skincolours were not being copied to the followercolor table
This commit is contained in:
parent
ca3525a81a
commit
1cae2e1502
3 changed files with 33 additions and 30 deletions
|
|
@ -831,27 +831,6 @@ void D_RegisterClientCommands(void)
|
||||||
{
|
{
|
||||||
INT32 i;
|
INT32 i;
|
||||||
|
|
||||||
for (i = 0; i < MAXSKINCOLORS; i++)
|
|
||||||
{
|
|
||||||
Color_cons_t[i].value = i;
|
|
||||||
Color_cons_t[i].strvalue = skincolors[i].name;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 2; i < MAXSKINCOLORS; i++)
|
|
||||||
{
|
|
||||||
Followercolor_cons_t[i].value = i-2;
|
|
||||||
Followercolor_cons_t[i].strvalue = skincolors[i-2].name;
|
|
||||||
}
|
|
||||||
|
|
||||||
Followercolor_cons_t[1].value = FOLLOWERCOLOR_MATCH;
|
|
||||||
Followercolor_cons_t[1].strvalue = "Match"; // Add "Match" option, which will make the follower color match the player's
|
|
||||||
|
|
||||||
Followercolor_cons_t[0].value = FOLLOWERCOLOR_OPPOSITE;
|
|
||||||
Followercolor_cons_t[0].strvalue = "Opposite"; // Add "Opposite" option, ...which is like "Match", but for coloropposite.
|
|
||||||
|
|
||||||
Color_cons_t[MAXSKINCOLORS].value = Followercolor_cons_t[MAXSKINCOLORS+2].value = 0;
|
|
||||||
Color_cons_t[MAXSKINCOLORS].strvalue = Followercolor_cons_t[MAXSKINCOLORS+2].strvalue = NULL;
|
|
||||||
|
|
||||||
// Set default player names
|
// Set default player names
|
||||||
// Monster Iestyn (12/08/19): not sure where else I could have actually put this, but oh well
|
// Monster Iestyn (12/08/19): not sure where else I could have actually put this, but oh well
|
||||||
for (i = 0; i < MAXPLAYERS; i++)
|
for (i = 0; i < MAXPLAYERS; i++)
|
||||||
|
|
|
||||||
|
|
@ -3161,7 +3161,7 @@ void readfollower(MYFILE *f)
|
||||||
followers[numfollowers].bobspeed = TICRATE*2;
|
followers[numfollowers].bobspeed = TICRATE*2;
|
||||||
followers[numfollowers].bobamp = 4*FRACUNIT;
|
followers[numfollowers].bobamp = 4*FRACUNIT;
|
||||||
followers[numfollowers].hitconfirmtime = TICRATE;
|
followers[numfollowers].hitconfirmtime = TICRATE;
|
||||||
followers[numfollowers].defaultcolor = SKINCOLOR_GREEN;
|
followers[numfollowers].defaultcolor = FOLLOWERCOLOR_MATCH;
|
||||||
strcpy(followers[numfollowers].icon, "M_NORANK");
|
strcpy(followers[numfollowers].icon, "M_NORANK");
|
||||||
|
|
||||||
do
|
do
|
||||||
|
|
@ -3215,7 +3215,20 @@ void readfollower(MYFILE *f)
|
||||||
}
|
}
|
||||||
else if (fastcmp(word, "DEFAULTCOLOR"))
|
else if (fastcmp(word, "DEFAULTCOLOR"))
|
||||||
{
|
{
|
||||||
followers[numfollowers].defaultcolor = get_number(word2);
|
INT32 j;
|
||||||
|
for (j = 0; j < numskincolors +2; j++) // +2 because of Match and Opposite
|
||||||
|
{
|
||||||
|
if (!stricmp(Followercolor_cons_t[j].strvalue, word2))
|
||||||
|
{
|
||||||
|
followers[numfollowers].defaultcolor = Followercolor_cons_t[j].value;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (j == numskincolors+2)
|
||||||
|
{
|
||||||
|
deh_warning("Follower %d: unknown follower color '%s'", numfollowers, word2);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (fastcmp(word, "SCALE"))
|
else if (fastcmp(word, "SCALE"))
|
||||||
{
|
{
|
||||||
|
|
@ -3373,13 +3386,6 @@ if ((signed)followers[numfollowers].field < threshold) \
|
||||||
|
|
||||||
#undef FALLBACK
|
#undef FALLBACK
|
||||||
|
|
||||||
// Special case for color I suppose
|
|
||||||
if (followers[numfollowers].defaultcolor > (unsigned)(numskincolors-1))
|
|
||||||
{
|
|
||||||
followers[numfollowers].defaultcolor = SKINCOLOR_GREEN;
|
|
||||||
deh_warning("Follower \'%s\': Value for 'color' should be between 1 and %d.\n", dname, numskincolors-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
// also check if we forgot states. If we did, we will set any missing state to the follower's idlestate.
|
// also check if we forgot states. If we did, we will set any missing state to the follower's idlestate.
|
||||||
// Print a warning in case we don't have a fallback and set the state to S_INVISIBLE (rather than S_NULL) if unavailable.
|
// Print a warning in case we don't have a fallback and set the state to S_INVISIBLE (rather than S_NULL) if unavailable.
|
||||||
|
|
||||||
|
|
|
||||||
18
src/g_game.c
18
src/g_game.c
|
|
@ -4263,8 +4263,26 @@ void G_EndGame(void)
|
||||||
// Sets a tad of default info we need.
|
// Sets a tad of default info we need.
|
||||||
void G_LoadGameSettings(void)
|
void G_LoadGameSettings(void)
|
||||||
{
|
{
|
||||||
|
INT32 i;
|
||||||
|
|
||||||
// initialize free sfx slots for skin sounds
|
// initialize free sfx slots for skin sounds
|
||||||
S_InitRuntimeSounds();
|
S_InitRuntimeSounds();
|
||||||
|
|
||||||
|
// Prepare skincolor material.
|
||||||
|
for (i = 0; i < MAXSKINCOLORS; i++)
|
||||||
|
{
|
||||||
|
Color_cons_t[i].value = Followercolor_cons_t[i+2].value = i;
|
||||||
|
Color_cons_t[i].strvalue = Followercolor_cons_t[i+2].strvalue = skincolors[i].name;
|
||||||
|
}
|
||||||
|
|
||||||
|
Followercolor_cons_t[1].value = FOLLOWERCOLOR_MATCH;
|
||||||
|
Followercolor_cons_t[1].strvalue = "Match"; // Add "Match" option, which will make the follower color match the player's
|
||||||
|
|
||||||
|
Followercolor_cons_t[0].value = FOLLOWERCOLOR_OPPOSITE;
|
||||||
|
Followercolor_cons_t[0].strvalue = "Opposite"; // Add "Opposite" option, ...which is like "Match", but for coloropposite.
|
||||||
|
|
||||||
|
Color_cons_t[MAXSKINCOLORS].value = Followercolor_cons_t[MAXSKINCOLORS+2].value = 0;
|
||||||
|
Color_cons_t[MAXSKINCOLORS].strvalue = Followercolor_cons_t[MAXSKINCOLORS+2].strvalue = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define GD_VERSIONCHECK 0xBA5ED444 // Change every major version, as usual
|
#define GD_VERSIONCHECK 0xBA5ED444 // Change every major version, as usual
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue