Skip to content

Commit 444d01e

Browse files
committed
When clearing flags for a specific area, properly clear the flags for the emails
1 parent 05b100d commit 444d01e

File tree

1 file changed

+130
-0
lines changed

1 file changed

+130
-0
lines changed

ttyd-tools/rel/source/menufunctions.cpp

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2922,6 +2922,28 @@ void cheatClearAreaFlags(uint32_t currentMenuOption)
29222922

29232923
// Clear the Star Pieces
29242924
clearGSWFsRange(5567, 5584);
2925+
2926+
// Clear misc flags not part of the standard gor memory area
2927+
// Set up the flags to clear
2928+
static const uint16_t FlagsToClear[] =
2929+
{
2930+
9, // Post-Chapter 3 Koopie Koo Email
2931+
10, // Post-Chapter 4 Petuni Email
2932+
11, // Email from Boo after Chapter 5 Intermission
2933+
14, // Real Zip Toad Email after Chapter 6
2934+
20, // RDM #4 Email after Chapter 5
2935+
23, // Koopook Email after Chapter 2
2936+
24, // Email from Pine T. Jr. after Chapter 3
2937+
25, // Email from Jolene after Zess Trouble
2938+
26, // Email from Bub-ulber after Mowz Trouble
2939+
27, // Eve Email after Chapter 6
2940+
};
2941+
2942+
uint32_t Size = sizeof(FlagsToClear) / sizeof(FlagsToClear[0]);
2943+
for (uint32_t i = 0; i < Size; i++)
2944+
{
2945+
ttyd::swdrv::swClear(FlagsToClear[i]);
2946+
}
29252947
break;
29262948
}
29272949
case AREA_TIK:
@@ -2934,6 +2956,19 @@ void cheatClearAreaFlags(uint32_t currentMenuOption)
29342956

29352957
// Clear the Star Pieces
29362958
clearGSWFsRange(5585, 5597);
2959+
2960+
// Clear misc flags not part of the standard tik memory area
2961+
// Set up the flags to clear
2962+
static const uint16_t FlagsToClear[] =
2963+
{
2964+
16, // RDM #7 Email after Chapter 7
2965+
};
2966+
2967+
uint32_t Size = sizeof(FlagsToClear) / sizeof(FlagsToClear[0]);
2968+
for (uint32_t i = 0; i < Size; i++)
2969+
{
2970+
ttyd::swdrv::swClear(FlagsToClear[i]);
2971+
}
29372972
break;
29382973
}
29392974
case AREA_HEI:
@@ -2952,6 +2987,19 @@ void cheatClearAreaFlags(uint32_t currentMenuOption)
29522987

29532988
// Clear the Star Pieces
29542989
clearGSWFsRange(5601, 5602);
2990+
2991+
// Clear misc flags not part of the standard nok memory area
2992+
// Set up the flags to clear
2993+
static const uint16_t FlagsToClear[] =
2994+
{
2995+
7, // Frankly Email at right side of town
2996+
};
2997+
2998+
uint32_t Size = sizeof(FlagsToClear) / sizeof(FlagsToClear[0]);
2999+
for (uint32_t i = 0; i < Size; i++)
3000+
{
3001+
ttyd::swdrv::swClear(FlagsToClear[i]);
3002+
}
29553003
break;
29563004
}
29573005
case AREA_GON:
@@ -2976,6 +3024,19 @@ void cheatClearAreaFlags(uint32_t currentMenuOption)
29763024

29773025
// Clear the Star Pieces
29783026
clearGSWFsRange(5608, 5611);
3027+
3028+
// Clear misc flags not part of the standard win memory area
3029+
// Set up the flags to clear
3030+
static const uint16_t FlagsToClear[] =
3031+
{
3032+
17, // RDM #1 Email after getting Flurrie
3033+
};
3034+
3035+
uint32_t Size = sizeof(FlagsToClear) / sizeof(FlagsToClear[0]);
3036+
for (uint32_t i = 0; i < Size; i++)
3037+
{
3038+
ttyd::swdrv::swClear(FlagsToClear[i]);
3039+
}
29793040
break;
29803041
}
29813042
case AREA_MRI:
@@ -3000,6 +3061,21 @@ void cheatClearAreaFlags(uint32_t currentMenuOption)
30003061

