Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Development

Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum)

Reply
 
Thread Tools Display Modes
  #1  
Old 12-20-2008, 06:57 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Just to test, I made a new level 1 character (on a Titanium Client) and deleted all of his items and attempted to log him in with SoF. So far, I got further than ever
Code:
[Sat Dec 20 04:48:12 2008]00129:Initializing character select UI.
[Sat Dec 20 04:48:12 2008]00130:Resetting game UI.
[Sat Dec 20 04:49:01 2008]00131:Zone Connect -- 0 -- Received MSG_ZONE_ADDRESS
[Sat Dec 20 04:49:01 2008]00132:Zone addr [192.168.1.102:20253] received...
[Sat Dec 20 04:49:01 2008]00133:ZONING
[Sat Dec 20 04:49:01 2008]00134:Networking: Connection Closed [0] with 0 pending bytes.
[Sat Dec 20 04:49:01 2008]00135:Networking: using port [1574].
[Sat Dec 20 04:49:01 2008]00136:Networking: Connection Established [1]
[Sat Dec 20 04:49:01 2008]00137:Connected to 192.168.1.102:20253...

[Sat Dec 20 04:49:02 2008]00138:Zone Connect -- 2 -- Sending MSG_EQ_ADDPLAYER
[Sat Dec 20 04:49:12 2008]00139:Zone Connect -- 3 -- Received MSG_SEND_PC
[Sat Dec 20 04:49:12 2008]00140:Zone Connect -- 4 -- Received MSG_EQ_ADDPLAYER
[Sat Dec 20 04:49:12 2008]00141:Received our Player from zone. MSG_EQ_NETPLAYERBUFF is next.
[Sat Dec 20 04:49:12 2008]00142:Player = Ztestius, zone = The Nexus
[Sat Dec 20 04:49:12 2008]00143:MSG_TIME_STAMP received.

[Sat Dec 20 04:49:12 2008]00144:MSG_TIME_STAMP received. (Items inc).

[Sat Dec 20 04:49:12 2008]00145:Item done, MSG_WEATHER_EVENT received.

