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

Method Sprite_Handle_Bird_Left

Source/Fodder.cpp:13026–13104  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

13024}
13025
13026void cFodder::Sprite_Handle_Bird_Left(sSprite* pSprite) {
13027
13028 pSprite->field_8 = 0xD3;
13029 pSprite->field_2C = eSprite_Draw_OnTop;
13030
13031 if (!pSprite->field_12) {
13032
13033 pSprite->field_57 = 8;
13034 pSprite->field_12 = 1;
13035
13036 int16 Data0 = tool_RandomGet();
13037 int16 Data4 = Data0;
13038 Data0 &= 3;
13039 Data0 += 1;
13040
13041 pSprite->field_A = Data0;
13042 if (Data4 < 0)
13043 pSprite->field_12 = -1;
13044 }
13045
13046 int16 Data0 = pSprite->field_12;
13047 pSprite->field_A += Data0;
13048
13049 if (pSprite->field_A) {
13050 if (pSprite->field_A < 5)
13051 goto loc_1C82D;
13052 }
13053
13054 Data0 = -Data0;
13055 pSprite->field_12 = Data0;
13056
13057loc_1C82D:;
13058 bool cf = false;
13059
13060 if (pSprite->field_2 >= 0 && pSprite->field_2 - 32768 < 0)
13061 cf = true;
13062
13063 pSprite->field_2 -= 32768;
13064 pSprite->field_0 -= 1 + (cf == true ? 1 : 0);
13065
13066
13067 if (Data0 < 0) {
13068 if (pSprite->field_2 >= 0 && pSprite->field_2 - 32768 < 0)
13069 cf = true;
13070 else
13071 cf = false;
13072
13073 pSprite->field_2 -= 32768;
13074 pSprite->field_0 -= 0 + (cf == true ? 1 : 0);
13075 }
13076
13077 if (pSprite->field_5C)
13078 goto loc_1C8C5;
13079
13080 if (!pSprite->field_57)
13081 goto loc_1C87E;
13082
13083 pSprite->field_57 -= 1;

Callers

nothing calls this directly

Calls 1

getTileTypeMethod · 0.80

Tested by

no test coverage detected