diff --git a/README.md b/README.md index d41a1da..893f1a0 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Kawari is primarily a research project, but also a way to preserve the modern cl ## Supported Game Version -Kawari currently supports patch **7.2**. Kawari will never "roll back" to a previous patch. There are other servers (e.g. Sapphire) that support older versions of the game. As Kawari moves to a new major patch, the previous patch is moved to a branch (e.g. 7.1) These branches are for archival; effectively unsupported, but still useful. +Kawari currently supports patch **7.20h**. Kawari will never "roll back" to a previous patch. There are other servers (e.g. Sapphire) that support older versions of the game. As Kawari moves to a new major patch, the previous patch is moved to a branch (e.g. 7.1) These branches are for archival; effectively unsupported, but still useful. Only the Global region is supported. Only the Windows client is supported. Supporting other regions or clients are currently out of scope of this project. diff --git a/resources/opcodes.json b/resources/opcodes.json index 95ba68d..d249983 100644 --- a/resources/opcodes.json +++ b/resources/opcodes.json @@ -7,37 +7,37 @@ }, { "name": "InitZone", - "opcode": 699, + "opcode": 636, "size": 112 }, { "name": "ActorControlSelf", - "opcode": 367, + "opcode": 178, "size": 32 }, { "name": "PlayerStats", - "opcode": 401, + "opcode": 308, "size": 144 }, { "name": "PlayerSetup", - "opcode": 218, + "opcode": 990, "size": 2808 }, { "name": "UpdateClassInfo", - "opcode": 119, + "opcode": 633, "size": 16 }, { "name": "PlayerSpawn", - "opcode": 817, + "opcode": 932, "size": 664 }, { "name": "InitResponse", - "opcode": 547, + "opcode": 240, "size": 16 }, { @@ -47,22 +47,22 @@ }, { "name": "ActorSetPos", - "opcode": 136, + "opcode": 197, "size": 24 }, { "name": "ServerChatMessage", - "opcode": 837, + "opcode": 712, "size": 776 }, { "name": "Unk8", - "opcode": 308, + "opcode": 289, "size": 808 }, { "name": "LinkShellInformation", - "opcode": 564, + "opcode": 112, "size": 456 }, { @@ -72,7 +72,7 @@ }, { "name": "PrepareZoning", - "opcode": 364, + "opcode": 190, "size": 16 }, { @@ -82,114 +82,114 @@ }, { "name": "Unk16", - "opcode": 939, + "opcode": 456, "size": 136 }, { "name": "ActorControl", - "opcode": 520, + "opcode": 623, "size": 24 }, { "name": "ActorMove", - "opcode": 345, + "opcode": 401, "size": 16 }, { "name": "Unk17", - "opcode": 673, + "opcode": 466, "size": 104 }, { "name": "SocialList", - "opcode": 876, + "opcode": 651, "size": 1136 }, { "name": "NpcSpawn", - "opcode": 319, + "opcode": 860, "size": 656 }, { "name": "StatusEffectList", - "opcode": 839, + "opcode": 424, "size": 384 }, { "name": "WeatherChange", - "opcode": 373, + "opcode": 900, "size": 8 }, { "name": "ItemInfo", - "opcode": 850, + "opcode": 195, "size": 64 }, { "name": "ContainerInfo", - "opcode": 566, + "opcode": 403, "size": 16 }, { "name": "EventPlay", - "opcode": 991, + "opcode": 147, "size": 40 }, { "name": "EventStart", - "opcode": 955, + "opcode": 610, "size": 24 }, { "name": "UpdateHpMpTp", - "opcode": 325, + "opcode": 162, "size": 8 }, { "name": "ActionResult", - "opcode": 785, + "opcode": 508, "size": 124 } ], "ClientZoneIpcType": [ { "name": "InitRequest", - "opcode": 683, + "opcode": 959, "size": 120 }, { "name": "FinishLoading", - "opcode": 427, + "opcode": 912, "size": 72 }, { "name": "Unk1", - "opcode": 868, + "opcode": 387, "size": 32 }, { "name": "Unk2", - "opcode": 472, + "opcode": 935, "size": 16 }, { "name": "Unk3", - "opcode": 687, + "opcode": 240, "size": 8 }, { "name": "Unk4", - "opcode": 376, + "opcode": 929, "size": 8 }, { "name": "SetSearchInfoHandler", - "opcode": 522, + "opcode": 405, "size": 8 }, { "name": "Unk5", - "opcode": 547, + "opcode": 629, "size": 8 }, { @@ -199,7 +199,7 @@ }, { "name": "UpdatePositionHandler", - "opcode": 561, + "opcode": 675, "size": 24 }, { @@ -214,22 +214,22 @@ }, { "name": "ChatMessage", - "opcode": 375, + "opcode": 293, "size": 1056 }, { "name": "GameMasterCommand", - "opcode": 905, + "opcode": 939, "size": 32 }, { "name": "EnterZoneLine", - "opcode": 447, + "opcode": 136, "size": 24 }, { "name": "ActionRequest", - "opcode": 865, + "opcode": 643, "size": 32 }, { @@ -239,7 +239,7 @@ }, { "name": "Unk17", - "opcode": 466, + "opcode": 985, "size": 32 }, { @@ -259,7 +259,7 @@ }, { "name": "InventoryModify", - "opcode": 318, + "opcode": 564, "size": 112 } ], diff --git a/src/lib.rs b/src/lib.rs index e6be6b7..4b2c7f1 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -46,14 +46,14 @@ pub const RECEIVE_BUFFER_SIZE: usize = 32000; pub const SUPPORTED_BOOT_VERSION: Version = Version("2025.01.10.0000.0001"); /// Supported game version. -pub const SUPPORTED_GAME_VERSION: Version = Version("2025.03.18.0000.0000"); +pub const SUPPORTED_GAME_VERSION: Version = Version("2025.03.27.0000.0000"); const SUPPORTED_EXPAC_VERSIONS: [(&str, Version); 5] = [ - ("ex1", Version("2025.03.14.0000.0000")), - ("ex2", Version("2025.03.18.0000.0000")), - ("ex3", Version("2025.03.18.0000.0000")), - ("ex4", Version("2025.03.18.0000.0000")), - ("ex5", Version("2025.03.18.0000.0000")), + ("ex1", Version("2025.03.27.0000.0000")), + ("ex2", Version("2025.03.27.0000.0000")), + ("ex3", Version("2025.03.27.0000.0000")), + ("ex4", Version("2025.03.27.0000.0000")), + ("ex5", Version("2025.03.27.0000.0000")), ]; /// Supported expansion versions.