| 5935 | } |
| 5936 | |
| 5937 | int16 cFodder::Sprite_Handle_Vehicle_Sinking(sSprite* pSprite) { |
| 5938 | |
| 5939 | Sound_Play(pSprite, eSound_Effect_Vehicle_Sinking, 0x0F); |
| 5940 | if (!pSprite->field_5C) |
| 5941 | return -1; |
| 5942 | |
| 5943 | int16 Data0 = 1; |
| 5944 | sSprite* Data2C = 0, *Data30 = 0; |
| 5945 | |
| 5946 | if (Sprite_Get_Free_Max42(Data0, Data2C, Data30)) |
| 5947 | return -1; |
| 5948 | |
| 5949 | Data2C->field_0 = pSprite->field_0; |
| 5950 | Data2C->field_2 = pSprite->field_2; |
| 5951 | Data2C->field_4 = pSprite->field_4; |
| 5952 | Data2C->field_6 = pSprite->field_6; |
| 5953 | |
| 5954 | if (dword_3B24B) { |
| 5955 | Data0 = tool_RandomGet() & 0x1F; |
| 5956 | Data0 -= 5; |
| 5957 | Data2C->field_0 += Data0; |
| 5958 | Data0 >>= 4; |
| 5959 | Data0 &= 0x0F; |
| 5960 | Data0 -= 0x0A; |
| 5961 | Data2C->field_4 -= Data0; |
| 5962 | dword_3B24B = 0; |
| 5963 | } |
| 5964 | //loc_24546 |
| 5965 | Data2C->field_20 = pSprite->field_20; |
| 5966 | Data2C->field_52 = 0; |
| 5967 | Data2C->field_2C = eSprite_Draw_OnTop; |
| 5968 | |
| 5969 | Data0 = tool_RandomGet() & 1; |
| 5970 | if (!Data0) { |
| 5971 | Data2C->field_8 = 0xDE; |
| 5972 | Data2C->field_A = 4; |
| 5973 | Data2C->field_18 = eSprite_Vehicle_Sinking_1; |
| 5974 | } |
| 5975 | else { |
| 5976 | Data2C->field_8 = 0xDF; |
| 5977 | Data2C->field_A = 0; |
| 5978 | Data2C->field_18 = eSprite_Vehicle_Sinking_2; |
| 5979 | } |
| 5980 | return 0; |
| 5981 | } |
| 5982 | |
| 5983 | void cFodder::sub_245BF(sSprite* pSprite) { |
| 5984 |
nothing calls this directly
no outgoing calls
no test coverage detected