FAForever / FAForever/fa

[Feature]: Chat emojis

Open
#7,229 4 comments 0 reactions 0 assignees View on GitHub
area: ui ui: chat window
Dominant language
Lua
Stars
264
Forks
260
Avg merge
3d 2h
Merged PRs (30d)
21

Description

### Describe the Feature

Ability to display text-scaled images in chat.

This helps players express themselves better with modern emoji communication in chat.
It also allows improvements for things like the resource sharing notifications by allowing generic icon-based system messages.

### Expected Behavior

Steps of implementation:
1. A text superclass that can render a basic variable-size bitmap using an in-text key. The bitmap should take the left edge of the key's text and be centered vertically in the text line. The height should adjust to text font height. The width should offset the text coming after the bitmap.
2. Make sure methods like text wrapping and the textadvance lazyvar work with it.
3. Allow passing in a key->bitmap table to customize the new class.
5. Implement the new class as the text display for the chat.
6. Add ability to add additional emoji mappings for chat.
7. Create a basic emoji set for the FAF community and assign it to chat.
8. Add an emoji input box to chat based off the mappings. Put added mappings in separate categories alphabetically sorted so that mods don't mess with it too much.
9. Add onto chat's autocomplete implementation to work with the emojis.

### Screenshots

_No response_

### Additional context

This would be an integration and upgrade of @4z0t's deprecated "Emojis" mod.

In the future this could be added to the lobby chat.

Contributor guide

Open the contributing guide

Research direction

Start by locating the chat text display, text wrapping, textadvance, input box, and autocomplete entry points described in the issue. Define the bitmap-backed text behavior and emoji mapping structure before implementing the chat integration. Done means chat renders mapped emojis, wrapping and advancement work, mappings are categorized and sorted, and autocomplete and input support them.

Written by the indexing model from the issue text.

Assessment

Tech stack
lua
Domain
frontend, game-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.