Closes: #50 Add Mod Support #51
No reviewers
Labels
No Label
bug
Critical Priority
duplicate
enhancement
help wanted
High Priority
Low Priority
Medium Priority
Meta
needs more info
question
refactor
wontfix
bug
Critical Priority
duplicate
enhancement
help wanted
High Priority
invalid
Low Priority
Medium Priority
Meta
question
wontfix
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Cavemanon/SnootGame#51
Loading…
Reference in New Issue
No description provided.
Delete Branch "nutbuster/SnootGame:Monster-Update-6"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
'Mod Support' is possible, the idea is to just hijack & replace whatever storyline.rpy is doing, so all the modders have to think about is the overall script itself, assets and that's about it. As long as modders don't repeat the same 28k+ line mistake, it should be fine.
I guess a heads up notes for people making their own mods like:
Textbox limitation: ~300 characters / four lines, the maximum in the vanilla game's script is around roughly ~278 and that only barely overflows to four lines, so <200 characters / three lines of text should be fine
rpyc (renpy/python bytecode) is not really needed, scripts in mods by default aren't built see options.rpy:
build.classify('game/mods/**', None) ..
Can't have duplicate labels - Not a big deal
some todo stuff is:
Will do a better fix for nameboxes instead of redefining it for specific set of characters, based on the namebox text texture width.
Quick Buttons replaced with not a grid 1 x, instead use the vbox instead
Make the mods menu way better, etc.
mans working fast on this stuff
All nameboxes are long by default, unless someone wants to mess around with Ren'Py's displayables/screens, so that they can figure out how long the name (Not in character length, actual width of the texture, due to non-monospace ttf font, ideally you wouldn't actually use bitmaps, do some actual 2d glsl work, something about Model-Based Rendering etc.) - for now it's default
textbox_long.png
for the sake of making modding easier.Mod Menu is functional, really the mod folder is there as a suggestion not an absolute rule. It will lists all of the scripts that are automatically added in that have the following init function:
Read the
game/mods/README.md
for more informationIn case anyone gets confused or not:
When you build the game, anything in
game/mods_example
is not included during the build.WIP: #50 Add Mod Supportto #50 Add Mod Support1e6448cac4
to9fa26bc67b
#50 Add Mod Supportto Closes: #50 Add Mod SupportSimilar to 5.1.1, this commit does merge master into MU6 properly
reviewing - this is great stuff.
there are a few things i want to call out extra in the documentation for modders as well as build on the examplemod you made to showcase a few more things.
i think the only bug i've found so far is if you call ending from a modded script/storyline it fails because
tradwife
isn't defined (it's defined instart
). not a showstopper and i'll build more off the approved way to package/structure mods.since i dont't want to deal with git ping pong i'll probably just attach a zip of changes / different "mod" i made with the documentation and whatever if that's fine by you. the "backend" stuff like the UI for the mod menu is fine as is
Yeah that's fine by me, I just want this merge since it contains patchy5 -> 511 -> master changes
oh yea in that case i'lll go ahead and merge into. all the issues i'm finding are more meta issues that we can fix as we go like "prventing mod variable collisions", "properly loading loose mod files via our binary" and shit