Chat: bigger text option, and don't keep old matches' chat around

未關閉
#68 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 2 天內回覆

還沒有人認領這個 Issue。

評估

難度
5/5
預估耗時
一週以上
新手友好度
35/100
Issue 類型
功能
描述清晰度
需要釐清
活躍度
活躍
技術堆疊
lua
領域
frontend

研究方向

Start with lib/debugplus/console.lua, compatibility/debugplus.lua, and api/chat.lua to trace chat rendering, font use, and lobby cleanup. The issue leaves the old-message behavior and defaults undecided, so first resolve the listed UX questions; then add the agreed text-size and history options and verify they apply to the open console and fading messages.

由索引模型根據 Issue 內容生成。

描述

What we want

  1. Bigger chat text. A setting for the chat text size.
  2. Old messages shouldn't hang around. Some option so chat from earlier matches doesn't stay on screen and in the log forever, for example clearing it when a new match is found, or hiding it. The right UX still needs deciding (see below).

Today

  • Chat is the console in lib/debugplus/console.lua (or DebugPlus's own console when that mod is loaded, compatibility/debugplus.lua).
  • Text is drawn with LÖVE's current font (love.graphics.getFont()), so its size is fixed: there is no setting for it.
  • The log keeps the last 500 messages (console.lua, #messages > 500) and is never cleared. Leaving a lobby (MPAPI.chat.cleanup in api/chat.lua) unhooks sending but keeps every message, so the last match's chat is still there in the next one.
  • With the console closed, new messages show for 5 seconds and fade over 1 second (showTime, fadeTime).

Text size

  • A size option in the mod's settings, for example Small / Medium / Large (or a slider), applied to both the open console and the fading messages.
  • Line wrapping and scrolling already measure with the font (font:getWrap, font:getHeight), so they should follow a bigger font, but the input line and window size need checking.
  • When DebugPlus is loaded its own console draws the text; we may only be able to size ours.

Old chat: options to decide between

Option Upside Downside
Clear the log when a new match is found Each match starts clean; simplest to explain Can't scroll back to what someone said last game (for a report, say)
Divider instead of clearing ("--- New match vs X ---") Keeps history, makes it clear what is old Old messages still fill the log
Hide old matches' messages, keep them in memory (show with a toggle or command, e.g. /history) Clean by default, nothing lost More to build and explain
Clear when leaving the lobby Matches the lobby lifecycle Same downside as clearing
A /clear command Player decides Doesn't help anyone who doesn't know about it

Open questions:

  • Default on or off? Which option is the default?
  • Should the fading on-screen messages (console closed) ever show a message from a previous match?
  • Reports: if a player wants to report chat from a finished match, does the server's copy cover that, so clearing the client log is safe?
  • Should the same setting cover system notices (yellow) or only player messages?
主要語言
Lua
星號
10
分支
8
平均合併
1 天 18 小時
30 天內合併 PR
20

環境準備

  • 沒有 Dockerfile 或 Docker Compose 檔案
  • 沒有 Pull Request 範本
  • 閱讀貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

Balatro-Multiplayer/BalatroMultiplayerAPI 的其他 Issue

查看 Balatro-Multiplayer/BalatroMultiplayerAPI 的全部 Issue

相似的 Issue

更多 Lua Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。