Skip to content

Releases: oskros/MF_run_counter

Small features

10 Oct 19:56
Compare
Choose a tag to compare

Features:

  • Recreating config file is no longer needed when downloading new versions. This means you don't have to change back your settings every time you update. Sorry about the annoyance this has been
  • The auto-archive feature now asks you if you want to archive when the time has expired, rather than just archiving
  • XP tracker timer is now paused when the application is paused
  • The option to pause the timer when ESC menu is open is now available for 1.13c, 1.13d and 1.14d (as opposed to only 1.13c)
  • Discord link in the "About" page now directs to the newly created "MF Run Counter" discord: https://discord.gg/JhkTF2g

Bug fixes:

  • Rare integer overflow error occurring in the memory reader when the application was left open for long periods should now be fixed

This is the last "small" update for a bit, I have big plans for future updates!

New options added

08 Oct 10:53
Compare
Choose a tag to compare

Features

  • You can now disable individual parts of the UI if you are not using them! This is done in Options -> UI
  • Under advanced automode there is now an option for automatically pausing the timer when the ESC menu is open (since d2 is then paused). This is currently only supported for 1.13c, as I havent found the memory addresses for other patch versions
  • Redesigned the "About" page to a more streamlined look
  • Removed the default bind for "delete last run"
  • Change button color in "default" theme

Bug fixes

  • Added additional logging data in debugging mode
  • Fixed bug where setting "start run delay" was not having any effect

Session timer review and smaller changes

02 Oct 09:48
Compare
Choose a tag to compare

Session timer

Several users complained that the session timer was not really reflecting their play time properly, and for example exporting results and looking at grail progress would increment the session timer.
Thus I have changed it such that the session timer will only be running while Diablo 2 is open (by testing if Game.exe or D2SE.exe process is open)

Small features

  • Automode label now always shown ("Automode: ON" or "Automode: OFF") to make it more intuitive as some users were confused that the counter was not starting when entering games
  • Support for patches 1.14b and 1.14c in advanced automode have been added (I have not tested the memory addresses myself, but they align with other D2 libraries, so I expect them to work just fine)
  • Display with profile/session was chosen for deletion if user is trying to delete
  • Formatting changes
    • Improve format of descriptive statistics slightly
    • Remove "Owned" column in grail overview, and reformatted the table a bit for readability
    • Changed button and list background colours slightly in "dark" theme

Bug fixes

  • If naming profile "Grail", the grail.json file is overwritten and this caused the app to crash. Profile naming is now restricted from using the name "Grail"
  • Pressing left ALT key while having the application in focus caused the UI updates to freeze until something else was pressed. This bug has been removed
  • Catch exception with not being able to get Diablo2 process handle for advanced automode

D2SE support

30 Sep 11:02
Compare
Choose a tag to compare

D2SE support has now been included! The supported patches are the same as for the "normal" D2, ie. 1.13c, 1.13d and 1.14d

Bugfixes:

  • Now throws error if several d2 processes have been opened while running automode
  • Fix bug in the "Copy to clipboard" and "Save as .txt" functions
  • Now creates a "mf_timer.log" file in case of crashes, that you can send me for debugging
  • Fixed rare timing bug causing memory reader to crash
  • Significant clean-up of automode code, hopefully creating more stable framework

Windows 7 support

27 Sep 16:20
Compare
Choose a tag to compare

A function I added to remove DPI rescaling in Windows 10 broke the counter for Windows 7 users. This is fixed now.
Also, I added an option under Options->Automode->Advanced Automode:

  • "Stop when leaving": When turned on, the counter stops when you exit a game into the lobby. When turned off, the counter keeps running until you join a new game.

Also added an invite link to SightUps discord channel under the "About" tab, if you want to join.

Advanced automode!

27 Sep 10:03
Compare
Choose a tag to compare

Another big release for you guys!

Big features:

  • Advanced automode: I have now implemented advanced automode, which utilises memory reading of the D2 "Game.exe" process to infer whether you are in the lobby, or ingame. This gives a much more precise automode that can both start and stop runs, and removes the issues with runs longer than 5 minutes, and resets of runs when dying.
  • Advanced stats tracker (XP tracker): When using advanced automode, I have also added an XP tracker for your character (see included picture). This is still in beta version, so there might be some bugs related to it but generally it should work.

The advanced automode and XP tracker is currently supported for D2LoD patch versions 1.13c, 1.13d and 1.14d. If requested I might add support for more patch versions. I have not tested if it works in conjunction with D2SE, so feedback on this would be appreciated

Smaller features:

  • Redesigned the "drops" tab. It is no longer a tab, but instead a dropdown caret you can open and close from the main widget. Much cleaner design IMO
  • Added a list of potential run types to choose from when creating new profiles (e.g. Mephisto, Diablo, Baal, Ancient Tunnels, etc.) ... It is still possible to type free text of course
  • Added option to autoupload any newly added grailers from the drops window to d2-holy-grail.herokuapp.com (this is turned off by default)
  • Added option to turn on "Auto archive session". If you set this to X number of hours above "0.0", the app will automatically archive your sessions if they haven't been updated for X number of hours. Turned off by default
  • Removed the "reset grail" functionality, it didn't add anything useful
  • Remove the option to turn off "Autocomplete" of drops. I don't think anyone would want to deactivate it

