MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / cb_dispatch

Function cb_dispatch

src/SB/Game/zTalkBox.cpp:1159–1230  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1157 }
1158
1159 S32 cb_dispatch(xBase*, xBase* to, U32 event, const F32* argf, xBase*)
1160 {
1161 shared.delay_events = true;
1162 ztalkbox& e = *(ztalkbox*)to;
1163
1164 switch (event)
1165 {
1166 case eEventReset:
1167 case eEventSceneEnd:
1168 e.reset();
1169 break;
1170 case eEventInvisible:
1171 case eEventFastInvisible:
1172 e.hide();
1173 break;
1174 case eEventVisible:
1175 case eEventFastVisible:
1176 e.show();
1177 break;
1178 case eEventStartConversation:
1179 {
1180 U32 textID = ((U32*)argf == NULL) ? 0 : *(U32*)argf;
1181 e.start_talk(textID, NULL, NULL);
1182 flush_triggered();
1183 break;
1184 }
1185 case eEventEndConversation:
1186 e.stop_talk();
1187 flush_triggered();
1188 break;
1189 case eEventTalkBox_StopWait:
1190 if (argf == NULL)
1191 {
1192 stop_wait(e, NULL, 0);
1193 }
1194 else
1195 {
1196 stop_wait(e, argf, 4);
1197 }
1198 flush_triggered();
1199 break;
1200 case eEventSetText:
1201 if ((U32*)argf != NULL)
1202 {
1203 e.set_text(*(U32*)argf);
1204 }
1205 break;
1206 case eEventAddText:
1207 if ((U32*)argf != NULL)
1208 {
1209 e.add_text(*(U32*)argf);
1210 }
1211 break;
1212 case eEventClearText:
1213 e.clear_text();
1214 break;
1215
1216 case eEventPadPressRight:

Callers

nothing calls this directly

Calls 10

flush_triggeredFunction · 0.85
stop_waitFunction · 0.70
resetMethod · 0.45
hideMethod · 0.45
showMethod · 0.45
start_talkMethod · 0.45
stop_talkMethod · 0.45
set_textMethod · 0.45
add_textMethod · 0.45
clear_textMethod · 0.45

Tested by

no test coverage detected