You have two options, depending on whether you want to actually use the logo as a hotspot or if you'd rather just have text (like "Load", "Save", "About", etc). This is all assuming you haven't already customized the menus beyond all recognition...
Both are in the
screens.rpy
file.
Text:
Find the section that deals with the
screen navigation():
code. Within the
vbox
that shows all the other text options, add something like:
Python:
textbutton _("About") action ShowMenu("about")
textbutton _("Patreon") action OpenURL("https://www.patreon.com/halloweenoracle") # <--- added
if renpy.variant("pc") or (renpy.variant("web") and not renpy.variant("mobile")):
# blah, blah, more code.
You can alter whether the link appears on the main_menu or game_menu (or both) and whether the link is visible when using the in-game replay menu by having code for
if main_menu:
and/or
if _in_replay:
in there too.
There's no reason why the game_menu and main_menu need to use
textbutton:
- but it's what is used by default, so is easier to think about when you're just starting out.
Logo:
Find the section that deals with the
screen menu_menu():
code. Somewhere in there, add an
imagebutton:
to show both the logo and the link you want to use. Again, something like:
Python:
if gui.show_name:
vbox:
#text "[config.name!t]":
# style "main_menu_title"
text "Version [config.version]":
style "main_menu_version"
fixed:
imagebutton:
pos (1600,115)
idle ("gui/patreonlogo_idle.png")
hover ("gui/patreonlogo_hover.png")
action OpenURL("https://www.patreon.com/halloweenoracle")
# blah, blah, more code.
I'm not even sure the
fixed:
is needed, but it's included in the example I'm using - so rather than test it, I'm just blindly copy/pasting it.
Obviously, going down this route also requires two images in the
/game/gui/
folder for the idle and hover images you are using for Patreon logo (or just the idle image, if you don't need some sort of visual feedback when the mouse moves over the logo by having a version of the same image that is brighter or colored differently or something).
An alternative to explicitly defining both the idle and hover images is to use
auto ("gui/patronlogo_%s.png")
instead (where the "%s" is automatically filled in with "idle" and "hover", etc if those image exist). Which is actually better practice, but not quite so obvious an example when you first see it.
Python:
imagebutton:
pos (1600,115)
auto ("gui/patreonlogo_%s.png")
action OpenURL("https://www.patreon.com/halloweenoracle")
If you want to use idle/hover images with transparency (alpha=0) so that the clickable area is only the non-transparent bit rather than a square block - add the
focus_mask True
statement to the
imagebutton:
definition. This is a bit more polished and means you can use round buttons, etc - but requires a bit more work beforehand, preparing the images.
If you want both Patreon and Discord... well that's two
textbutton:
and/or
imagebutton:
sections of code instead of one.