Home

Awesome

hIghQube

Kurushi like game

https://github.com/RuiVarela/hIghQube/assets/11543973/07e27d90-5b3b-4edc-a19d-4ff38d844c6d

ui demo image

Controls

Features

TODO:

Development

git clone git@github.com:RuiVarela/hIghQube.git
cd hIghQube

git submodule init
git submodule update

#
# Windows macOS
#
mkdir build
cd build
cmake ..

cmake --build .

#
# iOS
#
mkdir build_ios
cd build_ios
cmake .. -G Xcode -DCMAKE_SYSTEM_NAME=iOS
open hIghQube.xcodeproj 

#
# Android
#
# use Android Studio

Helper Commands

add vendor submodule

git submodule add git@github.com:memononen/fontstash.git vendor/fontstash
git config -f .gitmodules submodule.vendor/fontstash.shallow true

generate apple icns

mkdir app.iconset
sips -z 16 16 icon.png --out app.iconset/icon_16x16.png
sips -z 32 32 icon.png --out app.iconset/icon_16x16@2x.png
sips -z 32 32 icon.png --out app.iconset/icon_32x32.png
sips -z 64 64 icon.png --out app.iconset/icon_32x32@2x.png
sips -z 128 128 icon.png --out app.iconset/icon_128x128.png
sips -z 256 256 icon.png --out app.iconset/icon_128x128@2x.png
sips -z 256 256 icon.png --out app.iconset/icon_256x256.png
sips -z 512 512 icon.png --out app.iconset/icon_256x256@2x.png
sips -z 512 512 icon.png --out app.iconset/icon_512x512.png
cp icon.png app.iconset/icon_512x512@2x.png
iconutil -c icns app.iconset
rm -R app.iconset

generate ico

# sizes=(16x16 32x32 128x128 256x256 512x512 1024x1024)
sizes=(32x32 128x128 256x256)
mkdir ico 
files=""
for size in "${sizes[@]}"; do
    file="ico/${size}.png"
    files="$files $file"
    convert icon.png -quality 100 -resize $size $file
done
files=$(echo $files | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
convert ${(z)files} app.ico 
rm -R ico

compile shaders

vendor/sokol-tools-bin/bin/osx/sokol-shdc \
    --input src/render/VisualRenderer.glsl \
    --output src/render/VisualRenderer.glsl.h \
    --slang hlsl5:metal_macos:metal_ios:metal_sim:glsl300es
.\vendor\sokol-tools-bin\bin\win32\sokol-shdc.exe `
    --input src/render/VisualRenderer.glsl `
    --output src/render/VisualRenderer.glsl.h `
    --slang hlsl5:metal_macos:metal_ios:metal_sim:glsl300es

generate a gif from video

ffmpeg -i Untitled.mov -filter_complex "[0:v] fps=6,scale=480:-1,split [a][b];[a] palettegen [p];[b][p] paletteuse" dump.gif