Code Monkey home page Code Monkey logo

chopt's Introduction

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.