Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
ff86c23
Add V11_2_7_64978
Luzifix Dec 18, 2025
988ead8
Add housing handler parser for editor mode active
Luzifix Dec 14, 2025
291a21b
Add parsing for CMSG_HOUSING_FIXTURE_SET_EDITOR_MODE_ACTIVE and CMSG_…
Luzifix Dec 14, 2025
3c77b86
Add SMSG_HOUSING_DECOR_SET_EDITOR_MODE_ACTIVE_RESPONSE
Luzifix Dec 14, 2025
bc08e74
Add parser for SMSG_HOUSING_FIXTURE_SET_EDITOR_MODE_ACTIVE_RESPONSE, …
Luzifix Dec 14, 2025
e9d8362
Reanme unk to active in HandleHousingRoomSetEditorModeActiveResponse
Luzifix Dec 14, 2025
6c5ad67
Add unfinished SMSG_HOUSING_CURRENT_HOUSE_INFO_RESPONSE parser
Luzifix Dec 14, 2025
f2a8e6f
Add CMSG_HOUSING_ROOM_REMOVE_ROOM and SMSG_HOUSING_ROOM_REMOVE_ROOM_R…
Luzifix Dec 14, 2025
217910c
Add CMSG_HOUSING_DECOR_SELECT_DECOR
Luzifix Dec 15, 2025
1c96a65
Add CMSG_HOUSING_DECOR_START_PLACING_NEW_DECOR
Luzifix Dec 15, 2025
60d7c60
Add CMSG_HOUSING_DECOR_REMOVE_PLACED_DECOR_ENTRY
Luzifix Dec 15, 2025
7a5e731
Add CMSG_HOUSING_DECOR_COMMIT_DYES_FOR_SELECTED_DECOR
Luzifix Dec 15, 2025
9aa3d03
Add CMSG_HOUSE_INTERIOR_LEAVE_HOUSE
Luzifix Dec 15, 2025
6d864d1
Add CMSG_HOUSING_SERVICES_GET_PLAYER_OWNED_HOUSES
Luzifix Dec 15, 2025
3303531
Add room rotate and update response
Luzifix Dec 15, 2025
71987a2
Add CMSG_HOUSING_DECOR_CATALOG_CREATE_SEARCHER
Luzifix Dec 15, 2025
49d4e71
Add SMSG_HOUSING_DECOR_CATALOG_CREATE_SEARCHER_RESPONSE
Luzifix Dec 17, 2025
56c238a
Add opcode for SMSG_HOUSING_SERVICES_GET_PLAYER_OWNED_HOUSES_RESPONSE
Luzifix Dec 17, 2025
eb1c81e
Fix SMSG_HOUSING_CURRENT_HOUSE_INFO_RESPONSE struct
Luzifix Dec 18, 2025
a9b6ab6
Add parser for SMSG_HOUSING_SERVICES_GET_PLAYER_OWNED_HOUSES_RESPONSE
Luzifix Dec 18, 2025
0ab5a9d
Add CMSG_QUERY_NEIGHBORHOOD_INFO parser
Luzifix Dec 18, 2025
5f544a8
Add CMSG_HOUSING_SERVICES_GET_OTHERS_PLAYER_OWNED_HOUSES and SMSG_HOU…
Luzifix Dec 18, 2025
857ae63
Add SMSG_QUERY_NEIGHBORHOOD_NAME_RESPONSE parser
Luzifix Dec 18, 2025
fec7757
Add parser for CMSG_HOUSING_SERVICES_HOUSE_FINDER_REQUEST_NEIGHBORHOO…
Luzifix Dec 18, 2025
5b2d1d6
Sort housing handler
Luzifix Dec 18, 2025
b026060
Add CMSG_HOUSING_DECOR_MOVE_DECOR parser and rename DecorID to Catalo…
Luzifix Dec 18, 2025
48a3939
Add parser for CMSG_HOUSING_DECOR_CATALOG_DESTROY_ENTRY and CMSG_HOUS…
Luzifix Dec 18, 2025
2ee5087
Extend parsing of CMSG_HOUSING_DECOR_MOVE_DECOR
Luzifix Dec 19, 2025
0f5d5db
Merge remote-tracking branch 'origin/master' into housing
Luzifix Dec 19, 2025
9f95f81
Rename unknown fields
Luzifix Dec 19, 2025
0bcd9d8
Add misisng Field_87 to CMSG_HOUSING_DECOR_MOVE_DECOR
Luzifix Dec 19, 2025
e563f6b
Add Result to SMSG_HOUSING_SERVICES_GET_OTHERS_PLAYER_OWNED_HOUSES_RE…
Luzifix Dec 19, 2025
1b5d542
Fix SMSG_HOUSING_SERVICES_GET_PLAYER_OWNED_HOUSES_RESPONSE and SMSG_H…
Luzifix Dec 19, 2025
9362480
Add housing guid parsing
Luzifix Dec 19, 2025
3f59740
Fix SMSG_QUERY_NEIGHBORHOOD_NAME_RESPONSE name length bits
Luzifix Dec 19, 2025
e28434e
Add SMSG_HOUSING_DECOR_COMMIT_DYES_FOR_SELECTED_DECOR_RESPONSE parser
Luzifix Dec 21, 2025
3883618
Add SMSG_HOUSING_DECOR_SELECT_DECOR_RESPONSE parser
Luzifix Dec 21, 2025
916b3f3
Add missing bit to SMSG_HOUSING_DECOR_SELECT_DECOR_RESPONSE parser
Luzifix Dec 21, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 90 additions & 0 deletions WowPacketParser/Enums/Housing.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
namespace WowPacketParser.Enums
{
public enum HousingResult : byte
{
Success = 0,
ActionLockedByCombat = 1,
CannotAfford = 2,
CharterComplete = 3,
CollisionInvalid = 4,
DbError = 5,
DecorCannotBeRedeemed = 6,
DecorItemNotDestroyable = 7,
DecorNotFound = 8,
DecorNotFoundInStorage = 9,
DuplicateCharterSignature = 10,
FilterRejected = 11,
FixtureCantDeleteDoor = 12,
FixtureHookEmpty = 13,
FixtureHookOccupied = 14,
FixtureHouseTypeMismatch = 15,
FixtureNotFound = 16,
FixtureNotOwned = 17,
FixtureSizeMismatch = 18,
FixtureTypeMismatch = 19,
GenericFailure = 20,
GuildMoreAccountsNeeded = 21,
GuildMoreActivePlayersNeeded = 22,
GuildNotLoaded = 23,
HouseEditLockFailed = 24,
HouseExteriorRootNotFound = 25,
HookNotChildOfFixture = 26,
HouseNotFound = 27,
IncorrectFaction = 28,
InvalidDecorItem = 29,
InvalidDistance = 30,
InvalidGuild = 31,
InvalidHouse = 32,
InvalidInstance = 33,
InvalidInteraction = 34,
InvalidMap = 35,
InvalidNeighborhoodName = 36,
InvalidRoomLayout = 37,
LockedByOtherPlayer = 38,
LockOperationFailed = 39,
MaxDecorReached = 40,
MissingCoreFixture = 41,
MissingDye = 42,
MissingExpansionAccess = 43,
MissingFactionMap = 44,
MissingPrivateNeighborhoodInvite = 45,
MissingTheme = 46,
MoreHouseSlotsNeeded = 47,
MoreSignaturesNeeded = 48,
NeighborhoodNotFound = 49,
NotInDecorEditMode = 50,
NoNeighborhoodOwnershipRequests = 51,
NotInFixtureEditMode = 52,
NotInLayoutEditMode = 53,
NotInsideHouse = 54,
NotOnOwnedPlot = 55,
OperationAborted = 56,
PermissionDenied = 57,
PlacementTargetInvalid = 58,
PlayerNotFound = 59,
PlayerNotInInstance = 60,
PlotNotFound = 61,
PlotNotVacant = 62,
PlotReservationCooldown = 63,
PlotReserved = 64,
RoomNotFound = 65,
RoomUpdateFailed = 66,
RpcFailure = 67,
ServiceNotAvailable = 68,
StaticDataNotFound = 69,
TimeoutLimit = 70,
TimerunningNotAllowed = 71,
TokenRequired = 72,
TooManyRequests = 73,
TransactionFailure = 74,
UnlockOperationFailed = 75
}

public enum HousingGuidType : byte
{
Decor = 1,
RoomComponent = 2,
House = 3,
Neighborhood = 4,
}
}
12 changes: 12 additions & 0 deletions WowPacketParser/Enums/Opcode.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2473,6 +2473,18 @@ public enum Opcode
SMSG_HARDCORE_DEATH_ALERT,
SMSG_HEALTH_UPDATE,
SMSG_HIGHEST_THREAT_UPDATE,
SMSG_HOUSING_CURRENT_HOUSE_INFO_RESPONSE,
SMSG_HOUSING_DECOR_CATALOG_CREATE_SEARCHER_RESPONSE,
SMSG_HOUSING_DECOR_COMMIT_DYES_FOR_SELECTED_DECOR_RESPONSE,
SMSG_HOUSING_DECOR_SELECT_DECOR_RESPONSE,
SMSG_HOUSING_DECOR_SET_EDITOR_MODE_ACTIVE_RESPONSE,
SMSG_HOUSING_EXTERIOR_SET_EXTERIOR_LOCK_STATE,
SMSG_HOUSING_FIXTURE_SET_EDITOR_MODE_ACTIVE_RESPONSE,
SMSG_HOUSING_ROOM_REMOVE_ROOM_RESPONSE,
SMSG_HOUSING_ROOM_SET_EDITOR_MODE_ACTIVE_RESPONSE,
SMSG_HOUSING_ROOM_UPDATE_RESULT,
SMSG_HOUSING_SERVICES_GET_OTHERS_PLAYER_OWNED_HOUSES_RESPONSE,
SMSG_HOUSING_SERVICES_GET_PLAYER_OWNED_HOUSES_RESPONSE,
SMSG_HOTFIX_CONNECT,
SMSG_HOTFIX_MESSAGE,
SMSG_HOTFIX_NOTIFY,
Expand Down
12 changes: 12 additions & 0 deletions WowPacketParser/Enums/Version/V11_2_7_64632/Opcodes.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1535,6 +1535,18 @@ public static BiDictionary<Opcode, int> Opcodes(Direction direction)
{ Opcode.SMSG_HARDCORE_DEATH_ALERT, 0x40034A },
{ Opcode.SMSG_HEALTH_UPDATE, 0x400174 },
{ Opcode.SMSG_HIGHEST_THREAT_UPDATE, 0x40017C },
{ Opcode.SMSG_HOUSING_CURRENT_HOUSE_INFO_RESPONSE, 0x530001 },
{ Opcode.SMSG_HOUSING_DECOR_CATALOG_CREATE_SEARCHER_RESPONSE, 0x4F0006 },
{ Opcode.SMSG_HOUSING_DECOR_COMMIT_DYES_FOR_SELECTED_DECOR_RESPONSE, 0x4F0008 },
{ Opcode.SMSG_HOUSING_DECOR_SELECT_DECOR_RESPONSE, 0x4F0004 },
{ Opcode.SMSG_HOUSING_DECOR_SET_EDITOR_MODE_ACTIVE_RESPONSE, 0x4F0000 },
{ Opcode.SMSG_HOUSING_EXTERIOR_SET_EXTERIOR_LOCK_STATE, 0x4E0000 },
{ Opcode.SMSG_HOUSING_FIXTURE_SET_EDITOR_MODE_ACTIVE_RESPONSE, 0x500000 },
{ Opcode.SMSG_HOUSING_ROOM_REMOVE_ROOM_RESPONSE, 0x510002 },
{ Opcode.SMSG_HOUSING_ROOM_SET_EDITOR_MODE_ACTIVE_RESPONSE, 0x510000 },
{ Opcode.SMSG_HOUSING_ROOM_UPDATE_RESULT, 0x510003 },
{ Opcode.SMSG_HOUSING_SERVICES_GET_OTHERS_PLAYER_OWNED_HOUSES_RESPONSE, 0x52000D },
{ Opcode.SMSG_HOUSING_SERVICES_GET_PLAYER_OWNED_HOUSES_RESPONSE, 0x52000C },
{ Opcode.SMSG_HOTFIX_CONNECT, 0x440003 },
{ Opcode.SMSG_HOTFIX_MESSAGE, 0x440002 },
{ Opcode.SMSG_INITIALIZE_FACTIONS, 0x4001C5 },
Expand Down
12 changes: 12 additions & 0 deletions WowPacketParser/Enums/Version/V11_2_7_64632/Opcodes_64877.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1534,6 +1534,18 @@ public static BiDictionary<Opcode, int> Opcodes(Direction direction)
{ Opcode.SMSG_HARDCORE_DEATH_ALERT, 0x400349 },
{ Opcode.SMSG_HEALTH_UPDATE, 0x400174 },
{ Opcode.SMSG_HIGHEST_THREAT_UPDATE, 0x40017C },
{ Opcode.SMSG_HOUSING_CURRENT_HOUSE_INFO_RESPONSE, 0x530001 },
{ Opcode.SMSG_HOUSING_DECOR_CATALOG_CREATE_SEARCHER_RESPONSE, 0x4F0006 },
{ Opcode.SMSG_HOUSING_DECOR_COMMIT_DYES_FOR_SELECTED_DECOR_RESPONSE, 0x4F0008 },
{ Opcode.SMSG_HOUSING_DECOR_SELECT_DECOR_RESPONSE, 0x4F0004 },
{ Opcode.SMSG_HOUSING_DECOR_SET_EDITOR_MODE_ACTIVE_RESPONSE, 0x4F0000 },
{ Opcode.SMSG_HOUSING_EXTERIOR_SET_EXTERIOR_LOCK_STATE, 0x4E0000 },
{ Opcode.SMSG_HOUSING_FIXTURE_SET_EDITOR_MODE_ACTIVE_RESPONSE, 0x500000 },
{ Opcode.SMSG_HOUSING_ROOM_REMOVE_ROOM_RESPONSE, 0x510002 },
{ Opcode.SMSG_HOUSING_ROOM_SET_EDITOR_MODE_ACTIVE_RESPONSE, 0x510000 },
{ Opcode.SMSG_HOUSING_ROOM_UPDATE_RESULT, 0x510003 },
{ Opcode.SMSG_HOUSING_SERVICES_GET_OTHERS_PLAYER_OWNED_HOUSES_RESPONSE, 0x52000D },
{ Opcode.SMSG_HOUSING_SERVICES_GET_PLAYER_OWNED_HOUSES_RESPONSE, 0x52000C },
{ Opcode.SMSG_HOTFIX_CONNECT, 0x440003 },
{ Opcode.SMSG_HOTFIX_MESSAGE, 0x440002 },
{ Opcode.SMSG_INITIALIZE_FACTIONS, 0x4001C5 },
Expand Down
18 changes: 18 additions & 0 deletions WowPacketParser/Misc/WowGuid.cs
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,24 @@ public override string ToString()
if (Low == 0 && High == 0)
return "Full: 0x0";

