Skip to content

feat(messages): add slide notices which scroll across the top of the screen - #1241

Merged
sven-n merged 2 commits into
masterfrom
claude/pr995-slide-notice
Oct 18, 2026
Merged

sven-n merged 2 commits into
masterfrom
claude/pr995-slide-notice

Conversation

@sven-n

@sven-n sven-n commented Oct 17, 2026 •

Copy link
Copy Markdown
Member

Split out of #995 (original feature by Diego Amatte), reworked to define the packet in the XML instead of writing it by hand.

What it does

Since season 1, the client has two bands at the top of the screen through which it scrolls 0x0D notices of the types 10 to 15. OpenMU only sent the types 0–2 (golden, blue, guild notice). This PR adds:

  • MessageType.SlideNotice (appended as value 3; the existing values are unchanged).

  • A new SlideNotice packet (C1 0D) in ServerToClientPackets.xml, with the fields the client reads for these types:

    Index Field Description
    3 Type 10–12 = help band, 13–15 = notice band (default 14)
    4 LoopCount how often it's shown (default 1; the client ignores > 30)
    6 LoopDelay seconds between the loops
    8 Color 0xAABBGGRR
    12 Speed scroll speed × 10, 0 = default
    13 Message UTF-8, null-terminated

    The generated structs, SendSlideNoticeAsync, the packet tests and docs/Packets are regenerated from the XML (rule 2).

  • ShowMessagePlugIn sends SlideNotice as type 14: queued in the notice band, shown once, white, default speed. Clients before season 1 don't have the bands or these fields (that's also why they don't get the 000000000 prefix), so they get a golden notice instead.

  • New GM chat command /slidenotice <text> (same shape as /goldnotice, fresh GUID, resource-based name and description).

  • The global message card of the admin panel's Servers page gets a message type selector (golden / blue / slide). The docs page admin-panel/servers.md is updated.

Client behaviour

The packet layout and type semantics come from the open source client (ReceiveNotice / CSlideHelpMgr::AddSlide / CUISlideHelp::AddSlide in MuMain). PRECEIVE_NOTICE isn't packed, so Delay is at offset 6, Color at 8, Speed at 12 and the text at 13. Within a band, the first type drops a message that couldn't be shown within a minute, the second queues it, and the third puts it at the front of the queue.

Testing

  • ShowMessagePlugInTests: a season 6 client gets a SlideNotice packet with the expected field values; a 0.75 client gets a golden ServerMessage.
  • All test projects pass: Tests 1854, Packets 642, Web 242, Persistence.Initialization 638 (+7 skipped), PlugIns 49, Network 73 (+4 skipped), ChatServer 26, AttributeSystem 49, Pathfinding 10, ConnectServer 8.
  • Admin panel (-demo mode): the Servers page shows the message type selector (Golden / Blue / Slide), and sending a slide message to all game servers works without errors. No game client was connected, so the scrolling itself wasn't seen in game; the packet layout above was checked against the client source.

Generated by Claude Code

…screen

Since season 1, the client scrolls 0x0D notices of the types 10 to 15
through the help and notice bands at the top of the screen, but OpenMU only
sent the types 0 to 2. The new SlideNotice packet defines the fields the
client reads for them (loop count, loop delay, color, speed).

MessageType.SlideNotice is sent as SlideNotice packet of type 14 (queued in
the notice band, shown once). Clients before season 1 get a golden notice
instead.

It can be sent with the new GM command '/slidenotice <text>' and from the
admin panel, whose global message now has a message type selector.

Split out of #995; the packet is now defined in the XML instead of being
written by hand.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Uz47mrsSwm3hxZc7gCMxd9
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

Deploying openmudocs with  Cloudflare Pages  Cloudflare Pages

Latest commit: bec89d2
Status: ✅  Deploy successful!
Preview URL: https://2158f1d9.openmudocs.pages.dev
Branch Preview URL: https://claude-pr995-slide-notice.openmudocs.pages.dev

View logs

@sven-n
sven-n merged commit c871446 into master Oct 18, 2026
4 checks passed
@sven-n
sven-n deleted the claude/pr995-slide-notice branch October 18, 2026 09:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants