-
Notifications
You must be signed in to change notification settings - Fork 683
Init Pipeline
I will not be updating this anymore. There are too many changes to track. I will instead write a script to retrieve functions based on init level, but thats about it.
This page will be explanation of all the init levels we use in MAS, which should act as a helpful timeline of startup events.
NOTE: While we previously listed functions/vars/constants/imports, we will no longer list those. Every init
event will continue to be listed, but only summary information will be given instead of specifics. (If applicable)
Init levels go from -999 -> 999. It is possible to use levels lower or higher than the limits, but renpy advises not to.
Python early is even before -999, and happens before persistent
is loaded.
In general:
-
Event
framework created in early. - Logging can be done after -990. Data verification functions can be used after -990.
-
persistent
s are backed up at -900.persistent
s are also cleaned of useless data. - Time travel is detected at -890.
- Data migration can happen at -897.
- Data verification occurs at -895.
- Bad update files from a failed update are cleaned at -894.
- DelayedActions can be built after -880.
- Pre-adding DelayedActions can happen after -880.
- DelayedAction creation functions need to be defined before -875
- Historical data saving happens at -800.
- The lock db can be used after -500.
- Docking Station can be used after -45.
- Affection's numerical value can be loaded after -10.
- Monika images can be built after -5.
- Databases are mapped to codes and yearsets are cleaned at 4.
- All topics are created at 5.
- EV functions can be used after 6.
- Update migration mapping is setup at 9.
- Update scripts run at 10.
- Affection functions can be used after 20.
- JSON-based sprites are loaded at 190.
- Selectable data is loaded from persistent at 200.
- Images are built at 500.
- Overlays can be hidden/shown/enabled/disabled after 501.
- Piano JSONS are loaded at 800.
- DelayedAction runtime map is loaded at 994.
- Init-stage DelayedActions are run at 995.
- Late update scripts are run at 999.
- early
- -999
- -990
- -985
- -950
- -900
- -897
- -895
- -894
- -890
- -880
- -875
- -876
- -860
- -850
- -816
- -815
- -810
- -800
- -750
- -600
- -500
- -150
- -101
- -100
- -45
- -21
- -20
- -11
- -10
- -9
- -5
- -4
- -3
- -2
- -1
- 0
- 1
- 2
- 4
- 5
- 9
- 10
- 11
- 15
- 20
- 21
- 100
- 189
- 190
- 200
- 205
- 500
- 501
- 790
- 800
- 810
- 899
- 900
- 970
- 994
- 995
- 999
Now for the actual init levels.
The Event
, MASButtonDisplayable
, MASQuipList
and MASMailbox
classes are defined here.
Also basically the Event framework.
singleton
datetime
-
MAS_MONIKA_Z
- zorder for monika display -
MAS_BACKGROUND_Z
- zorder for bg display -
EV_ACT*
- EV action constants + list of those constants
-
Event
- core class that represents basically every topic -
MASButtonDisplayable
- core displayable that can act as a button in custom displayables -
MASQuipList
- quip manager class for easy quip management. Not used often, but can do random label launching nicely -
MASMailbox
- async communication helper for comms between objects. Users should extend this rather than use directly. -
MASLinearForm
- class to represent linear functions. used in clickzones -
MASEdge
- class to represent an line with 2 points (edge). used in clickzones -
MASClickZone
- polygon zone that react if clicked in. Capable of using an arbitrary list of verticies. -
MASInteractable
- base class for all interactble displayables that use clickzones
Declares all verification functions
__builtin__
datetime
Flowcheck (FC) constants are defined here
-
MAS_FC_*
- flowcheck constants and list of them for DelayedAction framework
Does persistent checks and disables backup system if necessary.
sets not_finite_loop
checking to 120 seconds instead of 60.
Also creates the log folder if it doesn't exist.
os
Contains all functions as well as the current data version for data migrations. All data migration functions should be here.
store
Core utility functions are defined here
store
os
stat
shutil
datetime
codecs
platform
time
-
expanduser
fromos.path
-
LogFile
fromrenpy.log
-
clean_gui_text
- cleans gui text by removing key symbols -
copyfile
- copies files from one location to another -
getMASLog
- gets the appropriate log file to use for logging -
logrotate
- does a log rotation for a given log -
pdget
- Protected Dict GET. gets an item from a dict with protections for Nones and such -
trydel
- attempts to delete a file at a path -
tryparsedt
- attempts to parse a string into a datetime -
tryparseint
- attempts to parse a value into an int -
trywrite
- attempts to write a file -
writelog
- writes messages to mas log
Various important global functions
-
mas_getAbsenceLength
- gets time difference between current session start and the last session end. always returns adatetime.timedelta
-
mas_getCurrSeshStart
- gets the current session start. always returns adatetime.datetime
-
mas_getFirstSesh
- gets the first session datetime. always returns adatetime.datetime
-
mas_getLastSeshEnd
- gest the last session end. always returns adatetime.datetime
-
mas_getSessionLength
- gets length of the current session. always returns adatetime.timedelta
-
mas_isFirstSeshPast
- checks if first session is past a given date -
mas_TTDetected
- checks if time travel was detected
Declares curried verify objects
store
Affection constants and core functions
-
BROKEN
- broken aff state -
DISTRESSED
- distressed aff state -
UPSET
- upset aff state -
NORMAL
- normal aff state -
HAPPY
- happy aff state -
AFFECTIONATE
- aff aff state -
ENAMORED
- enamored aff state -
LOVE
- love aff state -
_aff_order
- affection states in the "natural order" of affection, from lowest to highest -
_aff_level_map
- map of affection states, used in validations. -
_aff_cascade_map
- affection states in a map that routes an affection state to the next state closest to NORMAL -
_affg_order
- affection group states in the "natural order" of affection, from lowest to highest -
_affg_cascade_map
- affection group states in a map that routes an affection group to the next group state cloest to G_NORMAL
Deletes christmas.rpy and rpyc.
Runs the persistent
backup system. All code here is not intended for runtime usage.
- os
- mas_utils
Initializes image checksums and file maps for decoding images at runtime
os
Data migration that happens after backup. Data versions should be set
Verifies persistent event data
cleans bad update files
time travel is detected
datetime
store
-
tt_detected
- True if time travel was detected. This is limited to checking if we went back in time.
Sets up the MASDelayedAction
framework core.
-
persistent._mas_delayed_action_list
- static list ofMASDelayedAction
ids. initialized if None -
mas_delayed_action_map
- runtime map ofMASDelayedActions
-
MASDelayedAction
- class used for the DelayedAction framework
-
mas_removeDelayedAction
- functions used for removing/dequeing DelayedActions -
mas_runDelayedAction
- attempts to run DelayedActions -
mas_addDelayedAction
- functions used for adding/queueing DelayedActions
Declares a special function for adding MASDelayedAction
ids early in the pipeline.
store
-
_MDA_safeadd
- special function for early adding ofMASDelayedAction
. Normal users should use the approved add/remove functions instead of this. -
_MDA_saferm
- special function for early removing ofMASDelayedAction
. Normal users should use the approved add/remove functions instead of this.
In general, all MASDelayedAction
constructor functions are built here.
Contains MASDelayedAction
constructor functions for greetings
Contains MASDelayedAction
constructor functions for holiday events
Contains MASDelayedAction
constructor functions for the islands event
Contains MASDelayedAction
constructor functions for the bday events. Also contains the action callables for those MASDelayedActions
.
Contains a map mapping MASDelayedAction
creation functions to IDs.
Because of this, all MASDelayedAction
creation functions need to be created before this init level.
datetime
Declares main history saver functions and constants, as well as some persistents
store
datetime
-
L_FOUND
- found data in the archives -
L_NO_YEAR
- did not find year in the archives -
L_NO_KEY
- did not find key in the archives
-
addMHS
- adds aMASHistorySaver
object to the database. -
getMHS
- retrieves aMASHistorySaver
object based on ID
Declares public history saver functions and the main class
-
MASHistorySaver
- history saving object that automates data migration as well as other things
-
mas_HistLookup
- looks up data in the archives -
mas_HistLookup_k
- key-centric version ofmas_HistLookup
-
mas_HistLookup_ot
- looks up data in the archives, over multiple years -
mas_HistLookup_otl
- looks up data in the archives, given a list of years -
mas_HistLookup_otl_k
- key-centric version ofmas_HistLookup_otl
-
mas_HistVerify
- checks if some data matches what was stored in the archives at one point. (checks multiple years) -
mas_HistVerify_k
- key-centric version ofmas_HistVerify
MASDelayedAction
callbacks can be defined here, but it's better to define them closer to where they are needed.
Where programming points for MASHistorySaver
objects for holidays are defined.
Where programming points for MASHistorySaver
objects can be defined.
-
_MDA_safeadd, _MDA_saferm
frommas_delact
Most MASHistorySaver
objects are created here.
Creates the MASHistorySaver
object for o31, d25, nye, player bday, f14
Creates the MASHistorySaver
object for player model variables and bday.
Runs the MASHistorySaver
algorithm.
Declares the MASAsyncWrapper
class
threading
-
MASAsyncWrapper
- class that does nicely abstracted multithreading / async functions
- store
Initializes the LOCK DB portion of the Event
framework.
-
mas_init_lockdb_template
- lockdb template (designed to be modified when adding properties) -
persistent._mas_event_init_lockdb
- actual database for lock data. Initialized if None -
persistent._mas_event_init_lockdb_template
- stored lockdb template (used to check if properties have been added to the Event framework) -
Event.INIT_LOCKDB
- sets this to the lock database
initializes key dockstat constants
-
blocksize
- irl blocksize we should be using for any file I/O -
b64_blocksize
- irl blocksize we should be using for file I/O with base64 encoded files -
MAS_PKG_*
- monika status constants -
MAS_SBD_*
- monika surprise party constants
Selector rules should be defined here
ACSTemplate
s are defined here
Initializes utility functions, mainly ones not needed super early
datetime
ctypes
random
cStringIO.StringIO
-
add_years
- date adjusting function -
add_months
- date adjusting function -
am3
- takes a datetime object and returns it with time set to 3am -
log_entry
- logs historical entries into the given log -
mdnt
- takes a datetime object and returns it with time set to midnight -
normalize_points
- normalizes a list of points with offsets -
sod
- takes a datetime object and returns it with time set to the "start of day" -
randomblob
- generates a random blob of data in a StringIO buffer -
tryparsefloat
- attempts parsing a value into a float
checks if the DDLC archives are in the game folder.
sets up prompt map
store
mas_utils
-
get_prompt
- gets prompt for a selector topic via key -
in_prompt_map
- checks if a prompt selector exists for a key -
set_propmt
- sets prompt for a selector topic via key
Initializes the DockingStation framework.
os
-
mas_docking_station
- instance ofMASDockingStation
, centered around the characters folder
-
MASDockingStation
- class designed for easy base64 file i/o + checksums. (think giving files and taking monika out)
Defines key constants and maps for JSON-based sprites
declares key MASBackground
loading/saving functions.
NOTE: MASBackground
is foolishly declared later in the pipline so do not call anything in here until after -10
.
Declares selectable classes.
-
MASSelectableAccessory
- Selectable class for accessories -
MASSelectableHair
- Selectable class for hair -
MASSelectableClothes
- Selectable class for clothes
Important weather data + weather programming points
random
datetime
store
-
WEATHER_MAP
- database of weather objects
-
loadMWData
- loads weather data from persistent -
saveMWData
- saves weather data to persistentnt -
unlockedWeathers
- returns number of unlocked weather items -
weatherProgress
- changes weather for progressive weather if appropriate
Sets up the o31 event vars and image decoder
store
mas_dockstat
mas_ics
-
o31_cg_station
- MASDockingStation instance centered around the o31 cg folder -
o31_cg_decoded
- True if we decoded the cg, False otherwise -
mas_return_from_tt
- True if we just returned from the Trick/Treat farewell
-
decodeImage
- decodes a specific cg image -
removeImages
- removes all cg images -
isMonikaInCostume
- True if monika is in costume, False otherwise -
isTTGreeting
- True if we have a greeting type associated with a Trick/Treat farewell -
spentO31
- True if user spent o31 with the player, False if not
1 function
-
mas_player_bday_curr
- sets date of current year bday, accounting for leap year
Image functions
-
show_player_bday_Visuals
- shows player bday visuals -
hide_player_bday_Visuals
- hides player bday visuals
Sets up the island event image decoder function
store
mas_dockstat
mas_ics
-
islands_station
- MASDockingStation instance centered around the islands folder
-
decodeImages
- decodes island images -
removeImages
- removes island images
sets up image decoder functions
mas_utils
-
decodeImages
- generic image decoder -
removeImages
- generic image remover
Sets up the file reactions framework
store
mas_utils
datetime
random
-
filereact_db
- File reactionEvent
database -
filereact_map
- mapping filenames to file reaction events. -
foundreact_map
- volitaile map containing reactable filenames to on disk filenames. -
th_foundreact_map
- threaded variant offoundreact_map
-
connectors
-MASQuipList
of connectors for file reactions -
gift_connectors
-MASQuipList
of gift connectors for file reactions
-
addReaction
- adds a file reaction (this is internalized, there is a global variant)
All Date-related functions should be init'd here. Please move them here if not already done so.
Declares affection loading/saving functions.
Apology database is initialized here
Initializtion of mas_idle_mailbox
(the idle mailbox)
-
mas_idle_mailbox
- the idle mailbox
fun-fact database and types
Date checking functions for holidays
-
mas_isO31
- determines if the given date is o31 -
mas_isD25
- determines if given date is d25 -
mas_isD25Eve
- determines if given date is d25 eve -
mas_isD25Season
- determines if given date is in d25 season -
mas_isD25Post
- determines if given date is in d25 season but after d25 -
mas_isD25PreNYE
- determines if given date is in d25 season but before nye -
mas_isD25PostNYD
- determines if given date is in d25 season but after nyd -
mas_isD25Gift
- determines if given date is in range of days where gifts can be considered d25 gifts -
mas_isD25Outfit
- determines if given date is in range of days where Monika wears the santa outfit -
mas_isNYE
- determines if given date is nye -
mas_isNYD
- determines if given date is nyd -
mas_isplayer_bday
- determines if given date is player birthday -
mas_isF14
- determines if given date is f14
Decodes images.
- mas_cannot_decode_images - True if we failed to decode the images, False otherwise
song database defined hre
sets up some flags used by the updater. these things are mostly legacy for updating from super old versions.
- found_monik_ani - True means
persistent
.monika_anniversary is set. super old - no_topics_list - True means we dont have the old random topics list. not really important anymore.
Defines the MASBackground
class
calendar constants
- CAL_TYPE_* - calendar Event types
state vars for enabling certain functions
- allow_dismiss - True enables dismissing, False disables
- allowdismiss - returns state of allow_dismiss
Key functions and constants for interactables
Declares selection screen constants and functions, and the selectable mailbox class. Also generic selector dialgoue
only one thing. the image existence checker
- getCharacterImage - retrieves the Displayable of a character + expression
initial vars and database
-
can_show_notifs
- True if we can show notifs, False if we cannot
MASBoopInteractable
defined here, but unused.
Declares all the functions and constants used for DynamicDisplayable creation
NOTE: There are lots of constants here. Only including the ones that might need to be changed often.
-
POSES
- list of non-leaning poses -
L_POSES
- list of leaning poses -
SP_ACS
- sprite code for ACS (pulled from sprite jsons) -
SP_HAIR
- sprite code for HAIR (pulled from sprite jsons) -
SP_CLOTHES
- sprite code for CLOTHES (pulled from sprite jsons) -
EXPROP_TOPIC_MAP
- maps an exprop to list of related topics -
ACSTYPE_TOPIC_MAP
- maps asc type to its selector topic
-
lean_acs_blacklist
- list of accessories that should disable leaning
NOTE: there are lots of image generation functions here. Only including functions that might be used outside of here.
-
init_acs
- initializes an accessory for later use. required for all accessories -
init_hair
- initalizes a hairstyle for later use. required for all hairstyles -
init_clothes_
- initializes clothes for later use. required for all clothes -
tryparsehair
- checks if the given hair string exists -
tryparseclothes
- checks if the given clothes string exists -
rm_acs
- removes an acs from the map -
lock_exprop_topics
- locks topics related to an exprop -
lock_acstype_topics
- locks topics related to an acs type -
unlock_exprop_topics
- unlocks topics related to an exprop -
unlock_acstype_topics
- unlocks topics related to an acs type -
get_sprite
- returns sprite object given sprite name and sprite type
initializes some poemgame classes and functions
- MASPoemWord - version of PoemWord that includes Monika
- MASPoemWordList - encapsulates MASPoemWords into a list
- glitchWord - glitches the given text with odds for space / unicode. better to use giltchtext for fully glitched text.
initializes lots of backing framework for the piano game + menus
- pygame
- os
NOTE: contains a huge amount of constants. None are really useful outside of piano. Only going to mention somewhat important ones here.
- NOTE_SIZE - controls how many notes are played before we try matching when not in SONG_MODE
- log - log purely for piano keys. Dont use unless its piano related.
- pnml_db - PianoNoteMatchList main database. Used to show what songs can be played
- pnml_bk_db - PianoNoteMatchList backup database. Used for song matching in freestyle.
- PianoNoteMatch - represents a note phrase + lyrics in piano
- PianoNoteMatchList - represents a list of PianoNoteMatches (aka a song) in piano
NOTE: contains a huge amount of functions needed for JSON converting. None are useful outside of piano.
Declares helper anniversary build functions
NOTE: contains a pointer copy to persistent
evhand
mas_calendar
mas_utils
datetime
-
build_anni
- builds an anniversary date using thefirst_session
datetime and the given advancers -
build_anni_end
- same asbuild_anni
, except gets the ending datetime of an anniversary -
isAnni
- checks if the today is an anniversary, using the given milestone -
isAnniWeek
- checks if today is a 1 week anniversary -
isAnniOneMonth
- checks if today is a 1 month anni -
isAnniThreeMonth
- checks if today is a 3 month anni -
isAnniSixMonth
- checks if today is a 6 month anni -
isAnniAny
- checks if today is any anni -
anniCount
- returns how many years the player has been with monika -
pastOneWeek
- True if player has been with monika for at least 1 week -
pastOneMonth
- True if player has been with monika for at least 1 month -
pastThreeMonths
- True if player has been with monika for at least 3 months -
pastSixMonths
- True if player has been with monika for at least six months
Initializes topic-related constants and helper functions
- S_MOST_SEEN - percentage of seen topics. used in calculations for dividing topics into the seen groups. think of this as a percentage of the collection.
- S_TOP_SEEN - percentage of seen topics considered to be the most often seen. used in calculations for dividing topics into seen groups. think of this as an upper percentile.
- S_TOP_LIMIT - if the percentage of topics that fall under S_TOP_SEEN percentile is greater than this amount, then we use the S_MOST_SEEN percentage in dividing topics into seen groups.
- UNSEEN - chance out of 100 that we select an unseen topic
- SEEN - chance out of 100 that we select an already seen topic
- MOST_SEEN - chance out of 100 that we select a topic that has is considered over-seen
Initializes MASMonika character object for hair/clothing/acs framework
math
-
namedtuple
(UNUSED)
-
MASMonika
- represents Monika's clothes and hair and accessories -
MASPoseMap
- helper class for mapping poses to images. -
MASSpriteBase
- base class for all object-represented sprite sets -
MASSpriteFallbackBase
- base class for all object-represented sprite sets that can useMASPoseMap
as a fallback system -
MASAccessory
- class representation of an accessory -
MASHair
- class representation of a hairstyle -
MASClothes
- class representation of clothes
-
mas_drawmonika
- drawing function used for DynamicDisplayables
Programming points for sprites
store
prog points for MASBackground
s should be defined here
Poemgame-related functions initalized here Everything here is suitable only for the poemgame, so not going to mention them here.
general-use progpoints
contains very powerful functions. not for the faint of heart
store
datetime
-
glitchtext
- copy of the existing glitchtext function. This was before I knew aboutstore
-
mangleFile
- mangles a file by messing with its bytes -
resetPlayerData
- resetspersistent
data. pretty dangerous -
initialSessionData
- resets session data to default
basically 4 billion startup-related stuff. Mostly small things that dont go anywhere else. Also is where some base keymap stuff is set (not custom keymaps).
datetime
os
-
get_procs
- retreives list of running processes if on windows -
is_running
- checks if a process in the given list of process names is currently running -
is_file_present
- checks if a file is present -
mas_cvToDHM
- converts miniutes into a displayable form of hour / minutes -
mas_cvToHM
- converts minutes into hour / minutes -
mas_genDateRange
- generates a list of dates within a given range (exclusive) -
mas_isSTtoAny
- checks if a time object is within a suntime amount and an hour / minute amount -
mas_isSRtoAny
- checks if a time object is within sunrise and an hour / minute amount -
mas_isSStoAny
- checks if a time object is within sunset and an hour / minute amount -
mas_isAnytoST
- checks if a time object is within an hour / minute amount and a suntime amount -
mas_isAnytoSR
- checks if a time object is within an hour / minute amount and sunrise -
mas_isAnytoSS
- checks if a time object is within an hour / minute amount and sunset -
mas_isMNtoSR
- checks if a time object is wtihin midnight to sunrise -
mas_isSRtoN
- checks if a time object is within sunrise to noon -
mas_isNtoSS
- checks if a time object is within noon to sunset -
mas_isSStoMN
- checks if a time object is within sunset to midnight -
mas_isSunny
- checks if a time object is within sunrise to sunset -
mas_isNight
- checks if a time object is not within sunrise to sunset -
get_pos
- gets position of currently playing music -
delete_all_saves
- deletes all saved games. (basically useless) -
delete_character
- deletes a character file. (basically useless) -
pause
- seems to be a variant of pause? unsure of usage -
enumerate_steam
- returns installed Steam IDs from a steam install. Untested, unused, probably buggy
Event menu constants and key functions. also contains some Event
databases
store
namedtuple
datetime
-
LAST_SEEN_DELTA
- time delta used for determining if a topic has been seen recently -
RESTART_BLKLST
- list of topics that should NOT be pushed to the event stack on a restart if they were interrupted. -
IDLE_WHITELIST
- list of labels that are allowed in idle
-
event_database
-Event
database of main topics (random + pool) -
farewell_database
-Event
database of farewells -
greeting_database
-Event
database of greetings
-
addIfNew
- adds items to a list of they are not in there already -
addYearsetBlacklist
- adds an event label to the yearset blacklist -
isYearsetBlacklisted
- checks if an event label is yearset blacklisted -
tuplizeEventLabelList
- takes a list of keys and anEvent
database and returns a (prompt, label) list suitable for menu displaying - internalized versions of
isFuture
/isPresent
/isPast
(Event
date comparison functions) - internalized versions of
hideEvent*
/lockEvent*
/unlockEvent*
(EasyEvent
hiding / locking / unlocking functions)
Initialzes static classes used for creating rule tuples for Event
s
datetime
mas_utils
-
EV_RULE_...
- rule type identifiers for the rule dicts in Event objects -
EV_NUM_...
- numerical repeat rule constants + list of them
-
MASNumericalRepeatRule
- creates / modifies / checks numerical repeat rules. aka repeat every x days/weeks/months/year -
MASSelectiveRepeatRule
- creates / modifies / checks selective repeat rules. aka repeat when today matches this date/time criteria -
MASGreetingRule
- creates / modifies / checks greeting rules. These are for deciding random chance of a greeting and/or should skip visuals -
MASFarewellRule
- creates / modifies / checks farewell rules. These are for deciding random chance of a farewell -
MASAffectionRule
- creates / modifies/ checks affection rules. These are used to determine if farewells should be shown NOT UNLOCKED -
MASPriorityRule
- gives Events priority values. Usage may vary. -
MASUndoActionRule
- allows events to undo changes to theiraction
property when outside a date range -
MASStripDatesRule
- clearsstart_date
andend_date
from events when outside a date range
Contains some label constants for pong. Nothing here would be useful outside of pong. These are mainly to help with label replacing API, but this is a bad idea for efficiency, so probably dont follow this paradigm. There is a renpy-native way of label mapping/replacing, so we should use that for api purposes.
layout vars for the confirm quit popup, screens, and screen styles NOTE: screens and styles here are done via init_offset rules
- layout.QUIT_YES - message shown when user hits yes to the confirm quit popup
- layout.QUIT_NO - message shown when user hits no to the confirm quit popup
NOTE: a large amount of styles. Not going to put them here.
NOTE: large amount of screens here. Only going to mention the custom / important ones.
- preferences - this is where we add custom settings
- twopane_scrollable_menu - the double paned scrollable menu, used int he Talk menu
- scrollable_menu - single paned scrollable menu. Not generalized, so dont use this
- mas_gen_scrollable_menu - generalized scrollable menu. Use this
- mas_background_timed_jump - screen used to do timed menus
- mas_generic_restart - a very generic retart menu. forgot what this is for
- PauseDisplayable - custom Displayable that acts as a much better pause
Audit log for the affection system.
- os
- datetime
- mas_utils
- store
-
audit
- function for affection change auditing
Meant to initalize globals. not really used though.
-
dlg_workflow
- True if we are in the middle of dialogue, False otherwise -
show_vignette
- True if we should show the vignette mask everywhere, False means do not show -
show_lightning
- True if we should show lightning during idle, False means do not show -
lightning_chance
- 1 out of x chance that lightning will show during idle -
lightning_s_chance
- 1 out of x chance that the sayori lightning egg will show during idle -
show_s_light
- True if we show the sayori thunder egg, False if not -
text_speed_enabled
- True if text speed is enabled, False if not -
in_idle_mode
- True if in idle mode, False if not -
late_farewell
- True if a late farewell just happened -
last_minute_dt
- last minute calendar-related events were checked -
last_hour
- number of the hour we last ranch30_hour
-
last_day
- number of the day we last ranch30_day
-
returned_home_this_sesh
- True if this session started with a return home
initializes compliment menu constants, the compliment database, and compliment quips
- compliment_database -
Event
database of compliments - thanking_quips - single line quips used to thank player for compliments
Sets up the farewell selection function
- selectFarewell - selects the farewell to use. This does a bunch of algorithm stuff.
Sets up greeting types and the greeting selection function
-
store.mas_ev_data_ver
asmas_edv
store
datetime
random
-
TYPE_...
- greeting type constants
-
selectGreeting
- selects a greeting to use. This does a bunch of algorithm stuff
Not sure why this is here.
- mas_affection
holiday functions
mood constants / database / functions
- TYPE_* - mood types
- mood_db -
Event
database for moods
- getMoodType - gets the mood type for a given mood label
Creates the console for python teaching
- mas_utils
NOTE: all constants in here are purely for the console. No usage outside of this store.
- clr_cn - short variation of clear console function
- ex_cn - short variation of exit console function
- rst_cn - short variation of restart console function
- w_cmd - short variation of write command function
- x_cmd - short variation of execute command function
- wx_cmd - does both writing and executing of a command
- write_command - writes a command to the console. Does NOT execute
- clear_console - clears the console history and the current line
- restart_console - clears console history, current line, also displays the version text
- exit_console - disables the console
- exec_command - executes the currently written command. like pressing Enter
- get_last_line - gets last line from console history
story constants and database
store
-
story_database
-Event
database of stories
functions core to the topic selection algorithm. Also seeds random.
random
songs
evhand
-
remove_seen_labels
- removes labels that have already been seen from the given list -
mas_randomSelectAndRemove
- randomly selects an element from the given list and removes it from the list -
mas_randomSelectAndPush
- likemas_randomSelectAndRemove
, but also pushes the event to the stack -
mas_insertSort
- insertion sort an item into a list -
mas_splitSeenEvents
- splits a list of seen events into seen and most seen -
mas_splitRandomEvents
- splits dict of events into seen and unseen -
mas_buildEventLists
- builds the unseen / seen / most seen event lists -
mas_buildSeenEventLists
- builds the seen / most seen event lists -
mas_rebuildEventLists
- rebuilds the unseen / seen / most seen event lists
Creates the custom displayable updater screen
- MASUpdaterDisplayable - custom displayable that does better update checking than the stock update check screen
one function
- clearUpdateStructs - deletes update data to save space
the default spaceroom is defined as a MASBackground
here.
Initializes calendar displayable
- json
- MASCalendar - displayable that allows for a selectable calendar or a viewing calendar
Calendar database and functions for it
- datetime
- json
- renpy
- calendar_database - complicated dict of dicts for storing calendar events. See the code for more info.
- genFriendlyDispDate - creates display friendly date/time from a datetime (its a bit more complicated than that though)
- save/loadCalendarDatabase - saving and loading
- addEvent* - functions for adding Events to the calendar
- addRepeatable* - functions for adding Repeatables to the calendar
- removeEvent* - functions for removing Events from the calendar
- removeRepeatable* - functions for removing Repeatables from the calendar
creates the custom graphics menu displayable
MASGraphicsMenu - custom displayable for changing the render
initializes some hangman constants
store
copy
random
-
MONI_WORDS
- list of monika's words -
EASY_MODE
- constant for easy hangman mode -
NORM_MODE
- constant for normal hangman mode -
HARD_MODE
- constant for hard hangman mode
-
hm_words
- dict of current selectable words by difficulty -
all_hm_words
- dict of all hangman words by difficulty
state vars for button enabling
- talk_enabled - True enables talk button, False disables
- music_enabled - True enables music button, False disables
- play_enabled - True enables play button, False disables
- movie_buttons_enabled - True enables play button, False disables (unused)
state vars for hotkey enabling
-
talk_enabled
- True enables talk hotkey, False disables -
music_enabled
- True enables music hotkey, False disables -
play_enabled
- True enables play hotkey, False disables -
derandom_enabled
- True enables derandoming, False disables -
bookmark_enabled
- True enables bookmarking, False disables -
mu_stop_enabled
- True enables music volume lowering / stopping hotkeys, False disables -
no_window_hiding
- True disables window hiding, False enables
sets up music functions and the music menu
- os
- mutagen.mp3
- mutagen.oggopus
- mutagen.oggvorbis
NOTE: all song names and filepaths are constants here (official songs, not custom songs)
- PAGE_LIMIT - number of songs per page
- current_track - currently playing song
- selected_track - last selected track
- menu_open - True if the music menu is open, False otherwise
- music_choices - contains the music list
- music_pages - paginated music list
- adjustVolume - adjusts volume of an audio channel
- getVolume - gets volume of an audio channel
- getPlayingMusicName - gets the name of the currently playing song
- initMusicChoices - initializes the music menu
- isInMusicList - checks if a song is int he music menu list
Declares displayable for selectables
random
-
MASSelectableImageButtonDisplayable
- displayable for an image button that is associated with selectable.
-
mas_filterUnlockGroup
- unlocks a selector for a group if it passes certain criteria
initializes MASAccessory
, MASHair
, and MASClothes
objects
Weather objects are declared here. We also load weather data.
This is considered the default init level when no number is provided. Additionally this init level covers:
-
default
statements -
define
statements - screens (unless changed by init offset)
- labels (unless changed by init offset)
- styles (unless changed by init offset)
- transforms (unless changed by init offset)
inits chess constants. None are useful outside of here.
inits a ton of stuff. Not going to list them here since there's just too many
NOTE: we should move these out of here. init 0 should be avoided for all functions.
mas_passedILY
-
mas_ILY
- sets ILY vars mas_shouldKiss
inits some config vars
all stock audio is defined here. Rain is added to this store as well.
suntime-related constants and vars are defined here
times used in idle exp calcs
constants for amount of XP gained for things
inits import Event
related functions
- evhand
- datetime
-
addEvent
- adds anEvent
object to anEvent
database. Core function used for everyEvent
init. -
mas_hideEvent
- locks/derandoms/depools/deconditionals an event -
mas_hideEventLabel
- same as above but for an event label -
mas_showEvent
- unlocks/randoms/pools an event -
mas_showEventLabel
- same as above but for an event label -
mas_lockEvent
- locks an event -
mas_lockEventLabel
- same as above but for an event label -
mas_unlockEvent
- unlocks an event -
mas_unlockEventLabel
- same as bove but for an event label - global versions of isFuture/isPresent/isPast functions
-
pushEvent
- push an Event to the Event stack -
queueEvent
- queues an Event to the Event stack -
popEvent
- pops the next Event from the stack. -
seen_event
- checks if an Event has been seen or is currently in the Event stack -
restartEvent
- pushes an interuppted Event back onto the Event stack if its not in the blacklist -
mas_isRstBlk
- checks if the given label is part of the blacklist -
mas_cleanJustSeen*
- functions for cleaning an Event list of things that were seen recently -
mas_unlockPrompt
- attempts to unlock a Pool Event -
mas_findEVL
- gets index of an eventlabel in the event list -
mas_inEVL
- checks if an eventlabel is in the event list -
mas_rmEVL
- removes an event label from the event list -
mas_rmallEVL
- removes all occurrences of an event label from event list
1 function lol
- dumpPersistentToFile - does what it says
key configuration vars
key gui vars
build settings
key preferences
pong's displayable as well as other pong-stuff
- random
- math
- PongDisplayable - displayable that runs pong
key functions for xp system
- grant_xp - give some experience
- get_level - returns the user's current level
a couple of functions
- RigMouse - aka the mouse movement glitch
- FinishEnterName
- FileActionMod - shows that save dialogue thing
Inits constants for layout adjustments, and some helper functions for them too
- store
- mas_affection
NOTE: this makes a ton of constants, only going to mention important ones here
- QUIT_MAP - mapping of affection levels to what their QUIT messages should be
affection state vars, the final farewell displayable, surprise text code
-
mas_curr_affection
- current affection state -
mas_curr_affection_group
- current affection state group
- MASFinalNoteDisplayable - displayable for the final farewell poem
just apology related functions
-
mas_checkApologies
- checks apologies and removes old ones
Very wide variety of things. Kind of like definitions 2. Also retrieves currentuser, checks playername vars, checks for battery support, registers the background audio channel. Only going to mention some of the stuff here.
- subprocess
- os
- eliza
- datetime
- battery
- re
- songs
hkb_button
mas_globals
-
morning_flag
- True if it's currently morning, False if not. this is more like a previous state var.
-
show_dialogue_box
- jumps to the talk menu -
pick_game
- jumps to Play menu -
mas_enable_quitbox
- enables monika's quit dialogue warning -
mas_disable_quitbox
- disables monika's quit dialogue warning -
mas_enable_quit
- enables quitting without monika knowing -
mas_disable_quit
- disables quitting without monika knowing -
mas_drawSpaceroomMasks
- draws the approrpriate window masks -
show_calendar
- shows the calendar. this is the callback for clicking the calendar button -
slow_dismiss
- callback for when Monika talks -
mas_isMorning
- checks if it's currently morning -
mas_shouldRain
- checks if it should rain based on current affection -
mas_forceRain
- forces rain art, sounds, and locks rain topics -
mas_lockHair
- locks hair topics -
mas_resetIdleMode
- resets idle mode vars -
mas_enableTextSpeed
- enables text speed -
mas_disableTextSpeed
- disables text speed -
mas_resetTextSpeed
- enables or disables text speed depending on environment vars -
mas_isTextSpeedEnabled
- returns True if text speed is enabled, False if not -
mas_isGameUnlocked
- checks if given game is unlocked -
mas_unlockGame
- unlocks the given game -
mas_shouldChangeTime
- checks if we should change to day or night -
mas_check_player_derand
- checks saved derandom prefs and derandoms those topics
Stuff related to the Listen option in the opendoor greeting
- eardoor - list of unseen (or all) Listen options
-
eardoor_all
- list of all the Listen options
Stuff related to the opendoor greeting
-
MAX_DOOR
- I dont remember what this is for -
chance
- 1 out of x chance this greeting will appear
bookmark and derandom functions
-
mas_derandom_topic
- derandoms a topic -
mas_bookmark_topic
- bookmarks a topic -
mas_hasBookmarks
- checks if we have bookmarked topics
We dont use this
Splash messages are defined here
All of Monika's images are defined here
Coffee-related vars are defined here
inits a ton of updater related stuff
- regular - update link
- unstable - unstable link
- timeout - timeout for update checking
- force - set to True to force an update check
- checkUpdate - checks for an update using Renpy's update checker
functions related to update script migrations
- removeTopicID - unsees a topic if it has been seen
-
mas_eraseTopic
- removes an Event from its persistent database and lock db -
mas_transferTopic
- transfers an Event's data and lock db data to another Event -
mas_transferTopicSeen
- transfers an Event's seen data to another Event - adjustTopicIDs - removes / transfers an Event's seen status
- updateTopicIDs - updates a dict of Event's seen statuses
- updateGameFrom - runs update scripts in the proper order
mapping system for update script migrations
-
version_updates
- dict that maps a version to its next update version -
topics
- dict that maps a version to the topic adjustments it requires
declares some runtime functions, adds Repeatables to the calendar.
- mas_calendar
-
mas_calDropOverlayShield
- enables input for the calendar overlay -
mas_calHideOverlay
- hides the calendar overlay -
mas_calIsVisible_ovl
- checks if the calendar overlay is visible -
mas_calRaiseOverlayShield
- disables input for the calendar overlay -
mas_calShowOverlay
- shows the calendar overlay, if not already showing
not core, but still important functions
store
cPickle
-
setMoniSize
- does some calculating to figure out the appropriate Monika filesize
basically all the hotkey-related functions are here. I'm only listing the public ones.
-
mas_HKRaiseShield
- disables the t/m/p hotkeys -
mas_HKDropShield
- enables the t/m/p hotkeys -
mas_HKIsEnabled
- checks if the t/m/p hotkeys are enabled -
mas_HKCanQuietMusic
- checks if we can lower or stop the music -
enable_esc
- enables the game menu / escape key (viaquick_menu
) -
disable_esc
- disables the game menu / escape key (viaquick_menu
) -
set_keymaps
- inits the keymaps
inits runtime hotkey button functions, as well as shows the buttons
-
HKBHideButtons
- hides the buttons -
HKBShowButtons
- shows the buttons -
mas_HKBRaiseShield
- disables the buttons -
mas_HKBDropShield
- enables the buttons -
mas_HKBIsEnabled
- checks if the buttons are enabled -
mas_HKBIsVisible
- checks if the buttons are visible -
MovieOverlayHideButtons
- hides movie buttons -
MovieOverlayShowButtons
- shows movie buttons
declars music-related functions
- songs
-
dec_musicvol
- decreases music channel volume -
inc_musicvol
- increases music channel volume -
mute_music
- mutes music channel -
play_song
- plays a song onto the music channel -
mas_startup_song
- starts playing thepersistent
.current_track -
select_music
- runs the music selection menu
defines poems database
defines shield functions
-
mas_DropShield_core
- enables core interactions -
mas_RaiseShield_core
- disables core interactions -
mas_DropShield_dlg
- enables dialogue-breaking interactions -
mas_RaiseShield_dlg
- disables dialogue-breaking interactions -
mas_DropShield_mumu
- enables music-menu-breaking interactions -
mas_RaiseShield_mumu
- disables music-menu-breaking interactions -
mas_DropShield_idle
- enables idle-breaking interactions -
mas_RaiseShield_idle
- disables idle-breaking interactions -
mas_MUMUDropShield
- enables the music menu -
mas_MUMURaiseShield
- disables the music menu -
mas_dlgToIdleShield
- transitions between dlg and idle mode -
mas_coreToIdleShield
- transitions between core and idle mode -
mas_mumuToIdleShield
- transitions between music menu and idle mode
Public versions of some key reaction functions
-
addReaction
- adds file reactions -
mas_checkReactions
- checks file reactions -
mas_getSpriteObjInfo
- gets sprite info from sprite reactions list -
mas_finishSpriteObjInfo
- cleanup actions for sprite reactions
functions for rolling weather chances
-
shouldRainToday
- checks if it should rain today
checks for window reactability
os
-
sys
- windows only -
win32gui
- windows only -
win32api
- windows only -
balloontip
- nix only
-
win_notif_quips
- notification quips for windows -
other_notif_quips
- notification quips for nix
-
mas_canCheckActiveWindow
- checks if we can check the active window -
mas_getActiveWindow
- gets the active window name -
mas_isFocused
- checks if MAS is currently focused -
mas_isInActiveWindow
- checks if keywords are in the active window name -
mas_clearNotifs
- clears notifications that we generated -
mas_checkforWindowReacts
- checks if a windowreaction should occur and queues it -
mas_resetWindowReacts
- unlocks window reactions in window react db -
mas_updateFilterDict
- updates filter dict mas_addBlacklistReact
mas_removeBlacklistReact
-
mas_notifsEnabledforGroup
- checks if notifications are enabled for a group -
mas_unlockFailedWRS
- unlocks a window react if it failed to be shown -
mas_tryShowNotificationOSX
- trys to show a notification on mac -
mas_tryShowNotificationLinux
- trys to show a notification on linux
huge number of chess constants, chess dialogue vars, as well as chess checking functions. Also initializes the dialogue actions map and the chess quiplists
os
chess.png
-
quit_game
- enables quitting a chess match
-
isInProgressGame
- checks if a pgn game is valid and in progress
Properly sets persistent.steam
Sets up the random chatter functions and constants
-
adjustRandFreq
- adjusts random chatter frequency given a slider value -
getRandChatDisp
- converts random chatter frequency into a display string
Core action functions for Event
's usage. All of this stuff should be internal only.
Creates coffee related functions, also various other functions
-
mas_brewCoffee
- starts brewing coffee -
mas_drinkCoffee
- starts drinking coffee -
mas_isCoffeeTime
- checks if its coffee time -
mas_resetCoffee
- resets coffee vars -
mas_canShowRisque
- checks if we can show risque content -
mas_getPlayerAge
- gets the player age -
mas_getRPYFiles
- gets list of rpy files in the game dir -
mas_hasRPYFiles
- checks if there are rpy files in the game dir -
mas_is18Over
- checks if the player is over 18 -
mas_isFirstSeshDay
- checks if given date is the first session date -
mas_pastOneDay
- checks if a one day has passed since a givendatetime.date
ordatetime.datetime
-
mas_timePastSince
- checks if a given amount of time passed since a givendatetime.date
ordatetime.datetime
Creates the final farewell poem
makes the mas_randchat
store globally available
Maps event databases to codes and cleans yearset baclkist
-
mas_lastSeenInYear
- checks if an event label was last seen in a given year -
mas_lastSeenLastYear
- checks if an event label was last seen last year
grammar tip helper functions
datetime
evhand
-
has_day_past_tip
- checks if a tip has been seen and a day has past
Poems are defined here
adjust islands flag if needed
declares helper functions for python tips
datetime
evhand
-
has_day_past_tip
- checks if a tip has been seen and a day has past -
has_day_past_tips
- multiple arg version of above function
Runs pre-script topics update code. Not really used
calendar functions and season setting
-
addSeasonEvents
- adds seasons to calendar
Every topic is created at this init level. Avoid using this init level for anything else. We also use this init to generate the backup notes.
Creates all event database, also key functions
-
mas_getEV
- gets an event object via label -
mas_getEVCL
- only for calendar use. -
mas_hideEVL
- hides an event, using a code to determine database -
mas_lockEVL
- locks an event, using a code to determine database -
mas_showEVL
- shows an event, using a code to determine database -
mas_stripEVL
- strips conditional and action from an event, also removes from event list -
mas_unlockEVL
- unlocks an event, using a code to determine database`
Runs the label that inits the updates
store with update mapping data.
Sets up anniversary database as well as key anniversary adjusting functions
-
ANNI_LIST
- list of anniversaries in order of potential appearance
-
anni_db
-Event
database for anniversaries
-
_month_adjuster
- adjusts months for a new start date -
_day_adjuster
- adjust days for a new start date -
add_cal_annis
- adds anniversaries to the calendar -
clean_cal_annis
- cleans anniversaries from the calendar -
reset_annis
- resets all anniversaries using a new start date -
unlock_past_annis
- unlocks all anniversaries that are past the current date
This is just for the Listen option for the greetings. It removes seen labels and does resets if necessary.
Declares the background update check function
-
mas_backgroundUpdateCheck
- launches the background update check thread
Runs the version update migration scripts.
Inits the wordlists for hangman
sets music_volume
to the current volume of the music channel
Properly sets the custom music directory, current track and the available music choices.
defines MASPoem
class
Weather class
-
MASWeather
- weather object class
Initializes the seen lists. They are not built until later.
-
mas_rev_unseen
- list of unseenEvent
s -
mas_rev_seen
- list of seenEvent
s -
mas_rev_mostseen
- list of most seenEvent
s
defines key poem-realted functions
Contains all the affection programming points, the logic to run those programming points, and wrapper functions around the core affection state comparators.
Also initializes the variying talk / play menu quips
NOTE: Makes a reference copy of the persistent
NOTE: Makes a reference copy of the layout
store.
store
evhand
mas_layout
NOTE: Most of these are programming points. No need to list them here
-
runAffPPs
- runs the affection state programming points -
runAffGPPs
- runs the affection state group programming points
Declares all the globally available affection functions and poems
datetime
mas_affection
mas_utils
-
mas_apology_reason
- the reason to apologize
-
mas_FreezeGoodAffExp
- freezes affection gains -
mas_FreezeBadAffExp
- freezes affection losses -
mas_FreezeBothAffExp
- freezes affection gains and losses -
mas_UnfreezeGoodAffExp
- unfreezes affection gains -
mas_UnfreezeBadAffExp
- unfreezes affection losses -
mas_UnfreezeBothAffExp
- unfreezes affection gains and losses -
mas_betweenAff
- checks if affection is between 2 states -
mas_compareAff
- compare-to function for comparing affection states -
mas_compareAffG
- compare-to function for comparing affection group states -
mas_isMoniBroken
- checks if current affection is broken (or lower/higher) -
mas_isMoniDis
- checks if current affection is distressed (or lower/higher) -
mas_isMoniUpset
- checks if current affection is upset (or lower/higher) -
mas_isMoniNormal
- checks if current affection is normal (or lower/higher) -
mas_isMoniHappy
- checks if current affection is happy (or lower/higher) -
mas_isMoniAff
- checks if current affection is affectionate (or lower/higher) -
mas_isMoniEnamored
- checks if current affection is enamored (or lower/higher) -
mas_isMoniLove
- checks if current affection is love (or lower/higher) -
mas_isMoniGSad
- checks if current affection group is sad (or lower/higher) -
mas_isMoniGNormal
- checks if current affection group is normal (or lower/higher) -
mas_isMoniGHappy
- checks if current affection group is happy (or lower/higher) -
mas_updateAffectionExp
- sets the affection states to the correct value and runs affection programming points when appropriate -
mas_gainAffection
- increases affection -
mas_loseAffection
- decreases affection -
mas_setAffection
- sets affection to a value -
mas_checkAffection
- pushes an appropriate event based on affection level -
mas_setApologyReason
- enables an apology -
_mas_getAffection
- gets raw affection value -
_mas_getBadExp
- gets bad aff exp setting -
_mas_getGoodExp
- gets good aff exp setting -
_mas_getTodayExp
- gest today aff exp setting
Initializes key sprite json related constants
json
store
mas_utils
-
SP_ACS
- sprite type for ACS -
SP_HAIR
- sprite type for hair -
SP_CLOTHES
- sprite type for clothes -
SP_CONSTS
- tuple of all spriet types -
SP_STR
- sprite type to string name mapping (for debug use) -
SP_UF_STR
- sprite type user friendly string name mapping -
SP_PP
- sprite type to prog point format -
SP_RL
- sprite type to reaction label format
-
giftname_map
- maps giftnames to sprite type and name -
namegift_map
- maps sprite type and name to giftname
sets up the appropriate layout vars for ui text
declars a function for adjusting the conditional of the start date Event
-
mas_chgCalEVul
- literally just changes conditional for the state dateEvent
json parsing functions
-
mas_sprites
assms
-
mas_selspr
assml
Checks for JSON sprites and adds them
Declares Monika's dockingstation function
store
cStringIO
os
mas_greetings
mas_ics
mas_sprites
evhand
random
datetime
threading
-
generateMonika
- generates monika's new character file -
findMonika
- finds Monika's character file -
init_findMonka
- find Monika, init version -
parseMoniData
- parses monika character file data into components -
selectReturnHomeGreeting
- picks an appropriate greeting if we are returning monika to characters folder -
diffCheckTimes
- returns a timedelta difference between last checkin/checkout times -
packageCheck
- more generic package checking function that can do eithersignForPackage
andcreatePackageSlip
-
checkinMonika
- checks Monika into the docking station -
checkoutMonika
- checks Monika out of the docking station -
getCheckTimes
- gets a corresponding checkin/checkout time for a given checksum
Loads selectable data.
Declares async promises.
mas_threading
-
monikagen_promise
-MASAsyncWrapper
object for generation Monika -
monikafind_promise
-MASAsyncWrapper
object for finding Monika
-
abortGenPromise
- specifically aborts the generation promise in case we aborted it.
All images are built at this init level.
Declares overlay-related functions
-
mas_OVLDropShield
- enables all overlay screens -
mas_OVLHide
- hides all overlay screens -
mas_OVLRaiseShield
- disables all overlay screens -
mas_OVLShow
- shows all overlay screens
Holds the functions for adding JSON songs to piano
json
-
addSong
- adds a song to thePianoNoteMatchList
database -
addCustomSongs
- parses the custom song folder for songs and adds them to thePianoNoteMatchList
database -
addStockSongs
- adds a preset list of songs to thePianoNoteMatchList
database
background changing functions
Adds the stock and custom songs to the PianoNoteMatchList
database. Also declares a function for generating the piano song menu.
-
getSongChoices
- generates a list of tuples for the piano song selection menu
Deletes files of reactions that failed to be deleted.
Global weather functions, as well as setting the initial weather
-
mas_setWeather
- sets the weather without calling exit programming points -
mas_changeWeather
- sets the weather calling both entry and exit programming points
Creates the piano displayable
mas_piano_keys
-
PianoDisplayable
- displayable that runs the piano
-
pnmlLoadTuples
- loadsPianoNoteMatchList
data frompersistent
into corresponding objects in thePianoNoteMatchList
database -
pnmlSaveTuples
- savesPianoNoteMatchList
data intopersistent
from corresponding objects in thePianoNoteMatchList
database
inits the chess quiplist
In general, all DelayedAction constructor functions are built here.
Inits the quit messages for layout
Checks for:
- monika's file
- file reactions
- bday stuff
- o31 stuff
mas_filereacts
Sets up the DelayedAction map
-
MAP
- Maps DelayedAction IDs to constructor functions
-
loadDelayedActionMap
- generates the runtime map of DelayedActions frompersistent
-
saveDelayedActionMap
- saves the runtime map of DelayedActions topersistent
Runs DelayedActions at the init stage
Runs the late update scripts