1- #include " RegionalDialect/Utils.h"
2-
3- #define SYSTEM_IMPLEMENTATION
4- #include " RegionalDialect/System.h"
1+ #include " System.h"
2+ #include " Mem.h"
53
64namespace rd {
75namespace sys {
@@ -118,7 +116,9 @@ void OptionMain::Callback(void) {
118116 }
119117}
120118
121-
119+ bool ChkViewDic::Callback (uint param_1, uint param_2) {
120+ return Orig (param_1, param_2);
121+ }
122122
123123void Init () {
124124 ScrWork = (int32_t *)rd::hook::SigScan (" game" , " ScrWork" );
@@ -140,35 +140,42 @@ void Init() {
140140 uintptr_t audioLoweringAddr = rd::hook::SigScan (" game" , " audioLoweringAddr" );
141141 uint32_t nop = inst::Nop ().Value ();
142142
143- rd::utils ::Overwrite (audioLoweringAddr, nop);
144- rd::utils ::Overwrite (audioLoweringAddr + 4 , nop);
143+ rd::mem ::Overwrite (audioLoweringAddr, nop);
144+ rd::mem ::Overwrite (audioLoweringAddr + 4 , nop);
145145 }
146146
147- if (rd::config::config[" gamedef" ][" signatures" ][" game" ].has (" OPTmenuMaxCur" )) {
148- uint8_t *OPTmenuMaxCur = (uint8_t *)rd::hook::SigScan (" game" , " OPTmenuMaxCur" );
149- OPTmenuMaxCur[4 ] = 4 ;
150- }
151147
152148 if (rd::config::config[" gamedef" ][" signatures" ][" game" ].has (" SkipModeFix" ))
153- rd::utils ::Overwrite (rd::hook::SigScan (" game" , " SkipModeFix" ), inst::Branch (-284 ).Value ());
149+ rd::mem ::Overwrite (rd::hook::SigScan (" game" , " SkipModeFix" ), inst::Branch (-284 ).Value ());
154150
155151 if (rd::config::config[" gamedef" ][" signatures" ][" game" ].has (" DoZSelection1" ))
156- rd::utils ::Overwrite (rd::hook::SigScan (" game" , " DoZSelection1" ), inst::Branch (-796 ).Value ());
152+ rd::mem ::Overwrite (rd::hook::SigScan (" game" , " DoZSelection1" ), inst::Branch (-796 ).Value ());
157153
158154 if (rd::config::config[" gamedef" ][" signatures" ][" game" ].has (" DoZSelection2" ))
159- rd::utils ::Overwrite (rd::hook::SigScan (" game" , " DoZSelection2" ), inst::Branch (-320 ).Value ());
155+ rd::mem ::Overwrite (rd::hook::SigScan (" game" , " DoZSelection2" ), inst::Branch (-320 ).Value ());
160156
161157 if (rd::config::config[" gamedef" ][" signatures" ][" game" ].has (" ShortcutMenuFix" ))
162- rd::utils ::Overwrite (rd::hook::SigScan (" game" , " ShorcutMenuFix" ), inst::Movz (reg::W0, 0x370 ).Value ());
158+ rd::mem ::Overwrite (rd::hook::SigScan (" game" , " ShorcutMenuFix" ), inst::Movz (reg::W0, 0x370 ).Value ());
163159
164160 HOOK_FUNC (game, GSLflatRectF);
165161 HOOK_FUNC (game, SetFlag);
166162 HOOK_FUNC (game, GetFlag);
167- HOOK_FUNC (game, SpeakerDrawingFunction);
168- HOOK_FUNC (game, OptionDispChip2);
163+
164+ if (rd::config::config[" patchdef" ][" base" ][" addNametags" ].get <bool >()) {
165+
166+ if (rd::config::config[" gamedef" ][" signatures" ][" game" ].has (" OPTmenuMaxCur" )) {
167+ uint8_t *OPTmenuMaxCur = (uint8_t *)rd::hook::SigScan (" game" , " OPTmenuMaxCur" );
168+ OPTmenuMaxCur[4 ] = 4 ;
169+ }
170+
171+ HOOK_FUNC (game, SpeakerDrawingFunction);
172+ HOOK_FUNC (game, OptionDispChip2);
173+ HOOK_FUNC (game, OptionMain);
174+ }
175+
169176 HOOK_FUNC (game, SSEvolume);
170- HOOK_FUNC (game, OptionMain);
171177 HOOK_FUNC (game, SSEplay);
178+ HOOK_FUNC (game, ChkViewDic);
172179}
173180
174181} // namespace sys
0 commit comments