-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: procmon library to monitor system calls #281
base: development
Are you sure you want to change the base?
Commits on Jan 28, 2024
-
icex2 committed
Jan 28, 2024 Configuration menu - View commit details
-
Copy full SHA for 431a7b8 - Browse repository at this point
Copy the full SHA 431a7b8View commit details -
feat(util): Add log function for logging in exception handlers
We want this to always be visible, so the log level must be the highest possible. Unfortunately, that's quite the hack around the existing API and how fatal behaves. The log API stopped scaling already a while ago and needs considerable refactoring to consider the various use-cases that emerged since it was first created on alpha versions of bemanitools.
icex2 committedJan 28, 2024 Configuration menu - View commit details
-
Copy full SHA for 4c9ed32 - Browse repository at this point
Copy the full SHA 4c9ed32View commit details -
feat(util): Separate debug module with proper stacktrace printing
Because we are using mingw, we can't just use window's dbghelp library as the symbols created are in dwarf format. Fortunately, the dwarfstack library already provides all the facilities to easily print very descriptive stacktraces, including function names, file names and line numbers, when dwarf symbols are available. This moves the incomplete exception handling portion from signal to a separate module as well to improve scoping.
icex2 committedJan 28, 2024 Configuration menu - View commit details
-
Copy full SHA for a70f7c6 - Browse repository at this point
Copy the full SHA a70f7c6View commit details
Commits on Jan 29, 2024
-
feat(inject): Use new exception handler with stacktraces
Adjust inject to utilize the new feature. This also requires including the dwarfstack.dll in all distribution packages.
icex2 committedJan 29, 2024 Configuration menu - View commit details
-
Copy full SHA for e1bccc4 - Browse repository at this point
Copy the full SHA e1bccc4View commit details -
fix(make): Include dwarf symbols and remove stripping
Expecting to improve debugability significantly. Stacktraces can be enhanced with function names, file names and line numbers when symbols are included in all exe and dll files. Furthermore, this also improves debugger usage as symbols can be imported to help navigate disassembly/decompiled code.
icex2 committedJan 29, 2024 Configuration menu - View commit details
-
Copy full SHA for fbbe956 - Browse repository at this point
Copy the full SHA fbbe956View commit details -
feat(util): Add func to check if running as admin user
This has been a source of common error in the past. It is known that most, or even all, games run into various issues when not run with elevated privileges.
icex2 committedJan 29, 2024 Configuration menu - View commit details
-
Copy full SHA for 0eda352 - Browse repository at this point
Copy the full SHA 0eda352View commit details -
feat: Add new module to scope avs related "utility" stuff
Use this to share helpers or other extensions to the original avs API across modules. Start with including error codes to readable strings to improve velocity on AVS API error analysis.
icex2 committedJan 29, 2024 Configuration menu - View commit details
-
Copy full SHA for c20fbbd - Browse repository at this point
Copy the full SHA c20fbbdView commit details -
feat(avs-api): Improve property_type enum
Taken from a private eamuse server backend which had more complete mappings.
icex2 committedJan 29, 2024 Configuration menu - View commit details
-
Copy full SHA for 201d3d2 - Browse repository at this point
Copy the full SHA 201d3d2View commit details -
chore(avs-api): Move psmap terminator to enum
icex2 committedJan 29, 2024 Configuration menu - View commit details
-
Copy full SHA for 4ac0ac5 - Browse repository at this point
Copy the full SHA 4ac0ac5View commit details -
feat(avs-api): Introduce AVS error type
Supports improving expressiveness of the API interface
icex2 committedJan 29, 2024 Configuration menu - View commit details
-
Copy full SHA for ed21aa2 - Browse repository at this point
Copy the full SHA ed21aa2View commit details -
feat(avs-api): Add more AVS file system related functions
These were previously missing and are required for various file system related tasks such as iterating directory trees, reading and writing files through the AVS file system for the upcoming launcher rework. Note that the AVS API broke with some mode flags after version 2.13.06.
icex2 committedJan 29, 2024 Configuration menu - View commit details
-
Copy full SHA for ffaeb79 - Browse repository at this point
Copy the full SHA ffaeb79View commit details -
feat(avs-api): Add more property node related functions
Again, required for the launcher rework when dealing with property node trees.
icex2 committedJan 29, 2024 Configuration menu - View commit details
-
Copy full SHA for 9f5bb81 - Browse repository at this point
Copy the full SHA 9f5bb81View commit details -
fix(avs-api): Variable type and naming
icex2 committedJan 29, 2024 Configuration menu - View commit details
-
Copy full SHA for bc743df - Browse repository at this point
Copy the full SHA bc743dfView commit details -
feat(avs imports): Add lib export definitions of new AVS API functions
Add all functions and their respective ordinals (and mangled names for documentation purpose) to all currently used AVS version.
icex2 committedJan 29, 2024 Configuration menu - View commit details
-
Copy full SHA for e2b4113 - Browse repository at this point
Copy the full SHA e2b4113View commit details -
feat/fix(avs/ddr): Support AVS 2.13.06
This one was missing and is the actual correct version used for ddr-13. 2.13.04 was compatible, thus far, but there isn't any guarantee that they are actually 100% compatible (only konmai knows...).
icex2 committedJan 29, 2024 Configuration menu - View commit details
-
Copy full SHA for fe05817 - Browse repository at this point
Copy the full SHA fe05817View commit details -
fix(dist): Incorrect versioning for ddr distribution packages
Apparently forgotten to get updated to reflect the currently supported versions correctly.
icex2 committedJan 29, 2024 Configuration menu - View commit details
-
Copy full SHA for 1d6dfbb - Browse repository at this point
Copy the full SHA 1d6dfbbView commit details -
fix(doc): Update list of supported ddr versions
Apparently also forgotten to reflect currently supported games.
icex2 committedJan 29, 2024 Configuration menu - View commit details
-
Copy full SHA for 5330802 - Browse repository at this point
Copy the full SHA 5330802View commit details
Commits on Feb 3, 2024
-
refactor(launcher): Major re-work of launcher
Kudos to Shiz for providing the groundwork for this. Fundamentally re-think how launcher operates and bootstrapping the games is managed and configured. This brings it significantly closer to how the original bootstrap is doing the job: launcher now utilizes the data (structures) provided by the bootstrap.xml configuration file. This creates compatibility with vanilla data dumps and original stock images. Note that bemanitools does not include any code or means to run DRM'd data, only decrypted. But, this allows users to keep decrypted dumps as stock as possible which means: * No copying around of property files anymore * Keep the modules/ folder with the binaries * Have bemanitools binaries separate in the data * No need to edit/customize the original configuration files A list of key features of the "new" launcher: * Boostrap games by following the configuration provided by stock game's bootstrap.xml files * Custom launcher.xml configuration file that adds further launcher configurable features, composability of bootstrap.xml configuration(s) as well as configuration overriding/stacking of selected types of configurations, e.g. eamuse config, avs-config. The latter eliminates the need for modifying stock config files in the prop/ folder * Unified logging system: launcher and AVS logging uses the same logger, all output can now be in a single file * Original features such as various hook types still available Due to the significant architectural changes, this also breaks with any backwards compatibility to existing launcher setups. Thus, users need to migrate by re-applying the new configuration format and migrating their config parameters accordingly. Further migration instructions and updated documentation will be provided upon release. Co-authored-by: Shiz <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 24e7dd5 - Browse repository at this point
Copy the full SHA 24e7dd5View commit details -
refactor(dist): Config and .bat files
Move everything to new launcher.xml configuration files. Adjust the bootstrapping of launcher in the .bat files. Features such as copying the default props/ files to nvram are now handled by launcher. Using the PATH variable, bemanitools binaries can live in their own dedicated bemanitools/ subfolder next to props/ and modules/ now. All original binaries are expected to be kept in a modules/ folder like on stock data.
icex2 committedFeb 3, 2024 Configuration menu - View commit details
-
Copy full SHA for a237454 - Browse repository at this point
Copy the full SHA a237454View commit details -
fix(hook): Add missing hook_table_revert impl
icex2 committedFeb 3, 2024 Configuration menu - View commit details
-
Copy full SHA for d95633c - Browse repository at this point
Copy the full SHA d95633cView commit details -
feat(procmon): Library to hook and monitor selected system calls
A general debugging tool. 3rd party applications such as "procmon" (same name) provide these capabilites and even more. But, they are more difficult to run with bemanitools and don't provide a unified look at the output in combination with the log output by bemanitools. Provide an initial set of system call hooks that have already supported debugging efforts. More can be added when needed later.
icex2 committedFeb 3, 2024 Configuration menu - View commit details
-
Copy full SHA for d42b426 - Browse repository at this point
Copy the full SHA d42b426View commit details -
feat(launcher): Integrate procmon as optional dependency
Integrate this as an optional dependency into launcher and load it dynamically. Thus, these can be easily loaded/enabled by developers and end-users.
icex2 committedFeb 3, 2024 Configuration menu - View commit details
-
Copy full SHA for 017caab - Browse repository at this point
Copy the full SHA 017caabView commit details