[Win32] Add function highscore_show(numb).

Reporter: time-killer-games  |  Status: open  |  Last Modified: May 03, 2020, 02:39:33 PM

@RobertBColton This code is currently broken and I don't know how to get this fully working after more than 48 hours of writing and debugging it. I figured it's better to leave this pull request up for someone else to mess with than to trash all the work I've done. Hopefully someone with Windows experience, like Robert, or to some lesser extent, Josh and fundies, might be willing to finish this. All I know is, even Josh and fundies who rarely use Windows are probably much more likely to get this working than I am. You guys do what you want with this; I hope I didn't waste my time working on it.

Note the current highscore table that renders to the game window should be moved to Widgets = None, as suggested by fundies. If someone completes this I will be able to then copy the coding logic they used and adapt it to an XLib version, so we will have all our supported platforms covered.


That looks pretty good, I'll test it tonight. Thanks for implementing this so fast.

@sharkwouter Sorry for the confusion. I should've mentioned in the desciption this is a WIP.

@RobertBColton if you ever decide to finish this pr from where I left off, it's up to you, but if you do I have some documentation on what I've currently written provided below:

  • The textbox control ID's on the left column of the grid equal 1000 - 1009 from top to bottom.
  • The textbox control ID's on the right column of the grid equal 1010 - 1019 from top to bottom.
  • If highscore_prev[previous_score_index] is less than highscore_array[current_score_index] then record new score on the list and everything scored less than or equal to the newly recorded score entry should be moved down by one textbox vertically on the two grid columns.
  • I used the registry functions to record the highscore table values because this is what gamemaker 8.1 and below for Windows does. GameMaker for Mac 7.5 uses ini internally with the lack of a system registry, so that's what we'll do for xlib, and I'll be the one to write the xlib version, copying the logic you might use in the windows version, but with xlib api's.
  • What I did locally, to get this pr in a semi working state, i deleted the highscore functions from the existing sources completely to make way for the widgets based version. Obviously, we don't want to remove the old version of these functions completely, we should move those to Widgets = None instead of being under Universal_System like fundies suggested.

Codecov Report

Merging #1973 into master will increase coverage by 0.06%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #1973      +/-   ##
+ Coverage   30.98%   31.04%   +0.06%     
  Files         197      194       -3     
  Lines       19114    19140      +26     
+ Hits         5922     5942      +20     
- Misses      13192    13198       +6     
Impacted Files Coverage Δ
...stem/SHELL/Universal_System/Resources/AssetArray.h 74.02% <0.00%> (-9.10%) ⬇️
...ELL/Universal_System/Extensions/Paths/pathinit.cpp 95.45% <0.00%> (-4.55%) ⬇️
...HELL/Universal_System/Resources/backgroundinit.cpp 78.94% <0.00%> (-4.39%) ⬇️
...system/SHELL/Graphics_Systems/General/GSscreen.cpp 59.75% <0.00%> (-3.06%) ⬇️
ENIGMAsystem/SHELL/Platforms/xlib/XLIBmain.cpp 37.03% <0.00%> (-2.78%) ⬇️
...em/SHELL/Universal_System/Resources/spriteinit.cpp 72.88% <0.00%> (-0.89%) ⬇️
...Asystem/SHELL/Graphics_Systems/General/GStiles.cpp 37.38% <0.00%> (-0.19%) ⬇️
...em/SHELL/Graphics_Systems/General/GSbackground.cpp 4.78% <0.00%> (-0.18%) ⬇️
.../SHELL/Graphics_Systems/OpenGL-Common/textures.cpp 97.43% <0.00%> (-0.07%) ⬇️
ENIGMAsystem/SHELL/SHELLmain.cpp 100.00% <0.00%> (ø)
... and 13 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d5e8e2f...26f58c8. Read the comment docs.

Please sign in to post comments, or you can view this issue on GitHub.