frutos-CustomClanUIFixes icon

CustomClanUIFixes

UI fixes for playing Monster Train 2 with many clans installed

Last updated 3 days ago
Total downloads 29
Total rating 0 
Categories Mods Misc
Dependency string frutos-CustomClanUIFixes-0.2.1
Dependants 0 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2100

README

Custom Clan UI Fixes (Monster Train 2)

UI fixes for playing with many clans installed. It adds no content: no cards, no units, no clans. It patches base-game screens with Harmony.

The logbook's artifacts page with 21 clans installed

The artifacts page with 21 clans installed: 24 columns split into two pages of 12, turned with the game's own arrows. Without the mod the last ones are drawn past the right edge of the sheet.

What it fixes

The logbook's champion upgrade page

The logbook's champion upgrade page with 21 clans installed

21 clans in three columns of seven, all visible and clickable, with the page heading left alone.

The Light Forge Upgrades page lays the clans out in two fixed columns (regular clans and crew clans) and does not paginate: with a dozen mods installed the column runs off the bottom of the page and the last clans cannot be seen or selected.

This mod measures the page, works out how many columns fit and lays the clan diamonds out in a grid that uses the full width, shrinking them only as much as needed and keeping the page heading clear. With 21 clans that is 3 columns of 7 at 87% of the original size, and the diamonds keep shrinking on their own as clans are added — around 30 they are at 61%.

What it does not do: move buttons around in the hierarchy. The game rebuilds those buttons every time the screen opens, so reparenting them leaves duplicated, dead diamonds behind. Here every button stays where the game put it and only its drawn position changes.

The logbook's artifacts page

The Artifacts page gives every clan a column of its own and, like the page above, does not paginate: past a dozen clans the last columns run off the right edge of the sheet and there is no way to reach them.

This mod splits the columns into pages that fit the width of the sheet and reuses the game's own page-turn arrows — the ones the compendium already draws for the card and checklist pages. No new UI, no reparenting: paging is whole columns being switched on and off, and the game's layout closes the gaps. When every column already fits, nothing is hidden and no arrow appears.

The pages come out evenly filled rather than cramming the first one: with 24 columns that is 12 and 12, not 17 and 7. It balances by width, not by column count — the generic artifacts take four times the width of a clan column.

Page two of the artifacts page

Page two, reached with the arrow on the right. Without the mod these columns are drawn past the edge of the sheet and cannot be reached at all.

Settings

BepInEx\config\mt2_custom_clan_ui_fixes.Plugin.cfg, section [LogbookFit]:

key default what it does
Enabled true set to false and the screen is left exactly as the game draws it
MinScale 0.45 how far a diamond may be shrunk
HeaderReserve 130 px kept free at the top for the page heading. The measured area includes it, so without this the first row of diamonds climbs over the title once there are enough clans
ScaleMultiplier 1 multiplies the computed factor, to leave the diamonds a little smaller than strictly needed (0.9 = 10% smaller)
MaxAutoColumns 3 column cap. 2 = leave the game's own layout and only scale it
ColumnSpacing 16 gap between columns once past two (the game's own is 96)
HeightBudget 0 usable page height in px; 0 = detect it (measured: 1000)
WidthBudget 0 usable width in px; 0 = detect it (measured: 400). At 440 the diamonds keep their original size, spilling slightly outside the nominal area
RetryFrames 5 frames the layout pass is retried after the screen opens
Verbose true log what it measures and applies to LogOutput.log

The retry is not a blind workaround: the game fills the crew column one or more frames after the screen opens, so the first pass only sees half the clans. The log line is only written when the result changes, not once per retry.

Section [ArtifactsPaging]:

key default what it does
Enabled true set to false and the artifacts page is left exactly as the game draws it
ColumnsPerPage 0 columns per page; 0 = as many as the measured width fits
WidthBudget 0 usable sheet width in px; 0 = detect it. If the split comes out short or long, take the width from the zona: line in the log and set it here
RetryFrames 5 frames the split is retried after the screen opens
Verbose true log what it measures and how it splits

Relation to CustomClanHelper

Custom-Clan-Helper fixes the logbook's checklist page and lists both of these in its TODO ("Champion Upgrade Page in logbook is wonky", "Artifact page needs pagination support"). Both mods are compatible and deal with different screens.

Building

See COMO-COMPILAR.md. GitHub Actions builds the DLL on every push that touches src/.

License

MIT.


Custom Clan UI Fixes — en castellano

Arreglos de interfaz para jugar con muchos clanes instalados. No añade contenido: ni cartas, ni unidades, ni clanes. Parchea pantallas del juego base con Harmony.

Que arregla

La pagina de mejoras de campeon del logbook

La pantalla Light Forge Upgrades del logbook reparte los clanes en dos columnas fijas (clanes normales y tripulacion) y no pagina: con una decena de mods instalados la columna se sale de la hoja por abajo y los ultimos clanes no hay forma de verlos ni de seleccionarlos.

Este mod mide la hoja, decide cuantas columnas caben y recoloca los rombos en una rejilla que aprovecha el ancho, encogiendolos solo lo justo y dejando libre el titulo de la hoja. Con 21 clanes salen 3 columnas de 7 a un 87% del tamano original, y los rombos siguen encogiendo solos segun se anaden clanes: sobre los 30 van al 61%.

Lo que no hace: mover botones de sitio en la jerarquia. El juego reconstruye esos botones cada vez que se abre la pantalla, asi que cambiarlos de padre deja rombos duplicados y sin funcionar. Aqui cada boton se queda donde el juego lo puso y solo se cambia donde se dibuja.

La pagina de artefactos del logbook

La pagina de artefactos le da una columna a cada clan y, como la anterior, no pagina: pasada la docena de clanes las ultimas columnas se salen de la hoja por la derecha y no hay forma de llegar a ellas.

Este mod reparte las columnas en paginas que caben a lo ancho de la hoja y reutiliza las flechas de paso de pagina del propio juego, las mismas que el compendio ya pinta en las paginas de cartas y de coleccion. Ni UI nueva ni cambios de jerarquia: pasar de pagina es encender y apagar columnas enteras, y el layout del juego cierra los huecos. Si todas las columnas caben, no se esconde ninguna y no aparece ninguna flecha.

Las paginas salen igual de llenas en vez de llenar la primera: con 24 columnas, 12 y 12, no 17 y 7. El equilibrio es por ancho y no por numero de columnas, porque la de artefactos genericos ocupa cuatro veces lo que una de clan.

Ajustes

BepInEx\config\mt2_custom_clan_ui_fixes.Plugin.cfg, seccion [LogbookFit]:

clave por defecto que hace
Enabled true a false y la pantalla queda como la deja el juego
MinScale 0.45 hasta donde se deja encoger un rombo
HeaderReserve 130 pixeles que se reservan arriba para el titulo de la hoja. La zona medida lo incluye, asi que sin esto los rombos se le suben encima en cuanto hay bastantes clanes
ScaleMultiplier 1 multiplica el factor calculado, para dejar los rombos algo mas pequenos de lo justo (0,9 = un 10% mas pequenos)
MaxAutoColumns 3 columnas como mucho. 2 = no se toca la rejilla del juego, solo se escala
ColumnSpacing 16 separacion entre columnas al pasar de dos (la del juego son 96)
HeightBudget 0 alto util de la hoja en px; 0 = detectarlo (medido: 1000)
WidthBudget 0 ancho util en px; 0 = detectarlo (medido: 400). A 440 los rombos quedan a tamano original, saliendose un poco del area nominal
RetryFrames 5 frames que se reintenta la colocacion tras abrir la pantalla
Verbose true traza en LogOutput.log, con las medidas y el factor aplicado

El reintento no es un parche a ciegas: el juego crea los botones de la columna de tripulacion uno o mas frames despues de abrir la pantalla, asi que la primera colocacion solo ve la otra mitad. La traza solo se escribe cuando el resultado cambia, no en cada reintento.

Seccion [ArtifactsPaging]:

clave por defecto que hace
Enabled true a false y la pagina de artefactos queda como la deja el juego
ColumnsPerPage 0 columnas por pagina; 0 = las que quepan segun el ancho medido
WidthBudget 0 ancho util de la hoja en px; 0 = detectarlo. Si el reparto se queda corto o largo, coge el ancho de la linea zona: del log y fijalo aqui
RetryFrames 5 frames que se reintenta el reparto tras abrir la pantalla
Verbose true traza en LogOutput.log de lo que mide y de como reparte

Relacion con CustomClanHelper

Custom-Clan-Helper arregla la pagina del checklist del logbook, y tiene estas dos en su TODO ("Champion Upgrade Page in logbook is wonky", "Artifact page needs pagination support"). Los dos mods son compatibles y se ocupan de pantallas distintas.

Compilar

Ver COMO-COMPILAR.md. El DLL lo compila GitHub Actions con cada push que toque src/.

Licencia

MIT.