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

Method Sprite_Animation_SlideOrDie

Source/Fodder.cpp:5092–5134  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5090}
5091
5092int16 cFodder::Sprite_Animation_SlideOrDie(sSprite* pSprite) {
5093 sSprite* Data24 = 0;
5094
5095 // Die animation running?
5096 if (pSprite->field_38 == eSprite_Anim_Die1 || pSprite->field_38 == eSprite_Anim_Die3) {
5097 pSprite->field_18 = eSprite_Explosion;
5098 pSprite->field_26 = 0x1F56;
5099 pSprite->field_28 = -9;
5100 Data24 = pSprite + 1;
5101
5102 Sprite_Destroy(Data24);
5103 if (pSprite->field_22 == eSprite_PersonType_Human)
5104 return -1;
5105
5106 Data24 = pSprite + 2;
5107 Sprite_Destroy(Data24);
5108 return -1;
5109 }
5110
5111 // Slide animation running?
5112 if (pSprite->field_38 == eSprite_Anim_Slide1) {
5113
5114 pSprite->field_36 = -pSprite->field_36;
5115 pSprite->field_38 = eSprite_Anim_Slide2;
5116
5117 }
5118 else if (pSprite->field_38 == eSprite_Anim_Slide2) {
5119 pSprite->field_36 += 6;
5120
5121 if (pSprite->field_36 >= 0) {
5122 pSprite->field_38 = eSprite_Anim_None;
5123 pSprite->field_36 = 0;
5124 }
5125
5126 }
5127 else {
5128 return 0;
5129 }
5130
5131 Sprite_Movement_Calculate(pSprite);
5132 sub_243E9(pSprite);
5133 return -1;
5134}
5135
5136int16 cFodder::Map_Sprite_Check_Around_Position(sSprite* pSprite) {
5137 int16 Data4 = 0x0A;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected