Interactive save editor for Final Fantasy V, written in Godot 3.6
Go to file
Luke Hubmayer-Werner 36d025e18c Fix save serialization 2023-08-03 21:02:41 +09:30
3rd_party/sysfont Added Alina Sava's "Sysfont" (OFL 1.1) 2023-07-31 15:04:01 +09:30
data Redefine struct DSL 2023-08-03 19:36:24 +09:30
scripts Fix save serialization 2023-08-03 21:02:41 +09:30
shaders Partial menu theme 2023-07-31 17:25:37 +09:30
test Fix save serialization 2023-08-03 21:02:41 +09:30
theme Tighten up some stuff with the new res target 2023-08-02 22:11:35 +09:30
widgets Tighten up some stuff with the new res target 2023-08-02 22:11:35 +09:30
.gitignore Haphazard progress 2023-07-25 14:21:10 +09:30
PC.gd Rearrange structure 2023-07-25 16:42:20 +09:30
PC.tscn Save Slot UI 2023-08-02 19:50:50 +09:30
README.md CD Parsing and WIP ROM selector menu 2023-08-01 23:22:31 +09:30
box.tscn Partial menu theme 2023-07-31 17:25:37 +09:30
default_env.tres Haphazard progress 2023-07-25 14:21:10 +09:30
globals.gd [WIP] Cross-reference PSX offsets 2023-08-01 00:41:37 +09:30
main_menu.tscn Change display scaling logic 2023-08-02 19:48:45 +09:30
palette_mat.tres Update palette shader for 16x16 palettes (GLES2) 2023-07-26 22:49:17 +09:30
party_menu.tscn More menu prototyping 2023-07-31 23:32:46 +09:30
project.godot Change base resolution to 384x240 2023-08-02 20:44:29 +09:30
test.srm Test savefile. 2023-07-29 01:54:18 +09:30
test_scene.gd Partial menu theme 2023-07-31 17:25:37 +09:30
test_scene.tscn Tighten up some stuff with the new res target 2023-08-02 22:11:35 +09:30
worldmap_palette_mat.tres Basic waterfall scroll 2023-07-28 18:03:37 +09:30

README.md

Chocolate Bird

What?

Interactive Final Fantasy V save editor

Why?

Fun

How?

Godot 3.6, extracting resources from original or RPGe-translated SNES ROM.

How much?

tl;dr

You can currently load up your SNES ROM of Final Fantasy FFV and look at battle sprites, world map tiles, and listen to the instrument samples.

Full Feature List (WIP)

Following systems are ordered by vague overarching priority:

Save/Load System

I know I called this an "Interactive Save Editor" but I haven't started that yet.

  • SNES loading
  • SNES saving (should be easy enough, soon™)
  • PSX Support (wasn't identical to SNES with different offset ;_; )
  • GBA Support (note, does not imply full asset ripping)
  • Steam Pixel Remaster Support (I haven't bought this yet so low prio) (note, does not imply full asset ripping)

Menu System

I have mostly solved parsing of SNES menus in a sister project, however there are so few of them that hardcoding better behaviour would be nicer anyway.

  • Main Menu and Load/New Game
  • Party Menu and submenus
  • Shops

Map Field System

  • Character sprites (solved problem, soon™)
  • NPC sprites (solved problem, soon™)
  • Vehicle sprites (solved problem, soon™)

World Maps (Fields?)

  • Tiles
  • Tilemaps
  • Dynamic changes (e.g. meteors, breaking seals, sinking island, pirate cave, voids) (might hardcode these later)
  • Pathing (Data is in place, just needs moving around with collisions)
  • Mode 7 Effects (...might hardcode these later)

Dungeon/Town/Zone Maps (idk what accepted terminology is)

  • Tiles (solved problem, soon™)
  • Tilemaps (solved problem, soon™)
  • Layer Effects and animated tiles (needs research, including water)
  • Pathing (I have vague recollections about this)

Battle System

  • Character sprites
  • Weapon sprites (solved problem, soon™)
  • Weapon animations (will hardcode these)
  • Enemy sprites (solved problem, soon™)
  • Backgrounds (solved problem, soon™)
  • Enemy AI (needs research)
  • Abilities (will hardcode these, with fixes and extensions where appropriate)
  • Calculations (will hardcode these from Algorithms guide, with fixes and extensions where appropriate)

Script System

This will be an interpreter, I am not hardcoding the thousands of scripts.

  • Parser
  • Interpreter
  • API

Sound System

  • Instrument samples
  • Music playing (semi-solved problem, WIP)