Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ScrewIt to open source examples #292

Merged
merged 1 commit into from
Apr 23, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions modules/ROOT/pages/Development/OpenSourceExamples.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -95,3 +95,29 @@ _Notable Mod Loader Features Used:_
** Tracking if the user has modified the config from the defaults
to know if future mod updates should automatically overwrite them with updated default data
** Programatically modifying config values and saving the changes

== Screw It

Meme mod, changes most things to be named and/or look like Screws.

_Source Code_: Linked on the https://ficsit.app/mod/ScrewIt[Mod Page]

_Mod Type_: Hybrid Blueprint/{cpp}

_Notable Techniques Used:_

* Using the Asset Registry to quickly discover subclasses (both vanilla and modded)
* Asynchronous asset loading to avoid stalling the game while waiting for disk I/O
* CDO edits in bulk (on the aforementioned loaded classes), implemented in {cpp}
* Hybrid Blueprint/{cpp} game instance module
** Root instance's final implementations is in Blueprint,
but it is backed by a custom {cpp} parent class to be
able to easily reference Blueprint-only assets

_Notable Satisfactory Features Used:_

* None

_Notable Mod Loader Features Used:_

* Access Transformers, to be able to change otherwise inaccessible member variables.
Loading