string baseGuidPart = $"TypeName: {GetHighType()}; Full: 0x{High:X16}{Low:X16}";
string endString = $"Low: {GetLow()}";
switch (GetHighType())
{
case HighGuidType.Housing:
{
var subType = (HousingGuidType)((High >> 53) & 0x1F);
return subType switch
{
HousingGuidType.Decor => $"{baseGuidPart}; SubType: {subType}; RealmID: {(High >> 32) & 0xFFFF}; DecorID: {High & 0xFFFFFFFF}; {endString}",
HousingGuidType.Neighborhood => $"{baseGuidPart}; SubType: {subType}; NeighborhoodMapID: {(High >> 32) & 0xFFFF}; Arg2: {High & 0xFFFFFFFF}; {endString}",
HousingGuidType.RoomComponent => $"{baseGuidPart}; SubType: {subType}; HouseRoomID: {High & 0xFFFFFFFF}; {endString}",
HousingGuidType.House => $"{baseGuidPart}; SubType: {subType}; NeighborhoodMapID: {Low & 0x7FFF}; Arg2: {(Low >> 15) & 0x3F}; {endString}",
_ => $"{baseGuidPart}; SubType: Unknown({(byte)subType}); {endString}",
};
}
}

if (HasEntry())
{
StoreNameType type = StoreNameType.None;
Expand Down
Loading