[Sat Dec 20 04:49:12 2008]00146:Initializing zone.
[Sat Dec 20 04:49:12 2008]00147:Initializing world.
[Sat Dec 20 04:49:12 2008]00148:Verifying world files.
[Sat Dec 20 04:49:12 2008]00149:Attempting to load nexus.EQG.
[Sat Dec 20 04:49:12 2008]00150:Loading zone specific files.
[Sat Dec 20 04:49:12 2008]00151:Loading nexus_obj2
[Sat Dec 20 04:49:12 2008]00152:Loading nexus_obj
[Sat Dec 20 04:49:12 2008]00153:Loading nexus_chr2
[Sat Dec 20 04:49:12 2008]00154:Loading nexus_chr
[Sat Dec 20 04:49:12 2008]00155:Loading nexus
[Sat Dec 20 04:49:13 2008]00156:Loading objects
[Sat Dec 20 04:49:13 2008]00157:Loading lights
[Sat Dec 20 04:49:13 2008]00158:Initializing cameras.
[Sat Dec 20 04:49:13 2008]00159:Initializing lights.
[Sat Dec 20 04:49:13 2008]00160:Initializing visual effects.
[Sat Dec 20 04:49:13 2008]00161:Initializing target indicator.
[Sat Dec 20 04:49:13 2008]00162:Initializing player path.
[Sat Dec 20 04:49:13 2008]00163:Performing post-load operations.
[Sat Dec 20 04:49:13 2008]00164:Initializing precipitation system.
[Sat Dec 20 04:49:13 2008]00165:World initialized: nexus
[Sat Dec 20 04:49:13 2008]00166:Requesting zone data.
[Sat Dec 20 04:49:13 2008]00167:Resetting cameras.
[Sat Dec 20 04:49:13 2008]00168:Resetting vision.
[Sat Dec 20 04:49:13 2008]00169:Resetting overlays.
[Sat Dec 20 04:49:13 2008]00170:Zone initialized.
[Sat Dec 20 04:49:13 2008]00171:Creating INI files.
[Sat Dec 20 04:49:13 2008]00172:Requesting AA data.
[Sat Dec 20 04:49:13 2008]00173:Requesting Skill rank data.
[Sat Dec 20 04:49:13 2008]00174:Loading UI.
[Sat Dec 20 04:49:13 2008]00175:Deactivating previous UI.
[Sat Dec 20 04:49:13 2008]00176:Unloading previous textures.
[Sat Dec 20 04:49:13 2008]00177:Resetting UI.
[Sat Dec 20 04:49:13 2008]00178:Resetting character select UI.
[Sat Dec 20 04:49:13 2008]00179:Resetting game UI.
[Sat Dec 20 04:49:13 2008]00180:UI Reset.
[Sat Dec 20 04:49:13 2008]00181:Initializing UI.
[Sat Dec 20 04:49:13 2008]00182:Initializing UI manager.
[Sat Dec 20 04:49:13 2008]00183:Initializing fonts.
[Sat Dec 20 04:49:13 2008]00184:Parsing UI XML.
[Sat Dec 20 04:49:13 2008]00185:Parsing INI file .\UI_Ztestius_stormhaven.ini
[Sat Dec 20 04:49:13 2008]00186:INI file .\UI_Ztestius_stormhaven.ini loaded.
[Sat Dec 20 04:49:14 2008]00187:Loading default UI resources.
[Sat Dec 20 04:49:14 2008]00188:Initializing game UI.
[Sat Dec 20 04:49:14 2008]00189:Parsing INI file .\Ztestius_stormhaven.ini
[Sat Dec 20 04:49:14 2008]00190:INI file .\Ztestius_stormhaven.ini loaded.
[Sat Dec 20 04:49:15 2008]00191:Loading Icons.
[Sat Dec 20 04:49:16 2008]00192:Resetting viewport.
[Sat Dec 20 04:49:16 2008]00193:Game UI Initialized.
[Sat Dec 20 04:49:16 2008]00194:Entering main loop.
[Sat Dec 20 04:49:16 2008]00195:DoMainLoop - Just after packet processing()
[Sat Dec 20 04:49:16 2008]00196:DoMainLoop - Just after actor creation()
[Sat Dec 20 04:49:16 2008]00197:Loading game sounds.
[Sat Dec 20 04:49:16 2008]00198:Requesting initialization data.
[Sat Dec 20 04:49:16 2008]00199:DoMainLoop: just before first while(!EverQuest.ReceievedWorldObjects).
I think I just need to track down a few more opcodes and I should be able to at least get a naked level 1 in game. Then, I will have to work out if it is AAs or Items or something else causing the crash when I try to log in my GM character that I have done most of the testing with. Still making progress, and getting much better at finding opcodes in the assembly code. I still can't find every one of them using the comparing method, but I can probably find about 50% that way
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #2  
Old 12-20-2008, 10:20 PM
Yeormom
Discordant
 
Join Date: Apr 2004
Location: 127.0.0.1
Posts: 402
Default

Trevius is our hero.
__________________
Yeorwned
Bane of Life [Custom Classic/PvP]
Reply With Quote
  #3  
Old 12-21-2008, 05:31 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

While it is good to know some people are following this post, I think it would be best to keep the clutter down if possible. I am hoping that I can get it working enough that others might be able to start assisting me at some point and it is easier to read if there is less clutter. I do appreciate the cheering on (it is alot of work so far), but this thread isn't really the place for it. Besides, until it is at least somewhat usable, there isn't much to cheer about. There is a good chance that we may never have enough info to get SoF fully functional. I am trying to stay positive about it though lol.

