extends Control #warning-ignore-all:return_value_discarded const palette_mat := preload('res://palette_mat.tres') var save_slots = [] var save_slot_dicts = [] func _ready(): RomLoader.connect('rom_loaded', self, '_on_rom_loaded') # RomLoader.load_snes_rom('/home/luke/code/FF/ffv romhacks/Final Fantasy V (Japan).sfc') RomLoader.load_snes_rom('/home/luke/code/FF/ffv romhacks/Final Fantasy V (Japan) [En by RPGe v1.1].sfc') func _on_rom_loaded(): party_menu() # monster_sprites() # battle_bgs() # jobs_and_abilities() func party_menu(): var PartyMenu = preload('res://widgets/PartyMenu.tscn').instance() # PartyMenu.margin_right = 320.0 PartyMenu.margin_right = 384.0 add_child(PartyMenu) var save_file := File.new() #var error := save_file.open('test.srm', File.READ) var error := save_file.open('/home/luke/.config/Mesen2/Saves/FF5_SCC_WepTweaks_Inus_Dash.srm', File.READ) if error == OK: for i in 4: save_slots.append(SaveLoader.get_save_slot(save_file, i)) save_slot_dicts.append(SaveLoader.load_save_slot(save_slots[i])) print('Loaded test save file') save_file.close() # error = save_file.open('downloaded_saves/psx_world1.gme', File.READ) # if error == OK: # var buffer := StreamPeerBuffer.new() # save_file.seek(0x2FA0) # buffer.data_array = save_file.get_buffer(0x600) # save_slot_dicts.append(SaveLoader.get_struct(buffer, 'Save_slot')) var data = save_slot_dicts[0] data.characters[2].equipped_abilities[3] = 0x9B PartyMenu.update_labels(data) ThemeManager.set_menu_color_555(data.config.menu_color_r, data.config.menu_color_g, data.config.menu_color_b) func monster_sprites(): var monster_box := GridContainer.new() monster_box.columns = 8 add_child(monster_box) for mon in RomLoader.snes_data.monster_battle_sprites: var t := TextureRect.new() t.material = palette_mat.duplicate() t.texture = mon.sprite t.material.set_shader_param('palette', mon.palette) monster_box.add_child(t) func battle_bgs(): var bbg := SpinBox.new() bbg.max_value = len(SpriteLoader.battle_backgrounds) - 1 bbg.connect('value_changed', $BattleScene, 'set_bg') bbg.rect_min_size.x = 32 bbg.rect_position.y = 218 bbg.align = LineEdit.ALIGN_RIGHT add_child(bbg) func jobs_and_abilities(): var lbl = Label.new() for i in 22: lbl.text = lbl.text + '%s - %s\n' % [StringLoader.get_job_name(i), StringLoader.get_job_desc(i)] for i in 78: lbl.text = lbl.text + '\n%s - %s' % [StringLoader.get_ability_name(i), StringLoader.get_ability_desc(i)] for i in range(128, 161): lbl.text = lbl.text + '\n%s - %s' % [StringLoader.get_ability_name(i), StringLoader.get_ability_desc(i)] add_child(lbl)