30013062
// Clear the Star Pieces
30023063
clearGSWFsRange(5618, 5627);
3064+
3065+
// Clear misc flags not part of the standard tou memory area
3066+
// Set up the flags to clear
3067+
static const uint16_t FlagsToClear[] =
3068+
{
3069+
18, // RDM #2 Email after getting Egg
3070+
250, // RDM #2 Email after getting Egg
3071+
251, // RDM #4 Email after Chapter 5
3072+
};
3073+
3074+
uint32_t Size = sizeof(FlagsToClear) / sizeof(FlagsToClear[0]);
3075+
for (uint32_t i = 0; i < Size; i++)
3076+
{
3077+
ttyd::swdrv::swClear(FlagsToClear[i]);
3078+
}
30033079
break;
30043080
}
30053081
case AREA_USU:
@@ -3063,6 +3139,19 @@ void cheatClearAreaFlags(uint32_t currentMenuOption)
30633139
{
30643140
// Clear the regular flags
30653141
clearGSWFsRange(3574, 3575);
3142+
3143+
// Clear misc flags not part of the standard hom memory area
3144+
// Set up the flags to clear
3145+
static const uint16_t FlagsToClear[] =
3146+
{
3147+
13, // King K. Email after fixing drawbridge
3148+
};
3149+
3150+
uint32_t Size = sizeof(FlagsToClear) / sizeof(FlagsToClear[0]);
3151+
for (uint32_t i = 0; i < Size; i++)
3152+
{
3153+
ttyd::swdrv::swClear(FlagsToClear[i]);
3154+
}
30663155
break;
30673156
}
30683157
case AREA_RSH:
@@ -3075,6 +3164,20 @@ void cheatClearAreaFlags(uint32_t currentMenuOption)
30753164

30763165
// Clear the Star Pieces
30773166
clearGSWFsRange(5648, 5652);
3167+
3168+
// Clear misc flags not part of the standard rsh memory area
3169+
// Set up the flags to clear
3170+
static const uint16_t FlagsToClear[] =
3171+
{
3172+
12, // Email from Pa-Patch on Day 3
3173+
21, // RDM #5 Email on second day
3174+
};
3175+
3176+
uint32_t Size = sizeof(FlagsToClear) / sizeof(FlagsToClear[0]);
3177+
for (uint32_t i = 0; i < Size; i++)
3178+
{
3179+
ttyd::swdrv::swClear(FlagsToClear[i]);
3180+
}
30783181
break;
30793182
}
30803183
case AREA_EKI:
@@ -3099,6 +3202,20 @@ void cheatClearAreaFlags(uint32_t currentMenuOption)
30993202

31003203
// Clear the Star Pieces
31013204
clearGSWFsRange(5654, 5657);
3205+
3206+
// Clear misc flags not part of the standard pik memory area
3207+
// Set up the flags to clear
3208+
static const uint16_t FlagsToClear[] =
3209+
{
3210+
22, // RDM #6 Email after Goldbob cannon
3211+
252, // RDM #6 Email after Goldbob cannon
3212+
};
3213+
3214+
uint32_t Size = sizeof(FlagsToClear) / sizeof(FlagsToClear[0]);
3215+
for (uint32_t i = 0; i < Size; i++)
3216+
{
3217+
ttyd::swdrv::swClear(FlagsToClear[i]);
3218+
}
31023219
break;
31033220
}
31043221
case AREA_BOM:
@@ -3111,6 +3228,19 @@ void cheatClearAreaFlags(uint32_t currentMenuOption)
31113228

31123229
// Clear the Star Pieces
31133230
clearGSWFsRange(5658, 5663);
3231+
3232+
// Clear misc flags not part of the standard bom memory area
3233+
// Set up the flags to clear
3234+
static const uint16_t FlagsToClear[] =
3235+
{
3236+
15, // Rawk Hawk Email after General White quest
3237+
};
3238+
3239+
uint32_t Size = sizeof(FlagsToClear) / sizeof(FlagsToClear[0]);
3240+
for (uint32_t i = 0; i < Size; i++)
3241+
{
3242+
ttyd::swdrv::swClear(FlagsToClear[i]);
3243+
}
31143244
break;
31153245
}
31163246
case AREA_MOO:

0 commit comments

Comments
 (0)