jabyengine/readme.md

96 lines
5.3 KiB
Markdown

- [JabyEngine](#jabyengine)
- [About](#about)
- [How to build](#how-to-build)
- [Building `Tools` (without VS Code)](#building-tools-without-vs-code)
- [Building `JabyEngine` (without VS Code)](#building-jabyengine-without-vs-code)
- [Building support library (without VS Code)](#building-support-library-without-vs-code)
- [`FontWriter` (without VSCode)](#fontwriter-without-vscode)
- [Building `PoolBox` (without VSCode)](#building-poolbox-without-vscode)
- [Media creators](#media-creators)
- [JabyEngine](#jabyengine-1)
- [PoolBox](#poolbox)
- [Special thanks](#special-thanks)
- [Support this project](#support-this-project)
# JabyEngine
## About
JabyEngine is my personal attempt to eventually make my own PS1 game from "ground up". Originally I didn't indented to release this code publicly but recently I decided to give it a try. If you read this, thank you!
## How to build
JabyEngine can be build with a docker image using `podman`. Simply run the `install.sh` script from the `podman` folder and you should be good to go.
`podman_jaby_engine.sh` allows you to easily run the docker image for builds:
`podman_jaby_engine.sh <project mounting folder>:<working directory relative to project mounting folder> <Command to run> <Arg1> <Args2> <...>`
The following environment variables should be set:
* `JABY_ENGINE_PATH`: The path to the root folder of this repo. If you used the `install.sh` script and the environment variable was not set, the script will have set it to the folder. Restarting the shell or VS Code might be required.
* `PSX_LICENSE_PATH`: The path to a folder containing the PS1 licenses for generating a CD.
Additionally you can also specify the following optional environment variables:
* `JABY_ENGINE_NO_DOCKER`: Turns off the usage of `podman` for builds. This is only recommended for specific development.
VS Code has build targets set for all the projects which should be build in this order:
* `src/Tools/Tools.code-workspace`: Build all tools
* `src/Library/Library.code-workspace`: Build JabyEngine for the configurations you need
* `support/src/SupportLibrary.code-workspace` (optional): Build for using support code
* `examples/PoolBox/PoolBox.code-workspace`(optional): Build for an example "game"
### Building `Tools` (without VS Code)
`make` requires the following values to be passed:
* `CARGO_CMD`: `build`
* `BUILD_PROFILE`: `debug`/`release`
### Building `JabyEngine` (without VS Code)
`make` requires the following values to be passed:
* `BUILD_PROFILE`: `debug`/`release`
* `PSX_TV_FORMAT`: `PAL`/`NTSC`
* `CUSTOM_CONFIG`: Empty or folder name under `./config`
### Building support library (without VS Code)
These projects shall eventually turn into useful extensions for the engine. So far they are more tests then proper code. However `PoolBox` is depended on `FontWriter`.
#### `FontWriter` (without VSCode)
`make` requires the following values to be passed:
* `BUILD_PROFILE`: `debug`/`release`
### Building `PoolBox` (without VSCode)
`PoolBox` is the one and only example project so far.
`make` requires the following values to be passed:
* `BUILD_PROFILE`: `debug`/`release`
* `REGION`: `SCEE`/`SCEA`/`SCEI`
* `CUSTOM_CONFIG`: Empty or folder name under `$(JABY_ENGINE_PATH)/config`
# Media creators
## JabyEngine
| Art | Author |
|-----------------------------------------------------------------|------------------------------------------------------------|
| `ressources\Splash_ntsc.png` <br/> `ressources\Splash_ntsc.png` | Niuka |
| `bin/extern/32BIT.TMD` | http://psx.arthus.net/homebrew/assets/boot_logos/32BIT.TMD |
## PoolBox
| Art | Author |
|-----------------------------------------------------------------|-------------|
| `examples\PoolBox\assets\AllTheJaby.png` | Niuka |
| `examples\PoolBox\assets\IconTexture.png` | Charlie Nax |
| `examples\PoolBox\assets\Paco.png` | Paco |
| Music | Author |
|---------------------------------------------------------------------------|---------------------------------------|
| `examples\PoolBox\assets\audio\apple.wav` | ??? |
| `examples\PoolBox\assets\audio\blubb-mono.wav` | ??? |
| `examples\PoolBox\assets\audio\Evacuation_cdda.wav` | Cody the white tiger |
| `examples\PoolBox\assets\audio\Friendship_samp.wav` | From Dragon Quest VII |
| `examples\PoolBox\assets\audio\jlbrock44_Three_Kings_Funk_cdda_ready.wav` | `Three Kings Funk` by spinningmerkaba |
| `examples\PoolBox\assets\audio\OnMyOwn_BailBonds.mp3` | `On My Own` by Bail Bonds |
# Special thanks
* Cody the white tiger
* Nicolas Noble
* Pyravia
* Sickle
# Support this project
* Try it out
* Open Issues or Pull Requests
* [Support it on KoFi](https://ko-fi.com/jabyspielkiste)