I have already learned a ton over the past couple of weeks just playing with the different sources I have available to me to get them all frankenstiened into something that will at least let us log all of the way in. If I could read the assembly code better, it may eventually be possible to pull everything we need straight from there, but I am still a good ways from being able to understand it enough to do that.

Currently, I am trying to understand the item serialization code. I have the full itemlist for SoF, and I think it should be very close to accurate. But, until I know how to set the serialization up so that it works with my new list, I can't load items. Other than that, I already have a large amount of the bare minimum opcodes needed to log in. There are only a few more I need to have a complete list. Here is what I have so far:

Code:
Opcode Name=Titanium Op - SoF Op
OP_SendLoginInfo=0x4dd0 - 0x6c3c V
OP_GuildsList=0x6957 - 0x04FB V
OP_LogServer=0x0fa6 - 0x129A V
OP_ApproveWorld=0x3c25 - 0x7FC0 V
OP_EnterWorld=0x7cba - 0x1340 V
OP_PostEnterWorld=0x52A4 - 0x1AEE V
OP_ExpansionInfo=0x04ec - 0x0A1B V
OP_SendCharInfo=0x4513 - 0x6040 V
OP_World_Client_CRC1=0x5072 - 0x7a9e V
OP_World_Client_CRC2=0x5b18 - 0x3795 V
 - 0x22cf - size 2056 - Some new CRC from SoF.  This shouldn't be required to use at all.
 - 0x43ba - size 2056 - Some new CRC from SoF.  This shouldn't be required to use at all.
OP_AckPacket=0x7752 - 0x4D38 V
OP_WorldClientReady=0x5e99 - 2EBD V
0x58FB - size 8 - the Auto-AFK opcode - This isn't in Titanium opcodes, but does exist.  Not required though.

Log into a zone:
OP_EnterWorld=0x7cba - 0x1340 V
OP_MOTD=0x024d - 0x5711 V?
OP_SetChatServer=0x00d7 - 0x71B8 V
OP_SetChatServer2=0x6536 - 0x32CC V
OP_ZoneServerInfo=0x61b6 - 0x18B1 V
OP_WorldComplete=0x509d - 0x2486 V
OP_PlayerProfile=0x75DF - 0x0FEB V
OP_ZoneEntry=0x7213 - 0x737E V
OP_TimeOfDay=0x1580 - 0x7274 V
OP_TributeUpdate=0x5639 - 0x71Fb ???
OP_TributeTimer=0x4665 - 0x4775 ???
OP_CharInventory=0x5394 - 0x08A3 V
OP_TaskDescription=0x5ef7 - 0x0Af9 ???
OP_TaskActivity=0x682d - 0x2E60 ???
OP_CompletedTasks=0x76a2 - 0x5855
OP_Weather=0x254d - 0x70A5 V

OP_ReqNewZone=0x7ac5 - 0x3CDC NEW from IDA 0x5417 V
OP_NewZone=0x0920 - 0x5D22 V
OP_CustomTitles=0x2a28 - ???
OP_SendAATable=0x367d - 0x6F05 V
OP_UpdateAA=0x5966 - 0x45D2 V
OP_RespondAA=0x3af4 - 
OP_SendTributes=0x067a - 0x28C1??? From Tail 0x6764
OP_TributeInfo=0x152d - 0x4775  From Tail 0x3F33
OP_SendGuildTributes=0x5e3a - 0x6774
OP_SpawnAppearance=0x7c32 - 0x10B7 NEW from IDA 0x50EC V? 0x0000?
OP_ReqClientSpawn=0x0322 - 0x45D2 NEW from IDA 0x014C V
OP_SpawnDoor=0x4c24 - 0x68C8 NEW from IDA 0x3547 V???
OP_GroundSpawn=0x0f47 - 0x33E5 ???
OP_SendZonepoints=0x3eba - 0x2992 ???
OP_PetitionCheckout=0x0000 - Shouldn't be required as we don't have it in Titanium either.
OP_SendAAStats=0x5996 - 0x3518 ??? - I don't know if this is used in Titanium
OP_SendExpZonein=0x0587 - 0x3703 V?
OP_AAExpUpdate=0x5f58 - 0x3518 ???
OP_ExpUpdate=0x5ecd - 0x581A ???
OP_RaidUpdate=0x1f21 - 0x00AF ???
OP_GuildMemberList=0x147d - 0x317C ???
OP_GuildMOTD=0x475a - 0xD677 ???
OP_SetServerFilter=0x6563 - I don't think this is required.
OP_ClientReady=0x5e20 - NEW 0x2854 V
OP_PetitionUpdate=0x0000 - Shouldn't be required as we don't have it in Titanium either.
OP_WearChange=0x7441 - 0x25F0 V?
OP_HPUpdate=0x3bcf - 0x62F6 ???
OP_WeaponEquip2=0x63da - skip this as it is unhandled in Titanium and comes from the client each time you zone
OP_WeaponEquip1=0x6c5e - skip this as it is unhandled in Titanium and comes from the client each time you zone
OP_ManaChange=0x4839 - 0x0659 V?
OP_SpecialMesg=0x2372 - 0x1126 V?
OP_TGB=0x0c11 - 0x0137 V?
OP_ClientUpdate=0x14cb - 0x5Cf3 V?
OP_FloatListThing=0x6a1b - I don't have this yet, but it comes from the client and should be able to get it from the tail once I can get in game with SoF
The V means it has been verified either from the client, or from IDA or both. This is about 95% sure to be accurate. The V? means I verified it from IDA, but the code isn't an exact match, so I am only 50-75% sure it is accurate. The ??? means I was either unable to find it at all in IDA, or that I found it and it doesn't look like a match to me, they are likely to be wrong.

I think if we can get all of those, I may have enough opcodes correct that we can at least log in a naked character all of the way. Once the item serialization is done for SoF, we should be able to login geared characters as well. I think the main opcode I need to be accurate now is the doorspawn opcode. I think that also sends objects in the zone and seems to be where the naked test character is getting hung up at.

