int
__fastcall GmSimDealDamageToTank(
int
result,
int
a2,
int
a3,
int
a4)
{
v4 = (_DWORD *)result;
v17 = v4 + 0x2E00;
result = v18(v17[36], a2, a3);
int
__fastcall DealCollateralDamage(
int
result,
float
*a2,
int
a3,
int
a4)
{
v4 = (
int
*)result;
result = GmSimDealDamageToTank((
int
)v4, i, a4, (
int
)(
float
)((
float
)((
float
)a3 * v10) + (
float
)((
float
)a3 * v10)));
int
__fastcall sub_BE464A28(
int
result,
int
a2)
{
result = DealCollateralDamage(result, (
float
*)(a2 + 4), *(_DWORD *)(a2 + 56), *(_DWORD *)(a2 + 40));
int
__fastcall GmSimProcessInstantProjectile(_DWORD *a1,
int
a2,
float
*a3)
{
return
sub_BE464A28((
int
)a1, a2);
int
__fastcall GmSimUpdateProjectiles(
int
result)
{
v1 = (_DWORD *)result;
result = GmSimProcessInstantProjectile(v1, (
int
)v1 + v3, (
float
*)v43);
int
*__fastcall GmSimUpdateSim(
int
*result,
int
a2)
{
v2 = (
int
)result;
GmSimUpdateProjectiles(v2);
int
__fastcall GmSceneCampaignUpdate(
int
a1)
{
GmSimUpdateSim(*(
int
**)(a1 + 0x20), 30);