Skip to main content

Required Libraries

The following libraries are required for building fCavEX on any platform. You need to download these libraries and place their source files in the specified directories.
All library paths are relative to the source/ directory in the fCavEX repository.

LodePNG

Purpose: PNG image loading and encoding
1

Download LodePNG

Get the latest version from https://github.com/lvandeve/lodepng
2

Copy files

Place lodepng.h and lodepng.c into source/lodepng/

cglm

Purpose: OpenGL mathematics library for C
1

Download cglm

Get the latest version from https://github.com/recp/cglm
2

Copy files

Copy the entire include/cglm/ directory to source/cglm/

cNBT

Purpose: NBT (Named Binary Tag) format parser for Minecraft world files
1

Download cNBT

Get the latest version from https://github.com/chmod222/cNBT
2

Copy files

Place the following files into source/cNBT/:
  • buffer.c
  • buffer.h
  • list.h
  • nbt_loading.c
  • nbt_parsing.c
  • nbt_treeops.c
  • nbt_util.c
  • nbt.h

parson

Purpose: JSON parser for configuration files
1

Download parson

Get the latest version from https://github.com/kgabis/parson
2

Copy files

Place parson.h and parson.c into source/parson/

M*LIB

Purpose: Generic container library for C
1

Download M*LIB

Get the latest version from https://github.com/P-p-H-d/mlib
2

Add to include path

Copy any root *.h header files to your compiler’s include path

Platform-Specific Dependencies

Wii Platform

For building on Wii, you need:
  • devkitPro toolchain - Wii/GameCube development environment
  • wii-dev - Wii development libraries
  • ppc-zlib - zlib compression library for PowerPC
Install using devkitPro’s package manager:
dkp-pacman -S wii-dev ppc-zlib

PC/Linux Platform

For building on PC, install these system libraries:
  • zlib - Compression library
  • glfw3 - OpenGL framework (version 3.3 or higher)
  • glew - OpenGL Extension Wrangler Library
  • OpenGL 2.0 - Graphics API support
sudo apt-get install zlib1g-dev libglfw3-dev libglew-dev

Directory Structure

After setting up all dependencies, your source directory should look like this:
source/
├── cglm/
│   └── (cglm header files)
├── cNBT/
│   ├── buffer.c
│   ├── buffer.h
│   ├── list.h
│   ├── nbt.h
│   └── ...
├── lodepng/
│   ├── lodepng.c
│   └── lodepng.h
├── parson/
│   ├── parson.c
│   └── parson.h
└── (fCavEX source files)
Ensure all dependencies are properly installed before proceeding to build for your target platform.

Build docs developers (and LLMs) love