2023-07-29 01:53:03 +09:30
|
|
|
struct Character
|
|
|
|
3 character_id # 0=Bartz, 1=Lenna, 2=Galuf, 3=Faris, 4=Krile, 5/6/7 unused
|
|
|
|
1 is_female # 0=male, 1=female
|
|
|
|
2 unk0 # Two unknown, possibly unused bits
|
|
|
|
1 is_absent # 0=present, 1=absent
|
|
|
|
1 is_back_row
|
|
|
|
8 current_job_id
|
|
|
|
8 level
|
|
|
|
24 experience
|
|
|
|
16 hp_current
|
|
|
|
16 hp_max
|
|
|
|
16 mp_current
|
|
|
|
16 mp_max
|
|
|
|
8 equipped_head
|
|
|
|
8 equipped_body
|
|
|
|
8 equipped_acc
|
|
|
|
8 equipped_rh_shield
|
|
|
|
8 equipped_lh_shield
|
|
|
|
8 equipped_rh_weapon
|
|
|
|
8 equipped_lh_weapon
|
|
|
|
8 caught_monster
|
|
|
|
8 ability_1
|
|
|
|
8 ability_2
|
|
|
|
8 ability_3
|
|
|
|
8 ability_4
|
|
|
|
8 status_1
|
|
|
|
8 status_2
|
|
|
|
8 status_3
|
|
|
|
8 status_4
|
|
|
|
8 action_flags
|
|
|
|
8 damage_mod
|
|
|
|
16 innates
|
|
|
|
8 magic_element_up
|
|
|
|
8 equip_weight
|
|
|
|
8 base_strength
|
|
|
|
8 base_agility
|
|
|
|
8 base_stamina
|
|
|
|
8 base_magic
|
|
|
|
8 current_strength
|
|
|
|
8 current_agility
|
|
|
|
8 current_stamina
|
|
|
|
8 current_magic
|
|
|
|
8 evasion
|
|
|
|
8 defense
|
|
|
|
8 magic_evasion
|
|
|
|
8 magic_defense
|
|
|
|
8 elemental_absorb
|
|
|
|
8 elemental_evade
|
|
|
|
8 elemental_immune
|
|
|
|
8 elemental_half
|
|
|
|
8 elemental_weakness
|
|
|
|
8 resistance_status_1
|
|
|
|
8 resistance_status_2
|
|
|
|
8 resistance_status_3
|
|
|
|
8 specialty_weapon
|
|
|
|
8 specialty_equipment
|
|
|
|
8 current_job_level
|
|
|
|
16 current_job_abp
|
|
|
|
8 spell_level_1
|
|
|
|
8 spell_level_2
|
|
|
|
8 spell_level_3
|
|
|
|
32 equipment_category
|
|
|
|
16 attack
|
|
|
|
8 attack_id_reaction_unused
|
|
|
|
8 unk1
|
|
|
|
8 unk2
|
|
|
|
8 unk3
|
|
|
|
8 freelancer_strength
|
|
|
|
8 freelancer_agility
|
|
|
|
8 freelancer_stamina
|
|
|
|
8 freelancer_magic
|
|
|
|
16 freelancer_innates
|
|
|
|
|
|
|
|
struct Job_progress
|
|
|
|
12 abp
|
|
|
|
4 level
|
|
|
|
|
|
|
|
struct Config
|
2023-07-29 02:41:51 +09:30
|
|
|
3 battle_speed # 0=1 in-game, ..., 5=6 in-game
|
2023-07-29 01:53:03 +09:30
|
|
|
1 is_wait_mode # 0=active, 1=wait???
|
2023-07-29 02:41:51 +09:30
|
|
|
3 message_speed # 0=1 in-game, ..., 5=6 in-game
|
|
|
|
1 command_set # 0=window, 1=shortcut
|
|
|
|
5 menu_color_r
|
|
|
|
5 menu_color_g
|
|
|
|
5 menu_color_b
|
|
|
|
1 padding
|
|
|
|
1 reequip_mode # 0=optimum, 1=empty
|
|
|
|
1 is_mono # 0=stereo, 1=mono
|
|
|
|
1 is_memory_cursor # 0=reset, 1=memory
|
2023-07-29 01:53:03 +09:30
|
|
|
4 unk0
|
2023-07-29 02:41:51 +09:30
|
|
|
1 hide_atb_gauge # 0=show, 1=hide
|
2023-07-29 01:53:03 +09:30
|
|
|
6 unk1
|
2023-07-29 02:41:51 +09:30
|
|
|
1 is_controller_custom # 0=no, 1=yes
|
|
|
|
1 is_controller_2p # 0=no, 1=yes
|
|
|
|
8 button_A # Bit of action
|
|
|
|
8 button_B # Bit of action
|
|
|
|
8 button_X # Bit of action
|
|
|
|
8 button_Y # Bit of action
|
|
|
|
8 button_L # Bit of action
|
|
|
|
8 button_R # Bit of action
|
|
|
|
8 button_Select # Bit of action
|
|
|
|
8[4] character_player_nums # 0=controller 1, 1=controller 2
|
|
|
|
8[4][4] character_shortcut_commands # 0=ability_1, 1=ability_2, 2=ability_3, 3=ability_4
|
2023-07-29 01:53:03 +09:30
|
|
|
|
|
|
|
struct Vehicle
|
|
|
|
2 mode_switching
|
|
|
|
3 movement_type
|
|
|
|
3 map_id
|
|
|
|
7 unk0
|
|
|
|
1 is_hidden # 0=show, 1=hide
|
|
|
|
8 x
|
|
|
|
8 y
|
|
|
|
|
|
|
|
struct Save_slot
|
|
|
|
Character[4] characters
|
|
|
|
8[256] inventory_item_ids
|
|
|
|
8[256] inventory_item_qtys
|
|
|
|
24 unlocked_jobs
|
|
|
|
Job_progress[4][22] character_jobs_progress
|
|
|
|
8[4] character_abilities_learned_count
|
|
|
|
8[4][20] character_abilities_learned
|
|
|
|
24 current_gil
|
|
|
|
32 game_time_frames
|
|
|
|
16 num_enemies_defeated
|
2023-07-29 02:41:51 +09:30
|
|
|
8[32] magic_learned
|
|
|
|
Config config
|
|
|
|
8[5][6] character_names # Bartz, Lenna, Galuf, Faris, Krile. Dialog is hardcoded for everyone except Bartz's name anyway...
|
|
|
|
8[6] unk0
|
2023-07-29 01:53:03 +09:30
|
|
|
8 magic_lamp_next_summon
|
|
|
|
8 num_battles_escaped # Brave Blade vs Chicken Knife
|
|
|
|
8 wonder_rod_magic
|
2023-07-29 02:41:51 +09:30
|
|
|
8[9] unk1
|
2023-07-29 01:53:03 +09:30
|
|
|
16 num_total_battles
|
|
|
|
16 num_times_saved
|
|
|
|
8 last_battle_results # 0=victory, 1=game over, 2=escaped
|
|
|
|
8[15] flags_battle_events
|
|
|
|
8[32] flags_treasure_opened
|
2023-07-29 02:41:51 +09:30
|
|
|
8[32] unk_probably_still_flags_treasure_opened
|
2023-07-29 01:53:03 +09:30
|
|
|
8[96] flags_events # RAM map mentions $D8E000. This is likely critical to story progression and scripting.
|
2023-07-29 02:41:51 +09:30
|
|
|
8[96] unk_probably_still_flags_events
|
2023-07-29 01:53:03 +09:30
|
|
|
16 map_id_inner
|
|
|
|
16 map_id_world
|
|
|
|
8 pos_x
|
|
|
|
8 pos_y
|
|
|
|
8 current_character_sprite
|
|
|
|
8 current_character_facing
|
|
|
|
8 current_vehicle
|
|
|
|
Vehicle veh_chocobo
|
|
|
|
Vehicle veh_black_chocobo
|
|
|
|
Vehicle veh_hiryuu
|
|
|
|
Vehicle veh_submarine
|
|
|
|
Vehicle veh_steamship
|
|
|
|
Vehicle veh_airship
|
|
|
|
16 teleport_map_id
|
|
|
|
8 teleport_map_x
|
|
|
|
8 teleport_map_y
|
|
|
|
8 initial_seed
|
|
|
|
8 walking_speed # 0=normal, 1=double (fast), 80=half (slow)
|
|
|
|
8 timed_event_active
|
|
|
|
16 timed_event_timer
|
|
|
|
16 timed_event_end
|