252 lines
9.6 KiB
C#
252 lines
9.6 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.Threading.Tasks;
|
|||
|
|
|||
|
namespace FFXIV_Vibe_Plugin {
|
|||
|
internal class OpCodes {
|
|||
|
|
|||
|
////////////////////////////////////////////////////////////////////////////////
|
|||
|
/// Lobby Connection IPC Codes
|
|||
|
/**
|
|||
|
* Server IPC Lobby Type Codes.
|
|||
|
*/
|
|||
|
public enum ServerLobbyIpcType : ushort {
|
|||
|
LobbyError = 0x0002,
|
|||
|
LobbyServiceAccountList = 0x000C,
|
|||
|
LobbyCharList = 0x000D,
|
|||
|
LobbyCharCreate = 0x000E,
|
|||
|
LobbyEnterWorld = 0x000F,
|
|||
|
LobbyServerList = 0x0015,
|
|||
|
LobbyRetainerList = 0x0017,
|
|||
|
};
|
|||
|
|
|||
|
/**
|
|||
|
* Client IPC Lobby Type Codes.
|
|||
|
*/
|
|||
|
public enum ClientLobbyIpcType : ushort {
|
|||
|
ReqCharList = 0x0003,
|
|||
|
ReqEnterWorld = 0x0004,
|
|||
|
ClientVersionInfo = 0x0005,
|
|||
|
|
|||
|
ReqCharDelete = 0x000A,
|
|||
|
ReqCharCreate = 0x000B,
|
|||
|
};
|
|||
|
|
|||
|
////////////////////////////////////////////////////////////////////////////////
|
|||
|
/// Zone Connection IPC Codes
|
|||
|
/**
|
|||
|
* Server IPC Zone Type Codes.
|
|||
|
*/
|
|||
|
public enum ServerZoneIpcType : ushort {
|
|||
|
PlayerSetup = 0x008B, // updated 6.0
|
|||
|
UpdateHpMpTp = 0x0296,// updated 6.0
|
|||
|
PlayerStats = 0x038D,// updated 6.0
|
|||
|
ActorControl = 0x017E,// updated 6.0
|
|||
|
ActorControlSelf = 0x02E6,// updated 6.0
|
|||
|
ActorControlTarget = 0x0168,// updated 6.0
|
|||
|
Playtime = 0x03C3,// updated 6.0
|
|||
|
Examine = 0x011B,// updated 6.0
|
|||
|
MarketBoardSearchResult = 0x0201,// updated 6.0
|
|||
|
MarketBoardItemListingCount = 0x023C,// updated 6.0
|
|||
|
MarketBoardItemListingHistory = 0x0192,// updated 6.0
|
|||
|
MarketBoardItemListing = 0x0323,// updated 6.0
|
|||
|
MarketBoardPurchase = 0x009D,// updated 6.0
|
|||
|
ActorMove = 0x0235,// updated 6.0
|
|||
|
ResultDialog = 0x00AF,// updated 6.0
|
|||
|
RetainerInformation = 0x0129,// updated 6.0
|
|||
|
NpcSpawn = 0x032E,// updated 6.0
|
|||
|
ItemMarketBoardInfo = 0x008A,// updated 6.0
|
|||
|
PlayerSpawn = 0x0133,// updated 6.0
|
|||
|
ContainerInfo = 0x00EE,// updated 6.0
|
|||
|
ItemInfo = 0x0173,// updated 6.0
|
|||
|
UpdateClassInfo = 0x03A5,// updated 6.0
|
|||
|
ActorCast = 0x0108,// updated 6.0
|
|||
|
CurrencyCrystalInfo = 0x0258,// updated 6.0
|
|||
|
InitZone = 0x02C4,// updated 6.0
|
|||
|
EffectResult = 0x0196,// updated 6.0
|
|||
|
EventStart = 0x0334,// updated 6.0
|
|||
|
EventFinish = 0x01B8,// updated 6.0
|
|||
|
SomeDirectorUnk4 = 0x0164,// updated 6.0
|
|||
|
UpdateInventorySlot = 0x02B6,// updated 6.0
|
|||
|
DesynthResult = 0x02D5,// updated 6.0
|
|||
|
InventoryActionAck = 0x00FC,// updated 6.0
|
|||
|
InventoryTransaction = 0x008F,// updated 6.0
|
|||
|
InventoryTransactionFinish = 0x039B,// updated 6.0
|
|||
|
CFNotify = 0x0317,// updated 6.0
|
|||
|
PrepareZoning = 0x0090,// updated 6.0
|
|||
|
ActorSetPos = 0x0199,// updated 6.0
|
|||
|
PlaceFieldMarker = 0x037D,// updated 6.0
|
|||
|
PlaceFieldMarkerPreset = 0x01CF,// updated 6.0
|
|||
|
ObjectSpawn = 0x0319,// updated 6.0
|
|||
|
Effect = 0x035A,// updated 6.0
|
|||
|
StatusEffectList = 0x02C5,// updated 6.0
|
|||
|
ActorGauge = 0x0283,// updated 6.0
|
|||
|
FreeCompanyInfo = 0x031C,// updated 6.0
|
|||
|
FreeCompanyDialog = 0x036E,// updated 6.0
|
|||
|
AirshipTimers = 0x00ED,// updated 6.0
|
|||
|
SubmarineTimers = 0x00F5,// updated 6.0
|
|||
|
AirshipStatusList = 0x023F,// updated 6.0
|
|||
|
AirshipStatus = 0x01E3,// updated 6.0
|
|||
|
AirshipExplorationResult = 0x00B4,// updated 6.0
|
|||
|
SubmarineProgressionStatus = 0x030B,// updated 6.0
|
|||
|
SubmarineStatusList = 0x02F4,// updated 6.0
|
|||
|
SubmarineExplorationResult = 0x0183,// updated 6.0
|
|||
|
|
|||
|
EventPlay = 0x00A5, // Updated 6.0
|
|||
|
EventPlay4 = 0x022E, // Updated 6.0
|
|||
|
EventPlay8 = 0x18B, // Updated 6.0
|
|||
|
EventPlay16 = 0x1F4, // Updated 6.0
|
|||
|
EventPlay32 = 0x65, // Updated 6.0
|
|||
|
EventPlay64 = 0x3A8, // Updated 6.0
|
|||
|
EventPlay128 = 0x16E, // Updated 6.0
|
|||
|
EventPlay255 = 0x366, // Updated 6.0
|
|||
|
|
|||
|
WeatherChange = 0x01FD, // Updated 6.0
|
|||
|
|
|||
|
Logout = 0x02EC, // updated 6.0 hotfix
|
|||
|
|
|||
|
//HousingWardInfo = 0x012A, // updated 5.58 hotfix
|
|||
|
};
|
|||
|
|
|||
|
/**
|
|||
|
* Client IPC Zone Type Codes.
|
|||
|
*/
|
|||
|
public enum ClientZoneIpcType : ushort {
|
|||
|
UpdatePositionHandler = 0x0346,// updated 6.0
|
|||
|
ClientTrigger = 0x03AC,// updated 6.0
|
|||
|
ChatHandler = 0x01CC,// updated 6.0
|
|||
|
SetSearchInfoHandler = 0x03B1,// updated 6.0
|
|||
|
MarketBoardPurchaseHandler = 0x00DC,// updated 6.0
|
|||
|
InventoryModifyHandler = 0x00A3,// updated 6.0 (Base offset: 0x00AA)
|
|||
|
UpdatePositionInstance = 0x0163,// updated 6.0
|
|||
|
|
|||
|
//PingHandler = 0x02CD, // updated 5.58 hotfix
|
|||
|
//InitHandler = 0x01AA, // updated 5.58 hotfix
|
|||
|
|
|||
|
//FinishLoadingHandler = 0x02DA, // updated 5.58 hotfix
|
|||
|
|
|||
|
//CFCommenceHandler = 0x0092, // updated 5.58 hotfix
|
|||
|
|
|||
|
//CFRegisterDuty = 0x03C7, // updated 5.58 hotfix
|
|||
|
//CFRegisterRoulette = 0x00C2, // updated 5.58 hotfix
|
|||
|
//PlayTimeHandler = 0x00B0, // updated 5.58 hotfix
|
|||
|
//LogoutHandler = 0x0178, // updated 5.58 hotfix
|
|||
|
//CancelLogout = 0x01F9, // updated 5.58 hotfix
|
|||
|
|
|||
|
//CFDutyInfoHandler = 0x0092, // updated 5.58 hotfix
|
|||
|
|
|||
|
//SocialReqSendHandler = 0x023A, // updated 5.58 hotfix
|
|||
|
//CreateCrossWorldLS = 0x0336, // updated 5.58 hotfix
|
|||
|
|
|||
|
//SocialListHandler = 0x0187, // updated 5.58 hotfix
|
|||
|
//ReqSearchInfoHandler = 0x022C, // updated 5.58 hotfix
|
|||
|
//ReqExamineSearchCommentHandler = 0x0315, // updated 5.58 hotfix
|
|||
|
|
|||
|
//ReqRemovePlayerFromBlacklist = 0x0145, // updated 5.58 hotfix
|
|||
|
//BlackListHandler = 0x0161, // updated 5.58 hotfix
|
|||
|
//PlayerSearchHandler = 0x02FF, // updated 5.58 hotfix
|
|||
|
|
|||
|
//LinkshellListHandler = 0x023B, // updated 5.58 hotfix
|
|||
|
|
|||
|
//MarketBoardRequestItemListingInfo = 0x0189, // updated 5.58 hotfix
|
|||
|
//MarketBoardRequestItemListings = 0x0092, // updated 5.58 hotfix
|
|||
|
//MarketBoardSearch = 0x02F9, // updated 5.58 hotfix
|
|||
|
|
|||
|
//ReqExamineFcInfo = 0x0136, // updated 5.58 hotfix
|
|||
|
|
|||
|
//FcInfoReqHandler = 0x0234, // updated 5.58 hotfix
|
|||
|
|
|||
|
//FreeCompanyUpdateShortMessageHandler = 0x0123, // added 5.0
|
|||
|
|
|||
|
//ReqMarketWishList = 0x0306, // updated 5.58 hotfix
|
|||
|
|
|||
|
//ReqJoinNoviceNetwork = 0x01D5, // updated 5.58 hotfix
|
|||
|
|
|||
|
//ReqCountdownInitiate = 0x00C2, // updated 5.58 hotfix
|
|||
|
//ReqCountdownCancel = 0x00E6, // updated 5.58 hotfix
|
|||
|
|
|||
|
//ZoneLineHandler = 0x03CC, // updated 5.58 hotfix
|
|||
|
//DiscoveryHandler = 0x023A, // updated 5.58 hotfix
|
|||
|
|
|||
|
|
|||
|
//PlaceFieldMarker = 0x02AF, // updated 5.58 hotfix
|
|||
|
//PlaceFieldMarkerPreset = 0x018E, // updated 5.58 hotfix
|
|||
|
//SkillHandler = 0x0244, // updated 5.58 hotfix
|
|||
|
//GMCommand1 = 0x018A, // updated 5.58 hotfix
|
|||
|
//GMCommand2 = 0x02FD, // updated 5.58 hotfix
|
|||
|
//AoESkillHandler = 0x01F1, // updated 5.58 hotfix
|
|||
|
|
|||
|
//InventoryEquipRecommendedItems = 0x0109, // updated 5.58 hotfix
|
|||
|
|
|||
|
//ReqPlaceHousingItem = 0x0352, // updated 5.58 hotfix
|
|||
|
//BuildPresetHandler = 0x024E, // updated 5.58 hotfix
|
|||
|
|
|||
|
//TalkEventHandler = 0x0305, // updated 5.58 hotfix
|
|||
|
//EmoteEventHandler = 0x03A7, // updated 5.58 hotfix
|
|||
|
//WithinRangeEventHandler = 0x02EE, // updated 5.58 hotfix
|
|||
|
//OutOfRangeEventHandler = 0x00EE, // updated 5.58 hotfix
|
|||
|
//EnterTeriEventHandler = 0x0389, // updated 5.58 hotfix
|
|||
|
|
|||
|
//ReturnEventHandler = 0x03B4, // updated 5.58 hotfix
|
|||
|
//TradeReturnEventHandler = 0x0216, // updated 5.58 hotfix
|
|||
|
|
|||
|
//LinkshellEventHandler = 0x0239, // updated 5.58 hotfix
|
|||
|
//LinkshellEventHandler1 = 0x0239, // updated 5.58 hotfix
|
|||
|
|
|||
|
//ReqEquipDisplayFlagsChange = 0x01F6, // updated 5.58 hotfix
|
|||
|
|
|||
|
//LandRenameHandler = 0x018C, // updated 5.58 hotfix
|
|||
|
//HousingUpdateHouseGreeting = 0x02F4, // updated 5.58 hotfix
|
|||
|
//HousingUpdateObjectPosition = 0x02CB, // updated 5.58 hotfix
|
|||
|
|
|||
|
//SetSharedEstateSettings = 0x0179, // updated 5.58 hotfix
|
|||
|
|
|||
|
//PerformNoteHandler = 0x016E, // updated 5.58 hotfix
|
|||
|
};
|
|||
|
|
|||
|
////////////////////////////////////////////////////////////////////////////////
|
|||
|
/// Chat Connection IPC Codes
|
|||
|
/**
|
|||
|
* Server IPC Chat Type Codes.
|
|||
|
*/
|
|||
|
public enum ServerChatIpcType : ushort {
|
|||
|
//Tell = 0x0064, // updated for sb
|
|||
|
//TellErrNotFound = 0x0066,
|
|||
|
|
|||
|
//FreeCompanyEvent = 0x012C, // added 5.0
|
|||
|
};
|
|||
|
|
|||
|
/**
|
|||
|
* Client IPC Chat Type Codes.
|
|||
|
*/
|
|||
|
public enum ClientChatIpcType : ushort {
|
|||
|
//TellReq = 0x0064,
|
|||
|
};
|
|||
|
|
|||
|
public static string? GetName(ushort opCode) {
|
|||
|
string? name = "?Unknow?";
|
|||
|
if(Enum.IsDefined(typeof(OpCodes.ServerLobbyIpcType), opCode)) {
|
|||
|
name = "ServerLobbyIpcType-" + Enum.GetName(typeof(OpCodes.ServerLobbyIpcType), opCode);
|
|||
|
}
|
|||
|
if(Enum.IsDefined(typeof(OpCodes.ClientLobbyIpcType), opCode)) {
|
|||
|
name = "ClientLobbyIpcType-" + Enum.GetName(typeof(OpCodes.ClientLobbyIpcType), opCode);
|
|||
|
}
|
|||
|
if(Enum.IsDefined(typeof(OpCodes.ServerZoneIpcType), opCode)) {
|
|||
|
name = "ServerZoneIpcType-" + Enum.GetName(typeof(OpCodes.ServerZoneIpcType), opCode);
|
|||
|
}
|
|||
|
if(Enum.IsDefined(typeof(OpCodes.ClientZoneIpcType), opCode)) {
|
|||
|
name = "ClientZoneIpcType-" + Enum.GetName(typeof(OpCodes.ClientZoneIpcType), opCode);
|
|||
|
}
|
|||
|
if(Enum.IsDefined(typeof(OpCodes.ServerChatIpcType), opCode)) {
|
|||
|
name = "ServerChatIpcType-" + Enum.GetName(typeof(OpCodes.ServerChatIpcType), opCode);
|
|||
|
}
|
|||
|
if(Enum.IsDefined(typeof(OpCodes.ClientChatIpcType), opCode)) {
|
|||
|
name = "ClientChatIpcType-"+Enum.GetName(typeof(OpCodes.ClientChatIpcType), opCode);
|
|||
|
}
|
|||
|
return name;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|