Home Page, Index (EN) - Archie-osu/ProjectDELTA GitHub Wiki
Project DELTA v3 Wiki
Welcome to the Project DELTA wiki! Feel free to edit and contribute!
A special thank you for everyone that helped during development, mainly the folks from Underminers and elite_pleb.
This wiki shall be updated with every major release (if I get around to it, or someone makes a PR).
Keep in mind this is very WIP, so the majority of articles are unfinished.
Index
C++ Documentation
File structure
We begin in the "PD" folder, as the dependencies aren't really that hard to grasp, and you probably won't even touch them.
-
Hooks - Every function that Project DELTA taps into is here, so you can view the game's inner workings
- DoCallScript - This function is used by the game when a script is called - scripts are usually prefixed with
gml_Scriptin tools like UndertaleModTool. - EndScene - This function is not used by the game directly, instead it's used for rendering in older titles like Undertale (or other games utilizing DirectX 9).
- ExecuteIt - This function is used by the game when it wants to call events on an object (usually stuff like drawing, advancing timers, etc.).
- Present - This function is not used by the game directly, instead it's used for rendering in newer titles like Deltarune (or other games utilizing DirectX 11).
- Window Procedure - This function is used by Windows, and handles window messages (resizing, keystrokes, mouse clicks).
- Project DELTA uses this for cancelling input while the menu is open (and the option is enabled under settings, of course).
- The game (doesn't matter which one) uses this for registering key presses and mouse clicks inside the game window.
- DoCallScript - This function is used by the game when a script is called - scripts are usually prefixed with
-
SDK - Every module that Project DELTA employs to aid with modding GameMaker games is located here.
- Callback Manager - Want to call your function on a specific game event (for example rendering a frame)? Using this is your best bet.
- Hook System - Used to intercept game functions and run your own code whenever those functions are called by the game.
- Invoker - Used to call game functions to gather information about the game's state.
- Lua Engine - Several modules strapped together, allowing for extensible modding of games using the Lua API.
- Engine Base - Handles execution of scripts, also gives you the error message when you mess something up :grinning:
- Lua Callback Manager - Pretty much the same thing as the C++ callback manager, but more limited.
- Used in the
add_callbackandremove_callbackfunctions respectively.
- Used in the
- Lua Script Hook System - An extension of the Lua Callback Manager, allowing for running code before scripts.
- Memory Manager - Everything regarding memory is here, for example pattern scanning, or if a pointer is valid.
- Structs - Everything exclusive to GameMaker resides here, including all data structures.
-
UI - Everything related to the front-end of Project DELTA (the stuff you can actually see) is here.
Creating custom UI presets
TODO