From a356d60b2bea3b3c864a1168214dbd0987fd7583 Mon Sep 17 00:00:00 2001 From: Lorenzo Torres Date: Sat, 30 Aug 2025 18:52:06 +0200 Subject: first commit --- content/_index.html | 6 +---- content/community.md | 5 ---- content/development.md | 45 ----------------------------------- content/docs.md | 9 ------- content/docs/modding.md | 62 ------------------------------------------------- content/faq.md | 1 + content/projects.md | 1 + 7 files changed, 3 insertions(+), 126 deletions(-) delete mode 100644 content/community.md delete mode 100644 content/development.md delete mode 100644 content/docs.md delete mode 100644 content/docs/modding.md create mode 100644 content/faq.md create mode 100644 content/projects.md (limited to 'content') diff --git a/content/_index.html b/content/_index.html index 4d4634f..ec6d28f 100644 --- a/content/_index.html +++ b/content/_index.html @@ -1,5 +1 @@ - -

Sideros

-

-Sideros is a real-time strategy game set in ancient history. -

+ diff --git a/content/community.md b/content/community.md deleted file mode 100644 index 6053898..0000000 --- a/content/community.md +++ /dev/null @@ -1,5 +0,0 @@ - - -# Community - -## TODO diff --git a/content/development.md b/content/development.md deleted file mode 100644 index 9b02f7b..0000000 --- a/content/development.md +++ /dev/null @@ -1,45 +0,0 @@ - - -# Development - -Sideros development is email-driven, as contributions, discussions and logs all take place on specific automated mailing lists. - -## Mailing lists - -Mailing lists are automated, to subscribe just send an email to -``` -list-name at lists.sideros.org -``` -putting `subscribe` in the mail body. -Please note that some clients usually send emails with html by default, you should ensure to send plain-text emails instead, otherwise commands will not be parsed correctly. - - -Here is a list of the development related mailing lists: - - - - - - - - - - - - -
List nameDescription
patchSend git patch files, see Contributing for more info.
git(Read-only) commit logs are automatically sent here.
- -## Contributing - -Documentation for contributors is available in the source tree, under the [`documentation/`](https://git.sideros.org/sideros/tree/documentation) directory. Once you got a modification you want to send, create a commit using git and generate a patch file with the following command: -``` -$ git format-patch -M origin/master -``` -and when you have the patch file send it to the `patch` mailing list, possibly using `git send-email` like this: -``` -$ git send-email *.patch -``` - -## Bugs - -We use [Bugzilla](https://bugs.sideros.org) to track issues and feature requests. You can create an account there and subscribe to specific bugs to get emails with updates. diff --git a/content/docs.md b/content/docs.md deleted file mode 100644 index aeac7f5..0000000 --- a/content/docs.md +++ /dev/null @@ -1,9 +0,0 @@ - - -# Documentation - -## Table of contents - diff --git a/content/docs/modding.md b/content/docs/modding.md deleted file mode 100644 index 2f07d4b..0000000 --- a/content/docs/modding.md +++ /dev/null @@ -1,62 +0,0 @@ - - -# Modding - -A mod is a special plugin that can do things that alter the experience of the game. - -## Making your own - -Any mods that need to be compiled for a 32 bit WASM freestanding environment. - -### Mod exported functions - -A mod **MUST** provide atleast 2 functions: `init` and `deinit` -The signatures are: -- `uint64_t init(uint32_t modID)` -- `uint64_t deinit()` -The return values of `init` and `deinit` are results. Any non zero result will abort `sideros` and have the exit code of the result -This `modID` parameter in `init` is used in some engine functions. (See [engine functions](#engine-functions) for more) - -#### init -The `init` function is the first function called in a mod and is used for setting up variables, initializing a memory manager and defining [systems](#systems). - -#### update -There's no formal definition of an `update` function but you can emulate an update function by hooking on `render` (See [hooking](#hooking) for more info on how to do this) - -#### deinit -The `deinit` function is the last function called in a mod and is used for deleting the defined memory managers and deleting the defined systems - -### Engine functions - -There are a couple of functions you can use. (All of them have to be defined with the IA32 Cdecl + [system-V (Subsection 3.2.3)](https://refspecs.linuxbase.org/elf/x86_64-abi-0.99.pdf) calling convention): -#### Logging -- `void logDebug(const uint8_t* string, uint64_t length)` -- `void logInfo(const uint8_t* string, uint64_t length)` -- `void logWarn(const uint8_t* string, uint64_t length)` -- `void logErr(const uint8_t* string, uint64_t length)` - -The `logDebug` function is only executed if the `sideros` binary **AND** the mod itself are compiled in debug mode. - -Each of these logging functions will print either until a null character has been found, or the length is exhausted. -They will also print a special identifier in front of them with their logging level (So [DEBUG] for logDebug, [INFO] for logInfo, ...) - -#### Hooking functions -- `void hook(uint32_t modID, uint32_t functionID)` - -### Systems - -TODO - -### Hooks - -Hooks are special in a way that they can latch on to a function in the engine and be executed when that function is called. -See [this](#hooking-functions) for function signatures. - -#### Special information -All hooks have a special parameter refered to internally as `deltatime` this is just the time how long it took between the previous call and this call. -As modders you must make sure there is a `main.zig` file in the tar root, otherwise the mod will be marked as invalid and will crash sideros. - -## Installing mods - -Installing mods can be done by copying the produced and/or downloaded .tar file to the $SIDEROS_PATH/assets/mods directory. -All .tar files in that directory will be loaded and ran. \ No newline at end of file diff --git a/content/faq.md b/content/faq.md new file mode 100644 index 0000000..075e196 --- /dev/null +++ b/content/faq.md @@ -0,0 +1 @@ + diff --git a/content/projects.md b/content/projects.md new file mode 100644 index 0000000..5a9c5cb --- /dev/null +++ b/content/projects.md @@ -0,0 +1 @@ + -- cgit v1.2.3