_SPAWNINFO after 2003/04/10

A forum for feature requests/discussions and user submitted patches that improve MQ2

Moderator: MacroQuest Developers

Rainbean
decaying skeleton
decaying skeleton
Posts: 5
Joined: Wed Apr 09, 2003 10:57 pm

_SPAWNINFO after 2003/04/10

Post by Rainbean » Wed Apr 09, 2003 11:08 pm

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.
Last edited by Rainbean on Fri Apr 11, 2003 9:34 pm, edited 2 times in total.

User avatar
L124RD
Site Admin
Site Admin
Posts: 1343
Joined: Fri Jun 14, 2002 12:15 am
Location: Cyberspace
Contact:

Post by L124RD » Wed Apr 09, 2003 11:28 pm

Salutations,
So these offsets are tested and work?

Rainbean
decaying skeleton
decaying skeleton
Posts: 5
Joined: Wed Apr 09, 2003 10:57 pm

Post by Rainbean » Thu Apr 10, 2003 12:02 am

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.

eq_freak
a ghoul
a ghoul
Posts: 105
Joined: Mon Jun 24, 2002 7:17 am

Post by eq_freak » Thu Apr 10, 2003 7:27 am

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?

Mckorr
Developer
Developer
Posts: 2326
Joined: Fri Oct 18, 2002 1:16 pm
Location: Texas

Post by Mckorr » Thu Apr 10, 2003 1:02 pm

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.

Mckorr
Developer
Developer
Posts: 2326
Joined: Fri Oct 18, 2002 1:16 pm
Location: Texas

Post by Mckorr » Thu Apr 10, 2003 6:23 pm

Causes a bunch of little squares to appear where the last name (surname) should be, otherwise seems to work fine Rainbean.

Amadeus
The Maestro
The Maestro
Posts: 2036
Joined: Sat Jun 29, 2002 3:51 pm

Post by Amadeus » Thu Apr 10, 2003 7:25 pm

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....

kryologik
orc pawn
orc pawn
Posts: 11
Joined: Mon Feb 17, 2003 1:40 pm
Contact:

yep amadeus.

Post by kryologik » Thu Apr 10, 2003 10:24 pm

I'm getting the same crash even after modifying the spawn struct.
Fuck you, I have enough friends.

Rainbean
decaying skeleton
decaying skeleton
Posts: 5
Joined: Wed Apr 09, 2003 10:57 pm

Post by Rainbean » Fri Apr 11, 2003 9:55 am

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.
Last edited by Rainbean on Fri Apr 11, 2003 1:48 pm, edited 1 time in total.

Clawed
a ghoul
a ghoul
Posts: 105
Joined: Mon Jan 20, 2003 6:17 am

Post by Clawed » Fri Apr 11, 2003 10:15 am

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...
Clawed

Mckorr
Developer
Developer
Posts: 2326
Joined: Fri Oct 18, 2002 1:16 pm
Location: Texas

Post by Mckorr » Fri Apr 11, 2003 10:35 am

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.

Mckorr
Developer
Developer
Posts: 2326
Joined: Fri Oct 18, 2002 1:16 pm
Location: Texas

Post by Mckorr » Fri Apr 11, 2003 11:27 am

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.

azwildfire
Contributing Member
Contributing Member
Posts: 72
Joined: Fri Jul 05, 2002 5:12 am
Location: Phoenix arizona
Contact:

Post by azwildfire » Fri Apr 11, 2003 12:46 pm

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

Mckorr
Developer
Developer
Posts: 2326
Joined: Fri Oct 18, 2002 1:16 pm
Location: Texas

Post by Mckorr » Fri Apr 11, 2003 12:52 pm

I think there's an error in HookMemCheck that is causing the 5 minute LD.

I haven't tested anything yet, including _SPAWNINFO.

azwildfire
Contributing Member
Contributing Member
Posts: 72
Joined: Fri Jul 05, 2002 5:12 am
Location: Phoenix arizona
Contact:

Post by azwildfire » Fri Apr 11, 2003 1:13 pm

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