Skip to content

Nomagno/Halfive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HALFIVE, THE UNIVERSAL RACING GAME

Halfive is a collection of specifications, libraries and implementations for a portable racing game.
Extension ID: _DEFAULT
To make extensions/modifications to this project easily trackable, I recommend specifying an 8-character alphanumerical extension ID (underscore hyphen 0-9 A-Z a-z, e.g "_My-Ext2").

'docs'    folder: Documentation
'include' folder: Interfaces
'src'     folder: Implementations

It has a lot of portable C utility interfaces, such as:
	- Freestanding standard library   (SWP) (include/halfive/h5stdlib.h)
	- Coroutines                      (SWP) (include/halfive/h5cr.h)
	- Custom document format          (SWP) (include/halfive/h5doc/h5doc.h)
	- Racing track    format          (WIP) (include/halfive/h5doc/h5t.h)
	- Network packet  format          (UWP) (include/halfive/h5doc/h5net.h)
	- Custom virtual machine          (SWP) (include/halfive/h5vm/h5vm.h)
	- Assembler    for the VM         (SWP) (include/halfive/h5vm/h5asm.h)
	- Lisp dialect for the VM         (WIP) (include/halfive/h5vm/h5elq.h)
	- Rational numbers                (SWP) (include/halfive/h5rat.h)
	- Other mathematical tools        (UWP) (include/halfive/h5math.h)
	- Graphics/Sound/input glue code  (UWP) (include/halfive/h5vi.h)
	- RPG battle simulator            (WIP) (include/halfive/h5rpg.h)
	- RPG battle simulator prototypes (WIP) (include/halfive/h5rpg_proto.h)

WIP: Work in progress, unstable/unfinished
UWP: Work in progress, usable
SWP: Work in progress, stable


List of specifications and corresponding MIME types:
	Encoding formats:
		Halfive Document (H5DOC)
			- text/x-h5doc
		Halfive Bitmap Format (H5BMP)
			- application/x-h5bmp
		[ARCHIVED] Halfive Sound Format (H5SND)
			- sound/flac
	Domain-specific data formats:
		[ARCHIVED] Halfive Network (H5NET)
			- text/x-h5net
		Halfive Track (H5T)
			- text/x-h5t
	General-purpose tools:
		Halfive Virtual Machine (H5VM)
			- text/x-h5asm
			- application/x-h5bin
			- application/x-h5drive
		Halfive Eloquent Lisp (H5Elq)
			- text/x-h5elq

If you read all specifications in the docs, you should be able to:
 - Use H5T   as a basic format for circuits
 - Use H5BMP as a basic format for sprites
 - Use H5SND as a basic format for sound effects and music
 - Use H5NET as a basic format for communication
 - Use H5VM  as a basic runtime for user-generated content


Bonus projects in this repo:
	- Custom Version Control System                    (SWP) (src/h5vcs/)
	- Custom web client for controlling the server     (UWP) (src/web-control/)
	- Preprocessor for H5VM assembly                   (SWP) (src/core/h5vm/pp.sh)
	- Generate an RSS feed from a directory            (SWP) (docs/news/genfeed.sh)
	- Generate a traffic page from an nginx log file   (SWP) (docs/trafficgen.sh)
	- Viewer for PAM files and tilesets (run 'make pamview' in src/core/, requires SDL2 headers) (SWP) (src/core/h5vi.c, part inside #ifdef H5VI_IMAGE_VIEWER)

--- Licensing ---
The whole project is released under the MIT license (SPDX: MIT). Please see each folder/file for individual licensing information.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published