SuperMechBros / supermechbros

Super Mechanical Bros

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

supermechbros

Super Mechanical Bros main game repository.

Repository Structure

The all script will setup the repositories as modeled below:

smb
├── gamecode                   # quakec
├── gmqcc                      # gitlab.com/xonotic/gmqcc
└── supermechbros              # You are HERE
    ├── darkplaces             # TODO (use Mario/smb in darkplaces)
    └── data
        ├── smb-data.pk3dir    # common config/data
        ├── smb-maps.pk3dir    # map essentials/patches
        └── xonotic-sxb.pk3dir # github.com/z/xonotic-sxb.pk3dir

Setup

Code

Checkout this repository:

The parent directory MUST be named smb as a safety check

mkdir smb && cd smb
git clone git@github.com:SuperMechBros/supermechbros.git
cd supermechbros

Dependencies

Linux

Debian/Ubuntu
sudo apt-get install build-essential xserver-xorg-dev x11proto-xf86dri-dev x11proto-xf86dga-dev x11proto-xf86vidmode-dev libxxf86dga-dev libxcb-xf86dri0-dev libxpm-dev libxxf86vm-dev libsdl1.2-dev libsdl2-dev libsdl2-image-dev libclalsadrv-dev libasound2-dev libxext-dev libjpeg-turbo8-dev git-core unzip wget zlib1g-dev
Fedora/Red Hat
sud yum install x11-proto-devel libalsa2-static-devel libjpeg62-devel libjpeg62-static-devel libSDL2-devel
Arch
sudo pacman -S alsa-lib curl libjpeg-turbo libmodplug libpng libvorbis libxpm libxxf86dga libxxf86vm sdl2 unzip

Windows

msys2

OSX

Xcode, git, and brew if your version of Xcode doesn't come with git, try git-osx-installer.

Due to inconsistencies in BSD vs GNU, you'll need to install the following via brew:

brew install gnu-sed jpeg

Building and Running

Build all gamecode (checkout all required repositories, and build dependencies):

./all update
./all build

Run the game:

./all run

Commands

build [all|game|maps]       builds the game, maps, or both. defaults game.
clean [all|game|maps]       cleans the game, maps, or both.
run                         runs Super Mechanical Bros.
update                      update all repositories, and dependencies

Examples

# update dependencies, builds everything
./all build

# update dependencies, builds maps
./all build_maps

# runs the game
./all run

# Override the path to Super Mechnical Bros.
# (normally assumed from relative location of this script)
SMB_DIR=$HOME/some/other/dir; ./all --version

About

Super Mechanical Bros


Languages

Language:C 90.4%Language:C++ 8.0%Language:Roff 0.7%Language:Objective-C 0.5%Language:M4 0.2%Language:Shell 0.2%Language:CMake 0.0%