Tool Others F95Checker [WillyJL]

5.00 star(s) 21 Votes

Blither

Member
Sep 3, 2018
283
531
Not sure if this will be helpful to anyone but I get tired of having to reset exe's every time a new version with a different exe name comes out. This script opens any exe in the folder, and you can add the batch file as the exe in F95Checker. Sadly, it does not work for games with multiple exe's, any suggestions on that front are welcome.
You don't have permission to view the spoiler content. Log in or register now.
 
  • Like
Reactions: WillyJL

LucasG

New Member
Jun 28, 2023
11
9
Not sure if this will be helpful to anyone but I get tired of having to reset exe's every time a new version with a different exe name comes out. This script opens any exe in the folder, and you can add the batch file as the exe in F95Checker. Sadly, it does not work for games with multiple exe's, any suggestions on that front are welcome.
You don't have permission to view the spoiler content. Log in or register now.
It's too long since i used windows (and batch) to know exactly, but basically games with multiple exe files have a separate 32-bit .exe or one for debugging.
So you just have to find if the currently selected .exe matches one or more patterns you want to avoid.
Something like: if more than 1 exe file is found, build a list of all exe files and use if's to check if the name contains "32" or "debug" in any way. If positive, go to next string in list and repeat else start %%i
Not sure if any windows comes with commands to do this in batch/cmd...
btw: your for-loop would start every found exe file. I couldn't write a loop without failing but i recognize this
 

Blither

Member
Sep 3, 2018
283
531
It's too long since i used windows (and batch) to know exactly, but basically games with multiple exe files have a separate 32-bit .exe or one for debugging.
So you just have to find if the currently selected .exe matches one or more patterns you want to avoid.
Something like: if more than 1 exe file is found, build a list of all exe files and use if's to check if the name contains "32" or "debug" in any way. If positive, go to next string in list and repeat else start %%i
Not sure if any windows comes with commands to do this in batch/cmd...
btw: your for-loop would start every found exe file. I couldn't write a loop without failing but i recognize this
You don't have permission to view the spoiler content. Log in or register now.
It's quick and dirty, but it works, as for the loop it's there on purpose. That's the only way I could get it to work. Also, sidenote, you can delete the 32 bit EXE's for renpy games without issues.
Edit: don't forget to remove the space between @ and echo. the user kept coming up... lol
 
Last edited:
  • Like
Reactions: LucasG

DamienSilvert

New Member
Feb 4, 2020
9
3
Hello, I'm trying to install the app on mac os sonoma (14.1.1) but the app closes as soon as I try to open it. The weird thing is that I have another Mac, with the same system and the app works without problems...
 

DamienSilvert

New Member
Feb 4, 2020
9
3
Logs? Output of debug executable?
This?

Code:
rocess:               F95Checker [42782]
Path:                  /private/var/folders/*/F95Checker.app/Contents/MacOS/F95Checker
Identifier:            io.github.willy-jl.f95checker
Version:               9.5
Code Type:             X86-64 (Native)
Parent Process:        launchd [1]
User ID:               501

Date/Time:             2024-01-25 15:16:04.1076 +0100
OS Version:            macOS 14.1.1 (23B81)
Report Version:        12
Anonymous UUID:       


Time Awake Since Boot: 160000 seconds

System Integrity Protection: enabled

Crashed Thread:        0

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000

Termination Reason:    Namespace DYLD, Code 1 Library missing
Library not loaded: @executable_path/lib/Python
Referenced from: <332F9F07-EC88-36A4-83FE-1FAE25A37FE6> /private/var/folders/*/F95Checker.app/Contents/MacOS/F95Checker
Reason: tried: '/private/var/folders/r3/m7zy0g912y12bryp49wltnk80000gn/T/AppTranslocation/CBC7B7B3-70FB-4164-866F-B945D419AC41/d/F95Checker.app/Contents/MacOS/lib/Python' (code signature invalid in <6B965100-5AB3-35A6-ADC9-3E7EB71EDA7A> '/private/var/folders/r3/m7zy0g912y12bryp49wltnk80000gn/T/AppTranslocation/CBC7B7B3-70FB-4164-866F-B945D419AC41/d/F95Checker.app/Contents/MacOS/lib/Python' (errno=1) sliceOffset=0x00004000, codeBlobOffset=0x006BBF30, codeBlobSize=0x0001A950), '/usr/local/lib/Python' (no such file), '/usr/lib/Python' (no such file, not in dyld cache)
(terminated at launch; ignore backtrace)

Thread 0 Crashed:
0   dyld                                  0x7ff80c12a8de __abort_with_payload + 10
1   dyld                                  0x7ff80c144e05 abort_with_payload_wrapper_internal + 82
2   dyld                                  0x7ff80c144e37 abort_with_payload + 9
3   dyld                                  0x7ff80c0c615b dyld4::halt(char const*, dyld4::StructuredError const*) + 335
4   dyld                                  0x7ff80c0c3545 dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*) + 4137
5   dyld                                  0x7ff80c0c233f start + 1839


Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000002000209  rbx: 0x0000000000000001  rcx: 0x00007ff7b739c3e8  rdx: 0x00007ff7b739c850
  rdi: 0x0000000000000006  rsi: 0x0000000000000001  rbp: 0x00007ff7b739c430  rsp: 0x00007ff7b739c3e8
   r8: 0x00007ff7b739c450   r9: 0x0000000000000000  r10: 0x00000000000000ca  r11: 0x0000000000000246
  r12: 0x0000000000000000  r13: 0x00007ff7b739c850  r14: 0x0000000000000006  r15: 0x00000000000000ca
  rip: 0x00007ff80c12a8de  rfl: 0x0000000000000246  cr2: 0x0000000000000000
 
