Page 1 of 4

23rd April Offsets

Posted: Wed Apr 23, 2003 9:56 am
by ap50
Usual caveat, untested so use at own risk...

Only thing I'm not too sure about is OLDATTACK=xx is this even used? As I can't find it in old .EXE so the offset is still as listed in old release.

Code: Select all

[MacroQuest]
MacroQuestVersion=AP50-20030322
ClientName=eqgame
ClientVersion=Wed Apr 23 03:08:xx 2003
ClientOverride=0
MacroQuestWinClassName=__MacroQuestTray
MacroQuestWinName=MacroQuest

[Function Locations]
WriteChatColor=004E207D
GetRaceByID=004D0A04
GetClassByID=004D7875
GetDeityByID=004D8D17
LeftClick=0
RightClick=0
ScreenItem=0045D8E1
ScreenSpawn=004EB946
NewUIINI=00447E4B
MaxMana=00465B15
Commands=004EAA8C
CmdCleanup=0
MemChecker=004FAA80
MemChecker2=004FE475
MemCheckAddr1=004FE475
MemCheckAddr2=004FE51B
MemChecker3=004FB8C5

[DirectInput8]
Main=0077944C
Keyboard=00778450
Mouse=00779454

[Memory Locations]
Zoning=007601E8
Zones=00760200
SpawnHeader=00760204
Items=00760208
Doors=00760220
SpawnFooter=0076022C
Char=00760240
CharInfo=00760248
Target=0076024C
Guilds=006F453C
Packs=0
*OldAttack=00756596
Mouse=00779458
Attack=007320F8
Spells=0076D9B0
CommandList=005ADE20
DoAbilityList=00736E18
DoAbilityAvailable=00732094
Group=006B0380
GroupCount=006B0238
HSliderItems=0
HSliderMoney=0
PackPanel1=0
PackPanel2=0
clsMain=0
clsItems=00760270
clsSpawns=007601F8
clsInvPanel=0
clsMerchantPanelStatus=0
clsMerchantItemBase=0
clsMerchantSelectedItem=0
clsMerchantSelectedSlotID=0
clsMainNewUI=00771F38
clsMainSpellRefresh=0
clsMainSpellMemId=0
clsMainSpellMemBar=0
clsMainSpellMemGem=0

EncryptPad=005C7D90
EncryptPad2=005C89E0
EncryptPad3=005C81B4

Posted: Wed Apr 23, 2003 4:08 pm
by Jaerin
Actually there are a few errors in your.

Specifically the following:

GetRaceByID
GetClassByID
MemCheckAddr1
Keyboard
clsMainNewUI
EncryptPad2
EncryptPad3

Here is the double and triple checked list:

Code: Select all

[MacroQuest]
MacroQuestVersion=SRC-20030308
ClientName=eqgame
ClientVersion=Wed Apr 23 03:08:xx 2003
ClientOverride=0
MacroQuestWinClassName=__MacroQuestTray
MacroQuestWinName=MacroQuest

[Function Locations]
WriteChatColor=004E207D
GetRaceByID=004D7875
GetClassByID=004D7220
GetDeityByID=004D8D17
LeftClick=0
RightClick=0
ScreenItem=0045D8E1
ScreenSpawn=004EB946
NewUIINI=00447E4B
MaxMana=00465B15
Commands=004EAA8C
CmdCleanup=0
MemChecker=004FAA80
MemChecker2=004FE475
MemCheckAddr1=004FE4E3
MemCheckAddr2=004FE51B
MemChecker3=004FB8C5

[DirectInput8]
Main=0077944C
Keyboard=00779450
Mouse=00779454

[Memory Locations]
Zoning=007601E8
Zones=00760200
SpawnHeader=00760204
Items=00760208
Doors=00760220
SpawnFooter=0076022C
Char=00760240
CharInfo=00760248
Target=0076024C
Guilds=006F453C
Packs=0
OldAttack=0075DC62
Mouse=00779458
Attack=007320F8
Spells=0076D9B0
CommandList=005ADE20
DoAbilityList=00736E18
DoAbilityAvailable=00732094
Group=006B0380
GroupCount=006B0238
HSliderItems=0
HSliderMoney=0
PackPanel1=0
PackPanel2=0
clsMain=0
clsItems=00760270
clsSpawns=007601F8
clsInvPanel=0
clsMerchantPanelStatus=0
clsMerchantItemBase=0
clsMerchantSelectedItem=0
clsMerchantSelectedSlotID=0
clsMainNewUI=007795E8
clsMainSpellRefresh=0
clsMainSpellMemId=0
clsMainSpellMemBar=0
clsMainSpellMemGem=0

EncryptPad=005C7D90
EncryptPad2=005C81B4 
EncryptPad3=005C89E0

.

Posted: Wed Apr 23, 2003 4:46 pm
by Droken
Crashed when I tried anything.

Posted: Wed Apr 23, 2003 4:47 pm
by eqjoe
/who crashes a burns.....

I will look at this when I get home and on a real system.

Posted: Wed Apr 23, 2003 4:49 pm
by kaz
offsets are fine but SPAWNINFO and CHARINFO have been scrambled again.

Posted: Wed Apr 23, 2003 4:54 pm
by Cleric78
I tried both sets of offsets and it crashes you when you /who

Posted: Wed Apr 23, 2003 5:37 pm
by Amadeus
I would advise waiting on a post from Dont_know_at_all

Posted: Wed Apr 23, 2003 5:50 pm
by Jaerin
Looks at his shiny new title...:)

<--------

Just to let you know it does not appear to be an additional memcheck. It appears to be changes to the spawninfo and charinfo structs again. Please be patient while the devs take a look. We will let you know as soon as we have it working.

Jaerin

Posted: Wed Apr 23, 2003 6:18 pm
by Amadeus
gratz :) ...the more the merrier!

Posted: Wed Apr 23, 2003 7:10 pm
by lostinspace
Yes, field offsets in SPAWN struct changed. Here are some that I use (decimal):

name= 1
pNext= 228
spawnID= 328
x= 80
y= 88
z= 92
level= 316
type= 308
class= 322
guild= 376
dir= 76
vistype= 352
targType=307
race= 336

Posted: Wed Apr 23, 2003 9:43 pm
by eqjoe

Code: Select all

typedef struct _SPAWNINFO { 
/*000*/	BYTE	Unknown000;
/*001*/	CHAR	Name[64];
/*065*/ BYTE	Unknown064[11];
/*076*/ FLOAT	Heading;
/*080*/	FLOAT	X;
/*084*/	FLOAT	Unknown080;
/*088*/	FLOAT	Y;
/*092*/	FLOAT	Z;
/*096*/ BYTE	Unknown096[20];
/*116*/	FLOAT	CameraAngle;
/*120*/	BYTE	Unknown120[12];
/*132*/	LPVOID	pActorInfo;
/*136*/	BYTE	Unknown136[84];
/*220*/	DWORD	Zone;
/*224*/	DWORD	Unknown224;
/*228*/	DWORD	pNext;
/*232*/ LPVOID	pCharInfo;
/*236*/	BYTE	Unknown236[4];
/*240*/ DWORD	pPrev;
/*244*/ DWORD	Unknown244;
/*248*/	CHAR	Lastname[32];
/*280*/	BYTE	Unknown280[36];
/*316*/	BYTE	Level;
/*317*/	BYTE	Type;
/*318*/	BYTE	Gender;
/*319*/	BYTE	Unknown319[3];
/*322*/	BYTE	Class;
/*323*/	BYTE	Unknown323[5];
/*328*/	DWORD	SpawnID;
/*332*/	DWORD	MasterID;
/*336*/	DWORD	Race;
/*340*/	BYTE	Unknown340[16];
/*356*/ DWORD	HPCurrent;
/*360*/	BYTE	Unknown360[12];
/*372*/	DWORD	HPMax;
/*376*/	DWORD	GuildID;
} SPAWNINFO, *PSPAWNINFO; 

Code: Select all

