Commit Graph

32 Commits

Author SHA1 Message Date
simoleo89 108a24625f feat(furni-editor): import-text packet (10049) for Habbo furnidata fetch
Add FurniEditorImportTextComposer (outgoing 10049) + FurniEditorImportText
ResultEvent/Parser (incoming 10049: found, name, description, classname),
register both in NitroMessages and export from the furnieditor barrels.
Lets the editor pull official names/descriptions from a server-fetched
Habbo furnidata URL.
2026-06-06 15:26:23 +02:00
simoleo89 beea0a2c61 Merge remote-tracking branch 'fork/main'
# Conflicts:
#	packages/communication/src/NitroMessages.ts
2026-06-06 00:21:11 +02:00
simoleo89 334e8e07be Merge branch 'feat/furni-names-from-json-server'
# Conflicts:
#	packages/communication/src/NitroMessages.ts
2026-06-05 23:35:10 +02:00
duckietm d61a07e1e7 🆙 Fix the Admin Catalogue stuff 2026-06-05 14:25:47 +02:00
simoleo89 17957e7f54 feat(communication): FurnitureDataReload incoming event + parser (header 10047) 2026-06-04 21:50:34 +02:00
DuckieTM 6c07cf8677 Merge pull request #86 from simoleo89/feat/mentions-packets
feat(mentions): mention packets (received / list / request / mark-read / delete)
2026-06-03 09:48:56 +02:00
duckietm 90f2fa5fd8 🆙 Updated Prefixes 2026-06-03 09:39:53 +02:00
simoleo89 cf81ca6689 feat(messenger): typing packets (ConsoleTyping + FriendTyping) 2026-06-02 20:57:38 +02:00
simoleo89 9a678b04fb feat(messenger): read-receipt packets (MarkConsoleRead + ConsoleReadReceipt) 2026-06-02 20:03:32 +02:00
simoleo89 2b32ffa990 feat(mentions): add MentionReceived/MentionsList packets + parsers and composers 2026-05-31 21:38:46 +02:00
medievalshell 238592cd72 feat: soundboard packets
Add the soundboard message protocol mirroring the Arcturus side:
- incoming SoundboardSettings (enabled flag + sound list) and
  SoundboardPlay (soundId, url, username) events + parsers
- outgoing SoundboardPlay (soundId) and SoundboardSetEnabled composers
- header ids 9405/9406 (incoming), 9306/9307 (outgoing)
- NitroMessages registration + barrel exports
2026-05-28 09:02:57 +02:00
medievalshell 87eec0563d feat: rare values + fortune wheel protocol + prize editor
Composers/parsers/events for rare values + wheel (open/spin/buy/data/result/
recent-wins) + admin (get/save prizes), headers 9300-9305 / 9400-9404.
fix: figure map uses split-aware loadGamedata (raw fetch broke on tier-manifest
gamedata, silently empty avatars).
2026-05-28 02:39:01 +02:00
simoleo89 5dd5b26bbe feat(communication): housekeeping hotel alert + dashboard + audit log
Outgoing 9127-9129: send-hotel-alert (message string), get-dashboard
(no args), list-action-log (limit int).

Incoming 9206 HousekeepingDashboardEvent + 9207 ActionLogEvent with
matching parsers and data classes. Dashboard is a flat one-shot
parse — no count prefix; action log uses the standard "count + N
entries" list pattern.

Closes the HK packet surface — yarn compile:fast clean.
2026-05-24 16:28:52 +02:00
simoleo89 597cd2402f feat(communication): housekeeping rooms domain — 7 composers + 2 events
* Outgoing 9110-9116: find-room-by-id, search-rooms (exact|prefix),
  room-state (open|close toggle), mute-room, kick-all-from-room,
  transfer-room-ownership, delete-room.

* Incoming 9202 HousekeepingRoomDetailEvent + 9203 RoomListEvent.

* HousekeepingRoomData parser data class with the 11 IHousekeepingRoom
  fields. Single-room and list events share the same data class via
  composition.

`yarn compile:fast` clean.
2026-05-24 16:26:07 +02:00
simoleo89 31598b8883 feat(communication): housekeeping ban-user + generic action-result
* HousekeepingBanUserComposer (OutgoingHeader 9102): (userId,
  reason, hours).

* HousekeepingActionResultEvent + Parser (IncomingHeader 9201):
  generic ack carrying (actionKey, ok, actionId, message). Same
  parser will back mute / kick / give-credits / room-close / etc.
  callers — adding a new HK action only needs a new outgoing
  composer plus the right ACTION_KEY constant on the server side.

