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;