typedef struct _CHARINFO {
	BYTE Unknown0000; 
	BYTE Unknown0001; 
	CHAR Name[64];
	CHAR Lastname[70];
	DWORD Unknown0136;
	DWORD Race;
	DWORD Class;
	DWORD Gender;
	DWORD Level;
	DWORD Exp;
	DWORD Face;
	DWORD Mana;
	DWORD BaseHP;
	DWORD Stunned;
	DWORD BaseSTR;
	DWORD BaseSTA;
	DWORD BaseCHA;
	DWORD BaseDEX;
	DWORD BaseINT;
	DWORD BaseAGI;
	DWORD BaseWIS;
	BYTE Unknown0142[172];
	BYTE Language[25];
	BYTE Unknown0273[503];
	SPELLBUFF Buff[21];
	BYTE Unknown0730[1704];
	DWORD SpellBook[256];
	BYTE Unknown2342[1024];
	DWORD MemorizedSpells[8];
	BYTE Unknown2882[56];
	DWORD Plat;
	DWORD Gold;
	DWORD Silver;
	DWORD Copper;
	DWORD BankPlat;
	DWORD BankGold;
	DWORD BankSilver;
	DWORD BankCopper;
	BYTE Unknown2952[32];
	DWORD Skill[120];
	BYTE Unknown3224[132];
	DWORD AutoSplit;
	BYTE Unknown3348[96];


	struct _SPAWNINFO *pSpawn;
	PITEMINFO Inventory[30];
	PITEMINFO Cursor;
	BYTE Unknown3568[420];
	DWORD ZoneBoundId;
	DWORD ZoneBirthId;
	DWORD ZoneOtherId[3];
	FLOAT ZoneBoundX;
	FLOAT ZoneBirthX;
	FLOAT ZoneOtherX[3];
	FLOAT ZoneBoundY;
	FLOAT ZoneBirthY;
	FLOAT ZoneOtherY[3];
	FLOAT ZoneBoundZ;
	FLOAT ZoneBirthZ;
	FLOAT ZoneOtherZ[3];
	BYTE Unknown3652[3548];
	DWORD GuildID;
	BYTE Unknown4736[17];
	WORD Anon;
	BYTE GuildStatus;
BYTE Unknown4756[452];
	DWORD AAExp;
	BYTE Unknown5208[428];
	DWORD AAPoints;	
	BYTE Unknown5689[2508];
	PITEMINFO   Bank[NUM_BANK_SLOTS];
} CHARINFO, *PCHARINFO;


Anyone updated MQ.h yet?

Posted: Wed Apr 23, 2003 9:46 pm
by dont_know_at_all
eqjoe wrote:Anyone updated MQ.h yet?
Anyone test this yet?

There are 16 bank slots anyway.

Posted: Wed Apr 23, 2003 10:07 pm
by eqjoe
dont_know_at_all wrote:
eqjoe wrote:Anyone updated MQ.h yet?
Anyone test this yet?

There are 16 bank slots anyway.
bah... fine :)

Code: Select all

PITEMINFO   Bank[NUM_BANK_SLOTS];
testing now....

Posted: Wed Apr 23, 2003 10:12 pm
by dont_know_at_all
Test the lag situation too, please.

Jaerin reported that it only happens around other PCs.

Posted: Wed Apr 23, 2003 10:54 pm
by eqjoe
in _SPAWNINFO I still need to find:

Light
SpeedRun
Deity
SpeedHeading
LFG
Anon
GM
SpeedX
SpeedY

This is what I have so far:

Code: Select all


typedef struct _SPAWNINFO { 
/*000*/	BYTE	Unknown000;
/*001*/	CHAR	Name[64];
/*065*/ BYTE	Unknown064[11];
/*076*/ FLOAT	Heading;
/*080*/	FLOAT	X;
/*084*/	FLOAT	Unknown080;
/*088*/	FLOAT	Y;
/*092*/	FLOAT	Z;
/*096*/ BYTE	Unknown096[20];
/*116*/	FLOAT	CameraAngle;
/*120*/	BYTE	Unknown120[12];
/*132*/	PACTORINFO	pActorInfo;
/*136*/	BYTE	Unknown136[84];
/*220*/	DWORD	Zone;
/*224*/	DWORD	Unknown224;
/*228*/	struct _SPAWNINFO *pNext;
/*232*/ PCHARINFO	pCharInfo;
/*236*/	BYTE	Unknown236[4];
/*240*/ struct _SPAWNINFO *pPrev;
/*244*/ DWORD	Unknown244;
/*248*/	CHAR	Lastname[32];
/*280*/	BYTE	Unknown280[36];
/*316*/	BYTE	Level;
/*317*/	BYTE	Type;
/*318*/	BYTE	Gender;
/*319*/	BYTE	Unknown319[3];
/*322*/	BYTE	Class;
/*323*/	BYTE	Unknown323[5];
/*328*/	DWORD	SpawnID;
/*332*/	DWORD	MasterID;
/*336*/	DWORD	Race;
/*340*/	BYTE	Unknown340[16];
/*356*/ DWORD	HPCurrent;
/*360*/	BYTE	Unknown360[12];
/*372*/	DWORD	HPMax;
/*376*/	DWORD	GuildID;
} SPAWNINFO, *PSPAWNINFO;