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

Method Sprite_Handle_Spider_Mine

Source/Fodder.cpp:13973–14013  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

13971}
13972
13973void cFodder::Sprite_Handle_Spider_Mine(sSprite* pSprite) {
13974 int16 Data0, Data4, Data8, DataC, Data10;
13975 sSprite* Data14 = 0;
13976
13977 if (pSprite->field_38)
13978 goto loc_1DC50;
13979
13980 pSprite->field_8 = 0xE2;
13981 if (!pSprite->field_2E) {
13982 pSprite->field_2E = -1;
13983 Data0 = tool_RandomGet() & 0x1E;
13984 pSprite->field_2A = Data0;
13985 }
13986
13987 Data0 = pSprite->field_2A;
13988 Data0 += 2;
13989 Data0 &= 0x1E;
13990 pSprite->field_2A = Data0;
13991
13992 pSprite->field_A = mSprite_SpiderMine_Frames[Data0 / 2];
13993 Data14 = mSquad_Leader;
13994
13995 if (Data14 == INVALID_SPRITE_PTR)
13996 return;
13997
13998 Data0 = Data14->field_0;
13999 Data4 = Data14->field_4;
14000 Data8 = pSprite->field_0;
14001 Data8 += 4;
14002 DataC = pSprite->field_4;
14003 DataC -= 2;
14004 Data10 = 0x20;
14005 Map_Get_Distance_BetweenPoints_Within_Window(Data0, Data4, Data8, DataC);
14006 if (Data0 > 0x0A)
14007 return;
14008
14009loc_1DC50:;
14010 pSprite->field_18 = eSprite_Explosion;
14011 pSprite->field_26 = -32763;
14012 pSprite->field_28 = -3;
14013}
14014
14015void cFodder::Sprite_Handle_Bonus_RankToGeneral(sSprite* pSprite) {
14016 int16 Data0;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected