Skip to content
/ cshp Public

CSharpHistoryParser. Historicizing steam games pseudocode.

Notifications You must be signed in to change notification settings

iraizo/cshp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CSHP

Logo

This is a cross-platform tool to historicize different branches/depots/manifests and generating pseudocode for it to compare different game updates.

Roadmap

This project is WIP but will get updates frequently
listing the features/wip below.

  • Fetching depots from a steamDB API.
  • Download all the manifests of the depo.
  • Only download certain assemblies based on user configuration.
  • Dissasemble assemblies
    • Dissasemble assemblies without hardcoding the names.
  • Safety of the code (anything that panics isn't a recoverable error).
  • Support for multiple branches.
  • Support for uploading pseudo using git.
    • Create different branches for different manifests.
    • Multithreaded downloading/dissasembly.
  • Remove hardcoded values.
  • Using an actual git lib instead of std::Command.
  • Docker deployment.
  • Check if theres an actual update to the manifests before downloading.

Support

This project supports x86_64/arm64 CPU's.
The Operation systems/Kernels supported are: Linux, Windows,macOS.

If you need any manual help/issues please create an GitHub issue or contact me on matrix under @raizo:matrix.org.

Requirements

  • DepotDownloader in a downloader directory.
  • ILspycmd set the path in main.rs (hardcoding will be removed later)
  • .NET 6.0 SDK/Runtime

Usage

  • Move DepotDownloader into the downloader folder.

Setting up the folders

  • Create a download directory (Where the manifests are getting downloaded in).
  • Create a pseudo directory (Where the psuedo files are getting dissasembled into).
  • Create a repo directory (Where the git repository resides in).

Setting up the repository

  • Run these commands in your favorite shell
cd repo_direcotry_name
git init
git remote add origin remote_url_here
  • Create branches for all the manifests using either GitHub git checkout -b branch_name_here main_manifest_branch. main_manifest_branch would be the latest game version/manifest.

Setting up the config

  • Rename example_config.json to config.json.
  • Change the information in config.json.

Setting up the filter

  • Change what assembly paths you want dissasembled in the filter.
  • Change the name/path of your filter in config.json.

Running

  • Run cargo run in the root directory of this project.

About

CSharpHistoryParser. Historicizing steam games pseudocode.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages