Author Topic: [PC] Ultima - Real-Time game hacking tool  (Read 1413 times)

mav

  • *
  • Posts: 251
  • The Sauce team
    • View Profile
[PC] Ultima - Real-Time game hacking tool
« on: 2024-12-23 00:04:24 »
Ultima - Real-Time FF7 PC Editor


If you've ever wanted to edit/hack Final Fantasy VII PC while playing the game then Ultima is the app for you. Its goal is to aid programmers, modders, challenge runners and people in general learning about FF7 internals, or if you just want to goof around and kill Emerald in one hit.

It can, among others, do the following things:

General stuff
  • Display and edit basic game information (game moment, Gil, GP, battle count, escapes, etc.)
  • Edit PHS status and Menu locks/visibility
  • Change game speed
  • Auto-skip intro videos (Squaresoft/Eidos logos)
  • Option to not pause the game when unfocused
  • Disable random encounters or make them happen constantly (both field and world)
  • Add/remove items and materia, including custom modded ones
  • And more...

Battles
  • Start an arbitrary battle both from the field and the world map
  • End a battle immediately (resulting in an escape or a win)
  • Toggle invincibility for allies
  • Instant ATB - no waiting for commands
  • EXP / AP multipliers (also possible setting them to 0 to disable the level ups)
  • show and edit ally and enemy information (HP, MP, statuses, ATB), instant kill button
  • show enemy stats, elemental affinities and item drop/steal rates (basically built-in basic version of the FF7 wiki)
  • view chocobo rating during battle

Field
  • show current field ID, step ID, step fraction, danger value
  • warp to any field and pick valid destination coordinates from a list of destinations
  • enable/disable character movement
  • display a list of field models with their coordinates
  • save states (experimental!)

World
  • show current model's position and triangle information, and current region name
  • show an indicator when walking over chocobo tracks
  • view the world map with all relevant models marked on it
  • ability to click on the world map to teleport to that position
  • view a list of all loaded world models and edit the coordinates
  • custom zoom/tilt camera controls

The app also comes with an auto-updater so when I release a new version it will get updated automatically.

I've spent a bunch of time working on this app and I really hope you will like it. Also, I have a lot of plans going forward with it, it's not by any means finished, I've just felt it's at a point where I can confidently call it a 1.0 release and show it to everyone.



Note: I am of course aware of the existence of Ochu, which was a big inspiration in making this app. While Ochu is great and I used it extensively, I've also noticed where it was lacking. It sometimes failed to connect to the game. Sometimes it hanged and required a force quit. The UI was something almost no one could understand without reading the manual (some people *still* don't know you can actually edit values with Ochu and not just view them). Finally it was lacking few features that I really wanted, like the ability to start any battle at any time (also on the world map) or view and edit ally and enemy statuses.
« Last Edit: 2025-01-14 15:47:35 by mav »

forkst

  • *
  • Posts: 25
    • View Profile
Re: [PC] Ultima - Real-Time game hacking tool
« Reply #1 on: 2024-12-23 10:52:47 »
Great job on this tool

do you think you could make a tool for final fantasy 8 and fantasy 9 1 day please

thanks

wdx

  • *
  • Posts: 222
    • View Profile
Re: [PC] Ultima - Real-Time game hacking tool
« Reply #2 on: 2024-12-24 06:09:45 »
nice to see you've posted your app on qhimm :) been enjoying following your livestream coding of it :)  should note ochu's freeze exp just deals with active party, whilst ur ultima tool deals with out of party :D

still surprised how quick u added that wee feature in many many thanks much <3

« Last Edit: 2024-12-24 12:46:29 by wdx »

mav

  • *
  • Posts: 251
  • The Sauce team
    • View Profile
Re: [PC] Ultima - Real-Time game hacking tool
« Reply #3 on: 2024-12-26 17:34:29 »
Great job on this tool

do you think you could make a tool for final fantasy 8 and fantasy 9 1 day please

Thanks, I don't have any plans working on FF8 or FF9 at this moment, it would be a very long process for me as I have way less experience with these games when it comes to how they work internally.

In other news I've just updated the app with an upgraded World section, now it shows the world map with current model and all vehicles/weapons marked on the map, and you can click on any place on the map to teleport to it instantly:


forkst

  • *
  • Posts: 25
    • View Profile
Re: [PC] Ultima - Real-Time game hacking tool
« Reply #4 on: 2024-12-26 22:53:23 »
Hey

I really like your new update on your ff7 tool

but your ff7 tool crashed on me today when i used the start the battle option on it

are you gonna add in a have all items, have all materia and always have limit break in battle option as well please

and can you also add in a option for us to teleport when we are buildings or towns please, so i can teleport to the sierra mason please

when i tried in status effects on the enemies using your program it won't work at all and softlocks my game

and can you also in the option to max out our status, and change our hp and MP out of battle as well please

1 more idea request, my request is this when someone uses the start battle option on your program they also select what battle music they want to use with it

thanks
« Last Edit: 2024-12-27 00:55:04 by forkst »

mav

  • *
  • Posts: 251
  • The Sauce team
    • View Profile
Re: [PC] Ultima - Real-Time game hacking tool
« Reply #5 on: 2024-12-27 07:08:56 »
If you experience crashes please let me know which game version you’re on, are you running the game via 7th Heaven and whether you’re using any mods (and which ones), FFNx version if you’ have it, etc. Also please post what function of the app you were using as the crash happened.

I am planning to add an option to warp to any field level. It’s more complicated than teleporting on the world map because for each field level you need to set proper coordinates for the player model, otherwise you’ll get soft locked.

Changing party stats out of battle is currently out of scope for this app since Black Chocobo can already do that when you load up your save file. I might add this option in future but it’s lower priority for me.

Adding items and materia is also something I’m thinking about but not sure exactly what would be more useful: “give me all items/materia” OR “give me a specific item/materia”.
« Last Edit: 2024-12-27 08:35:02 by mav »

wdx

  • *
  • Posts: 222
    • View Profile
Re: [PC] Ultima - Real-Time game hacking tool
« Reply #6 on: 2024-12-27 19:33:58 »
Adding items and materia is also something I’m thinking about but not sure exactly what would be more useful: “give me all items/materia” OR “give me a specific item/materia”.

could do a 'core' bit like new threat  :)
eg fire/ice/lightning/wall/cure materias alongside adding a few x-pots/megalixers/ethers, so 2 options "give basics" and 'give all '
imo items not really that useful as if fighting as with your insta battles drops needed superquick to get anyhow :)

anyhow there will be reported bugs likely if giveall is used as some modifications have other item numbers etc above the standard list so would have in readme / help 'og full items' if doing that

mav

  • *
  • Posts: 251
  • The Sauce team
    • View Profile
Re: [PC] Ultima - Real-Time game hacking tool
« Reply #7 on: 2024-12-29 20:50:06 »
New version released with two cool features:

Warp to Field:



As the name suggests it lets you to warp to any field in game - just click the Field ID row on the Field section in the app. Additionally it lets you to pick your destination, sourced from a list of possible destinations gathered from other fields that link to the one you want. This way when you warp to a field your model will not be softlocked at some random coordinates.

Save states (very experimental!)

This feature lets you create a save state and then load it back quickly. It's different from the normal save game mechanic, because it preserves script state (and everything else). So you can create a save state literally during a cutscene and then load it back perfectly fine. The catch is it currently only works when you don't leave the field level where the save state was created in. If you do leave, even if you come back, loading the state will crash the game.

In future I want to make this feature more stable and work across fields, but I'm not 100% sure whether it will be possible to do.

Fewtch

  • *
  • Posts: 79
  • All good things in time
    • View Profile
    • ArtStation
Re: [PC] Ultima - Real-Time game hacking tool
« Reply #8 on: 2024-12-30 00:12:23 »
This tool is such an incredible boon for those of us who make mods that require individual testing of nearly every battle and/or field!! THANK YOU, you are seriously going to make testing my next ReMusic update a breeze!

I'd like to ask, is there anything you can share about how/where the game is determining your position/location on the world map, and how it logs when you have entered a new location. For example, being able to track when you've left the Midgar area and entered the Kalm area. I suspect its related to what triangle you're on in the world map (since your tool seems to show when you are on a grass/beach tile) but I honestly dont know.

Again THANK YOU SO MUCH FOR THIS!

mav

  • *
  • Posts: 251
  • The Sauce team
    • View Profile
Re: [PC] Ultima - Real-Time game hacking tool
« Reply #9 on: 2024-12-30 07:06:21 »
Glad you liked the tool :). As for world map, the location name is actually quite easy to track (you're right, it's a property of the triangle the current player model is standing on), I'll add a display of it to the next version of the app.

Edit: I've just released a minor update with the following changes:

Battle

- show chocobo rating when fighting a chocobo
- button to instantly kill a character

World

- show current location (region) name
« Last Edit: 2024-12-31 13:56:03 by mav »

mav

  • *
  • Posts: 251
  • The Sauce team
    • View Profile
