about summary refs log tree commit diff stats
██████╗  ██████╗ ███╗   ██╗ ██████╗ 
██╔══██╗██╔═══██╗████╗  ██║██╔════╝ 
██████╔╝██║   ██║██╔██╗ ██║██║  ███╗
██╔═══╝ ██║   ██║██║╚██╗██║██║   ██║
██║     ╚██████╔╝██║ ╚████║╚██████╔╝
╚═╝      ╚═════╝ ╚═╝  ╚═══╝ ╚═════╝ 
===============================================================================
ABANDON ALL HOPE YE WHO ENTERS:
This project was create as a fun side-project to see if I could make a 2D
game. As it turns out, I can! Unfortunately the code in this is super
spaghetti, so be warned!
===============================================================================
Description:
This is a pong clone made in C using raylib as the main back bone of the code.
My goal with this project is:
    1. Support as many platforms as possible. At the current time these are:
        - Linux
        - NetBSD
        - FreeBSD
        - Windows
        - OpenBSD
        - Mac OSX
	- Haiku
	- DragonflyBSD
       The following platforms are not support, with the reasons why they aren't yet:
        - Hurd (I'll fuckin do it for the memes, mark my words...)
        - OpenIndiana (Premake5 doesn't link properly.)
    2. Make a fun, simple game. 
    3. Improve my coding skills. If you have any
       criticism of my code, go ahead and leave an issue! Pointing out mistakes
       is the only way I can learn.
===============================================================================
Build with Tup:
    1. Copy/Modify tup.config to your needs.
    2. Run `tup`
    3. Run ./install.sh
    4. Done
Build without Tup:
	Because I get all my CFLAGS and LDFLAGS from pkg-config, it should be
    pretty portable.
    1. Run ./build-$RELEASETYPE.sh (release if packaging, debug if debugging)
    2. Run ./install.sh
    3. Done.
Distributing:
    This is complicated, and depends on your platform. On most systems, the best
    way to redistribute binaries is to use a combination of ldd and awk.
    Example:
        mkdir -p libs/
        for i in $(ldd ./Pong | awk '/usr\/lib/{print $3}');
        do
            cp $i libs/
        done
    The syntax you'll have to use depends on your system, OpenBSD for example
    stores packages in /usr/local. Not to mention this method is unreliable on
    many linux distributions due to /lib and /usr/lib being the same
    directory. On Windows, the libraries should be in the same directory as
    the executable.

    From there, just simply tarball or zip up the game with the libraries.
===============================================================================
If you like my work and want to support me, consider donating to me on https://liberapay.com/Charadon/