Page 1 of 2

_SPAWNINFO after 2003/04/10

Posted: Wed Apr 09, 2003 11:08 pm
by Rainbean

Code: Select all

#define DEITY_Agnostic              396

/* spawninfo after 2003-04-11 */
typedef struct _SPAWNINFO {
	BYTE Unknownn000[8];      // 00 ~ 08
	PACTORINFO pActorInfo;    // 08 ~ 0C
	BYTE Unknownn001[4];      // 0C ~ 10
	PCHARINFO pCharInfo;      // 10 ~ 14
	FLOAT ModelHeightOffset;  // 14 ~ 18
	FLOAT CameraHeightOffset; // 18 ~ 1C
	CHAR Name[64];            // 1C ~ 5C
	DWORD Zone;               // 5C ~ 60
	BYTE Charmed;             // 60 ~ 61
	BYTE StandState;          // 61 ~ 62
	BYTE Unknown002;          // 62 ~ 63
	BYTE Unknown003;          // 63 ~ 64
	BYTE Light;               // 64 ~ 65
	BYTE Unknown004;          // 65 ~ 66
	BYTE Type;                // 66 ~ 67
	BYTE Class;               // 67 ~ 68
	DWORD Race;               // 68 ~ 6C
	BYTE Gender;              // 6C ~ 6D
	BYTE Level;               // 6D ~ 6E
	BYTE Unknown005[6];       // 6E ~ 74
	FLOAT CameraAngle;        // 74 ~ 78
	FLOAT SpeedRun;           // 78 ~ 7C
	FLOAT Heading;            // 7C ~ 80
	FLOAT Y;                  // 80 ~ 84
	FLOAT SpeedY;             // 84 ~ 88
	FLOAT SpeedZ;             // 88 ~ 8C
	FLOAT Z;                  // 8C ~ 90
	FLOAT X;                  // 90 ~ 94
	BYTE Unknown006[4];       // 94 ~ 98
	FLOAT SpeedX;             // 98 ~ 9C
	FLOAT SpeedHeading;       // 9C ~ A0
	BYTE Unknown007[8];       // A0 ~ A8
	DWORD HPCurrent;          // A8 ~ AC
	DWORD SpawnID;            // AC ~ B0
	DWORD MasterID;           // B0 ~ B4
	DWORD HPMax;              // B4 ~ B8
	DWORD GuildID;            // B8 ~ BC
	BYTE Unknown008[28];      // BC ~ D8
	BYTE Linkdead;            // D8 ~ D9
	BYTE Guide;               // D9 ~ DA // Guide, GM and GM-Admin
	WORD LFG;                 // DA ~ DC
	DWORD LevitationLevel;    // DC ~ E0 // 2 is PC Levitation, 3 is Faimiliar and Dragon's level
	DWORD VisType;            // E0 ~ E4
	struct _SPAWNINFO *pPrev; // E4 ~ E8
	BYTE Unknown010[4];       // E8 ~ EC
	struct _SPAWNINFO *pNext; // EC ~ F0
	BYTE Unknown011[8];       // F0 ~ F8
	DWORD Anon;               // F8 ~ FC
	BYTE Unknown012[4];       // FC ~ 100
	DWORD AFK;                // 100 ~ 104
	DWORD AARank; //fake      // 104 ~ 108
	CHAR Lastname[32];        // 108 ~ 128
	BYTE Unknown014[4];       // 128 ~ 12C
	DWORD Deity;              // 12C ~ 130
	BYTE Unknown015[24];      // 130 ~ 148
} SPAWNINFO, *PSPAWNINFO;
Fixed:
Deity is confirmed.
LFG is confirmed.

Still cannot figure out AARank location, just give it a safe location.
Offsets refer to ap50's post.

Posted: Wed Apr 09, 2003 11:28 pm
by L124RD
Salutations,
So these offsets are tested and work?

Posted: Thu Apr 10, 2003 12:02 am
by Rainbean
It works well, but you might see that I use MQ0311 version and disable detour, i.e. my little program no need memory check cheat.

Posted: Thu Apr 10, 2003 7:27 am
by eq_freak
Nice job :)

Speaking of SPAWNINFO, who here knows the purpose of VisType?

Looking at the source I couldnt really deduct what it does. Is this a GM Invis sort of flag?

Posted: Thu Apr 10, 2003 1:02 pm
by Mckorr
I can't figure out half of the things requested for any number of functions.

Okay, the GetDeityByTeam is for Sullon Zek, but why check it in the mouse functions? Or the target light source? Bunch of stuff like that.

Since I'm not on a Zek server will probably rip that stuff out of the next -MCK build. That should take care of any _SPAWNINFO problems with Deity.

Posted: Thu Apr 10, 2003 6:23 pm
by Mckorr
Causes a bunch of little squares to appear where the last name (surname) should be, otherwise seems to work fine Rainbean.

Posted: Thu Apr 10, 2003 7:25 pm
by Amadeus
Has there been another release of the MQ source since 20030308? I modifying the structure as given above, and used the offsets given above...and eqgame crashes as soon as it starts....

yep amadeus.

Posted: Thu Apr 10, 2003 10:24 pm
by kryologik
I'm getting the same crash even after modifying the spawn struct.

Posted: Fri Apr 11, 2003 9:55 am
by Rainbean
While I just wrote some code to dump mana instead of stupidly tracing ASM, but server down again. :evil:

I would give correct Diety address soon after server up.

Posted: Fri Apr 11, 2003 10:15 am
by Clawed
I chased one GM from PoTranq -> PoKnowledge -> Great Divide -> East Waste -> Crystal Cavern to figure out the correct GM flag. It's funny hunt
That's hilarious. :lol: Although I wonder, why was a GM running through consecutive zones like that? Usually they just /zone places...

Posted: Fri Apr 11, 2003 10:35 am
by Mckorr
Sometimes just for the fun of it, or because they have time to kill. At least Guides do that, travel normally instead of just /zoning, from time to time.

Posted: Fri Apr 11, 2003 11:27 am
by Mckorr
Won't compile. Needs both Guide and GM defined. You only have Guide.

I'll amend that: If you only define one or the other you need to change the code in eqlib.cpp to reflect the change.

Posted: Fri Apr 11, 2003 12:46 pm
by azwildfire
McKoor can you post what change needs to be done? ia m limping through this as i have no prior progrmaming exp and am happy i was able to get it to compile. all the commands except /who work.. when i do a /who the list shows up empty...

i thought i could cheat and use the same definitions for GM and GUIDE but think that is why my /who list comes up empty *even though i am in the zone so there shoudl be at least me in it*

also, has anyone been able to stay in game using the mem checker routine posted on the CSV's? i keep going LD and may be coincidensce since i havent checked with out running MQ yet...

Thanks

Posted: Fri Apr 11, 2003 12:52 pm
by Mckorr
I think there's an error in HookMemCheck that is causing the 5 minute LD.

I haven't tested anything yet, including _SPAWNINFO.

Posted: Fri Apr 11, 2003 1:13 pm
by azwildfire
well... i know this... if i use EQW i go LD every 5 min also... if i dont use EQW then i can stay in game just fine...

will MQ also detour the mem checks for EQW? because gama correction does not work in SOE's verision of EQW