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

Method Sprite_Handle_Helicopter_Terrain_Check

Source/Fodder.cpp:5551–5584  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5549}
5550
5551int16 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
5586void cFodder::sub_23E01(sSprite* pSprite, int16& pData0, int16& pData4) {
5587 if (pSprite->field_44) {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected