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-14-2012, 05:12 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default Steam RoF Development Tracking

As of Feb 12th 2013, the Steam F2P RoF client has been updated to the Jan 16th 2013 Live patch, which makes it incompatible with EQEmu until we figure out how we want to deal with the updates.

This thread was created to help keep track of the development of the Rain of Fear client. Currently, we are working on the client that has a build date of "Dec 10 2012 17:35:44". This is likely to change over time with SOE patches. It has not yet been determined how following Live patches will be handled, if at all.

EQLive patched on 16th January 2013, so this thread refers to the Rain Of Fear client currently only obtainable via Steam.

This thread can be used as a reference for what needs work, and who is working on what. I will try to keep this post updated as people update the thread with any progress or notes.

This thread can be used for any development related work or concerns as well as to report any bugs with the client that haven't already been documented.

This thread will be focused on RoF specific bugs, not general bugs that exists in some or all other clients. Because we are already tracking known issues with previous clients in other threads, this thread will not repeat those same issues. For reference, see the following threads for previous client development tracking:
SoD Development Tracking
Underfoot Development Tracking
VoA Development Tracking


Last Updated - November 18th 2014


Top Priority Work:
1. Alternate Currency Merchants - Had a report that using Alternate Currency Merchants will bug the client and the shops aren't working. Need to confirm this bug, but sounds legit.
2. Bazaar - Enabling trader mode doesn't work. Looks like the way items are tracked has changed to a serialized system and needs to be accounted for in the structs (as well as probably other stuff).



Medium Priority Work:
1. Cursor Buffer - The cursor should normally buffer extra items that are sent to it so they display after you move the top item to another slot, but it currently isn't on RoF. Pending further investigation.
2. Guilds - Most of the guild stuff is now functional. Guild Ranks & Permissions and the Guild Bank don't work.


Low Priority Work:
None!


Client Issues:
1. Many of the old world zones that were revamped have been removed from the client. This includes zones like commons, but we will need to get a full list of missing files together. The good news is the files can be added to the client folder and will work once they are there.


Database and Source Code Changes that will be needed at some point:
1. Will need to convert the source and database to use the new Live format for item slots and to allow bags larger than 10 slots and the 2 new main inventory slots.
2. Will most likely need new Database and source changes to get the new /bazaar feature working in all zones (including bazaar itself).
3. Aug slots now go up to 6 max instead of the previous 5 max, so the source will need to account for that change.


New Systems to RoF that did not exist in Underfoot (that may/do require code support):
Note that many of these were carried over from the work on the VoA client, so they need to be validated.
1. Containers can go above 10 slots and it looks like the max is at least 32 slot (though there is no reason for hard setting a max in the source with the new slot format). I tested a 100 slot bag and it worked.
2. Containers can be stored inside other containers. So long as they are empty and the same size or smaller. The client already allows this, but need server support to prevent issues.
3. Two new slots in the base player inventory for a total of 10.
4. Merchant window now has a "Reclaim" tab. Any item you destroy during a single session of EQ (Unsure if it resets when you log) is shown in this tab and can be purchased at the cost of "Reclamation Tokens"
5. /bazaar is now searchable from all zones and you can buy/sell directly from that window and items can sell even while you are offline.


Issues with Newly Implemented Systems that did not exist in Underfoot:
Pending further assessment


Recently Resolved Issues:
1. Character Select - We can now reach character select and it looks fine.
2. Character Create - Characters can now be created.
3. Enter World - Thanks to some work on a few structs/encodes, we can now enter the world (Thanks Derision!)
4. Items - Items now load successfully.
5. Spawn Struct - Nearly all of the spawn struct has been identified and is now functional (Thanks Derision!)
6. Position Updates - These appear to be functioning properly now (Thanks Derision!)
7. Item Previews - This is a new feature that allows you to view what an item would look like when equipped before you purchase it (Thanks Vaion!)
8. Opcodes - All opcodes should now be populated and accurate with maybe a few corrections left to be made as they are found.
9. Merchants - Merchant Buying and Selling now work properly.
10. Clicking Item Links - This now displays item stats as it should.
11. Removing Buffs - This is now functional (Thanks Derision!)
12. Illusions - Illusions are now working properly.
13. Trading - This is now functioning correctly for NPCs and Players.
14. Tradeskill Objects - Clicking a tradeskill object will now open the window correctly and items can be placed inside them.
15. Looting - Looting items from corpses by right click or loot all is now functioning correctly.
16. AA Purchases - All AA issues appear to be resolved including AA purchases.
17. Popups - Popup Windows are now fully functional.
18. Combines - Experiment and auto-combines for tradeskills are now functional in world objects and inventory.
19. #race command - This has been increased to the new max of 724.
20. Reading Books/Notes - These are now functioning properly (Thanks Vaion!)
21. Short Duration Buffs - Short duration buffs should now display in their window properly (Thanks Derision!)
22. /who - This is now functional.
23. Death - Death as well as the respawn window both now work.
24. Guild Masters - GMs should be listing all skills without an issue. Problem was related to MaxLevel being above the values that the skills table supported not a client issue.
25. Adventure Merchants should now work correctly.
26. Mend - This is now functioning properly (Thanks Derision!)
27. Bind Wound - This appears to work fine as far as I can tell.
28. Personal Tribute now works.
29. Pet Buff Window - This now works.
30. Mercenary Merchant - This window now works properly and mercs can be hired.
31. Tasks - Tasks are now fully functional. If any issues are found with Tasks, please report them.
32. Item Links - All of the item link stuff for RoF should now be updated and displaying properly (other than links from other clients).
33. The 'Enter Tutorial' button should now be available for new characters and existing characters within the appropriate level range.
34. Tracking has been fixed, again!
35. /hidecorpse now works.
36. /who and /who all commands now display the correct player counts.
37. Buff Bonuses - These now give the correct values (Thanks Derision and demonstar55!)
38. Mercenaries - Mercenaries are now fully functional, at least to the point they are with the other clients.
39. Spell Sets - Loading a spell set now properly unmems spells first.
40. Sound is now played when casting a spell.
41. Deleting a spell from the spell book now updates the client immediately.
42. Resurrection should now work.
43. Augments - Augmenting items has changed so they are now inserted directly into an item similar to bags.
44. Charms - Right-click stats are now displaying correctly.


Attaining the Steam F2P (Free to Play) RoF Client:
http://store.steampowered.com/app/205710/
Click the "Play Game" button.
If you have Steam, you will be given the option to open it up in Steam and you can download it from there. If you do not have Steam installed, you will have the option to install it. Install it and then get the client from within Steam.
Once the client is downloaded, move the Everquest F2P folder to another location so it doesn't get patched by Steam at any point. Make sure not to start the client using the installed desktop icons. You do NOT want to patch the client to Live!
Then just follow the normal EQEmu client setup instructions.

This post will be updated again regularly with current development status. Devs, please feel free to edit this post as needed.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by trevius; 11-18-2014 at 12:44 PM.. Reason: Updated Last Update Stamp
Reply With Quote
  #2  
Old 12-14-2012, 06:53 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Looks like the Player Profile is now a variable length according to the SEQ guys. It appears to have changed at some point between September and Oct 24th. Here are some diffs that show what they did to resolve for reference.
http://seq.svn.sf.net/viewvc/seq/sho...?r1=769&r2=771
http://seq.svn.sf.net/viewvc/seq/sho...?r1=718&r2=771

And here are the actual structs and packet building they use currently:
Structs:
http://seq.svn.sf.net/viewvc/seq/sho...77&view=markup

Building Variable Length Player Profile:
http://seq.svn.sf.net/viewvc/seq/sho...77&view=markup

Also, here are the opcodes they use currently:
Zone Opcodes
http://seq.svn.sf.net/viewvc/seq/sho...79&view=markup

World Opcodes
http://seq.svn.sf.net/viewvc/seq/sho...69&view=markup

Hopefully this will be a good reference for getting at least the Player Profile working as well as assigning many of the needed opcodes.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #3  
Old 12-14-2012, 04:02 PM
Noport
Opcode Ninja
 
Join Date: Mar 2009
Location: San francisco
Posts: 426
Default

Seq-Showeq website for Everquest
http://www.showeq.net/forums/forumdi...p?16-EverQuest

here are the Seq Server Files Zone Opcodes,World Opcodes indside
http://sourceforge.net/projects/seq/files/ShowEQ/

by fransick Thank You Seq-Showeq Team
http://www.showeq.net/forums/showthr...7287#post47287
Reply With Quote
  #4  
Old 12-14-2012, 04:56 PM
Caryatis
Dragon
 
Join Date: May 2009
Location: Milky Way
Posts: 541
Default

Quote:
Originally Posted by Noport
by fransick Thank You Seq-Showeq Team
http://www.showeq.net/forums/showthr...7287#post47287
Title of that thread: "12/12/12 Changes "

Quote:
Originally Posted by Trevius
we are working on the client that has a build date of "Dec 10 2012 17:35:44"
I love you Noport. You post wildly inaccurate, misleading and downright retarded things but since you don't use a swear word so all of your shit is left standing.

At least people don't get discouraged as they follow your trail of drool.
Reply With Quote
  #5  
Old 12-14-2012, 05:41 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Patch dates and build dates are rarely the same. Normally the client was built a day or 2 before the patch day so they can verify everything before pushing it out with the patch. In this case, the client was built on Dec 10th, but the patch didn't hit until Dec 12th:

http://everquest.allakhazam.com/story.html?story=31339

So the 12/12/12 thread is actually accurate as far as what the ShowEQ people care about, which is patch day itself.

And, it isn't the words that get 90% of your threads deleted, it is the context in which you use them.

I have already verified most of the opcodes in that thread that are dated 12/12/12 are accurate for the Steam RoF client. I also have a good chunk of the opcodes figured out already and should be ready to begin testing them pretty soon. The hard part is going to be that variable length player profile though I think.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #6  
Old 12-14-2012, 06:14 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Heh, new opcode list worked first try (though obviously the char list struct needs some adjustments):



Here is the .conf file I used:

Code:
# ShowEQ Import Notes:
# ZERO THE FILE first
# perl -pi -e 's/0x[0-9a-fA-F]{4}/0x0000/g' opcodes.conf
# Unknown Mapping:
# OP_Action2 -> OP_Damage
# OP_EnvDamage -> OP_Damage ---> might have been a one time mistake
# Name Differences:
# OP_CancelInvite -> OP_GroupCancelInvite
# OP_GMFind -> OP_FindPersonRequest
# OP_CommonMessage -> OP_ChannelMessage

OP_Unknown=0x0000
OP_ExploreUnknown=0x0000 # used for unknown explorer

# V = Verified correct
# C = Most likely correct
# U = Unsure, but should be correct or close

# world packets
# Required to reach Char Select:
OP_SendLoginInfo=0x11b6 # V
OP_ApproveWorld=0x7e47 # C
OP_LogServer=0x19ab # C
OP_SendCharInfo=0x06a2 # C
OP_ExpansionInfo=0x711a # C
OP_GuildsList=0x2d38 # C
OP_EnterWorld=0x57c3 # C
OP_PostEnterWorld=0x0c3d # C
OP_World_Client_CRC1=0x044 # C
OP_World_Client_CRC2=0x26df # C
OP_SendSpellChecksum=0x0000 # C
OP_SendSkillCapsChecksum=0x0000 # C

# Character Select Related:
OP_DeleteCharacter=0x0ab4 # C
OP_CharacterCreateRequest=0x06b # C
OP_CharacterCreate=0x0afc # C
OP_RandomNameGenerator=0x0000 # C 0x440f
OP_ApproveName=0x213a # C

OP_MOTD=0x1ae3 # C 0x2b59
OP_SetChatServer=0x2a81 # C 0x0479
OP_SetChatServer2=0x0000 # C 0x158f
OP_ZoneServerInfo=0x49d9 # C 0x41c0
OP_WorldComplete=0x12d4 # C
OP_WorldUnknown001=0x0000 # C 0x77b1
OP_FloatListThing=0x0199 # V

# Reasons for Disconnect:
OP_ZoneUnavail=0x6281 # C 0x1190
OP_WorldClientReady=0x0000 # C 0x4786
OP_CharacterStillInZone=0x0000 #
OP_WorldChecksumFailure=0x0000 #
OP_WorldLoginFailed=0x0000 #
OP_WorldLogout=0x0000 #
OP_WorldLevelTooHigh=0x0000 #
OP_CharInacessable=0x0000 #
OP_UserCompInfo=0x0000 #
# OP_SendExeChecksum=0x0000 #
# OP_SendBaseDataChecksum=0x0000 #

# Zone in opcodes
OP_AckPacket=0x47a6 # V
OP_ZoneEntry=0x1665 # V
OP_ReqNewZone=0x3dec # V
OP_NewZone=0x7fff # V
OP_ZoneSpawns=0x0980 # ?
OP_PlayerProfile=0x46bb # V
OP_TimeOfDay=0x3be2 # V
OP_LevelUpdate=0x0000 # V
OP_Stamina=0x1949 # V
OP_RequestClientZoneChange=0x647a # C
OP_ZoneChange=0x1eb4 # C

OP_LockoutTimerInfo=0x0000 #
OP_ZoneServerReady=0x0000 #
OP_ZoneInUnknown=0x0000 #
OP_LogoutReply=0x0000 #
OP_PreLogoutReply=0x0000 #

# Required to fully log in
OP_SpawnAppearance=0x7360 # V
OP_ChangeSize=0x0000 #
OP_TributeUpdate=0x0000 # V
OP_TributeTimer=0x0000 # C
OP_TaskDescription=0x2294 # C
OP_TaskActivity=0x7181 # C
OP_CompletedTasks=0x9495 # C
OP_Weather=0x0bd7 # V
OP_SendAATable=0x7791 # V
OP_UpdateAA=0x504f # V
OP_RespondAA=0x719a # C 0x2bad
OP_ReqClientSpawn=0x5a4f # V
OP_SpawnDoor=0x7b6c # V
OP_GroundSpawn=0x4286 # V
OP_SendZonepoints=0x7922 # V
OP_SendAAStats=0x0000 # C
OP_WorldObjectsSent=0x7fa8 # V
OP_BlockedBuffs=0x0000 # V
OP_RemoveBlockedBuffs=0x0000 # V
OP_ClearBlockedBuffs=0x0000 # C
OP_SendExpZonein=0x25ab # V
OP_SendTributes=0x0000 # V
OP_TributeInfo=0x5dd2 # V
OP_SendGuildTributes=0x0000 # C 0x5a01
OP_AAExpUpdate=0x25c5 # V
OP_ExpUpdate=0x0000 # V
OP_HPUpdate=0x07b8 # V
OP_ManaChange=0x0000 # C
OP_TGB=0x10a6 # C
OP_SpecialMesg=0x362c # V
OP_GuildMemberList=0x4053 # C
OP_GuildMOTD=0x0561 # V
OP_CharInventory=0x786e # V
OP_WearChange=0x1ad3 # V
OP_ClientUpdate=0x455d # V
OP_ClientReady=0x0000 # V
OP_SetServerFilter=0x5b27 # V

# Guild Opcodes
OP_GetGuildMOTD=0x0000 # C
OP_GetGuildMOTDReply=0x0000 # C
OP_GuildMemberUpdate=0x0000 # C
OP_GuildInvite=0x5f8e # C
OP_GuildRemove=0x296d # C
OP_GuildPeace=0x0000 # C
OP_SetGuildMOTD=0x44d0 # C
OP_GuildList=0x0000 # C
OP_GuildWar=0x0000 # C
OP_GuildLeader=0x0000 # C
OP_GuildDelete=0x241b # C
OP_GuildInviteAccept=0x78a5 # C
OP_GuildDemote=0x0000 # C
OP_GuildPublicNote=0x3c2c # C
OP_GuildManageBanker=0x0000 # C
OP_GuildBank=0x1cbf # C
OP_SetGuildRank=0x3599 # C
OP_GuildUpdateURLAndChannel=0x0000 # C
OP_GuildMemberLevelUpdate=0x0000 #
OP_ZoneGuildList=0x0000 #
OP_GetGuildsList=0x0000 #
OP_GuildStatus=0x25a5 #
OP_GuildCreate=0x0000 #
OP_LFGuild=0x0000 #
# OP_GuildManageRemove=0x0000 #
# OP_GuildManageAdd=0x0000 #
# OP_GuildManageStatus=0x0000 #

# GM/guide opcodes
OP_GMServers=0x2612 # C
OP_GMBecomeNPC=0x0000 # C
OP_GMZoneRequest=0x3912 # C
OP_GMZoneRequest2=0x65d6 # C
OP_GMGoto=0x0345 # C
OP_GMSearchCorpse=0x0000 # C
OP_GMHideMe=0x0000 # C
OP_GMDelCorpse=0x6034 # C
OP_GMApproval=0x0e37 # C
OP_GMToggle=0x1276 # C 0x7566
OP_GMSummon=0x0000 # C
OP_GMEmoteZone=0x0000 # C
OP_GMEmoteWorld=0x0000 # C
OP_GMFind=0x6160 # C
OP_GMKick=0x5646 # C
OP_GMKill=0x507e # C
OP_GMNameChange=0x0000 # C
OP_GMLastName=0x0000 # C

OP_InspectAnswer=0x5794 # C
OP_BeginCast=0x17ff # C
OP_BuffFadeMsg=0x0000 # C
OP_ConsentResponse=0x0000 # C
OP_MemorizeSpell=0x0000 # C
OP_SwapSpell=0x4736 # C
OP_CastSpell=0x0000 # C
OP_Consider=0x4d8d # C
OP_FormattedMessage=0x0000 # C
OP_SimpleMessage=0x0000 # C 0x5448
OP_Buff=0x08ed # C
OP_Illusion=0x6c43 # C
OP_MoneyOnCorpse=0x1837 # C
OP_RandomReply=0x0000 # C
OP_DenyResponse=0x0000 # C
OP_SkillUpdate=0x52c6 # C
OP_GMTrainSkillConfirm=0x0000 # C
OP_RandomReq=0x59db # C
OP_Death=0x3a65 # C
OP_Bind_Wound=0x585d # C
OP_GMTraining=0x6e8f # C
OP_GMEndTraining=0x7ffe # C
OP_GMTrainSkill=0x444c # C
OP_Animation=0x5e0c # Was 0x47d3
OP_Begging=0x54ac # C
OP_Consent=0x400e # C
OP_ConsentDeny=0x0000 # C
OP_AutoFire=0x314e # C
OP_PetCommands=0x093 # C
OP_DeleteSpell=0x0000 # C
OP_Surname=0x1a87 # C
OP_ClearSurname=0x0000 # C
OP_FaceChange=0x0000 # C
OP_SenseHeading=0x0000 # C
OP_Action=0x0ea7 # C
OP_ConsiderCorpse=0x0000 # C
OP_HideCorpse=0x0000 # C 0x1842
OP_CorpseDrag=0x0000 #
OP_CorpseDrop=0x0000 #
OP_Bug=0x0c07 # C
OP_Feedback=0x45ca # C
OP_Report=0x0000 # C
OP_Damage=0x5428 # C or OP_Action2?
OP_ChannelMessage=0x33bc # C
OP_Assist=0x4cd1 # C
OP_AssistGroup=0x1d37 # C
OP_MoveCoin=0x765a # C
OP_ZonePlayerToBind=0x6f93 # C
OP_KeyRing=0x0000 # C
OP_WhoAllRequest=0x78eb # C
OP_WhoAllResponse=0x3393 # C
OP_FriendsWho=0x3dac # C
OP_ConfirmDelete=0x78e0 # V
OP_Logout=0x64bd # C
OP_Rewind=0x69d7 # C
OP_TargetCommand=0x0a # C Was 0x5f5e
OP_InspectRequest=0x23f1 # C
OP_Hide=0x0000 # C
OP_Jump=0x0000 # C
OP_Camp=0x41cd # C
OP_Emote=0x0000 # C
OP_SetRunMode=0x0000 # C
OP_BankerChange=0x0000 # C
OP_TargetMouse=0x0e25 # C 0x7bbb
OP_MobHealth=0x218d # C
OP_InitialMobHealth=0x0000 # C
OP_TargetHoTT=0x0000 # C
OP_XTargetResponse=0x0000 #
OP_XTargetRequest=0x0000 #
OP_XTargetAutoAddHaters=0x0000 #
OP_TargetBuffs=0x0000 # C
OP_BuffCreate=0x0000 # V
OP_BuffRemoveRequest=0x0000
OP_DeleteSpawn=0x3b06 # C
OP_AutoAttack=0x0d14 # C
OP_AutoAttack2=0x0000 # C
OP_Consume=0x4692 # V
OP_MoveItem=0x62a2 # C
OP_DeleteItem=0x3eb5 # C
OP_DeleteCharge=0x2d5b # C
OP_ItemPacket=0x0000 # C
OP_ItemLinkResponse=0x0000 # C
OP_ItemLinkClick=0x0353 # C
OP_NewSpawn=0x0000 # C
OP_Track=0x0000 # C
OP_TrackTarget=0x4c42 # C
OP_TrackUnknown=0x0000 # C
OP_ClickDoor=0x7cc0 # C
OP_MoveDoor=0x5611 # C
OP_RemoveAllDoors=0x39c9 # C
OP_EnvDamage=0x52e9 # C
OP_BoardBoat=0x0000 # C
OP_Forage=0x416d # C
OP_LeaveBoat=0x0000 # C
OP_ControlBoat=0x4aa0 # C
OP_SafeFallSuccess=0x0000 # C
OP_RezzComplete=0x3297 # C
OP_RezzRequest=0x521b # C
OP_RezzAnswer=0x0000 # C
OP_Shielding=0x0000 # C
OP_RequestDuel=0x0000 # C
OP_MobRename=0x0000 # C
OP_AugmentItem=0x0000 # C
OP_WeaponEquip1=0x35c3 # C
OP_WeaponEquip2=0x0000 # C
OP_WeaponUnequip2=0x0000 # C
OP_ApplyPoison=0x0000 # C
OP_Save=0x2e6f # C
OP_TestBuff=0x0000 # C
OP_CustomTitles=0x471a # C
OP_Split=0x269e # C
OP_YellForHelp=0x017 # C
OP_LoadSpellSet=0x0000 # C
OP_Bandolier=0x0000 # C
OP_PotionBelt=0x0000 # C
OP_DuelResponse=0x0dee # C
OP_DuelResponse2=0x5e04 # C
OP_SaveOnZoneReq=0x0000 # C
OP_ReadBook=0x0000 # C
OP_Dye=0x0000 # C
OP_InterruptCast=0x7470 # C
OP_AAAction=0x0000 # C
OP_LeadershipExpToggle=0x0000 # C
OP_LeadershipExpUpdate=0x0000 # C
OP_PurchaseLeadershipAA=0x0000 # C
OP_UpdateLeadershipAA=0x0000 # C
OP_MarkNPC=0x0000 # C
OP_ClearNPCMarks=0x0000 # C
OP_DoGroupLeadershipAbility=0x0000 # C
OP_GroupLeadershipAAUpdate=0x0000 # C
OP_DelegateAbility=0x0000 # C
OP_SetGroupTarget=0x0000 # C
OP_Charm=0x7118 # C
OP_Stun=0x53c0 # C
OP_SendFindableNPCs=0x34c3 # C
OP_FindPersonRequest=0x0000 # C
OP_FindPersonReply=0x0000 # C
OP_Sound=0x3cec # C
OP_PetBuffWindow=0x0000 # C
OP_LevelAppearance=0x7c4d # C
OP_Translocate=0x6f01 # C
OP_Sacrifice=0x76ab # C
OP_PopupResponse=0x0000 # C
OP_OnLevelMessage=0x0000 # C
OP_AugmentInfo=0x7812 # C
OP_Petition=0x2885 # C
OP_SomeItemPacketMaybe=0x11a0 # C
OP_PVPStats=0x0000 #
OP_PVPLeaderBoardRequest=0x0000 # C
OP_PVPLeaderBoardReply=0x0000 # C
OP_PVPLeaderBoardDetailsRequest=0x0000 # C
OP_PVPLeaderBoardDetailsReply=0x0000 # C
OP_RestState=0x0000 # C
OP_RespawnWindow=0x7f99 # C
OP_DisciplineTimer=0x0000 # C
OP_LDoNButton=0x0000 # C
OP_SetStartCity=0x0000 # C
OP_VoiceMacroIn=0x202e # C
OP_VoiceMacroOut=0x3920 # C
OP_ItemViewUnknown=0x0000 # C
OP_VetRewardsAvaliable=0x05d9 # C Mispelled?
OP_VetClaimRequest=0x0000 # C
OP_VetClaimReply=0x0000 # C
OP_CrystalCountUpdate=0x0000 # C
OP_DisciplineUpdate=0x0000 #
OP_BecomeCorpse=0x0000 #
OP_Action2=0x0000 # C OP_Damage?
OP_MobUpdate=0x6b5a # Same as OP_SpawnPositionUpdate
OP_NPCMoveUpdate=0x0000 #
OP_CameraEffect=0x5712 # V
OP_SpellEffect=0x72b6 # V
OP_RemoveNimbusEffect=0x0000 # C
OP_AltCurrency=0x8fcb
OP_AltCurrencyMerchantRequest=0x0000
OP_AltCurrencyMerchantReply=0x0000
OP_AltCurrencyPurchase=0x0000
OP_AltCurrencySell=0x0000
OP_AltCurrencySellSelection=0x0000
OP_AltCurrencyReclaim=0x0000
OP_CrystalReclaim=0x0000
OP_CrystalCreate=0x0000
OP_Untargetable=0x0000
OP_IncreaseStats=0x0000
OP_Weblink=0x0000 #C

OP_DzQuit=0x0000
OP_DzListTimers=0x0000
OP_DzAddPlayer=0x0000
OP_DzRemovePlayer=0x0000
OP_DzSwapPlayer=0x0000
OP_DzMakeLeader=0x0000
OP_DzPlayerList=0x0000
OP_DzJoinExpeditionConfirm=0x0000
OP_DzJoinExpeditionReply=0x0000
OP_DzExpeditionInfo=0x0000
OP_DzMemberStatus=0x0000
OP_DzLeaderStatus=0x0000
OP_DzExpeditionEndsWarning=0x0000
OP_DzExpeditionList=0x0000
OP_DzMemberList=0x0000
OP_DzCompass=0x0000
OP_DzChooseZone=0x0000

# New Opcodes
OP_SpawnPositionUpdate=0x0000 # C
OP_ManaUpdate=0x6675 # C
OP_EnduranceUpdate=0x71fb # C
OP_MobManaUpdate=0x48b5 # C
OP_MobEnduranceUpdate=0x7cb5 # C

# Looting
OP_LootRequest=0x43a7 # C
OP_EndLootRequest=0x3d8c # C
OP_LootItem=0x515b # C
OP_LootComplete=0x256d # C

# bazaar trader stuff stuff:
OP_BazaarSearch=0x0000 # C
OP_TraderDelItem=0x0000 # C
OP_BecomeTrader=0x74bc # C
OP_TraderShop=0x0000 # C
OP_Trader=0x0000 # C
OP_TraderBuy=0x0000 # C
OP_Barter=0x0000 # C
OP_ShopItem=0x0000 #
OP_BazaarInspect=0x0000 #
OP_Bazaar=0x0000 #
OP_TraderItemUpdate=0x0000 #

# pc/npc trading
OP_TradeRequest=0x0000 # C
OP_TradeAcceptClick=0x13db # C
OP_TradeRequestAck=0x6852 # C
OP_TradeCoins=0x584d # C
OP_FinishTrade=0x3fbf # C
OP_CancelTrade=0x0234 # C
OP_TradeMoneyUpdate=0x65f6 # C
OP_MoneyUpdate=0x6e42 # C
OP_TradeBusy=0x0000 # C

# Sent after canceling trade or after closing tradeskill object
OP_FinishWindow=0x1939 # C
OP_FinishWindow2=0x0000 # C

# Sent on Live for what seems to be item existance verification
# Ex. Before Right Click Effect happens from items
OP_ItemVerifyRequest=0x0000 # C
OP_ItemVerifyReply=0x0000 # C

# merchant crap
OP_ShopPlayerSell=0x6b4d # C
OP_ShopRequest=0x16ba # C
OP_ShopEnd=0x0000 # C
OP_ShopEndConfirm=0x1860 # C
OP_ShopPlayerBuy=0x3bab # C
OP_ShopDelItem=0x0000 # C

# tradeskill stuff:
OP_ClickObject=0x7992 # V
OP_ClickObjectAction=0x0000 # V
OP_ClearObject=0x2ead # C
OP_RecipeDetails=0x0000 # C
OP_RecipesFavorite=0x0000 # C
OP_RecipesSearch=0x0000 # C
OP_RecipeReply=0x0000 # C
OP_RecipeAutoCombine=0x0000 # C
OP_TradeSkillCombine=0x7447 # C

# Tribute Packets:
OP_OpenGuildTributeMaster=0x0000 # C
OP_OpenTributeMaster=0x0000 # C
OP_SelectTribute=0x0000 # C
OP_TributeItem=0x0000 # C
OP_TributeMoney=0x0000 # C
OP_TributeToggle=0x0000 # C
OP_TributePointUpdate=0x0000 # C
OP_TributeNPC=0x0000 #
OP_GuildTributeInfo=0x0000 #
OP_OpenTributeReply=0x0000 #
# OP_GuildTributeStatus=0x0000 #

# Adventure packets:
OP_LeaveAdventure=0x0000 # C
OP_AdventureFinish=0x0000 # C
OP_AdventureInfoRequest=0x0000 # C
OP_AdventureInfo=0x0000 # C
OP_AdventureRequest=0x0000 # C
OP_AdventureDetails=0x0000 # C
OP_AdventureData=0x0000 # C
OP_AdventureUpdate=0x0000 # C
OP_AdventureMerchantRequest=0x0000 # C
OP_AdventureMerchantResponse=0x0000 # C
OP_AdventureMerchantPurchase=0x0000 # C
OP_AdventureMerchantSell=0x0000 # C
OP_AdventurePointsUpdate=0x0000 # C
OP_AdventureStatsRequest=0x0000 # C
OP_AdventureStatsReply=0x0000 # C
OP_AdventureLeaderboardRequest=0x0000 # C
OP_AdventureLeaderboardReply=0x0000 # C

# Group Opcodes
OP_GroupDisband=0x1ed0 # C
OP_GroupInvite=0x1602 # C
OP_GroupFollow=0x2789 # C
OP_GroupUpdate=0x0000 # C
OP_GroupUpdateB=0x0000 # C
OP_GroupCancelInvite=0x0000 # C - Same as OP_CancelInvite?
OP_GroupAcknowledge=0x0000 # C
OP_GroupDelete=0x0000 #
OP_CancelInvite=0x0000 # C
OP_GroupFollow2=0x0000 # C
OP_GroupInvite2=0x0000 # C
OP_GroupDisbandYou=0x0000 # C
OP_GroupDisbandOther=0x0000 # C
OP_GroupLeaderChange=0x0000 # C
OP_GroupRoles=0x0000 # C
OP_GroupMakeLeader=0x4129

# LFG/LFP Opcodes
OP_LFGCommand=0x0000 # C
OP_LFGGetMatchesRequest=0x0000 # C
OP_LFGGetMatchesResponse=0x0000 # C
OP_LFPGetMatchesRequest=0x0000 # C
OP_LFPGetMatchesResponse=0x0000 # C
OP_LFPCommand=0x0000 # C
OP_LFGAppearance=0x0000 #
OP_LFGResponse=0x0000 #

# Raid Opcodes
OP_RaidInvite=0x0000 # C
OP_RaidUpdate=0x0000 # C
OP_RaidJoin=0x0000 #

# Button-push commands
OP_Taunt=0x0af6 # C
OP_CombatAbility=0x6e4c # C
OP_SenseTraps=0x0000 # C
OP_PickPocket=0x047b # C
OP_DisarmTraps=0x0000 #
OP_Disarm=0x70a9 # C
OP_Sneak=0x0000 # C
OP_Fishing=0x0000 # C
OP_InstillDoubt=0x0000 # C
OP_FeignDeath=0x677d # C
OP_Mend=0x0000 # C
OP_LDoNOpen=0x0000 # C

# Task packets
OP_TaskActivityComplete=0x0000 # C
OP_TaskMemberList=0x0000 # C
OP_OpenNewTasksWindow=0x0000 # C
OP_AvaliableTask=0x0000 # C Mispelled?
OP_AcceptNewTask=0x0000 # C
OP_TaskHistoryRequest=0x6cf6 # C
OP_TaskHistoryReply=0x25eb # C
OP_CancelTask=0x0c7f # C
OP_DeclineAllTasks=0x0000 #

# Title opcodes
OP_NewTitlesAvailable=0x45d1 # C
OP_RequestTitles=0x1b5a # C
OP_SendTitleList=0x0d64 # C
OP_SetTitle=0x0bfc # C
OP_SetTitleReply=0x7e20 # C

# mail opcodes
OP_Command=0x0000 #
OP_MailboxHeader=0x0000 #
OP_MailHeader=0x0000 #
OP_MailBody=0x0000 #
OP_NewMail=0x0000 #
OP_SentConfirm=0x0000 #

# # # # # # # # # # # Below this point should not be needed # # # # # # # # # # #

# This section are all unknown in Titanium
OP_ForceFindPerson=0x0000 #
OP_LocInfo=0x0000 #
OP_ReloadUI=0x0000 #
OP_ItemName=0x0000 #
OP_ItemLinkText=0x0000 #
OP_MultiLineMsg=0x0000 #
OP_MendHPUpdate=0x0000 #
OP_TargetReject=0x0000 #
OP_SafePoint=0x0000 #
OP_ApproveZone=0x0000 #
OP_ZoneComplete=0x0000 #
OP_ClientError=0x0000 #
OP_DumpName=0x0000 #
OP_Heartbeat=0x0000 #
OP_CrashDump=0x0000 #
OP_LoginComplete=0x0000 #

# discovered opcodes not yet used:
OP_PickLockSuccess=0x0000 #
OP_PlayMP3=0x0000 #
OP_ReclaimCrystals=0x0000 #
OP_DynamicWall=0x0000 #
OP_OpenDiscordMerchant=0x0000 #
OP_DiscordMerchantInventory=0x0000 #
OP_GiveMoney=0x0000 #
OP_RequestKnowledgeBase=0x0000 #
OP_KnowledgeBase=0x0000 #
OP_SlashAdventure=0x0000 # /adventure
OP_BecomePVPPrompt=0x0000 #
OP_MoveLogRequest=0x0000 # gone I think
OP_MoveLogDisregard=0x0000 # gone I think

# named unknowns, to make looking for real unknown easier
OP_AnnoyingZoneUnknown=0x0000 #
OP_Some6ByteHPUpdate=0x0000 # seems to happen when you target group members
OP_QueryResponseThing=0x0000 #


# realityincarnate: these are just here to stop annoying several thousand byte packet dumps
#OP_LoginUnknown1=0x46d3 # U OP_SendSpellChecksum
#OP_LoginUnknown2=0x040b # U OP_SendSkillCapsChecksum

# Petition Opcodes
OP_PetitionSearch=0x0000 # search term for petition
OP_PetitionSearchResults=0x0000 # (list of?) matches from search
OP_PetitionSearchText=0x0000 # text results of search

OP_PetitionUpdate=0x0000 #
OP_PetitionCheckout=0x0000 #
OP_PetitionCheckIn=0x0000 #
OP_PetitionQue=0x0000 #
OP_PetitionUnCheckout=0x0000 #
OP_PetitionDelete=0x0000 #
OP_DeletePetition=0x0000 #
OP_PetitionResolve=0x0000 #
OP_PDeletePetition=0x0000 #
OP_PetitionBug=0x0000 #
OP_PetitionRefresh=0x0000 #
OP_PetitionCheckout2=0x0000 #
OP_PetitionViewPetition=0x0000 #

# Login opcodes
OP_SessionReady=0x0000 #
OP_Login=0x0000 #
OP_ServerListRequest=0x0000 #
OP_PlayEverquestRequest=0x0000 #
OP_PlayEverquestResponse=0x0000 #
OP_ChatMessage=0x0000 #
OP_LoginAccepted=0x0000 #
OP_ServerListResponse=0x0000 #
OP_Poll=0x0000 #
OP_EnterChat=0x0000 #
OP_PollResponse=0x0000 #

# raw opcodes
OP_RAWSessionRequest=0x0000 #
OP_RAWSessionResponse=0x0000 #
OP_RAWCombined=0x0000 #
OP_RAWSessionDisconnect=0x0000 #
OP_RAWKeepAlive=0x0000 #
OP_RAWSessionStatRequest=0x0000 #
OP_RAWSessionStatResponse=0x0000 #
OP_RAWPacket=0x0000 #
OP_RAWFragment=0x0000 #
OP_RAWOutOfOrderAck=0x0000 #
OP_RAWAck=0x0000 #
OP_RAWAppCombined=0x0000 #
OP_RAWOutOfSession=0x0000 #

# we need to document the differences between these packets to make identifying them easier
OP_Some3ByteHPUpdate=0x0000 # initial HP update for mobs
OP_InitialHPUpdate=0x0000 #
Until the new RoA files are added, I just enabled the VoA client registration in the common/patches/patches.cpp file and put the opcodes in the patch_VoA.conf file. I will probably try to get the new RoF files on the SVN tonight so others can start helping if they want.

I am thinking of just renaming the VoA files all to RoF, since the VoA client was never very functional, and yet it already has some progress toward a newer client.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by trevius; 12-14-2012 at 06:22 PM..
Reply With Quote
  #7  
Old 12-14-2012, 06:43 PM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,743
Default

Quote:
Originally Posted by trevius View Post
I am thinking of just renaming the VoA files all to RoF, since the VoA client was never very functional, and yet it already has some progress toward a newer client.
Probably better to just copy them. I doubt it, but someone might be using them and could be unhappy about the deletion.
Reply With Quote
  #8  
Old 12-14-2012, 11:23 PM
sorvani
Dragon
 
Join Date: May 2010
Posts: 966
Default

Quote:
Originally Posted by lerxst2112 View Post
Probably better to just copy them. I doubt it, but someone might be using them and could be unhappy about the deletion.
i disagree. there is zero reason for the project to keep the files. If there actually is a server op using them, then that server op will know how to get them back if they blindly update the SVN and copy from the svn folder to their server folder.
Reply With Quote
  #9  
Old 12-14-2012, 11:34 PM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,743
Default

Quote:
Originally Posted by sorvani View Post
i disagree. there is zero reason for the project to keep the files. If there actually is a server op using them, then that server op will know how to get them back if they blindly update the SVN and copy from the svn folder to their server folder.
Not sure where the idea of copying from svn to server folder comes in. I was thinking of the .h and .cpp files that would just get deleted.

If the idea is to remove files that have no use to the project then the HoT and Live files should probably go too.
Reply With Quote
  #10  
Old 12-14-2012, 11:48 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Quote:
Originally Posted by lerxst2112 View Post
If the idea is to remove files that have no use to the project then the HoT and Live files should probably go too.
Actually, I was thinking we should just remove the non-functional clients such as Anniversary, HoT, Live and VoA. There is no reason to have them other than as a reference since the clients are not functional enough to be used over any other (more readily available) client. We don't need to keep them in the trunk for reference, since we would always have the option to go back through the SVN revisions that include them if needed (which is not likely). And if the RoF client goes as well as I am hoping it will, we will have a free, legally attainable, stable, complete client that should be available for about a year or more without any patching. It has the potential to be the best over-all client to date.

And BTW, we are moving right along. Char select is looking good enough to progress to the trying to enter world stage:



I will try to get something on the SVN pretty soon. I would like to hear more feedback as to whether it is a good idea to replace the VoA files with RoF ones though (renaming the files and everything referring to VoA in them to RoF).
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #11  
Old 12-14-2012, 11:52 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Hell, I'd pay the 40 bucks for a stable revision. Sure beats the $700 for titanium on ebay.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #12  
Old 12-15-2012, 12:58 AM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,743
Default

Rename has always been an iffy thing for me in SVN. I'd still add new files for the new client and delete the old ones if that's desired.
Reply With Quote
  #13  
Old 12-15-2012, 01:26 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Gotcha. I was thinking it would be seen as a delete and an add, but I guess not. Not a big deal either way.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #14  
Old 12-15-2012, 02:14 AM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

Quote:
Originally Posted by trevius View Post
Gotcha. I was thinking it would be seen as a delete and an add, but I guess not. Not a big deal either way.
That's how I do it and never have had a problem. (svn remove, and svn add) I've never used the svn rename function, I don't believe it works correctly.
Reply With Quote
  #15  
Old 12-15-2012, 02:43 AM
demonstar55
Demi-God
 
Join Date: Apr 2008
Location: MA
Posts: 1,165
Default

Quote:
Originally Posted by cavedude View Post
That's how I do it and never have had a problem. (svn remove, and svn add) I've never used the svn rename function, I don't believe it works correctly.
That is all svn move does I believe.
Reply With Quote
Reply

Thread Tools
Display Modes

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 08:13 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 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3