FOSS-VG/README.md

77 lines
2.1 KiB
Markdown
Raw Normal View History

2022-06-27 11:59:02 +02:00
# FOSS-VG (FOSS Voxel Generator)
2022-06-24 06:30:07 +02:00
2022-06-27 09:17:13 +02:00
This is a WIP Minecraft clone.
2022-06-24 06:52:07 +02:00
2022-06-27 09:17:13 +02:00
For now, we target feature parity with 1.18.2.
2022-06-24 06:52:07 +02:00
Immediate goals:
2022-06-24 06:54:24 +02:00
- Networking library
- [ ] build a dummy server that Minecraft clients can detect
- [ ] get Minecraft to connect to the dummy server
- Dummy server
- [ ] send an empty void
- [ ] send a surface to stand on
- [ ] handle chat
- NBT library
- [x] parse NBT
- [x] decode and encode data
2022-06-27 07:37:20 +02:00
## Project Setup Instructions
### Prerequisites:
Build dependencies:
- bash
- a C++ 20 compiler
2023-01-09 20:41:42 +01:00
- GLFW with headers
2022-06-27 07:37:20 +02:00
Setup dependencies:
2022-07-12 01:51:23 +02:00
- wget or curl
- gzip
- sha256sum (or NetBSD's sha256, hashalot's sha256 will not work)
- tar
- a C compiler (for sockpp)
- CMake (for sockpp)
2022-07-12 01:51:23 +02:00
2022-06-27 07:37:20 +02:00
**For people using other shells than bash:** You need to at least have bash
installed to use the scripts, but using it as your shell while working on
this project also allows you to use the provided aliases.
If you dont want to use bash as your shell, not even temporarily for this
project, you can use the scripts by running them from the project's base
directory and run any generated executables with `LD_LIBRARY_PATH` set to
point to `bin/lib`.
2022-06-27 07:37:20 +02:00
### Setup
- `git clone` this repository
- if using bash:
- `source` the file `setupenv.bashrc` from the project's base directory
to load the provided shell environment (local customizations to the
environment can be placed in a fiile `.localenv.bashrc` in the project's
root directory if necessary)
2022-06-27 07:37:20 +02:00
- `setup_project`
- if not using bash or not using the provided environment:
- `cd` to the project's base directory
- `scripts/setup_project.sh`
2022-07-12 01:51:23 +02:00
This will download (and build if applicable) the following dependenceis:
- [tiny-utf8](https://github.com/DuffsDevice/tiny-utf8)
2022-07-12 01:51:23 +02:00
- [sockpp](https://github.com/fpagliughi/sockpp)
2022-06-27 07:37:20 +02:00
### Building
To build the project, just use the `build` alias or invoke `scripts/build.sh`
from the project's base directory.
2022-06-27 11:57:47 +02:00
For more details, have a look at [the build system documentation](doc/build_system.md).
2022-06-27 11:57:47 +02:00
2022-06-27 11:46:13 +02:00
## Copyright / License
See the file [`COPYING`](./COPYING) for copyright information.