f136c6fe36
* Add in-game high score selection screens, based on the ghost replay screens Its functionality is basic for now, mainly to let players have a central place to view their high scores Other things to improve: * Allow sorting the high score entries by criteria * Allow deleting high score nodes and possibly entries * Use better icons * The string for the high scores title in the track info screen can now be translated * Refine in-game high score selection screens Includes: * High score info dialog now shows track and setup information * A race can be started with the displayed setup, using the current player and kart * Icon to access the screen now placed between the tutorial and achievements buttons * It is possible to delete a specific high score group or all of the high score groups * Change the order of some columns to make them easier to hide for non-linear modes * The list will now filter out enpty high score groups * Replace bomb icon (as used in the help menu) with the full object version from STK 0.8 It has been edited to remove most of the transparency in the object itself * Implement column clicking in the high score selection screen, and minor GUI fixes Note that high score entry sorting is not yet working properly Includes: * Top right buttons replaced by button bar containing them; fixes unreliable clicking * High score manager has some one-line functions moved into its header file * High scores can be sorted by some criteria * Sorting is done before every time high scores are saved * Fix header define names for the high score info dialog * Fix high score sorting, reorganize its associated code * More refinements to the high score selection screen Includes: * Clearing high scores no longer causes memory leaks * The manual refresh button has been removed, as it has been deemed useless * Remove unused header files for the high scores information dialog header * The high scores box in the track information screen no longer has '=' * Fix pressing escape key in the high score information dialog crashing the game Also remove unused widget variables and unnecessary function overrides * Do not write high scores for races that have 0 laps and/or have no real karts * Allow passing a parameter to prevent high scores from temporarily being written This setting lasts only as long as the game runs; it is useful during track and kart animation testing, where unwanted high score entries should not be written * Force update sources.cmake, as new source files are being added for high scores screens * Fix memory leak and strings Co-authored-by: Benau <Benau@users.noreply.github.com>
69 lines
3.8 KiB
XML
69 lines
3.8 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<stkgui>
|
|
<icon-button id="back" x="1%" y="0" height="9%" icon="gui/icons/back.png"/>
|
|
|
|
<div x="2%" y="1%" width="96%" height="98%" layout="vertical-row">
|
|
<header id="name" height="8%" width="80%" align="center" text_align="center"/>
|
|
<spacer width="1" height="1%"/>
|
|
|
|
<div width="100%" height="72%" padding="10" layout="horizontal-row">
|
|
<box width="55%" height="100%" layout="vertical-row">
|
|
<!-- Track screenshot -->
|
|
<div width="100%" height="54%" layout="vertical-row">
|
|
<icon-button proportion="1" width="100%" height="100%" id="screenshot" custom_ratio="1.33333"/>
|
|
</div>
|
|
<spacer width="1" height="1%"/>
|
|
<!-- Options list -->
|
|
<div width="100%" height="45%" layout="vertical-row">
|
|
<div width="100%" height="fit" layout="horizontal-row" >
|
|
<div width="45%" height="fit" layout="horizontal-row">
|
|
<spinner id="ai-spinner" width="100%" min_value="1" max_value="20" align="center" wrap_around="true" />
|
|
</div>
|
|
<spacer width="3%"/>
|
|
<label id="ai-text" width="52%" height="fit" I18N="In the grand prix info screen" text="AI karts" text_align="left"/>
|
|
</div>
|
|
<spacer width="1" height="1%"/>
|
|
<div width="100%" height="fit" layout="horizontal-row" >
|
|
<div width="45%" height="fit" layout="horizontal-row">
|
|
<spinner id="reverse-spinner" width="100%" align="center" wrap_around="true" />
|
|
</div>
|
|
<spacer width="3%"/>
|
|
<label id="reverse-text" width="52%" height="fit" I18N="In the grand prix info screen" text="Reverse" text_align="left"/>
|
|
</div>
|
|
<spacer width="1" height="1%"/>
|
|
<div width="100%" height="fit" layout="horizontal-row">
|
|
<div width="45%" height="fit" layout="horizontal-row">
|
|
<spinner id="track-spinner" width="100%" min_value="1" max_value="20" align="center" wrap_around="true" />
|
|
</div>
|
|
<spacer width="3%"/>
|
|
<label id="track-text" width="52%" height="fit" I18N="In the grand prix info screen" text="Tracks" text_align="left"/>
|
|
</div>
|
|
<spacer width="1" height="1%"/>
|
|
<div width="100%" height="fit" layout="horizontal-row" >
|
|
<div width="45%" height="fit" layout="horizontal-row">
|
|
<spinner id="group-spinner" width="100%" align="center" wrap_around="true" />
|
|
</div>
|
|
<spacer width="3%"/>
|
|
<label id="group-text" width="52%" height="fit" I18N="In the grand prix info screen" text="Track group" text_align="left"/>
|
|
</div>
|
|
</div>
|
|
</box>
|
|
<spacer width="2%" height="1"/>
|
|
<!-- Track list -->
|
|
<box width="43%" height="100%" layout="vertical-row">
|
|
<list id="tracks" width="100%" height="100%"/>
|
|
</box>
|
|
</div>
|
|
|
|
<spacer width="1" height="1%"/>
|
|
<buttonbar id="buttons" height="17%" width="100%" align="center">
|
|
<icon-button id="start" width="64" height="64" icon="gui/icons/green_check.png"
|
|
I18N="In the grand prix info screen" text="Start Race"/>
|
|
|
|
<icon-button id="continue" width="64" height="64" icon="gui/icons/green_check.png"
|
|
I18N="In the grand prix info screen" text="Continue saved GP"/>
|
|
</buttonbar>
|
|
|
|
</div>
|
|
</stkgui>
|