Re: [PC] Ultima - Real-Time game hacking tool
« Reply #10 on: 2025-01-01 11:11:16 »
Version 1.0.6 dropped!

New features:

Chocobo tracks indicator



When you step on a triangle that has "chocobo tracks" flag set (meaning you can catch a chocobo there) a little chocobo icon will show up in the Location & Terrain section.

Camera tilt/zoom controls



Video of the feature in action

Few days ago I finally figured out some previously unknown world script opcodes and during this process I found out, that the game has some "hidden" mechanics to control the camera zoom and tilt, which it almost never uses (the only meaningful spot it's used is during the cargo ship sailing scene). So I've added a way to control these parameters from Ultima, and it's very fun to play around with, you can get some very interesting and unique camera angles.
« Last Edit: 2025-01-01 13:32:22 by mav »

Kaiseran

  • *
  • Posts: 25
  • My best games is the RPGs and top is FF7 !
    • View Profile
Re: [PC] Ultima - Real-Time game hacking tool
« Reply #11 on: 2025-01-01 19:53:19 »
Thanks for sharing this perfect application, :) hopefully if there is PSX version also, it will be so helpful for who working on it. :) Personally if there application with feature that allows to edit BCX files of field models and LZS file of Battle models it will so awesome.  8)

forkst

  • *
  • Posts: 25
    • View Profile
Re: [PC] Ultima - Real-Time game hacking tool
« Reply #12 on: 2025-01-08 11:47:24 »
hey

I figured the problem, when you click out of the final fantasy 7 game on steam the game still plays but the music stops

is there anyway you can fix that problem on your program please

and is there anyway you could allow us to fix the battle music as well while being on the world map please

thanks
« Last Edit: 2025-01-08 11:52:59 by forkst »

mav

  • *
  • Posts: 251
  • The Sauce team
    • View Profile
Re: [PC] Ultima - Real-Time game hacking tool
« Reply #13 on: 2025-01-08 20:37:58 »
I figured the problem, when you click out of the final fantasy 7 game on steam the game still plays but the music stops
is there anyway you can fix that problem on your program please
and is there anyway you could allow us to fix the battle music as well while being on the world map please

I will look into fixing these in the next releases. In the mean time:

Version 1.0.9 dropped!

Since 1.0.6 the following changes & fixes have been implemented:

General
- added version number to the status bar and a simple About dialog
- fixed a couple of UI bugs and made it clearer when a value can be clicked to edit
- added a picker with a list of game moments to choose from
- ability to change current party members
- editing in-game time now accepts time in format [HH:][MM:]SS

Field
- fixed some UI bugs in the Warp to Field dialog
- "Warp to Field" now also works from the world map
- you can now edit field model coordinates and direction

World Map
- added "Super Speed" option for 6x the normal movement speed
- fixed editing world model coordinates

Battle
- fixed a bunch of battle descriptions in the Start Battle dialog
- chocobo rating is now set up correctly when starting a chocobo battle
- added a picker for battle music when starting a battle from the field

Thanks to Phantasm and others for testing and feature ideas!

mav

  • *
  • Posts: 251
  • The Sauce team
    • View Profile
Re: [PC] Ultima - Real-Time game hacking tool
« Reply #14 on: 2025-01-12 06:07:37 »
Version 1.1.0 dropped!

I did some plumbing work that enabled me to add one major feature (and a lot more in the future):

Add/remove inventory items and materia, including custom modded ones



This one is pretty self-explanatory, it lets you add (or subtract) any quantity of items/equipment to your party. It works by reading the available items from the game's memory so it works with any mods that modify your equipment.

It also lets you add any materia (again, including custom ones) optionally setting its AP value.

Edit: Version 1.1.1 is out!

* Fix: looping sounds that persisted after warping from some specific fields (like canon_1 or tin_2)
* Feature: key items management:



Edit: Version 1.1.2 is out!

* Feature: global keyboard shortcuts to access common actions like end battle, speed 4x, skip FMV, etc.
* Feature: full cure and status clear for the whole party, accessible via keyboard shortcut
« Last Edit: 2025-01-14 15:49:44 by mav »

mav

  • *
  • Posts: 251
  • The Sauce team
    • View Profile
Re: [PC] Ultima - Real-Time game hacking tool
« Reply #15 on: Yesterday at 12:45:40 »
Version 1.1.3 dropped!

* Fix: the PHS dropdown was not showing party members
* Feature: PHS and Party slot dropdowns now show actual character names from game's memory
* Feature: ability to instantly set your limit bars to be either full or empty (both in and outside battle)