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.


Topics - petfriendamy

Pages: [1]
1
Mechanics / Mt. Nibel wrong warp
« on: 2021-12-12 18:20:23 »
I did a lot of research into this wrong warp, so I might as well share some of my notes here!

If the notes below seem a bit dense, I also made a video about it, which you can find here:
https://www.youtube.com/watch?v=gHIQ5zFcAEE

Here is a spreadsheet of all the encounters on the world map, and what the corresponding fields are when you wrong warp:
https://docs.google.com/spreadsheets/d/1WDEoa8fpGJcrhYOwpKGqa-SWPZZpx9cpg4rHYt4QKJQ/edit



* The warp relies on the "no rewards" flag used during the Nibelheim flashback. This flag is hardcoded to send you directly to the field module instead of your previous module, resulting in erroneous behavior on the world map. (Shoutout to mav for this find!)

* Interestingly, the above glitch was SPECIFICALLY introduced in the PC port, because cheating in the battle flag on the world map does not result in a wrong warp on PSX. Whether this glitch still exists on PS4 and other console ports is unknown, but I would guess that it is since they were based on the PC version.

* That said, the reason we're able to do the warp in PC speedruns (and not HD consoles) is because of the PC port's quirk of not clearing memory after a game over. This, combined with skips like photo skip, allows us to game over during the Nibelheim flashback and bring the battle flag to the world map.

* However, the game over is NOT required for the actual wrong warp glitch. You simply need the "no rewards" flag on the world map, which can be done simply by exiting and entering Mt. Nibel with a GameMoment value less than 385 (which is impossible without glitches).

* Entering a field at any point will reset the battle flags back to default. For this reason, you MUST stay on the world map in order to do the warp!

* If you game overed in Mt. Nibel with the flag, the entire Mt. Nibel field stays in memory. Winning a battle on the world map will load that field in the EXACT STATE it was in when you entered the first battle, including battle flags. In order to keep these battle flags, you must IMMEDIATELY exit to the world map, without passing through any other fields.

* Exiting to the world map unloads the field from memory, forcing the field module to load a new field the next time it is called. (This is based on observation, since I couldn't find the actual code to prove this)

* The game stores the current ID of whatever's being loaded (including both battle and field IDs) at the memory address 0xCC0D8A (LoadingID). When you enter a battle, it first copies this value to 0xCC15D0 (FieldID), then updates (LoadingID) with the new battle ID. (FieldID) is what is referenced in the wrong warp glitch.

* In short, to wrong warp to places besides Mt. Nibel, you must:
  • Be on the world map with the "no rewards" battle flag
  • No fields must be in memory from a previous game over
  • Run away from a battle with an ID matching the field you want to warp to
  • Enter another battle, which sets 0xCC15D0 to the right value
  • Win that battle

NG+ STUFF:

* The warp also references player coordinates stored at 0xCC0D8C (TempCoords). If these are set to zero, the game places us at wherever the field's default location is (idk how this is decided). If they AREN'T zero, the game instead attempts to place us at (TempCoords), which usually softlocks or crashes the game.

* (TempCoords) are set upon entering a field, using the coordinates defined by the field jump. When entering the world map, (TempCoords) are set to 0.

* When you open the menu on a field, the game stores the player's current coordinates at 0xDC08D2 (PrevCoords). It also does this when you exit to the world map for some reason. Either way, these coordinates are copied to the savemap when you save.

* When you load a save, the game:
  • Copies the saved coordinates to (PrevCoords)
  • Copies those coordinates to (TempCoords)
  • Sends those to the player object (if on a field)
  • Zeroes out (PrevCoords)
* This is why you need to save twice to prevent crashing in NG+!

* Certain fields, like the debug lobby (startmap), have code that place the player somewhere specific on entry, negating any crash potential.

2
Releases / [FF7 PC] Cutscene Skip Mod
« on: 2021-03-01 23:32:30 »
This was the first mod I ever made, so I figured I'd bring it over to 7th Heaven real quick!

This mod skips most of the cutscenes in the game, allowing you to focus on the gameplay. You'll also run into Mog occasionally, who you can talk to to skip some of the more tedious sections like Wall Market and the Shinra HQ stealth section.



Great for challenge runs. Likely incompatible with mods that modify flevel, like New Threat.

You can download the IRO here: https://drive.google.com/file/d/19BjzvLjbHRDd68tRpEJP-cRTDF0Adv9S/view?usp=sharing

Old versions:

3
WIP / Speedrun Irony Mod
« on: 2020-12-15 01:56:56 »


Something's not quite right. Cloud and Barret have gone mysteriously missing, with Tifa left to fend for herself. At least she has two friends with her—Cait Sith and Vincent—but when exactly did she meet these people? Why do the three of them know things that they shouldn't? And most importantly, what happened to Cloud and the others?

This is the Speedrun Irony Mod, a project I've been working on for a couple of months now. The idea is that you play through the whole game with the three most powerful characters in the speedrun (Tifa in No Slots, Cait Sith in Slots, and Vincent in All Bosses), but the exploits that make them so powerful have been fixed. There have also been a few other balance tweaks, as well as lots of meta humor and other goofy moments.

To-do list
  • LOTS of field scripts
  • Also LOTS of animations—Cloud has a bunch of animations that Tifa doesn't
  • Dice is incredibly strong for early game, so I'd like to nerf it somehow. Maybe one die for level <10, if that's possible?
  • Fix the pre-emptive glitch for Aps, Jenova BIRTH, Midgar Turks
  • Fix W-Item glitch
  • Some other tweaks as I think of them
  • Difficulty settings? Some ideas: no escape from battles, permanent active ATB, no EXP from non-boss encounters

4
So as you may know, most of the characters' initial data can be found and edited in the kernel. But since Young Cloud and Sephiroth are hogging their respective character slots, the data for Cait Sith and Vincent is hidden away in the EXE, making it more annoying to edit. Well, I threw together a quick tool to help with that issue!



The tool locates Cait Sith and Vincent's data in the EXE, and allows you to edit it via the user interface. Right now it expects and validates with basegame data, but later on I might see if I can tweak it to read weapon data, etc. from the kernel. I also might expand it later to edit other stuff that can only be changed in the EXE, but I just stuck with this for now since this was what I needed it for.

UPDATE: The tool now includes character names and shop data!

Download link here:
https://github.com/petfriendamy/FF7-exe-Editor/releases


Old versions:
2.2: https://drive.google.com/file/d/1LnGEiMW7UCC04XJG8p-JryJi1qcxDYEg/view
2.1.2: https://drive.google.com/file/d/1gSsfj2g38Zyb__OEZjccBrNwKVy8WJeX/view
2.1.1: https://drive.google.com/file/d/1Cb-3ltSWxnKOfoOfHOQT5NpedEZsJqWa/view
2.1: https://drive.google.com/file/d/11HNwbq9bldCbQjpmf2u1L3nUIohlXMJW/view
2.0: https://drive.google.com/file/d/16wskivtB8hmvScT5hUJ5gCaVICOB-lh7/view
1.0: https://drive.google.com/file/d/1JDIjShNqgmDK92cEQuzfSJLgss63Erf8/view

Includes a DLL (Editor.Core.dll) that you can use for your own installers. Also includes the source code, which you can also use and modify if you want. (Now on GitHub!) Written in C#.

Pages: [1]