TeamREPENTOGON / TeamREPENTOGON/REPENTOGON

ImGui improvement

Open
#901 0 comments 0 reactions 0 assignees View on GitHub

A pull request for this has already been merged.

  • #931 by @frto027 — merged
Dominant language
C++
Stars
345
Forks
51
Avg merge
11h 2m
Merged PRs (30d)
4

Description

This is a checklist to trace current work.

Version bump work

  • Fixup the debug console input box. Multiline and History can't supported at the same time in origin imgui.

Improtant improvement

  • IMGUI version upgrade
  • Multiview support
  • Docking support
  • IME fix.
  • More convenient font setthings pannel
  • Windows doesn't show in full screen mode, if part of them're moved outside the game window.
  • Check the lua functions like WorldToImGui because the multiview's window position is relative to monitor, instead of game window.
  • ImGui.WorldToImGui not work properly in full screen mode.
  • Make ImGui's position relative to game main window.
  • Add more error handle in muiltiview impl things.
  • fix impl of ImGui.GetMousePosition()

Document update

  • update document for ImGui.WorldToImGui, remove bug description.
  • document ImGui.GetGameWindowRect()
  • fix document about ImGui.GetMousePosition()
  • document ImGuiWindowFlags.NoDocking

Font related improvement

Thanks to the dynamic font support from imgui we could do better with fonts.

  • Render emoji properly
  • Pixelated font rendering. almost did nothing. unifont is already a pixel font.
  • Adjust freetype's font hinting for pixel font.
  • Support system font selection
  • Add better alternative fonts? e.g. use native system fonts or add fonts that some non-english people prefer

Docking feature

  • Consider disable docking feature if we merge to main branch. It's still under development.
  • expose NoDocking window flag for mods.

Know issue

Not much important, should be fine without fix.

  • Can't input emoji with IME in the window created by imgui
  • Game crash with zero window size when open console.
  • window position shift before/after toggle fullscreen.
  • Ctrl+Mousewheel doesn't work property in some texts. Because the FontWindowScale not work properly. See the obsolute message from imgui.
  • Fix or remove the imgui's font setthings. Basically it's a developer panel I think. The font settings actually doesn't work now.
  • Docking tab size not correct with ctrl+mousewheel scale.
  • Docking window can't move outside game window, when game in fullscreen or linux environment.
  • Can't render fonts in multi-viewport window + linux, most likely wglShareLists not works. tmp solution: multi-viewport is disabled in linux by default.

Test

  • Clipboard support.
  • The imgui test mod.
  • Steam Deck compatability.

Idea that doesn't work

support subpixel font rendering
Nope. FT_PIXEL_MODE_LCD can't render colored emoji.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue lists several unchecked ImGui tasks, including system font selection, alternative fonts, zero-size console crashes, fullscreen position shifts, and font settings. No implementation files or tests are named, so first choose one item and trace its existing ImGui integration; done means that item is implemented and its behavior is verified without regressing the completed checklist items.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, lua
Domain
desktop-dev, game-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.