CORE/README.md
JeremyStarTM b57d00e9cd Many improvements (see commit description)
Added more things to roadmap, removed autoload singleton check, added support for Godot 4.1, all startup messages now use Logger.diag() instead of Logger.info() (making them disappear but can be shown if needed), removed autoload.gd, fixes syntax.
2023-07-07 10:58:49 +02:00

90 lines
3.5 KiB
Markdown

<p align=center><img width=200px height=200px src="https://git.staropensource.de/staropensource/core/raw/branch/develop/soscore.png"/></p>
# StarOpenSource CORE (aka. SOSCORE aka. CORE)
SOSCORE/CORE is a framework that simplifies development for games and applications made in Godot 4.
# Development status
CORE is under heavy development and can be very unstable. Please do not use CORE in conjunction with your game/application for now (except if you want to debug your game 24/7 and read a lot of gdscript files).
# Roadmap to release <img width=32 src="https://net.staropensource.de/system/custom_emojis/images/000/009/330/static/a87bdcca6bcbb86e.png">
- Mod loading system
- Notification API
- Basic debugging tool (CTRL+C to crash, F3 to toggle statistics)
- Better documentation (docs4everything)
- Everything commented and explained
- Documentation page explaining what does what (for CORE noobies)
- ~~Autoload singleton check removal~~
- More wmgr functions
- Website
- ~~Silencing startup messages (info -> diag)~~
- ~~Remove autoload component~~
- ~~Fix syntax (set return types missing)~~
- Implement preprocessor placeholders
- Clipboard content
- CORE version
- Dark mode
- Dark mode support
- Delta
- Device hardware
- Device model
- CPU name
- CPU count
- FPS
- Game process
- Executable
- Command line options
- PID
- Debug build
- Language
- Operating system
- Operating system name
- Operating system version
- Distribution name
- Project name
- Project description
- Rendertime
- Window
- Size
- Size with decorations
- Position
- Title
- Mode
- Minimal size
- Maximal size
- Vsync status
- Screen
- Size
- ID (main window)
- Count
- DPI
- Orientation
- Refresh rate
- Scale
# Documentaton
[You can access the documentation by clicking this text](https://git.staropensource.de/StarOpenSource/core/wiki)[.](https://takeb1nzyto.space)
# Can I use CORE in an existing project?
Yes, in theory you can refactor your entire codebase and make a giant mess, but we don't recommend doing that.
# Requirements
- Godot 4.0/4.1 (stable releases only)
- Good experience with Godot 4 and GDScript
# Recommendations
- Use smgr instead of manually managing scenes or CORE will break apart. If you don't want headaches, use smgr.
- Use the CORE logger for logging. It supports rich formatting (using tags, handled by our Preprocessor™) and is generally better than using print() for everything.
- Use wmgr for managing the main window title, size, position, etc.
# How to install
- Download the [CORE manager](https://git.staropensource.de/StarOpenSource/core-manager#download) and open it
- Enter the path to your Godot project
- Click `Install` and wait 0-2 seconds for it to download
- Reload your project (`Project -> Reload current project`) and start your game
- If Godot complains that it could not load `res://`, then you successfully installed CORE. [You can now follow the post install guide](https://git.staropensource.de/StarOpenSource/core/wiki/Using-CORE)
# How to update
Open the CORE manager, enter the path to your Godot project and click `Update`. Check [this documentation page](https://git.staropensource.de/StarOpenSource/core/wiki/Breaking-commits) for important commits that can cause breakage.
# Why is CORE not a addon?
CORE does not add one single functionality that can be easily removed, no, it is a whole framework providing many useful functions for your game and removing it would mean lots of refactoring and headaches for you. So no, no addon.