Exit Music: Redux
Submod Documentation
Installing a submod
1. Download the submod you want to play (we plan to host submods on the Wretched Team
website - contact a member of Wretched Team to have this approved).
2. Navigate to Exit Music: Redux's 'game' folder.
3. Extract the contents of the mod into the 'submods' folder.
4. Open Exit Music: Redux.
NOTE: A submod port of the DDLC mod Pink Eyes is downloaded with the mod (but
deactivated) by default, as an example of how the inner workings of submods works (and also
because it's funny). Feel free to remove this submod if you wish.
If the selected submod doesn't work, ensure the submod is activated in '[Link]' (you
can open this with Notepad). If a label named 'activated' is set to False, change it to True.
Creating a submod
NOTE: An intermediate knowledge of Ren'Py should be expected if you're making a submod.
1. [Link]
To create a submod, you must first navigate to the folder labelled ‘submod’ folder in EM:R’s
‘game’ folder.
Within this folder, you will find a file called ‘[Link]’. This file acts as a configuration of
your submod’s details.
Let’s walk through these options here.
"name"
The name is self-explanatory: it is the name of your submod.
"version"
The version is also self-explanatory: you can update the version numbers to keep track of
different developmental updates & milestones.
"start_label"
The start label is the name of the Ren’Py label from which the submod starts.
"activated"
True/False
The ‘activated’ option decides whether or not your submod is active, i.e. the submod will
override Exit Music: Redux and load your submod instead. This can be deleted, if you want the
submod enabled by default.
"theme"
The theme dictates a theme (default, or custom) that you would like the game to force enable by
default. This can also be deleted if you don’t plan on forcing a submod theme.
Once you've set all of these parameters, you can begin editing your [Link].
Ensure your script label matches the 'start_label' you entered into '[Link]'.
2. Functions & Variables
The following is a list of functions & variables that can be used to interact with elements existing
in EM:R.
"emr_persistent"
Allows you to access some of EMR's persistent values.
The variable is a dictionary which is populated on startup with the persistent fields from EMR’s
persistent file as given below.
In short, if you want something like a gallery/soundtrack/bonus unlock to be unlocked contingent
on a player’s progress in EM:R, you can use it like so:
$ cg_seen_blah = emr_persistent["cg_seen_blah"]
"discord_status"
Allows you to edit the submod’s Discord Rich Presence status.
The variable for the Discord RPC text. An internal loop checks and updates the RPC if it is
changed.
Would be used like so:
$ discord_status = "Playing with your mother"
"def_outlines(color)"
Helper function for the outlines on the speaker's name.
Expands to `[(3, color, 0, 0), (1, color, 1, 1)]`.
Would be used like so:
style say_label:
outlines def_outlines(“#fef”)
It’s also used for the vanilla theme definitions for the speaker outlines.
3. Helper Labels
The following is a list of labels that help you to utilize in-game elements from EM:R.
"show_phone_overlay("name", "thumbnail", "bg")"
Shows the phone caller overlay with the given name, caller image 'thumbnail' and
background 'bg'.
This allows you to use EM:R’s phone call overlay.
call show_phone_overlay("#", "#_thumbnail", "bg #")
Note: in order for the call overlay to function properly, you should use "#_phone" for character
names in dialogue, and "phone" for narrated monologue.
s_phone "Hi [player]!"
mc_phone "Who the hell is Steve Jobs?!"
phone "They laugh hysterically."
"hide_phone_overlay()"
Hides the phone call overlay.
"show_phone_overlay("name", "thumbnail", "bg")"
Shows the phone messaging system with the receiver 'name'.
- "phone_entry" is the list of messages corresponding to the receiver.
- "Start" is where the messaging animation should start from (all the messages before
it are present as read messages).
- "n" is the number of messages to be shown.
"hide_phone"
Hides the phone.
4. Persistent Variable Glossary
The following is a list of persistent variables that you can choose to unlock, lock or keep
contingent on progress in the base game.
"act_splash" - Determines the splash text based on Act completed.
"modcomplete" - Tracks completion of the main mod.
"seen_bonus_alert" - Shows the "bonus menu unlocked" alert.
"b1_complete" - Tracks completion of Parallel I - 'Street Spirit'.
"b2_complete" - Tracks completion of Parallel II - 'Like Spinning Plates'.
"b3_complete" - Tracks completion of Parallel III - 'Separator'.
"b4_complete" - Tracks completion of Parallel IV - 'In Limbo'.
"chuck_complete" - Tracks completion of Alternate scene 'Reckoner'.
"happey_complete" - Tracks completion of Alternate scene 'Lucky'.
"seen_theme_alert" - Shows the "KID A MNESIA theme unlocked" alert.
"onehundredpercent_complete" - Tracks completion of the bonus content.
"cg_1_seen" - Tracks gallery unlock for the 'Fountain' CG.
"cg_2_seen" - Tracks gallery unlock for the 'Window' CG.
"cg_3_seen" - Tracks gallery unlock for the 'Escape' CG.
"cg_4_seen" - Tracks gallery unlock for the 'Sewing' CG.
"cg_5_seen" - Tracks gallery unlock for the 'Dinner' CG.
"cg_6_seen" - Tracks gallery unlock for the 'Teaset' CG.
"cg_7_seen" - Tracks gallery unlock for the 'Tears' CG.
"cg_8_seen" - Tracks gallery unlock for the 'Sofa' CG.
"cg_9_seen" - Tracks gallery unlock for the 'Break-in' CG.
"cg_10_seen" - Tracks gallery unlock for the 'Natsuki' (nkill) CG.
"cg_11_seen" - Tracks gallery unlock for the 'Funeral' CG.
"cg_12_seen" - Tracks gallery unlock for the 'Phone' CG.
"ost_1_seen" - Tracks soundtrack unlock for 'You and Whose Army?'
"ost_2_seen2 - Tracks soundtrack unlock for 'Tinker Tailor Soldier Sailor…'.
"ost_3_seen" - Tracks soundtrack unlock for 'Codex'.
"ost_4_seen" - Tracks soundtrack unlock for 'Dawn Chorus'.
"ost_5_seen" - Tracks soundtrack unlock for 'Present Tense'.
"ost_6_seen" - Tracks soundtrack unlock for 'Glass Eyes'.
"ost_7_seen" - Tracks soundtrack unlock for 'Nude'.
"ost_8_seen" - Tracks soundtrack unlock for 'Everything In Its Right Place'.
"ost_9_seen" - Tracks soundtrack unlock for 'True Love Waits'.
"ost_10_seen" - Tracks soundtrack unlock for 'The Numbers'.
"ost_11_seen" - Tracks soundtrack unlock for 'The Smoke'.
"ost_12_seen" - Tracks soundtrack unlock for 'Cut a Hole'.
"ost_13_seen" - Tracks soundtrack unlock for 'Videotape'.
"ost_14_seen" - Tracks soundtrack unlock for 'No Surprises'.
"ost_15_seen" - Tracks soundtrack unlock for 'All I Need'.
"ost_16_seen" - Tracks soundtrack unlock for 'True Love Waits (Oslo)'.
"ost_17_seen" - Tracks soundtrack unlock for 'Ill Wind'.
"ost_18_seen" - Tracks soundtrack unlock for 'Skip Loop'.
"ost_19_seen" - Tracks soundtrack unlock for 'It Girl. Rag Doll'.
"ost_20_seen" - Tracks soundtrack unlock for 'I Will'.
"ost_21_seen" - Tracks soundtrack unlock for 'Ful Stop'.
"ost_22_seen" - Tracks soundtrack unlock for 'A Wolf At The Door'.
"ost_23_seen" - Tracks soundtrack unlock for 'Daydreaming'.
"ost_24_seen" - Tracks soundtrack unlock for 'Iiko Dakara Damattete'.
"ost_25_seen" - Tracks soundtrack unlock for 'Motion Picture Soundtrack'.
"ost_26_seen" - Tracks soundtrack unlock for 'Exit Music (For a Film)'.
"ost_27_seen" - Tracks soundtrack unlock for 'Creep'.
5. Definition Glossary
The following is a list of definitions for music that can be used in your submod.
NOTE: Songs with subsequent parts (i.e. All I Need) are best used with the 'queue' feature.
yawa - Part one of 'You & Whose Army?'.
yawa2 - Part two of 'You & Whose Army?'.
tinkertailor - The definition for 'Tinker Tailor Soldier Sailor…'.
codex1 - Part one of 'Codex'.
codex2 - Part two of 'Codex'.
glasseyes - The definition for 'Glass Eyes'.
dawnchorus - The definition for 'Dawn Chorus'.
dcintro - The definition for the alternate intro to 'Dawn Chorus'.
dawnchorusalt - The definition for 'Dawn Chorus', if 'dcintro' is used.
truelovewaits - The definition for 'True Love Waits'.
presenttense1 - Part one of 'Present Tense'.
presenttense2 - Part two of 'Present Tense'.
eiirp1 - Part one of 'Everything In Its Right Place'.
eiirp2 - Part two of 'Everything In Its Right Place'.
eiirp3 - Part three of 'Everything In Its Right Place'.
thenumbers - The definition for 'The Numbers'.
allineed1 - Part one of 'All I Need'.
allineed2 - Part two of 'All I Need'.
nosurprises - The definition for 'No Surprises'.
iikodakara - The definition for 'Iiko Dakara Damattete'.
fulstop1 - Part one of 'Ful Stop'.
fulstop2 - Part two of 'Ful Stop'.
awolf1 - Part one of 'A Wolf At The Door'.
awolf2 - Part two of 'A Wolf At The Door'.
itgirl1 - Part one of 'It Girl. Rag Doll', an alternate version of 'A Wolf At The Door'.
itgirl2 - Part two of 'It Girl. Rag Doll', an alternate version of 'A Wolf At The Door'.
iwill - The definition for 'I Will'.
setmyselfonfire - The definition for 'The Smoke'.
tlwoslo - The definition for 'True Love Waits (Oslo)'.
videotape1 - Part one of 'Videotape'.
videotape2 - Part two of 'Videotape'.
daydreaming - The definition for 'Daydreaming'.
exitmusic - The definition for 'Exit Music (For a Film)'.
cutahole1 - Part one of 'Cut a Hole'.
cutahole2 - Part two of 'Cut a Hole'.
illwind1 - Part one of 'Ill Wind'.
illwind2 - Part two of 'Ill Wind'.
nude1 - The definition for 'Nude'.
motionpicturesoundtrack1 - Part one of 'Motion Picture Soundtrack'.
motionpicturesoundtrack2 - Part two of 'Motion Picture Soundtrack'.
skiploop - The definition for 'Skip Loop'.
giveuptheghost - The definition for the bonus track 'Give Up The Ghost'.
climbingupthewalls - The definition for the bonus track 'Climbing Up The Walls'.
Exporting a submod
1. Once your submod is finished, right-click the submod folder & zip it up.
2. Share it with the world (and us!).