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

Method Sprite_Create_Civilian_Spear2

Source/Fodder.cpp:6921–7008  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6919}
6920
6921int16 cFodder::Sprite_Create_Civilian_Spear2(sSprite* pSprite) {
6922 if (mPhase_Completed_Timer)
6923 return -1;
6924
6925 if (!pSprite->field_2E)
6926 return -1;
6927
6928 int16 Data0 = 1;
6929 sSprite* Data2C = 0, *Data30 = 0;
6930 if (Sprite_Get_Free_Max42(Data0, Data2C, Data30))
6931 return -1;
6932
6933 if (mSprite_Projectile_Counters[2] == 0x14)
6934 return -1;
6935
6936 ++mSprite_Projectile_Counters[2];
6937 Data2C->field_0 = pSprite->field_0;
6938 Data2C->field_4 = pSprite->field_4;
6939 Data2C->field_8 = 0xD7;
6940 Data2C->field_A = 0;
6941 Data2C->field_12 = 9;
6942 Data0 = pSprite->field_62;
6943
6944 Data0 >>= 3;
6945 Data0 += 8;
6946 if (Data0 > 0x10)
6947 Data0 = 0x10;
6948
6949 Data2C->field_12 = Data0;
6950 Data2C->field_18 = eSprite_Civilian_Spear2;
6951 Data2C->field_1E_Big = pSprite->field_1E_Big;
6952 Data2C->field_1E_Big += 0x60000;
6953
6954 Data2C->field_52 = pSprite->field_52;
6955 Data2C->field_22 = pSprite->field_22;
6956 Data2C->field_2C = eSprite_Draw_Second;
6957 Data0 = 0x32;
6958 Data0 += pSprite->field_62;
6959
6960 Data2C->field_4A = Data0;
6961 Data2C->field_36 = 0x18;
6962 Data2C->field_43 = 0;
6963 Data2C->field_44 = 0;
6964 Data2C->field_2E = pSprite->field_2E;
6965 Data2C->field_30 = pSprite->field_30;
6966 Data2C->field_2E += 7;
6967 Data2C->field_52 = 0;
6968 Data2C->field_3A = 0;
6969 Data2C->field_1A_sprite = pSprite;
6970 Data2C->field_2A = 2;
6971 Data2C->field_16 = 0;
6972 Data2C->field_14 = 2;
6973
6974 if (Data2C->field_A == 4)
6975 Data2C->field_14 = -1;
6976
6977 Data2C->field_34 = -1;
6978 Data2C->field_50 = 0;

Callers

nothing calls this directly

Calls 1

getTileTypeMethod · 0.80

Tested by

no test coverage detected