diff --git a/docs/game_data/spel2.lua b/docs/game_data/spel2.lua
index 7e6df4cdf..2f02e0e44 100644
--- a/docs/game_data/spel2.lua
+++ b/docs/game_data/spel2.lua
@@ -2261,6 +2261,9 @@ do
---@field screen_seed_input ScreenCodeInput
---@field screen_camp ScreenCamp
---@field screen_level ScreenLevel
+ ---@field screen_transition Screen
+ ---@field screen_arena_level Screen
+ ---@field screen_arena_score Screen
---@field screen_online_loading ScreenOnlineLoading
---@field screen_online_lobby ScreenOnlineLobby
---@field pause_ui PauseUI
@@ -5519,6 +5522,35 @@ function Quad:is_point_inside(p, epsilon) end
---@return boolean
function Quad:is_point_inside(x, y, epsilon) end
+---@class MenuScreenPanels
+ ---@field woodpanels_velocity number
+ ---@field woodpanels_progress number
+ ---@field scroll_unfurl_progress number
+ ---@field bottom_woodpanel_speed_multiplayer number
+ ---@field bottom_woodpanel_y_offset number
+ ---@field bottom_woodpanel TextureRenderingInfo
+ ---@field top_woodpanel TextureRenderingInfo
+ ---@field scroll TextureRenderingInfo
+ ---@field top_woodpanel_left_scrollhandle TextureRenderingInfo
+ ---@field top_woodpanel_right_scrollhandle TextureRenderingInfo
+ ---@field scroll_text STRINGID
+ ---@field bottom_left_text STRINGID
+ ---@field bottom_right_text STRINGID
+ ---@field bottom_middle_text STRINGID
+ ---@field top_woodpanel_visible boolean
+ ---@field bottom_woodpanel_visible boolean
+ ---@field toggle_woodpanel_slidein_animation boolean
+ ---@field capitalize_scroll_text boolean
+
+---@class ScreenControls
+ ---@field up boolean
+ ---@field down boolean
+ ---@field left boolean
+ ---@field right boolean
+ ---@field direction_input integer @-1 - none, 0 - UP, 1 - DOWN, 2 - LEFT, 3 - RIGHT
+ ---@field hold_down_timer integer @Delay after which fast scroll activates (can stop at different value, only matters when you hold down the direction button)
+ ---@field fast_scroll_timer integer
+
---@class Screen
---@field render_timer number
---@field init fun(self): nil @Initializes the screen.
@@ -5527,10 +5559,12 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field logo_mossmouth TextureRenderingInfo
---@field logo_blitworks TextureRenderingInfo
---@field logo_fmod TextureRenderingInfo
+ ---@field state integer @0 - mossmouth, 1 - blitworks, 2 - fmod, 3 - end (next screen)
+ ---@field timer integer
---@class ScreenIntro : Screen
- ---@field unknown4 TextureRenderingInfo
- ---@field darkness number
+ ---@field blackout_background TextureRenderingInfo
+ ---@field blackout_alpha number
---@field active boolean @ends the intro immediately if set to false
---@field skip_prologue boolean @skips prologue and goes straight to the title screen after the intro
@@ -5553,6 +5587,7 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field particle_torchflame_backflames_animated ParticleEmitterInfo
---@field particle_torchflame_flames_animated ParticleEmitterInfo
---@field particle_torchflame_ash ParticleEmitterInfo
+ ---@field brightness number
---@field music SoundMeta
---@field torch_sound SoundMeta
@@ -5587,8 +5622,8 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field selected_menu_index integer
---@field sides_hold_down_timer integer
---@field sides_fast_scroll_timer integer
- ---@field loop boolean
- ---@field menu_id integer
+ ---@field loop boolean @Allow going up from first to last option
+ ---@field menu_id integer @0 = main menu, 1 = play, 2 = online
---@field transfer_to_menu_id integer
---@field menu_text_opacity number
---@field spear_position number[] @size: 6
@@ -5609,28 +5644,11 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field selected_menu_index integer
---@field sides_hold_down_timer integer
---@field sides_fast_scroll_timer integer
- ---@field loop boolean
- ---@field top_bottom_woodpanels_velocity number
- ---@field top_bottom_woodpanels_progress number
- ---@field scroll_unfurl_progress number
- ---@field bottom_woodpanel_speed_multiplayer number
- ---@field bottom_woodpanel_y_offset number
- ---@field bottom_woodpanel TextureRenderingInfo
- ---@field top_woodpanel TextureRenderingInfo
- ---@field scroll TextureRenderingInfo
- ---@field top_woodpanel_left_scrollhandle TextureRenderingInfo
- ---@field top_woodpanel_right_scrollhandle TextureRenderingInfo
- ---@field scroll_text STRINGID
- ---@field bottom_left_text STRINGID
- ---@field bottom_right_text STRINGID
- ---@field bottom_middle_text STRINGID
- ---@field top_woodpanel_visible boolean
- ---@field bottom_woodpanel_visible boolean
- ---@field toggle_woodpanel_slidein_animation boolean
- ---@field capitalize_top_woodpanel boolean
+ ---@field loop boolean @Allow going up from first to last option
+ ---@field screen_panels MenuScreenPanels
---@field menu_id integer
---@field transfer_to_menu_id integer
- ---@field graphic_and_audio GraphicandAudioSettings
+ ---@field show_apply_button boolean
---@field topleft_woodpanel_esc TextureRenderingInfo
---@field brick_background TextureRenderingInfo
---@field brick_middlelayer TextureRenderingInfo
@@ -5645,32 +5663,26 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field progressbar_foreground TextureRenderingInfo
---@field volume_progressbar_position_indicator TextureRenderingInfo
---@field sectionheader_background TextureRenderingInfo
+ ---@field pet_icons TextureRenderingInfo @In "Gameplay" menu
+ ---@field bottom_scroll TextureRenderingInfo @For the code in the sync menu
+ ---@field bottom_left_scrollhandle TextureRenderingInfo
+ ---@field bottom_right_scrollhandle TextureRenderingInfo
+ ---@field topleft_woodpanel_esc_slidein number
---@field text_fadein number
---@field vertical_scroll_effect number
- ---@field items_visiable boolean
+ ---@field options_visiable boolean
---@field show_highlight boolean @Shows the red background behind the option, the scarab on the left and left/right arrows
---@field tooltip_text STRINGID[]
-
----@class GraphicandAudioSettings
- ---@field fullscreen_resolution_id integer
- ---@field windowed_resolution_id integer
- ---@field resolution_scale integer @100 = 1.0
- ---@field display_mode integer @0 = Fullscreen, 1 = Borderless Windowed, 2 = Windowed
+ ---@field disable_controls boolean @Used for sync progress
+ ---@field sync_progress_state integer @0 - none, 1 - waiting for the code, 2 - code acquired, 3 - sync in progress, 4 - sync completed
+ ---@field credits_progression number
---@class ScreenCodeInput : Screen
- ---@field bottom_woodpanel_slideup_speed number
- ---@field bottom_woodpanel_slideup_timer number
- ---@field bottom_woodpanel_y_offset number
- ---@field bottom_woodpanel TextureRenderingInfo
- ---@field bottom_left_text STRINGID
- ---@field bottom_right_text STRINGID @The only one actually used
- ---@field bottom_middle_text STRINGID
- ---@field show_bottom_woodpanel boolean
- ---@field slide_in_bottom_woodpanel boolean
+ ---@field screen_panels MenuScreenPanels
---@field allow_random boolean @needs to be set before opening the screen to show the correct text at the bottom
---@field selected_button_index integer
---@field pressed_select boolean
- ---@field topleft_woodpanel_esc_slidein_timer number
+ ---@field topleft_woodpanel_esc_slidein number
---@field scroll_text_id STRINGID
---@field start_text_id STRINGID
---@field main_woodpanel_left_border TextureRenderingInfo
@@ -5682,26 +5694,28 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field key_background TextureRenderingInfo
---@field topleft_woodpanel_esc TextureRenderingInfo
---@field start_sidepanel TextureRenderingInfo
- ---@field start_sidepanel_slidein_timer number
+ ---@field start_sidepanel_slidein number
---@field seed_length integer @Current input length (0-8). You probably shouldn't write to this, except to set it to 0.
---@field get_seed fun(self): integer? @Get the seed currently entered in the seed dialog or nil if nothing is entered. Will also return incomplete seeds, check seed_length to verify it's ready.
---@field set_seed fun(self, seed: integer?, length: integer?): nil @Set the seed entered in the seed dialog. Call without arguments to clear entered seed. Optionally enter a length to set partial seed.
+---@class FlyingThing
+ ---@field texture_info TextureRenderingInfo
+ ---@field entity_type ENT_TYPE
+ ---@field spritesheet_column number
+ ---@field spritesheet_row number
+ ---@field spritesheet_animation_length number
+ ---@field velocity_x number
+ ---@field amplitude number
+ ---@field frequency number
+ ---@field sinewave_angle number
+
---@class ScreenCharacterSelect : Screen
+ ---@field main_background_zoom_progress number
---@field main_background_zoom_target number
+ ---@field blurred_border_zoom_progress number
---@field blurred_border_zoom_target number
- ---@field top_bottom_woodpanel_slidein_timer number
- ---@field top_scroll_unfurl_timer number
- ---@field bottom_woodpanel TextureRenderingInfo
- ---@field top_woodpanel TextureRenderingInfo
- ---@field left_scroll_handle TextureRenderingInfo
- ---@field right_scroll_handle TextureRenderingInfo
- ---@field left_button_text_id STRINGID
- ---@field right_button_text_id STRINGID
- ---@field middle_button_text_id STRINGID
- ---@field top_woodpanel_visible boolean
- ---@field bottom_woodpanel_visible boolean
- ---@field toggle_woodpanel_slidein_animation boolean
+ ---@field screen_panels MenuScreenPanels
---@field mine_entrance_background TextureRenderingInfo
---@field character TextureRenderingInfo
---@field character_shadow TextureRenderingInfo
@@ -5727,16 +5741,18 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field player_quickselect_fadein_timer number[] @size: MAX_PLAYERS
---@field player_quickselect_coords number[][] @size: MAX_PLAYERS
---@field player_quickselect_wiggle_angle number[] @size: MAX_PLAYERS
- ---@field topleft_woodpanel_esc_slidein_timer number
- ---@field start_panel_slidein_timer number
+ ---@field topleft_woodpanel_esc_slidein number
+ ---@field start_panel_slidein number
---@field action_buttons_keycap_size number
+ ---@field next_screen_to_load integer
---@field not_ready_to_start_yet boolean
---@field available_mine_entrances integer
---@field amount_of_mine_entrances_activated integer
- ---@field buttons integer
- ---@field opacity number
+ ---@field screen_blackout TextureRenderingInfo
+ ---@field blackout_transparency number
---@field start_pressed boolean
---@field transition_to_game_started boolean
+ ---@field disable_controls boolean
---@field flying_things FlyingThing[] @size: 6
---@field flying_thing_countdown integer
---@field particle_ceilingdust_smoke ParticleEmitterInfo
@@ -5750,31 +5766,22 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field particle_torchflame_flames3 ParticleEmitterInfo
---@field particle_torchflame_smoke4 ParticleEmitterInfo
---@field particle_torchflame_flames4 ParticleEmitterInfo
- ---@field sound SoundMeta
-
----@class FlyingThing
- ---@field texture_info TextureRenderingInfo
- ---@field entity_type ENT_TYPE
- ---@field spritesheet_column number
- ---@field spritesheet_row number
- ---@field spritesheet_animation_length number
- ---@field velocity_x number
- ---@field amplitude number
- ---@field frequency number
- ---@field sinewave_angle number
+ ---@field torch_sound SoundMeta[] @size: 4
+ ---@field buttons integer[] @size: MAX_PLAYERS
---@class ScreenTeamSelect : Screen
- ---@field ana_carrying_torch TextureRenderingInfo
+ ---@field player_portrait TextureRenderingInfo
---@field scroll_bottom_left TextureRenderingInfo
---@field scrollend_bottom_left TextureRenderingInfo
---@field four_ropes TextureRenderingInfo
- ---@field unknown4 TextureRenderingInfo
+ ---@field gems_above_the_ropes TextureRenderingInfo
---@field four_characters TextureRenderingInfo
---@field left_arrow TextureRenderingInfo
---@field right_arrow TextureRenderingInfo
---@field start_panel TextureRenderingInfo
---@field go_back_wooden_panel TextureRenderingInfo
- ---@field start_panel_slide_timer number
+ ---@field start_panel_slide number
+ ---@field go_back_wooden_panel_slide number
---@field pulsating_arrows_timer number
---@field selected_player integer
---@field buttons integer
@@ -5798,6 +5805,7 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field stats_scroll_horizontal_posaa number
---@field stats_scroll_vertical_pos number
---@field level_completed_pos number
+ ---@field stats_scroll_unfurl_actualvalue number
---@field stats_scroll_unfurl_targetvalue number
---@field woodpanel1 TextureRenderingInfo
---@field woodpanel2 TextureRenderingInfo
@@ -5809,7 +5817,7 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field woodpanel_bottomcutout1 TextureRenderingInfo
---@field woodpanel_bottomcutout2 TextureRenderingInfo
---@field woodpanel_bottomcutout3 TextureRenderingInfo
- ---@field unknown_all_forced TextureRenderingInfo
+ ---@field scroll TextureRenderingInfo
---@field stats_scroll_top_bottom TextureRenderingInfo
---@field killcount_rounded_rect TextureRenderingInfo
---@field level_completed_panel TextureRenderingInfo
@@ -5820,6 +5828,7 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field speechbubble TextureRenderingInfo
---@field speechbubble_arrow TextureRenderingInfo
---@field mama_tunnel_fade_targetvalue number
+ ---@field mama_tunnel_fade_targetvalue number
---@field mama_tunnel_text_id STRINGID
---@field mama_tunnel_choice_visible boolean
---@field mama_tunnel_agree_with_gift boolean
@@ -5831,7 +5840,7 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field woodpanel_cutout_big_money2 TextureRenderingInfo
---@field woodpanel_cutout_big_money3 TextureRenderingInfo
---@field big_dollar_sign TextureRenderingInfo
- ---@field unknown26 TextureRenderingInfo
+ ---@field stats_scroll_unfurl_sequence integer
---@field player_stats_scroll_numeric_value integer[] @size: MAX_PLAYERS
---@field player_secondary_icon TextureRenderingInfo[] @size: MAX_PLAYERS
---@field player_icon TextureRenderingInfo[] @size: MAX_PLAYERS
@@ -5840,6 +5849,7 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field hourglasses TextureRenderingInfo
---@field small_dollar_signs TextureRenderingInfo
---@field this_level_money_color Color
+ ---@field buttons integer[] @size: MAX_PLAYERS
---@class ScreenDeath : Screen
@@ -5850,6 +5860,7 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field rescuing_ship_entity Entity
---@class ScreenCredits : Screen
+ ---@field credits_progression number
---@field bg_music_info SoundMeta
---@class ScreenScores : Screen
@@ -5884,22 +5895,7 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field searching boolean
---@class ScreenOnlineLobby : Screen
- ---@field bottom_woodpanel_slideup_speed number
- ---@field bottom_woodpanel_slideup number
- ---@field scroll_unfurl number
- ---@field bottom_woodpanel_y_offset number
- ---@field woodpanel_bottom TextureRenderingInfo
- ---@field woodpanel_top TextureRenderingInfo
- ---@field scroll TextureRenderingInfo
- ---@field left_scroll_handle TextureRenderingInfo
- ---@field right_scroll_handle TextureRenderingInfo
- ---@field scroll_text STRINGID
- ---@field bottom_left_text STRINGID
- ---@field bottom_right_text STRINGID
- ---@field bottom_middle_text STRINGID
- ---@field show_top_woodpanel boolean
- ---@field show_bottom_woodpanel boolean
- ---@field slide_in_bottom_woodpanel boolean
+ ---@field screen_panels MenuScreenPanels
---@field players OnlineLobbyScreenPlayer[] @size: 4
---@field background_image TextureRenderingInfo
---@field topleft_woodpanel_esc TextureRenderingInfo
@@ -5926,14 +5922,17 @@ function Quad:is_point_inside(x, y, epsilon) end
---@class PauseUI
---@field menu_slidein_progress number
- ---@field blurred_background TextureRenderingInfo @Actually darkened background when you get a prompt asking are you sure about selecting that option
+ ---@field blurred_background TextureRenderingInfo
---@field woodpanel_left TextureRenderingInfo
---@field woodpanel_middle TextureRenderingInfo
---@field woodpanel_right TextureRenderingInfo
---@field woodpanel_top TextureRenderingInfo
---@field scroll TextureRenderingInfo
---@field confirmation_panel TextureRenderingInfo @Prompt background
- ---@field previously_selected_menu_index integer @This is more like selected_option, it's set when you select an option and the game displays the prompt
+ ---@field selected_option integer @It's set wh game displays the prompt
+ ---@field prompt_visible boolean
+ ---@field buttons_actions integer[] @size: MAX_PLAYERS
+ ---@field buttons_movement integer[] @size: MAX_PLAYERS
---@field visibility integer @0 - Invisible, 1 - Sliding down, 2 - Visible, 3 - Sliding up
---@class JournalUI
@@ -5945,10 +5944,9 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field book_background TextureRenderingInfo
---@field arrow_left TextureRenderingInfo
---@field arrow_right TextureRenderingInfo
- ---@field unknown23 TextureRenderingInfo
---@field entire_book TextureRenderingInfo
- ---@field page_timer integer
---@field fade_timer integer
+ ---@field page_timer integer
---@field opacity integer
---@field pages JournalPage[] @Stores pages loaded into memeory. It's not cleared after the journal is closed or when you go back to the main (menu) page.
Use `:get_type()` to chcek page type and cast it correctly (see ON.[RENDER_PRE_JOURNAL_PAGE](#ON-RENDER_PRE_JOURNAL_PAGE))
@@ -5996,8 +5994,6 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field trap_icon TextureRenderingInfo
---@field trap_background TextureRenderingInfo
----@class JournalPageStory : JournalPage
-
---@class JournalPageFeats : JournalPage
---@field chapter_title_text_info TextRenderingInfo
---@field feat_icons TextureRenderingInfo
@@ -6014,8 +6010,6 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field time_text_info TextRenderingInfo
---@field time_value_text_info TextRenderingInfo
----@class JournalPageRecap : JournalPage
-
---@class JournalPagePlayerProfile : JournalPage
---@field player_icon TextureRenderingInfo
---@field player_icon_id integer
@@ -6053,32 +6047,10 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field sticker_count integer
---@field stickers TextureRenderingInfo[] @size: 20
----@class ScreenControls
- ---@field up boolean
- ---@field down boolean
- ---@field left boolean
- ---@field right boolean
- ---@field direction_input integer @-1 - none, 0 - UP, 1 - DOWN, 2 - LEFT, 3 - RIGHT
- ---@field hold_down_timer integer @Delay after which fast scroll activates (can stop at different value, only matters when you hold down the direction button)
- ---@field fast_scroll_timer integer
-
---@class ScreenArenaMenu : Screen
---@field brick_background_animation ScreenZoomAnimation
---@field blurry_border_animation ScreenZoomAnimation
- ---@field top_woodpanel_slidein_timer number
- ---@field top_scroll_unfurl_timer number
- ---@field unknown13 TextureRenderingInfo
- ---@field woodpanel_top TextureRenderingInfo
- ---@field unknown15 TextureRenderingInfo
- ---@field left_scroll_handle TextureRenderingInfo
- ---@field right_scroll_handle TextureRenderingInfo
- ---@field scroll_text_id STRINGID
- ---@field unknown17_text_id STRINGID
- ---@field unknown18_text_id STRINGID
- ---@field unknown19_text_id STRINGID
- ---@field top_woodpanel_visible boolean
- ---@field bottom_woodpanel_visible boolean
- ---@field woodpanels_toggle boolean
+ ---@field screen_panels MenuScreenPanels
---@field brick_background TextureRenderingInfo
---@field blurry_border TextureRenderingInfo
---@field blurry_border2 TextureRenderingInfo
@@ -6104,28 +6076,15 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field bottom_left_bricks TextureRenderingInfo
---@field top_left_esc_panel TextureRenderingInfo
---@field next_panel TextureRenderingInfo
+ ---@field option_captions ArenaRulesString[]
---@field center_panels_hor_slide_position number
---@field esc_next_panels_slide_timer number
---@field main_panel_vertical_scroll_position number
---@field selected_option_index integer
---@field contols ScreenControls
----@class ScreenZoomAnimation
- ---@field zoom_target number
-
---@class ScreenArenaStagesSelect : Screen
- ---@field woodenpanel_top_slidein_timer number
- ---@field woodenpanel_top_scroll_unfurl_timer number
- ---@field woodenpanel_top TextureRenderingInfo
- ---@field woodenpanel_top_left_scroll TextureRenderingInfo
- ---@field woodenpanel_top_right_scroll TextureRenderingInfo
- ---@field text_id_1 STRINGID
- ---@field text_id_2 STRINGID
- ---@field text_id_3 STRINGID
- ---@field text_id_4 STRINGID
- ---@field woodenpanel_top_visible boolean
- ---@field woodenpanel_bottom_visible boolean
- ---@field woodenpanels_toggle boolean
+ ---@field screen_panels MenuScreenPanels
---@field buttons integer
---@field brick_background TextureRenderingInfo
---@field info_black_background TextureRenderingInfo
@@ -6152,24 +6111,14 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field players_turn_scroll TextureRenderingInfo
---@field players_turn_scroll_handle TextureRenderingInfo
---@field grid_player_icon TextureRenderingInfo
+ ---@field stages_to_gay_out table
+ ---@field panels_slide_from_both_sides number
+ ---@field visibility_all_stages number
---@field selected_stage_index integer
---@field contols ScreenControls
---@class ScreenArenaItems : Screen
- ---@field woodpanel_top_slidein_timer number
- ---@field woodpanel_top_scroll_unfurl_timer number
- ---@field unknown9 TextureRenderingInfo
- ---@field woodpanel_top TextureRenderingInfo
- ---@field unknown11 TextureRenderingInfo
- ---@field top_scroll_left_handle TextureRenderingInfo
- ---@field top_scroll_right_handle TextureRenderingInfo
- ---@field scroll_text_id STRINGID
- ---@field text_id_2 STRINGID
- ---@field text_id_3 STRINGID
- ---@field text_id_4 STRINGID
- ---@field woodpanel_top_visible boolean
- ---@field woodpanel_bottom_visible boolean
- ---@field woodpanels_toggle boolean
+ ---@field screen_panels MenuScreenPanels
---@field brick_background TextureRenderingInfo
---@field black_background_bottom_right TextureRenderingInfo
---@field woodpanel_bottom TextureRenderingInfo
@@ -6185,6 +6134,7 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field item_equipped_badge TextureRenderingInfo
---@field item_off_gray_overlay TextureRenderingInfo
---@field esc_woodpanel TextureRenderingInfo
+ ---@field items_to_gay_out table
---@field center_panels_horizontal_slide_position number
---@field esc_panel_slide_timer number
---@field selected_item_index integer
@@ -6195,27 +6145,33 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field background_colors TextureRenderingInfo
---@field vertical_lines TextureRenderingInfo
---@field vertical_line_electricity_effect TextureRenderingInfo
- ---@field unknown_all_forced TextureRenderingInfo
---@field left_scroll TextureRenderingInfo
---@field right_scroll TextureRenderingInfo
- ---@field scroll_unfurl_timer number
+ ---@field scroll_unfurl number
---@field waiting boolean
---@field names_opacity number
---@field line_electricity_effect_timer number
---@field state integer
---@field countdown integer
+ ---@field particles ParticleEmitterInfo[] @size: 9
---@class ScreenArenaLevel : Screen
---@field get_ready TextureRenderingInfo
---@field get_ready_gray_background TextureRenderingInfo
---@field get_ready_outline TextureRenderingInfo
+ ---@field particles ParticleEmitterInfo[] @size: 11
+
+---@class ScreenArenaScoreLavaBubble
+ ---@field x number
+ ---@field y number
+ ---@field timer1 integer
+ ---@field timer2 integer
+ ---@field visible boolean
---@class ScreenArenaScore : Screen
- ---@field woodpanel_slide_timer number
- ---@field scroll_unfurl_timer number
- ---@field unknown10 TextureRenderingInfo
+ ---@field woodpanel_slide number
+ ---@field scroll_unfurl number
---@field woodpanel TextureRenderingInfo
- ---@field unknown_all_forced TextureRenderingInfo
---@field woodpanel_left_scroll TextureRenderingInfo
---@field woodpanel_right_scroll TextureRenderingInfo
---@field text_id_1 STRINGID
@@ -6231,15 +6187,11 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field bottom_lava TextureRenderingInfo
---@field players TextureRenderingInfo
---@field player_shadows TextureRenderingInfo
- ---@field unknown24 TextureRenderingInfo
- ---@field unknown25 TextureRenderingInfo
---@field score_counter TextureRenderingInfo
- ---@field unknown27 TextureRenderingInfo
- ---@field lava_bubbles ScreenArenaScoreLavaBubble[] @size: 15
+ ---@field lava_bubbles TextureRenderingInfo
---@field player_won boolean[] @size: MAX_PLAYERS
---@field victory_jump_y_pos number
---@field victory_jump_velocity number
- ---@field animation_frame integer
---@field squash_and_celebrate boolean
---@field player_ready boolean[] @size: MAX_PLAYERS
---@field next_transition_timer integer
@@ -6247,6 +6199,8 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field player_crushing_pillar_height number[] @size: MAX_PLAYERS
---@field player_create_giblets boolean[] @size: MAX_PLAYERS
---@field next_sidepanel_slidein_timer number
+ ---@field particles ParticleEmitterInfo[] @size: 13
+ ---@field lava_bubbles_positions ScreenArenaScoreLavaBubble[] @size: 15
---@class UdpServer
diff --git a/docs/src/includes/_enums.md b/docs/src/includes/_enums.md
index 352f23843..76984f659 100644
--- a/docs/src/includes/_enums.md
+++ b/docs/src/includes/_enums.md
@@ -846,7 +846,7 @@ Name | Data | Description
[RENDER_PRE_DRAW_DEPTH](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=ON.RENDER_PRE_DRAW_DEPTH) | ON::RENDER_PRE_DRAW_DEPTH | Params: [VanillaRenderContext](#VanillaRenderContext) render_ctx, int draw_depth
Runs before the entities of the specified draw_depth are drawn on screen. In this event, you can draw textures with the `draw_world_texture` function of the render_ctx. Return `true` to skip rendering.
[RENDER_POST_DRAW_DEPTH](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=ON.RENDER_POST_DRAW_DEPTH) | ON::RENDER_POST_DRAW_DEPTH | Params: [VanillaRenderContext](#VanillaRenderContext) render_ctx, int draw_depth
Runs right after the entities of the specified draw_depth are drawn on screen. In this event, you can draw textures with the `draw_world_texture` function of the render_ctx
[RENDER_PRE_JOURNAL_PAGE](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=ON.RENDER_PRE_JOURNAL_PAGE) | ON::RENDER_PRE_JOURNAL_PAGE | Params: [VanillaRenderContext](#VanillaRenderContext) render_ctx, [JOURNAL_PAGE_TYPE](#JOURNAL_PAGE_TYPE) page_type, [JournalPage](#JournalPage) page
Runs before the journal page is drawn on screen. Return `true` to skip rendering.
-[RENDER_POST_JOURNAL_PAGE](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=ON.RENDER_POST_JOURNAL_PAGE) | ON::RENDER_POST_JOURNAL_PAGE | Params: [VanillaRenderContext](#VanillaRenderContext) render_ctx, [JOURNAL_PAGE_TYPE](#JOURNAL_PAGE_TYPE) page_type, [JournalPage](#JournalPage) page
Runs after the journal page is drawn on screen. In this event, you can draw textures with the draw_screen_texture function of the [VanillaRenderContext](#VanillaRenderContext)
The [JournalPage](#JournalPage) parameter gives you access to the specific fields of the page. Be sure to cast it to the correct type, the following functions are available to do that:
`page:as_journal_page_progress()`
`page:as_journal_page_journalmenu()`
`page:as_journal_page_places()`
`page:as_journal_page_people()`
`page:as_journal_page_bestiary()`
`page:as_journal_page_items()`
`page:as_journal_page_traps()`
`page:as_journal_page_story()`
`page:as_journal_page_feats()`
`page:as_journal_page_deathcause()`
`page:as_journal_page_deathmenu()`
`page:as_journal_page_recap()`
`page:as_journal_page_playerprofile()`
`page:as_journal_page_lastgameplayed()`
+[RENDER_POST_JOURNAL_PAGE](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=ON.RENDER_POST_JOURNAL_PAGE) | ON::RENDER_POST_JOURNAL_PAGE | Params: [VanillaRenderContext](#VanillaRenderContext) render_ctx, [JOURNAL_PAGE_TYPE](#JOURNAL_PAGE_TYPE) page_type, [JournalPage](#JournalPage) page
Runs after the journal page is drawn on screen. In this event, you can draw textures with the draw_screen_texture function of the [VanillaRenderContext](#VanillaRenderContext)
The [JournalPage](#JournalPage) parameter gives you access to the specific fields of the page. Be sure to cast it to the correct type, the following functions are available to do that:
`page:as_journal_page_progress()`
`page:as_journal_page_journalmenu()`
`page:as_journal_page_places()`
`page:as_journal_page_people()`
`page:as_journal_page_bestiary()`
`page:as_journal_page_items()`
`page:as_journal_page_traps()`
`page:as_journal_page_feats()`
`page:as_journal_page_deathcause()`
`page:as_journal_page_deathmenu()`
`page:as_journal_page_playerprofile()`
`page:as_journal_page_lastgameplayed()`
[RENDER_PRE_LAYER](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=ON.RENDER_PRE_LAYER) | ON::RENDER_PRE_LAYER | Params: [VanillaRenderContext](#VanillaRenderContext) render_ctx, int rendered_layer
Runs before a layer is rendered, runs for both layers during layer door transitions. Return `true` to skip rendering.
[RENDER_POST_LAYER](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=ON.RENDER_POST_LAYER) | ON::RENDER_POST_LAYER | Params: [VanillaRenderContext](#VanillaRenderContext) render_ctx, int rendered_layer
Runs after a layer is rendered, runs for both layers during layer door transitions. Things drawn here will be part of the layer transition animation
[RENDER_PRE_LEVEL](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=ON.RENDER_PRE_LEVEL) | ON::RENDER_PRE_LEVEL | Params: [VanillaRenderContext](#VanillaRenderContext) render_ctx, int camera_layer
Runs before the level is rendered. Return `true` to skip rendering.
diff --git a/docs/src/includes/_events.md b/docs/src/includes/_events.md
index 22491bc72..7c5f07204 100644
--- a/docs/src/includes/_events.md
+++ b/docs/src/includes/_events.md
@@ -436,7 +436,7 @@ Params: [VanillaRenderContext](#VanillaRenderContext) render_ctx, [JOURNAL_PAGE_
> Search script examples for [ON.RENDER_POST_JOURNAL_PAGE](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=ON.RENDER_POST_JOURNAL_PAGE)
-Params: [VanillaRenderContext](#VanillaRenderContext) render_ctx, [JOURNAL_PAGE_TYPE](#JOURNAL_PAGE_TYPE) page_type, [JournalPage](#JournalPage) page
Runs after the journal page is drawn on screen. In this event, you can draw textures with the draw_screen_texture function of the [VanillaRenderContext](#VanillaRenderContext)
The [JournalPage](#JournalPage) parameter gives you access to the specific fields of the page. Be sure to cast it to the correct type, the following functions are available to do that:
`page:as_journal_page_progress()`
`page:as_journal_page_journalmenu()`
`page:as_journal_page_places()`
`page:as_journal_page_people()`
`page:as_journal_page_bestiary()`
`page:as_journal_page_items()`
`page:as_journal_page_traps()`
`page:as_journal_page_story()`
`page:as_journal_page_feats()`
`page:as_journal_page_deathcause()`
`page:as_journal_page_deathmenu()`
`page:as_journal_page_recap()`
`page:as_journal_page_playerprofile()`
`page:as_journal_page_lastgameplayed()`
+Params: [VanillaRenderContext](#VanillaRenderContext) render_ctx, [JOURNAL_PAGE_TYPE](#JOURNAL_PAGE_TYPE) page_type, [JournalPage](#JournalPage) page
Runs after the journal page is drawn on screen. In this event, you can draw textures with the draw_screen_texture function of the [VanillaRenderContext](#VanillaRenderContext)
The [JournalPage](#JournalPage) parameter gives you access to the specific fields of the page. Be sure to cast it to the correct type, the following functions are available to do that:
`page:as_journal_page_progress()`
`page:as_journal_page_journalmenu()`
`page:as_journal_page_places()`
`page:as_journal_page_people()`
`page:as_journal_page_bestiary()`
`page:as_journal_page_items()`
`page:as_journal_page_traps()`
`page:as_journal_page_feats()`
`page:as_journal_page_deathcause()`
`page:as_journal_page_deathmenu()`
`page:as_journal_page_playerprofile()`
`page:as_journal_page_lastgameplayed()`
## ON.RENDER_PRE_LAYER
diff --git a/docs/src/includes/_types.md b/docs/src/includes/_types.md
index 69f08f9c4..60bfbca97 100644
--- a/docs/src/includes/_types.md
+++ b/docs/src/includes/_types.md
@@ -666,16 +666,6 @@ bool | [pressed](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=presse
Type | Name | Description
---- | ---- | -----------
-### GraphicandAudioSettings
-
-
-Type | Name | Description
----- | ---- | -----------
-int | [fullscreen_resolution_id](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=fullscreen_resolution_id) |
-int | [windowed_resolution_id](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=windowed_resolution_id) |
-int | [resolution_scale](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=resolution_scale) | 100 = 1.0
-int | [display_mode](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=display_mode) | 0 = Fullscreen, 1 = Borderless Windowed, 2 = Windowed
-
### Hud
@@ -1273,22 +1263,6 @@ Type | Name | Description
---- | ---- | -----------
[TextureRenderingInfo](#TextureRenderingInfo) | [coffeestain_top](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=coffeestain_top) |
-### JournalPageRecap
-
-Derived from [JournalPage](#JournalPage)
-
-
-Type | Name | Description
----- | ---- | -----------
-
-### JournalPageStory
-
-Derived from [JournalPage](#JournalPage)
-
-
-Type | Name | Description
----- | ---- | -----------
-
### JournalPageTraps
Derived from [JournalPage](#JournalPage) [JournalPageDiscoverable](#JournalPageDiscoverable)
@@ -1918,13 +1892,36 @@ int | [max_page_count](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=
[TextureRenderingInfo](#TextureRenderingInfo) | [book_background](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=book_background) |
[TextureRenderingInfo](#TextureRenderingInfo) | [arrow_left](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=arrow_left) |
[TextureRenderingInfo](#TextureRenderingInfo) | [arrow_right](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=arrow_right) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [unknown23](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=unknown23) |
[TextureRenderingInfo](#TextureRenderingInfo) | [entire_book](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=entire_book) |
-int | [page_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=page_timer) |
int | [fade_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=fade_timer) |
+int | [page_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=page_timer) |
int | [opacity](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=opacity) |
vector<[JournalPage](#JournalPage)> | [pages](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=pages) | Stores pages loaded into memeory. It's not cleared after the journal is closed or when you go back to the main (menu) page.
Use `:get_type()` to chcek page type and cast it correctly (see ON.[RENDER_PRE_JOURNAL_PAGE](#ON-RENDER_PRE_JOURNAL_PAGE))
+### MenuScreenPanels
+
+
+Type | Name | Description
+---- | ---- | -----------
+float | [woodpanels_velocity](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanels_velocity) |
+float | [woodpanels_progress](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanels_progress) |
+float | [scroll_unfurl_progress](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=scroll_unfurl_progress) |
+float | [bottom_woodpanel_speed_multiplayer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_woodpanel_speed_multiplayer) |
+float | [bottom_woodpanel_y_offset](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_woodpanel_y_offset) |
+[TextureRenderingInfo](#TextureRenderingInfo) | [bottom_woodpanel](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_woodpanel) |
+[TextureRenderingInfo](#TextureRenderingInfo) | [top_woodpanel](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=top_woodpanel) |
+[TextureRenderingInfo](#TextureRenderingInfo) | [scroll](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=scroll) |
+[TextureRenderingInfo](#TextureRenderingInfo) | [top_woodpanel_left_scrollhandle](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=top_woodpanel_left_scrollhandle) |
+[TextureRenderingInfo](#TextureRenderingInfo) | [top_woodpanel_right_scrollhandle](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=top_woodpanel_right_scrollhandle) |
+[STRINGID](#Aliases) | [scroll_text](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=scroll_text) |
+[STRINGID](#Aliases) | [bottom_left_text](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_left_text) |
+[STRINGID](#Aliases) | [bottom_right_text](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_right_text) |
+[STRINGID](#Aliases) | [bottom_middle_text](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_middle_text) |
+bool | [top_woodpanel_visible](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=top_woodpanel_visible) |
+bool | [bottom_woodpanel_visible](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_woodpanel_visible) |
+bool | [toggle_woodpanel_slidein_animation](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=toggle_woodpanel_slidein_animation) |
+bool | [capitalize_scroll_text](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=capitalize_scroll_text) |
+
### OnlineLobbyScreenPlayer
@@ -1941,14 +1938,17 @@ bool | [searching](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=sear
Type | Name | Description
---- | ---- | -----------
float | [menu_slidein_progress](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=menu_slidein_progress) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [blurred_background](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=blurred_background) | Actually darkened background when you get a prompt asking are you sure about selecting that option
+[TextureRenderingInfo](#TextureRenderingInfo) | [blurred_background](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=blurred_background) |
[TextureRenderingInfo](#TextureRenderingInfo) | [woodpanel_left](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanel_left) |
[TextureRenderingInfo](#TextureRenderingInfo) | [woodpanel_middle](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanel_middle) |
[TextureRenderingInfo](#TextureRenderingInfo) | [woodpanel_right](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanel_right) |
[TextureRenderingInfo](#TextureRenderingInfo) | [woodpanel_top](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanel_top) |
[TextureRenderingInfo](#TextureRenderingInfo) | [scroll](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=scroll) |
[TextureRenderingInfo](#TextureRenderingInfo) | [confirmation_panel](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=confirmation_panel) | Prompt background
-int | [previously_selected_menu_index](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=previously_selected_menu_index) | This is more like selected_option, it's set when you select an option and the game displays the prompt
+int | [selected_option](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=selected_option) | It's set wh game displays the prompt
+bool | [prompt_visible](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=prompt_visible) |
+array<int, MAX_PLAYERS> | [buttons_actions](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=buttons_actions) |
+array<int, MAX_PLAYERS> | [buttons_movement](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=buttons_movement) |
int | [visibility](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=visibility) | 0 - Invisible, 1 - Sliding down, 2 - Visible, 3 - Sliding up
### SaveRelated
@@ -1977,15 +1977,15 @@ Type | Name | Description
[TextureRenderingInfo](#TextureRenderingInfo) | [background_colors](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=background_colors) |
[TextureRenderingInfo](#TextureRenderingInfo) | [vertical_lines](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=vertical_lines) |
[TextureRenderingInfo](#TextureRenderingInfo) | [vertical_line_electricity_effect](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=vertical_line_electricity_effect) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [unknown_all_forced](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=unknown_all_forced) |
[TextureRenderingInfo](#TextureRenderingInfo) | [left_scroll](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=left_scroll) |
[TextureRenderingInfo](#TextureRenderingInfo) | [right_scroll](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=right_scroll) |
-float | [scroll_unfurl_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=scroll_unfurl_timer) |
+float | [scroll_unfurl](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=scroll_unfurl) |
bool | [waiting](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=waiting) |
float | [names_opacity](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=names_opacity) |
float | [line_electricity_effect_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=line_electricity_effect_timer) |
int | [state](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=state) |
int | [countdown](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=countdown) |
+array<[ParticleEmitterInfo](#ParticleEmitterInfo), 9> | [particles](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=particles) |
### ScreenArenaItems
@@ -1994,20 +1994,7 @@ Derived from [Screen](#Screen)
Type | Name | Description
---- | ---- | -----------
-float | [woodpanel_top_slidein_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanel_top_slidein_timer) |
-float | [woodpanel_top_scroll_unfurl_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanel_top_scroll_unfurl_timer) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [unknown9](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=unknown9) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [woodpanel_top](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanel_top) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [unknown11](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=unknown11) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [top_scroll_left_handle](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=top_scroll_left_handle) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [top_scroll_right_handle](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=top_scroll_right_handle) |
-[STRINGID](#Aliases) | [scroll_text_id](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=scroll_text_id) |
-[STRINGID](#Aliases) | [text_id_2](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=text_id_2) |
-[STRINGID](#Aliases) | [text_id_3](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=text_id_3) |
-[STRINGID](#Aliases) | [text_id_4](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=text_id_4) |
-bool | [woodpanel_top_visible](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanel_top_visible) |
-bool | [woodpanel_bottom_visible](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanel_bottom_visible) |
-bool | [woodpanels_toggle](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanels_toggle) |
+[MenuScreenPanels](#MenuScreenPanels) | [screen_panels](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=screen_panels) |
[TextureRenderingInfo](#TextureRenderingInfo) | [brick_background](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=brick_background) |
[TextureRenderingInfo](#TextureRenderingInfo) | [black_background_bottom_right](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=black_background_bottom_right) |
[TextureRenderingInfo](#TextureRenderingInfo) | [woodpanel_bottom](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanel_bottom) |
@@ -2023,6 +2010,7 @@ bool | [woodpanels_toggle](https://github.com/spelunky-fyi/overlunky/search?l=Lu
[TextureRenderingInfo](#TextureRenderingInfo) | [item_equipped_badge](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=item_equipped_badge) |
[TextureRenderingInfo](#TextureRenderingInfo) | [item_off_gray_overlay](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=item_off_gray_overlay) |
[TextureRenderingInfo](#TextureRenderingInfo) | [esc_woodpanel](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=esc_woodpanel) |
+map<int, float> | [items_to_gay_out](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=items_to_gay_out) |
float | [center_panels_horizontal_slide_position](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=center_panels_horizontal_slide_position) |
float | [esc_panel_slide_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=esc_panel_slide_timer) |
int | [selected_item_index](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=selected_item_index) |
@@ -2038,6 +2026,7 @@ Type | Name | Description
[TextureRenderingInfo](#TextureRenderingInfo) | [get_ready](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=get_ready) |
[TextureRenderingInfo](#TextureRenderingInfo) | [get_ready_gray_background](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=get_ready_gray_background) |
[TextureRenderingInfo](#TextureRenderingInfo) | [get_ready_outline](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=get_ready_outline) |
+array<[ParticleEmitterInfo](#ParticleEmitterInfo), 11> | [particles](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=particles) |
### ScreenArenaMenu
@@ -2046,22 +2035,9 @@ Derived from [Screen](#Screen)
Type | Name | Description
---- | ---- | -----------
-[ScreenZoomAnimation](#ScreenZoomAnimation) | [brick_background_animation](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=brick_background_animation) |
-[ScreenZoomAnimation](#ScreenZoomAnimation) | [blurry_border_animation](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=blurry_border_animation) |
-float | [top_woodpanel_slidein_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=top_woodpanel_slidein_timer) |
-float | [top_scroll_unfurl_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=top_scroll_unfurl_timer) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [unknown13](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=unknown13) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [woodpanel_top](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanel_top) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [unknown15](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=unknown15) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [left_scroll_handle](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=left_scroll_handle) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [right_scroll_handle](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=right_scroll_handle) |
-[STRINGID](#Aliases) | [scroll_text_id](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=scroll_text_id) |
-[STRINGID](#Aliases) | [unknown17_text_id](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=unknown17_text_id) |
-[STRINGID](#Aliases) | [unknown18_text_id](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=unknown18_text_id) |
-[STRINGID](#Aliases) | [unknown19_text_id](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=unknown19_text_id) |
-bool | [top_woodpanel_visible](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=top_woodpanel_visible) |
-bool | [bottom_woodpanel_visible](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_woodpanel_visible) |
-bool | [woodpanels_toggle](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanels_toggle) |
+ScreenZoomAnimation | [brick_background_animation](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=brick_background_animation) |
+ScreenZoomAnimation | [blurry_border_animation](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=blurry_border_animation) |
+[MenuScreenPanels](#MenuScreenPanels) | [screen_panels](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=screen_panels) |
[TextureRenderingInfo](#TextureRenderingInfo) | [brick_background](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=brick_background) |
[TextureRenderingInfo](#TextureRenderingInfo) | [blurry_border](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=blurry_border) |
[TextureRenderingInfo](#TextureRenderingInfo) | [blurry_border2](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=blurry_border2) |
@@ -2087,6 +2063,7 @@ bool | [woodpanels_toggle](https://github.com/spelunky-fyi/overlunky/search?l=Lu
[TextureRenderingInfo](#TextureRenderingInfo) | [bottom_left_bricks](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_left_bricks) |
[TextureRenderingInfo](#TextureRenderingInfo) | [top_left_esc_panel](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=top_left_esc_panel) |
[TextureRenderingInfo](#TextureRenderingInfo) | [next_panel](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=next_panel) |
+vector<ArenaRulesString> | [option_captions](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=option_captions) |
float | [center_panels_hor_slide_position](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=center_panels_hor_slide_position) |
float | [esc_next_panels_slide_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=esc_next_panels_slide_timer) |
float | [main_panel_vertical_scroll_position](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=main_panel_vertical_scroll_position) |
@@ -2100,11 +2077,9 @@ Derived from [Screen](#Screen)
Type | Name | Description
---- | ---- | -----------
-float | [woodpanel_slide_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanel_slide_timer) |
-float | [scroll_unfurl_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=scroll_unfurl_timer) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [unknown10](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=unknown10) |
+float | [woodpanel_slide](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanel_slide) |
+float | [scroll_unfurl](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=scroll_unfurl) |
[TextureRenderingInfo](#TextureRenderingInfo) | [woodpanel](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanel) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [unknown_all_forced](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=unknown_all_forced) |
[TextureRenderingInfo](#TextureRenderingInfo) | [woodpanel_left_scroll](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanel_left_scroll) |
[TextureRenderingInfo](#TextureRenderingInfo) | [woodpanel_right_scroll](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanel_right_scroll) |
[STRINGID](#Aliases) | [text_id_1](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=text_id_1) |
@@ -2120,15 +2095,11 @@ int | [animation_sequence](https://github.com/spelunky-fyi/overlunky/search?l=Lu
[TextureRenderingInfo](#TextureRenderingInfo) | [bottom_lava](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_lava) |
[TextureRenderingInfo](#TextureRenderingInfo) | [players](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=players) |
[TextureRenderingInfo](#TextureRenderingInfo) | [player_shadows](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=player_shadows) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [unknown24](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=unknown24) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [unknown25](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=unknown25) |
[TextureRenderingInfo](#TextureRenderingInfo) | [score_counter](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=score_counter) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [unknown27](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=unknown27) |
-array<ScreenArenaScoreLavaBubble, 15> | [lava_bubbles](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=lava_bubbles) |
+[TextureRenderingInfo](#TextureRenderingInfo) | [lava_bubbles](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=lava_bubbles) |
array<bool, MAX_PLAYERS> | [player_won](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=player_won) |
float | [victory_jump_y_pos](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=victory_jump_y_pos) |
float | [victory_jump_velocity](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=victory_jump_velocity) |
-int | [animation_frame](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=animation_frame) |
bool | [squash_and_celebrate](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=squash_and_celebrate) |
array<bool, MAX_PLAYERS> | [player_ready](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=player_ready) |
int | [next_transition_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=next_transition_timer) |
@@ -2136,6 +2107,19 @@ array<float, MAX_PLAYERS> | [player_bottom_pillar_offset](https://github.c
array<float, MAX_PLAYERS> | [player_crushing_pillar_height](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=player_crushing_pillar_height) |
array<bool, MAX_PLAYERS> | [player_create_giblets](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=player_create_giblets) |
float | [next_sidepanel_slidein_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=next_sidepanel_slidein_timer) |
+array<[ParticleEmitterInfo](#ParticleEmitterInfo), 13> | [particles](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=particles) |
+array<[ScreenArenaScoreLavaBubble](#ScreenArenaScoreLavaBubble), 15> | [lava_bubbles_positions](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=lava_bubbles_positions) |
+
+### ScreenArenaScoreLavaBubble
+
+
+Type | Name | Description
+---- | ---- | -----------
+float | [x](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=x) |
+float | [y](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=y) |
+int | [timer1](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=timer1) |
+int | [timer2](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=timer2) |
+bool | [visible](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=visible) |
### ScreenArenaStagesSelect
@@ -2144,18 +2128,7 @@ Derived from [Screen](#Screen)
Type | Name | Description
---- | ---- | -----------
-float | [woodenpanel_top_slidein_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodenpanel_top_slidein_timer) |
-float | [woodenpanel_top_scroll_unfurl_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodenpanel_top_scroll_unfurl_timer) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [woodenpanel_top](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodenpanel_top) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [woodenpanel_top_left_scroll](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodenpanel_top_left_scroll) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [woodenpanel_top_right_scroll](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodenpanel_top_right_scroll) |
-[STRINGID](#Aliases) | [text_id_1](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=text_id_1) |
-[STRINGID](#Aliases) | [text_id_2](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=text_id_2) |
-[STRINGID](#Aliases) | [text_id_3](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=text_id_3) |
-[STRINGID](#Aliases) | [text_id_4](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=text_id_4) |
-bool | [woodenpanel_top_visible](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodenpanel_top_visible) |
-bool | [woodenpanel_bottom_visible](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodenpanel_bottom_visible) |
-bool | [woodenpanels_toggle](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodenpanels_toggle) |
+[MenuScreenPanels](#MenuScreenPanels) | [screen_panels](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=screen_panels) |
int | [buttons](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=buttons) |
[TextureRenderingInfo](#TextureRenderingInfo) | [brick_background](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=brick_background) |
[TextureRenderingInfo](#TextureRenderingInfo) | [info_black_background](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=info_black_background) |
@@ -2182,6 +2155,9 @@ int | [buttons](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=buttons
[TextureRenderingInfo](#TextureRenderingInfo) | [players_turn_scroll](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=players_turn_scroll) |
[TextureRenderingInfo](#TextureRenderingInfo) | [players_turn_scroll_handle](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=players_turn_scroll_handle) |
[TextureRenderingInfo](#TextureRenderingInfo) | [grid_player_icon](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=grid_player_icon) |
+map<int, float> | [stages_to_gay_out](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=stages_to_gay_out) |
+float | [panels_slide_from_both_sides](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=panels_slide_from_both_sides) |
+float | [visibility_all_stages](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=visibility_all_stages) |
int | [selected_stage_index](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=selected_stage_index) |
[ScreenControls](#ScreenControls) | [contols](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=contols) |
@@ -2201,20 +2177,11 @@ Derived from [Screen](#Screen)
Type | Name | Description
---- | ---- | -----------
+float | [main_background_zoom_progress](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=main_background_zoom_progress) |
float | [main_background_zoom_target](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=main_background_zoom_target) |
+float | [blurred_border_zoom_progress](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=blurred_border_zoom_progress) |
float | [blurred_border_zoom_target](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=blurred_border_zoom_target) |
-float | [top_bottom_woodpanel_slidein_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=top_bottom_woodpanel_slidein_timer) |
-float | [top_scroll_unfurl_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=top_scroll_unfurl_timer) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [bottom_woodpanel](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_woodpanel) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [top_woodpanel](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=top_woodpanel) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [left_scroll_handle](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=left_scroll_handle) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [right_scroll_handle](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=right_scroll_handle) |
-[STRINGID](#Aliases) | [left_button_text_id](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=left_button_text_id) |
-[STRINGID](#Aliases) | [right_button_text_id](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=right_button_text_id) |
-[STRINGID](#Aliases) | [middle_button_text_id](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=middle_button_text_id) |
-bool | [top_woodpanel_visible](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=top_woodpanel_visible) |
-bool | [bottom_woodpanel_visible](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_woodpanel_visible) |
-bool | [toggle_woodpanel_slidein_animation](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=toggle_woodpanel_slidein_animation) |
+[MenuScreenPanels](#MenuScreenPanels) | [screen_panels](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=screen_panels) |
[TextureRenderingInfo](#TextureRenderingInfo) | [mine_entrance_background](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=mine_entrance_background) |
[TextureRenderingInfo](#TextureRenderingInfo) | [character](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=character) |
[TextureRenderingInfo](#TextureRenderingInfo) | [character_shadow](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=character_shadow) |
@@ -2240,16 +2207,18 @@ array<bool, MAX_PLAYERS> | [player_quickselect_shown](https://github.com/s
array<float, MAX_PLAYERS> | [player_quickselect_fadein_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=player_quickselect_fadein_timer) |
array<array<float, 2>, MAX_PLAYERS> | [player_quickselect_coords](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=player_quickselect_coords) |
array<float, MAX_PLAYERS> | [player_quickselect_wiggle_angle](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=player_quickselect_wiggle_angle) |
-float | [topleft_woodpanel_esc_slidein_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=topleft_woodpanel_esc_slidein_timer) |
-float | [start_panel_slidein_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=start_panel_slidein_timer) |
+float | [topleft_woodpanel_esc_slidein](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=topleft_woodpanel_esc_slidein) |
+float | [start_panel_slidein](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=start_panel_slidein) |
float | [action_buttons_keycap_size](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=action_buttons_keycap_size) |
+int | [next_screen_to_load](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=next_screen_to_load) |
bool | [not_ready_to_start_yet](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=not_ready_to_start_yet) |
int | [available_mine_entrances](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=available_mine_entrances) |
int | [amount_of_mine_entrances_activated](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=amount_of_mine_entrances_activated) |
-int | [buttons](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=buttons) |
-float | [opacity](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=opacity) |
+[TextureRenderingInfo](#TextureRenderingInfo) | [screen_blackout](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=screen_blackout) |
+float | [blackout_transparency](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=blackout_transparency) |
bool | [start_pressed](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=start_pressed) |
bool | [transition_to_game_started](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=transition_to_game_started) |
+bool | [disable_controls](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=disable_controls) |
array<[FlyingThing](#FlyingThing), 6> | [flying_things](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=flying_things) |
int | [flying_thing_countdown](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=flying_thing_countdown) |
[ParticleEmitterInfo](#ParticleEmitterInfo) | [particle_ceilingdust_smoke](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=particle_ceilingdust_smoke) |
@@ -2263,7 +2232,8 @@ int | [flying_thing_countdown](https://github.com/spelunky-fyi/overlunky/search?
[ParticleEmitterInfo](#ParticleEmitterInfo) | [particle_torchflame_flames3](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=particle_torchflame_flames3) |
[ParticleEmitterInfo](#ParticleEmitterInfo) | [particle_torchflame_smoke4](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=particle_torchflame_smoke4) |
[ParticleEmitterInfo](#ParticleEmitterInfo) | [particle_torchflame_flames4](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=particle_torchflame_flames4) |
-[SoundMeta](#SoundMeta) | [sound](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=sound) |
+array<[SoundMeta](#SoundMeta), 4> | [torch_sound](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=torch_sound) |
+array<int, MAX_PLAYERS> | [buttons](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=buttons) |
### ScreenCodeInput
@@ -2272,19 +2242,11 @@ Derived from [Screen](#Screen)
Type | Name | Description
---- | ---- | -----------
-float | [bottom_woodpanel_slideup_speed](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_woodpanel_slideup_speed) |
-float | [bottom_woodpanel_slideup_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_woodpanel_slideup_timer) |
-float | [bottom_woodpanel_y_offset](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_woodpanel_y_offset) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [bottom_woodpanel](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_woodpanel) |
-[STRINGID](#Aliases) | [bottom_left_text](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_left_text) |
-[STRINGID](#Aliases) | [bottom_right_text](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_right_text) | The only one actually used
-[STRINGID](#Aliases) | [bottom_middle_text](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_middle_text) |
-bool | [show_bottom_woodpanel](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=show_bottom_woodpanel) |
-bool | [slide_in_bottom_woodpanel](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=slide_in_bottom_woodpanel) |
+[MenuScreenPanels](#MenuScreenPanels) | [screen_panels](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=screen_panels) |
bool | [allow_random](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=allow_random) | needs to be set before opening the screen to show the correct text at the bottom
int | [selected_button_index](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=selected_button_index) |
bool | [pressed_select](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=pressed_select) |
-float | [topleft_woodpanel_esc_slidein_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=topleft_woodpanel_esc_slidein_timer) |
+float | [topleft_woodpanel_esc_slidein](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=topleft_woodpanel_esc_slidein) |
[STRINGID](#Aliases) | [scroll_text_id](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=scroll_text_id) |
[STRINGID](#Aliases) | [start_text_id](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=start_text_id) |
[TextureRenderingInfo](#TextureRenderingInfo) | [main_woodpanel_left_border](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=main_woodpanel_left_border) |
@@ -2296,7 +2258,7 @@ float | [topleft_woodpanel_esc_slidein_timer](https://github.com/spelunky-fyi/ov
[TextureRenderingInfo](#TextureRenderingInfo) | [key_background](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=key_background) |
[TextureRenderingInfo](#TextureRenderingInfo) | [topleft_woodpanel_esc](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=topleft_woodpanel_esc) |
[TextureRenderingInfo](#TextureRenderingInfo) | [start_sidepanel](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=start_sidepanel) |
-float | [start_sidepanel_slidein_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=start_sidepanel_slidein_timer) |
+float | [start_sidepanel_slidein](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=start_sidepanel_slidein) |
int | [seed_length](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=seed_length) | Current input length (0-8). You probably shouldn't write to this, except to set it to 0.
optional<int> | [get_seed()](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=get_seed) | Get the seed currently entered in the seed dialog or nil if nothing is entered. Will also return incomplete seeds, check seed_length to verify it's ready.
nil | [set_seed(optional seed, optional length)](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=set_seed) | Set the seed entered in the seed dialog. Call without arguments to clear entered seed. Optionally enter a length to set partial seed.
@@ -2359,6 +2321,7 @@ Derived from [Screen](#Screen)
Type | Name | Description
---- | ---- | -----------
+float | [credits_progression](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=credits_progression) |
[SoundMeta](#SoundMeta) | [bg_music_info](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bg_music_info) |
### ScreenDeath
@@ -2388,8 +2351,8 @@ Derived from [Screen](#Screen)
Type | Name | Description
---- | ---- | -----------
-[TextureRenderingInfo](#TextureRenderingInfo) | [unknown4](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=unknown4) |
-float | [darkness](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=darkness) |
+[TextureRenderingInfo](#TextureRenderingInfo) | [blackout_background](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=blackout_background) |
+float | [blackout_alpha](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=blackout_alpha) |
bool | [active](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=active) | ends the intro immediately if set to false
bool | [skip_prologue](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=skip_prologue) | skips prologue and goes straight to the title screen after the intro
@@ -2412,6 +2375,8 @@ Type | Name | Description
[TextureRenderingInfo](#TextureRenderingInfo) | [logo_mossmouth](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=logo_mossmouth) |
[TextureRenderingInfo](#TextureRenderingInfo) | [logo_blitworks](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=logo_blitworks) |
[TextureRenderingInfo](#TextureRenderingInfo) | [logo_fmod](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=logo_fmod) |
+int | [state](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=state) | 0 - mossmouth, 1 - blitworks, 2 - fmod, 3 - end (next screen)
+int | [timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=timer) |
### ScreenMenu
@@ -2446,8 +2411,8 @@ float | [cthulhu_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q
int | [selected_menu_index](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=selected_menu_index) |
int | [sides_hold_down_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=sides_hold_down_timer) |
int | [sides_fast_scroll_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=sides_fast_scroll_timer) |
-bool | [loop](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=loop) |
-int | [menu_id](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=menu_id) |
+bool | [loop](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=loop) | Allow going up from first to last option
+int | [menu_id](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=menu_id) | 0 = main menu, 1 = play, 2 = online
int | [transfer_to_menu_id](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=transfer_to_menu_id) |
float | [menu_text_opacity](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=menu_text_opacity) |
array<float, 6> | [spear_position](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=spear_position) |
@@ -2476,22 +2441,7 @@ Derived from [Screen](#Screen)
Type | Name | Description
---- | ---- | -----------
-float | [bottom_woodpanel_slideup_speed](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_woodpanel_slideup_speed) |
-float | [bottom_woodpanel_slideup](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_woodpanel_slideup) |
-float | [scroll_unfurl](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=scroll_unfurl) |
-float | [bottom_woodpanel_y_offset](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_woodpanel_y_offset) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [woodpanel_bottom](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanel_bottom) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [woodpanel_top](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanel_top) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [scroll](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=scroll) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [left_scroll_handle](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=left_scroll_handle) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [right_scroll_handle](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=right_scroll_handle) |
-[STRINGID](#Aliases) | [scroll_text](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=scroll_text) |
-[STRINGID](#Aliases) | [bottom_left_text](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_left_text) |
-[STRINGID](#Aliases) | [bottom_right_text](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_right_text) |
-[STRINGID](#Aliases) | [bottom_middle_text](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_middle_text) |
-bool | [show_top_woodpanel](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=show_top_woodpanel) |
-bool | [show_bottom_woodpanel](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=show_bottom_woodpanel) |
-bool | [slide_in_bottom_woodpanel](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=slide_in_bottom_woodpanel) |
+[MenuScreenPanels](#MenuScreenPanels) | [screen_panels](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=screen_panels) |
array<[OnlineLobbyScreenPlayer](#OnlineLobbyScreenPlayer), 4> | [players](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=players) |
[TextureRenderingInfo](#TextureRenderingInfo) | [background_image](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=background_image) |
[TextureRenderingInfo](#TextureRenderingInfo) | [topleft_woodpanel_esc](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=topleft_woodpanel_esc) |
@@ -2526,28 +2476,11 @@ int | [fast_scroll_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua
int | [selected_menu_index](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=selected_menu_index) |
int | [sides_hold_down_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=sides_hold_down_timer) |
int | [sides_fast_scroll_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=sides_fast_scroll_timer) |
-bool | [loop](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=loop) |
-float | [top_bottom_woodpanels_velocity](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=top_bottom_woodpanels_velocity) |
-float | [top_bottom_woodpanels_progress](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=top_bottom_woodpanels_progress) |
-float | [scroll_unfurl_progress](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=scroll_unfurl_progress) |
-float | [bottom_woodpanel_speed_multiplayer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_woodpanel_speed_multiplayer) |
-float | [bottom_woodpanel_y_offset](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_woodpanel_y_offset) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [bottom_woodpanel](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_woodpanel) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [top_woodpanel](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=top_woodpanel) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [scroll](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=scroll) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [top_woodpanel_left_scrollhandle](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=top_woodpanel_left_scrollhandle) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [top_woodpanel_right_scrollhandle](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=top_woodpanel_right_scrollhandle) |
-[STRINGID](#Aliases) | [scroll_text](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=scroll_text) |
-[STRINGID](#Aliases) | [bottom_left_text](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_left_text) |
-[STRINGID](#Aliases) | [bottom_right_text](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_right_text) |
-[STRINGID](#Aliases) | [bottom_middle_text](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_middle_text) |
-bool | [top_woodpanel_visible](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=top_woodpanel_visible) |
-bool | [bottom_woodpanel_visible](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_woodpanel_visible) |
-bool | [toggle_woodpanel_slidein_animation](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=toggle_woodpanel_slidein_animation) |
-bool | [capitalize_top_woodpanel](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=capitalize_top_woodpanel) |
+bool | [loop](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=loop) | Allow going up from first to last option
+[MenuScreenPanels](#MenuScreenPanels) | [screen_panels](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=screen_panels) |
int | [menu_id](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=menu_id) |
int | [transfer_to_menu_id](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=transfer_to_menu_id) |
-[GraphicandAudioSettings](#GraphicandAudioSettings) | [graphic_and_audio](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=graphic_and_audio) |
+bool | [show_apply_button](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=show_apply_button) |
[TextureRenderingInfo](#TextureRenderingInfo) | [topleft_woodpanel_esc](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=topleft_woodpanel_esc) |
[TextureRenderingInfo](#TextureRenderingInfo) | [brick_background](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=brick_background) |
[TextureRenderingInfo](#TextureRenderingInfo) | [brick_middlelayer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=brick_middlelayer) |
@@ -2562,11 +2495,19 @@ int | [transfer_to_menu_id](https://github.com/spelunky-fyi/overlunky/search?l=L
[TextureRenderingInfo](#TextureRenderingInfo) | [progressbar_foreground](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=progressbar_foreground) |
[TextureRenderingInfo](#TextureRenderingInfo) | [volume_progressbar_position_indicator](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=volume_progressbar_position_indicator) |
[TextureRenderingInfo](#TextureRenderingInfo) | [sectionheader_background](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=sectionheader_background) |
+[TextureRenderingInfo](#TextureRenderingInfo) | [pet_icons](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=pet_icons) | In "Gameplay" menu
+[TextureRenderingInfo](#TextureRenderingInfo) | [bottom_scroll](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_scroll) | For the code in the sync menu
+[TextureRenderingInfo](#TextureRenderingInfo) | [bottom_left_scrollhandle](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_left_scrollhandle) |
+[TextureRenderingInfo](#TextureRenderingInfo) | [bottom_right_scrollhandle](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bottom_right_scrollhandle) |
+float | [topleft_woodpanel_esc_slidein](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=topleft_woodpanel_esc_slidein) |
float | [text_fadein](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=text_fadein) |
float | [vertical_scroll_effect](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=vertical_scroll_effect) |
-bool | [items_visiable](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=items_visiable) |
+bool | [options_visiable](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=options_visiable) |
bool | [show_highlight](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=show_highlight) | Shows the red background behind the option, the scarab on the left and left/right arrows
vector<[STRINGID](#Aliases)> | [tooltip_text](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=tooltip_text) |
+bool | [disable_controls](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=disable_controls) | Used for sync progress
+int | [sync_progress_state](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=sync_progress_state) | 0 - none, 1 - waiting for the code, 2 - code acquired, 3 - sync in progress, 4 - sync completed
+float | [credits_progression](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=credits_progression) |
### ScreenPrologue
@@ -2633,17 +2574,18 @@ Derived from [Screen](#Screen)
Type | Name | Description
---- | ---- | -----------
-[TextureRenderingInfo](#TextureRenderingInfo) | [ana_carrying_torch](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=ana_carrying_torch) |
+[TextureRenderingInfo](#TextureRenderingInfo) | [player_portrait](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=player_portrait) |
[TextureRenderingInfo](#TextureRenderingInfo) | [scroll_bottom_left](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=scroll_bottom_left) |
[TextureRenderingInfo](#TextureRenderingInfo) | [scrollend_bottom_left](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=scrollend_bottom_left) |
[TextureRenderingInfo](#TextureRenderingInfo) | [four_ropes](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=four_ropes) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [unknown4](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=unknown4) |
+[TextureRenderingInfo](#TextureRenderingInfo) | [gems_above_the_ropes](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=gems_above_the_ropes) |
[TextureRenderingInfo](#TextureRenderingInfo) | [four_characters](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=four_characters) |
[TextureRenderingInfo](#TextureRenderingInfo) | [left_arrow](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=left_arrow) |
[TextureRenderingInfo](#TextureRenderingInfo) | [right_arrow](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=right_arrow) |
[TextureRenderingInfo](#TextureRenderingInfo) | [start_panel](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=start_panel) |
[TextureRenderingInfo](#TextureRenderingInfo) | [go_back_wooden_panel](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=go_back_wooden_panel) |
-float | [start_panel_slide_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=start_panel_slide_timer) |
+float | [start_panel_slide](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=start_panel_slide) |
+float | [go_back_wooden_panel_slide](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=go_back_wooden_panel_slide) |
float | [pulsating_arrows_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=pulsating_arrows_timer) |
int | [selected_player](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=selected_player) |
int | [buttons](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=buttons) |
@@ -2666,6 +2608,7 @@ Type | Name | Description
[ParticleEmitterInfo](#ParticleEmitterInfo) | [particle_torchflame_backflames_animated](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=particle_torchflame_backflames_animated) |
[ParticleEmitterInfo](#ParticleEmitterInfo) | [particle_torchflame_flames_animated](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=particle_torchflame_flames_animated) |
[ParticleEmitterInfo](#ParticleEmitterInfo) | [particle_torchflame_ash](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=particle_torchflame_ash) |
+float | [brightness](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=brightness) |
[SoundMeta](#SoundMeta) | [music](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=music) |
[SoundMeta](#SoundMeta) | [torch_sound](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=torch_sound) |
@@ -2680,6 +2623,7 @@ float | [woodpanel_pos](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q
float | [stats_scroll_horizontal_posaa](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=stats_scroll_horizontal_posaa) |
float | [stats_scroll_vertical_pos](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=stats_scroll_vertical_pos) |
float | [level_completed_pos](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=level_completed_pos) |
+float | [stats_scroll_unfurl_actualvalue](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=stats_scroll_unfurl_actualvalue) |
float | [stats_scroll_unfurl_targetvalue](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=stats_scroll_unfurl_targetvalue) |
[TextureRenderingInfo](#TextureRenderingInfo) | [woodpanel1](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanel1) |
[TextureRenderingInfo](#TextureRenderingInfo) | [woodpanel2](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanel2) |
@@ -2691,7 +2635,7 @@ float | [stats_scroll_unfurl_targetvalue](https://github.com/spelunky-fyi/overlu
[TextureRenderingInfo](#TextureRenderingInfo) | [woodpanel_bottomcutout1](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanel_bottomcutout1) |
[TextureRenderingInfo](#TextureRenderingInfo) | [woodpanel_bottomcutout2](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanel_bottomcutout2) |
[TextureRenderingInfo](#TextureRenderingInfo) | [woodpanel_bottomcutout3](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanel_bottomcutout3) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [unknown_all_forced](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=unknown_all_forced) |
+[TextureRenderingInfo](#TextureRenderingInfo) | [scroll](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=scroll) |
[TextureRenderingInfo](#TextureRenderingInfo) | [stats_scroll_top_bottom](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=stats_scroll_top_bottom) |
[TextureRenderingInfo](#TextureRenderingInfo) | [killcount_rounded_rect](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=killcount_rounded_rect) |
[TextureRenderingInfo](#TextureRenderingInfo) | [level_completed_panel](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=level_completed_panel) |
@@ -2702,6 +2646,7 @@ bool | [hide_press_to_go_next_level](https://github.com/spelunky-fyi/overlunky/s
[TextureRenderingInfo](#TextureRenderingInfo) | [speechbubble](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=speechbubble) |
[TextureRenderingInfo](#TextureRenderingInfo) | [speechbubble_arrow](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=speechbubble_arrow) |
float | [mama_tunnel_fade_targetvalue](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=mama_tunnel_fade_targetvalue) |
+float | [mama_tunnel_fade_targetvalue](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=mama_tunnel_fade_targetvalue) |
[STRINGID](#Aliases) | [mama_tunnel_text_id](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=mama_tunnel_text_id) |
bool | [mama_tunnel_choice_visible](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=mama_tunnel_choice_visible) |
bool | [mama_tunnel_agree_with_gift](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=mama_tunnel_agree_with_gift) |
@@ -2713,7 +2658,7 @@ float | [mama_tunnel_face_transparency](https://github.com/spelunky-fyi/overlunk
[TextureRenderingInfo](#TextureRenderingInfo) | [woodpanel_cutout_big_money2](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanel_cutout_big_money2) |
[TextureRenderingInfo](#TextureRenderingInfo) | [woodpanel_cutout_big_money3](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=woodpanel_cutout_big_money3) |
[TextureRenderingInfo](#TextureRenderingInfo) | [big_dollar_sign](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=big_dollar_sign) |
-[TextureRenderingInfo](#TextureRenderingInfo) | [unknown26](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=unknown26) |
+int | [stats_scroll_unfurl_sequence](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=stats_scroll_unfurl_sequence) |
array<int, MAX_PLAYERS> | [player_stats_scroll_numeric_value](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=player_stats_scroll_numeric_value) |
array<[TextureRenderingInfo](#TextureRenderingInfo), MAX_PLAYERS> | [player_secondary_icon](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=player_secondary_icon) |
array<[TextureRenderingInfo](#TextureRenderingInfo), MAX_PLAYERS> | [player_icon](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=player_icon) |
@@ -2722,6 +2667,7 @@ array<int, MAX_PLAYERS> | [player_icon_index](https://github.com/spelunky-
[TextureRenderingInfo](#TextureRenderingInfo) | [hourglasses](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=hourglasses) |
[TextureRenderingInfo](#TextureRenderingInfo) | [small_dollar_signs](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=small_dollar_signs) |
[Color](#Color) | [this_level_money_color](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=this_level_money_color) |
+array<int, MAX_PLAYERS> | [buttons](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=buttons) |
### ScreenWin
@@ -2735,13 +2681,6 @@ int | [frame_timer](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=fra
int | [animation_state](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=animation_state) |
[Entity](#Entity) | [rescuing_ship_entity](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=rescuing_ship_entity) |
-### ScreenZoomAnimation
-
-
-Type | Name | Description
----- | ---- | -----------
-float | [zoom_target](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=zoom_target) |
-
## Sound types
@@ -2846,6 +2785,9 @@ Type | Name | Description
[ScreenCodeInput](#ScreenCodeInput) | [screen_seed_input](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=screen_seed_input) |
[ScreenCamp](#ScreenCamp) | [screen_camp](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=screen_camp) |
[ScreenLevel](#ScreenLevel) | [screen_level](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=screen_level) |
+[Screen](#Screen) | [screen_transition](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=screen_transition) |
+[Screen](#Screen) | [screen_arena_level](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=screen_arena_level) |
+[Screen](#Screen) | [screen_arena_score](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=screen_arena_score) |
[ScreenOnlineLoading](#ScreenOnlineLoading) | [screen_online_loading](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=screen_online_loading) |
[ScreenOnlineLobby](#ScreenOnlineLobby) | [screen_online_lobby](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=screen_online_lobby) |
[PauseUI](#PauseUI) | [pause_ui](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=pause_ui) |
diff --git a/src/game_api/game_manager.hpp b/src/game_api/game_manager.hpp
index 2d5969762..7ce23b72d 100644
--- a/src/game_api/game_manager.hpp
+++ b/src/game_api/game_manager.hpp
@@ -34,6 +34,7 @@ struct JournalPopupUI
uint32_t entry_to_show; // use the odd entry of the left hand page
uint32_t timer;
float slide_position;
+ uint8_t unknown;
};
struct SaveRelated
@@ -136,9 +137,9 @@ struct GameProps
// uint8_t padding_probably1[3];
- int32_t next_player_entrence;
- int8_t unknown13a; // -1 (leader player slot?)
- int8_t unknown13b;
+ int32_t next_player_entrence; // unsure?
+ int8_t unknown13a; // -1
+ int8_t unknown13b; // bool?
// uint8_t padding_probably2[2];
@@ -189,7 +190,7 @@ struct GameManager
size_t unknown_screen_team_select; // available in State
ScreenCamp* screen_camp;
ScreenLevel* screen_level;
- size_t* screen_transition; // available in State, but it's a different object! this one only has a render_timer
+ Screen* screen_transition; // available in State, but it's a different object! this one only has a render_timer
size_t unknown_screen_death; // available in State
size_t unknown_screen_spaceship; // (also not) available in State
size_t unknown_screen_win; // available in State
@@ -203,7 +204,7 @@ struct GameManager
size_t unknown_screen_arena_select; // available in State
size_t unknown_screen_arena_intro; // available in State
Screen* screen_arena_level; // also available in State, but it's a different object! Seams to only call pause function at the start, probably for the intro stuff
- size_t* unknown_screen_arena_score; // available in State
+ Screen* screen_arena_score; // available in State
ScreenOnlineLoading* screen_online_loading;
ScreenOnlineLobby* screen_online_lobby;
PauseUI* pause_ui;
diff --git a/src/game_api/screen.hpp b/src/game_api/screen.hpp
index c03d4430e..89ad8aa04 100644
--- a/src/game_api/screen.hpp
+++ b/src/game_api/screen.hpp
@@ -17,6 +17,56 @@ struct SoundMeta;
struct MultiLineTextRendering;
class Entity;
+struct MenuScreenPanels
+{
+ float woodpanels_velocity;
+ float woodpanels_progress;
+ float scroll_unfurl_progress;
+ float bottom_woodpanel_speed_multiplayer;
+ float bottom_woodpanel_y_offset; // maybe a resolution thing?
+ TextureRenderingInfo bottom_woodpanel;
+ TextureRenderingInfo top_woodpanel;
+ TextureRenderingInfo scroll;
+ TextureRenderingInfo top_woodpanel_left_scrollhandle;
+ TextureRenderingInfo top_woodpanel_right_scrollhandle;
+
+ STRINGID scroll_text;
+ STRINGID bottom_left_text;
+ STRINGID bottom_right_text;
+ STRINGID bottom_middle_text;
+ bool top_woodpanel_visible;
+ bool bottom_woodpanel_visible;
+ bool toggle_woodpanel_slidein_animation;
+ bool capitalize_scroll_text;
+};
+
+struct ScreenControls
+{
+ bool up;
+ bool down;
+ bool left;
+ bool right;
+ /// -1 - none, 0 - UP, 1 - DOWN, 2 - LEFT, 3 - RIGHT
+ uint32_t direction_input;
+ /// Delay after which fast scroll activates (can stop at different value, only matters when you hold down the direction button)
+ uint32_t hold_down_timer;
+ uint32_t fast_scroll_timer;
+};
+
+// probably common thing, right now only used in the arena screen
+struct ScreenZoomAnimation
+{
+ float unknown1;
+ float unknown2;
+ float unknown3;
+ float unknown4;
+ float unknown5;
+ uint32_t image; /* unsure*/ // probably wrong
+ uint32_t unknown6;
+ float zoom_timer;
+ float zoom_target;
+};
+
class Screen
{
public:
@@ -57,8 +107,8 @@ class ScreenLogo : public Screen // ID: 0
class ScreenIntro : public Screen // ID: 1
{
public:
- TextureRenderingInfo unknown4;
- float darkness;
+ TextureRenderingInfo blackout_background;
+ float blackout_alpha;
/// ends the intro immediately if set to false
bool active;
/// skips prologue and goes straight to the title screen after the intro
@@ -76,29 +126,6 @@ class ScreenPrologue : public Screen // ID: 2
float line3_alpha;
};
-struct MenuScreenPanels
-{
- float woodpanels_velocity;
- float woodpanels_progress;
- float scroll_unfurl_progress;
- float bottom_woodpanel_speed_multiplayer;
- float bottom_woodpanel_y_offset; // maybe a resolution thing?
- TextureRenderingInfo bottom_woodpanel;
- TextureRenderingInfo top_woodpanel;
- TextureRenderingInfo scroll;
- TextureRenderingInfo top_woodpanel_left_scrollhandle;
- TextureRenderingInfo top_woodpanel_right_scrollhandle;
-
- STRINGID scroll_text;
- STRINGID bottom_left_text;
- STRINGID bottom_right_text;
- STRINGID bottom_middle_text;
- bool top_woodpanel_visible;
- bool bottom_woodpanel_visible;
- bool toggle_woodpanel_slidein_animation;
- bool capitalize_scroll_text;
-};
-
class ScreenTitle : public Screen // ID: 3
{
public:
@@ -124,19 +151,6 @@ struct SpearDanglerAnimFrames
uint32_t row;
};
-struct ScreenControls
-{
- bool up;
- bool down;
- bool left;
- bool right;
- /// -1 - none, 0 - UP, 1 - DOWN, 2 - LEFT, 3 - RIGHT
- uint32_t direction_input;
- /// Delay after which fast scroll activates (can stop at different value, only matters when you hold down the direction button)
- uint32_t hold_down_timer;
- uint32_t fast_scroll_timer;
-};
-
struct MenuOption
{
// return and first param are the same, pointer on stack, it really seam to be just two 32bit fields
@@ -217,11 +231,13 @@ class ScreenMenu : public Screen // ID: 4
// uint8_t padding_probably[2];
uint32_t unknown27; // pressed direction? 1 = left, 0 = right, no neutral, stays at the last state
- bool loop; // allow going up from first to last option
+ /// Allow going up from first to last option
+ bool loop;
// uint8_t padding_probably[3];
- uint32_t menu_id; // 0 = main menu, 1 = play, 2 = online
+ /// 0 = main menu, 1 = play, 2 = online
+ uint32_t menu_id;
uint32_t transfer_to_menu_id;
float menu_text_opacity;
std::array spear_position;
@@ -275,6 +291,7 @@ class ScreenOptions : public Screen // ID: 5
uint8_t sides_fast_scroll_timer;
// uint16_t probably_padding1;
uint32_t unknown0; // pressed direction? 1 = left, 0 = right, no neutral, stays at the last state
+ /// Allow going up from first to last option
bool loop;
// uint8_t probably_padding2[3];
@@ -334,7 +351,7 @@ class ScreenOptions : public Screen // ID: 5
float text_fadein;
float vertical_scroll_effect;
uint8_t unknown49; // small random timer
- bool items_visiable;
+ bool options_visiable;
/// Shows the red background behind the option, the scarab on the left and left/right arrows
bool show_highlight;
// uint8_t padding_probably8[5];
@@ -438,7 +455,7 @@ class ScreenCharacterSelect : public Screen // ID: 9
float main_background_zoom_related1;
uint32_t main_background_zoom_related2;
uint32_t unknown10;
- float main_background_zoom_timer;
+ float main_background_zoom_progress;
float main_background_zoom_target;
float blurred_border_zoom;
float unknown14;
@@ -450,7 +467,7 @@ class ScreenCharacterSelect : public Screen // ID: 9
uint8_t unknown20;
uint8_t unknown21;
uint8_t unknown22;
- float blurred_border_zoom_timer;
+ float blurred_border_zoom_progress;
float blurred_border_zoom_target;
MenuScreenPanels screen_panels;
@@ -625,7 +642,7 @@ class ScreenTransition : public Screen // ID: 13
float mama_tunnel_fade_actualvalue;
float mama_tunnel_fade_targetvalue;
STRINGID mama_tunnel_text_id;
- uint16_t mama_tunnel_text_buffer[256]; // UTF16 string
+ char16_t mama_tunnel_text_buffer[256]; // UTF16 string
bool mama_tunnel_choice_visible;
bool mama_tunnel_agree_with_gift;
bool mama_tunnel_face_invisible;
@@ -639,8 +656,8 @@ class ScreenTransition : public Screen // ID: 13
TextureRenderingInfo big_dollar_sign;
TextureRenderingInfo unknown26;
- uint16_t string_buffer[130]; // UTF16 string
- uint32_t stats_scroll_unfurl_sequence_timer;
+ char16_t string_buffer[130]; // UTF16 string
+ uint32_t stats_scroll_unfurl_sequence;
uint32_t unknown30;
uint32_t unknown31;
@@ -658,12 +675,12 @@ class ScreenTransition : public Screen // ID: 13
TextureRenderingInfo hourglasses;
TextureRenderingInfo small_dollar_signs;
- uint16_t string_buffer_this_level_time[10]; // UTF16 string
- uint16_t string_buffer_total_time[10]; // UTF16 string
- uint16_t string_buffer_this_level_milliseconds[5]; // UTF16 string
- uint16_t string_buffer_total_milliseconds[5]; // UTF16 string
- uint16_t string_buffer_this_level_money[10]; // UTF16 string
- uint16_t string_buffer_total_money[10]; // UTF16 string
+ char16_t string_buffer_this_level_time[10]; // UTF16 string
+ char16_t string_buffer_total_time[10]; // UTF16 string
+ char16_t string_buffer_this_level_milliseconds[5]; // UTF16 string
+ char16_t string_buffer_total_milliseconds[5]; // UTF16 string
+ char16_t string_buffer_this_level_money[10]; // UTF16 string
+ char16_t string_buffer_total_money[10]; // UTF16 string
Color this_level_money_color;
@@ -735,22 +752,6 @@ class ScreenRecap : public Screen // ID: 20
uint32_t unknown2;
};
-struct ScreenZoomAnimation
-{
- float unknown1;
- float unknown2;
- float unknown3;
- float unknown4;
- float unknown5;
- uint32_t image; /* unsure*/
- uint32_t unknown6;
- float zoom_timer;
- float zoom_target;
-};
-
-// For the ARENA screens, see screen_arena.hpp
-// Putting them here makes the compiler run out of heap space
-
class ScreenOnlineLoading : public Screen // ID: 28
{
public:
@@ -849,8 +850,7 @@ struct MenuInsert
struct PauseUI
{
float menu_slidein_progress;
- /// Actually darkened background when you get a prompt asking are you sure about selecting that option
- TextureRenderingInfo blurred_background;
+ TextureRenderingInfo blackout_background;
TextureRenderingInfo woodpanel_left;
TextureRenderingInfo woodpanel_middle;
TextureRenderingInfo woodpanel_right;
@@ -865,8 +865,8 @@ struct PauseUI
MenuInsert* prompt_menu;
bool unknown8;
// uint8_t probably_padding2[3];
- /// This is more like selected_option, it's set when you select an option and the game displays the prompt
- uint32_t previously_selected_menu_index;
+ /// It's set wh game displays the prompt
+ uint32_t selected_option;
bool prompt_visible;
std::array buttons_actions; // per player, so no default menu input
std::array buttons_movement; // per player, so no default menu input
diff --git a/src/game_api/screen_arena.hpp b/src/game_api/screen_arena.hpp
index 0ed191e30..faf8aa69b 100644
--- a/src/game_api/screen_arena.hpp
+++ b/src/game_api/screen_arena.hpp
@@ -142,11 +142,11 @@ class ScreenArenaIntro : public Screen // ID: 25
TextureRenderingInfo background_colors;
TextureRenderingInfo vertical_lines;
TextureRenderingInfo vertical_line_electricity_effect;
- TextureRenderingInfo unknown_all_forced;
+ TextureRenderingInfo unknown_all_forced; // probably scroll
TextureRenderingInfo left_scroll;
TextureRenderingInfo right_scroll;
TextureRenderingInfo unknown1;
- float scroll_unfurl_timer;
+ float scroll_unfurl;
bool waiting; // when false, the cutscene ends and gameplay starts
uint8_t unknown10b;
uint8_t unknown10c;
@@ -252,18 +252,19 @@ struct ScreenArenaScoreUnknown
class ScreenArenaScore : public Screen // ID: 27
{
public:
- uint16_t unknown3a;
+ uint16_t unknown3a; // probably float
uint16_t unknown3b;
- float woodpanel_slide_timer;
- float scroll_unfurl_timer;
+ float woodpanel_slide;
+ float scroll_unfurl;
uint32_t unknown6;
uint32_t unknown7;
uint32_t unknown8;
float unknown9;
+ // similar to the MenuScreenPanels ?
TextureRenderingInfo unknown10;
TextureRenderingInfo woodpanel;
- TextureRenderingInfo unknown_all_forced;
+ TextureRenderingInfo unknown_all_forced; // probably scroll
TextureRenderingInfo woodpanel_left_scroll;
TextureRenderingInfo woodpanel_right_scroll;
diff --git a/src/game_api/script/lua_vm.cpp b/src/game_api/script/lua_vm.cpp
index 9c16ab769..431609537 100644
--- a/src/game_api/script/lua_vm.cpp
+++ b/src/game_api/script/lua_vm.cpp
@@ -2573,11 +2573,9 @@ end
// `page:as_journal_page_bestiary()`
// `page:as_journal_page_items()`
// `page:as_journal_page_traps()`
- // `page:as_journal_page_story()`
// `page:as_journal_page_feats()`
// `page:as_journal_page_deathcause()`
// `page:as_journal_page_deathmenu()`
- // `page:as_journal_page_recap()`
// `page:as_journal_page_playerprofile()`
// `page:as_journal_page_lastgameplayed()`
// SPEECH_BUBBLE
diff --git a/src/game_api/script/usertypes/game_manager_lua.cpp b/src/game_api/script/usertypes/game_manager_lua.cpp
index 4c16e1608..e6c5cdcc2 100644
--- a/src/game_api/script/usertypes/game_manager_lua.cpp
+++ b/src/game_api/script/usertypes/game_manager_lua.cpp
@@ -66,6 +66,9 @@ void register_usertypes(sol::state& lua)
gamemanager_type["screen_seed_input"] = &GameManager::screen_seed_input;
gamemanager_type["screen_camp"] = &GameManager::screen_camp;
gamemanager_type["screen_level"] = &GameManager::screen_level;
+ gamemanager_type["screen_transition"] = &GameManager::screen_transition;
+ gamemanager_type["screen_arena_level"] = &GameManager::screen_arena_level;
+ gamemanager_type["screen_arena_score"] = &GameManager::screen_arena_score;
gamemanager_type["screen_online_loading"] = &GameManager::screen_online_loading;
gamemanager_type["screen_online_lobby"] = &GameManager::screen_online_lobby;
gamemanager_type["pause_ui"] = &GameManager::pause_ui;
diff --git a/src/game_api/script/usertypes/screen_arena_lua.cpp b/src/game_api/script/usertypes/screen_arena_lua.cpp
index fe070ec82..2fc2e4655 100644
--- a/src/game_api/script/usertypes/screen_arena_lua.cpp
+++ b/src/game_api/script/usertypes/screen_arena_lua.cpp
@@ -8,6 +8,7 @@
#include // for move, declval
#include // for min, max
+#include "particles.hpp" //
#include "screen.hpp" // for ScreenZoomAnimation, Screen (ptr only)
#include "screen_arena.hpp" // for ScreenArenaMenu, ScreenArenaStagesSelect
@@ -15,26 +16,10 @@ namespace NScreenArena
{
void register_usertypes(sol::state& lua)
{
- lua.new_usertype(
- "ScreenControls",
- "up",
- &ScreenControls::up,
- "down",
- &ScreenControls::down,
- "left",
- &ScreenControls::left,
- "right",
- &ScreenControls::right,
- "direction_input",
- &ScreenControls::direction_input,
- "hold_down_timer",
- &ScreenControls::hold_down_timer,
- "fast_scroll_timer",
- &ScreenControls::fast_scroll_timer);
-
auto screenarenamenu_type = lua.new_usertype("ScreenArenaMenu", sol::base_classes, sol::bases());
screenarenamenu_type["brick_background_animation"] = &ScreenArenaMenu::brick_background_animation;
screenarenamenu_type["blurry_border_animation"] = &ScreenArenaMenu::blurry_border_animation;
+ screenarenamenu_type["screen_panels"] = &ScreenArenaMenu::screen_panels;
screenarenamenu_type["brick_background"] = &ScreenArenaMenu::brick_background;
screenarenamenu_type["blurry_border"] = &ScreenArenaMenu::blurry_border;
screenarenamenu_type["blurry_border2"] = &ScreenArenaMenu::blurry_border2;
@@ -60,18 +45,15 @@ void register_usertypes(sol::state& lua)
screenarenamenu_type["bottom_left_bricks"] = &ScreenArenaMenu::bottom_left_bricks;
screenarenamenu_type["top_left_esc_panel"] = &ScreenArenaMenu::top_left_esc_panel;
screenarenamenu_type["next_panel"] = &ScreenArenaMenu::next_panel;
+ screenarenamenu_type["option_captions"] = &ScreenArenaMenu::option_captions;
screenarenamenu_type["center_panels_hor_slide_position"] = &ScreenArenaMenu::center_panels_hor_slide_position;
screenarenamenu_type["esc_next_panels_slide_timer"] = &ScreenArenaMenu::esc_next_panels_slide_timer;
screenarenamenu_type["main_panel_vertical_scroll_position"] = &ScreenArenaMenu::main_panel_vertical_scroll_position;
screenarenamenu_type["selected_option_index"] = &ScreenArenaMenu::selected_option_index;
screenarenamenu_type["contols"] = &ScreenArenaMenu::contols;
- lua.new_usertype(
- "ScreenZoomAnimation",
- "zoom_target",
- &ScreenZoomAnimation::zoom_target);
-
auto screenarenastagesselect_type = lua.new_usertype("ScreenArenaStagesSelect", sol::base_classes, sol::bases());
+ screenarenastagesselect_type["screen_panels"] = &ScreenArenaStagesSelect::screen_panels;
screenarenastagesselect_type["buttons"] = &ScreenArenaStagesSelect::buttons;
screenarenastagesselect_type["brick_background"] = &ScreenArenaStagesSelect::brick_background;
screenarenastagesselect_type["info_black_background"] = &ScreenArenaStagesSelect::info_black_background;
@@ -98,10 +80,14 @@ void register_usertypes(sol::state& lua)
screenarenastagesselect_type["players_turn_scroll"] = &ScreenArenaStagesSelect::players_turn_scroll;
screenarenastagesselect_type["players_turn_scroll_handle"] = &ScreenArenaStagesSelect::players_turn_scroll_handle;
screenarenastagesselect_type["grid_player_icon"] = &ScreenArenaStagesSelect::grid_player_icon;
+ screenarenastagesselect_type["stages_to_gay_out"] = &ScreenArenaStagesSelect::stages_to_gay_out;
+ screenarenastagesselect_type["panels_slide_from_both_sides"] = &ScreenArenaStagesSelect::panels_slide_from_both_sides;
+ screenarenastagesselect_type["visibility_all_stages"] = &ScreenArenaStagesSelect::visibility_all_stages;
screenarenastagesselect_type["selected_stage_index"] = &ScreenArenaStagesSelect::selected_stage_index;
screenarenastagesselect_type["contols"] = &ScreenArenaStagesSelect::contols;
auto screenarenaitems_type = lua.new_usertype("ScreenArenaItems", sol::base_classes, sol::bases());
+ screenarenaitems_type["screen_panels"] = &ScreenArenaItems::screen_panels;
screenarenaitems_type["brick_background"] = &ScreenArenaItems::brick_background;
screenarenaitems_type["black_background_bottom_right"] = &ScreenArenaItems::black_background_bottom_right;
screenarenaitems_type["woodpanel_bottom"] = &ScreenArenaItems::woodpanel_bottom;
@@ -117,6 +103,7 @@ void register_usertypes(sol::state& lua)
screenarenaitems_type["item_equipped_badge"] = &ScreenArenaItems::item_equipped_badge;
screenarenaitems_type["item_off_gray_overlay"] = &ScreenArenaItems::item_off_gray_overlay;
screenarenaitems_type["esc_woodpanel"] = &ScreenArenaItems::esc_woodpanel;
+ screenarenaitems_type["items_to_gay_out"] = &ScreenArenaItems::items_to_gay_out;
screenarenaitems_type["center_panels_horizontal_slide_position"] = &ScreenArenaItems::center_panels_horizontal_slide_position;
screenarenaitems_type["esc_panel_slide_timer"] = &ScreenArenaItems::esc_panel_slide_timer;
screenarenaitems_type["selected_item_index"] = &ScreenArenaItems::selected_item_index;
@@ -127,15 +114,15 @@ void register_usertypes(sol::state& lua)
screenarenaintro_type["background_colors"] = &ScreenArenaIntro::background_colors;
screenarenaintro_type["vertical_lines"] = &ScreenArenaIntro::vertical_lines;
screenarenaintro_type["vertical_line_electricity_effect"] = &ScreenArenaIntro::vertical_line_electricity_effect;
- screenarenaintro_type["unknown_all_forced"] = &ScreenArenaIntro::unknown_all_forced;
screenarenaintro_type["left_scroll"] = &ScreenArenaIntro::left_scroll;
screenarenaintro_type["right_scroll"] = &ScreenArenaIntro::right_scroll;
- screenarenaintro_type["scroll_unfurl_timer"] = &ScreenArenaIntro::scroll_unfurl_timer;
+ screenarenaintro_type["scroll_unfurl"] = &ScreenArenaIntro::scroll_unfurl;
screenarenaintro_type["waiting"] = &ScreenArenaIntro::waiting;
screenarenaintro_type["names_opacity"] = &ScreenArenaIntro::names_opacity;
screenarenaintro_type["line_electricity_effect_timer"] = &ScreenArenaIntro::line_electricity_effect_timer;
screenarenaintro_type["state"] = &ScreenArenaIntro::state;
screenarenaintro_type["countdown"] = &ScreenArenaIntro::countdown;
+ screenarenaintro_type["particles"] = &ScreenArenaIntro::particles;
lua.new_usertype(
"ScreenArenaLevel",
@@ -145,15 +132,28 @@ void register_usertypes(sol::state& lua)
&ScreenArenaLevel::get_ready_gray_background,
"get_ready_outline",
&ScreenArenaLevel::get_ready_outline,
+ "particles",
+ &ScreenArenaLevel::particles,
sol::base_classes,
sol::bases());
+ lua.new_usertype(
+ "ScreenArenaScoreLavaBubble",
+ "x",
+ &ScreenArenaScoreLavaBubble::x,
+ "y",
+ &ScreenArenaScoreLavaBubble::y,
+ "timer1",
+ &ScreenArenaScoreLavaBubble::timer1,
+ "timer2",
+ &ScreenArenaScoreLavaBubble::timer2,
+ "visible",
+ &ScreenArenaScoreLavaBubble::visible);
+
auto screenarenascore_type = lua.new_usertype("ScreenArenaScore", sol::base_classes, sol::bases());
- screenarenascore_type["woodpanel_slide_timer"] = &ScreenArenaScore::woodpanel_slide_timer;
- screenarenascore_type["scroll_unfurl_timer"] = &ScreenArenaScore::scroll_unfurl_timer;
- screenarenascore_type["unknown10"] = &ScreenArenaScore::unknown10;
+ screenarenascore_type["woodpanel_slide"] = &ScreenArenaScore::woodpanel_slide;
+ screenarenascore_type["scroll_unfurl"] = &ScreenArenaScore::scroll_unfurl;
screenarenascore_type["woodpanel"] = &ScreenArenaScore::woodpanel;
- screenarenascore_type["unknown_all_forced"] = &ScreenArenaScore::unknown_all_forced;
screenarenascore_type["woodpanel_left_scroll"] = &ScreenArenaScore::woodpanel_left_scroll;
screenarenascore_type["woodpanel_right_scroll"] = &ScreenArenaScore::woodpanel_right_scroll;
screenarenascore_type["text_id_1"] = &ScreenArenaScore::text_id_1;
@@ -169,15 +169,11 @@ void register_usertypes(sol::state& lua)
screenarenascore_type["bottom_lava"] = &ScreenArenaScore::bottom_lava;
screenarenascore_type["players"] = &ScreenArenaScore::players;
screenarenascore_type["player_shadows"] = &ScreenArenaScore::player_shadows;
- screenarenascore_type["unknown24"] = &ScreenArenaScore::unknown24;
- screenarenascore_type["unknown25"] = &ScreenArenaScore::unknown25;
screenarenascore_type["score_counter"] = &ScreenArenaScore::score_counter;
- screenarenascore_type["unknown27"] = &ScreenArenaScore::unknown27;
screenarenascore_type["lava_bubbles"] = &ScreenArenaScore::lava_bubbles;
screenarenascore_type["player_won"] = &ScreenArenaScore::player_won;
screenarenascore_type["victory_jump_y_pos"] = &ScreenArenaScore::victory_jump_y_pos;
screenarenascore_type["victory_jump_velocity"] = &ScreenArenaScore::victory_jump_velocity;
- screenarenascore_type["animation_frame"] = &ScreenArenaScore::animation_frame;
screenarenascore_type["squash_and_celebrate"] = &ScreenArenaScore::squash_and_celebrate;
screenarenascore_type["player_ready"] = &ScreenArenaScore::player_ready;
screenarenascore_type["next_transition_timer"] = &ScreenArenaScore::next_transition_timer;
@@ -185,5 +181,7 @@ void register_usertypes(sol::state& lua)
screenarenascore_type["player_crushing_pillar_height"] = &ScreenArenaScore::player_crushing_pillar_height;
screenarenascore_type["player_create_giblets"] = &ScreenArenaScore::player_create_giblets;
screenarenascore_type["next_sidepanel_slidein_timer"] = &ScreenArenaScore::next_sidepanel_slidein_timer;
+ screenarenascore_type["particles"] = &ScreenArenaScore::particles;
+ screenarenascore_type["lava_bubbles_positions"] = &ScreenArenaScore::lava_bubbles_positions;
}
} // namespace NScreenArena
diff --git a/src/game_api/script/usertypes/screen_lua.cpp b/src/game_api/script/usertypes/screen_lua.cpp
index e9c432653..f6ed822b2 100644
--- a/src/game_api/script/usertypes/screen_lua.cpp
+++ b/src/game_api/script/usertypes/screen_lua.cpp
@@ -31,6 +31,43 @@ void register_usertypes(sol::state& lua)
/// Open the journal on a chapter and page. The main Journal spread is pages 0..1, so most chapters start at 2. Use even page numbers only.
lua["show_journal"] = show_journal;
+ auto screenpanels_type = lua.new_usertype("MenuScreenPanels");
+ screenpanels_type["woodpanels_velocity"] = &MenuScreenPanels::woodpanels_velocity;
+ screenpanels_type["woodpanels_progress"] = &MenuScreenPanels::woodpanels_progress;
+ screenpanels_type["scroll_unfurl_progress"] = &MenuScreenPanels::scroll_unfurl_progress;
+ screenpanels_type["bottom_woodpanel_speed_multiplayer"] = &MenuScreenPanels::bottom_woodpanel_speed_multiplayer;
+ screenpanels_type["bottom_woodpanel_y_offset"] = &MenuScreenPanels::bottom_woodpanel_y_offset;
+ screenpanels_type["bottom_woodpanel"] = &MenuScreenPanels::bottom_woodpanel;
+ screenpanels_type["top_woodpanel"] = &MenuScreenPanels::top_woodpanel;
+ screenpanels_type["scroll"] = &MenuScreenPanels::scroll;
+ screenpanels_type["top_woodpanel_left_scrollhandle"] = &MenuScreenPanels::top_woodpanel_left_scrollhandle;
+ screenpanels_type["top_woodpanel_right_scrollhandle"] = &MenuScreenPanels::top_woodpanel_right_scrollhandle;
+ screenpanels_type["scroll_text"] = &MenuScreenPanels::scroll_text;
+ screenpanels_type["bottom_left_text"] = &MenuScreenPanels::bottom_left_text;
+ screenpanels_type["bottom_right_text"] = &MenuScreenPanels::bottom_right_text;
+ screenpanels_type["bottom_middle_text"] = &MenuScreenPanels::bottom_middle_text;
+ screenpanels_type["top_woodpanel_visible"] = &MenuScreenPanels::top_woodpanel_visible;
+ screenpanels_type["bottom_woodpanel_visible"] = &MenuScreenPanels::bottom_woodpanel_visible;
+ screenpanels_type["toggle_woodpanel_slidein_animation"] = &MenuScreenPanels::toggle_woodpanel_slidein_animation;
+ screenpanels_type["capitalize_scroll_text"] = &MenuScreenPanels::capitalize_scroll_text;
+
+ lua.new_usertype(
+ "ScreenControls",
+ "up",
+ &ScreenControls::up,
+ "down",
+ &ScreenControls::down,
+ "left",
+ &ScreenControls::left,
+ "right",
+ &ScreenControls::right,
+ "direction_input",
+ &ScreenControls::direction_input,
+ "hold_down_timer",
+ &ScreenControls::hold_down_timer,
+ "fast_scroll_timer",
+ &ScreenControls::fast_scroll_timer);
+
lua.new_usertype(
"Screen",
"render_timer",
@@ -76,15 +113,19 @@ void register_usertypes(sol::state& lua)
&ScreenLogo::logo_blitworks,
"logo_fmod",
&ScreenLogo::logo_fmod,
+ "state",
+ &ScreenLogo::state,
+ "timer",
+ &ScreenLogo::timer,
sol::base_classes,
sol::bases());
lua.new_usertype(
"ScreenIntro",
- "unknown4",
- &ScreenIntro::unknown4,
- "darkness",
- &ScreenIntro::darkness,
+ "blackout_background",
+ &ScreenIntro::blackout_background,
+ "blackout_alpha",
+ &ScreenIntro::blackout_alpha,
"active",
&ScreenIntro::active,
"skip_prologue",
@@ -131,6 +172,8 @@ void register_usertypes(sol::state& lua)
&ScreenTitle::particle_torchflame_flames_animated,
"particle_torchflame_ash",
&ScreenTitle::particle_torchflame_ash,
+ "brightness",
+ &ScreenTitle::brightness,
"music",
&ScreenTitle::music,
"torch_sound",
@@ -195,9 +238,10 @@ void register_usertypes(sol::state& lua)
screenoptions_type["sides_hold_down_timer"] = &ScreenOptions::sides_hold_down_timer;
screenoptions_type["sides_fast_scroll_timer"] = &ScreenOptions::sides_fast_scroll_timer;
screenoptions_type["loop"] = &ScreenOptions::loop;
+ screenoptions_type["screen_panels"] = &ScreenOptions::screen_panels;
screenoptions_type["menu_id"] = &ScreenOptions::current_menu_id;
screenoptions_type["transfer_to_menu_id"] = &ScreenOptions::transfer_to_menu_id;
- screenoptions_type["graphic_and_audio"] = &ScreenOptions::graphic_and_audio;
+ screenoptions_type["show_apply_button"] = &ScreenOptions::show_apply_button;
screenoptions_type["topleft_woodpanel_esc"] = &ScreenOptions::topleft_woodpanel_esc;
screenoptions_type["brick_background"] = &ScreenOptions::brick_background;
screenoptions_type["brick_middlelayer"] = &ScreenOptions::brick_middlelayer;
@@ -212,28 +256,26 @@ void register_usertypes(sol::state& lua)
screenoptions_type["progressbar_foreground"] = &ScreenOptions::progressbar_foreground;
screenoptions_type["volume_progressbar_position_indicator"] = &ScreenOptions::volume_progressbar_position_indicator;
screenoptions_type["sectionheader_background"] = &ScreenOptions::sectionheader_background;
+ screenoptions_type["pet_icons"] = &ScreenOptions::pet_icons;
+ screenoptions_type["bottom_scroll"] = &ScreenOptions::bottom_scroll;
+ screenoptions_type["bottom_left_scrollhandle"] = &ScreenOptions::bottom_left_scrollhandle;
+ screenoptions_type["bottom_right_scrollhandle"] = &ScreenOptions::bottom_right_scrollhandle;
+ screenoptions_type["topleft_woodpanel_esc_slidein"] = &ScreenOptions::topleft_woodpanel_esc_slidein;
screenoptions_type["text_fadein"] = &ScreenOptions::text_fadein;
screenoptions_type["vertical_scroll_effect"] = &ScreenOptions::vertical_scroll_effect;
- screenoptions_type["items_visiable"] = &ScreenOptions::items_visiable;
+ screenoptions_type["options_visiable"] = &ScreenOptions::options_visiable;
screenoptions_type["show_highlight"] = &ScreenOptions::show_highlight;
screenoptions_type["tooltip_text"] = &ScreenOptions::tooltip_text;
-
- lua.new_usertype(
- "GraphicandAudioSettings",
- "fullscreen_resolution_id",
- &GraphicandAudioSettings::fullscreen_resolution_id,
- "windowed_resolution_id",
- &GraphicandAudioSettings::windowed_resolution_id,
- "resolution_scale",
- &GraphicandAudioSettings::resolution_scale,
- "display_mode",
- &GraphicandAudioSettings::display_mode);
+ screenoptions_type["disable_controls"] = &ScreenOptions::disable_controls;
+ screenoptions_type["sync_progress_state"] = &ScreenOptions::sync_progress_state;
+ screenoptions_type["credits_progression"] = &ScreenOptions::credits_progression;
auto screenseedinput_type = lua.new_usertype("ScreenCodeInput", sol::base_classes, sol::bases());
+ screenseedinput_type["screen_panels"] = &ScreenCodeInput::screen_panels;
screenseedinput_type["allow_random"] = &ScreenCodeInput::allow_random;
screenseedinput_type["selected_button_index"] = &ScreenCodeInput::selected_button_index;
screenseedinput_type["pressed_select"] = &ScreenCodeInput::pressed_select;
- screenseedinput_type["topleft_woodpanel_esc_slidein_timer"] = &ScreenCodeInput::topleft_woodpanel_esc_slidein;
+ screenseedinput_type["topleft_woodpanel_esc_slidein"] = &ScreenCodeInput::topleft_woodpanel_esc_slidein;
screenseedinput_type["scroll_text_id"] = &ScreenCodeInput::scroll_text_id;
screenseedinput_type["start_text_id"] = &ScreenCodeInput::start_text_id;
screenseedinput_type["main_woodpanel_left_border"] = &ScreenCodeInput::main_woodpanel_left_border;
@@ -245,14 +287,38 @@ void register_usertypes(sol::state& lua)
screenseedinput_type["key_background"] = &ScreenCodeInput::key_background;
screenseedinput_type["topleft_woodpanel_esc"] = &ScreenCodeInput::topleft_woodpanel_esc;
screenseedinput_type["start_sidepanel"] = &ScreenCodeInput::start_sidepanel;
- screenseedinput_type["start_sidepanel_slidein_timer"] = &ScreenCodeInput::start_sidepanel_slidein;
+ screenseedinput_type["start_sidepanel_slidein"] = &ScreenCodeInput::start_sidepanel_slidein;
screenseedinput_type["seed_length"] = &ScreenCodeInput::code_length;
screenseedinput_type["get_seed"] = &ScreenCodeInput::get_seed;
screenseedinput_type["set_seed"] = &ScreenCodeInput::set_seed;
+ lua.new_usertype(
+ "FlyingThing",
+ "texture_info",
+ &FlyingThing::texture_info,
+ "entity_type",
+ &FlyingThing::entity_type,
+ "spritesheet_column",
+ &FlyingThing::spritesheet_column,
+ "spritesheet_row",
+ &FlyingThing::spritesheet_row,
+ "spritesheet_animation_length",
+ &FlyingThing::spritesheet_animation_length,
+ "velocity_x",
+ &FlyingThing::velocity_x,
+ "amplitude",
+ &FlyingThing::amplitude,
+ "frequency",
+ &FlyingThing::frequency,
+ "sinewave_angle",
+ &FlyingThing::sinewave_angle);
+
auto screencharacterselect_type = lua.new_usertype("ScreenCharacterSelect", sol::base_classes, sol::bases());
+ screencharacterselect_type["main_background_zoom_progress"] = &ScreenCharacterSelect::main_background_zoom_progress;
screencharacterselect_type["main_background_zoom_target"] = &ScreenCharacterSelect::main_background_zoom_target;
+ screencharacterselect_type["blurred_border_zoom_progress"] = &ScreenCharacterSelect::blurred_border_zoom_progress;
screencharacterselect_type["blurred_border_zoom_target"] = &ScreenCharacterSelect::blurred_border_zoom_target;
+ screencharacterselect_type["screen_panels"] = &ScreenCharacterSelect::screen_panels;
screencharacterselect_type["mine_entrance_background"] = &ScreenCharacterSelect::mine_entrance_background;
screencharacterselect_type["character"] = &ScreenCharacterSelect::character;
screencharacterselect_type["character_shadow"] = &ScreenCharacterSelect::character_shadow;
@@ -281,12 +347,15 @@ void register_usertypes(sol::state& lua)
screencharacterselect_type["topleft_woodpanel_esc_slidein"] = &ScreenCharacterSelect::topleft_woodpanel_esc_slidein;
screencharacterselect_type["start_panel_slidein"] = &ScreenCharacterSelect::start_panel_slidein;
screencharacterselect_type["action_buttons_keycap_size"] = &ScreenCharacterSelect::action_buttons_keycap_size;
+ screencharacterselect_type["next_screen_to_load"] = &ScreenCharacterSelect::next_screen_to_load;
screencharacterselect_type["not_ready_to_start_yet"] = &ScreenCharacterSelect::not_ready_to_start_yet;
screencharacterselect_type["available_mine_entrances"] = &ScreenCharacterSelect::available_mine_entrances;
screencharacterselect_type["amount_of_mine_entrances_activated"] = &ScreenCharacterSelect::amount_of_mine_entrances_activated;
- screencharacterselect_type["buttons"] = &ScreenCharacterSelect::buttons;
+ screencharacterselect_type["screen_blackout"] = &ScreenCharacterSelect::screen_blackout;
+ screencharacterselect_type["blackout_transparency"] = &ScreenCharacterSelect::blackout_transparency;
screencharacterselect_type["start_pressed"] = &ScreenCharacterSelect::start_pressed;
screencharacterselect_type["transition_to_game_started"] = &ScreenCharacterSelect::transition_to_game_started;
+ screencharacterselect_type["disable_controls"] = &ScreenCharacterSelect::disable_controls;
screencharacterselect_type["flying_things"] = &ScreenCharacterSelect::flying_things;
screencharacterselect_type["flying_thing_countdown"] = &ScreenCharacterSelect::flying_thing_countdown;
screencharacterselect_type["particle_ceilingdust_smoke"] = &ScreenCharacterSelect::particle_ceilingdust_smoke;
@@ -300,37 +369,22 @@ void register_usertypes(sol::state& lua)
screencharacterselect_type["particle_torchflame_flames3"] = &ScreenCharacterSelect::particle_torchflame_flames3;
screencharacterselect_type["particle_torchflame_smoke4"] = &ScreenCharacterSelect::particle_torchflame_smoke4;
screencharacterselect_type["particle_torchflame_flames4"] = &ScreenCharacterSelect::particle_torchflame_flames4;
-
- lua.new_usertype(
- "FlyingThing",
- "texture_info",
- &FlyingThing::texture_info,
- "entity_type",
- &FlyingThing::entity_type,
- "spritesheet_column",
- &FlyingThing::spritesheet_column,
- "spritesheet_row",
- &FlyingThing::spritesheet_row,
- "spritesheet_animation_length",
- &FlyingThing::spritesheet_animation_length,
- "velocity_x",
- &FlyingThing::velocity_x,
- "amplitude",
- &FlyingThing::amplitude,
- "frequency",
- &FlyingThing::frequency,
- "sinewave_angle",
- &FlyingThing::sinewave_angle);
+ screencharacterselect_type["torch_sound"] = &ScreenCharacterSelect::torch_sound;
+ screencharacterselect_type["buttons"] = &ScreenCharacterSelect::buttons;
auto screenteamselect_type = lua.new_usertype("ScreenTeamSelect", sol::base_classes, sol::bases());
+ screenteamselect_type["player_portrait"] = &ScreenTeamSelect::player_portrait;
screenteamselect_type["scroll_bottom_left"] = &ScreenTeamSelect::scroll_bottom_left;
screenteamselect_type["scrollend_bottom_left"] = &ScreenTeamSelect::scrollend_bottom_left;
screenteamselect_type["four_ropes"] = &ScreenTeamSelect::four_ropes;
+ screenteamselect_type["gems_above_the_ropes"] = &ScreenTeamSelect::gems_above_the_ropes;
screenteamselect_type["four_characters"] = &ScreenTeamSelect::four_characters;
screenteamselect_type["left_arrow"] = &ScreenTeamSelect::left_arrow;
screenteamselect_type["right_arrow"] = &ScreenTeamSelect::right_arrow;
screenteamselect_type["start_panel"] = &ScreenTeamSelect::start_panel;
screenteamselect_type["go_back_wooden_panel"] = &ScreenTeamSelect::go_back_wooden_panel;
+ screenteamselect_type["start_panel_slide"] = &ScreenTeamSelect::start_panel_slide;
+ screenteamselect_type["go_back_wooden_panel_slide"] = &ScreenTeamSelect::go_back_wooden_panel_slide;
screenteamselect_type["pulsating_arrows_timer"] = &ScreenTeamSelect::pulsating_arrows_timer;
screenteamselect_type["selected_player"] = &ScreenTeamSelect::selected_player;
screenteamselect_type["buttons"] = &ScreenTeamSelect::buttons;
@@ -371,6 +425,7 @@ void register_usertypes(sol::state& lua)
screentransition_type["stats_scroll_horizontal_posaa"] = &ScreenTransition::stats_scroll_horizontal_pos;
screentransition_type["stats_scroll_vertical_pos"] = &ScreenTransition::stats_scroll_vertical_pos;
screentransition_type["level_completed_pos"] = &ScreenTransition::level_completed_pos;
+ screentransition_type["stats_scroll_unfurl_actualvalue"] = &ScreenTransition::stats_scroll_unfurl_actualvalue;
screentransition_type["stats_scroll_unfurl_targetvalue"] = &ScreenTransition::stats_scroll_unfurl_targetvalue;
screentransition_type["woodpanel1"] = &ScreenTransition::woodpanel1;
screentransition_type["woodpanel2"] = &ScreenTransition::woodpanel2;
@@ -392,6 +447,7 @@ void register_usertypes(sol::state& lua)
screentransition_type["mama_tunnel"] = &ScreenTransition::mama_tunnel;
screentransition_type["speechbubble"] = &ScreenTransition::speechbubble;
screentransition_type["speechbubble_arrow"] = &ScreenTransition::speechbubble_arrow;
+ screentransition_type["mama_tunnel_fade_targetvalue"] = &ScreenTransition::mama_tunnel_fade_actualvalue;
screentransition_type["mama_tunnel_fade_targetvalue"] = &ScreenTransition::mama_tunnel_fade_targetvalue;
screentransition_type["mama_tunnel_text_id"] = &ScreenTransition::mama_tunnel_text_id;
screentransition_type["mama_tunnel_choice_visible"] = &ScreenTransition::mama_tunnel_choice_visible;
@@ -404,7 +460,7 @@ void register_usertypes(sol::state& lua)
screentransition_type["woodpanel_cutout_big_money2"] = &ScreenTransition::woodpanel_cutout_big_money2;
screentransition_type["woodpanel_cutout_big_money3"] = &ScreenTransition::woodpanel_cutout_big_money3;
screentransition_type["big_dollar_sign"] = &ScreenTransition::big_dollar_sign;
- screentransition_type["unknown26"] = &ScreenTransition::unknown26;
+ screentransition_type["stats_scroll_unfurl_sequence"] = &ScreenTransition::stats_scroll_unfurl_sequence;
screentransition_type["player_stats_scroll_numeric_value"] = &ScreenTransition::player_stats_scroll_numeric_value;
screentransition_type["player_secondary_icon"] = &ScreenTransition::player_secondary_icon;
screentransition_type["player_icon"] = &ScreenTransition::player_icon;
@@ -413,6 +469,7 @@ void register_usertypes(sol::state& lua)
screentransition_type["hourglasses"] = &ScreenTransition::hourglasses;
screentransition_type["small_dollar_signs"] = &ScreenTransition::small_dollar_signs;
screentransition_type["this_level_money_color"] = &ScreenTransition::this_level_money_color;
+ screentransition_type["buttons"] = &ScreenTransition::buttons;
lua.new_usertype(
"ScreenDeath",
@@ -434,6 +491,8 @@ void register_usertypes(sol::state& lua)
lua.new_usertype(
"ScreenCredits",
+ "credits_progression",
+ &ScreenCredits::credits_progression,
"bg_music_info",
&ScreenCredits::bg_music_info,
sol::base_classes,
@@ -517,6 +576,7 @@ void register_usertypes(sol::state& lua)
&OnlineLobbyScreenPlayer::searching);
auto screenonlinelobby_type = lua.new_usertype("ScreenOnlineLobby", sol::base_classes, sol::bases());
+ screenonlinelobby_type["screen_panels"] = &ScreenOnlineLobby::screen_panels;
screenonlinelobby_type["players"] = &ScreenOnlineLobby::players;
screenonlinelobby_type["background_image"] = &ScreenOnlineLobby::background_image;
screenonlinelobby_type["topleft_woodpanel_esc"] = &ScreenOnlineLobby::topleft_woodpanel_esc;
@@ -554,7 +614,7 @@ void register_usertypes(sol::state& lua)
"menu_slidein_progress",
&PauseUI::menu_slidein_progress,
"blurred_background",
- &PauseUI::blurred_background,
+ &PauseUI::blackout_background,
"woodpanel_left",
&PauseUI::woodpanel_left,
"woodpanel_middle",
@@ -567,8 +627,14 @@ void register_usertypes(sol::state& lua)
&PauseUI::scroll,
"confirmation_panel",
&PauseUI::confirmation_panel,
- "previously_selected_menu_index",
- &PauseUI::previously_selected_menu_index,
+ "selected_option",
+ &PauseUI::selected_option,
+ "prompt_visible",
+ &PauseUI::prompt_visible,
+ "buttons_actions",
+ &PauseUI::buttons_actions,
+ "buttons_movement",
+ &PauseUI::buttons_movement,
"visibility",
&PauseUI::visibility);
@@ -590,14 +656,12 @@ void register_usertypes(sol::state& lua)
&JournalUI::arrow_left,
"arrow_right",
&JournalUI::arrow_right,
- "unknown23",
- &JournalUI::unknown23,
"entire_book",
&JournalUI::entire_book,
- "page_timer",
- &JournalUI::page_timer,
"fade_timer",
&JournalUI::fade_timer,
+ "page_timer",
+ &JournalUI::page_timer,
"opacity",
sol::property([](JournalUI& ui) -> float
{
@@ -633,11 +697,9 @@ void register_usertypes(sol::state& lua)
lua["JournalPage"]["as_journal_page_bestiary"] = &JournalPage::as;
lua["JournalPage"]["as_journal_page_items"] = &JournalPage::as;
lua["JournalPage"]["as_journal_page_traps"] = &JournalPage::as;
- lua["JournalPage"]["as_journal_page_story"] = &JournalPage::as;
lua["JournalPage"]["as_journal_page_feats"] = &JournalPage::as;
lua["JournalPage"]["as_journal_page_deathcause"] = &JournalPage::as;
lua["JournalPage"]["as_journal_page_deathmenu"] = &JournalPage::as;
- lua["JournalPage"]["as_journal_page_recap"] = &JournalPage::as;
lua["JournalPage"]["as_journal_page_playerprofile"] = &JournalPage::as;
lua["JournalPage"]["as_journal_page_lastgameplayed"] = &JournalPage::as;
@@ -725,11 +787,6 @@ void register_usertypes(sol::state& lua)
sol::base_classes,
sol::bases());
- lua.new_usertype(
- "JournalPageStory",
- sol::base_classes,
- sol::bases());
-
lua.new_usertype(
"JournalPageFeats",
"chapter_title_text_info",
@@ -765,11 +822,6 @@ void register_usertypes(sol::state& lua)
sol::base_classes,
sol::bases());
- lua.new_usertype(
- "JournalPageRecap",
- sol::base_classes,
- sol::bases());
-
auto journalpageplayerprofile_type = lua.new_usertype("JournalPagePlayerProfile", sol::base_classes, sol::bases());
journalpageplayerprofile_type["player_icon"] = &JournalPagePlayerProfile::player_icon;
journalpageplayerprofile_type["player_icon_id"] = &JournalPagePlayerProfile::player_icon_id;