Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - mav

Pages: [1] 2 3 4 5 6 ... 11
1
The reason 7th Heaven and most gameplay mods in general require the English exe is because the code layout of the exe differs between language versions. Gameplay mods rely on knowing the code addresses in the exe to apply patches.

2
Version 1.6.0 dropped!

This release introduces two big new features:

Chocobos screen: view and edit Chocobos in your stables and the ones outside in the pen. You can change their name, sex, color and all racing related stats.



Variables screen: it merges the old advanced variable editor with a totally new simplified interface that lets you edit most of the known game variables inside an easy to use interface with descriptive variable names.



The field names and descriptions come from the excellent FF Wiki page documenting the Savemap.

3
Version 1.5.0 dropped!

This is a pretty big release with two new features:

* New Party screen - View and edit party stats, equipment, limits and more



* Showing in-game messages when toggling speed and other hacks via keyboard shortcuts



Also here's a change log for the past few version that I didn't post about:

* Ultima now loads battle scenes directly from the game data (so it will now properly display battles for mods that change enemies)
* Show additional details in Start Battle modal - pre-emptive, back attack, can't escape flags, etc.
* "Max Items" option in the Add Items modal that gives you 99 of each item
* "Max Materia" option in the Add Materia modal that gives you one of each materia (mastered)
* Adding items now works in battle (you can immediately use added items)
* View and edit Love Points and Battle Points
* Map Viewer: Follow Player option that will pan around the map as the player moves and also highlight the triangle the player model is currently standing on
* Added keyboard shortcuts for Skip Dialogues, Walk Anywhere, Invincibility and Manual Slots toggles

4
The Skip Dialogues option can result in soft locks because it changes the timing of cutscenes slightly and some cutscenes assume very precise timing to work properly. I’ve already fixed a handful of these, and if you encounter more please report them and I’ll fix them. I’ll note down the Elena in Icicle Inn part, let me know what the other one was.

Btw one way to recover from such a soft lock is to reload the field by using the Warp to Field function in Ultima and supplying the same current field id.

5
—"Full party Heal" and "Toggle Limit Bars" buttons that are already included in General > Party, I miss to have them while managing my battle in Battle tab.

These two options are also exposed as keyboard shortcuts so you can use these for easy access until I find a better way of structuring UI to make them more accessible.

6
If you think it is a good idea and you have the time, can you add love points viewer and editor? I have the values in a table, shouldnt be too complicated.

I’ve just added them  in the latest version, you Can find them in the General tab.

7
I'm still holding out for a Gil multiplier from battles, similar to the EXP/AP ones you've already added, but other than that, this thing is just about perfect.

Something else that might be handy is the ability to use a keyboard shortcut to skip dialogue (I wouldn't mind toggling the skip feature on for things like the Kalm flashback, but then turning the skip feature off for most of the game). Basically, having more options that could be assigned to keyboard shortcuts (they could all be unassigned by default; doesn't matter to me) would be cool. Maybe the ability to toggle the manual slots from a keyboard shortcut would be nice as well.

Just released a new update containing the Gil multiplier option, as well as new keyboard shortcuts for Skip Dialogues, Walk Anywhere, Invincibility and Manual Slots toggles :).

And actually, maybe one last feature (since it's literally the only thing I still use Black Chocobo for): The ability to add Aerith back to your party/PHS after she dies at the end of disc 1. Sometimes, I'll use Black Chocobo to add her back to the PHS menu after she dies so that I can continue to play as her on discs 2-3.

This is already possible, in the General tab click the PHS row and tick the "Show" and untick "Lock" checkboxes for Aeris and she will be available again in the PHS.

Edit: I've pushed another release that allows you to edit Love Points and Battle Points, and added a option to map viewer to follow you around when running around in game.

8
Version 1.4.7 dropped!

There were many changes since the last release announcement here, I'll only list the most important ones

* Battle Log - shows a log of all actions that happened during the current battle



* Settings window, allowing you to configure keyboard shortcuts and other app settings
* Edit max HP/MP of allies and enemies during battles
* "Skip Dialogues" - disables all blocking message windows on all fields (except choices and the ones that do not block eg. timers)
* View and set collision, interaction and visibility flags for field models
* "Speed hack enhancenements" setting that disables the temperature dropping in Great Glacier and disables wind triggering battles in Whirlwind Maze when speed hack is on
* "Manual Slots" battle option that stops all slot reels (Tifa's and Cait's limits, and battle arena) and lets you choose slots with arrow keys
* "Walk Anywhere" toggle that lets you walk, drive and land on all terrain types on the world map

Plus tons of fixes and smaller changes.

9
Although I’m not sure how exactly that would work since some enemies have multiple items to steal but you only can steal, I’ll think about it.

Maybe always steal the most rare item?

10
One other idea, mav (if it wasn't already on your to-do list): The ability to edit your battle points at the Battle Arena in the Gold Saucer.

You can already do this the “hard” way using the Variable Editor from the general tab. Turn on 16-bit mode and your battle points are in the field 112 of Bank 1.

I have it on my todo to expose some often used savemap values in a more user friendly manner, this is just a workaround.

As for 100% rate it is a cool idea, I’ll add it to the list.

11
Amazing work, mav! Love it!

Is there any chance of being able to boost EX/AP by more than 4x and being able to speed up the game more than 4x as well? Thanks.

Speed is tricky because the way I’m doing it is by bumping the FPS limiter the game uses, which means it is capped by your monitor refresh rate. So while I could offer a 5x or more options if your refresh rate is lower than 150 Hz you would not see any difference.

As for custom Exp/AP boosts that should be possible, I’ll add that to my todo list.

12
FF7 Tools / Re: How to edit a materia's ability list?
« on: 2025-02-20 08:06:07 »
Thanks, mav. I want to keep the exist 5 materias, just wanted to also have materia for the other three stats (Strength, Defense, and Spirit). I've made them and they work fine, I just didn't know I couldn't change the text under the ability list to show what they do. Can that text be edited via Scarlet, which has an FF7.exe editor?

If you want to add more than 5 materias that change stats based on level you unfortunately won't be able to achieve the same result as Magic Plus and others. Best you can do is just have a static text. I believe by default the game just repeats the materia name in the Ability List and that's the best you can do without some heavier exe modifications.

13
FF7 Tools / Re: How to edit a materia's ability list?
« on: 2025-02-19 09:12:42 »
Two things:

The Ability list on the left of the materia info window is pretty much hardcoded in the EXE in what it shows. There are only a couple materia where it's coded to show attribute names with per-level percentages, and these are the first 5 materias (as stored in game's data): MP Plus, HP Plus, Speed Plus, Magic Plus and Luck Plus. You cannot change via simple kernel editing what text is being displayed by these materias as this is hardcoded in the EXE.

The Equip effect can be changed by editing kernel data but there's a hardcoded list of atribute sets and their stat bonuses to choose from (see https://wiki.ffrtt.ru/index.php/FF7/Materia_data). These are always the same no matter what level the materia is. What New Threat did with the Omni Plus materia is they've modified the EXE and put in a new stat bonus list (or changed an existing one).

Now assuming you want to have Strength Plus materia that shows a per-level stat bonus for Strength the simplest way would be to change one of the 5 aformentioned materias (MP/HP/Speed/Magic/Luck Plus) to Strength Plus, adjust its attribute to be Strength and then also modify the EXE to show the correct text in the menu. Here for example I've changed Magic Plus to Strength Plus:



To achieve this I've modified the code starting from memory address 0x70b667:

Code: [Select]
70b667 = 68 38 0D 92 00  ; PUSH 920D38 - address of "Strength" text
70B694 = 6A 7F           ; PUSH 127 - X coordinate of the stat bonus number
70B6AF = 6A 73           ; PUSH 115 - X coordinate of the "+" character
70B6CA = 68 97           ; PUSH 151 - X coordinate of the "%" character

14
Version 1.3.0 dropped!

* Feature: World map viewer showing a live, zoomable top-down map with ability to toggle section boundaries, triangle boundaries and showing current positions of all controllable models plus all weapons



You can toggle on and off the display of world grid lines, triangle boundaries and model positions. There are also 4 different rendering modes to choose from:

* Textured (pictured above, showing the map as it looks in-game)
* Terrain (shows terrain type for each triangle e.g. grass, wasteland, beach, forest; the encounters you can get depend on this)
* Region (different colors for all the main world regions e.g. Midgar Area, Grasslands, Cosmo Area etc.; this is what is shown as the location name in the menu)
* Scripts (highlights triangles that have scripts attached to them, it also highlights triangles where chocobo encounters are possible)

Here's how terrain, region and script views look like (click to enlarge):


15
The biggest flaw Discord has is the discussions there are pretty much ephemeral. They’re not searchable from outside and are essentially gone immediately after they take place because the meaningful stuff drowns in all the chatter and memes.

That’s why it’s important to keep the forums and wikis alive because that’s where the permanent knowledge lives in for the next people that will come to the scene.

16
Version 1.2.0 dropped!

* Feature: Save State manager! I've polished this feature a lot and it now works across fields, saves are also saved between app launches.



* Fix: issue with editing enemy details / killing enemies has been resolved
* Fix: reworked how the app connects to the game, hopefully it will not disconnect after some time anymore

17
Github save of the wiki: https://ff7-mods.github.io/ff7-flat-wiki/

Do you know who manages this repo and would they be willing to update the mirror? There's a lot of FF7 related updates to the wiki that it's missing.

18
The code to apply critical damage is shared for both allies and enemies, it happens at 0x5de697:

Code: [Select]
        005de697 8b 55 f4        MOV        EDX,dword ptr [EBP + damage]
        005de69a d1 e2           SHL        EDX,0x1
        005de69c 89 55 f4        MOV        dword ptr [EBP + damage],EDX

Changing that to do 150% would require a lot of rewriting because as far as I'm aware you can't multiply by 1.5x in a simple instruction like binary shift left.

19
Hello, thank you very much but I have a question. I think that data is for the 7thHeaven .exe because my .exe only goes up to 0061xxxx. I don't use 7th because I like to manually edit some things in the exe like the limits and 7th changes the exe for me, so I chose to use the .iro to unzip, install everything manually and make whatever changes I want to the exe that way. So would these changes be possible in the base Steam .exe?

No, these are for the Steam .exe but postscriptthree used the hext format for them which use the addresses as they're laid out in memory. If you want to patch your exe directly in a hex editor just subtract 0x400C00 from these values. For example the first byte to change in the item pickup limit is at 0x2CB481 (originally it's 0x63 which is 99 in decimal).

20
FF7 Tools / Re: [PC] Ultima - Real-Time game hacking tool
« on: 2025-01-17 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)

Edit:

Version 1.1.4 dropped!

* Fix: display of party member names in the party dropdowns when they're too long
* Fix: when changing party members while in the menu it will now refresh automatically to show the new member portrait and their stats

Version 1.1.5 dropped!

* Feature: show field names for wm* destinations in the Warp to Field dialog
* Feature: add a "world map" destination when warping to fields that have entry points from the world map
* Fix: toggling the limit bars outside battles now works in all cases
* Fix: display field id properly for wm* fields

Version 1.1.6 dropped!

* Feature: added keyboard shortcut remapping
* Feature: remember last used hacks between app launches
* Feature: automatically apply hacks between game restarts

21
FF7 Tools / Re: [PC] Ultima - Real-Time game hacking tool
« 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

22
FF7 Tools / Re: [PC] Ultima - Real-Time game hacking tool
« 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!

23
I decided to sit down and finally once and for all reverse the enc_w.bin file and the code for triggering encounters on the world map. I've created a new wiki page to document all my findings, the link is below.

Long story short, the initial 160 bytes that were previously unknown contain two sections: Yuffie / Mystery Ninja encounter map (it maps Cloud level to scene id for Yuffie encounters) and Chocobo rating map (maps scene id to chocobo rating).

Link: https://wiki.ffrtt.ru/index.php/FF7/WorldMap_Module/Encounters

This would not be possible without the information everyone in this and other threads compiled before me. This includes Terence Fergusson, codemann8, DynamixDJ, JBedford and others.

24
General Discussion / Re: Location of limit break data
« on: 2025-01-01 17:34:36 »
If you want to access these values from the script then I believe it’s not possible. Field script can only access variables from the memory banks the devs specifically defined for that purpose. The character data lives outside this memory region.

25
General Discussion / Re: Location of limit break data
« on: 2025-01-01 13:39:26 »
This info is stored in the Savemap Character Records per each character:

Code: [Select]
Offset Length Description
0x0E 1 byte Current limit level (1-4)
0x0F 1 byte Current limit bar (0xFF = limit break)
0x22 2 bytes Learned limit skills bitmask
0x24 2 bytes Number of kills
0x26 2 bytes Times limit 1-1 has been used
0x28 2 bytes Times limit 2-1 has been used
0x2A 2 bytes Times limit 3-1 has been used

In memory, the Savemap on PC is stored at address 0xdbfd38, and character records start at offset 0x54, each record is 132 bytes long.

Pages: [1] 2 3 4 5 6 ... 11