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 - codemann8

Pages: [1]
1
Solved Problems / Issues getting started on playing FF7-PC
« on: 2020-04-07 22:29:30 »
I just got the 1998 PC version of FF7 and I've burned 2 full days just trying to get this working and although I'm nearly there, there are a couple of things I'm unable to figure out.  I'm also using 7th Heaven 2.0 as the launcher (I'm expecting to eventually get into modding, but I'm trying to get the vanilla game up first).  I should also mention that I'm running on Win7, and no, I'm not upgrading.

1) My PS4 controller isn't allowing DPad and L2/R2 buttons as input to the game.  It seems this is a very common problem, I see many many many posts about this and I've tried just about everything suggested in those posts, but to no success.  I'd very much prefer to use Joy2Key as I'm familiar with how to use it.  I do have all the buttons mapped to what FF7 expects from the keyboard (yes, Numpad numbers vs regular numbers) yet it seems like FF7 is trying to read from the Joystick config rather than the keyboard.  I can also verify that the Joy2Key setup is correct as I see text getting typed when I hit buttons (eventually I will change it so it only sends the keystrokes to FF7.exe so I don't have to worry about sending keystrokes to other applications).  Is there any way to disable FF7's joystick detection, it seems like that is wrongfully prioritizing the joystick over keyboard input. Or maybe there is something else I need to do.

2) The sound from the game mutes when the window isn't in focus. How can I change this? I need to be able to switch to chat or OBS but not have the interruption of audio while doing other things.

3) The graphics seem a bit choppy.  I can't quite tell if it's screen tearing or general lag, but this doesn't seem to be very clean, but it's also very slight.

4) There is a black bar on the bottom of the screen, I'm not sure if the top is getting cut off too, but is this normal?  I saw the Sticky on this, but didn't really offer any solutions that solved the issue.

2
I'm looking to gauge how much interest there would be in a World Map Walkmesh editor.  If so, I'll modify the naming of this topic appropriately to match the usual convention.

This editor would entail modding some of the things I've uncovered recently and documented in this topic, specifically around changing which terrains have encounters.

