diff --git a/Monika After Story/game/mod_assets/calendar/calendar_button_normal-n.png b/Monika After Story/game/mod_assets/calendar/calendar_button_normal-n.png new file mode 100644 index 0000000000..05c942719b Binary files /dev/null and b/Monika After Story/game/mod_assets/calendar/calendar_button_normal-n.png differ diff --git a/Monika After Story/game/mod_assets/location/spaceroom/spaceroom-n.png b/Monika After Story/game/mod_assets/location/spaceroom/spaceroom-n.png new file mode 100644 index 0000000000..18a302d353 Binary files /dev/null and b/Monika After Story/game/mod_assets/location/spaceroom/spaceroom-n.png differ diff --git a/Monika After Story/game/mod_assets/location/spaceroom/spaceroom.png b/Monika After Story/game/mod_assets/location/spaceroom/spaceroom.png new file mode 100644 index 0000000000..f8e31cbd32 Binary files /dev/null and b/Monika After Story/game/mod_assets/location/spaceroom/spaceroom.png differ diff --git a/Monika After Story/game/mod_assets/location/spaceroom/spaceroom_rain.png b/Monika After Story/game/mod_assets/location/spaceroom/spaceroom_rain.png new file mode 100644 index 0000000000..7458ded334 Binary files /dev/null and b/Monika After Story/game/mod_assets/location/spaceroom/spaceroom_rain.png differ diff --git a/Monika After Story/game/mod_assets/location/spaceroom/spaceroom_snow-n.png b/Monika After Story/game/mod_assets/location/spaceroom/spaceroom_snow-n.png new file mode 100644 index 0000000000..d04940ab95 Binary files /dev/null and b/Monika After Story/game/mod_assets/location/spaceroom/spaceroom_snow-n.png differ diff --git a/Monika After Story/game/mod_assets/location/spaceroom/spaceroom_snow.png b/Monika After Story/game/mod_assets/location/spaceroom/spaceroom_snow.png new file mode 100644 index 0000000000..a2ae83babe Binary files /dev/null and b/Monika After Story/game/mod_assets/location/spaceroom/spaceroom_snow.png differ diff --git a/Monika After Story/game/mod_assets/monika_day_bg_eq.png b/Monika After Story/game/mod_assets/monika_day_bg_eq.png deleted file mode 100644 index f9827f30df..0000000000 Binary files a/Monika After Story/game/mod_assets/monika_day_bg_eq.png and /dev/null differ diff --git a/Monika After Story/game/mod_assets/monika_day_room.png b/Monika After Story/game/mod_assets/monika_day_room.png deleted file mode 100644 index 1aa04e7fb1..0000000000 Binary files a/Monika After Story/game/mod_assets/monika_day_room.png and /dev/null differ diff --git a/Monika After Story/game/mod_assets/monika_day_room_rain.png b/Monika After Story/game/mod_assets/monika_day_room_rain.png deleted file mode 100755 index 0cefdc989c..0000000000 Binary files a/Monika After Story/game/mod_assets/monika_day_room_rain.png and /dev/null differ diff --git a/Monika After Story/game/mod_assets/monika_room_lightstrike.png b/Monika After Story/game/mod_assets/monika_room_lightstrike.png deleted file mode 100644 index cd03f02bcb..0000000000 Binary files a/Monika After Story/game/mod_assets/monika_room_lightstrike.png and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/def_day_mask.mp4 b/Monika After Story/game/mod_assets/window/def_day_mask.mp4 new file mode 100644 index 0000000000..0bc1e3a03d Binary files /dev/null and b/Monika After Story/game/mod_assets/window/def_day_mask.mp4 differ diff --git a/Monika After Story/game/mod_assets/blue_sky.jpg b/Monika After Story/game/mod_assets/window/def_day_mask_fb.png similarity index 100% rename from Monika After Story/game/mod_assets/blue_sky.jpg rename to Monika After Story/game/mod_assets/window/def_day_mask_fb.png diff --git a/Monika After Story/game/mod_assets/window/def_night_mask.mp4 b/Monika After Story/game/mod_assets/window/def_night_mask.mp4 new file mode 100644 index 0000000000..b8ba9852db Binary files /dev/null and b/Monika After Story/game/mod_assets/window/def_night_mask.mp4 differ diff --git a/Monika After Story/game/mod_assets/window/def_night_mask_fb.png b/Monika After Story/game/mod_assets/window/def_night_mask_fb.png new file mode 100644 index 0000000000..2c90613472 Binary files /dev/null and b/Monika After Story/game/mod_assets/window/def_night_mask_fb.png differ diff --git a/Monika After Story/game/mod_assets/window/overcast_day_mask.mpg b/Monika After Story/game/mod_assets/window/overcast_day_mask.mpg new file mode 100644 index 0000000000..99a1021f54 Binary files /dev/null and b/Monika After Story/game/mod_assets/window/overcast_day_mask.mpg differ diff --git a/Monika After Story/game/mod_assets/window/overcast_day_mask_fb.png b/Monika After Story/game/mod_assets/window/overcast_day_mask_fb.png new file mode 100644 index 0000000000..c79bd98116 Binary files /dev/null and b/Monika After Story/game/mod_assets/window/overcast_day_mask_fb.png differ diff --git a/Monika After Story/game/mod_assets/window/overcast_night_mask.mpg b/Monika After Story/game/mod_assets/window/overcast_night_mask.mpg new file mode 100644 index 0000000000..fccd27d78b Binary files /dev/null and b/Monika After Story/game/mod_assets/window/overcast_night_mask.mpg differ diff --git a/Monika After Story/game/mod_assets/window/overcast_night_mask_fb.png b/Monika After Story/game/mod_assets/window/overcast_night_mask_fb.png new file mode 100644 index 0000000000..7dbc34ba22 Binary files /dev/null and b/Monika After Story/game/mod_assets/window/overcast_night_mask_fb.png differ diff --git a/Monika After Story/game/mod_assets/window/rain_day_mask.mpg b/Monika After Story/game/mod_assets/window/rain_day_mask.mpg new file mode 100644 index 0000000000..e694a13251 Binary files /dev/null and b/Monika After Story/game/mod_assets/window/rain_day_mask.mpg differ diff --git a/Monika After Story/game/mod_assets/window/rain_day_mask_fb.png b/Monika After Story/game/mod_assets/window/rain_day_mask_fb.png new file mode 100644 index 0000000000..6b2e54009a Binary files /dev/null and b/Monika After Story/game/mod_assets/window/rain_day_mask_fb.png differ diff --git a/Monika After Story/game/mod_assets/window/rain_night_mask.mpg b/Monika After Story/game/mod_assets/window/rain_night_mask.mpg new file mode 100644 index 0000000000..484818516c Binary files /dev/null and b/Monika After Story/game/mod_assets/window/rain_night_mask.mpg differ diff --git a/Monika After Story/game/mod_assets/window/rain_night_mask_fb.png b/Monika After Story/game/mod_assets/window/rain_night_mask_fb.png new file mode 100644 index 0000000000..64c6639b39 Binary files /dev/null and b/Monika After Story/game/mod_assets/window/rain_night_mask_fb.png differ diff --git a/Monika After Story/game/mod_assets/window/snow_day_mask.mp4 b/Monika After Story/game/mod_assets/window/snow_day_mask.mp4 new file mode 100644 index 0000000000..2dd37707b1 Binary files /dev/null and b/Monika After Story/game/mod_assets/window/snow_day_mask.mp4 differ diff --git a/Monika After Story/game/mod_assets/window/snow_day_mask_fb.png b/Monika After Story/game/mod_assets/window/snow_day_mask_fb.png new file mode 100644 index 0000000000..bd72647ae0 Binary files /dev/null and b/Monika After Story/game/mod_assets/window/snow_day_mask_fb.png differ diff --git a/Monika After Story/game/mod_assets/window/snow_night_mask.mp4 b/Monika After Story/game/mod_assets/window/snow_night_mask.mp4 new file mode 100644 index 0000000000..bb6bcb8031 Binary files /dev/null and b/Monika After Story/game/mod_assets/window/snow_night_mask.mp4 differ diff --git a/Monika After Story/game/mod_assets/window/snow_night_mask_fb.png b/Monika After Story/game/mod_assets/window/snow_night_mask_fb.png new file mode 100644 index 0000000000..e85b7c46c4 Binary files /dev/null and b/Monika After Story/game/mod_assets/window/snow_night_mask_fb.png differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/overcast_mask_left.mp4 b/Monika After Story/game/mod_assets/window/spaceroom/overcast_mask_left.mp4 deleted file mode 100644 index e4a75e6528..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/overcast_mask_left.mp4 and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/overcast_mask_left_fb.png b/Monika After Story/game/mod_assets/window/spaceroom/overcast_mask_left_fb.png deleted file mode 100644 index a70e19fda4..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/overcast_mask_left_fb.png and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/overcast_mask_left_night.mp4 b/Monika After Story/game/mod_assets/window/spaceroom/overcast_mask_left_night.mp4 deleted file mode 100644 index e16c7b742e..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/overcast_mask_left_night.mp4 and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/overcast_mask_left_night_fb.png b/Monika After Story/game/mod_assets/window/spaceroom/overcast_mask_left_night_fb.png deleted file mode 100644 index 9c83103ef0..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/overcast_mask_left_night_fb.png and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/overcast_mask_right.mp4 b/Monika After Story/game/mod_assets/window/spaceroom/overcast_mask_right.mp4 deleted file mode 100644 index 3f93b9a5a3..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/overcast_mask_right.mp4 and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/overcast_mask_right_fb.png b/Monika After Story/game/mod_assets/window/spaceroom/overcast_mask_right_fb.png deleted file mode 100644 index cb8baff0c1..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/overcast_mask_right_fb.png and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/overcast_mask_right_night.mp4 b/Monika After Story/game/mod_assets/window/spaceroom/overcast_mask_right_night.mp4 deleted file mode 100644 index 276dc7ec85..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/overcast_mask_right_night.mp4 and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/overcast_mask_right_night_fb.png b/Monika After Story/game/mod_assets/window/spaceroom/overcast_mask_right_night_fb.png deleted file mode 100644 index 089a22ee80..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/overcast_mask_right_night_fb.png and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/window_1.webm b/Monika After Story/game/mod_assets/window/spaceroom/window_1.webm deleted file mode 100644 index 85ddaaca75..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/window_1.webm and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/window_10.webm b/Monika After Story/game/mod_assets/window/spaceroom/window_10.webm deleted file mode 100644 index cb405974e7..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/window_10.webm and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/window_10_fallback.png b/Monika After Story/game/mod_assets/window/spaceroom/window_10_fallback.png deleted file mode 100644 index bf08ec1539..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/window_10_fallback.png and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/window_1_fallback.png b/Monika After Story/game/mod_assets/window/spaceroom/window_1_fallback.png deleted file mode 100644 index a4dfac860b..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/window_1_fallback.png and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/window_2.webm b/Monika After Story/game/mod_assets/window/spaceroom/window_2.webm deleted file mode 100644 index 267b817d1c..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/window_2.webm and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/window_2_fallback.png b/Monika After Story/game/mod_assets/window/spaceroom/window_2_fallback.png deleted file mode 100644 index 0cf2d27993..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/window_2_fallback.png and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/window_3.webm b/Monika After Story/game/mod_assets/window/spaceroom/window_3.webm deleted file mode 100644 index a9663160b2..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/window_3.webm and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/window_3_fallback.png b/Monika After Story/game/mod_assets/window/spaceroom/window_3_fallback.png deleted file mode 100644 index a460e40205..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/window_3_fallback.png and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/window_4.webm b/Monika After Story/game/mod_assets/window/spaceroom/window_4.webm deleted file mode 100644 index 40f1fbff17..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/window_4.webm and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/window_4_fallback.png b/Monika After Story/game/mod_assets/window/spaceroom/window_4_fallback.png deleted file mode 100644 index b24b4cf21e..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/window_4_fallback.png and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/window_5.webm b/Monika After Story/game/mod_assets/window/spaceroom/window_5.webm deleted file mode 100644 index a37be5613a..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/window_5.webm and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/window_5_fallback.png b/Monika After Story/game/mod_assets/window/spaceroom/window_5_fallback.png deleted file mode 100644 index cb909005e3..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/window_5_fallback.png and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/window_5_night_rain.mp4 b/Monika After Story/game/mod_assets/window/spaceroom/window_5_night_rain.mp4 deleted file mode 100644 index 090b2f9a34..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/window_5_night_rain.mp4 and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/window_5_night_rain_fb.png b/Monika After Story/game/mod_assets/window/spaceroom/window_5_night_rain_fb.png deleted file mode 100644 index 6266817f8e..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/window_5_night_rain_fb.png and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/window_6.webm b/Monika After Story/game/mod_assets/window/spaceroom/window_6.webm deleted file mode 100644 index 664ced9769..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/window_6.webm and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/window_6_fallback.png b/Monika After Story/game/mod_assets/window/spaceroom/window_6_fallback.png deleted file mode 100644 index 24d5ca0844..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/window_6_fallback.png and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/window_6_night_rain.mp4 b/Monika After Story/game/mod_assets/window/spaceroom/window_6_night_rain.mp4 deleted file mode 100644 index b11c151d28..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/window_6_night_rain.mp4 and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/window_6_night_rain_fb.png b/Monika After Story/game/mod_assets/window/spaceroom/window_6_night_rain_fb.png deleted file mode 100644 index bf79bbf9c7..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/window_6_night_rain_fb.png and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/window_7.webm b/Monika After Story/game/mod_assets/window/spaceroom/window_7.webm deleted file mode 100644 index c478fe8b2d..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/window_7.webm and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/window_7_fallback.png b/Monika After Story/game/mod_assets/window/spaceroom/window_7_fallback.png deleted file mode 100644 index d58323aac4..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/window_7_fallback.png and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/window_8.webm b/Monika After Story/game/mod_assets/window/spaceroom/window_8.webm deleted file mode 100644 index 109e797ee4..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/window_8.webm and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/window_8_fallback.png b/Monika After Story/game/mod_assets/window/spaceroom/window_8_fallback.png deleted file mode 100644 index c1c10aa8e6..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/window_8_fallback.png and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/window_9.webm b/Monika After Story/game/mod_assets/window/spaceroom/window_9.webm deleted file mode 100644 index dd1ecd4c69..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/window_9.webm and /dev/null differ diff --git a/Monika After Story/game/mod_assets/window/spaceroom/window_9_fallback.png b/Monika After Story/game/mod_assets/window/spaceroom/window_9_fallback.png deleted file mode 100644 index 8b9ca49a67..0000000000 Binary files a/Monika After Story/game/mod_assets/window/spaceroom/window_9_fallback.png and /dev/null differ diff --git a/Monika After Story/game/script-ch30.rpy b/Monika After Story/game/script-ch30.rpy index 7fce055244..0b74f0a01d 100644 --- a/Monika After Story/game/script-ch30.rpy +++ b/Monika After Story/game/script-ch30.rpy @@ -31,8 +31,6 @@ init -1 python in mas_globals: show_s_light = False # set to True to show s easter egg. - # NOTE: set to True during o31, and also during sayori easter egg - # TODO: need to this text_speed_enabled = False # set to True if text speed is enabled @@ -207,10 +205,6 @@ init -10 python: mas_idle_mailbox = MASIdleMailbox() -image blue_sky = "mod_assets/blue_sky.jpg" -image monika_room = "images/cg/monika/monika_room.png" -image monika_day_room = "mod_assets/monika_day_room.png" -image monika_gloomy_room = "mod_assets/monika_day_room_rain.png" image monika_room_highlight: "images/cg/monika/monika_room_highlight.png" function monika_alpha @@ -258,14 +252,6 @@ image monika_body_glitch2: image room_glitch = "images/cg/monika/monika_bg_glitch.png" - -# spaceroom window positions -transform spaceroom_window_left: - size (320, 180) pos (30, 200) - -transform spaceroom_window_right: - size (320, 180) pos (935, 200) - init python: import subprocess @@ -406,21 +392,18 @@ init python: mas_is_raining mas_is_snowing """ - # hide the existing masks + # hide the existing mask renpy.hide("rm") - renpy.hide("rm2") # get current weather masks - left_w, right_w = mas_current_weather.sp_window(morning_flag) + mask = mas_current_weather.sp_window(morning_flag) # should we use fallbacks instead? if persistent._mas_disable_animations: - left_w += "_fb" - right_w += "_fb" + mask += "_fb" - # now show the masks - renpy.show(left_w, at_list=[spaceroom_window_left], tag="rm") - renpy.show(right_w, at_list=[spaceroom_window_right], tag="rm2") + # now show the mask + renpy.show(mask, tag="rm") if dissolve_masks: renpy.with_statement(Dissolve(1.0)) @@ -741,10 +724,28 @@ init 1 python: # NOTE: this must be a string # NOTE: if passed in, this will override aff-based exps from dissolving. # (Default: None) -label spaceroom(start_bg=None, hide_mask=False, hide_monika=False, dissolve_all=False, dissolve_masks=False, scene_change=False, force_exp=None): +# day_bg - the room we'll be showing during the day +# NOTE: must be string +# NOTE: if passed in, it will override the current background day_bg +# (Default: None) +# night_bg - the room we'll be showing during the night +# NOTE: must be string +# NOTE: if passed in, it will override the current background night_bg +# (Default: None) +label spaceroom(start_bg=None, hide_mask=None, hide_monika=False, dissolve_all=False, dissolve_masks=False, scene_change=False, force_exp=None, hide_calendar=None, day_bg=None, night_bg=None): with None + #Get all of the params + if hide_mask is None: + $ hide_mask = store.mas_current_background.hide_masks + if hide_calendar is None: + $ hide_calendar = store.mas_current_background.hide_calendar + if day_bg is None: + $ day_bg = store.mas_current_background.getDayRoom() + if night_bg is None: + $ night_bg = store.mas_current_background.getNightRoom() + if scene_change: scene black @@ -756,12 +757,12 @@ label spaceroom(start_bg=None, hide_mask=False, hide_monika=False, dissolve_all= if mas_isMorning(): if not morning_flag or scene_change: morning_flag = True - monika_room = "monika_day_room" + monika_room = day_bg else: if morning_flag or scene_change: morning_flag = False - monika_room = "monika_room" + monika_room = night_bg ## are we hiding monika if not hide_monika: @@ -779,12 +780,12 @@ label spaceroom(start_bg=None, hide_mask=False, hide_monika=False, dissolve_all= if not dissolve_all: renpy.with_statement(None) - # if we onyl want to dissolve masks, then we dissolve now + # if we only want to dissolve masks, then we dissolve now if not dissolve_all and not hide_mask: mas_drawSpaceroomMasks(dissolve_masks) # actual room check - # are we using a custom bg or not + # are we using a custom start bg or not if start_bg: if not renpy.showing(start_bg): renpy.show(start_bg, tag="sp_mas_room", zorder=MAS_BACKGROUND_Z) @@ -796,7 +797,9 @@ label spaceroom(start_bg=None, hide_mask=False, hide_monika=False, dissolve_all= tag="sp_mas_room", zorder=MAS_BACKGROUND_Z ) - mas_calShowOverlay() + #Show calendar if it's supported + if not hide_calendar: + mas_calShowOverlay() # vignette @@ -821,6 +824,8 @@ label spaceroom(start_bg=None, hide_mask=False, hide_monika=False, dissolve_all= # dissolving everything means dissolve last if dissolve_all and not hide_mask: $ mas_drawSpaceroomMasks(dissolve_all) + elif dissolve_all: + $ renpy.with_statement(Dissolve(1.0)) return @@ -1365,13 +1370,22 @@ label ch30_loop: $ quick_menu = True python: - should_dissolve_all = mas_shouldChangeTime() should_dissolve_masks = ( - mas_weather.weatherProgress() + mas_weather.weatherProgress() and mas_isMoniNormal(higher=True) ) - call spaceroom(dissolve_all=should_dissolve_all, dissolve_masks=should_dissolve_masks) + should_dissolve_all = ( + mas_shouldChangeTime() + or mas_weather.should_scene_change + ) + + #NOTE: putting the scene change condition directly in here because + #It doesn't like being in the python block + call spaceroom(scene_change=mas_weather.should_scene_change, dissolve_all=should_dissolve_all, dissolve_masks=should_dissolve_masks) + + #This should be set back to false so we're not constantly scene changing + $ mas_weather.should_scene_change = False # if should_dissolve_masks: # show monika idle at t11 zorder MAS_MONIKA_Z @@ -1614,8 +1628,8 @@ label ch30_end: label ch30_reset: python: - # name eggs - if persistent.playername.lower() == "sayori": + # name/o31 eggs + if persistent.playername.lower() == "sayori" or store.mas_isO31(): store.mas_globals.show_s_light = True python: diff --git a/Monika After Story/game/script-stories.rpy b/Monika After Story/game/script-stories.rpy index 727c0a61d5..c0417119bc 100644 --- a/Monika After Story/game/script-stories.rpy +++ b/Monika After Story/game/script-stories.rpy @@ -453,20 +453,29 @@ define mas_scary_story_setup_done = False label mas_scary_story_setup: if mas_scary_story_setup_done: return + $ mas_scary_story_setup_done = True show monika 1dsc $ mas_temp_r_flag = mas_current_weather + $ is_scene_changing = mas_current_background.isChangingRoom(mas_current_weather, mas_weather_rain) + $ are_masks_changing = mas_current_weather != mas_weather_rain $ mas_is_raining = True - #TODO persistent music spoop for o31 + + #TODO: persistent music spoop for o31 stop music fadeout 1.0 pause 1.0 + $ mas_temp_m_flag = morning_flag $ mas_temp_zoom_level = store.mas_sprites.zoom_level call monika_zoom_transition_reset(1.0) + + $ mas_changeBackground(mas_background_def) $ mas_changeWeather(mas_weather_rain) + if not mas_isO31(): $ store.mas_globals.show_vignette = True - call spaceroom(start_bg="monika_gloomy_room", dissolve_all=True, force_exp='monika 1dsc_static') + + call spaceroom(scene_change=is_scene_changing, dissolve_all=is_scene_changing, dissolve_masks=are_masks_changing, force_exp='monika 1dsc_static') play music "mod_assets/bgm/happy_story_telling.ogg" loop # $ songs.current_track = songs.FP_NO_SONG diff --git a/Monika After Story/game/zz_backgrounds.rpy b/Monika After Story/game/zz_backgrounds.rpy new file mode 100644 index 0000000000..505b71d5d7 --- /dev/null +++ b/Monika After Story/game/zz_backgrounds.rpy @@ -0,0 +1,491 @@ +#Here's where we store our background data +default persistent._mas_background_MBGdata = {} + +#START: Class definition +init -10 python: + class MASBackground(object): + """ + Background class to get display props for bgs + + PROPERTIES: + background_id - the id which defines this bg + prompt - button label for the bg + image_map - Dict mapping all images for the bgs, keys are precip types (See MASWeather) + hide_calendar - whether or not we display the calendar with this + hide_masks - whether or not we display the window masks + disable_progressive - weather or not we disable progesssive weather + unlocked - whether or not this background is unlocked + entry_pp - entry programming points for bgs + exit_pp - exit programming points + """ + import store.mas_background as mas_background + import store.mas_weather as mas_weather + + def __init__( + self, + background_id, + prompt, + image_day, + image_night, + image_rain_day=None, + image_rain_night=None, + image_overcast_day=None, + image_overcast_night=None, + image_snow_day=None, + image_snow_night=None, + hide_calendar=False, + hide_masks=False, + disable_progressive=None, + unlocked=False, + entry_pp=None, + exit_pp=None + ): + """ + Constructor for background objects + + IN: + background_id: + id that defines the background object + NOTE: Must be unique + + prompt: + button label for this bg + + image_day: + the renpy.image object we use for this bg during the day + NOTE: Mandatory + + image_night: + the renpy.image object we use for this bg during the night + NOTE: Mandatory + + image_rain_day: + the image tag we use for the background while it's raining (day) + (Default: None, not required) + + image_rain_night: + the image tag we use for the background while it's raining (night) + (Default: None, not required) + + image_overcast_day: + the image tag we use for the background while it's overcast (day) + (Default: None, not required) + + image_overcast_night: + the image tag we use for the background while it's overcast (night) + (Default: None, not required) + + image_snow_day: + the image tag we use for the background while it's snowing (day) + (Default: None, not required) + + image_snow_night: + the image tag we use for the background while it's snowing (night) + (Default: None, not required) + + hide_calendar: + whether or not we want to display the calendar + (Default: False) + + hide_masks: + weather or not we want to show the windows + (Default: False) + + disable_progressive: + weather or not we want to disable progressive weather + (Default: None, if hide masks is true and this is not provided, we assume True, otherwise False) + + unlocked: + whether or not this background starts unlocked + (Default: False) + + entry_pp: + Entry programming point for the background + (Default: None) + + exit_pp: + Exit programming point for this background + (Default: None) + """ + + if background_id in self.mas_background.BACKGROUND_MAP: + raise Exception("duplicate background ID") + + self.background_id = background_id + self.prompt = prompt + self.image_day = image_day + self.image_night = image_night + + + self.image_map = { + #Def + mas_weather.PRECIP_TYPE_DEF: (image_day, image_night), + #Rain + mas_weather.PRECIP_TYPE_RAIN: (image_rain_day if image_rain_day else image_day, image_rain_night if image_rain_night else image_night), + #Overcast + mas_weather.PRECIP_TYPE_OVERCAST: (image_overcast_day if image_overcast_day else image_day, image_overcast_night if image_overcast_night else image_night), + #Snow + mas_weather.PRECIP_TYPE_SNOW: (image_snow_day if image_snow_day else image_day, image_snow_night if image_snow_night else image_night) + } + + #Then the other props + self.hide_calendar = hide_calendar + self.hide_masks = hide_masks + + #Progressive handling + if disable_progressive is None: + self.disable_progressive = hide_masks + else: + self.disable_progressive = disable_progressive + + self.unlocked = unlocked + self.entry_pp = entry_pp + self.exit_pp = exit_pp + + # add to background map + self.mas_background.BACKGROUND_MAP[background_id] = self + + + def __eq__(self, other): + if isinstance(other, MASBackground): + return self.background_id == other.background_id + return NotImplemented + + + def __ne__(self, other): + result = self.__eq__(other) + if result is NotImplemented: + return result + return not result + + + def entry(self, old_background): + """ + Run the entry programming point + """ + if self.entry_pp is not None: + self.entry_pp(old_background) + + + def exit(self, new_background): + """ + Run the exit programming point + """ + if self.exit_pp is not None: + self.exit_pp(new_background) + + + def fromTuple(self, data_tuple): + """ + Loads data from tuple + + IN: + data_tuple - tuple of the following format: + [0]: unlocked property + """ + self.unlocked = data_tuple[0] + + + def toTuple(self): + """ + Converts this MASWeather object into a tuple + + RETURNS: tuple of the following format: + [0]: unlocked property + """ + return (self.unlocked,) + + def getDayRoom(self, weather=None): + """ + Returns the day masks to use given the conditions/availablity of present assets + """ + if weather is None: + weather = store.mas_current_weather + + return self.image_map[weather.precip_type][0] + + def getNightRoom(self, weather=None): + """ + Returns the night masks to use given the conditions/availablity of present assets + """ + if weather is None: + weather = store.mas_current_weather + + return self.image_map[weather.precip_type][1] + + def getRoomForTime(self, weather=None): + """ + Gets the room for the current time + + IN: + weather - get the room bg for the time and weather + (Default: current weather) + """ + if weather is None: + weather = store.mas_current_weather + if store.mas_isMorning(): + return self.getDayRoom(weather) + return self.getNightRoom(weather) + + def isChangingRoom(self, old_weather, new_weather): + """ + If the room has a different look for the new weather we're going into, the room is "changing" and we need to flag this to + scene change and dissolve the spaceroom in the spaceroom label + """ + return self.getRoomForTime(old_weather) != self.getRoomForTime(new_weather) + + + +#Helper methods and such +init -20 python in mas_background: + import store + BACKGROUND_MAP = {} + BACKGROUND_RETURN = "Nevermind" + + def loadMBGData(): + """ + Loads persistent MASBackground data into the weather map + + ASSUMES: background map is already filled + """ + if store.persistent._mas_background_MBGdata is None: + return + + for mbg_id, mbg_data in store.persistent._mas_background_MBGdata.iteritems(): + mbg_obj = BACKGROUND_MAP.get(mbg_id, None) + if mbg_obj is not None: + mbg_obj.fromTuple(mbg_data) + + def saveMBGData(): + """ + Saves MASBackground data from weather map into persistent + """ + for mbg_id, mbg_obj in BACKGROUND_MAP.iteritems(): + store.persistent._mas_background_MBGdata[mbg_id] = mbg_obj.toTuple() + + def getUnlockedBGCount(): + """ + Gets the number of unlocked backgrounds + """ + unlocked_count = 0 + for mbg_obj in BACKGROUND_MAP.itervalues(): + unlocked_count += int(mbg_obj.unlocked) + + return unlocked_count + +#START: BG change functions +init 800 python: + + def mas_setBackground(_background): + """ + Sets the initial bg + + NOTE: We don't handle exit pp's here + + IN: + _background: + The background we're changing to + """ + global mas_current_background + old_background = mas_current_background + mas_current_background = _background + mas_current_background.entry(old_background) + + def mas_changeBackground(new_background, by_user=None): + """ + changes the background w/o any scene changes + + IN: + new_background: + The background we're changing to + + by_user: + If the user switched the background themselves + """ + if by_user is not None: + mas_background.force_background = bool(by_user) + + mas_current_background.exit(new_background) + mas_setBackground(new_background) + + #Just set us to the normal room here + mas_current_background = None + mas_setBackground(mas_background_def) + + #Make sure the bg selector is only available with at least 2 bgs unlocked + if mas_background.getUnlockedBGCount() < 2: + mas_lockEVL("monika_change_background","EVE") + +#START: Programming points +init -2 python in mas_background: + import store + + def _def_background_entry(_old): + """ + Entry programming point for befault background + """ + if store.seen_event("mas_monika_islands"): + store.mas_unlockEVL("mas_monika_islands", "EVE") + + def _def_background_exit(_new): + """ + Exit programming point for befault background + """ + store.mas_lockEVL("mas_monika_islands", "EVE") + + +#START: bg defs +init -1 python: + #Default spaceroom + mas_background_def = MASBackground( + #Identification + "spaceroom", + "Spaceroom", + + #Day/Night + "monika_day_room", + "monika_room", + + #Rain Day/Night + image_rain_day="monika_rain_room", + + image_overcast_day="monika_rain_room", + + image_snow_day="monika_snow_room_day", + image_snow_night="monika_snow_room_night", + + #Def room should always be unlocked + unlocked=True, + + #Programming points for the spaceroom + entry_pp=store.mas_background._def_background_entry, + exit_pp=store.mas_background._def_background_exit + ) + + +#START: Image definitions +#Spaceroom +image monika_day_room = "mod_assets/location/spaceroom/spaceroom.png" +image monika_room = "mod_assets/location/spaceroom/spaceroom-n.png" +#Thanks Orca +image monika_rain_room = "mod_assets/location/spaceroom/spaceroom_rain.png" +#Thanks Velius/Orca +image monika_snow_room_day = "mod_assets/location/spaceroom/spaceroom_snow.png" +image monika_snow_room_night = "mod_assets/location/spaceroom/spaceroom_snow-n.png" + +#TODO: locking/unlocking of this based on other backgrounds +#START: Location Selector +#init 5 python: +# # available only if moni affection is affectionate+ +# addEvent( +# Event( +# persistent.event_database, +# eventlabel="monika_change_background", +# category=["location"], +# prompt="Can we go somewhere else?", +# pool=True, +# unlocked=False, +# rules={"no unlock": None}, +# aff_range=(mas_aff.AFFECTIONATE, None) +# ) +# ) + +label monika_change_background: + + m 1hua "Sure!" + +label monika_change_background_loop: + + show monika 1eua at t21 + + $ renpy.say(m, "Where would you like to go?", interact=False) + + python: + # build menu list + import store.mas_background as mas_background + import store.mas_moods as mas_moods + + # we assume that we will always have more than 1 + # default should always be at the top + backgrounds = [(mas_background_def.prompt, mas_background_def, False, False)] + + # build other backgrounds list + other_backgrounds = [ + (mbg_obj.prompt, mbg_obj, False, False) + for mbg_id, mbg_obj in mas_background.BACKGROUND_MAP.iteritems() + if mbg_id != "spaceroom" and mbg_obj.unlocked + ] + + # sort other backgrounds list + other_backgrounds.sort() + + # build full list + backgrounds.extend(other_backgrounds) + + # now add final quit item + final_item = (mas_background.BACKGROUND_RETURN, False, False, False, 20) + + # call scrollable pane + call screen mas_gen_scrollable_menu(backgrounds, mas_moods.MOOD_AREA, mas_moods.MOOD_XALIGN, final_item) + + $ sel_background = _return + + show monika at t11 + + # return value False? then return + if sel_background is False: + m 1eka "Oh, alright." + m "If you want to go somewhere, just ask, okay?" + return + + if sel_background == mas_current_background: + m 1hua "We're here right now, silly." + m "Try again~" + jump monika_change_background_loop + + call mas_background_change(sel_background) + return + +#Generic background changing label, can be used if we wanted a sort of story related change +label mas_background_change(new_bg, skip_leadin=False, skip_outro=False): + # otherwise, we can change the background now + if not skip_leadin: + m 1eua "Alright!" + m 1hua "Let's go, [player]!" + + #Little transition + hide monika + scene black + with dissolve + pause 2.0 + + # finally change the background + $ mas_changeBackground(new_bg) + + #If we've disabled progressive and hidden masks, then we shouldn't allow weather change + if new_bg.disable_progressive and new_bg.hide_masks: + $ mas_weather.temp_weather_storage = mas_current_weather + $ mas_changeWeather(mas_weather_def) + $ mas_lockEVL("monika_change_weather", "EVE") + + else: + if mas_weather.temp_weather_storage is not None: + $ mas_changeWeather(mas_weather.temp_weather_storage) + + else: + #If we don't have tempstor, run the startup weather + $ set_to_weather = mas_shouldRain() + if set_to_weather is not None: + $ mas_changeWeather(set_to_weather) + else: + $ mas_changeWeather(mas_weather_def) + + #Then we unlock the weather sel here + $ mas_unlockEVL("monika_change_weather", "EVE") + + call spaceroom(scene_change=True, dissolve_all=True) + + if not skip_outro: + m 1eua "Here we are!" + m "Let me know if you want to go somewhere else, okay?" + return diff --git a/Monika After Story/game/zz_calendar.rpy b/Monika After Story/game/zz_calendar.rpy index 1ba5e4bf44..3068df05b3 100644 --- a/Monika After Story/game/zz_calendar.rpy +++ b/Monika After Story/game/zz_calendar.rpy @@ -2045,7 +2045,7 @@ screen calendar_overlay(): # if store.mas_calendar.enabled: imagebutton: - idle "mod_assets/calendar/calendar_button_normal.png" + idle ("mod_assets/calendar/calendar_button_normal.png" if morning_flag else "mod_assets/calendar/calendar_button_normal-n.png") hover "mod_assets/calendar/calendar_button_hover.png" hover_sound gui.hover_sound activate_sound gui.activate_sound @@ -2053,7 +2053,7 @@ screen calendar_overlay(): xpos 360 ypos 260 else: - image "mod_assets/calendar/calendar_button_normal.png" xpos 360 ypos 260 + image ("mod_assets/calendar/calendar_button_normal.png" if morning_flag else "mod_assets/calendar/calendar_button_normal-n.png") xpos 360 ypos 260 init python: diff --git a/Monika After Story/game/zz_weather.rpy b/Monika After Story/game/zz_weather.rpy index fbdf2d8c6f..96a46b82b6 100644 --- a/Monika After Story/game/zz_weather.rpy +++ b/Monika After Story/game/zz_weather.rpy @@ -3,120 +3,63 @@ ### spaceroom weather art -image room_mask = Movie( +#Big thanks to Legendkiller21/Orca/Velius for helping out with these +image def_weather_day = Movie( channel="window_1", - play="mod_assets/window/spaceroom/window_1.webm", + play="mod_assets/window/def_day_mask.mp4", mask=None ) -image room_mask_fb = "mod_assets/window/spaceroom/window_1_fallback.png" +image def_weather_day_fb = "mod_assets/window/def_day_mask_fb.png" -image room_mask2 = Movie( +image def_weather_night = Movie( channel="window_2", - play="mod_assets/window/spaceroom/window_2.webm", + play="mod_assets/window/def_night_mask.mp4", mask=None ) -image room_mask2_fb = "mod_assets/window/spaceroom/window_2_fallback.png" +image def_weather_night_fb = "mod_assets/window/def_night_mask_fb.png" -image room_mask3 = Movie( +image rain_weather_day = Movie( channel="window_3", - play="mod_assets/window/spaceroom/window_3.webm", + play="mod_assets/window/rain_day_mask.mpg", mask=None ) -image room_mask3_fb = "mod_assets/window/spaceroom/window_3_fallback.png" +image rain_weather_day_fb = "mod_assets/window/rain_day_mask_fb.png" -image room_mask4 = Movie( +image rain_weather_night = Movie( channel="window_4", - play="mod_assets/window/spaceroom/window_4.webm", + play="mod_assets/window/rain_night_mask.mpg", mask=None ) -image room_mask4_fb = "mod_assets/window/spaceroom/window_4_fallback.png" +image rain_weather_night_fb = "mod_assets/window/rain_night_mask_fb.png" -# big thanks to sebastianN01 for the rain art & multimokia for the night rain! -image rain_mask_left = Movie( +image overcast_weather_day = Movie( channel="window_5", - play="mod_assets/window/spaceroom/window_5.webm", + play="mod_assets/window/overcast_day_mask.mpg", mask=None ) -image rain_mask_left_fb = "mod_assets/window/spaceroom/window_5_fallback.png" +image overcast_weather_day_fb = "mod_assets/window/overcast_day_mask_fb.png" -image rain_mask_right = Movie( +image overcast_weather_night = Movie( channel="window_6", - play="mod_assets/window/spaceroom/window_6.webm", + play="mod_assets/window/overcast_night_mask.mpg", mask=None ) -image rain_mask_right_fb = "mod_assets/window/spaceroom/window_6_fallback.png" +image overcast_weather_night_fb = "mod_assets/window/overcast_night_mask_fb.png" -image night_rain_mask_left = Movie( - channel="window_5", - play="mod_assets/window/spaceroom/window_5_night_rain.mp4", - mask=None -) -image night_rain_mask_left_fb = "mod_assets/window/spaceroom/window_5_night_rain_fb.png" - -image night_rain_mask_right = Movie( - channel="window_6", - play="mod_assets/window/spaceroom/window_6_night_rain.mp4", - mask=None -) -image night_rain_mask_right_fb = "mod_assets/window/spaceroom/window_6_night_rain_fb.png" - -# big thanks to Zer0mniac for fixing the snow -image snow_mask_night_left = Movie( +image snow_weather_day = Movie( channel="window_7", - play="mod_assets/window/spaceroom/window_7.webm", + play="mod_assets/window/snow_day_mask.mp4", mask=None ) -image snow_mask_night_left_fb = "mod_assets/window/spaceroom/window_7_fallback.png" +image snow_weather_day_fb = "mod_assets/window/snow_day_mask_fb.png" -image snow_mask_night_right = Movie( +image snow_weather_night = Movie( channel="window_8", - play="mod_assets/window/spaceroom/window_8.webm", - mask=None -) -image snow_mask_night_right_fb = "mod_assets/window/spaceroom/window_8_fallback.png" - -image snow_mask_day_left = Movie( - channel="window_9", - play="mod_assets/window/spaceroom/window_9.webm", - mask=None -) -image snow_mask_day_left_fb = "mod_assets/window/spaceroom/window_9_fallback.png" - -image snow_mask_day_right = Movie( - channel="window_10", - play="mod_assets/window/spaceroom/window_10.webm", - mask=None -) -image snow_mask_day_right_fb = "mod_assets/window/spaceroom/window_10_fallback.png" - -#Thanks multimokia for the overcast masks -image overcast_mask_left = Movie( - channel="window_5", - play="mod_assets/window/spaceroom/overcast_mask_left.mp4", + play="mod_assets/window/snow_night_mask.mp4", mask=None ) -image overcast_mask_left_fb = "mod_assets/window/spaceroom/overcast_mask_left_fb.png" +image snow_weather_night_fb = "mod_assets/window/snow_night_mask_fb.png" -image overcast_mask_right = Movie( - channel="window_6", - play="mod_assets/window/spaceroom/overcast_mask_right.mp4", - mask=None -) -image overcast_mask_right_fb = "mod_assets/window/spaceroom/overcast_mask_right_fb.png" - -image overcast_mask_left_night = Movie( - channel="window_5", - play="mod_assets/window/spaceroom/overcast_mask_left_night.mp4", - mask=None -) -image overcast_mask_left_night_fb = "mod_assets/window/spaceroom/overcast_mask_left_night_fb.png" - -image overcast_mask_right_night = Movie( - channel="window_6", - play="mod_assets/window/spaceroom/overcast_mask_right_night.mp4", - mask=None -) -image overcast_mask_right_night_fb = "mod_assets/window/spaceroom/overcast_mask_right_night_fb.png" ## end spaceroom weather art @@ -246,8 +189,20 @@ init -20 python in mas_weather: # NOTE: just reference MOOD's numbers WEAT_RETURN = "Nevermind" - weather_change_time = None #Stores the time at which weather should change + weather_change_time = None + + #Precipitation type constants + PRECIP_TYPE_DEF = "def" + PRECIP_TYPE_RAIN = "rain" + PRECIP_TYPE_OVERCAST = "overcast" + PRECIP_TYPE_SNOW = "snow" + + #Whether or not we should scene change + should_scene_change = False + + #Keep a temp store of weather here for if we're changing backgrounds + temp_weather_storage = None # def canChangeWeather(): # """ @@ -256,7 +211,7 @@ init -20 python in mas_weather: # NOTE: this does not check affection. # """ # return ( -# store.persistent._mas_weather_rain_happened +# store.persistent._mas_weather_rain_happened # or store.persistent._mas_weather_snow_happened # ) @@ -268,12 +223,13 @@ init -20 python in mas_weather: - True or false on whether or not to call spaceroom """ - #If the player forced weather, then we do nothing - if force_weather: + #If the player forced weather or we're not in a background that supports weather, we do nothing + if force_weather or store.mas_current_background.disable_progressive: return False #Otherwise we do stuff global weather_change_time + global should_scene_change #Set a time for startup if not weather_change_time: weather_change_time = datetime.datetime.now() + datetime.timedelta(0,random.randint(1800,5400)) @@ -285,13 +241,21 @@ init -20 python in mas_weather: #Change weather new_weather = store.mas_shouldRain() if new_weather is not None and new_weather != store.mas_current_weather: + #Let's see if we need to scene change + should_scene_change = store.mas_current_background.isChangingRoom(store.mas_current_weather, new_weather) + + #Now we change weather store.mas_changeWeather(new_weather) + #Play the rumble in the back to indicate thunder if new_weather == store.mas_weather_thunder: renpy.play("mod_assets/sounds/amb/thunder_1.wav",channel="backsound") return True elif store.mas_current_weather != store.mas_weather_def: + #Let's see if we need to scene change + should_scene_change = store.mas_current_background.isChangingRoom(store.mas_current_weather, store.mas_weather_def) + store.mas_changeWeather(store.mas_weather_def) return True @@ -472,7 +436,6 @@ init -20 python in mas_weather: init -10 python: - # weather class class MASWeather(object): """ @@ -482,10 +445,9 @@ init -10 python: weather_id - Id that defines this weather object prompt - button label for this weater unlocked - determines if this weather is unlocked/selectable - sp_left_day - image tag for spaceroom's left window in day time - sp_right_day - image tag for spaceroom's right window in day time - sp_left_night - image tag for spaceroom's left window in nighttime - sp_right_night - image tag for spaceroom's right window in night + sp_day - image tag for windows in day time + sp_night - image tag for windows in nighttime + precip_type - type of precipitation (to use for the room type) isbg_wf_day - image PATH for islands bg daytime with frame isbg_wof_day = image PATH for islands bg daytime without frame isbg_wf_night - image PATH for island bg nighttime with frame @@ -503,10 +465,9 @@ init -10 python: self, weather_id, prompt, - sp_left_day, - sp_right_day, - sp_left_night=None, - sp_right_night=None, + sp_day, + sp_night=None, + precip_type=store.mas_weather.PRECIP_TYPE_DEF, isbg_wf_day=None, isbg_wof_day=None, isbg_wf_night=None, @@ -522,18 +483,15 @@ init -10 python: weather_id - id that defines this weather object NOTE: must be unique prompt - button label for this weathe robject - sp_left_day - image tag for spaceroom's left window in daytime - sp_right_day - image tag for spaceroom's right window in daytime + sp_day - image tag for spaceroom's left window in daytime unlocked - True if this weather object starts unlocked, False otherwise (Default: False) - sp_left_night - image tag for spaceroom's left window in night - If None, we use left_day for this - (Default: None) - sp_right_night - image tag ofr spaceroom's right window in - night - If None, we use right_day for this + sp_night - image tag for spaceroom's left window in night + If None, we use sp_day for this (Default: None) + precip_type - type of precipitation, def, rain, overcast, or snow + (Default: def) isbg_wf_day - image PATH for islands bg daytime with frame (Default: None) isbg_wof_day = image PATH for islands bg daytime without frame @@ -557,10 +515,9 @@ init -10 python: self.weather_id = weather_id self.prompt = prompt - self.sp_left_day = sp_left_day - self.sp_right_day = sp_right_day - self.sp_left_night = sp_left_night - self.sp_right_night = sp_right_night + self.sp_day = sp_day + self.sp_night = sp_night + self.precip_type = precip_type self.isbg_wf_day = isbg_wf_day self.isbg_wof_day = isbg_wof_day self.isbg_wf_night = isbg_wf_night @@ -570,11 +527,8 @@ init -10 python: self.exit_pp = exit_pp # clean day/night - if sp_left_night is None: - self.sp_left_night = sp_left_day - - if sp_right_night is None: - self.sp_right_night = sp_right_day + if sp_night is None: + self.sp_night = sp_day # clean islands if isbg_wf_night is None: @@ -634,14 +588,13 @@ init -10 python: IN: day - True if we want day time masks - RETURNS tuple of following format: - [0]: left window mask - [1]: right window mask + RETURNS: + image tag for the corresponding mask to use """ if day: - return (self.sp_left_day, self.sp_right_day) + return self.sp_day - return (self.sp_left_night, self.sp_right_night) + return self.sp_night def isbg_window(self, day, no_frame): @@ -685,20 +638,20 @@ init -1 python: "Default", # sp day - "room_mask3", - "room_mask4", + "def_weather_day", # sp night - "room_mask", - "room_mask2", + "def_weather_night", + + precip_type=store.mas_weather.PRECIP_TYPE_DEF, # islands bg day - "mod_assets/location/special/with_frame.png", - "mod_assets/location/special/without_frame.png", + isbg_wf_day="mod_assets/location/special/with_frame.png", + isbg_wof_day="mod_assets/location/special/without_frame.png", # islands bg night - "mod_assets/location/special/night_with_frame.png", - "mod_assets/location/special/night_without_frame.png", + isbg_wf_night="mod_assets/location/special/night_with_frame.png", + isbg_wof_night="mod_assets/location/special/night_without_frame.png", unlocked=True ) @@ -709,12 +662,12 @@ init -1 python: "Rain", # sp day and night - "rain_mask_left", - "rain_mask_right", + "rain_weather_day", # sp night - "night_rain_mask_left", - "night_rain_mask_right", + "rain_weather_night", + + precip_type=store.mas_weather.PRECIP_TYPE_RAIN, # islands bg day and night isbg_wf_day="mod_assets/location/special/rain_with_frame.png", @@ -731,12 +684,12 @@ init -1 python: "Snow", # sp day - "snow_mask_day_left", - "snow_mask_day_right", + "snow_weather_day", # sp night - "snow_mask_night_left", - "snow_mask_night_right", + "snow_weather_night", + + precip_type=store.mas_weather.PRECIP_TYPE_SNOW, entry_pp=store.mas_weather._weather_snow_entry, exit_pp=store.mas_weather._weather_snow_exit @@ -748,12 +701,12 @@ init -1 python: "Thunder/Lightning", # sp day and night - "rain_mask_left", - "rain_mask_right", + "rain_weather_day", # sp night - "night_rain_mask_left", - "night_rain_mask_right", + "rain_weather_night", + + precip_type=store.mas_weather.PRECIP_TYPE_RAIN, # islands bg day and night isbg_wf_day="mod_assets/location/special/rain_with_frame.png", @@ -769,12 +722,12 @@ init -1 python: "Overcast", # sp day - "overcast_mask_left", - "overcast_mask_right", + "overcast_weather_day", # sp night - "overcast_mask_left_night", - "overcast_mask_right_night", + "overcast_weather_night", + + precip_type=store.mas_weather.PRECIP_TYPE_OVERCAST, # islands bg day and night isbg_wf_day="mod_assets/location/special/rain_with_frame.png", @@ -851,11 +804,15 @@ label mas_change_weather(new_weather, by_user=None): # set new weather and force change $ old_weather = mas_current_weather $ mas_current_weather = new_weather - call spaceroom(dissolve_masks=True, force_exp="monika 1dsc_static") + + #NOTE: We do this before the spaceroom call because of vars which need to be set + #Prior to the drawing of the spaceroom (so we can pick the right room to use) # call entry programming point $ mas_current_weather.entry(old_weather) + call spaceroom(scene_change=True, dissolve_all=True, force_exp="monika 1dsc_static") + return init 5 python: diff --git a/testcases/Backgrounds/game/dev/test_bwswap.rpy b/testcases/Backgrounds/game/dev/test_bwswap.rpy new file mode 100644 index 0000000000..e2d5ebf25e --- /dev/null +++ b/testcases/Backgrounds/game/dev/test_bwswap.rpy @@ -0,0 +1,115 @@ +#Allow bg selector for this +init 5 python: + addEvent( + Event( + persistent.event_database, + eventlabel="dev_bgsel", + category=["dev"], + prompt="TEST BGSWAP", + pool=True, + unlocked=True + ) + ) + +label dev_bgsel: + + m 1hua "Sure!" + +label dev_bgsel_loop: + + show monika 1eua at t21 + + $ renpy.say(m, "What background would you like?", interact=False) + + python: + # build menu list + import store.mas_background as mas_background + import store.mas_moods as mas_moods + + # we assume that we will always have more than 1 + # default should always be at the top + backgrounds = [(mas_background_def.prompt, mas_background_def, False, False)] + + # build other backgrounds list + other_backgrounds = [ + (mbg_obj.prompt, mbg_obj, False, False) + for mbg_id, mbg_obj in mas_background.BACKGROUND_MAP.iteritems() + if mbg_id != "spaceroom" + ] + + # sort other backgrounds list + other_backgrounds.sort() + + # build full list + backgrounds.extend(other_backgrounds) + + # now add final quit item + final_item = (mas_background.BACKGROUND_RETURN, False, False, False, 20) + + # call scrollable pane + call screen mas_gen_scrollable_menu(backgrounds, mas_moods.MOOD_AREA, mas_moods.MOOD_XALIGN, final_item) + + $ sel_background = _return + + show monika at t11 + + # return value False? then return + if sel_background is False: + m 1eka "Oh, alright." + m "If you want to go somewhere, just ask, okay?" + return + + if sel_background == mas_current_background: + m 1hua "We're here right now, silly." + m "Try again~" + jump dev_bgsel_loop + + call mas_background_change(sel_background, True, True) + return + +init -1 python: + #Default spaceroom + mas_background_test = MASBackground( + #Identification + "test", + "Test", + + #Day/Night + image_day="test_bgroom_def", + image_night="test_bgroom_def_night", + + #Rain Day/Night + image_rain_day="test_bgroom_rain", + image_rain_night="test_bgroom_rain_night", + + #Overcast Day/Night + image_overcast_day="test_bgroom_overcast", + image_overcast_night="test_bgroom_overcast_night", + + #Snow Day/Night + image_snow_day="test_bgroom_snow", + image_snow_night="test_bgroom_snow_night", + + #These masks don't get windows or calendar + hide_calendar=True, + hide_masks=True, + + #For the sake of testing, we do want progressive + disable_progressive=False, + + #Test room should always be unlocked + unlocked=True, + ) + +#START: Image defs +#Day +image test_bgroom_def = "mod_assets/location/test/test-def.png" +image test_bgroom_overcast = "mod_assets/location/test/test-overcast.png" +image test_bgroom_rain = "mod_assets/location/test/test-rain.png" +image test_bgroom_snow = "mod_assets/location/test/test-snow.png" + +#Night +image test_bgroom_def_night = "mod_assets/location/test/test-def-n.png" +image test_bgroom_overcast_night = "mod_assets/location/test/test-overcast-n.png" +image test_bgroom_rain_night = "mod_assets/location/test/test-rain-n.png" +image test_bgroom_snow_night = "mod_assets/location/test/test-snow-n.png" \ No newline at end of file diff --git a/testcases/Backgrounds/game/mod_assets/location/test/test-def-n.png b/testcases/Backgrounds/game/mod_assets/location/test/test-def-n.png new file mode 100644 index 0000000000..03891c38cf Binary files /dev/null and b/testcases/Backgrounds/game/mod_assets/location/test/test-def-n.png differ diff --git a/testcases/Backgrounds/game/mod_assets/location/test/test-def.png b/testcases/Backgrounds/game/mod_assets/location/test/test-def.png new file mode 100644 index 0000000000..c91de3d53d Binary files /dev/null and b/testcases/Backgrounds/game/mod_assets/location/test/test-def.png differ diff --git a/testcases/Backgrounds/game/mod_assets/location/test/test-overcast-n.png b/testcases/Backgrounds/game/mod_assets/location/test/test-overcast-n.png new file mode 100644 index 0000000000..fba63933ae Binary files /dev/null and b/testcases/Backgrounds/game/mod_assets/location/test/test-overcast-n.png differ diff --git a/testcases/Backgrounds/game/mod_assets/location/test/test-overcast.png b/testcases/Backgrounds/game/mod_assets/location/test/test-overcast.png new file mode 100644 index 0000000000..3fab939612 Binary files /dev/null and b/testcases/Backgrounds/game/mod_assets/location/test/test-overcast.png differ diff --git a/testcases/Backgrounds/game/mod_assets/location/test/test-rain-n.png b/testcases/Backgrounds/game/mod_assets/location/test/test-rain-n.png new file mode 100644 index 0000000000..2026907da6 Binary files /dev/null and b/testcases/Backgrounds/game/mod_assets/location/test/test-rain-n.png differ diff --git a/testcases/Backgrounds/game/mod_assets/location/test/test-rain.png b/testcases/Backgrounds/game/mod_assets/location/test/test-rain.png new file mode 100644 index 0000000000..eda193b8a2 Binary files /dev/null and b/testcases/Backgrounds/game/mod_assets/location/test/test-rain.png differ diff --git a/testcases/Backgrounds/game/mod_assets/location/test/test-snow-n.png b/testcases/Backgrounds/game/mod_assets/location/test/test-snow-n.png new file mode 100644 index 0000000000..ce2d05aeca Binary files /dev/null and b/testcases/Backgrounds/game/mod_assets/location/test/test-snow-n.png differ diff --git a/testcases/Backgrounds/game/mod_assets/location/test/test-snow.png b/testcases/Backgrounds/game/mod_assets/location/test/test-snow.png new file mode 100644 index 0000000000..f0a36fc50e Binary files /dev/null and b/testcases/Backgrounds/game/mod_assets/location/test/test-snow.png differ