1
0
Fork 0
vibe-plugin/FFXIV_Vibe_Plugin/App/Commons/OpCodes.cs

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;
}
}
}