Logical CPU:     0
Error Code:      0x02000209
Trap Number:     133


Binary Images:
       0x108b62000 -        0x108b65fff io.github.willy-jl.f95checker (*) <332f9f07-ec88-36a4-83fe-1fae25a37fe6> /private/var/folders/*/F95Checker.app/Contents/MacOS/F95Checker
    0x7ff80c0bc000 -     0x7ff80c1583df dyld (*) <d5406f23-6967-39c4-beb5-6ae3293c7753> /usr/lib/dyld
               0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ???

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=181.1M resident=0K(0%) swapped_out_or_unallocated=181.1M(100%)
Writable regions: Total=12.3M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=12.3M(100%)

                                VIRTUAL   REGION
REGION TYPE                        SIZE    COUNT (non-coalesced)
===========                     =======  =======
STACK GUARD                       56.0M        1
Stack                             8192K        1
VM_ALLOCATE                          8K        2
__DATA                              27K        2
__DATA_CONST                        20K        1
__DATA_DIRTY                         7K        1
__LINKEDIT                       180.5M        3
__TEXT                             644K        2
dyld private memory               4360K        4
shared memory                        4K        1
===========                     =======  =======
TOTAL                            249.4M       18
 

picey

New Member
Nov 7, 2019
3
2
fixed this issue, beta build soon. have to say though, that game is doing some very sketchy things to the javascript environment... it managed to pollute the RPC functions with garbage data
Ok. So far I've only tested a few games quickly, everything seems to work well.
I tested heavy games, different engines, so far nothing to report.

middle click the open folder buttons. just implemented this.
Great ! Thank's !
 
  • Like
Reactions: WillyJL

picey

New Member
Nov 7, 2019
3
2
If you're interested, I have another suggestion to make it easier to add executables.

Since changing the "set exe dir" functionality, I think it might be useful to add an option that pre-fills the search box with the game name (when searching for the .exe path).

For example for the game “Young Maria”:
If "set exe dir" is enabled and a new feature "pre-filter game name" is enabled.
So :
- Proposition 1 (the simplest): The pre-filter field is pre-filled with the first word of the game name: "Young"
- Proposition 2: The pre-filter field is pre-filled with the name of the game "Young Maria" by accepting the possibilities "Young*Maria" such as "Young_Maria", "YoungMaria", "Young.Maria"...

Young_Maria.jpg
 
  • Like
Reactions: MayhemSixx

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
Hello, I'm trying to install the app on mac os sonoma (14.1.1) but the app closes as soon as I try to open it. The weird thing is that I have another Mac, with the same system and the app works without problems...
Is that on release 10.2? If so, can you try the newest beta available (read the FAQ on how to get it)?
 

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
If you're interested, I have another suggestion to make it easier to add executables.

Since changing the "set exe dir" functionality, I think it might be useful to add an option that pre-fills the search box with the game name (when searching for the .exe path).

For example for the game “Young Maria”:
If "set exe dir" is enabled and a new feature "pre-filter game name" is enabled.
So :
- Proposition 1 (the simplest): The pre-filter field is pre-filled with the first word of the game name: "Young"
- Proposition 2: The pre-filter field is pre-filled with the name of the game "Young Maria" by accepting the possibilities "Young*Maria" such as "Young_Maria", "YoungMaria", "Young.Maria"...

View attachment 3294270
Someone else suggested a different approach for a similar result. I think it would be better as they suggested for it to check if a subfolder with game name exists, if it does then show that, otherwise just open the set exe dir
 

r37r05p3C7

Newbie
Nov 8, 2023
92
60
Thank you, tried the beta like you recomended, same result...
F95Checker comes packages with debug executable called F95Checker-Debug. Run it in your terminal and share the output, not the output from macos (which you previously provided) but actual Python crash message. Also, see if the is any information in the log file log.txt which is located next to the previously mentioned debug executable.
 
Jul 22, 2017
79
132
Hadn't been doing the F95 thing for quite a while, and so I just installed the 10.3 beta 1113, and manually put updated dates on my custom games. When I try to sort by "updated date", it works...sorta. For some reason it puts all of my custom games first, in date order, and then the rest of my games in date order after that. Is there a way to let them...mingle? Maybe a setting I'm missing?
 

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
Hadn't been doing the F95 thing for quite a while, and so I just installed the 10.3 beta 1113, and manually put updated dates on my custom games. When I try to sort by "updated date", it works...sorta. For some reason it puts all of my custom games first, in date order, and then the rest of my games in date order after that. Is there a way to let them...mingle? Maybe a setting I'm missing?
They have "status: unchecked" correct? That will make them stick to the top, because it's used for games that still need to be fetched from f95zone for the first time. Doesn't make sense for custom games, change it
 

Hunteraulo

Newbie
Jan 21, 2022
22
6
Hi there,
I'm on the 1113
I think it's broken. When I mix a label and a tag, it doesn't return anything.
F95Checker_2B5GmPq56l.png
If I remove the filter label, some games have the label.
 

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
Hi there,
I'm on the 1113
I think it's broken. When I mix a label and a tag, it doesn't return anything.
View attachment 3302394
If I remove the filter label, some games have the label.
Python:
# "Note that filter(function, iterable) is equivalent to the generator expression (item for item in iterable if function(item))"
# - Python, https://docs.python.org/3/library/functions.html#filter
# CLEARLY FUCKING NOT if this works
base_ids = (id for id in base_ids if key(id))
# and this does not?
# base_ids = filter(key, base_ids)
legitimately got gaslit by the python documentation and builtin library. genuinely disappointed. there is no reason why that code should break. and yet it does. fixed now...

EDIT: actually, nevermind. im stupid.
 
Last edited:
5.00 star(s) 21 Votes