| 13104 | } |
| 13105 | |
| 13106 | void 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; |
nothing calls this directly
no test coverage detected