| 11985 | } |
| 11986 | |
| 11987 | void cFodder::Sprite_Handle_Floating_Dead_Soldier(sSprite* pSprite) { |
| 11988 | int16 Data0, Data4; |
| 11989 | |
| 11990 | pSprite->field_8 = 0x9E; |
| 11991 | |
| 11992 | if (!pSprite->field_12) { |
| 11993 | pSprite->field_12 = 0x10; |
| 11994 | pSprite->field_10 = 0x100; |
| 11995 | } |
| 11996 | |
| 11997 | if (pSprite->field_10 <= 0x100) |
| 11998 | goto loc_1B35A; |
| 11999 | |
| 12000 | if (pSprite->field_12 == 0x10) |
| 12001 | goto loc_1B350; |
| 12002 | |
| 12003 | pSprite->field_12 = 0x10; |
| 12004 | goto loc_1B35A; |
| 12005 | |
| 12006 | loc_1B350:; |
| 12007 | pSprite->field_12 = -16; |
| 12008 | |
| 12009 | loc_1B35A:; |
| 12010 | |
| 12011 | Sprite_XY_Store(pSprite); |
| 12012 | Sprite_Movement_Calculate(pSprite); |
| 12013 | Data0 = -3; |
| 12014 | Data4 = 8; |
| 12015 | Map_Terrain_Get_Type_And_Walkable(pSprite, Data0, Data4); |
| 12016 | if (Data4 < eTerrainFeature_QuickSand || Data4 > eTerrainFeature_Water) { |
| 12017 | pSprite->field_0 = mStoredSpriteX & 0xFFFF; |
| 12018 | pSprite->field_4 = mStoredSpriteY & 0xFFFF; |
| 12019 | pSprite->field_36 = 0; |
| 12020 | Data0 = pSprite->field_12; |
| 12021 | |
| 12022 | pSprite->field_10 += Data0; |
| 12023 | pSprite->field_10 &= 0x1FE; |
| 12024 | } |
| 12025 | |
| 12026 | //loc_1B3CA |
| 12027 | if (pSprite->field_36 < 4) |
| 12028 | pSprite->field_36++; |
| 12029 | |
| 12030 | pSprite->field_2C = eSprite_Draw_Second; |
| 12031 | } |
| 12032 | |
| 12033 | void cFodder::Sprite_Handle_Text_Complete(sSprite* pSprite) { |
| 12034 | pSprite->field_0 = mMapTile_TargetX >> 16; |
nothing calls this directly
no outgoing calls
no test coverage detected