mirror of
				https://github.com/Zelda64Recomp/Zelda64Recomp.git
				synced 2025-10-30 08:03:03 +00:00 
			
		
		
		
	Reorganized config menu tabs, hide debug menu behind manual config file edit, added missing recompiler config file
This commit is contained in:
		
							parent
							
								
									ff5dd7f50c
								
							
						
					
					
						commit
						0775299aae
					
				
					 11 changed files with 706 additions and 42 deletions
				
			
		
							
								
								
									
										1
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							|  | @ -1,5 +1,6 @@ | ||||||
| # VSCode file settings | # VSCode file settings | ||||||
| .vscode/settings.json | .vscode/settings.json | ||||||
|  | .vscode/c_cpp_properties.json | ||||||
| 
 | 
 | ||||||
| # Input elf and rom files | # Input elf and rom files | ||||||
| *.elf | *.elf | ||||||
|  |  | ||||||
|  | @ -26,9 +26,9 @@ | ||||||
| 			nav-down:#res_auto; | 			nav-down:#res_auto; | ||||||
| 		} | 		} | ||||||
| 	</style> | 	</style> | ||||||
| 	<link type="text/template" href="config_menu/graphics.rml" /> | 	<link type="text/template" href="config_menu/general.rml" /> | ||||||
| 	<link type="text/template" href="config_menu/controls.rml" /> | 	<link type="text/template" href="config_menu/controls.rml" /> | ||||||
| 	<link type="text/template" href="config_menu/control_options.rml" /> | 	<link type="text/template" href="config_menu/graphics.rml" /> | ||||||
| 	<link type="text/template" href="config_menu/sound.rml" /> | 	<link type="text/template" href="config_menu/sound.rml" /> | ||||||
| 	<link type="text/template" href="config_menu/debug.rml" /> | 	<link type="text/template" href="config_menu/debug.rml" /> | ||||||
| </head> | </head> | ||||||
|  | @ -38,12 +38,12 @@ | ||||||
| 			<div class="centered-page" onclick="close_config_menu_backdrop"> | 			<div class="centered-page" onclick="close_config_menu_backdrop"> | ||||||
| 				<div class="centered-page__modal"> | 				<div class="centered-page__modal"> | ||||||
| 					<tabset class="tabs" id="config_tabset"> | 					<tabset class="tabs" id="config_tabset"> | ||||||
| 						<tab class="tab" id="tab_graphics" autofocus> | 						<tab class="tab" autofocus> | ||||||
| 							<div>Graphics</div> | 							<div>General</div> | ||||||
| 							<div class="tab__indicator"></div> | 							<div class="tab__indicator"></div> | ||||||
| 						</tab> | 						</tab> | ||||||
| 						<panel class="config" data-model="graphics_model"> | 						<panel class="config" data-model="general_model"> | ||||||
| 							<template src="config-menu__graphics" /> | 							<template src="config-menu__general" /> | ||||||
| 						</panel> | 						</panel> | ||||||
| 						<tab class="tab"> | 						<tab class="tab"> | ||||||
| 							<div>Controls</div> | 							<div>Controls</div> | ||||||
|  | @ -52,12 +52,12 @@ | ||||||
| 						<panel class="config" data-model="controls_model"> | 						<panel class="config" data-model="controls_model"> | ||||||
| 							<template src="config-menu__controls" /> | 							<template src="config-menu__controls" /> | ||||||
| 						</panel> | 						</panel> | ||||||
| 						<tab class="tab"> | 						<tab class="tab" id="tab_graphics"> | ||||||
| 							<div>Control Options</div> | 							<div>Graphics</div> | ||||||
| 							<div class="tab__indicator"></div> | 							<div class="tab__indicator"></div> | ||||||
| 						</tab> | 						</tab> | ||||||
| 						<panel class="config" data-model="control_options_model"> | 						<panel class="config" data-model="graphics_model"> | ||||||
| 							<template src="config-menu__control-options" /> | 							<template src="config-menu__graphics" /> | ||||||
| 						</panel> | 						</panel> | ||||||
| 						<tab class="tab"> | 						<tab class="tab"> | ||||||
| 							<div>Sound</div> | 							<div>Sound</div> | ||||||
|  | @ -66,11 +66,11 @@ | ||||||
| 						<panel class="config" data-model="sound_options_model"> | 						<panel class="config" data-model="sound_options_model"> | ||||||
| 							<template src="config-menu__sound" /> | 							<template src="config-menu__sound" /> | ||||||
| 						</panel> | 						</panel> | ||||||
| 						<tab class="tab"> | 						<tab class="tab" data-model="debug_model" data-if="debug_enabled"> | ||||||
| 							<div>Debug</div> | 							<div>Debug</div> | ||||||
| 							<div class="tab__indicator"></div> | 							<div class="tab__indicator"></div> | ||||||
| 						</tab> | 						</tab> | ||||||
| 						<panel class="config" data-model="debug_model"> | 						<panel class="config" data-model="debug_model" data-if="debug_enabled"> | ||||||
| 							<template src="config-menu__debug" /> | 							<template src="config-menu__debug" /> | ||||||
| 						</panel> | 						</panel> | ||||||
| 					</tabset> | 					</tabset> | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| <template name="config-menu__control-options"> | <template name="config-menu__general"> | ||||||
|     <head> |     <head> | ||||||
|     </head> |     </head> | ||||||
|     <body> |     <body> | ||||||
|  | @ -7,7 +7,7 @@ | ||||||
|                 <div class="config__row"> |                 <div class="config__row"> | ||||||
|                     <div class="config-option"> |                     <div class="config-option"> | ||||||
|                         <label class="config-option__title">Targeting Mode</label> |                         <label class="config-option__title">Targeting Mode</label> | ||||||
|                         <div class="config-option__list config-option__list"> |                         <div class="config-option__list"> | ||||||
|                             <input type="radio" name="targeting_mode" data-checked="targeting_mode" value="Switch" id="tm_switch"/> |                             <input type="radio" name="targeting_mode" data-checked="targeting_mode" value="Switch" id="tm_switch"/> | ||||||
|                             <label class="config-option__tab-label" for="tm_switch">Switch</label> |                             <label class="config-option__tab-label" for="tm_switch">Switch</label> | ||||||
|                             <input type="radio" name="targeting_mode" data-checked="targeting_mode" value="Hold" id="tm_hold"/> |                             <input type="radio" name="targeting_mode" data-checked="targeting_mode" value="Hold" id="tm_hold"/> | ||||||
|  | @ -16,7 +16,7 @@ | ||||||
|                     </div> |                     </div> | ||||||
|                     <div class="config-option"> |                     <div class="config-option"> | ||||||
|                         <label class="config-option__title">Rumble Strength</label> |                         <label class="config-option__title">Rumble Strength</label> | ||||||
|                         <div class="config-option__list config-option__list"> |                         <div class="config-option__range-wrapper config-option__list"> | ||||||
|                             <label class="config-option__range-label">{{rumble_strength}}</label> |                             <label class="config-option__range-label">{{rumble_strength}}</label> | ||||||
|                             <input class="nav-vert" id="rumble_strength_input" type="range" min="0" max="100" style="flex: 1; margin: 0dp;" data-value="rumble_strength"/> |                             <input class="nav-vert" id="rumble_strength_input" type="range" min="0" max="100" style="flex: 1; margin: 0dp;" data-value="rumble_strength"/> | ||||||
|                         </div> |                         </div> | ||||||
|  | @ -7,7 +7,7 @@ | ||||||
|                 <div class="config__row"> |                 <div class="config__row"> | ||||||
|                     <div class="config-option"> |                     <div class="config-option"> | ||||||
|                         <label class="config-option__title">Resolution</label> |                         <label class="config-option__title">Resolution</label> | ||||||
|                         <div class="config-option__list config-option__list"> |                         <div class="config-option__list"> | ||||||
|                             <input type="radio" name="resolution" data-checked="res_option" value="Original" id="res_original" style="nav-left:none;nav-up:#tab_graphics"/> |                             <input type="radio" name="resolution" data-checked="res_option" value="Original" id="res_original" style="nav-left:none;nav-up:#tab_graphics"/> | ||||||
|                             <label class="config-option__tab-label" for="res_original">Original</label> |                             <label class="config-option__tab-label" for="res_original">Original</label> | ||||||
|                             <input type="radio" name="resolution" data-checked="res_option" value="Original2x" id="res_2x" style="nav-up:#tab_graphics"/> |                             <input type="radio" name="resolution" data-checked="res_option" value="Original2x" id="res_2x" style="nav-up:#tab_graphics"/> | ||||||
|  | @ -18,7 +18,7 @@ | ||||||
|                     </div> |                     </div> | ||||||
|                     <div class="config-option"> |                     <div class="config-option"> | ||||||
|                         <label class="config-option__title">Window Mode</label> |                         <label class="config-option__title">Window Mode</label> | ||||||
|                         <div class="config-option__list config-option__list"> |                         <div class="config-option__list"> | ||||||
|                             <input type="radio" name="windowmode" data-checked="wm_option" value="Windowed" id="wm_windowed" style="nav-up:#tab_graphics"/> |                             <input type="radio" name="windowmode" data-checked="wm_option" value="Windowed" id="wm_windowed" style="nav-up:#tab_graphics"/> | ||||||
|                             <label class="config-option__tab-label" for="wm_windowed">Windowed</label> |                             <label class="config-option__tab-label" for="wm_windowed">Windowed</label> | ||||||
|                             <input type="radio" name="windowmode" data-checked="wm_option" value="Fullscreen" id="wm_fullscreen" style="nav-right:none;nav-up:#tab_graphics"/> |                             <input type="radio" name="windowmode" data-checked="wm_option" value="Fullscreen" id="wm_fullscreen" style="nav-right:none;nav-up:#tab_graphics"/> | ||||||
|  | @ -29,7 +29,7 @@ | ||||||
|                 <div class="config__row"> |                 <div class="config__row"> | ||||||
|                     <div class="config-option"> |                     <div class="config-option"> | ||||||
|                         <label class="config-option__title">Aspect Ratio</label> |                         <label class="config-option__title">Aspect Ratio</label> | ||||||
|                         <div class="config-option__list config-option__list"> |                         <div class="config-option__list"> | ||||||
|                             <input type="radio" name="aspectratio" data-checked="ar_option" value="Original" id="ar_original" style="nav-left:none"/> |                             <input type="radio" name="aspectratio" data-checked="ar_option" value="Original" id="ar_original" style="nav-left:none"/> | ||||||
|                             <label class="config-option__tab-label" for="ar_original">Original</label> |                             <label class="config-option__tab-label" for="ar_original">Original</label> | ||||||
|                             <input type="radio" name="aspectratio" data-checked="ar_option" value="Expand" id="ar_expand" style="nav-up:#res_2x"/> |                             <input type="radio" name="aspectratio" data-checked="ar_option" value="Expand" id="ar_expand" style="nav-up:#res_2x"/> | ||||||
|  | @ -38,7 +38,7 @@ | ||||||
|                     </div> |                     </div> | ||||||
|                     <div class="config-option"> |                     <div class="config-option"> | ||||||
|                         <label class="config-option__title">MS Anti-Aliasing</label> |                         <label class="config-option__title">MS Anti-Aliasing</label> | ||||||
|                         <div class="config-option__list config-option__list"> |                         <div class="config-option__list"> | ||||||
|                             <input type="radio" name="antialiasing" data-checked="msaa_option" value="None" id="msaa_none" style="nav-down:#apply_button"/> |                             <input type="radio" name="antialiasing" data-checked="msaa_option" value="None" id="msaa_none" style="nav-down:#apply_button"/> | ||||||
|                             <label class="config-option__tab-label" for="msaa_none">None</label> |                             <label class="config-option__tab-label" for="msaa_none">None</label> | ||||||
|                             <input type="radio" name="antialiasing" data-checked="msaa_option" value="MSAA2X" id="msaa_2x" style="nav-down:#apply_button"/> |                             <input type="radio" name="antialiasing" data-checked="msaa_option" value="MSAA2X" id="msaa_2x" style="nav-down:#apply_button"/> | ||||||
|  | @ -54,7 +54,7 @@ | ||||||
|                 <div class="config__row"> |                 <div class="config__row"> | ||||||
|                     <div class="config-option"> |                     <div class="config-option"> | ||||||
|                         <label class="config-option__title">Framerate</label> |                         <label class="config-option__title">Framerate</label> | ||||||
|                         <div class="config-option__list config-option__list"> |                         <div class="config-option__list"> | ||||||
|                             <input type="radio" name="refreshrate" data-checked="rr_option" value="Original" id="rr_original" style="nav-left:none;nav-down:#apply_button"/> |                             <input type="radio" name="refreshrate" data-checked="rr_option" value="Original" id="rr_original" style="nav-left:none;nav-down:#apply_button"/> | ||||||
|                             <label class="config-option__tab-label" for="rr_original">Original</label> |                             <label class="config-option__tab-label" for="rr_original">Original</label> | ||||||
|                             <input type="radio" name="refreshrate" data-checked="rr_option" value="Display" id="rr_display" style="nav-down:#apply_button"/> |                             <input type="radio" name="refreshrate" data-checked="rr_option" value="Display" id="rr_display" style="nav-down:#apply_button"/> | ||||||
|  |  | ||||||
|  | @ -14,7 +14,7 @@ | ||||||
|                     </div> |                     </div> | ||||||
|                     <div class="config-option"> |                     <div class="config-option"> | ||||||
|                         <label class="config-option__title">Low Health Beeps</label> |                         <label class="config-option__title">Low Health Beeps</label> | ||||||
|                         <div class="config-option__list config-option__list"> |                         <div class="config-option__list"> | ||||||
|                             <input type="radio" name="lhb" data-checked="low_health_beeps_enabled" value="1" id="lhb_on"/> |                             <input type="radio" name="lhb" data-checked="low_health_beeps_enabled" value="1" id="lhb_on"/> | ||||||
|                             <label class="config-option__tab-label" for="lhb_on">On</label> |                             <label class="config-option__tab-label" for="lhb_on">On</label> | ||||||
|                             <input type="radio" name="lhb" data-checked="low_health_beeps_enabled" value="0" id="lhb_off"/> |                             <input type="radio" name="lhb" data-checked="low_health_beeps_enabled" value="0" id="lhb_off"/> | ||||||
|  |  | ||||||
|  | @ -16,6 +16,9 @@ namespace recomp { | ||||||
|     void reset_graphics_options(); |     void reset_graphics_options(); | ||||||
| 
 | 
 | ||||||
|     std::filesystem::path get_app_folder_path(); |     std::filesystem::path get_app_folder_path(); | ||||||
|  |      | ||||||
|  |     bool get_debug_mode_enabled(); | ||||||
|  |     void set_debug_mode_enabled(bool enabled); | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| #endif | #endif | ||||||
|  | @ -45,9 +45,11 @@ namespace recomp { | ||||||
| 	Menu get_current_menu(); | 	Menu get_current_menu(); | ||||||
| 
 | 
 | ||||||
| 	enum class ConfigSubmenu { | 	enum class ConfigSubmenu { | ||||||
| 		Graphics, | 		General, | ||||||
| 		Controls, | 		Controls, | ||||||
|  | 		Graphics, | ||||||
| 		Audio, | 		Audio, | ||||||
|  | 		Debug, | ||||||
| 		Count | 		Count | ||||||
| 	}; | 	}; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										617
									
								
								overlays.us.rev1.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										617
									
								
								overlays.us.rev1.txt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,617 @@ | ||||||
|  | ..ovl_title | ||||||
|  | ..ovl_select | ||||||
|  | ..ovl_opening | ||||||
|  | ..ovl_file_choose | ||||||
|  | ..ovl_daytelop | ||||||
|  | ..ovl_kaleido_scope | ||||||
|  | ..ovl_player_actor | ||||||
|  | ..ovl_En_Test | ||||||
|  | ..ovl_En_GirlA | ||||||
|  | ..ovl_En_Part | ||||||
|  | ..ovl_En_Light | ||||||
|  | ..ovl_En_Door | ||||||
|  | ..ovl_En_Box | ||||||
|  | ..ovl_En_Pametfrog | ||||||
|  | ..ovl_En_Okuta | ||||||
|  | ..ovl_En_Bom | ||||||
|  | ..ovl_En_Wallmas | ||||||
|  | ..ovl_En_Dodongo | ||||||
|  | ..ovl_En_Firefly | ||||||
|  | ..ovl_En_Horse | ||||||
|  | ..ovl_En_Arrow | ||||||
|  | ..ovl_En_Elf | ||||||
|  | ..ovl_En_Niw | ||||||
|  | ..ovl_En_Tite | ||||||
|  | ..ovl_En_Peehat | ||||||
|  | ..ovl_En_Holl | ||||||
|  | ..ovl_En_Dinofos | ||||||
|  | ..ovl_En_Hata | ||||||
|  | ..ovl_En_Zl1 | ||||||
|  | ..ovl_En_Viewer | ||||||
|  | ..ovl_En_Bubble | ||||||
|  | ..ovl_Door_Shutter | ||||||
|  | ..ovl_En_Boom | ||||||
|  | ..ovl_En_Torch2 | ||||||
|  | ..ovl_En_Minifrog | ||||||
|  | ..ovl_En_St | ||||||
|  | ..ovl_Obj_Wturn | ||||||
|  | ..ovl_En_River_Sound | ||||||
|  | ..ovl_En_Ossan | ||||||
|  | ..ovl_En_Famos | ||||||
|  | ..ovl_En_Bombf | ||||||
|  | ..ovl_En_Am | ||||||
|  | ..ovl_En_Dekubaba | ||||||
|  | ..ovl_En_M_Fire1 | ||||||
|  | ..ovl_En_M_Thunder | ||||||
|  | ..ovl_Bg_Breakwall | ||||||
|  | ..ovl_Door_Warp1 | ||||||
|  | ..ovl_Obj_Syokudai | ||||||
|  | ..ovl_Item_B_Heart | ||||||
|  | ..ovl_En_Dekunuts | ||||||
|  | ..ovl_En_Bbfall | ||||||
|  | ..ovl_Arms_Hook | ||||||
|  | ..ovl_En_Bb | ||||||
|  | ..ovl_Bg_Keikoku_Spr | ||||||
|  | ..ovl_En_Wood02 | ||||||
|  | ..ovl_En_Death | ||||||
|  | ..ovl_En_Minideath | ||||||
|  | ..ovl_En_Vm | ||||||
|  | ..ovl_Demo_Effect | ||||||
|  | ..ovl_Demo_Kankyo | ||||||
|  | ..ovl_En_Floormas | ||||||
|  | ..ovl_En_Rd | ||||||
|  | ..ovl_Bg_F40_Flift | ||||||
|  | ..ovl_Obj_Mure | ||||||
|  | ..ovl_En_Sw | ||||||
|  | ..ovl_Object_Kankyo | ||||||
|  | ..ovl_En_Horse_Link_Child | ||||||
|  | ..ovl_Door_Ana | ||||||
|  | ..ovl_En_Encount1 | ||||||
|  | ..ovl_Demo_Tre_Lgt | ||||||
|  | ..ovl_En_Encount2 | ||||||
|  | ..ovl_En_Fire_Rock | ||||||
|  | ..ovl_Bg_Ctower_Rot | ||||||
|  | ..ovl_Mir_Ray | ||||||
|  | ..ovl_En_Sb | ||||||
|  | ..ovl_En_Bigslime | ||||||
|  | ..ovl_En_Karebaba | ||||||
|  | ..ovl_En_In | ||||||
|  | ..ovl_En_Bom_Chu | ||||||
|  | ..ovl_En_Horse_Game_Check | ||||||
|  | ..ovl_En_Rr | ||||||
|  | ..ovl_En_Fr | ||||||
|  | ..ovl_En_Fishing | ||||||
|  | ..ovl_Obj_Oshihiki | ||||||
|  | ..ovl_Eff_Dust | ||||||
|  | ..ovl_Bg_Umajump | ||||||
|  | ..ovl_En_Insect | ||||||
|  | ..ovl_En_Butte | ||||||
|  | ..ovl_En_Fish | ||||||
|  | ..ovl_Item_Etcetera | ||||||
|  | ..ovl_Arrow_Fire | ||||||
|  | ..ovl_Arrow_Ice | ||||||
|  | ..ovl_Arrow_Light | ||||||
|  | ..ovl_Obj_Kibako | ||||||
|  | ..ovl_Obj_Tsubo | ||||||
|  | ..ovl_En_Ik | ||||||
|  | ..ovl_Demo_Shd | ||||||
|  | ..ovl_En_Dns | ||||||
|  | ..ovl_Elf_Msg | ||||||
|  | ..ovl_En_Honotrap | ||||||
|  | ..ovl_En_Tubo_Trap | ||||||
|  | ..ovl_Obj_Ice_Poly | ||||||
|  | ..ovl_En_Fz | ||||||
|  | ..ovl_En_Kusa | ||||||
|  | ..ovl_Obj_Bean | ||||||
|  | ..ovl_Obj_Bombiwa | ||||||
|  | ..ovl_Obj_Switch | ||||||
|  | ..ovl_Obj_Lift | ||||||
|  | ..ovl_Obj_Hsblock | ||||||
|  | ..ovl_En_Okarina_Tag | ||||||
|  | ..ovl_En_Goroiwa | ||||||
|  | ..ovl_En_Daiku | ||||||
|  | ..ovl_En_Nwc | ||||||
|  | ..ovl_Item_Inbox | ||||||
|  | ..ovl_En_Ge1 | ||||||
|  | ..ovl_Obj_Blockstop | ||||||
|  | ..ovl_En_Sda | ||||||
|  | ..ovl_En_Clear_Tag | ||||||
|  | ..ovl_En_Gm | ||||||
|  | ..ovl_En_Ms | ||||||
|  | ..ovl_En_Hs | ||||||
|  | ..ovl_Bg_Ingate | ||||||
|  | ..ovl_En_Kanban | ||||||
|  | ..ovl_En_Attack_Niw | ||||||
|  | ..ovl_En_Mk | ||||||
|  | ..ovl_En_Owl | ||||||
|  | ..ovl_En_Ishi | ||||||
|  | ..ovl_Obj_Hana | ||||||
|  | ..ovl_Obj_Lightswitch | ||||||
|  | ..ovl_Obj_Mure2 | ||||||
|  | ..ovl_En_Fu | ||||||
|  | ..ovl_En_Stream | ||||||
|  | ..ovl_En_Mm | ||||||
|  | ..ovl_En_Weather_Tag | ||||||
|  | ..ovl_En_Ani | ||||||
|  | ..ovl_En_Js | ||||||
|  | ..ovl_En_Okarina_Effect | ||||||
|  | ..ovl_En_Mag | ||||||
|  | ..ovl_Elf_Msg2 | ||||||
|  | ..ovl_Bg_F40_Swlift | ||||||
|  | ..ovl_En_Kakasi | ||||||
|  | ..ovl_Obj_Makeoshihiki | ||||||
|  | ..ovl_Oceff_Spot | ||||||
|  | ..ovl_En_Torch | ||||||
|  | ..ovl_Shot_Sun | ||||||
|  | ..ovl_Obj_Roomtimer | ||||||
|  | ..ovl_En_Ssh | ||||||
|  | ..ovl_Oceff_Wipe | ||||||
|  | ..ovl_Effect_Ss_Dust | ||||||
|  | ..ovl_Effect_Ss_Kirakira | ||||||
|  | ..ovl_Effect_Ss_Bomb2 | ||||||
|  | ..ovl_Effect_Ss_Blast | ||||||
|  | ..ovl_Effect_Ss_G_Spk | ||||||
|  | ..ovl_Effect_Ss_D_Fire | ||||||
|  | ..ovl_Effect_Ss_Bubble | ||||||
|  | ..ovl_Effect_Ss_G_Ripple | ||||||
|  | ..ovl_Effect_Ss_G_Splash | ||||||
|  | ..ovl_Effect_Ss_G_Fire | ||||||
|  | ..ovl_Effect_Ss_Lightning | ||||||
|  | ..ovl_Effect_Ss_Dt_Bubble | ||||||
|  | ..ovl_Effect_Ss_Hahen | ||||||
|  | ..ovl_Effect_Ss_Stick | ||||||
|  | ..ovl_Effect_Ss_Sibuki | ||||||
|  | ..ovl_Effect_Ss_Stone1 | ||||||
|  | ..ovl_Effect_Ss_Hitmark | ||||||
|  | ..ovl_Effect_Ss_Fhg_Flash | ||||||
|  | ..ovl_Effect_Ss_K_Fire | ||||||
|  | ..ovl_Effect_Ss_Solder_Srch_Ball | ||||||
|  | ..ovl_Effect_Ss_Kakera | ||||||
|  | ..ovl_Effect_Ss_Ice_Piece | ||||||
|  | ..ovl_Effect_Ss_En_Ice | ||||||
|  | ..ovl_Effect_Ss_Fire_Tail | ||||||
|  | ..ovl_Effect_Ss_En_Fire | ||||||
|  | ..ovl_Effect_Ss_Extra | ||||||
|  | ..ovl_Effect_Ss_Dead_Db | ||||||
|  | ..ovl_Effect_Ss_Dead_Dd | ||||||
|  | ..ovl_Effect_Ss_Dead_Ds | ||||||
|  | ..ovl_Oceff_Storm | ||||||
|  | ..ovl_Obj_Demo | ||||||
|  | ..ovl_En_Minislime | ||||||
|  | ..ovl_En_Nutsball | ||||||
|  | ..ovl_Oceff_Wipe2 | ||||||
|  | ..ovl_Oceff_Wipe3 | ||||||
|  | ..ovl_En_Dg | ||||||
|  | ..ovl_En_Si | ||||||
|  | ..ovl_Obj_Comb | ||||||
|  | ..ovl_Obj_Kibako2 | ||||||
|  | ..ovl_En_Hs2 | ||||||
|  | ..ovl_Obj_Mure3 | ||||||
|  | ..ovl_En_Tg | ||||||
|  | ..ovl_En_Wf | ||||||
|  | ..ovl_En_Skb | ||||||
|  | ..ovl_En_Gs | ||||||
|  | ..ovl_Obj_Sound | ||||||
|  | ..ovl_En_Crow | ||||||
|  | ..ovl_En_Cow | ||||||
|  | ..ovl_Oceff_Wipe4 | ||||||
|  | ..ovl_En_Zo | ||||||
|  | ..ovl_Effect_Ss_Ice_Smoke | ||||||
|  | ..ovl_Obj_Makekinsuta | ||||||
|  | ..ovl_En_Ge3 | ||||||
|  | ..ovl_Obj_Hamishi | ||||||
|  | ..ovl_En_Zl4 | ||||||
|  | ..ovl_En_Mm2 | ||||||
|  | ..ovl_Door_Spiral | ||||||
|  | ..ovl_Obj_Pzlblock | ||||||
|  | ..ovl_Obj_Toge | ||||||
|  | ..ovl_Obj_Armos | ||||||
|  | ..ovl_Obj_Boyo | ||||||
|  | ..ovl_En_Grasshopper | ||||||
|  | ..ovl_Obj_Grass | ||||||
|  | ..ovl_Obj_Grass_Carry | ||||||
|  | ..ovl_Obj_Grass_Unit | ||||||
|  | ..ovl_Bg_Fire_Wall | ||||||
|  | ..ovl_En_Bu | ||||||
|  | ..ovl_En_Encount3 | ||||||
|  | ..ovl_En_Jso | ||||||
|  | ..ovl_Obj_Chikuwa | ||||||
|  | ..ovl_En_Knight | ||||||
|  | ..ovl_En_Warp_tag | ||||||
|  | ..ovl_En_Aob_01 | ||||||
|  | ..ovl_En_Boj_01 | ||||||
|  | ..ovl_En_Boj_02 | ||||||
|  | ..ovl_En_Boj_03 | ||||||
|  | ..ovl_En_Encount4 | ||||||
|  | ..ovl_En_Bom_Bowl_Man | ||||||
|  | ..ovl_En_Syateki_Man | ||||||
|  | ..ovl_Bg_Icicle | ||||||
|  | ..ovl_En_Syateki_Crow | ||||||
|  | ..ovl_En_Boj_04 | ||||||
|  | ..ovl_En_Cne_01 | ||||||
|  | ..ovl_En_Bba_01 | ||||||
|  | ..ovl_En_Bji_01 | ||||||
|  | ..ovl_Bg_Spdweb | ||||||
|  | ..ovl_En_Mt_tag | ||||||
|  | ..ovl_Boss_01 | ||||||
|  | ..ovl_Boss_02 | ||||||
|  | ..ovl_Boss_03 | ||||||
|  | ..ovl_Boss_04 | ||||||
|  | ..ovl_Boss_05 | ||||||
|  | ..ovl_Boss_06 | ||||||
|  | ..ovl_Boss_07 | ||||||
|  | ..ovl_Bg_Dy_Yoseizo | ||||||
|  | ..ovl_En_Boj_05 | ||||||
|  | ..ovl_En_Sob1 | ||||||
|  | ..ovl_En_Go | ||||||
|  | ..ovl_En_Raf | ||||||
|  | ..ovl_Obj_Funen | ||||||
|  | ..ovl_Obj_Raillift | ||||||
|  | ..ovl_Bg_Numa_Hana | ||||||
|  | ..ovl_Obj_Flowerpot | ||||||
|  | ..ovl_Obj_Spinyroll | ||||||
|  | ..ovl_Dm_Hina | ||||||
|  | ..ovl_En_Syateki_Wf | ||||||
|  | ..ovl_Obj_Skateblock | ||||||
|  | ..ovl_Effect_En_Ice_Block | ||||||
|  | ..ovl_Obj_Iceblock | ||||||
|  | ..ovl_En_Bigpamet | ||||||
|  | ..ovl_Bg_Dblue_Movebg | ||||||
|  | ..ovl_En_Syateki_Dekunuts | ||||||
|  | ..ovl_Elf_Msg3 | ||||||
|  | ..ovl_En_Fg | ||||||
|  | ..ovl_Dm_Ravine | ||||||
|  | ..ovl_Dm_Sa | ||||||
|  | ..ovl_En_Slime | ||||||
|  | ..ovl_En_Pr | ||||||
|  | ..ovl_Obj_Toudai | ||||||
|  | ..ovl_Obj_Entotu | ||||||
|  | ..ovl_Obj_Bell | ||||||
|  | ..ovl_En_Syateki_Okuta | ||||||
|  | ..ovl_Obj_Shutter | ||||||
|  | ..ovl_Dm_Zl | ||||||
|  | ..ovl_En_Ru | ||||||
|  | ..ovl_En_Elfgrp | ||||||
|  | ..ovl_Dm_Tsg | ||||||
|  | ..ovl_En_Baguo | ||||||
|  | ..ovl_Obj_Vspinyroll | ||||||
|  | ..ovl_Obj_Smork | ||||||
|  | ..ovl_En_Test2 | ||||||
|  | ..ovl_En_Test3 | ||||||
|  | ..ovl_En_Test4 | ||||||
|  | ..ovl_En_Bat | ||||||
|  | ..ovl_En_Sekihi | ||||||
|  | ..ovl_En_Wiz | ||||||
|  | ..ovl_En_Wiz_Brock | ||||||
|  | ..ovl_En_Wiz_Fire | ||||||
|  | ..ovl_Eff_Change | ||||||
|  | ..ovl_Dm_Statue | ||||||
|  | ..ovl_Obj_Fireshield | ||||||
|  | ..ovl_Bg_Ladder | ||||||
|  | ..ovl_En_Mkk | ||||||
|  | ..ovl_Demo_Getitem | ||||||
|  | ..ovl_En_Dnb | ||||||
|  | ..ovl_En_Dnh | ||||||
|  | ..ovl_En_Dnk | ||||||
|  | ..ovl_En_Dnq | ||||||
|  | ..ovl_Bg_Keikoku_Saku | ||||||
|  | ..ovl_Obj_Hugebombiwa | ||||||
|  | ..ovl_En_Firefly2 | ||||||
|  | ..ovl_En_Rat | ||||||
|  | ..ovl_En_Water_Effect | ||||||
|  | ..ovl_En_Kusa2 | ||||||
|  | ..ovl_Bg_Spout_Fire | ||||||
|  | ..ovl_En_Dy_Extra | ||||||
|  | ..ovl_En_Bal | ||||||
|  | ..ovl_En_Ginko_Man | ||||||
|  | ..ovl_En_Warp_Uzu | ||||||
|  | ..ovl_Obj_Driftice | ||||||
|  | ..ovl_En_Look_Nuts | ||||||
|  | ..ovl_En_Mushi2 | ||||||
|  | ..ovl_En_Fall | ||||||
|  | ..ovl_En_Mm3 | ||||||
|  | ..ovl_Bg_Crace_Movebg | ||||||
|  | ..ovl_En_Dno | ||||||
|  | ..ovl_En_Pr2 | ||||||
|  | ..ovl_En_Prz | ||||||
|  | ..ovl_En_Jso2 | ||||||
|  | ..ovl_Obj_Etcetera | ||||||
|  | ..ovl_En_Egol | ||||||
|  | ..ovl_Obj_Mine | ||||||
|  | ..ovl_Obj_Purify | ||||||
|  | ..ovl_En_Tru | ||||||
|  | ..ovl_En_Trt | ||||||
|  | ..ovl_En_Test5 | ||||||
|  | ..ovl_En_Test6 | ||||||
|  | ..ovl_En_Az | ||||||
|  | ..ovl_En_Estone | ||||||
|  | ..ovl_Bg_Hakugin_Post | ||||||
|  | ..ovl_Dm_Opstage | ||||||
|  | ..ovl_Dm_Stk | ||||||
|  | ..ovl_Dm_Char00 | ||||||
|  | ..ovl_Dm_Char01 | ||||||
|  | ..ovl_Dm_Char02 | ||||||
|  | ..ovl_Dm_Char03 | ||||||
|  | ..ovl_Dm_Char04 | ||||||
|  | ..ovl_Dm_Char05 | ||||||
|  | ..ovl_Dm_Char06 | ||||||
|  | ..ovl_Dm_Char07 | ||||||
|  | ..ovl_Dm_Char08 | ||||||
|  | ..ovl_Dm_Char09 | ||||||
|  | ..ovl_Obj_Tokeidai | ||||||
|  | ..ovl_En_Mnk | ||||||
|  | ..ovl_En_Egblock | ||||||
|  | ..ovl_En_Guard_Nuts | ||||||
|  | ..ovl_Bg_Hakugin_Bombwall | ||||||
|  | ..ovl_Obj_Tokei_Tobira | ||||||
|  | ..ovl_Bg_Hakugin_Elvpole | ||||||
|  | ..ovl_En_Ma4 | ||||||
|  | ..ovl_En_Twig | ||||||
|  | ..ovl_En_Po_Fusen | ||||||
|  | ..ovl_En_Door_Etc | ||||||
|  | ..ovl_En_Bigokuta | ||||||
|  | ..ovl_Bg_Icefloe | ||||||
|  | ..ovl_fbdemo_triforce | ||||||
|  | ..ovl_fbdemo_wipe1 | ||||||
|  | ..ovl_fbdemo_wipe3 | ||||||
|  | ..ovl_fbdemo_wipe4 | ||||||
|  | ..ovl_fbdemo_wipe5 | ||||||
|  | ..ovl_Effect_Ss_Sbn | ||||||
|  | ..ovl_Obj_Ocarinalift | ||||||
|  | ..ovl_En_Time_Tag | ||||||
|  | ..ovl_Bg_Open_Shutter | ||||||
|  | ..ovl_Bg_Open_Spot | ||||||
|  | ..ovl_Bg_Fu_Kaiten | ||||||
|  | ..ovl_Obj_Aqua | ||||||
|  | ..ovl_En_Elforg | ||||||
|  | ..ovl_En_Elfbub | ||||||
|  | ..ovl_En_Fu_Mato | ||||||
|  | ..ovl_En_Fu_Kago | ||||||
|  | ..ovl_En_Osn | ||||||
|  | ..ovl_Bg_Ctower_Gear | ||||||
|  | ..ovl_En_Trt2 | ||||||
|  | ..ovl_Obj_Tokei_Step | ||||||
|  | ..ovl_Bg_Lotus | ||||||
|  | ..ovl_En_Kame | ||||||
|  | ..ovl_Obj_Takaraya_Wall | ||||||
|  | ..ovl_Bg_Fu_Mizu | ||||||
|  | ..ovl_En_Sellnuts | ||||||
|  | ..ovl_Bg_Dkjail_Ivy | ||||||
|  | ..ovl_Obj_Visiblock | ||||||
|  | ..ovl_En_Takaraya | ||||||
|  | ..ovl_En_Tsn | ||||||
|  | ..ovl_En_Ds2n | ||||||
|  | ..ovl_En_Fsn | ||||||
|  | ..ovl_En_Shn | ||||||
|  | ..ovl_En_Stop_heishi | ||||||
|  | ..ovl_Obj_Bigicicle | ||||||
|  | ..ovl_En_Lift_Nuts | ||||||
|  | ..ovl_En_Tk | ||||||
|  | ..ovl_Bg_Market_Step | ||||||
|  | ..ovl_Obj_Lupygamelift | ||||||
|  | ..ovl_En_Test7 | ||||||
|  | ..ovl_Obj_Lightblock | ||||||
|  | ..ovl_Mir_Ray2 | ||||||
|  | ..ovl_En_Wdhand | ||||||
|  | ..ovl_En_Gamelupy | ||||||
|  | ..ovl_Bg_Danpei_Movebg | ||||||
|  | ..ovl_En_Snowwd | ||||||
|  | ..ovl_En_Pm | ||||||
|  | ..ovl_En_Gakufu | ||||||
|  | ..ovl_Elf_Msg4 | ||||||
|  | ..ovl_Elf_Msg5 | ||||||
|  | ..ovl_En_Col_Man | ||||||
|  | ..ovl_En_Talk_Gibud | ||||||
|  | ..ovl_En_Giant | ||||||
|  | ..ovl_Obj_Snowball | ||||||
|  | ..ovl_Boss_Hakugin | ||||||
|  | ..ovl_En_Gb2 | ||||||
|  | ..ovl_En_Onpuman | ||||||
|  | ..ovl_Bg_Tobira01 | ||||||
|  | ..ovl_En_Tag_Obj | ||||||
|  | ..ovl_Obj_Dhouse | ||||||
|  | ..ovl_Obj_Hakaisi | ||||||
|  | ..ovl_Bg_Hakugin_Switch | ||||||
|  | ..ovl_En_Snowman | ||||||
|  | ..ovl_TG_Sw | ||||||
|  | ..ovl_En_Po_Sisters | ||||||
|  | ..ovl_En_Pp | ||||||
|  | ..ovl_En_Hakurock | ||||||
|  | ..ovl_En_Hanabi | ||||||
|  | ..ovl_Obj_Dowsing | ||||||
|  | ..ovl_Obj_Wind | ||||||
|  | ..ovl_En_Racedog | ||||||
|  | ..ovl_En_Kendo_Js | ||||||
|  | ..ovl_Bg_Botihasira | ||||||
|  | ..ovl_En_Fish2 | ||||||
|  | ..ovl_En_Pst | ||||||
|  | ..ovl_En_Poh | ||||||
|  | ..ovl_Obj_Spidertent | ||||||
|  | ..ovl_En_Zoraegg | ||||||
|  | ..ovl_En_Kbt | ||||||
|  | ..ovl_En_Gg | ||||||
|  | ..ovl_En_Maruta | ||||||
|  | ..ovl_Obj_Snowball2 | ||||||
|  | ..ovl_En_Gg2 | ||||||
|  | ..ovl_Obj_Ghaka | ||||||
|  | ..ovl_En_Dnp | ||||||
|  | ..ovl_En_Dai | ||||||
|  | ..ovl_Bg_Goron_Oyu | ||||||
|  | ..ovl_En_Kgy | ||||||
|  | ..ovl_En_Invadepoh | ||||||
|  | ..ovl_En_Gk | ||||||
|  | ..ovl_En_An | ||||||
|  | ..ovl_En_Bee | ||||||
|  | ..ovl_En_Ot | ||||||
|  | ..ovl_En_Dragon | ||||||
|  | ..ovl_Obj_Dora | ||||||
|  | ..ovl_En_Bigpo | ||||||
|  | ..ovl_Obj_Kendo_Kanban | ||||||
|  | ..ovl_Obj_Hariko | ||||||
|  | ..ovl_En_Sth | ||||||
|  | ..ovl_Bg_Sinkai_Kabe | ||||||
|  | ..ovl_Bg_Haka_Curtain | ||||||
|  | ..ovl_Bg_Kin2_Bombwall | ||||||
|  | ..ovl_Bg_Kin2_Fence | ||||||
|  | ..ovl_Bg_Kin2_Picture | ||||||
|  | ..ovl_Bg_Kin2_Shelf | ||||||
|  | ..ovl_En_Rail_Skb | ||||||
|  | ..ovl_En_Jg | ||||||
|  | ..ovl_En_Tru_Mt | ||||||
|  | ..ovl_Obj_Um | ||||||
|  | ..ovl_En_Neo_Reeba | ||||||
|  | ..ovl_Bg_Mbar_Chair | ||||||
|  | ..ovl_Bg_Ikana_Block | ||||||
|  | ..ovl_Bg_Ikana_Mirror | ||||||
|  | ..ovl_Bg_Ikana_Rotaryroom | ||||||
|  | ..ovl_Bg_Dblue_Balance | ||||||
|  | ..ovl_Bg_Dblue_Waterfall | ||||||
|  | ..ovl_En_Kaizoku | ||||||
|  | ..ovl_En_Ge2 | ||||||
|  | ..ovl_En_Ma_Yts | ||||||
|  | ..ovl_En_Ma_Yto | ||||||
|  | ..ovl_Obj_Tokei_Turret | ||||||
|  | ..ovl_Bg_Dblue_Elevator | ||||||
|  | ..ovl_Obj_Warpstone | ||||||
|  | ..ovl_En_Zog | ||||||
|  | ..ovl_Obj_Rotlift | ||||||
|  | ..ovl_Obj_Jg_Gakki | ||||||
|  | ..ovl_Bg_Inibs_Movebg | ||||||
|  | ..ovl_En_Zot | ||||||
|  | ..ovl_Obj_Tree | ||||||
|  | ..ovl_Obj_Y2lift | ||||||
|  | ..ovl_Obj_Y2shutter | ||||||
|  | ..ovl_Obj_Boat | ||||||
|  | ..ovl_Obj_Taru | ||||||
|  | ..ovl_Obj_Hunsui | ||||||
|  | ..ovl_En_Jc_Mato | ||||||
|  | ..ovl_Mir_Ray3 | ||||||
|  | ..ovl_En_Zob | ||||||
|  | ..ovl_Elf_Msg6 | ||||||
|  | ..ovl_Obj_Nozoki | ||||||
|  | ..ovl_En_Toto | ||||||
|  | ..ovl_En_Railgibud | ||||||
|  | ..ovl_En_Baba | ||||||
|  | ..ovl_En_Suttari | ||||||
|  | ..ovl_En_Zod | ||||||
|  | ..ovl_En_Kujiya | ||||||
|  | ..ovl_En_Geg | ||||||
|  | ..ovl_Obj_Kinoko | ||||||
|  | ..ovl_Obj_Yasi | ||||||
|  | ..ovl_En_Tanron1 | ||||||
|  | ..ovl_En_Tanron2 | ||||||
|  | ..ovl_En_Tanron3 | ||||||
|  | ..ovl_Obj_Chan | ||||||
|  | ..ovl_En_Zos | ||||||
|  | ..ovl_En_S_Goro | ||||||
|  | ..ovl_En_Nb | ||||||
|  | ..ovl_En_Ja | ||||||
|  | ..ovl_Bg_F40_Block | ||||||
|  | ..ovl_Bg_F40_Switch | ||||||
|  | ..ovl_En_Po_Composer | ||||||
|  | ..ovl_En_Guruguru | ||||||
|  | ..ovl_Oceff_Wipe5 | ||||||
|  | ..ovl_En_Stone_heishi | ||||||
|  | ..ovl_Oceff_Wipe6 | ||||||
|  | ..ovl_En_Scopenuts | ||||||
|  | ..ovl_En_Scopecrow | ||||||
|  | ..ovl_Oceff_Wipe7 | ||||||
|  | ..ovl_Eff_Kamejima_Wave | ||||||
|  | ..ovl_En_Hg | ||||||
|  | ..ovl_En_Hgo | ||||||
|  | ..ovl_En_Zov | ||||||
|  | ..ovl_En_Ah | ||||||
|  | ..ovl_Obj_Hgdoor | ||||||
|  | ..ovl_Bg_Ikana_Bombwall | ||||||
|  | ..ovl_Bg_Ikana_Ray | ||||||
|  | ..ovl_Bg_Ikana_Shutter | ||||||
|  | ..ovl_Bg_Haka_Bombwall | ||||||
|  | ..ovl_Bg_Haka_Tomb | ||||||
|  | ..ovl_En_Sc_Ruppe | ||||||
|  | ..ovl_Bg_Iknv_Doukutu | ||||||
|  | ..ovl_Bg_Iknv_Obj | ||||||
|  | ..ovl_En_Pamera | ||||||
|  | ..ovl_Obj_HsStump | ||||||
|  | ..ovl_En_Hidden_Nuts | ||||||
|  | ..ovl_En_Zow | ||||||
|  | ..ovl_En_Talk | ||||||
|  | ..ovl_En_Al | ||||||
|  | ..ovl_En_Tab | ||||||
|  | ..ovl_En_Nimotsu | ||||||
|  | ..ovl_En_Hit_Tag | ||||||
|  | ..ovl_En_Ruppecrow | ||||||
|  | ..ovl_En_Tanron4 | ||||||
|  | ..ovl_En_Tanron5 | ||||||
|  | ..ovl_En_Tanron6 | ||||||
|  | ..ovl_En_Daiku2 | ||||||
|  | ..ovl_En_Muto | ||||||
|  | ..ovl_En_Baisen | ||||||
|  | ..ovl_En_Heishi | ||||||
|  | ..ovl_En_Demo_heishi | ||||||
|  | ..ovl_En_Dt | ||||||
|  | ..ovl_En_Cha | ||||||
|  | ..ovl_Obj_Dinner | ||||||
|  | ..ovl_Eff_Lastday | ||||||
|  | ..ovl_Bg_Ikana_Dharma | ||||||
|  | ..ovl_En_Akindonuts | ||||||
|  | ..ovl_Eff_Stk | ||||||
|  | ..ovl_En_Ig | ||||||
|  | ..ovl_En_Rg | ||||||
|  | ..ovl_En_Osk | ||||||
|  | ..ovl_En_Sth2 | ||||||
|  | ..ovl_En_Yb | ||||||
|  | ..ovl_En_Rz | ||||||
|  | ..ovl_En_Scopecoin | ||||||
|  | ..ovl_En_Bjt | ||||||
|  | ..ovl_En_Bomjima | ||||||
|  | ..ovl_En_Bomjimb | ||||||
|  | ..ovl_En_Bombers | ||||||
|  | ..ovl_En_Bombers2 | ||||||
|  | ..ovl_En_Bombal | ||||||
|  | ..ovl_Obj_Moon_Stone | ||||||
|  | ..ovl_Obj_Mu_Pict | ||||||
|  | ..ovl_Bg_Ikninside | ||||||
|  | ..ovl_Eff_Zoraband | ||||||
|  | ..ovl_Obj_Kepn_Koya | ||||||
|  | ..ovl_Obj_Usiyane | ||||||
|  | ..ovl_En_Nnh | ||||||
|  | ..ovl_Obj_Kzsaku | ||||||
|  | ..ovl_Obj_Milk_Bin | ||||||
|  | ..ovl_En_Kitan | ||||||
|  | ..ovl_Bg_Astr_Bombwall | ||||||
|  | ..ovl_Bg_Iknin_Susceil | ||||||
|  | ..ovl_En_Bsb | ||||||
|  | ..ovl_En_Recepgirl | ||||||
|  | ..ovl_En_Thiefbird | ||||||
|  | ..ovl_En_Jgame_Tsn | ||||||
|  | ..ovl_Obj_Jgame_Light | ||||||
|  | ..ovl_Obj_Yado | ||||||
|  | ..ovl_Demo_Syoten | ||||||
|  | ..ovl_Demo_Moonend | ||||||
|  | ..ovl_Bg_Lbfshot | ||||||
|  | ..ovl_Bg_Last_Bwall | ||||||
|  | ..ovl_En_And | ||||||
|  | ..ovl_En_Invadepoh_Demo | ||||||
|  | ..ovl_Obj_Danpeilift | ||||||
|  | ..ovl_En_Fall2 | ||||||
|  | ..ovl_Dm_Al | ||||||
|  | ..ovl_Dm_An | ||||||
|  | ..ovl_Dm_Ah | ||||||
|  | ..ovl_Dm_Nb | ||||||
|  | ..ovl_En_Drs | ||||||
|  | ..ovl_En_Ending_Hero | ||||||
|  | ..ovl_Dm_Bal | ||||||
|  | ..ovl_En_Paper | ||||||
|  | ..ovl_En_Hint_Skb | ||||||
|  | ..ovl_Dm_Tag | ||||||
|  | ..ovl_En_Bh | ||||||
|  | ..ovl_En_Ending_Hero2 | ||||||
|  | ..ovl_En_Ending_Hero3 | ||||||
|  | ..ovl_En_Ending_Hero4 | ||||||
|  | ..ovl_En_Ending_Hero5 | ||||||
|  | ..ovl_En_Ending_Hero6 | ||||||
|  | ..ovl_Dm_Gm | ||||||
|  | ..ovl_Obj_Swprize | ||||||
|  | ..ovl_En_Invisible_Ruppe | ||||||
|  | ..ovl_Obj_Ending | ||||||
|  | ..ovl_En_Rsn | ||||||
|  | @ -13,6 +13,7 @@ | ||||||
| #include <pwd.h> | #include <pwd.h> | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
|  | constexpr std::u8string_view general_filename = u8"general.json"; | ||||||
| constexpr std::u8string_view graphics_filename = u8"graphics.json"; | constexpr std::u8string_view graphics_filename = u8"graphics.json"; | ||||||
| constexpr std::u8string_view controls_filename = u8"controls.json"; | constexpr std::u8string_view controls_filename = u8"controls.json"; | ||||||
| constexpr std::u8string_view sound_filename = u8"sound.json"; | constexpr std::u8string_view sound_filename = u8"sound.json"; | ||||||
|  | @ -111,6 +112,28 @@ std::filesystem::path recomp::get_app_folder_path() { | ||||||
|     return recomp_dir; |     return recomp_dir; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | void save_general_config(const std::filesystem::path& path) { | ||||||
|  |     std::ofstream config_file{path}; | ||||||
|  |      | ||||||
|  |     nlohmann::json config_json{}; | ||||||
|  | 
 | ||||||
|  |     recomp::to_json(config_json["targeting_mode"], recomp::get_targeting_mode()); | ||||||
|  |     config_json["rumble_strength"] = recomp::get_rumble_strength(); | ||||||
|  |     config_json["debug_mode"] = recomp::get_debug_mode_enabled(); | ||||||
|  |     config_file << std::setw(4) << config_json; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void load_general_config(const std::filesystem::path& path) { | ||||||
|  |     std::ifstream config_file{path}; | ||||||
|  |     nlohmann::json config_json{}; | ||||||
|  | 
 | ||||||
|  |     config_file >> config_json; | ||||||
|  |      | ||||||
|  |     recomp::set_targeting_mode(from_or_default(config_json, "targeting_mode", recomp::TargetingMode::Switch)); | ||||||
|  |     recomp::set_rumble_strength(from_or_default(config_json, "rumble_strength", 25)); | ||||||
|  |     recomp::set_debug_mode_enabled(from_or_default(config_json, "debug_mode", false)); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| void assign_mapping(recomp::InputDevice device, recomp::GameInput input, const std::vector<recomp::InputField>& value) { | void assign_mapping(recomp::InputDevice device, recomp::GameInput input, const std::vector<recomp::InputField>& value) { | ||||||
|     for (size_t binding_index = 0; binding_index < std::min(value.size(), recomp::bindings_per_input); binding_index++) { |     for (size_t binding_index = 0; binding_index < std::min(value.size(), recomp::bindings_per_input); binding_index++) { | ||||||
|         recomp::set_input_binding(input, binding_index, device, value[binding_index]); |         recomp::set_input_binding(input, binding_index, device, value[binding_index]); | ||||||
|  | @ -187,10 +210,6 @@ void add_input_bindings(nlohmann::json& out, recomp::GameInput input, recomp::In | ||||||
| void save_controls_config(const std::filesystem::path& path) { | void save_controls_config(const std::filesystem::path& path) { | ||||||
|     nlohmann::json config_json{}; |     nlohmann::json config_json{}; | ||||||
| 
 | 
 | ||||||
|     config_json["options"] = {}; |  | ||||||
|     recomp::to_json(config_json["options"]["targeting_mode"], recomp::get_targeting_mode()); |  | ||||||
|     config_json["options"]["rumble_strength"] = recomp::get_rumble_strength(); |  | ||||||
| 
 |  | ||||||
|     config_json["keyboard"] = {}; |     config_json["keyboard"] = {}; | ||||||
|     config_json["controller"] = {}; |     config_json["controller"] = {}; | ||||||
| 
 | 
 | ||||||
|  | @ -242,9 +261,6 @@ void load_controls_config(const std::filesystem::path& path) { | ||||||
| 
 | 
 | ||||||
|     config_file >> config_json; |     config_file >> config_json; | ||||||
| 
 | 
 | ||||||
|     recomp::set_targeting_mode(from_or_default(config_json["options"], "targeting_mode", recomp::TargetingMode::Switch)); |  | ||||||
|     recomp::set_rumble_strength(from_or_default(config_json["options"], "rumble_strength", 25)); |  | ||||||
| 
 |  | ||||||
|     if (!load_input_device_from_json(config_json, recomp::InputDevice::Keyboard, "keyboard")) { |     if (!load_input_device_from_json(config_json, recomp::InputDevice::Keyboard, "keyboard")) { | ||||||
|         assign_all_mappings(recomp::InputDevice::Keyboard, recomp::default_n64_keyboard_mappings); |         assign_all_mappings(recomp::InputDevice::Keyboard, recomp::default_n64_keyboard_mappings); | ||||||
|     } |     } | ||||||
|  | @ -278,10 +294,18 @@ void load_sound_config(const std::filesystem::path& path) { | ||||||
| 
 | 
 | ||||||
| void recomp::load_config() { | void recomp::load_config() { | ||||||
|     std::filesystem::path recomp_dir = recomp::get_app_folder_path(); |     std::filesystem::path recomp_dir = recomp::get_app_folder_path(); | ||||||
|  |     std::filesystem::path general_path = recomp_dir / general_filename; | ||||||
|     std::filesystem::path graphics_path = recomp_dir / graphics_filename; |     std::filesystem::path graphics_path = recomp_dir / graphics_filename; | ||||||
|     std::filesystem::path controls_path = recomp_dir / controls_filename; |     std::filesystem::path controls_path = recomp_dir / controls_filename; | ||||||
|     std::filesystem::path sound_path = recomp_dir / sound_filename; |     std::filesystem::path sound_path = recomp_dir / sound_filename; | ||||||
| 
 | 
 | ||||||
|  |     if (std::filesystem::exists(general_path)) { | ||||||
|  |         load_general_config(general_path); | ||||||
|  |     } | ||||||
|  |     else { | ||||||
|  |         save_general_config(general_path); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     if (std::filesystem::exists(graphics_path)) { |     if (std::filesystem::exists(graphics_path)) { | ||||||
|         load_graphics_config(graphics_path); |         load_graphics_config(graphics_path); | ||||||
|     } |     } | ||||||
|  | @ -316,6 +340,7 @@ void recomp::save_config() { | ||||||
| 
 | 
 | ||||||
|     std::filesystem::create_directories(recomp_dir); |     std::filesystem::create_directories(recomp_dir); | ||||||
| 
 | 
 | ||||||
|  |     save_general_config(recomp_dir / general_filename); | ||||||
|     save_graphics_config(recomp_dir / graphics_filename); |     save_graphics_config(recomp_dir / graphics_filename); | ||||||
|     save_controls_config(recomp_dir / controls_filename); |     save_controls_config(recomp_dir / controls_filename); | ||||||
|     save_sound_config(recomp_dir / sound_filename); |     save_sound_config(recomp_dir / sound_filename); | ||||||
|  |  | ||||||
|  | @ -8,9 +8,9 @@ | ||||||
| #include "RmlUi/Core.h" | #include "RmlUi/Core.h" | ||||||
| 
 | 
 | ||||||
| ultramodern::GraphicsConfig new_options; | ultramodern::GraphicsConfig new_options; | ||||||
| Rml::DataModelHandle graphics_model_handle; | Rml::DataModelHandle general_model_handle; | ||||||
| Rml::DataModelHandle controls_model_handle; | Rml::DataModelHandle controls_model_handle; | ||||||
| Rml::DataModelHandle control_options_model_handle; | Rml::DataModelHandle graphics_model_handle; | ||||||
| Rml::DataModelHandle sound_options_model_handle; | Rml::DataModelHandle sound_options_model_handle; | ||||||
| // True if controller config menu is open, false if keyboard config menu is open, undefined otherwise
 | // True if controller config menu is open, false if keyboard config menu is open, undefined otherwise
 | ||||||
| bool configuring_controller = false; | bool configuring_controller = false; | ||||||
|  | @ -108,8 +108,8 @@ int recomp::get_rumble_strength() { | ||||||
| 
 | 
 | ||||||
| void recomp::set_rumble_strength(int strength) { | void recomp::set_rumble_strength(int strength) { | ||||||
| 	control_options_context.rumble_strength = strength; | 	control_options_context.rumble_strength = strength; | ||||||
| 	if (control_options_model_handle) { | 	if (general_model_handle) { | ||||||
| 		control_options_model_handle.DirtyVariable("rumble_strength"); | 		general_model_handle.DirtyVariable("rumble_strength"); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -119,8 +119,8 @@ recomp::TargetingMode recomp::get_targeting_mode() { | ||||||
| 
 | 
 | ||||||
| void recomp::set_targeting_mode(recomp::TargetingMode mode) { | void recomp::set_targeting_mode(recomp::TargetingMode mode) { | ||||||
| 	control_options_context.targeting_mode = mode; | 	control_options_context.targeting_mode = mode; | ||||||
| 	if (control_options_model_handle) { | 	if (general_model_handle) { | ||||||
| 		control_options_model_handle.DirtyVariable("targeting_mode"); | 		general_model_handle.DirtyVariable("targeting_mode"); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -175,6 +175,7 @@ struct DebugContext { | ||||||
| 	int area_index = 0; | 	int area_index = 0; | ||||||
| 	int scene_index = 0; | 	int scene_index = 0; | ||||||
| 	int entrance_index = 0; | 	int entrance_index = 0; | ||||||
|  | 	bool debug_enabled = false; | ||||||
| 
 | 
 | ||||||
| 	DebugContext() { | 	DebugContext() { | ||||||
| 		for (const auto& area : recomp::game_warps) { | 		for (const auto& area : recomp::game_warps) { | ||||||
|  | @ -442,8 +443,8 @@ public: | ||||||
| 		controls_model_handle = constructor.GetModelHandle(); | 		controls_model_handle = constructor.GetModelHandle(); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	void make_control_options_bindings(Rml::Context* context) { | 	void make_general_bindings(Rml::Context* context) { | ||||||
| 		Rml::DataModelConstructor constructor = context->CreateDataModel("control_options_model"); | 		Rml::DataModelConstructor constructor = context->CreateDataModel("general_model"); | ||||||
| 		if (!constructor) { | 		if (!constructor) { | ||||||
| 			throw std::runtime_error("Failed to make RmlUi data model for the control options menu"); | 			throw std::runtime_error("Failed to make RmlUi data model for the control options menu"); | ||||||
| 		} | 		} | ||||||
|  | @ -451,7 +452,7 @@ public: | ||||||
| 		constructor.Bind("rumble_strength", &control_options_context.rumble_strength); | 		constructor.Bind("rumble_strength", &control_options_context.rumble_strength); | ||||||
| 		bind_option(constructor, "targeting_mode", &control_options_context.targeting_mode); | 		bind_option(constructor, "targeting_mode", &control_options_context.targeting_mode); | ||||||
| 
 | 
 | ||||||
| 		control_options_model_handle = constructor.GetModelHandle(); | 		general_model_handle = constructor.GetModelHandle(); | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
| 	void make_sound_options_bindings(Rml::Context* context) { | 	void make_sound_options_bindings(Rml::Context* context) { | ||||||
|  | @ -472,6 +473,9 @@ public: | ||||||
| 			throw std::runtime_error("Failed to make RmlUi data model for the debug menu"); | 			throw std::runtime_error("Failed to make RmlUi data model for the debug menu"); | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
|  | 		// Bind the debug mode enabled flag.
 | ||||||
|  | 		constructor.Bind("debug_enabled", &debug_context.debug_enabled); | ||||||
|  | 		 | ||||||
| 		// Register the array type for string vectors.
 | 		// Register the array type for string vectors.
 | ||||||
| 		constructor.RegisterArray<std::vector<std::string>>(); | 		constructor.RegisterArray<std::vector<std::string>>(); | ||||||
| 		 | 		 | ||||||
|  | @ -489,9 +493,9 @@ public: | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	void make_bindings(Rml::Context* context) override { | 	void make_bindings(Rml::Context* context) override { | ||||||
| 		make_graphics_bindings(context); | 		make_general_bindings(context); | ||||||
| 		make_controls_bindings(context); | 		make_controls_bindings(context); | ||||||
| 		make_control_options_bindings(context); | 		make_graphics_bindings(context); | ||||||
| 		make_sound_options_bindings(context); | 		make_sound_options_bindings(context); | ||||||
| 		make_debug_bindings(context); | 		make_debug_bindings(context); | ||||||
| 	} | 	} | ||||||
|  | @ -500,3 +504,14 @@ public: | ||||||
| std::unique_ptr<recomp::MenuController> recomp::create_config_menu() { | std::unique_ptr<recomp::MenuController> recomp::create_config_menu() { | ||||||
| 	return std::make_unique<ConfigMenu>(); | 	return std::make_unique<ConfigMenu>(); | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | bool recomp::get_debug_mode_enabled() { | ||||||
|  | 	return debug_context.debug_enabled; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void recomp::set_debug_mode_enabled(bool enabled) { | ||||||
|  | 	debug_context.debug_enabled = enabled; | ||||||
|  | 	if (debug_context.model_handle) { | ||||||
|  | 		debug_context.model_handle.DirtyVariable("debug_enabled"); | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | @ -88,6 +88,7 @@ public: | ||||||
| 		recomp::register_event(listener, "open_settings", | 		recomp::register_event(listener, "open_settings", | ||||||
| 			[](const std::string& param, Rml::Event& event) { | 			[](const std::string& param, Rml::Event& event) { | ||||||
| 				recomp::set_current_menu(recomp::Menu::Config); | 				recomp::set_current_menu(recomp::Menu::Config); | ||||||
|  | 				recomp::set_config_submenu(recomp::ConfigSubmenu::General); | ||||||
| 			} | 			} | ||||||
| 		); | 		); | ||||||
| 		recomp::register_event(listener, "exit_game", | 		recomp::register_event(listener, "exit_game", | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Mr-Wiseguy
						Mr-Wiseguy