Tool Others F95Checker [WillyJL]

5.00 star(s) 21 Votes

FaceCrap

Active Member
Oct 1, 2020
885
619
I gather from your comment on my file selection dialogue, F95checker doesn't use standard mouse handling? Still doesn't work though in latest build. And in my iOS RD Client it still doesn't work at all, can't use the tool at all then. Almost feels as if this UI library has more issues than benefits judging by the OpenGL issues I've seen mentioned
 

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
I gather from your comment on my file selection dialogue, F95checker doesn't use standard mouse handling? Still doesn't work though in latest build. And in my iOS RD Client it still doesn't work at all, can't use the tool at all then. Almost feels as if this UI library has more issues than benefits judging by the OpenGL issues I've seen mentioned
the only issues so far were 2 if I remember correctly. 1 due to me not configuring correctly, and while fixing that one some people had invasive, outdated and incompatible software messing with it. Both fixed. Only one now is yours which I only have 1 single report of, and I haven’t been able to reproduce. And trust me it has caused WAYYY less headaches compared to what Qt does. Fuck qt.

also, standard mouse handling means nothing. It is up to the os to receive inputs. It is up to the application to interpret them. If you mean that it does not use window’s double click interval, well that’s not “standard” anyway. That is Windows’s interval for it, no more and no less. If you use windows interface components, they’ll use that. This is not using any interface components. The interface is an illusion. It is drawing rectangles and shapes on the window and interpreting the clicks and inputs in relation to them.

in terms of advantages, well I did explain it more in detail somewhere here before, but it’s hard to explain. It boils down to the process of programming the interface. With a “standard” toolkityou need to create all the interface components, then update their state based on changes. Say you change sorting, now I need to go through all game rows, hide them, remove and readd them to the layout in the correct order, and then show them again. Say you change what buttons are visible, now go through all games, disable and enable what buttons are needed. You have the interface already present and need to update as you go along. This is a VERY error prone way to code interfaces. Say you change a setting that should alter the interface, now that has to change the setting variable, update all the relevant interface components, and then request a redraw. With imgui instead you configure a step by step process to draw a complete interface. Every time the interface refreshes, it uses the same process. Only that this process is altered by some inputs, and given the same inputs you always get the same interface output. For example, say the draw cursor gets to the setting sidebar. In qt I need to have a drop down menu than when clicked it update all the elements inside it and hides them, or shows them, to simulate a drop down. With imgui instead it’s more like a variable check, is this drop down open? Thendraw the elements. If it is not, continue onto the next element after. And this variable is more often than not managed by imgui,so it boils down to (pseudo code):
Python:
if imgui.button(“Refresh!”):
    start_refresh()
if imgui.dropdown(“Browser”):
    settings.private_mode = imgui.checkbox(“Private mode”)
    imgui.text(f“FPS: {imgui.io.framerate}”)
if imgui.dropdown(“Manage”):
    if imgui.dropdown(“Import”):
        if imgui.button(“Bookmarks”):
            import_bookmarks()
    if imgui.dropdown(“Export”):
        if imgui.button(“Links”):
            export_links()
with qt it would something like:
Python:
dropdown = qdropdown(“Manage”)
dropdown_button1 = qbutton(“Import”)
dropdown_button1.clicked.connect(import_bookmarks)
def toggle_dropdown(state):
    dropdown_button1.setVisible(state)
    dropdown_button2.setVisible(state)
dropdown.toggled.connect(toggle_dropdown)
sure you only have to setup the components and callbacks once, but it gets very hard to manage the state of the interface and ensure a consistent output. With imgui the interface is drawn based on its actual state, with qt I have toensure the state is correctly updated are represented based on hundreds of events and inputs. In the end it’s easier to understand, faster to write, and less error prone
 
Last edited:

batblue

Newbie
Sep 6, 2021
42
23
actually also goes for batblue and tonyalfonso7 , i updated cx_Freeze to latest stable release (doesnt officially support python3.11 but might work better than what i was using before) and also started zipping most of pyqt. hopefully that helps for you guys on macos? (if you get it to open up please also try out the login window, trigger it by settings > manage > clear > all cookies)
Still no luck. If I run the app by double-clicking it, I just get the generic "quit unexpectedly" error. If I run from Contents/MacOS on the command line, I get this:

Code:
dyld[12510]: Library not loaded: '@executable_path/lib/Python'
  Referenced from: '/Applications/F95Checker.app/Contents/MacOS/F95Checker'
  Reason: tried: '/Applications/F95Checker.app/Contents/MacOS/lib/Python' (code signature invalid (errno=1) sliceOffset=0x00004000, codeBlobOffset=0x006BBF30, codeBlobSize=0x0001A950 for '/Applications/F95Checker.app/Contents/MacOS/lib/Python'), '/usr/local/lib/Python' (no such file), '/usr/lib/Python' (no such file)
To make matters worse, the system python on macOS Monterey is 3.9. So even if the path were fixed, falling back to that python probably wouldn't work.
 

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
Still no luck. If I run the app by double-clicking it, I just get the generic "quit unexpectedly" error. If I run from Contents/MacOS on the command line, I get this:

Code:
dyld[12510]: Library not loaded: '@executable_path/lib/Python'
  Referenced from: '/Applications/F95Checker.app/Contents/MacOS/F95Checker'
  Reason: tried: '/Applications/F95Checker.app/Contents/MacOS/lib/Python' (code signature invalid (errno=1) sliceOffset=0x00004000, codeBlobOffset=0x006BBF30, codeBlobSize=0x0001A950 for '/Applications/F95Checker.app/Contents/MacOS/lib/Python'), '/usr/local/lib/Python' (no such file), '/usr/lib/Python' (no such file)
To make matters worse, the system python on macOS Monterey is 3.9. So even if the path were fixed, falling back to that python probably wouldn't work.
just to test i tried downgrading to python 3.10.8 does work?
 

batblue

Newbie
Sep 6, 2021
42
23
just to test i tried downgrading to python 3.10.8 does work?
This version doesn't give me an error message, but it exits immediately with no output. I'm not sure how to tell how far it got into initialization.
 

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
This version doesn't give me an error message, but it exits immediately with no output. I'm not sure how to tell how far it got into initialization.
Log.txt, or use the F95Checker-Debug executable. Either way that’s all I needed to know, it probably doesn’t start because I need some stuff from 3.11, but this proves that the code sign error is only on 3.11 and not on 3.10.8
 
  • Thinking Face
Reactions: batblue

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
Is it possible to turn off the second checkbox in the "installed" column?
FAQ, how do I customize the interface. Basically right click the column headers. If you didn’t now, that works in basically any program with columns, right click the headers to change which ones are visible.


after re-entering the program this checkbox resets from the recently added games
???????

I get a little confused with it
Maybe have a look at the FAQ for how do I use this tool, might help out a bit?
 

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
I'm very embarrassed, you can call me stupid, I read the FAQ, and still I can't figure it out. Right now there are 3 kinds of state in the "installed" column, I want to disable the 3rd one. When the game is updated, instead of the usual checkmark, a checkmark of the 3rd type appears, and I want it to be like before, so that there are only 2 states, with a 1st type checkmark or empty,
without 3rd type when updating the game
It’s because you had marked it as installed, and then an update came. So it is still installed, but not on the newest version. The idea is that you download the update and then click the checkbox to mark it fully installed again.

FAQ, how do I use this tool?
 
  • Like
Reactions: BrockLanders

GAB

Salty Montrealer
Donor
May 10, 2017
2,360
17,782
2 bugs I noticed in v754

1669176039183.png
pressing yes doesn't hide the screen

1669176064406.png
pressing Check notifs gets stuck at 50% and doesn't fully complete (sometimes, Will have to try again and paste the error code)
 

mrttao

Forum Fanatic
Jun 11, 2021
4,521
7,392
Tired of checking dozens of threads for game updates?
May I introduce you to F95Checker, a tool that keeps you up to speed with updates for your favorite games.
WillyJL the first post for this thread should have the same versioning system used in game threads.
That way F95Checker could track its own threads for updates the same way it track game versions
currently it does not recognize what version this thread is
f95.png
 

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
WillyJL the first post for this thread should have the same versioning system used in game threads.
That way F95Checker could track its own threads for updates the same way it track game versions
currently it does not recognize what version this thread is
View attachment 2188104
Point is, there is no reason to track f95checker inside of f95checker... it checks for updates for itself after each refresh (at 6 hour intervals) and allows you to update automatically. Having it this way allows me to not have to worry about the f95zone thread and only focus on GitHub, where I manage everything to do with the tool’s code and updates. Also means that to check updates to f95checker it relies on GitHub and not f95zone, so if something changes with f95zone requiring a tool update, it doesn’t have issues finding out about the update because GitHub instead won’t have issues (take for example daily backups, GitHub doesn’t do those, so it has no downtime)
 

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
2 bugs I noticed in v754

View attachment 2188091
pressing yes doesn't hide the screen

View attachment 2188093
pressing Check notifs gets stuck at 50% and doesn't fully complete (sometimes, Will have to try again and paste the error code)
Don’t understand what the first problem is... for the second one, well could be anything that holds up the connection... try clearing the cookies
 

estrada777