vitest 138/138, `yarn compile:fast` clean.
2026-05-24 16:26:06 +02:00
simoleo89 ec7e122e74 feat(communication): add housekeeping find-user-by-name packet pair
TS counterparts to Arcturus' new HK packet pair. Adds
HousekeepingFindUserByNameComposer (OutgoingHeader 9100) and
HousekeepingUserDetailEvent (IncomingHeader 9200) with a parser that
wraps an optional HousekeepingUserDetailData. The data class follows
the flat optional-trailing-field pattern (isMuted / isTradeLocked
read under bytesAvailable guards) so the renderer stays compatible
with a server that hasn't surfaced those manager APIs offline yet.

The parser exposes `found: boolean` and `user: HousekeepingUserDetailData | null`
so a callsite that gets a "user not found" reply can branch without
having to read into an unpopulated data object — the composer writes
`appendBoolean(false)` and stops, the parser sees the false and leaves
`user` null.

Headers 9100..9199 / 9200..9299 reserved for the rest of the HK
packet surface. Composer + event registered in NitroMessages alongside
the existing YouTube-room overrides. `yarn compile:fast` clean, vitest
138/138 green.
2026-05-24 16:26:06 +02:00
Lorenzune 1dede2c098 Merge remote-tracking branch 'duckie-temp/main' into duckie-merge-2026-04-21
# Conflicts:
#	packages/communication/src/NitroMessages.ts
#	packages/communication/src/messages/incoming/IncomingHeader.ts
#	packages/communication/src/messages/outgoing/OutgoingHeader.ts
2026-04-21 11:20:02 +02:00
Lorenzune 7bf552824f Sync renderer safety push 2026-04-21 08:57:35 +02:00
duckietm 37f817a098 🆙 Added Youtube Brtoadcast 2026-04-10 11:22:45 +02:00
duckietm 85d3422e86 🆙 Renderer Logic Youtube Broadcast 2026-04-09 11:51:32 +02:00
Lorenzune 24f1d1278a feat: add room control rendering support 2026-04-03 12:09:16 +02:00
Lorenzune 190f02ebbe feat: add wired monitor and variable protocol support 2026-04-02 04:44:04 +02:00
Life 594b9c28a0 feat: FurniEditor WebSocket packets (10040-10045) — composers, parsers, events 2026-03-27 19:54:21 +01:00
duckietm 87d825746c 🆕 Added New catalogue page 2026-03-23 15:00:55 +01:00
duckietm 531ea1c33d Revert "Merge pull request #16 from simoleo89/furnisettingeditor-pr"
This reverts commit 2e90578976, reversing
changes made to 749ec76177.
2026-03-23 11:39:27 +01:00
DuckieTM 30fb98cd8c Merge branch 'main' into furnisettingeditor-pr 2026-03-23 11:15:29 +01:00
Life 35f55d5add feat(furni-editor): add WebSocket packets for furniture editor
Add composers, parsers, and events for the Furni Editor feature
communicating via WebSocket with the Arcturus emulator.

Packet handlers:
- Search (10040/10041): search furniture by name, ID, or type
- Detail (10042/10043): get/receive full furniture details by sprite ID
- Update (10044): save furniture property changes
- Create (10045): create new furniture items
- Delete (10046): delete furniture items
- Interactions (10047/10048): list available interaction types
- Result (10049): confirmation response for save/delete/create

New files:
- 7 outgoing composers (Search, Detail, BySprite, Interactions, Update, Create, Delete)
- 4 incoming events (Search, Detail, Interactions, Result)
- 4 parsers (Search, Detail, Interactions, Result)
- Updated IncomingHeader, OutgoingHeader, NitroMessages, and barrel exports
2026-03-22 18:04:27 +01:00
Lorenzune 38a79d4f80 feat: support wired movement packets and room sync 2026-03-22 16:48:51 +01:00
DuckieTM 569e0ff67b 🆙 added missing AvailableCommands 2026-03-21 12:15:25 +01:00
simoleo89 68af013c60 feat: custom prefix system protocol layer
Prefix parsers, composers and events:
- UserPrefixesParser, PrefixReceivedParser, ActivePrefixUpdatedParser
- PurchasePrefixComposer, SetActivePrefixComposer, DeletePrefixComposer, RequestPrefixesComposer
- RoomUnitChatParser reads prefixText/Color/Icon/Effect from chat packets
- RoomSessionChatEvent carries prefix data to client
- RoomChatHandler passes prefix fields through event chain
2026-03-20 17:22:50 +01:00
duckietm bd09ea8b25 🆙 added latest changes 2024-07-04 15:03:26 +02:00
duckietm b3134ce50b Move to Renderer V2 2024-04-03 09:27:56 +02:00