mirror of
https://github.com/halpz/re3.git
synced 2025-06-29 11:36:25 +00:00
Fixing Projectile code
This commit is contained in:
@ -1,10 +0,0 @@
|
||||
#include "CProjectileInfo.h"
|
||||
|
||||
CProjectileInfo *gaProjectileInfo = (CProjectileInfo *)0x64ED50;
|
||||
CProjectileInfo *CProjectileInfo::ms_apProjectile = (CProjectileInfo *)0x87C748;
|
||||
|
||||
CProjectileInfo *
|
||||
CProjectileInfo::GetProjectileInfo(int32 id)
|
||||
{
|
||||
return &gaProjectileInfo[id];
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include "Object.h"
|
||||
#include "Weapon.h"
|
||||
|
||||
struct CProjectileInfo : public CObject {
|
||||
eWeaponType m_eWeaponType;
|
||||
CEntity *m_pSource;
|
||||
int m_nExplosionTime;
|
||||
char m_bInUse;
|
||||
char field_13;
|
||||
char field_14;
|
||||
char field_15;
|
||||
CVector m_vecPos;
|
||||
|
||||
static CProjectileInfo *GetProjectileInfo(int32 id);
|
||||
static CProjectileInfo *ms_apProjectile;
|
||||
};
|
||||
|
||||
extern CProjectileInfo *gaProjectileInfo;
|
@ -3,6 +3,15 @@
|
||||
#include "ProjectileInfo.h"
|
||||
#include "Projectile.h"
|
||||
|
||||
CProjectileInfo* gaProjectileInfo = (CProjectileInfo*)0x64ED50;
|
||||
CProjectile* (&CProjectileInfo::ms_apProjectile)[32] = *(CProjectile*(*)[32])*(uintptr*)0x87C748;
|
||||
|
||||
WRAPPER void CProjectileInfo::RemoveAllProjectiles(void) { EAXJMP(0x55BB80); }
|
||||
WRAPPER bool CProjectileInfo::RemoveIfThisIsAProjectile(CObject *pObject) { EAXJMP(0x55BBD0); }
|
||||
WRAPPER bool CProjectileInfo::IsProjectileInRange(float x1, float x2, float y1, float y2, float z1, float z2, bool remove) { EAXJMP(0x55BA50); }
|
||||
|
||||
CProjectileInfo*
|
||||
CProjectileInfo::GetProjectileInfo(int32 id)
|
||||
{
|
||||
return &gaProjectileInfo[id];
|
||||
}
|
||||
|
@ -1,11 +1,29 @@
|
||||
#pragma once
|
||||
|
||||
class CEntity;
|
||||
class CObject;
|
||||
class CProjectile;
|
||||
enum eWeaponType;
|
||||
|
||||
class CProjectileInfo
|
||||
{
|
||||
public:
|
||||
eWeaponType m_eWeaponType;
|
||||
CEntity* m_pSource;
|
||||
int m_nExplosionTime;
|
||||
char m_bInUse;
|
||||
char field_13;
|
||||
char field_14;
|
||||
char field_15;
|
||||
CVector m_vecPos;
|
||||
|
||||
public:
|
||||
static CProjectileInfo* GetProjectileInfo(int32 id);
|
||||
static CProjectile* (&ms_apProjectile)[32];
|
||||
|
||||
static bool RemoveIfThisIsAProjectile(CObject *pObject);
|
||||
static void RemoveAllProjectiles(void);
|
||||
static bool IsProjectileInRange(float x1, float x2, float y1, float y2, float z1, float z2, bool remove);
|
||||
};
|
||||
};
|
||||
|
||||
extern CProjectileInfo* gaProjectileInfo;
|
Reference in New Issue
Block a user