Engaged Member
Modder
Donor
Mar 22, 2020
3,616
8,935
I very much miss the button to open the thread that came up on the game update dialogue. Now that I have to click on the button for Info it seems like a step backwards.
 

GAB

Salty Montrealer
Donor
May 10, 2017
2,360
17,782
Don’t understand what the first problem is
The problem is the prompt window will not disappear after pressing yes. IIRC this wasn't an issue in past version

Another glitch I noticed, if I open a game window then press the Remove button, the window will not close and instead open the next game window instead of closing the window after pressing Remove
1669229922020.png
 

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
Another glitch I noticed, if I open a game window then press the Remove button, the window will not close and instead open the next game window instead of closing the window after pressing Remove
i had made it that way on purpose, but in hindsight it can be confusing and counter intuitive. fixed it

The problem is the prompt window will not disappear after pressing yes. IIRC this wasn't an issue in past version
it is closing. issue is for some reason notifs popups are stacking even if another one is already present... looking into it

EDIT: i had changed how popup IDs are handled to avoid crashes for popups with same ID, but forgot to update other code that checked for existing popups. fixed now
 
Last edited:

GAB

Salty Montrealer
Donor
May 10, 2017
2,360
17,782
raceback (most recent call last):
File "D:\a\F95Checker\F95Checker\modules\api.py", line 467, in check_notifs
File "D:\a\F95Checker\F95Checker\modules\api.py", line 92, in fetch
File "C:\hostedtoolcache\windows\Python\3.11.0\x64\Lib\contextlib.py", line 204, in __aenter__
File "D:\a\F95Checker\F95Checker\modules\api.py", line 64, in request
File "C:\hostedtoolcache\windows\Python\3.11.0\x64\Lib\site-packages\aiohttp\client.py", line 1141, in __aenter__
File "C:\hostedtoolcache\windows\Python\3.11.0\x64\Lib\site-packages\aiohttp\client.py", line 560, in _request
File "C:\hostedtoolcache\windows\Python\3.11.0\x64\Lib\site-packages\aiohttp\client_reqrep.py", line 894, in start
File "C:\hostedtoolcache\windows\Python\3.11.0\x64\Lib\site-packages\aiohttp\helpers.py", line 720, in __exit__
TimeoutError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "D:\a\F95Checker\F95Checker\modules\api.py", line 473, in check_notifs
UnboundLocalError: cannot access local variable 'res' where it is not associated with a value
 

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
raceback (most recent call last):
File "D:\a\F95Checker\F95Checker\modules\api.py", line 467, in check_notifs
File "D:\a\F95Checker\F95Checker\modules\api.py", line 92, in fetch
File "C:\hostedtoolcache\windows\Python\3.11.0\x64\Lib\contextlib.py", line 204, in __aenter__
File "D:\a\F95Checker\F95Checker\modules\api.py", line 64, in request
File "C:\hostedtoolcache\windows\Python\3.11.0\x64\Lib\site-packages\aiohttp\client.py", line 1141, in __aenter__
File "C:\hostedtoolcache\windows\Python\3.11.0\x64\Lib\site-packages\aiohttp\client.py", line 560, in _request
File "C:\hostedtoolcache\windows\Python\3.11.0\x64\Lib\site-packages\aiohttp\client_reqrep.py", line 894, in start
File "C:\hostedtoolcache\windows\Python\3.11.0\x64\Lib\site-packages\aiohttp\helpers.py", line 720, in __exit__
TimeoutError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "D:\a\F95Checker\F95Checker\modules\api.py", line 473, in check_notifs
UnboundLocalError: cannot access local variable 'res' where it is not associated with a value
well, yeah, a timeout error. the second part is a small oversight on my end... it is trying to save to file the response, but it failed to do so because there was no response...the real error here is the timeout, and again, not much i can do with those more than all the options you have to manage workers, timeout, retries and so on...
 

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
Started working on 9.6 and need a hand. I added support for forum rating (or better "forum score" as im calling it to differentiate from personal rating) but theres a problem: the page data behaves differently when you have made a review for that thread, and im not just gonna go around making random reviews to test this, so i need one or two page dumps. Just get , try to refresh and you will see that some games will fail but refreshing continues. when thats done, just zip up a few of the broken html files and send them over (in DM!). thanks in advance <3

PS: after that i suggest you go back to a previous build / stable release, this build in particular has some checks disabled just for this purpose!

EDIT: thanks to those that sent me some files, i fixed the behavior now! <3
 
Last edited:
  • Like
Reactions: BrockLanders

GAB

Salty Montrealer
Donor
May 10, 2017
2,360
17,782
Just got a prompt to update from build 752 to latest official version. I said yes but now powershell has been opened for more than 15 minutes and nothing changed. Help
 
Last edited:
5.00 star(s) 21 Votes