Like I said, as soon as I can get any character logged in all of the way, I will submit my changes to the SVN so others can assist with it if they want. What I will probably do is set it so that the Anniversary files (that I am using for getting SoF to work currently), will not be used by default on new builds. It would be disabled by a simple define and could be easily enabled by anyone who wanted to mess with it. I will post how to enable it if I can get to that point. It will just mean a simple 1 line code change to enable it (uncommenting a #define). The reason to leave it disabled is so you don't have players trying to use SoF and crashing zones if there are issues with it that cause crashes.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by trevius; 12-24-2008 at 06:21 PM..
Reply With Quote
  #4  
Old 12-21-2008, 05:36 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Here is my new updated itemlist incase anyone knows how to write the item serialization code to use it properly:

Code:
/* 000 */	//I(ItemClass) // Leave this one off on purpose
/* 001 */	S(Name)
/* 002 */	S(Lore)
/* 003 */	C("")//lorefile - Newly Added - Field is Null
/* 004 */	S(IDFile)
/* 005 */	I(ID)
/* 006 */	I(Weight)
/* 007 */	I(NoRent)
/* 008 */	I(NoDrop)
/* 009 */	I(Size)
/* 010 */	I(Slots)
/* 011 */	I(Price)
/* 012 */	I(Icon)
/* 013 */	C("0")//UNK013
/* 014 */	C("0")//UNK014
/* 015 */	I(BenefitFlag)
/* 016 */	I(Tradeskills)
/* 017 */	I(CR)
/* 018 */	I(DR)
/* 019 */	I(PR)
/* 020 */	I(MR)
/* 021 */	I(FR)
/* 022 */	C("0")//svcorruption - Newly Added
/* 023 */	I(AStr)
/* 024 */	I(ASta)
/* 025 */	I(AAgi)
/* 026 */	I(ADex)
/* 027 */	I(ACha)
/* 028 */	I(AInt)
/* 029 */	I(AWis)
/* 030 */	I(HP)
/* 031 */	I(Mana)
/* 032 */	I(Endur) //endur - Relocated
/* 033 */	I(AC)
/* 034 */	I(Classes)//classes - Relocated
/* 035 */	I(Races)//races - Relocated
/* 036 */	I(Deity)
/* 037 */	I(SkillModValue)
/* 038 */	C("0")//UNK038 - Default is 0
/* 039 */	I(SkillModType)
/* 040 */	I(BaneDmgRace)
/* 041 */	I(BaneDmgBody)//banedmgbody - Relocated
/* 042 */	I(BaneDmgRaceAmt)//banedmgraceamt - Relocated
/* 043 */	I(BaneDmgAmt)//banedmgamt - Relocated
/* 044 */	I(Magic)
/* 045 */	I(CastTime_)
/* 046 */	I(ReqLevel)
/* 047 */	I(RecLevel)//reclevel - Relocated
/* 048 */	I(RecSkill)//recskill - Relocated
/* 049 */	I(BardType)
/* 050 */	I(BardValue)
/* 051 */	I(Light)
/* 052 */	I(Delay)
/* 053 */	I(ElemDmgType)
/* 054 */	I(ElemDmgAmt)
/* 055 */	I(Range)
/* 056 */	I(Damage)
/* 057 */	I(Color)
/* 058 */	I(ItemType)
/* 059 */	I(Material)
/* 060 */	C("0")//UNK060 - Default is 0
/* 061 */	C("0")//UNK061 - Default is 0
/* 062 */	F(SellRate)
/* 063 */	I(CombatEffects)
/* 064 */	I(Shielding)
/* 065 */	I(StunResist)
/* 066 */	I(StrikeThrough)
/* 067 */	I(ExtraDmgSkill)
/* 068 */	I(ExtraDmgAmt)
/* 069 */	I(SpellShield)
/* 070 */	I(Avoidance)
/* 071 */	I(Accuracy)
/* 072 */	I(CharmFileID)
/* 073 */	I(FactionMod1)//Swapped these so Faction Amt comes after each Faction Mod
/* 074 */	I(FactionAmt1)//Swapped these so Faction Amt comes after each Faction Mod
/* 075 */	I(FactionMod2)//Swapped these so Faction Amt comes after each Faction Mod
/* 076 */	I(FactionAmt2)//Swapped these so Faction Amt comes after each Faction Mod
/* 077 */	I(FactionMod3)//Swapped these so Faction Amt comes after each Faction Mod
/* 078 */	I(FactionAmt3)//Swapped these so Faction Amt comes after each Faction Mod
/* 079 */	I(FactionMod4)//Swapped these so Faction Amt comes after each Faction Mod
/* 080 */	I(FactionAmt4)//Swapped these so Faction Amt comes after each Faction Mod
/* 081 */	S(CharmFile)
/* 082 */	I(AugType)
/* 083 */	I(AugRestrict)//augrestrict - Relocated
/* 084 */	I(AugDistiller)//augdistiller - Relocated
/* 085 */	I(AugSlotType[0])
/* 086 */	I(AugSlotUnk[0])//augslot1visible - Default 1
/* 087 */	C("0")//augslot1unk2 - Newly Added  - Default 0
/* 088 */	I(AugSlotType[1])
/* 089 */	I(AugSlotUnk[1])
/* 090 */	C("0")//augslot2unk2 - Newly Added
/* 091 */	I(AugSlotType[2])
/* 092 */	I(AugSlotUnk[2])
/* 093 */	C("0")//augslot3unk2 - Newly Added
/* 094 */	I(AugSlotType[3])
/* 095 */	I(AugSlotUnk[3])
/* 096 */	C("0")//augslot4unk2 - Newly Added
/* 097 */	I(AugSlotType[4])
/* 098 */	I(AugSlotUnk[4])
/* 099 */	C("0")//augslot5unk2 - Newly Added
/* 100 */	I(PointType)//pointtype - Relocated
/* 101 */	I(LDoNTheme)
/* 102 */	I(LDoNPrice)
/* 103 */	C("70")//UNK098 - Newly Added - Default 70, but some are set to 0
/* 104 */	I(LDoNSold)
/* 105 */	I(BagType)
/* 106 */	I(BagSlots)
/* 107 */	I(BagSize)
/* 108 */	I(BagWR)
/* 109 */	I(Book)
/* 110 */	I(BookType)
/* 111 */	S(Filename)
/* 112 */	I(LoreGroup)
/* 113 */	I(ArtifactFlag)
/* 114 */	C("0")//I(PendingLoreFlag)?//UNK109 - Default 0, but a few are 1
/* 115 */	I(Favor)
/* 116 */	I(GuildFavor)//guildfavor - Relocated
/* 117 */	I(FVNoDrop)
/* 118 */	I(DotShielding)
/* 119 */	I(Attack)
/* 120 */	I(Regen)
/* 121 */	I(ManaRegen)
/* 122 */	I(EnduranceRegen)
/* 123 */	I(Haste)
/* 124 */	I(DamageShield)
/* 125 */	C("-1") //UNK120 - Default is -1
/* 126 */	C("0") //UNK121 - Default is 0
/* 127 */	I(Attuneable)
/* 128 */	I(NoPet)
/* 129 */	C("0") //UNK124 - Default 0, but a few are 1
/* 130 */	I(PotionBelt)
/* 131 */	C("0") //potionbeltslots - Default 0, but a few are 1
/* 132 */	I(StackSize)
/* 133 */	I(NoTransfer)
/* 134 */	I(Stackable)//UNK129 - Default is 0, but some are much higher
/* 135 */	I(QuestItemFlag)//questitemflag - Default is 0 (off), flag on = 1
/* 136 */	C("0")//UNK131 - Default is 0, but there is an item set to 1
/* 137 */	C("0")//UNK132 - Default is 0? 0000000000000000000?
/* 138 */	I(Click.Effect)
/* 139 */	I(Click.Type)
/* 140 */	I(Click.Level2)
/* 141 */	I(Click.Level)
/* 142 */	I(MaxCharges)//maxcharges - Relocated
/* 143 */	I(CastTime_)//casttime - Relocated - Note Duplicate Entries for CastTime_ and none for CastTime
/* 144 */	I(RecastDelay)//recastdelay - Relocated
/* 145 */	I(RecastType)//recasttype - Relocated
/* 146 */	C("0")//clickunk5 - Newly Added - Default is 0
/* 147 */	C("")//clickname - Newly Added - Default is Null
/* 148 */	C("-1")//clickunk7 - Newly Added - Default is -1, but some set to 0 and some much higher
/* 149 */	I(Proc.Effect)
/* 150 */	I(Proc.Type)
/* 151 */	I(Proc.Level2)
/* 152 */	I(Proc.Level)
/* 153 */	C("0")//procunk1 - Newly Added - Default is 0, but some set to -1 and 1
/* 154 */	C("0")//procunk2 - Newly Added - Default is 0
/* 155 */	C("0")//procunk3 - Newly Added - Default is 0
/* 156 */	C("0")//procunk4 - Newly Added - Default is 0
/* 157 */	I(ProcRate)//procrate - Relocated
/* 158 */	C("")//procname - Newly Added - Default is Null
/* 159 */	C("-1")//procunk7 - Newly Added - Default is -1, but some set to 0
/* 160 */	I(Worn.Effect)
/* 161 */	I(Worn.Type)
/* 162 */	I(Worn.Level2)
/* 163 */	I(Worn.Level)
/* 164 */	C("0")//wornunk1 - Newly Added - Default is 0
/* 165 */	C("0")//wornunk2 - Newly Added - Default is 0
/* 166 */	C("0")//wornunk3 - Newly Added - Default is 0
/* 167 */	C("0")//wornunk4 - Newly Added - Default is 0
/* 168 */	C("0")//wornunk5 - Newly Added - Default is 0
/* 169 */	C("")//wornname - Newly Added - Default is Null
/* 170 */	C("-1")//wornunk7 - Newly Added - Default is -1, but some set to 0
/* 171 */	I(Focus.Effect)
/* 172 */	I(Focus.Type)
/* 173 */	I(Focus.Level2)
/* 174 */	I(Focus.Level)
/* 175 */	C("0")//focusunk1 - Newly Added - Default is 0
/* 176 */	C("0")//focusunk2 - Newly Added - Default is 0
/* 177 */	C("0")//focusunk3 - Newly Added - Default is 0
/* 178 */	C("0")//focusunk4 - Newly Added - Default is 0
/* 179 */	C("0")//focusunk5 - Newly Added - Default is 0
/* 180 */	C("")//focusname - Newly Added - Default is Null
/* 181 */	C("-1")//focusunk7 - Newly Added - Default is -1, but some set to 0
/* 182 */	I(Scroll.Effect)
/* 183 */	I(Scroll.Type)
/* 184 */	I(Scroll.Level2)
/* 185 */	I(Scroll.Level)
/* 186 */	C("0")//scrollunk1 - Renumber this***
/* 187 */	C("0")//scrollunk2 - Newly Added - Default is 0
/* 188 */	C("0")//scrollunk3 - Newly Added - Default is 0
/* 189 */	C("0")//scrollunk4 - Newly Added - Default is 0
/* 190 */	C("0")//scrollunk5 - Newly Added - Default is 0
/* 191 */	C("")//scrollname - Newly Added - Default is Null
/* 192 */	C("-1")//scrollunk7 - Newly Added - Default is -1, but some set to 0
/* 193 */	C("0")//UNK193 - Default is 0
/* 194 */	C("0")//purity - Newly Added - Default is 0, but some go up to 75
/* 195 */	C("0")//dsmitigation - Newly Added - Default is 0, but some are up to 2
/* 196 */	C("0")//heroic_str - Newly Added - Default is 0
/* 197 */	C("0")//heroic_int - Newly Added - Default is 0
/* 198 */	C("0")//heroic_wis - Newly Added - Default is 0
/* 199 */	C("0")//heroic_agi - Newly Added - Default is 0
/* 200 */	C("0")//heroic_dex - Newly Added - Default is 0
/* 201 */	C("0")//heroic_sta - Newly Added - Default is 0
/* 202 */	C("0")//heroic_cha - Newly Added - Default is 0
/* 203 */	C("0")//healamt - Newly Added - Default is 0, but some are up to 9
/* 204 */	C("0")//spelldmg - Newly Added - Default is 0, but some are up to 9
/* 205 */	C("0")//clairvoyance - Newly Added - Default is 0, but some are up to 10
/* 206 */	C("0")//backstabdmg - Newly Added - Default is 0, but some are up to 65
//* 207 */	C("0")//evolvinglevel - Newly Added - Default is 0, but some are up to 7

//This doesn't appear to be used /* 102 */	S(verified)//verified
//This doesn't appear to be used /* 102 */	S(serialized)//created
//Unsure where this goes right now (or if it is even used) /* 108 */	I(SummonedFlag)
Here is a piece of the log from the EQ Debug showing where it is currently failing:
Code:
[Sun Dec 21 07:09:29 2008]00201:Entering main loop.
[Sun Dec 21 07:09:30 2008]00202:DoMainLoop - Just after packet processing()
[Sun Dec 21 07:09:30 2008]00203:DoMainLoop - Just after actor creation()
[Sun Dec 21 07:09:30 2008]00204:Loading game sounds.
[Sun Dec 21 07:09:30 2008]00205:Requesting initialization data.
[Sun Dec 21 07:09:30 2008]00206:DoMainLoop: just before first while(!EverQuest.ReceievedWorldObjects).
[Sun Dec 21 07:11:14 2008]00132:THE SERVER IS NOT RESPONDING.
[Sun Dec 21 07:11:38 2008]00133:
end of DisplayScreen

[Sun Dec 21 07:11:40 2008]00134:TIMED OUT WAITING FOR ZONE ADDR

[Sun Dec 21 07:11:41 2008]00135:Networking: Connection Closed [0] with 0 pending bytes.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by trevius; 12-21-2008 at 05:19 PM..
Reply With Quote
  #5  
Old 12-21-2008, 05:08 PM
AndMetal
Developer
 
Join Date: Mar 2007
Location: Ohio
Posts: 648
Default

Quote:
Originally Posted by AndMetal View Post
Quote:
Originally Posted by AndMetal View Post
Looking at the source (different files of course) from the same time, we should be able to find out at least some of the structures, if we don't know them already. However, taking a quick peek myself, I wasn't able to find any clear cut "structures" file, so it's probably all spread out through the source.
Found them: showeq/src/everquest.h. Maybe some of the later changes to the structs might provide some insight on what the unknown values may be...
If we're still looking for newer structs (after 2006), we can peek into the SEQ SVN. Specifically, SoF structs should be in Rev 686 (11/5/2007), Rev 688 (11/21/2007), or Rev 690 (11/27/2007). Since, according to Wikipedia, it was released on 11/13/2007, we'll probably want to look at Rev 688.
__________________
GM-Impossible of 'A work in progress'
A non-legit PEQ DB server
How to create your own non-legit server

My Contributions to the Wiki
Reply With Quote
  #6  
Old 12-21-2008, 06:33 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Ya, I have been using all of those to get as far as I have :P They have been very useful.

Even though SoF was released on 11/13/07, it was actually built on 9/7/07 (according to the EQ Debug Logs). So, anything from 9/7/07 to around the beginning of 2008 is probably useful. They may have patched in some of the SoF stuff to live before it actually came out, so the structures and stuff may have already been there for the most part. The main thing that would have changed alot are the opcodes. Unfortunately, most of the opcodes in SEQ weren't updated until after December, so many of them aren't correct.

I am thinking about trying a current version of SEQ and running a trial live account just to see if I can find 100% accurate structures that can be used to help getting SoF to work. I am betting that the current live structs are probably closer to SoF than the Titanium ones are.

If anyone has packet collects from right around the time that SoF was released (preferrably from SEQ if possible), I would love to get a copy of them. I think that would help alot once I knew what I was looking at. But, I am not holding my breath to get them, because I doubt anyone has still them.

I am not really sure what it is for, but a code obfuscater was added to SEQ around the time that SoF came out. From looking at the comments around the code for it, it appears to be used for pulling opcodes directly from the assembly code of the eqgame.exe. I have no idea how it is actually used though, or if I am just misunderstanding what it does. I have seen comments about it on the SEQ forums that seem to say something about opcodes changing from time to time when you zone or log on other characters/servers. I guess it is some kind of simple encryption or something. But, it seems that the new obfuscate can pull an opcode table from the exe file. If that is true, maybe we can use it on Titanium, and then on SoF and compare the 2 tables and compare the conf files for known opcodes and match them up. Here is a link to the obfuscate getting added to SEQ SVN:

http://seq.svn.sourceforge.net/viewv...85&pathrev=686
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by trevius; 12-22-2008 at 03:16 AM..
Reply With Quote
  #7  
Old 12-23-2008, 04:57 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

I moved this to the development section, because it seems more appropriate.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 06:51 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3