Skip to content

chore(items): remove the original item tooltip files (#815 step 5) - #836

Merged
Mosch0512 merged 81 commits into
sven-n:mainfrom
ezequielzacca:chore/remove-item-tooltip-bmd
Oct 27, 2026
Merged

Mosch0512 merged 81 commits into
sven-n:mainfrom
ezequielzacca:chore/remove-item-tooltip-bmd

Conversation

@ezequielzacca

@ezequielzacca ezequielzacca commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

This step's own changes: compare with #835. The diff of this PR also holds every earlier step of #815, since a PR from a fork can only target this repository's branches.

Summary

Closes step 5 of #815 (data-driven item tooltips). Stacked on #835 (→ #834 → … → #813): only the last commit, chore(items): remove the original item tooltip files, is this change.

ItemTooltip_<lang>.bmd, ItemTooltipText_<lang>.bmd and ItemLevelTooltip_<lang>.bmd (Eng, Por, Spn; nine files) were never loaded by the client. The data-driven items design kept them as the reference for the tooltip conversion: "The tooltip bmd files stay in the repo until then" (D15). That conversion is done. The item data now holds:

  • the items' description lines;
  • the stat-line layout (Tooltips/Tooltip.json);
  • the names by level (nameLines).

This PR removes the files and updates the design spec to say they're gone; the git history keeps them.

Nothing else changes: no code, test or build step names these files.

Related issues

Step 5 of #815. Builds on #835, #834, #833, #830, #829, #828, #827, #825, #824, #823, #822, #821, #820, #819, #818, #817, #816 and #813.

Checklist

  • I have read and followed docs/CODING_RULES.md.
  • I have built the project locally (see docs/build/README.md).
    • Windows x64 Release: all 1014 tests pass.
  • Changes are focused on one concern; the diff is as small as it reasonably can be.

The ten jewel and stone bundles were named two ways in English ("Bundle
of Jewel of Bless" but "Jewel of Life Bundle"), and worse in Spanish
("manojo" and "Fardo", refining stones called jewels) and Portuguese
("feixe" and "Lote", "Joia do Lote da Vida"). Each language now names
every bundle one way, after its single item: "Bundle of Jewel of Life",
"Fardo de Joyas de Vida", "Lote de Joias da vida". German was already
consistent.

A bundle's name also shows how many it holds, "x10", "x20" or "x30",
instead of "+1" to "+3", which read like an item level: the new
ItemStats table bundleCount (10, plus 10 per level).

The quest window copied item names into 32-character buffers without a
bound; "Bundle of Higher Refining Stone x10" is 35. It now passes the name
to its text directly.
ItemTooltip_<lang>.bmd, ItemTooltipText_<lang>.bmd and
ItemLevelTooltip_<lang>.bmd (Eng, Por, Spn) were never loaded by the
client. They were kept as the reference for the data-driven tooltips; the
item data now holds what they describe: the description lines, the
stat-line layout and the names by level (sven-n#815, step 5). The design spec
notes that they are gone; the git history keeps them.
…tem-tooltip-bmd

# Conflicts:
#	docs/superpowers/specs/2026-09-25-data-driven-items-design.md
…undle-names

# Conflicts:
#	docs/item-data.md
…undle-names

# Conflicts:
#	docs/item-data.md
@ezequielzacca

Copy link
Copy Markdown
Contributor Author

Thanks. On both this branch and #835, nothing in the code loads ItemTooltip_*, ItemTooltipText_* or ItemLevelTooltip_*. The only item bmd still read from Data\Local is Item_<lang>.bmd (ItemDataHandler.cpp). Packaging has no per-file list either: cmake/CopyRuntimeAssets.cmake copies the whole src/bin tree, so nothing names the removed files. The copy never deletes files, so existing build folders keep stale copies, but nothing reads them.

sven-n#835 is merged. Its files (docs/item-data.md, Group12_Wing.json,
ItemStats.json, QuestMng.cpp, the tooltip snapshot) take main's side;
this branch keeps only the removal of the tooltip bmd files and the
design spec note.
@ezequielzacca

Copy link
Copy Markdown
Contributor Author

Merged main (with #835) into this branch in c0c03a1.

The conflicts were all in #835's files (docs/item-data.md, Group12_Wing.json, ItemStats.json, QuestMng.cpp and the tooltip snapshot), so they take main's side. The branch now differs from main only by its own change: the nine tooltip bmd files are removed and the design spec has a note about it.

All 1600 tests pass, the tooltip snapshot is unchanged from main, and test_item_database_files passes in five random orders.

@Mosch0512
Mosch0512 merged commit 1c21db5 into sven-n:main Oct 27, 2026
8 checks passed
ezequielzacca added a commit to ezequielzacca/MuMain that referenced this pull request Oct 27, 2026
…ames

Conflicts in ItemTooltipValues.{h,cpp}, ZzzInventory.cpp, tests/data/CMakeLists.txt and test_item_tooltips.cpp.

- The tooltip functions moved into Engine::Items::TooltipValues on main; this PR's by-value overloads live there
  too, and ItemTooltipText.cpp and ZzzInventory.cpp call them qualified.
- Main already points ItemTooltipValues::name at the item's data and writes {addOptionDuration} only for a line
  showing it (addOptionTime). This PR's fixed duration buffer in ComputeItemTooltipValues is dropped for main's
  version; GetItemTooltipText(values, TooltipValue) writes the duration on demand and keeps the text until another
  time is asked for, so drawing still allocates nothing. A null name writes as empty.
- Main's new {bundleCount} value and strengthRequired / dexterityRequired states get their TooltipValue and
  TooltipState entries; GetItemTooltipValueNames now lists the TooltipValue names that are numbers.
- {monster:...} placeholders: MonsterScript is gone on main, so a compiled piece keeps the monster number and
  looks its name up when written (NameParts::MonsterName), following "Translate item names" and the monster list.
- The tooltip snapshot passes unchanged.
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