Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

FOnline Engine Documentation

This directory contains maintained documentation for reusable engine behavior. It is the user-facing documentation hub for developers who embed or modify FOnline.

Start here

Architecture and source navigation

  • Architecture.md — engine layer map and runtime/build composition overview.
  • SourceTree.md — source-directory guide for maintainers.
  • Applications.md — executable/library entry points and CMake target ownership notes.
  • Essentials.md — low-level platform, logging, memory, filesystem, serialization, sockets, and utility layer.

Build and generation

Runtime model

  • EntityModel.md — entity/property/prototype runtime model, holders, events, and serialization relationships.
  • MapsMovementGeometry.md — map coordinates, geometry modes, path finding, line tracing, movement contexts, and map loading.
  • Networking.md — network buffers, command packing, client/server transports, and ordered UDP.
  • Persistence.md — server database facade, backend implementations, commit queue, and recovery logs.

Client, frontend, and platform runtime

  • ClientRuntime.md — client lifecycle, server connection, view entities, resources, sprites, render-target bridge, and client tests.
  • ServerRuntime.md — authoritative server lifecycle, managers, entity ownership, networking, persistence, movement, and updater backend.
  • FrontendAndRendering.md — application abstraction, windows/input/audio, headless/stub modes, renderers, the screen-size/resolution + letterbox model (windowed, fullscreen, multi-client virtual windows), effects, and platform package boundaries.
  • ClientUpdater.md — client host/runtime split, runtime ABI, updater protocol, and server-side updater backend.
  • Debugging.md — native debugger support, stack traces, Visual Studio helpers, and client host/runtime validation.
  • Scripting.md — script system lifecycle, AngelScript backend, native method exports, core scripts, and compile flow.
  • ScriptMethodsMap.md — native ///@ ExportMethod file map by runtime side and receiver family.
  • Nullability.mdT? / FO_NULLABLE script/native boundary contract and analyzers.
  • Tools.md — engine tool map: baker, AS compiler, mapper, editor, asset explorer, particle editor, and asset processors.
  • MapperTools.md — mapper lifecycle, automation, native mapper helpers, and known headless-render workflows.
  • WebDebugging.md — WebAssembly target preparation, package layout, and debug workflow.
  • AndroidDebugging.md — Android target preparation, package layout, ADB workflow, and remote-scene debugging.

Source and tooling references

Documentation ownership

Use engine docs for reusable engine mechanics: runtime behavior, tool contracts, platform build/debug flows, generated API mechanics, updater protocol, mapper tooling, and script/native conventions.

Use the embedding project's docs for concrete game content, product rules, quests, balance, text, maps, release policy, and project-specific commands.

Engine docs must not depend on embedding-project files, scripts, tests, CI, or generated artifacts as the proof of engine behavior. If a reusable helper or regression test is cited from an engine doc, it belongs in the engine repository.

Some docs may mention ../../... paths only as explicitly labelled embedding-project examples, for example Last Frontier. The owning procedure, validation, and source-of-truth documentation stay in the repository that owns the files.