GrangerHub/tremulous-game-logic

Color update

dGr8LookinSparky opened this issue · 0 comments

  • Implement support for custom colors defined through a hexadecimal format.
  • Remove extra color codes that are unused (example ^1^2^3^4^5a only the last color code ^5 would apply to the only printed character a, so all of the other codes before ^5 should be removed in that specific example and not waste space in names).
  • Implement an escape from the color escape so that ^ can be printed, in particular that format would be ^^.
  • Include both a short and long format for the hex support, that is ^#fff and ^##ffffff.
  • Redo the standard colors to have a different color for each number, for each lowercase letter, and for each uppercase letter. 0-7 will remain the orignal ansi colors. All other color characters will have colors that resemble the corrsponding ansi color of the old color code system.
  • Implement the client command /colors, which would list the color code mappings of all of the new standard colors, and print the different kinds of formats that can be used for the color codes (including for the custom color codes).
  • Make it so that the length of names are minimally effected by the use of color codes.
  • Implement color previews in the say menus, like how the console input previews colors.
  • Implement a color usage history for the console and say menus with previous color ^< and next color ^> options. Sync this color history between the client and ui through a cvar. The history would jump to current if a new color code is used.
  • Implement an input history for stuff entered in the say menus. Arrow up and arrow down would cycle through this history. Preserve what has been typed into a say menu, but was not submitted before exiting the say menus.
  • Implement scrolling through message modes without deleting the current input in the say menus. use page up and page down to do this. Have the message mode type text blink when transitioning to another message mode.
  • Have ctrl c clear the current say menu line.
  • Have arrow down when at the current say menu line provide a clear line that erases the curent say menu line only if you start typing while it is selected.
  • Add a page up and page down labels above and below respectively the message mode label to indicate cycling through message modes.
  • Implement player mention highlighting.
  • Implement tab completion in the say menus, with tab completion for player names if @ is used.
  • Have / be a shortcut to opening the command say menu.
  • Fix the buggy player name fields in the menus.
  • Implement saved favourite colors, with the format ^=0 where the single digit number can range from 0 to 9 (10 max favourites).
  • Port all of these updates to the client repo.