| 5549 | } |
| 5550 | |
| 5551 | int16 cFodder::Sprite_Handle_Helicopter_Terrain_Check(sSprite* pSprite) { |
| 5552 | int16 Data4 = 0x0F; |
| 5553 | int16 Data0 = -10; |
| 5554 | |
| 5555 | Map_Terrain_Get_Type_And_Walkable(pSprite, Data0, Data4); |
| 5556 | switch (Data4) { |
| 5557 | case eTerrainFeature_Rocky: |
| 5558 | case eTerrainFeature_QuickSand: |
| 5559 | case eTerrainFeature_WaterEdge: |
| 5560 | case eTerrainFeature_Water: |
| 5561 | case eTerrainFeature_Sink: |
| 5562 | Data0 = 0x0C; |
| 5563 | break; |
| 5564 | |
| 5565 | case eTerrainFeature_Block: |
| 5566 | Data0 = 0x14; |
| 5567 | break; |
| 5568 | case eTerrainFeature_Rocky2: |
| 5569 | case eTerrainFeature_Drop: |
| 5570 | case eTerrainFeature_Drop2: |
| 5571 | Data0 = 0x0E; |
| 5572 | break; |
| 5573 | |
| 5574 | default: |
| 5575 | return 0; // Correct? |
| 5576 | } |
| 5577 | |
| 5578 | Data4 = pSprite->field_20; |
| 5579 | if (Data4 >= Data0) |
| 5580 | return 0; |
| 5581 | |
| 5582 | ++pSprite->field_20; |
| 5583 | return -1; |
| 5584 | } |
| 5585 | |
| 5586 | void cFodder::sub_23E01(sSprite* pSprite, int16& pData0, int16& pData4) { |
| 5587 | if (pSprite->field_44) { |
nothing calls this directly
no outgoing calls
no test coverage detected