A theory about menus I'd like some help with

  • Thread starter Thread starter nfitc1
  • Start date Start date
Status
Not open for further replies.
The question is, did Square/Eidos even have a EULA for FF7? I don't ever remember seeing it.
IIRC, there is no EULA for FF7. I certainly don't recall being asked to accept anything when installing.
 
The question is, did Square/Eidos even have a EULA for FF7? I don't ever remember seeing it.
Square wouldn't. Eidos would.

And wouldn't you know it.....they don't support it anymore. We could probably consider this abandonware now....

IIRC, there is no EULA for FF7. I certainly don't recall being asked to accept anything when installing.
I could have sworn that there was one at one point. My install disc is put in some dusty game holder somewhere and I don't want to dig it out to look. If it's not there we could assume that there's not one.
 
Pretty sure there's some blurb on the PAL PSOne version that deals with disassembling.

Good for me I use the NTSC version instead ; )
 
maybe I'm horrible under-informed, but if FF7 lacks a EULA what exactly would that mean? Free-reign in editing the EXE and no worry of potential repercussions from the publisher?
 
Pretty sure there's some blurb on the PAL PSOne version that deals with disassembling.

Good for me I use the NTSC version instead ; )
Fun fact: if there's a EULA on the case, and it doesn't specifically forbid selling the discs without the case, the buyer of a caseless used copy isn't necessarily subject to the EULA.
 
maybe I'm horrible under-informed, but if FF7 lacks a EULA what exactly would that mean? Free-reign in editing the EXE and no worry of potential repercussions from the publisher?
I'm lead to believe that EULA's don't have as much legal authority as many people think they have (do correct me if I'm wrong). I'm sure that saying "no EULA" wouldn't stop Squeenix trolling people with C&Ds.
 
maybe I'm horrible under-informed, but if FF7 lacks a EULA what exactly would that mean? Free-reign in editing the EXE and no worry of potential repercussions from the publisher?
I'm lead to believe that EULA's don't have as much legal authority as many people think they have (do correct me if I'm wrong). I'm sure that saying "no EULA" wouldn't stop Squeenix trolling people with C&Ds.
It frequently depends on the form that the EULA takes. If you are unable to see the EULA before agreeing to it, for example (such as saying you agree by breaking a sticker on the packaging required to open it, but the agreement is on the disc itself), most judges will side with the consumer in a legal battle.
 
The problem is that if the C&D drops you're not going to court. I don't think anyone here would risk going up against Squeenix, especially not if the C&D is directed at qhimm.com itself.
 
Actually, I could do with some of your assistance in learning about ASM hacking. I've played with the AI engine's pseudo-assembler, and I'm fine with stacks, registers and pointers. Considering my current level, where do I go next? Learn about generic x-86 assembler before anything else?
If you've done the AI editing and are comfortable with that then the next step is just to dive into the ASM code of the executable and google anything that doesn't make sense. There's lots more code in an executable that isn't in the AI so you'll be googling a lot at first. :)

Basically, get a good debugger program. I use IDA and I think it's fabulous. I can name references, memory addresses, jumps, run the program and do traces. It even works with the fourth and fifth buttons on a mouse like a browser (forward and back through the jump history list). I'm just using the freeware version and not even all its features there either and I find it exceptionally helpful. Get that, load the executable into it and just dig through it until you find something familiar. There are lots of addresses spread through out the forum on places to start. I'd say start with naming the savemap in memory (it's at a static location around the 0xDB0000s) and look for cross references to things you want to find. That's how I found the out-of-battle item functions. Just give it a shot.
It helps to be able to think in binary and hex. Also, it tries to auto anticipate data types (byte, word, dword) but doesn't always get them right. Like the materia equip effects I just found yesterday (equip effect 15h is pretty sweet :D).
IDA, huh...
 
I've made some progress on this.

I have created a .dll hook, and injected it using Aali's driver.

I use multiple methods inside my .dll, for one, I'm using actual function hooks to grab a GameLoop function(ie, some game function that get's called constantly.), which means, I effectively have my own extension to the GameLoop where I can add any code I please. (And I can hook any existing function from the .exe, or any of it's libraries, user32.dll, etc,.)

The other method, is similar to that of a trainer, using Read\Write ProcessMemory, so I can manipulate values however I want..

So basically, I have full control over the .exe, and can do anything I want from here. :)

I have a number of goals.

1. Implement a toggle-able speedhack, basically like a fast forward button.. (ala, emu's, Chrono Cross, FFXII International, etc,.)

2. MP Regeneration. (Stat\Time based)

3. Load Menu In-Game.

4. Save anywhere.

5. Anything else I might think of.

If you can contribute the locations of values, or functions, that are relevant, that would be helpful, otherwise it's going to be awhile b4 I actually make it do this stuff. (PM me, or make a topic with values, or a wiki, etc,.. I'll find what I can on my own obviously.)

Here's what I'm thinking for the wiki format.

P1 MP Current (Non-Battle)
0x00DBA4AC | short 0-255
0x00DBFDBC | short 0-255
 
Last edited:
hey guys, new (aka please forgive) as per the discussion about the EULA i think this would fall more under the catagory of proprietary code?  and about the very idea this post started out as (creating a "reload" function) what about trying to tie the new feature into the actual saved games location rather than the very first screen (new game, continue). from what i read it seemed that you were trying to put the continue button on the menu, when i would think that you only want the list of saved games there.

anyway i think im going around in circles.
 
  and about the very idea this post started out as (creating a "reload" function) what about trying to tie the new feature into the actual saved games location rather than the very first screen (new game, continue). from what i read it seemed that you were trying to put the continue button on the menu, when i would think that you only want the list of saved games there.

anyway i think im going around in circles.
NFITC1 wanted to create another menu entry (comparatively easy) that linked to the load game module. That module would be responsible for reading the save headers and starting the load process etc.

The problem was that the menu could be called, but cursors and rendering didn't work. There is probably more than just the 'open a menu, taking the menu no. as an argument' operation, spotted earlier. The question is, what?

I'm wondering if the PSOne version might shed some light. Only a fragment of the menu executable is 'loaded' at any particular time. Watching what gets banked in when the load menu is called might help.

Or, of course, might not.
 
Status
Not open for further replies.
Back
Top