Bug fixes:

  • Sometimes removing old runs would not work, this is fixed now
  • Fixed a random crash when removing drops
  • Hotkeys are blocked when drop window is open, as it could create issues (also solves the issue with several drop windows opening up if you press the hotkey twice)
  • Removed windows DPI scaling, this created issues with the grail view
  • Fixed bug allowing you to overwrite an old profile if you used the same name but with different capitalization
  • If you placed the mf_timer.exe in a restricted folder (like C:/Program Files/) the app would not be able to start due to needing admin rights to write config/profile files. Now an error for this is shown
  • Fixed a bug with the "add delay" option causing the app to crash if letters were input in the entry field
  • Fixed a bug in the "export to .csv" option in the Archive Browser where the fields were not set correctly
  • Fixed a bug where number of "Drops logged" in the Profile tab descriptive statistics were not shown correctly for past sessions

image

Another bug fix

11 Sep 14:03
Compare
Choose a tag to compare

Sorry, very embarrassing. The app crashed when creating a new profile due to a mistake in the sorting function I built. Should work now

Bug fix and small changes

07 Sep 15:49
Compare
Choose a tag to compare

Changes:

  • Droplist in the bottom of the archive browser now shows drops with run no in front of them
  • Can now delete any run in the active session by selection (by pressing delete button on the keyboard while highlighted)
  • Profiles in the profile dropdown are now sorted by update time rather than alphabetically

Bugfixes:

  • Fixed bug in profile view causing the app to crash when viewing past sessions
  • Fixed bug in profile view where the minimum time was set to zero whenever a run was active

Known bugs that is on my to-do list:

  • Tooltips cross screen borders if the app is placed in the corner of your screen.
  • Sound effects get clipped so you only hear half of the sound (only applies for users having sound effects on)
  • The grail item table resets custom column sorting every time a new item is added to the grail
  • The grail controller window does not fit on smaller screens (for example it doesn't fit on a 15.6" screen, while it does fit on a 23" screen)

Grail support

28 Aug 11:14
Compare
Choose a tag to compare

Big feature:

  • Grail support now implemented! There is now a new tab called "Grail" - Here you can track all your progress in completing the d2 holy grail of collecting all items (and runes).
  • Every time you add a new that hasn't been found before, it can be added to the grail! Then it will appear in your found items with a "(*)" in front of the name, to indicate it was a grailer
  • Furthermore, there is support with d2-holy-grail.herokuapp.com - You can both sync your local grail with the already logged progress there, and also upload any progress back to the webpage again!
  • In order to view your grail progress there is both a "Grail controller" view, which is similar to the one found on herokuapp, but also a "Item table" view, where you see all items in a table with tons of information about each item.
  • You can also sync your local grail with already found items. Unfortunately, it is not possible to sync with any items added in your profiles prior to this update, sorry!

Small features:

  • Removed the "Item shortnames" option. It didn't seem to useful to me
  • Added total run count for the active profile in the timer window
  • Autocompletion for rainbow facets now extended, with the 8 different available types. This was needed to be compatible with d2-holy-grail
  • You can now type in "Eth " in front of an item name in autocompletion. I have not built any logic for which items can spawn as eth however
  • Normally if a run is active when you close the app, it is stopped and saved. I added an exception to this rule if you are in single player mode and has automode activated (since a new run is started when you close the game)
  • Added tooltips to a few buttons
  • Autocompletion for "Key of Terror", "Key of Hate" and "Key of Destruction" added (aliases also added, they are "tkey", "hkey" and "dkey" respectively)
  • "Pop-up drop tab" now activated by default, but you can still deactivate it in options

Bug fixes:

  • Archive & Reset now clears the droplist correctly without needing to restart the app
  • Pop-up for Archive & Reset no longer crossing screen borders
  • Fixed a bug related to changing descriptive statistics for selected session
  • Corrected 3 wrong item names in autocompletion (Ichorstring -> Ichorsting || The Chieftan -> The Chieftain || Radamant's Sphere -> Radament's Sphere)
  • Usage of "eval" has been wrapped in a safety net to avoid issues with manually editing mf_config.ini

grail_control
grail_item_table

Autocompletion

17 Aug 18:59
Compare
Choose a tag to compare

Big feature:

  • Autocompletion now implemented! When you open the "Add drop" messagebox and start typing an item name, the app will suggest the full name of the item using a full library of all available sets, uniques and runes. This feature can be disabled in options - It is also possible to enable "Item shortnames" (disabled by default) which instead of adding the full item name of each item, will use the slang name of the item (e.g. Shako instead of Harlequin Crest or Wizzy instead of Wizardspike)

Small features:

  • Text in the drop tab now wraps to multiple lines if the text doesn't fit
  • Descriptive statistics in the profile section now shows for the current selected session (default selection changed to "Profile history")
  • Tab switch keys now set to 'on focus' by default
  • "MF amount" removed from profile, wasnt really super useful
  • "Game mode" now saved to profile at creation. Already created profiles will have "Single Player" set as default. This can be overwritten in Automode options
  • Added two game paths, one for single player and one for multiplayer. Also added functions that try to infer the paths automatically.
  • Removed the automatic pause of the app that used to happen when viewing the 'Profile' tab
  • Added a confirmation box when deleting logged drops from list

Bug fixes:

  • Deleting the 'active session' in the profile tab now works again
  • Setting tab switch keys to global now correctly works with the task queue
  • Added a 2 second timeout for github connection when checking for updates (could freeze app in some cases)
  • Added a minimum of 1 second before automode can progress to next run. In rare occasions on single player, opening a new game would advance two runs instead of one. This should fix it

Upcoming:

  • Better handling of drops in general
  • Show active profile on main tab
  • Holy grail support, hopefully with ability to synchronize with https://d2-holy-grail.herokuapp.com/ if Nasicus are willing to create an API