Fun stuff with unigi and haloo3d
Go to file
2024-11-16 01:55:11 -05:00
haloo3d@3f3bd7c229 Proper maze entity detection (better way) 2024-11-15 23:29:07 -05:00
modeleditor Removed modeleditor binary 2024-10-31 13:01:31 -04:00
old Finally fixed makefile not rebuilding haloo3d 2024-09-21 00:55:27 -04:00
resources Picking up maze (does nothing yet) 2024-11-11 15:47:41 -05:00
unigi@e40d20f8f0 Updated unigi 2024-11-10 00:34:04 -05:00
unigi.platform.sdl1@170a278765 Updated unigi 2024-11-10 00:34:04 -05:00
unigi.platform.sdl2@8456f92c21 Updated unigi 2024-11-10 00:34:04 -05:00
v1 Update for new unigi 2024-11-10 07:03:47 -05:00
.clangd Setting up changes for new unigi 2024-09-11 01:15:19 -04:00
.gitignore No more zips 2024-09-08 15:17:08 -04:00
.gitmodules Submodules might be ok 2024-09-12 03:28:43 -04:00
ecs2.h Very broken move/rotate 2024-11-11 23:29:54 -05:00
LICENSE License 2024-08-12 21:54:25 -04:00
make_ps2.sh Ps2 builds! 2024-11-09 05:47:20 -05:00
Makefile Updated unigi 2024-11-10 00:34:04 -05:00
Makefile_PS2 Ps2 builds! 2024-11-09 05:47:20 -05:00
maze_ecstypes.h Wow, maze is done I guess? 2024-11-16 01:28:05 -05:00
maze.c Fixed segmentation fault 2024-11-16 01:55:11 -05:00
notes.txt Render more in terrain 2024-09-21 01:28:59 -04:00
README.md Updated readme 2024-11-07 17:02:35 -05:00
terrain_ecstypes.h Picking up maze (does nothing yet) 2024-11-11 15:47:41 -05:00
terrain_obj.c Picking up maze (does nothing yet) 2024-11-11 15:47:41 -05:00
terrain.c Picking up maze (does nothing yet) 2024-11-11 15:47:41 -05:00

3D Toys

Everything in here is a little sample program or otherwise which uses haloo3d and unigi. It's all software rendered, but you'll need to get sdl2 so it can render to screen.

The libraries required are set as submodules, so you can pull them when cloning with:

git clone --recurse-submodules https://git.lumen.sh/haloopdy/3dtoys.git

Or if you already cloned, you can do this after the fact:

git submodule update --init

Then, to build any example, just do make name.exe. For example, to build terrain.c, you would do

make terrain.exe
./terrain.exe

If you're having trouble building, you can try to force past the warnings (they're usually nothing):

make FORCE=1 terrain.exe

Unigi

Unigi is a small library and is built manually using the 3dtoys makefile. You can tinker around with Unigi if you like; it has its own make system, but I'm not sure what is required. The parts that are required for 3dtoys are handled with the 3dtoys makefile.

Unigi expects some kind of graphics backend to run. In this case, our samples use SDL2, so you'll need to get that.

Haloo3d

You can compile haloo3d using the makefile provided in the library repo, or include the .h and .c files directly into the main translation unit. For convenience, the makefile for the samples here assumes you are using the submodule and runs make in there for you.

More info

When building examples for most platforms, we build a haloo3d_full.a using make full in the haloo3d submodule. This is linked into the final program when appropriate; you can utilize this same strategy. However, when building for PS2 and other consoles, we include everything directly into the main c file. Feel free to use either method.

Legacy code

I changed haloo3d a lot and it required a code split. All the old examples that built against this older codebase still work, they're just in the v1 folder. The same instructions above apply in this folder too.

Unless you need to, I wouldn't build against the v1 codebase. I don't plan on maintaining it.