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.

chopt's People

Contributors

genericmadscientist avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

chopt's Issues

Option to Show OD drain rate

Is there an option to display OD drain rate indicators on the chart? Songs do not all drain OD at the same rate. It doesn't always stay consistent throughout an individual song even. The image is from Foreplay/Long Time on bass (Rock Band actual chart, not sure what CH has). Measure 22 drains 2 beats of OD, measure 26 drains 4 beats of OD and this is indicated by the tick marks above the bpm section. While playing they look/feel identical so without knowing this information it makes it hard to validate or tweak paths as it's impossible to accurately review the amount of OD used in a section.

I have confirmed that the pathing does take this into account, but I can't seem to figure out how to display the information on the chart. Thanks for pointing it out if I'm overlooking something

image

CHOpt doesn't see starpower phrase?

Screenshot 2022-10-16 124646

This one specific phrase in triathlon isn't seen by the program. It doesn't overlap or give you starpower after is this intended or no?

This isn't the first time it happened but i don't remember where was the other instance.

Possible to include RB4 engine?

Loving it at the moment, used it to get my Rock Band 3 Full Game FC and was wondering if you could make it work with the Rock Band 4 engine too since whammy doesn't give out as much OD as it did in Rock Band 3.

Thank you!

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.