Icons, sound effects, and bug fixes

* Added new head icons for characters
* Fixed initial genie head position for the wheel menu
* Added new interface sounds
* Converted door interface to the new wheel menu (partial)
* Fixed wheel menu condition bug
This commit is contained in:
LoafyLemon 2024-04-18 16:57:31 +01:00
parent ca583cfd19
commit 8e589f45b6
17 changed files with 78 additions and 11 deletions

BIN
game/images/interface/wheelmenu/wheelmenu_astoria.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
game/images/interface/wheelmenu/wheelmenu_cho.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
game/images/interface/wheelmenu/wheelmenu_hermione.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
game/images/interface/wheelmenu/wheelmenu_luna.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
game/images/interface/wheelmenu/wheelmenu_snape.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
game/images/interface/wheelmenu/wheelmenu_susan.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
game/images/interface/wheelmenu/wheelmenu_tonks.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -117,10 +117,11 @@ style vslider:
# Button # Button
style imagemap: style imagemap:
activate_sound "sounds/click3.ogg" activate_sound "sounds/qubodup-click2.ogg"
style button: style button:
activate_sound "sounds/click3.ogg" activate_sound "sounds/qubodup-click1.ogg"
hover_sound "sounds/qubodup-hover1.ogg"
insensitive_background "#463b3be6" insensitive_background "#463b3be6"
selected_background "#766a6ae6" selected_background "#766a6ae6"
padding (5, 5, 5, 5) padding (5, 5, 5, 5)

View File

@ -122,7 +122,8 @@ screen quick_menu():
textbutton _("Preferences") action ShowMenu("preferences") textbutton _("Preferences") action ShowMenu("preferences")
style quick_button is default: style quick_button is default:
activate_sound "sounds/click3.ogg" activate_sound "sounds/qubodup-click2.ogg"
hover_sound "sounds/qubodup-hover2.ogg"
background None background None
xpadding 8 xpadding 8
ypadding 8 ypadding 8
@ -241,7 +242,8 @@ style light_disabled_menu_text:
color "#ae9566" color "#ae9566"
style menu_button is default: style menu_button is default:
activate_sound "sounds/click3.ogg" activate_sound "sounds/qubodup-click1.ogg"
hover_sound "sounds/qubodup-hover1.ogg"
style dark_menu_button: style dark_menu_button:
background "#5d5151e6" background "#5d5151e6"

View File

