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

Method Sprite_Handle_Bird_Right

Source/Fodder.cpp:13106–13176  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

13104}
13105
13106void cFodder::Sprite_Handle_Bird_Right(sSprite* pSprite) {
13107 pSprite->field_8 = 0xD4;
13108 pSprite->field_2C = eSprite_Draw_OnTop;
13109
13110 if (!pSprite->field_12) {
13111 pSprite->field_57 = 8;
13112 pSprite->field_12 = 1;
13113
13114 int16 Data0 = tool_RandomGet();
13115 int16 Data4 = Data0;
13116 Data0 &= 3;
13117 Data0 += 1;
13118
13119 pSprite->field_A = Data0;
13120 if (Data4 < 0)
13121 pSprite->field_12 = -1;
13122 }
13123
13124 //loc_1C950
13125 int16 Data0 = pSprite->field_12;
13126 pSprite->field_A += Data0;
13127 if (!pSprite->field_A || pSprite->field_A >= 5) {
13128 Data0 = -Data0;
13129 pSprite->field_12 = Data0;
13130 }
13131
13132 bool cf = false;
13133
13134 if (pSprite->field_2 < 0 && pSprite->field_2 + 32768 > 0)
13135 cf = true;
13136
13137 pSprite->field_2 += 32768;
13138 pSprite->field_0 += 1 + (cf == true ? 1 : 0);
13139
13140 if (Data0 < 0) {
13141 if (pSprite->field_2 < 0 && pSprite->field_2 + 32768 > 0)
13142 cf = true;
13143 else
13144 cf = false;
13145
13146 pSprite->field_2 += 32768;
13147 pSprite->field_0 += 0 + (cf == true ? 1 : 0);
13148 }
13149
13150 //loc_1C9B0
13151 if (pSprite->field_5C)
13152 goto loc_1CA20;
13153
13154 if (pSprite->field_57) {
13155 pSprite->field_57 -= 1;
13156 goto loc_1CA20;
13157 }
13158
13159 //loc_1C9D3
13160 pSprite->field_57 = 0x3F;
13161 Data0 = tool_RandomGet() & 0x3F;
13162 Data0 = -Data0;
13163 Data0 += mMapTile_TargetX >> 16;

Callers

nothing calls this directly

Calls 1

getTileTypeMethod · 0.80

Tested by

no test coverage detected