====== Information ====== * StepMania ((http://www.stepmania.com)) ((https://github.com/stepmania/stepmania)) * 5.1-new ((https://github.com/stepmania/stepmania/tree/5_1-new)) ===== Resources ===== * http://jousway.co.uk/ * http://www.flashflashrevolution.com/vbz/showthread.php?t=133223 * https://search.stepmaniaonline.net/ ===== Notes ===== * Store ''RandomMovies'' and ''Songs'' in ''~/.stepmania-5.1'' * :!: As of 2020/09/05, using the ''ati'' Xorg DDX driver on openSUSE caused both exclusive and borderless fullscreen modes to crash the entire Xfce desktop; use ''modesetting'' since it works fine even with the 75Hz mod ====== Dependencies ====== ===== Fedora Workstation ===== * [[distros:fedora_workstation_gnome|Fedora]] * Last tested: 2021/12/29 sudo dnf install git-core cmake gcc-c++ libmad-devel libvorbis-devel nasm yasm bzip2-devel gtk3-devel libjpeg-turbo-devel pulseaudio-libs-devel alsa-lib-devel libva-devel glew-devel systemd-devel ===== openSUSE Tumbleweed ===== * [[distros:opensuse_tumbleweed_gnome|openSUSE Tumbleweed]] * Last tested: 2021/06/18 sudo zypper install git-core cmake-full gcc gcc-c++ libmad-devel libvorbis-devel libbz2-devel nasm gtk3-devel libjpeg8-devel alsa-devel libva-devel glew-devel libpulse-devel libudev-devel ===== Ubuntu ===== * [[distros:ubuntu_desktop|Ubuntu]] * Last tested: 2021/10/29 on Ubuntu 21.04 sudo apt install git g++ cmake libmad0-dev libvorbis-dev nasm libbz2-dev libpcre++-dev zlib1g-dev libjpeg-dev libxrandr-dev libxinerama-dev pkg-config libasound2-dev libpulse-dev libjack-jackd2-dev libva-dev libgl1-mesa-dev libglew-dev libgtk2.0-dev libxtst-dev libudev-dev ====== Download/Update Source ====== **** cd ~ && mkdir -p ~/'Projects' && rm -Rf ~/'Projects/stepmania/src' && git clone --branch '5_1-new' --depth '1' --recurse-submodules 'https://github.com/stepmania/stepmania.git' ~/'Projects/stepmania/src' && sync ====== Compile and Install ====== * :!: If more or less than 4 CPU cores should be used when compiling FFMPEG, change ''DWITH_FFMPEG_JOBS'' cd ~ && rm -Rf ~/'Projects/stepmania/build' ~/'Projects/stepmania/run' && mkdir -p ~/'Projects/stepmania/build' ~/'Projects/stepmania/run' && cd ~/'Projects/stepmania/build' && cmake ~/'Projects/stepmania/src' -G 'Unix Makefiles' -DCMAKE_BUILD_TYPE='Release' && cmake ~/'Projects/stepmania/src' -DCMAKE_INSTALL_PREFIX=~/'Projects/stepmania/run' -DCMAKE_CXX_FLAGS='-Ofast -pipe -march=native' -DCMAKE_C_FLAGS='-Ofast -pipe -march=native' -DWITH_FFMPEG_JOBS='4' -DWITH_MINIMAID='0' && sync && make -j$(nproc) install && sync ===== System FFmpeg ===== * https://github.com/stepmania/stepmania/issues/2197 * This was attempted instead of working around the authentication issue * :!: As of 2022/03/17 on Fedora 35, this is untested with gameplay, but StepMania compiles fine * :!: Apparently bundled FFmpeg was fixed and this isn't needed sudo dnf install 'ffmpeg-devel' cd ~ && rm -Rf ~/'Projects/stepmania/build' ~/'Projects/stepmania/run' && mkdir -p ~/'Projects/stepmania/build' ~/'Projects/stepmania/run' && cd ~/'Projects/stepmania/build' && cmake ~/'Projects/stepmania/src' -G 'Unix Makefiles' -DCMAKE_BUILD_TYPE='Release' && cmake ~/'Projects/stepmania/src' -DCMAKE_INSTALL_PREFIX=~/'Projects/stepmania/run' -DCMAKE_CXX_FLAGS='-Ofast -pipe -march=native' -DCMAKE_C_FLAGS='-Ofast -pipe -march=native' -DWITH_FFMPEG_JOBS='4' -DWITH_MINIMAID='0' -DWITH_SYSTEM_FFMPEG='1' && sync && make -j$(nproc) install && sync ====== Simply Love ====== * [[https://github.com/dguzek/Simply-Love-SM5|GitHub]] * Uses ''beta'' branch rm -Rf ~/'.stepmania-5.1/Themes/Simply Love' && mkdir -p ~/'.stepmania-5.1/Themes' && git clone --branch 'beta' --depth '1' --recurse-submodules 'https://github.com/dguzek/Simply-Love-SM5.git' ~/'.stepmania-5.1/Themes/Simply Love' ====== Unlimited Stepman Works ====== * http://jousway.co.uk ===== USWMetal3DSM5+ Noteskin ===== * Expects ''~/.stepmania-5.1'' as the StepMania home directory * Requires ''7z'' rm -Rf ~/'.stepmania-5.1/NoteSkins/dance/USWMetal3DSM5+' '/tmp/USWMetal3DSM5+.7z' && mkdir -p ~/'.stepmania-5.1/NoteSkins/dance' && wget -O '/tmp/USWMetal3DSM5+.7z' 'http://jousway.co.uk/Unlimited_Stepman_Works/_Noteskin/SM5/Dance/USWMetal3DSM5+.7z' && cd ~ && 7z x -o'.stepmania-5.1/NoteSkins/dance' -y '/tmp/USWMetal3DSM5+.7z' && ls ~/'.stepmania-5.1/NoteSkins/dance/USWMetal3DSM5+/NoteSkin.lua' && rm -f '/tmp/USWMetal3DSM5+.7z' && sync ====== Restore Content ====== mkdir -p ~/'.stepmania-5.1' ~/'.stepmania-5.1/NoteSkins/dance' gio open ~/'.stepmania-5.1' ====== Settings ====== * :!: Requires StepMania to be started once gio open ~/'.stepmania-5.1/Save/Preferences.ini' ===== Global Offset ===== * This magic number comes from the Linux version of OpenITG ((no idea why it works well, but it does)) * This works best on a PSX-to-USB adapter * :!: This does not work well at all when using an Arduino Leonardo R3 GlobalOffsetSeconds=-0.065612 ====== Desktop Launcher ====== mkdir -p ~/'.local/share/applications/StepMania' && nano ~/'.local/share/applications/StepMania/StepMania.desktop' [Desktop Entry] Name=StepMania Categories=Game; Exec='/home/CHANGEME/Projects/stepmania/run/stepmania-5.1/stepmania' Type=Application StartupNotify=true Path=/home/CHANGEME/Projects/stepmania/run/stepmania-5.1 Icon=stepmania-ssc sed -i 's/CHANGEME/'$USER'/g' ~/'.local/share/applications/StepMania/StepMania.desktop' ===== Icon ===== **** cp -Rf ~/'Projects/stepmania/src/icons' ~/'.local/share' ===== Autostart ===== **** mkdir -p ~/'.config/autostart' && cp ~/'.local/share/applications/StepMania/StepMania.desktop' ~/'.config/autostart/StepMania.desktop' ====== Quick Commands ====== ===== Execute ===== ==== StepMania ==== cd ~/'Projects/stepmania/run/stepmania-5.1' && ~/'Projects/stepmania/run/stepmania-5.1/stepmania' vblank_mode='0' ===== File Manager ===== ==== Source ==== **** gio open ~/'Projects/stepmania/src' ==== Build ==== **** gio open ~/'Projects/stepmania/build' ==== Run ==== gio open ~/'Projects/stepmania/run/.stepmania-5.1' ==== Home ==== **** gio open ~/'.stepmania-5.1'