MCPcopy Create free account
hub / github.com/OpenFodder/openfodder / Sprite_Handle_Player_MissionOver

Method Sprite_Handle_Player_MissionOver

Source/Fodder.cpp:15177–15301  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

15175}
15176
15177int16 cFodder::Sprite_Handle_Player_MissionOver(sSprite* pSprite) {
15178
15179 if (!mPhase_Aborted)
15180 if (!mPhase_Complete)
15181 return 0;
15182
15183 int16 Data0 = -1;
15184 int16 Data4 = 8;
15185
15186 Map_Terrain_Get_Type_And_Walkable(pSprite, Data0, Data4);
15187
15188 if (Data4 == eTerrainFeature_Water) {
15189 Data0 = pSprite->field_20;
15190 Data0 -= 8;
15191
15192 if (Data0 >= 0) {
15193 Data0 = 0;
15194 }
15195 else {
15196 Data0 = -Data0;
15197 if (Data0 > 8)
15198 Data0 = 8;
15199 }
15200
15201 pSprite->field_52 = Data0;
15202 }
15203 //loc_1F283
15204
15205 if (pSprite->field_8 == 0x41)
15206 goto loc_1F3C4;
15207
15208 if (pSprite->field_8 == 0x9F)
15209 goto loc_1F340;
15210
15211 if (pSprite->field_8 == 0x38)
15212 goto loc_1F3A2;
15213
15214 pSprite->field_A = 0;
15215 pSprite->field_36 = 0;
15216
15217 if (!mPhase_Aborted) {
15218
15219 Data0 = tool_RandomGet() & 1;
15220 if (Data0 == 0)
15221 goto loc_1F32C;
15222
15223 if (!pSprite->field_52) {
15224 Data0 = tool_RandomGet() & 1;
15225
15226 if (!Data0) {
15227 //loc_1F2F9
15228 pSprite->field_8 = 0x41;
15229 Data0 = tool_RandomGet() & 3;
15230 pSprite->field_A = Data0;
15231 pSprite->field_2A = 1;
15232 Sprite_Create_Player_Shadow(pSprite);
15233 goto loc_1F3C4;
15234 }

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected