• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver

EQMAC TEST COMPILE (1 Viewer)

Maskoi

old and salty
Joined
Sep 28, 2005
RedCents
82,796¢
I tossed together a base compile according to the MQ2 devs of teh correct Date for EQMac. This compile is basic MQ2 with the map really and no extra plugins. Needs testing by those on EQMac running on a PC.

If this works I will try and dig up some other older vers ion or MQ2Melee, MQ2MoveUtils etc. in the next week or so.

PS: Only works on a PC not a Mac

NEW compile uploaded10/17/2012
 

Attachments

Last edited:
all that means is I compiled it wrong I'll try and fix it tomorrow
 
Actually I did microsoap it but I was in a hurry so I missed something. Will fix it in the next day or two.
 
I'm very interested in this. I would be willing to help with testing anytime!
 
New Redguides EQMac Test Compile.zip.
Fixed the Auth issues should be ready for testing now.
 
Just gave it a run. Loaded as admin. No incorrect client errors but there seems to be no injection. I tried loading before and after the client and I get nothing.
 
I'm still getting an incorrect client version with this compile as well. Let me know if I can be of any help.
 
I've been doing some digging on this topic. I have some experience in finding offsets but the main problem I have is figuring out the date of the eqgame.exe in secrets zip.

I know it says 2008 but I'm pretty sure it's an old version of EQW and an exe from 2002. In which case mq2 most likely will never work without a huge re-write.

I'm not sure how eqgame intereacts with EQW and what changes were made.
 
Last edited:
Its suppose to be 11-01-2005 MQ2 Source Code but people are saying it didn't work.
 
could someone post the exe... i'll decompile it real quick and find the build date and see if it follows with what the other mq2 devs are saying it is... (i've downloaded "hot" clients before that were really UF clients... so might be the same case...)
 
I've decompiled it but I can't seem to find the build date. I'm not an expert by any means but no luck yet.
 
I wasn't able to find it either. The old eqgames.exe are a lot different than the new ones.
 
The approach I've been using atm is to take old exe's and use sigmaker to compare chunks of code surrounding the date information in IDA to try and find it.
 
"Could not find client version strings"
this is what i got from EQVersion... this means the eq client version has been removed... IMO we could have to remove the client version check and do a manual overide...
 
If anyone needs some additional incentive, I'll send you $50 on PayPal if you're able to figure this out.
 
The main problem with EQMAC is it is Planes of Power which came out in 2002. MQ2 back then was just Macroquest or MQ1. The MAC PC version of EQMac is a mutant hybrid of Planes of Power/MacOS/PC and is dated 2008. The way MQ2 sees the date in current eqgame.exe files is not the same way the EQMac eqgame.exe is built. It doesn't have those date offsets where you would normally look in a current file.

Right now everyone is focused on fixing and updating the current MQ2 with the major changes SOE has thrown at us with the upcoming Rain of Fear release.

There has been a lot of interest in an EQMac compile. We will fully investigate this as soon as MQ2 is updated for Rain of Fear. We will determine one way or the other if MQ2 can work with EQMac. If it can. We will put our resources behind releasing at least a basic working compile. If it is not then we will know 100% for sure an EQMac compile is not possible.

Thanks for your Patience hopefully we will have an answer for this some time next month.
 
Last edited:
I woul dbe interested in this as well. Please let me know if there is anything I can do to help!
 
Because I am impatient (character flaw), I've been trying to find offsets and structs in the most recent eqgame.exe. It seems that since I've never done this before it's going slow, but I've found a few. The structs seem to be pretty much the Oct 2, 2002 commit of MQ, though the GROUNDITEM struct appears to be radically different. The locations of the offsets are also pretty much in the same order as the Oct 2 commit, but I'm having some trouble confirming that (using CE and a running eqgame.exe). Here's what I have so far (meager at best):

Rich (BB code):
SpawnHeader=007F9498
SpawnFooter=007F94CC
Char=007F94E0
Target=007F94EC
CharInfo=007F94E8
Items=007F949C
Doors=007F94B8
 
I would love to see a eqmac compile. I cannot stand playing without macroquest!
 
The offsets are from 12-04-2002. Here's what I've gotten so far (patchday'd from the titanium MQ2). The date is obviously wrong. 0x0 means it's not obvious, I couldn't find it, or it wouldn't be in the client (map stuff, spellset stuff, etc).

EDIT: If anyone has the EQ: Evolution eqgame.exe, that might be a closer match (and there is a version of MQ2 for that). But there's still no CharInfo2 struct, so I'm not sure about that.

Rich (BB code):
/******************************************************************************
    MQ2Main.dll: MacroQuest2's extension DLL for EverQuest
    Copyright (C) 2002-2003 Plazmic, 2003-2005 Lax

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License, version 2, as published by
    the Free Software Foundation.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
******************************************************************************/
#ifdef PRIVATE
#include "eqgame-private.h"
#endif

#define __ClientName                                              "eqgame"
#define __ExpectedVersionDate                                     "Oct 31 2005"
#define __ExpectedVersionTime                                     "10:33:37"
#define __ActualVersionDate                                        0x0
#define __ActualVersionTime                                        0x0

#define __ClientOverride                                           0
#define __MacroQuestWinClassName                                  "__MacroQuestTray"
#define __MacroQuestWinName                                       "MacroQuest"

// Memory Protection
#define __MemChecker0                                              0x0
#define __MemChecker2                                              0x0
#define __MemChecker3                                              0x0
#define __MemChecker4                                              0x0
#define __EncryptPad0                                              0x0
#define __EncryptPad2                                              0x0
#define __EncryptPad3                                              0x0
#define __EncryptPad4                                              0x0

// Direct Input
#define DI8__Main                                                  0x8092DC
#define DI8__Keyboard                                              0x8092E0
#define DI8__Mouse                                                 0x8092E4

#define __AltTimerReady                                            0x0
#define __Attack                                                   0x7F6FFE // manual
#define __BindList                                                 0x60B0AC
#define __Clicks                                                   0x798614
#define __CommandList                                              0x60B0B0
#define __CurrentMapLabel                                          0x0
#define __CurrentSocial                                            0x63DEA8
#define __DoAbilityAvailable                                       0x7CD7E0 // manual
#define __DoAbilityList                                            0x7D0264 // manual
#define __DrawHandler                                              0x7F9AA4
#define __EQP_IDArray                                              0x78C44C
#define __FriendsList                                              0x7CFA5C
#define __GroupCount                                               0x791375
#define __GroupLeader                                              0x791468
#define __Guilds                                                   0x7F9C94 // manual
#define __gWorld                                                   0x7952FC
#define __HotkeyPage                                               0x7F69F2
#define __HWnd                                                     0x798540
#define __IgnoreList                                               0x7CF2DC
#define __InChatMode                                               0x79736C
#define __LastTell                                                 0x7CE45C
#define __Mouse                                                    0x8092E8
#define __MouseLook                                                0x7985EA
#define __NetStatusToggle                                          0x7985EC
#define __PCNames                                                  0x0
#define __RangeAttackReady                                         0x0
#define __RunWalkState                                             0x796164
#define __ScreenMode                                               0x63B918
#define __ScreenX                                                  0x798530
#define __ScreenY                                                  0x798318
#define __ServerHost                                               0x0
#define __ServerName                                               0x0
#define __ShowNames                                                0x7D01E8
#define __SkillDict                                                0x7F7AEC
#define __Socials                                                  0x7D02F0

////
//Section 1: Vital Offsets
////
#define instCRaid                                                  0x0
#define instEQZoneInfo                                             0x798784
#define instKeypressHandler                                        0x0
#define pinstActiveBanker                                          0x7F94FC
#define pinstActiveCorpse                                          0x7F9500
#define pinstActiveGMaster                                         0x7F9504
#define pinstActiveMerchant                                        0x7F94F8
#define pinstAltAdvManager                                         0x6EC6E8
#define pinstBandageTarget                                         0x7F94D4
#define pinstCamActor                                              0x7F9810
#define pinstCDBStr                                                0x63B3A4
#define pinstCDisplay                                              0x7F9510
#define pinstCEverQuest                                            0x809478
#define pinstCharData                                              0x7F94E8
#define pinstCharSpawn                                             0x7F94E0
#define pinstControlledMissile                                     0x7F94E4
#define pinstControlledPlayer                                      0x7F94E0
#define pinstCSidlManager                                          0x809DBC
#define pinstCXWndManager                                          0x809DB4
#define pinstEQItemList                                            0x7F94A8
#define pinstEQSoundManager                                        0x6EC70C
#define instGroup                                                  0x791375
#define pinstGroup                                                 0x7914A4
#define pinstImeManager                                            0x809DC0
#define pinstLocalPlayer                                           0x7F94CC
#define pinstModelPlayer                                           0x7F9508
#define pinstPCData                                                0x7F94E8
#define pinstSelectedItem                                          0x6304FC
#define pinstSpawnList                                             0x7F9498
#define pinstSpellManager                                          0x0
#define pinstSpellSets                                             0x0
#define pinstStringTable                                           0x7F9490
#define pinstSwitchManager                                         0x0
#define pinstTarget                                                0x7F94EC
#define pinstTargetObject                                          0x7F94F0
#define pinstTargetSwitch                                          0x7F94F4
#define pinstTrackTarget                                           0x7F94D8
#define pinstTradeTarget                                           0x7F94C8
#define instTributeActive                                          0x63B3B0
#define pinstViewActor                                             0x7F9824
#define pinstWorldData                                             0x7F94B0


////
//Section 2:  UI Related Offsets
////
#define pinstCTextOverlay                                          0x0
#define pinstCCharacterSelect                                      0x63AEAC
#define pinstCFacePick                                             0x63AE88
#define pinstCNoteWnd                                              0x63AE8C
#define pinstCHelpWnd                                              0x0
#define pinstCBookWnd                                              0x63B364
#define pinstCPetInfoWnd                                           0x63AEA8
#define pinstCTrainWnd                                             0x63AEB0
#define pinstCSkillsWnd                                            0x63AEB4
#define pinstCSkillsSelectWnd                                      0x63AF30
#define pinstCCombatSkillSelectWnd                                 0x63B368
#define pinstCFriendsWnd                                           0x0
#define pinstCAAWnd                                                0x7F950C
#define pinstCGroupSearchFiltersWnd                                0x7F9518
#define pinstCLoadskinWnd                                          0x7F951C
#define pinstCAlarmWnd                                             0x7F9520
#define pinstCMusicPlayerWnd                                       0x7F9524
#define pinstCRaidWnd                                              0x7F9534
#define pinstCRaidOptionsWnd                                       0x7F9538
#define pinstCBreathWnd                                            0x7F953C
#define pinstCMapViewWnd                                           0x7F9540
#define pinstCMapToolbarWnd                                        0x7F9544
#define pinstCEditLabelWnd                                         0x7F9548
#define pinstCTargetWnd                                            0x7F954C
#define pinstCHotButtonWnd                                         0x0
#define pinstCHotButtonWnd1                                        0x0
#define pinstCHotButtonWnd2                                        0x0
#define pinstCHotButtonWnd3                                        0x0
#define pinstCHotButtonWnd4                                        0x0
#define pinstCColorPickerWnd                                       0x7F9550
#define pinstCPlayerWnd                                            0x7F9554
#define pinstCOptionsWnd                                           0x7F9558
#define pinstCBuffWindowNORMAL                                     0x7F955C
#define pinstCBuffWindowSHORT                                      0x7F9560
#define pinstCharacterCreation                                     0x7F9564
#define pinstCCursorAttachment                                     0x7F9568
#define pinstCCastingWnd                                           0x7F956C
#define pinstCCastSpellWnd                                         0x7F9570
#define pinstCSpellBookWnd                                         0x7F9574
#define pinstCInventoryWnd                                         0x7F9578
#define pinstCBankWnd                                              0x7F957C
#define pinstCQuantityWnd                                          0x0
#define pinstCLootWnd                                              0x7F9580
#define pinstCActionsWnd                                           0x7F9584
#define pinstCCombatAbilityWnd                                     0x7F9588
#define pinstCMerchantWnd                                          0x7F958C
#define pinstCTradeWnd                                             0x7F9590
#define pinstCSelectorWnd                                          0x7F9594
#define pinstCBazaarWnd                                            0x7F9598
#define pinstCBazaarSearchWnd                                      0x7F959C
#define pinstCGiveWnd                                              0x7F95A0
#define pinstCTrackingWnd                                          0x7F95A4
#define pinstCInspectWnd                                           0x7F95A8
#define pinstCSocialEditWnd                                        0x7F95AC
#define pinstCFeedbackWnd                                          0x7F95B0
#define pinstCBugReportWnd                                         0x7F95B4
#define pinstCVideoModesWnd                                        0x7F95B8
#define pinstCTextEntryWnd                                         0x7F97D0
#define pinstCFileSelectionWnd                                     0x7F97D4
#define pinstCCompassWnd                                           0x7F97D8
#define pinstCPlayerNotesWnd                                       0x7F97DC
#define pinstCGemsGameWnd                                          0x7F97E0
#define pinstCTimeLeftWnd                                          0x7F97E4
#define pinstCPetitionQWnd                                         0x7F97E8
#define pinstCSoulmarkWnd                                          0x7F97EC
#define pinstCStoryWnd                                             0x7F97F0
#define pinstCJournalTextWnd                                       0x7F97F4
#define pinstCJournalCatWnd                                        0x7F97F8
#define pinstCBodyTintWnd                                          0x7F97FC
#define pinstCInvSlotMgr                                           0x7F9808
#define pinstCContainerMgr                                         0x7F9820
#define pinstCAdventureLeaderboardWnd                              0x0
#define pinstCAdventureMerchantWnd                                 0x0
#define pinstCAdventureRequestWnd                                  0x0
#define pinstCAdventureStatsWnd                                    0x0
#define pinstCChatManager                                          0x63D5D0
#define pinstCDynamicZoneWnd                                       0x0
#define pinstCFindLocationWnd                                      0x0
#define pinstCGroupSearchWnd                                       0x0
#define pinstCGroupWnd                                             0x0
#define pinstCGuildMgmtWnd                                         0x0
#define pinstCItemDisplayManager                                   0x0
#define pinstCLeadershipWnd                                        0x0
#define pinstCConfirmationDialog                                   0x0
#define pinstCPopupWndManager                                      0x0
#define pinstCSystemInfoDialogBox                                  0x0
#define pinstCTargetOfTargetWnd                                    0x0
#define pinstCTipWndOFDAY                                          0x0
#define pinstCTipWndCONTEXT                                        0x0
#define pinstCTradeskillWnd                                        0x0
#define pinstCTributeBenefitWnd                                    0x0
#define pinstCTributeMasterWnd                                     0x0
#define pinstCContextMenuManager                                   0x0


////
// Section 3: Miscellaneous Offsets
////
#define __CastRay                                                  0x0
#define __ConvertItemTags                                          0x4EED9D
#define __ExecuteCmd                                               0x54050C
#define __get_melee_range                                          0x4F3898
#define __GetGaugeValueFromEQ                                      0x0
#define __GetLabelFromEQ                                           0x0
//#define __LoadSplashScreen                                         0x60E450 <-- might be wrong
#define __NewUIINI                                                 0x437481
#define __ProcessGameEvents                                        0x538EF8
#define __SendMessage                                              0x54E51A
#define CrashDetected                                              0x0
#define DrawNetStatus                                              0x4CAC8A
#define Util__FastTime                                             0x564F0B


////
// Section 4: Function Offsets
////
// AltAdvManager
#define AltAdvManager__GetCalculatedTimer                          0x0
#define AltAdvManager__IsAbilityReady                              0x0
#define AltAdvManager__GetAltAbility                               0x0

// CBankWnd
#define CBankWnd__GetNumBankSlots                                  0x0

// CBazaarSearchWnd
#define CBazaarSearchWnd__HandleBazaarMsg                          0x0

// CButtonWnd
#define CButtonWnd__SetCheck                                       0x5749D0

// CChatManager
#define CChatManager__GetRGBAFromIndex                             0x4116B8
#define CChatManager__InitContextMenu                              0x41179C

// CChatWindow
#define CChatWindow__CChatWindow                                   0x4149D4

// CComboWnd
#define CComboWnd__DeleteAll                                       0x0
#define CComboWnd__Draw                                            0x574420
#define CComboWnd__GetButtonRect                                   0x574750
#define CComboWnd__GetCurChoice                                    0x57499E
#define CComboWnd__GetListRect                                     0x0
#define CComboWnd__GetTextRect                                     0x574380
#define CComboWnd__InsertChoice                                    0x574330
#define CComboWnd__SetColors                                       0x0
#define CComboWnd__SetChoice                                       0x5749F0

// CContainerWnd
#define CContainerWnd__HandleCombine                               0x417905
#define CContainerWnd__vftable                                     0x5E4938

// CDisplay
#define CDisplay__CleanGameUI                                      0x0
#define CDisplay__GetClickedActor                                  0x4B0AA8
#define CDisplay__GetUserDefinedColor                              0x4AA2C1
#define CDisplay__GetWorldFilePath                                 0x4A7D09
#define CDisplay__ReloadUI                                         0x4A8256
#define CDisplay__WriteTextHD2                                     0x4A2F89

// CEditBaseWnd
#define CEditBaseWnd__SetMaxChars                                  0x0
#define CEditBaseWnd__SetSel                                       0x5A74F0

// CEditWnd
#define CEditWnd__DrawCaret                                        0x5A2F40
#define CEditWnd__GetCharIndexPt                                   0x5A4585
#define CEditWnd__GetDisplayString                                 0x5A3890
#define CEditWnd__GetHorzOffset                                    0x5A3CF8
#define CEditWnd__GetLineForPrintableChar                          0x5A3DF0
#define CEditWnd__GetSelStartPt                                    0x5A4494
#define CEditWnd__GetSTMLSafeText                                  0x5A3A00
#define CEditWnd__PointFromPrintableChar                           0x5A4780
#define CEditWnd__SelectableCharFromPoint                          0x5A4590
#define CEditWnd__SetEditable                                      0x5A3DEC

// CEverQuest
#define CEverQuest__ClickedPlayer                                  0x54714E
#define CEverQuest__DropHeldItemOnGround                           0x5558A9
#define CEverQuest__dsp_chat                                       0x537F99
#define CEverQuest__EnterZone                                      0x53D2C4
#define CEverQuest__GetBodyTypeDesc                                0x52D856
#define CEverQuest__GetClassDesc                                   0x52DB3A
#define CEverQuest__GetClassThreeLetterCode                        0x52EA51
#define CEverQuest__GetDeityDesc                                   0x52D5F1
#define CEverQuest__GetRaceDesc                                    0x52BEE2
#define CEverQuest__InterpretCmd                                   0x54572F
#define CEverQuest__LeftClickedOnPlayer                            0x0
#define CEverQuest__RightClickedOnPlayer                           0x0
#define CEverQuest__SetGameState                                   0x546F3F

// CGaugeWnd
#define CGaugeWnd__CalcFillRect                                    0x0
#define CGaugeWnd__CalcLinesFillRect                               0x0
#define CGaugeWnd__Draw                                            0x0

// CHotButtonWnd
#define CHotButtonWnd__DoHotButton                                 0x0

// CInvSlotMgr
#define CInvSlotMgr__FindInvSlot                                   0x423010
#define CInvSlotMgr__MoveItem                                      0x421E48

// CItemDisplayWnd
#define CItemDisplayWnd__SetItem                                   0x0
#define CItemDisplayWnd__SetSpell                                  0x0

// CLabel
#define CLabel__Draw                                               0x46A224

// CListWnd
#define CListWnd__AddColumn                                        0x574A20
#define CListWnd__AddColumn1                                       0x0
#define CListWnd__AddLine                                          0x57CB00
#define CListWnd__AddString                                        0x57C9D0
#define CListWnd__CalculateFirstVisibleLine                        0x57ABC0
#define CListWnd__CalculateVSBRange                                0x0
#define CListWnd__ClearAllSel                                      0x579CC0
#define CListWnd__CloseAndUpdateEditWindow                         0x57C530
#define CListWnd__Compare                                          0x57D0C2
#define CListWnd__Draw                                             0x0
#define CListWnd__DrawColumnSeparators                             0x5791FF
#define CListWnd__DrawHeader                                       0x57A2E0
#define CListWnd__DrawItem                                         0x57916C
#define CListWnd__DrawLine                                         0x0
#define CListWnd__DrawSeparator                                    0x0
#define CListWnd__EnsureVisible                                    0x57ABD0
#define CListWnd__ExtendSel                                        0x0
#define CListWnd__GetColumnFlags                                   0x579030
#define CListWnd__GetColumnJustification                           0x579270
#define CListWnd__GetColumnMinWidth                                0x579200
#define CListWnd__GetColumnWidth                                   0x579090
#define CListWnd__GetCurSel                                        0x578E40
#define CListWnd__GetHeaderRect                                    0x578A20
#define CListWnd__GetItemAtPoint                                   0x57AD77
#define CListWnd__GetItemAtPoint1                                  0x57ACA0
#define CListWnd__GetItemData                                      0x578E80
#define CListWnd__GetItemHeight                                    0x57D0F0
#define CListWnd__GetItemIcon                                      0x578F70
#define CListWnd__GetItemRect                                      0x0
#define CListWnd__GetItemText                                      0x578ED0
#define CListWnd__GetSelList                                       0x57CF00
#define CListWnd__GetSeparatorRect                                 0x57C7D0
#define CListWnd__IsLineEnabled                                    0x579F40
#define CListWnd__RemoveLine                                       0x57C7CE
#define CListWnd__SetColors                                        0x578D30
#define CListWnd__SetColumnJustification                           0x579DC0
#define CListWnd__SetColumnWidth                                   0x579120
#define CListWnd__SetCurSel                                        0x579AF0
#define CListWnd__SetItemColor                                     0x57C434
#define CListWnd__SetItemData                                      0x57A070
#define CListWnd__SetItemText                                      0x57BCFE
#define CListWnd__ShiftColumnSeparator                             0x579170
#define CListWnd__Sort                                             0x574D30
#define CListWnd__ToggleSel                                        0x579F90

// CMapViewWnd
#define CMapViewWnd__CMapViewWnd                                   0x44C2FE

// CMerchantWnd
#define CMerchantWnd__DisplayBuyOrSellPrice                        0x44F85A
#define CMerchantWnd__RequestBuyItem                               0x427C83
#define CMerchantWnd__RequestSellItem                              0x44F954
#define CMerchantWnd__SelectBuySellSlot                            0x427AD6

// CSidlManager
#define CSidlManager__FindScreenPieceTemplate1                     0x596850

// CSidlScreenWnd
#define CSidlScreenWnd__CalculateHSBRange                          0x56EA50
#define CSidlScreenWnd__CalculateVSBRange                          0x56E9A0
#define CSidlScreenWnd__ConvertToRes                               0x0
#define CSidlScreenWnd__CreateChildrenFromSidl                     0x56F4F0
#define CSidlScreenWnd__CSidlScreenWnd1                            0x56E2B0
#define CSidlScreenWnd__CSidlScreenWnd2                            0x0
#define CSidlScreenWnd__dCSidlScreenWnd                            0x56E680
#define CSidlScreenWnd__DrawSidlPiece                              0x56EBB0
#define CSidlScreenWnd__EnableIniStorage                           0x0
#define CSidlScreenWnd__GetSidlPiece                               0x56F0F0
#define CSidlScreenWnd__Init1                                      0x56E510
#define CSidlScreenWnd__LoadIniInfo                                0x570500
#define CSidlScreenWnd__LoadIniListWnd                             0x56F150
#define CSidlScreenWnd__LoadSidlScreen                             0x56E810
#define CSidlScreenWnd__SetScreen                                  0x56E070
#define CSidlScreenWnd__StoreIniInfo                               0x0
#define CSidlScreenWnd__WndNotification                            0x56E920

// CSliderWnd
#define CSliderWnd__GetValue                                       0x594900
#define CSliderWnd__SetValue                                       0x594930
#define CSliderWnd__UpdateThumb                                    0x5948EC

// CSpellBookWnd
#define CSpellBookWnd__MemorizeSet                                 0x0

// CStmlWnd
#define CStmlWnd__AppendSTML                                       0x587090
#define CStmlWnd__CalculateHSBRange                                0x0
#define CStmlWnd__CalculateVSBRange                                0x0
#define CStmlWnd__CanBreakAtCharacter                              0x580F8E
#define CStmlWnd__CanGoBackward                                    0x5814D1
#define CStmlWnd__FastForwardToEndOfTag                            0x0
#define CStmlWnd__GetNextChar                                      0x0
#define CStmlWnd__GetNextTagPiece                                  0x0
#define CStmlWnd__GetSTMLText                                      0x414C77
#define CStmlWnd__GetThisChar                                      0x5C1950
#define CStmlWnd__GetVisiableText                                  0x0
#define CStmlWnd__InitializeWindowVariables                        0x588BE0
#define CStmlWnd__MakeStmlColorTag                                 0x581440
#define CStmlWnd__MakeWndNotificationTag                           0x581520
#define CStmlWnd__StripFirstSTMLLines                              0x586D70
#define CStmlWnd__UpdateHistoryString                              0x0

// CTabWnd
#define CTabWnd__Draw                                              0x593D60
#define CTabWnd__DrawCurrentPage                                   0x594410
#define CTabWnd__DrawTab                                           0x593F80
#define CTabWnd__GetCurrentPage                                    0x593760
#define CTabWnd__GetCurrentTabIndex                                0x593747
#define CTabWnd__GetNumTabs                                        0x593740
#define CTabWnd__GetPageClientRect                                 0x5943D0
#define CTabWnd__GetPageFromTabIndex                               0x593EC0
#define CTabWnd__GetPageInnerRect                                  0x593F10
#define CTabWnd__GetTabInnerRect                                   0x593890
#define CTabWnd__GetTabRect                                        0x593780
#define CTabWnd__IndexInBounds                                     0x593E90
#define CTabWnd__InsertPage                                        0x0
#define CTabWnd__SetPage                                           0x593A10
#define CTabWnd__SetPageRect                                       0x593980
#define CTabWnd__UpdatePage                                        0x593E10

// CTextOverlay
#define CTextOverlay__DisplayText                                  0x402AE1

// CTextureFont
#define CTextureFont__DrawWrappedText                              0x0

// CXMLDataManager
#define CXMLDataManager__GetXMLData                                0x5A9720

// CXMLSOMDocumentBase
#define CXMLSOMDocumentBase__XMLRead                               0x578A60

// CXRect
#define CXRect__CenterPoint                                        0x0

// CXStr
// WARNING:  Be sure that none of these offsets are identical!
//
// Note:  dCXStr, CXStr1, &amp; CXStr3 can be found in the 'BookWindow' constructor.
#define CXStr__CXStr                                               0x402D86
#define CXStr__CXStr1                                              0x429727
#define CXStr__CXStr3                                              0x575F30
#define CXStr__dCXStr                                              0x402247
#define CXStr__operator_equal1                                     0x576190
#define CXStr__operator_plus_equal1                                0x577310

// CXWnd
#define CXWnd__BringToTop                                          0x573A80
#define CXWnd__Center                                              0x0
#define CXWnd__ClrFocus                                            0x573C30
#define CXWnd__DoAllDrawing                                        0x570C70
#define CXWnd__DrawChildren                                        0x0
#define CXWnd__DrawColoredRect                                     0x0
#define CXWnd__DrawTooltipAtPoint                                  0x0
#define CXWnd__GetBorderFrame                                      0x575020
#define CXWnd__GetChildWndAt                                       0x573490
#define CXWnd__GetClientClipRect                                   0x0
#define CXWnd__GetFirstChildWnd                                    0x573D10
#define CXWnd__GetNextChildWnd                                     0x573710
#define CXWnd__GetNextSib                                          0x573D30
#define CXWnd__GetScreenClipRect                                   0x0
#define CXWnd__GetScreenRect                                       0x5751C0
#define CXWnd__GetTooltipRect                                      0x0
#define CXWnd__GetWindowTextA                                      0x4082F6
#define CXWnd__IsActive                                            0x574E9E
#define CXWnd__IsDescendantOf                                      0x574E80
#define CXWnd__IsReallyVisible                                     0x0
#define CXWnd__IsType                                              0x570C10
#define CXWnd__Move                                                0x573560
#define CXWnd__Move1                                               0x573600
#define CXWnd__ProcessTransition                                   0x573AA0
#define CXWnd__Refade                                              0x0
#define CXWnd__Resize                                              0x0
#define CXWnd__Right                                               0x572660
#define CXWnd__SetFirstChildPointer                                0x5756B0
#define CXWnd__SetFocus                                            0x0
#define CXWnd__SetKeyTooltip                                       0x5756F1
#define CXWnd__SetMouseOver                                        0x5756D0
#define CXWnd__SetNextSibPointer                                   0x5756C0
#define CXWnd__StartFade                                           0x573AF0

// CXWndManager
#define CXWndManager__DrawCursor                                   0x5A0683
#define CXWndManager__DrawWindows                                  0x0
#define CXWndManager__GetFirstChildWnd                             0x5A13E0
#define CXWndManager__GetKeyboardFlags                             0x59E6F0
#define CXWndManager__HandleKeyboardMsg                            0x5A1420
#define CXWndManager__RemoveWnd                                    0x5A11D0

// CDBStr
#define CDBStr__GetString                                          0x0

// EQ_Character
#define EQ_Character__CastSpell                                    0x0
#define EQ_Character__Cur_HP                                       0x0
#define EQ_Character__GetAACastingTimeModifier                     0x4B8D32
#define EQ_Character__GetCharInfo2                                 0x0
#define EQ_Character__GetFocusCastingTimeModifier                  0x0
#define EQ_Character__Max_Endurance                                0x4BC677
#define EQ_Character__Max_HP                                       0x4BBD39
#define EQ_Character__Max_Mana                                     0x4D0568
#define EQ_Character__doCombatAbility                              0x0

// EQ_Item
#define EQ_Item__CanDrop                                           0x548840
#define EQ_Item__GetItemLinkHash                                   0x0
#define EQ_Item__IsStackable                                       0x0

// EQ_LoadingS
#define EQ_LoadingS__WriteTextHD                                   0x452DE9

// EQ_PC
#define EQ_PC__DestroyHeldItemOrMoney                              0x0
#define EQ_PC__GetItemTimerValue                                   0x4CCF42

// EQItemList
#define EQItemList__dEQItemList                                    0x5A265F
#define EQItemList__EQItemList                                     0x5A291F

// EQPlayer
#define EQPlayer__ChangeBoneStringSprite                           0x52151D
#define EQPlayer__dEQPlayer                                        0x50723D
#define EQPlayer__DoAttack                                         0x5074FA // manual
#define EQPlayer__EQPlayer                                         0x506802
#define EQPlayer__SetNameSpriteState                               0x50B408
#define EQPlayer__SetNameSpriteTint                                0x521815

// KeyPressHandler
#define KeypressHandler__AttachAltKeyToEqCommand                   0x0
#define KeypressHandler__AttachKeyToEqCommand                      0x0
#define KeypressHandler__ClearCommandStateArray                    0x5A7042
#define KeypressHandler__HandleKeyDown                             0x5A70D0
#define KeypressHandler__HandleKeyUp                               0x5A7150
#define KeypressHandler__SaveKeymapping                            0x5A6E90

// MapViewMap
#define MapViewMap__Clear                                          0x43D605
#define MapViewMap__SaveEx                                         0x43F654

// StringTable
#define StringTable__getString                                     0x550EFE
 
Other useful info:

Here's the offsets used in the IRC_20021201 MQ1 release for the 12-04-2002 eqgame.exe. Theoretically, if one could get MQ1 to compile, you'd possibly have working MQ, but MQ1 was lacking a lot in features...

Rich (BB code):
[MacroQuest] 
MacroQuestVersion=IRC-20021104 
ClientName=eqgame 
ClientVersion=Wed Dec 04 03:07:xx 2002 
ClientOverride=1 
MacroQuestWinClassName=__MacroQuestTray 
MacroQuestWinName=MacroQuest 

[Function Locations] 
WriteChatColor=00537d2a 
GetRaceByID=0052d8cb 
GetClassByID=0052d382 
GetDeityByID=0052e7e2 
LeftClick=005313a5 
RightClick=0054672E 
ScreenItem=004afdf1 
ScreenSpawn=00546F13 
NewUIINI=0043722E  
MaxMana=004b91ea 
Commands=005454c0 
CmdCleanup=00537cfd 

[DirectInput8] 
Main=008092dc 
Keyboard=008092E0 
Mouse=008092E4 

[Memory Locations] 
Zoning=007f9480 
Zones=007F9494 
Spawnheader=007F9498 
Items=007F949C 
Doors=007F94BF 
SpawnFooter=007F94CC 
Char=007F94E0 
CharInfo=007F94E8 
Target=007F94EC 
Guilds=007F9C94 
Packs=0063aeb0 
Mouse=008092e8 
Attack=007f6ffe 
Spells=00805cb0 
CommandList=00609af8 
DoAbilityList=007D0264 
DoAbilityAvailable=007cd7e0 
Group=007913f8 
GroupCount=007912b0 
HSliderItems=007914a4 
HSliderMoney=007953F4 
PackPanel1=007f9588 
PackPanel2=007F958C 
clsMain=007f9574 
clsItems=007f9510 
clsSpawns=007F9490
clsInvPanel=00098B78 
clsMerchantPanelStatus=0005F310 
clsMerchantItemBase=00063310 
clsMerchantSelectedItem=00063388 
clsMerchantSelectedSlotID=00063CEC 
clsMainSpellRefresh=00000E18 
clsMainSpellMemId=00000E98 
clsMainSpellMemBar=00000E96 
clsMainSpellMemGem=00063282
 
EDIT: If anyone has the EQ: Evolution eqgame.exe, that might be a closer match (and there is a version of MQ2 for that). But there's still no CharInfo2 struct, so I'm not sure about that.

I take that back, the LDoN or GoD exe would be better, since MQ2 was born Nov 2003 (LDoN releases Sep 2003, and GoD in Feb 2004)
 
I'd be happy to chip in some donations for anyone willing to put some work into this.
 
Also I talked to a guy in game today who has either a working compile of MQ1 or MQ2. But he wasn't very talkative and couldn't get any info out of him.
 
Anyone have luck getting a working version going? Or making progress?

Would be willing to donate as well for a working version...
 
We are looking into the cost and sustainability of maintaining a compile for the test server. Hope to have an answer shortly after the holidays.
 
We are looking into the cost and sustainability of maintaining a compile for the test server. Hope to have an answer shortly after the holidays.

For the test server or the Mac server? Looks like for test, but is in the wrong thread if so. If for test, I would be very happy! :)
 
Oh for both actually. Seeing if EQmac can actually be done and the cost involved of maintaining a test server compile.
 
EQMAC TEST COMPILE

Users who are viewing this thread

Back
Top
Cart