NS: Fix ns_remove_upgrade() native
This commit is contained in:
parent
a35af02494
commit
aa5c340029
|
@ -31,6 +31,7 @@ TitleManager TitleMan;
|
|||
ParticleManager ParticleMan;
|
||||
|
||||
void MFuncs_Initialize(char *base);
|
||||
void MPlayerFuncs_Initialize(char *base);
|
||||
|
||||
// Native register calls here
|
||||
void AddNatives_MemberFunc();
|
||||
|
@ -100,5 +101,6 @@ void OnAmxxAttach()
|
|||
DLCLOSE(DLLBase);
|
||||
|
||||
MFuncs_Initialize(FuncBase);
|
||||
MPlayerFuncs_Initialize(FuncBase);
|
||||
}
|
||||
|
||||
|
|
|
@ -20,6 +20,16 @@
|
|||
|
||||
#include "GameManager.h"
|
||||
#include "CPlayer.h"
|
||||
#include "FastDelegate.h"
|
||||
|
||||
using namespace fastdelegate::detail;
|
||||
|
||||
static bool (GenericClass::*MFP_SetResearchDone)(int inMessageID, bool inState);
|
||||
|
||||
void MPlayerFuncs_Initialize(char *base)
|
||||
{
|
||||
set_mfp(MFP_SetResearchDone, MFP(MEMBER_SET_RESEARCH_DONE));
|
||||
};
|
||||
|
||||
// Float:ns_get_res(Player)
|
||||
static cell AMX_NATIVE_CALL ns_get_res(AMX *amx, cell *params)
|
||||
|
@ -378,6 +388,9 @@ static cell AMX_NATIVE_CALL ns_remove_upgrade(AMX *amx, cell *params)
|
|||
|
||||
if (bfound)
|
||||
{
|
||||
void *pTechTree = reinterpret_cast<char*>(player->GetEdict()->pvPrivateData) + MAKE_OFFSET(COMBAT_TECHTREE);
|
||||
(reinterpret_cast<GenericClass *>(pTechTree)->*(MFP_SetResearchDone))(params[2], false);
|
||||
|
||||
if (afound)
|
||||
{
|
||||
return 2;
|
||||
|
|
|
@ -122,6 +122,10 @@
|
|||
#define OFFSET_WIN_UPGRADES_ACTIVE 0x198C
|
||||
#define OFFSET_LIN_UPGRADES_ACTIVE 0x19A0
|
||||
|
||||
#define OFFSET_WIN_COMBAT_TECHTREE 0x1998
|
||||
#define OFFSET_LIN_COMBAT_TECHTREE 0x19AC
|
||||
|
||||
|
||||
|
||||
// TODO: Symbols / signatures instead
|
||||
// Not actually offsets, but easier to use MAKE_OFFSET stuff for this :o
|
||||
|
@ -147,7 +151,9 @@
|
|||
#define OFFSET_WIN_MEMBER_TRIGGER_WELDABLE MAKE_MEMBER_OFFSET(0x000A0E20)
|
||||
#define OFFSET_LIN_MEMBER_TRIGGER_WELDABLE MAKE_MEMBER_OFFSET(0x00232840)
|
||||
|
||||
|
||||
// Research: bool AvHTechTree::SetResearchDone(AvHMessageID inMessageID, bool inState)
|
||||
#define OFFSET_WIN_MEMBER_SET_RESEARCH_DONE MAKE_MEMBER_OFFSET(0x0009EC40)
|
||||
#define OFFSET_LIN_MEMBER_SET_RESEARCH_DONE MAKE_MEMBER_OFFSET(0x0022E740)
|
||||
|
||||
// Game Rules: AvHGameRules *GetGameRules(void)
|
||||
#define OFFSET_WIN_GETGAMERULES MAKE_MEMBER_OFFSET(0x00068000)
|
||||
|
|
Loading…
Reference in New Issue
Block a user