@@ -2922,6 +2922,28 @@ void cheatClearAreaFlags(uint32_t currentMenuOption)
2922
2922
2923
2923
// Clear the Star Pieces
2924
2924
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
+ }
2925
2947
break ;
2926
2948
}
2927
2949
case AREA_TIK:
@@ -2934,6 +2956,19 @@ void cheatClearAreaFlags(uint32_t currentMenuOption)
2934
2956
2935
2957
// Clear the Star Pieces
2936
2958
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
+ }
2937
2972
break ;
2938
2973
}
2939
2974
case AREA_HEI:
@@ -2952,6 +2987,19 @@ void cheatClearAreaFlags(uint32_t currentMenuOption)
2952
2987
2953
2988
// Clear the Star Pieces
2954
2989
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
+ }
2955
3003
break ;
2956
3004
}
2957
3005
case AREA_GON:
@@ -2976,6 +3024,19 @@ void cheatClearAreaFlags(uint32_t currentMenuOption)
2976
3024
2977
3025
// Clear the Star Pieces
2978
3026
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
+ }
2979
3040
break ;
2980
3041
}
2981
3042
case AREA_MRI:
@@ -3000,6 +3061,21 @@ void cheatClearAreaFlags(uint32_t currentMenuOption)
3000
3061
3001
3062
// Clear the Star Pieces
3002
3063
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
+ }
3003
3079
break ;
3004
3080
}
3005
3081
case AREA_USU:
@@ -3063,6 +3139,19 @@ void cheatClearAreaFlags(uint32_t currentMenuOption)
3063
3139
{
3064
3140
// Clear the regular flags
3065
3141
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
+ }
3066
3155
break ;
3067
3156
}
3068
3157
case AREA_RSH:
@@ -3075,6 +3164,20 @@ void cheatClearAreaFlags(uint32_t currentMenuOption)
3075
3164
3076
3165
// Clear the Star Pieces
3077
3166
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
+ }
3078
3181
break ;
3079
3182
}
3080
3183
case AREA_EKI:
@@ -3099,6 +3202,20 @@ void cheatClearAreaFlags(uint32_t currentMenuOption)
3099
3202
3100
3203
// Clear the Star Pieces
3101
3204
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
+ }
3102
3219
break ;
3103
3220
}
3104
3221
case AREA_BOM:
@@ -3111,6 +3228,19 @@ void cheatClearAreaFlags(uint32_t currentMenuOption)
3111
3228
3112
3229
// Clear the Star Pieces
3113
3230
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
+ }
3114
3244
break ;
3115
3245
}
3116
3246
case AREA_MOO:
0 commit comments