Releases: oskros/MF_run_counter
Automode PlugY support
We have now reached a stage where I am happy to say beta testing should be over for the main application. To celebrate that I have added a lot of new features!
BIG FEATURE:
The application now supports automode (OPTIONAL!) What does this mean? Well basically, you can now turn on automode, and the application will detect every time you start a new run ingame and automatically increase the run counter. You still have to manually add drops, however. The automode is of course optional - you can simply turn it off if you do not wish to use it.
How does this work? Well basically, in single player mode every time you leave a game the "<char_name>.d2s" file is updated in your "/Save/" folder. I basically just monitor the update stamp on the file registered by Windows - then every time there is an update to the file, the current run is stopped and a new one is started. Thus, every time you leave a game in single player, you stop the current run and start a new one.
On battle.net, what instead happens is that every time you join a new game, the "<char_name>.map" file is updated in your "/Save/" folder. We just use the same approach as above - Thus every time you join a new game, you stop the current run and start a new one.
A little configuration is needed to use the automode. Under options you now find an "Automode" tab. The program will try and find your save folder automatically, but you might need to provide it yourself. Second, you need to choose whether you're using it on PlugY (single player) mode, or on B.net mode. Finally, you need to make sure the character name provided in the profile is correct - if not, the automode wont work.
After configuring the above, you can turn on the automode. NB: If you pause the application, the automode is paused too.
Smaller features:
- The first time you open the app, you are now prompted to create your first profile
- Make application movable with arrow keys
- Tooltips now show for the different options when hovering over the label, providing the user a bit more information about what the option does
- A collected list of all your drops will appear in the bottom of the archive browser, allowing easy copy of only that part
Bugs:
- SOLVED: If you opened two archive browsers and closed the first one before the second one, and then changed colors, the application would crash
- SOLVED: Default hotkeys causing crashes for some users if they conflict with system reserved keys. Now, a check is performed to see if the key is occupied, in which case the default hotkey will be unbound
- SOLVED: Changing between "global" and "on focus" hotkeys for changing tabs in the application can now be done without restarting the app
- SOLVED: Messagebox pop-up windows now correctly share the same icon as the main application
Upcoming:
- Item library, potentially autocompletion of item names when writing drops.. still haven't fully decided on how to do this
Color themes
It is now possible to change the theme. In addition to the default theme (called 'vista'), I have created a blue and a dark theme. If you think my color choices are poor or would like to request another theme, let me know :)
Theme can be configured under Options->General
I have also added the option to show the "Drops" tab below the "Timer" tab so you can see your current lap time and your drops in the same window. This should also be useful for streamers
This can be configured under Options->General
Fixed 3 bugs:
- Run times are now scrollable with the mouse wheel
- Fix bug occuring when setting a start run delay and clicking start new run repeatedly before the delay expired
- Fix a bug where using characters in your profile name which are not allowed for windows file names would result in a corrupt save file and config file
Bug fixes
I finally solved a bug related to the system hotkey module which is multithreaded. At random times the app would stop working, and you had to restart it - I solved this now by making a task queue in the main thread where all subthreads send hotkey commands to, and those are then processed one at a time. Yay
Also made an option to save to .csv and an option to see the profile information in the archive browser
Final profile update
This version includes the final updates to profiles.
- Profiles are now saved in separate files, this avoids possibility of corrupting your file
- There is now a registration form you fill when creating a new profile, this allows you to specify character name, run target and active MF
- You can now browse the active session in the archive browser
- You can now browse full history for the profile in the archive browser
Other stuff:
- I added possibility of setting a delay in start run time through options
- Fixed a bug where opening "add drop" window and closing it again would add a null value to the save file, making it unreadable
- Fixed a bug related to multithreading
Beta version
Another big update.
Features:
- Fully fletched profile solution available. You can create new profiles, select active profile, archive runs for the current profile
- History viewer: you can view your past runs for each profile in a history viewer, and export to clipboard/.txt as you please
- Sessions are saved when you close the app, so reopening will resume the last session
To come:
- Rename option for profile
- Delete option for profile
- More input choices for a profile (what target are you killing (could be meph, cs runs, etc.), what char you are using, your class, your MF). This will then be shown in profile summary
:)
Larger update
Several new updates this time.
Functionality:
- Added support for changing flags directly in the application
- Added F10 to F12 to hotkeys on request
- Reset hotkey now resets current lap instead of session
- Added hotkey to pause run (default = control+space)
- Added hotkey to delete last run, which can be useful if you die and dont want to count current run (default = control+delete)
- Link to README.md can be found under the "About" tab and the "Help" tab is removed
Visual:
- Renamed "Hotkeys" to "Options", which has two tabs below it: "Hotkeys" and "Flags"
- Redid button layout (no quit button, instead a reset lap button) - fits to frame automatically
- Pop-up for drops is a bit larger so easier to read
- Changed colour on count for better visibility
- Added a "turned on"/"turned off" display (a circle which is green when turned on, and red when turned off)
- The output file is changed such that drops are displayed after the time for the run they were found
- Output file now includes "Total run time"
Bugs:
- Fixed a bug where entries in list would be underlined unintentionally
- Fixed a bug where seconds would show up incorrectly in the timer after the 1 hour mark
Soon to come:
- A profile manager where you can create a profile for e.g. your MF sorcs runs on Mephisto, and collect statistics on that profile
- A history viewer for each profile where you can see past sessions for that profile directly in the app, and export to .txt/.csv
Sound effects
On request, I added an option to turn on sound effects when clicking buttons (turned off by default). This way you are sure that a run has been started even though your game is maximised.
Also fixed a bug where updating the stop-start hotkey wasnt being registered
Added an icon for the widget and made it show up on your taskbar (also means it should now work with alt+tab)
Cleaned up config file a bit
Automatic update check
Now automatically checks github for updates when you open the widget (wrapped in a try/except in case your internet connection is not working). This check can be turned off in the config file
Also cleaned up code a bit and published to this repo as sharing the source code is in fact allowed
Start/stop key
This version includes an option to bind a start/stop key (i made no button for this, as there would be too many buttons. please let me know if you disagree with this)
Program now terminates if you set a system reserved keybind (before all keybinds just stopped working)
There is an option to unbind keys if you wish
Average run time
Added average run time to the timer widget