Skip to content

GenericMadScientist/CHOpt

Repository files navigation

CHOpt

A program to generate optimal Star Power paths for Clone Hero.

Codacy Badge

Install

Download the latest version from the Releases page. If you're on Windows, you will need to have installed the latest Visual Studio Redistributable.

Usage

If you are unfamiliar with the intricacies of reading paths, read this guide.

CHOpt has two versions, a command-line version and a graphical version. The graphical version has the same options as the command-line version and is self-explanatory enough. As for the command-line version, an example usage to path Trogdor on Hard and save the output to trogdor_path.png is

> CHOpt.exe -f trogdor.chart -d hard -o trogdor_path.png

Only the -f parameter is required, the difficulty defaults to Expert and the path is by default saved to path.png. The full list of arguments can be found by passing -h or --help to CHOpt, or by consulting the table below.

Arguments Action
-h, --help List optional arguments
-f, --file Chart filename
-o, --output Filename of output image (.bmp or .png)
-d, --diff Difficulty (easy/medium/hard/expert)
-i, --instrument Instrument (guitar/coop/bass/rhythm/keys/ghl/ghlbass/drums)
--sqz, --squeeze Set squeeze %
--ew, --early-whammy Set early whammy %
--lazy, --lazy-whammy Set number of ms of whammy lost per sustain
--delay, --whammy-delay Amount of ms after each activation before whammy can be obtained
--lag, --video-lag Video calibration, in ms
-s, --speed Set speed the song is played at
-l, --lefty-flip Draw with lefty flip
--no-double-kick Disable 2x kick (drums only)
--no-kick Disable non-2x kicks (drums only)
--no-pro-drums Disable pro drums (drums only)
--enable-dynamics Enables double points from ghost and accent notes (drums only)
--engine Choose the engine (ch/rb/rb3)
-p, --precision-mode Enable precision mode (CH only)
-b, --blank Output a blank image without pathing
--no-image Do not create an image
--no-bpms Do not draw BPMs
--no-solos Do not draw solo sections
--no-time-sigs Do not draw time signatures
--act-opacity Set opacity of activations in images

If you would like to conveniently run CHOpt on a setlist and you happen to be on Windows, I made a PowerShell script that I've put here. Change the four variables then run the script. The simplest way to do that is probably to open the folder the script is in, double click the top bar and type in cmd then enter to open a command prompt in that folder, then run the command

> powershell -ExecutionPolicy Bypass -File setlist.ps1

Dependencies

  • Boost for Boost.Test
  • CImg to produce images
  • libpng to save pngs
  • Qt 6 for the GUI and various utility code for both versions
  • SightRead for parsing charts and midis
  • zlib is a dependency of libpng

CImg is vendored in the repo. Boost, libpng, Qt, and zlib will need to be provided by anyone compiling CHOpt for themselves. Boost is only required for tests. libpng and zlib need to be set up so that FindPNG can find them, and the same is true for Boost and Qt (see this and this page for details). SightRead is included a git submodule.

Acknowledgements

  • FireFox2000000's Moonscraper .chart and .mid parsers were very helpful for getting an initial idea of Clone Hero's parsing behaviour.
  • Dinoguy1000 and shadoweh helped me make sure CHOpt runs on other peoples' machines.
  • Various users for feedback and testing, including 3-UP, ArchWK, Bromik, CyclopsDragon, DNelson, GHNerd, Haggis, Jdsmitty1, Joel, Jrh, Kyleruth, LightlessWalk, Littlejth, Lucretio, NicoBrenChan, RandomDays, RileyTheFox, Taka, Venxm, and Zantor.

Contact

If you have any bug reports I would prefer they be reported on the GitHub page, but feel free to send them to me on Discord at GMS#5303.