This editor will modify:
  • Mesh Triangle Coordinates
  • Adding/removing triangles
  • Texture references and UV mapping
  • Walkmesh statuses (for purposes of vehicle/chocobo fencing...and also for encounter changes
  • WM encounter rates/formations and also which areas/statuses activate encounters
  • All 3 WMs (Overworld, underwater, and snowfield) {Unknown if more can be added}
  • Actual texture imaging (although I don't currently have a working understanding of that yet)
  • WM coordinate references (when leaving field maps and entering the world map) {I don't currently know how this is handled yet, but only a matter of time}
  • Not yet, but possibly the ability to change which map blocks get modified along the way, like the Junon UW crater

3
I was browsing around and found this little topic from August 2018, fairly recently.  It seems someone found a way to extract content out of PSX SCUS executables and has the potential to repackage a new one with mods, although, that's still at the pioneer stage.  I thought the topic was interesting.

4
This was meant to be a PM to DLPB, but it seems he has PMs disabled.

I noticed a couple forums he was involved in (ha, I know that narrows it down, right?) involving world map data, so I'm guessing he the's the right person to ask.

So, I'm working on a project that will take a walkthrough and split it into small sections (as it's kinda already done, by different parts of the story) but will basically attach all the field map IDs associated with that part of the walkthru and then display all the enemies that can be encountered during that specific portion.  All that is great, but things get a bit trickier when involving the world map.  Basically for field maps, I have a "map of maps", linking all the maps to the ones that can be accessed from (by walking off the screen to another).  I want to extend this to how field maps will transfer you to the world map (and vice-versa) and also how areas of the world map lead to other areas (ie. walking from Midgar Area Dirt to Midgar Area Grass) and continue my map of maps so it includes world map areas.  Another complication is the restrictive nature of some areas, like areas only the buggy can penetrate, but I want to consider those scenarios as my walkthru project will consider GameMoment to determine things like if you have the Buggy or Highwind (can jump from Grass to Grass areas) or Gold Chocobo is possible (after you have Tifa as your main party member, then can jump from any world encounter area to any other, although to cut down on the verbose-ness of the possible enemies you can encounter, it will only show the new ones you couldn't encounter prior).  Hopefully you're catching my drift.

A foreword tho: I know that there's a world_us.lgp file for PC, but I do not have this file.  I'm working with original PSX files, so if you know where to look there, that would help.

In a nutshell, I'm missing 2 things:
1) Where world map encounter rates/battle IDs are stored on PSX (I'm surprised none of this is on the Wiki, not even the world_us.lgp structure)
2) Where the scripting is located for world map areas, similar to how field maps have scripts to jump to another map when crossing a walkmesh threshold, I assume the world map has similar scripts to change the encounter rates at the point of crossing a threshold.

Hopefully someone can help point me in the right direction. As long as I know I should be working with a specific file, I should be good to get started, I am quite good as analyzing binary data structures.  Problem is, I'm spending so much time deciphering files just to realize it's not the right file.

5
I've created a program called Highwind that utilized the game's RNG and awkward probability to help assist any player reduce the number of game resets needed when aiming for natural max HP and MP.  Discussion and inception of this program originated at GameFAQs. However, due to topics getting locked after inactivity, I've decided to move discussion to this site, which seems like a suitable home for a project like this.

The code and .exe is located on GitHub. Highwind (v1.0)

Here's a chart showing some statistics on estimated resets for each character:
CharMinMaxSRHRDiff
Cloud143.66852.78623.23512.69110.54
Barret96.82760.13665.28579.4985.79
Tifa144.5819.45   655.96   538.09   117.87
Aeris288.37   979.61   763.95   691.99   71.96
Red   708.9   2167.33   1615.66   960.36   655.3
Yuffie   153.7928.57747.2   650.19   97.01
Cait   289.29   1910.44   1335.67   1033.6   302.07
Vincent   719.61   1253.58   1180.64   1160.92   19.72
Cid   1438.96   2668.25   2007.4   1589.87   417.53

Min - The path with the lowest amount of estimated resets
Max - The path with the highest amount of estimated resets
SR - Standard Resets - If you accept the first safe value
HR - Highwind Resets - If you only accept GREEN values
Diff - The difference between SR and HR

The overall difference adds up to over 60 hours worth of resets saved!

How do you use Highwind?
  • First, all that is needed is the executable (*.exe), found in /FFVIIHighwind/bin/x64/Debug/, however, this should be placed into a directory of some kind that you have 'write' permissions for, there are some cache files that are created in the same directory as the program to save yourself from constant recalculation.
    Upon opening, you can click each Character to see all the paths available in the tree window.
  • You can start by entering in your Characters' Level, HP, and MP in the boxes on the top and then hitting Set, this will refresh the tree to that node and will show you the possible values you can get during the next Level Up. Hitting Clear will reset that Character and the tree will show Lv 1.
  • The tree will show you the Level of the Character, followed by the HP and MP value, followed by the chance of hitting that value, followed by two estimated amount of game resets required (the first one if you follow Highwind's advice, the second one if you don't). For example, one node in the tree may say: Lv 83 (7307 / 814) 4.3% chance [541.92 - 850.46 resets].
  • The "safe" values are color coded (Green to indicate a good value, Yellow to indicate a not-good but not the worst value, Red to indicate a bad value). Basically, if it's green definitely accept the value, if it's red definitely reject the value, if it's yellow you can consider accepting it ONLY if you've reset less times than the indicated amount, but it's recommended to reject all yellows as well, but you can see the estimated resets that will result.
  • When you've decided to accept the value the game gave you, select that node and hit Set, this will re-structure the tree and display it accordingly.
  • Optionally, you can hit Simulate after selecting any value in the tree and it will simulate 10k times, comparing "smart" vs "normal" strategies. Smart strategy is only accepting green and optional yellow values, normal strategy is accepting ANY safe value.
Future updates:
Ability to track each character's EXP and always know which character will level up next, this was something I solved by using a spreadsheet I made.  I plan to combine this spreadsheet with Highwind.  I discuss this more in detail here.

I'm sure this OP will be updated as I make changes along the way.

Pages: [1]