@ -48,8 +48,6 @@ screen close_button(xoffset=0, yoffset=0, action=Return("Close"), key=["game_men
key key action action key key action action
screen close_button_background(action=Return("Close"), keysym=None): screen close_button_background(action=Return("Close"), keysym=None):
# Restore menu access if we're leaving nested context # Restore menu access if we're leaving nested context

View File

@ -41,6 +41,9 @@ init python:
for name, (displayable, action, condition) in elements.items(): for name, (displayable, action, condition) in elements.items():
condition = eval(condition) condition = eval(condition)
if not condition:
continue
buttons.append(wheelmenu.button(displayable, action, condition, tooltip=name)) buttons.append(wheelmenu.button(displayable, action, condition, tooltip=name))
positions = wheelmenu.pos(len(buttons)) positions = wheelmenu.pos(len(buttons))
@ -50,6 +53,7 @@ init python:
config.per_frame_screens.append("wheelmenu") config.per_frame_screens.append("wheelmenu")
label wheelmenu(btns, ret, pos=None): label wheelmenu(btns, ret, pos=None):
play sound "sounds/qubodup-click1.ogg"
call screen wheelmenu(btns, pos) call screen wheelmenu(btns, pos)
jump expression ret jump expression ret
@ -75,7 +79,7 @@ screen wheelmenu(btns, pos):
add "wheelmenu_genie" align (0.5, 0.5) at transform: add "wheelmenu_genie" align (0.5, 0.5) at transform:
subpixel True subpixel True
xysize (48, 48) xysize (48, 48)
yzoom (-1 if mpos[0] > start_pos[0] else 1) yzoom (1 if mpos[0] < start_pos[0] else -1)
rotate (math.degrees(math.atan2(mpos[1] - start_pos[1], mpos[0] - start_pos[0])) + 360) % 360 - 180 rotate (math.degrees(math.atan2(mpos[1] - start_pos[1], mpos[0] - start_pos[0])) + 360) % 360 - 180
style wheelmenu_window is empty: style wheelmenu_window is empty:
@ -86,6 +90,8 @@ style wheelmenu_window is empty:
style wheelmenu_button is empty: style wheelmenu_button is empty:
background Transform("wheelmenu_button", xysize=(48,48)) background Transform("wheelmenu_button", xysize=(48,48))
hover_background At(Transform("wheelmenu_button_opaque", xysize=(48,48)), wheelmenu_hover_anim) hover_background At(Transform("wheelmenu_button_opaque", xysize=(48,48)), wheelmenu_hover_anim)
hover_sound "sounds/qubodup-hover1.ogg"
activate_sound "sounds/qubodup-click2.ogg"
xysize (48, 48) xysize (48, 48)
anchor (0.5, 0.5) anchor (0.5, 0.5)

View File

@ -1,7 +1,17 @@
default main_room = Room("main_room", "main_room_menu") default main_room = Room("main_room", "main_room_menu")
default fireplace_OBJ = RoomObject(main_room, "fireplace", pos=(693, 277), idle="fireplace_idle_shadow", focus_mask="fireplace_hover", foreground=None, action=Jump("fireplace"), tooltip="Light/Extinguish") default fireplace_OBJ = RoomObject(main_room, "fireplace", pos=(693, 277), idle="fireplace_idle_shadow", focus_mask="fireplace_hover", foreground=None, action=Jump("fireplace"), tooltip="Light/Extinguish")
default cupboard_OBJ = RoomObject(main_room, "cupboard", pos=(260, 280), idle="cupboard_idle", action=Jump("cupboard"), tooltip="Rummage") default cupboard_OBJ = RoomObject(
main_room,
"cupboard",
pos=(260, 280),
idle="cupboard_idle",
action={
"Open Inventory": (Text("🎒", align=(0.5, 0.5)), Jump("inventory"), "True"),
"Rummage": (Text("🖐️", align=(0.5, 0.5)), Jump("cupboard"), "True")
},
tooltip="Cupboard"
)
default phoenix_OBJ = RoomObject( default phoenix_OBJ = RoomObject(
main_room, "phoenix", main_room, "phoenix",
pos=(557, 272), pos=(557, 272),
@ -15,7 +25,24 @@ default phoenix_OBJ = RoomObject(
}, },
tooltip="Phoenix" tooltip="Phoenix"
) )
default door_OBJ = RoomObject(main_room, "door", pos=(898, 315), idle="door_idle", focus_mask="door_hover", action=Jump("door"), tooltip="Door") default door_OBJ = RoomObject(
main_room,
"door",
pos=(898, 315),
idle="door_idle",
focus_mask="door_hover",
action={
"Summon Snape": (Transform("wheelmenu_snape", align=(0.5, 0.5), xysize=(32, 32)), If(states.sna.busy, None, Jump("summon_snape")), "states.sna.unlocked"),
"Summon Tonks": (Transform("wheelmenu_tonks", align=(0.5, 0.5), xysize=(32, 32)), If(states.ton.busy, None, Jump("summon_tonks")), "states.ton.unlocked"),
"Summon Hermione": (Transform("wheelmenu_hermione", align=(0.5, 0.5), xysize=(32, 32)), If(states.her.busy, None, Jump("summon_hermione")), "states.her.unlocked"),
"Summon Cho": (Transform("wheelmenu_cho", align=(0.5, 0.5), xysize=(32, 32)), If(states.cho.busy, None, Jump("summon_cho")), "states.cho.unlocked"),
"Summon Luna": (Transform("wheelmenu_luna", align=(0.5, 0.5), xysize=(32, 32)), If(states.lun.busy, None, Jump("summon_luna")), "states.lun.unlocked"),
"Summon Astoria": (Transform("wheelmenu_astoria", align=(0.5, 0.5), xysize=(32, 32)), If(states.ast.busy, None, Jump("summon_astoria")), "states.ast.unlocked"),
"Summon Susan": (Transform("wheelmenu_susan", align=(0.5, 0.5), xysize=(32, 32)), If(states.sus.busy, None, Jump("summon_susan")), "states.sus.unlocked"),
"Exit": (Text("🚪", align=(0.5, 0.5)), Jump("desk"), "states.map.unlocked"),
},
tooltip="Door"
)
default candleL_OBJ = RoomObject(main_room, "candle_left", pos=(350, 160), idle="candle_left", foreground=None, action=ToggleVariable("candleL_OBJ.foreground", "candle_fire", None), zorder=3) default candleL_OBJ = RoomObject(main_room, "candle_left", pos=(350, 160), idle="candle_left", foreground=None, action=ToggleVariable("candleL_OBJ.foreground", "candle_fire", None), zorder=3)
default candleR_OBJ = RoomObject(main_room, "candle_right", pos=(833, 225), idle="candle_right", foreground=None, action=ToggleVariable("candleR_OBJ.foreground", "candle_fire", None), zorder=3) default candleR_OBJ = RoomObject(main_room, "candle_right", pos=(833, 225), idle="candle_right", foreground=None, action=ToggleVariable("candleR_OBJ.foreground", "candle_fire", None), zorder=3)
default desk_OBJ = RoomObject( default desk_OBJ = RoomObject(
@ -28,7 +55,6 @@ default desk_OBJ = RoomObject(
"Sleep": (Text("💤", align=(0.5, 0.5)), If(game.daytime, Return("night_start"), Return("day_start")), "True"), "Sleep": (Text("💤", align=(0.5, 0.5)), If(game.daytime, Return("night_start"), Return("day_start")), "True"),
"Jerk Off": (Text("🍆", align=(0.5, 0.5)), Jump("jerk_off"), "True"), "Jerk Off": (Text("🍆", align=(0.5, 0.5)), Jump("jerk_off"), "True"),
"Do Paperwork": (Text("📝", align=(0.5, 0.5)), Jump("paperwork"), "True"), "Do Paperwork": (Text("📝", align=(0.5, 0.5)), Jump("paperwork"), "True"),
"Open Inventory": (Text("🎒", align=(0.5, 0.5)), Jump("inventory"), "True"),
"Open Deck Builder": (Text("🃏", align=(0.5, 0.5)), Jump("deck_builder"), "states.cardgame.unlocked"), "Open Deck Builder": (Text("🃏", align=(0.5, 0.5)), Jump("deck_builder"), "states.cardgame.unlocked"),
"Open Cheats Menu": (Text("🕹️", align=(0.5, 0.5)), Jump("cheats"), "game.cheats"), "Open Cheats Menu": (Text("🕹️", align=(0.5, 0.5)), Jump("cheats"), "game.cheats"),
}, },

View File

@ -909,7 +909,8 @@ style wardrobe_window is empty
style wardrobe_button is empty: style wardrobe_button is empty:
foreground None foreground None
hover_foreground "#ffffff80" hover_foreground "#ffffff80"
activate_sound "sounds/click.ogg" activate_sound "sounds/qubodup-click1.ogg"
hover_sound "sounds/qubodup-hover1.ogg"
style wardrobe_button_text: style wardrobe_button_text:
color "#fff" color "#fff"

BIN
game/sounds/qubodup-click1.ogg (Stored with Git LFS) Normal file

Binary file not shown.

BIN
game/sounds/qubodup-click2.ogg (Stored with Git LFS) Normal file

Binary file not shown.

BIN
game/sounds/qubodup-hover1.ogg (Stored with Git LFS) Normal file

Binary file not shown.

BIN
game/sounds/qubodup-hover2.ogg (Stored with Git LFS) Normal file

Binary file not shown.