Author Topic: [FF7] LImit BReak Editor (Version 0.3)  (Read 27333 times)

Bosola

  • Fire hazard!
  • Global moderator
  • No life
  • *
  • Posts: 1753
  • Karma: 15
    • View Profile
    • My YouTube Channel
Well, the error is sorted out, and a few other things have been dealt with too. I think it should work with the PC version, so long as my information is correct. KM says

Quote
By the way, Limit Breaks are (starting at 0x51E0D4 of ff7.exe for the PC and somewhere in MENU\LIMTMENU.MNU for the PSX - I'm at university and don't have my discs right now):

So long as he means 'the first byte of limit data in the exe is $51e0d4', then Libre should work fine. Should. I don't like this business of working without the .EXE itself.

Libre now starts up with a 'blank' array of limits - all data zeroed - and you can then choose to open up a MNU or EXE to your choosing, *or* write a set of limit data from scratch. You can then patch your work to either version, so you *should* be able to extract the limit data from your PSOne patch and apply it to the PC instead, and vice-versa. If you followed the 'rough and ready' PC method explained above, you'd be able to simply copy from your generated file and have LiBrE do the patching.

I may try and hunt down my PC version to test it more thoroughly.

I may also consider freezing the application for Linux.

sithlord48

  • No life
  • *
  • Posts: 1436
  • Karma: 33
  • Dark Lord of the Savegame
    • View Profile
    • Blackchocobo
i would be happy to make you a linux-64bit and 32bit and mac version for you . but i don't know thing one about compiling python. so if you could point me to some docs on this i will get it set up.

slightly off topic , nice to see another kde user, you should learn Qt the language of KDE. and you might want to check out this action menu i made to open files the hexeditor okteta (sudo apt-get install okteta , on *buntus) its been very useful for decoding the savegames , by saving me time:).

Bosola

  • Fire hazard!
  • Global moderator
  • No life
  • *
  • Posts: 1753
  • Karma: 15
    • View Profile
    • My YouTube Channel
Python doesn't actually compile - freezing the application just bundles a standalone Python interpreter and the app's bytecode.

At any rate, freeze is supposedly quite trivial to use, and will produce binaries that *should* run on any Unix-like OS.

What I really need to do is hunt down the FF7.exe and verify that Libre doesn't mess up the limits on the PC version. Then, port Libre to Python 2.5 and use Py2Exe for the Windows executable. Icons can wait.
« Last Edit: 2010-04-24 19:28:31 by Bosola »

Bosola

  • Fire hazard!
  • Global moderator
  • No life
  • *
  • Posts: 1753
  • Karma: 15
    • View Profile
    • My YouTube Channel
Libre 0.3 is released; original post updated. I'll see about freezing the app, too.

AngeBleu

  • Cool newbie
  • *
  • Posts: 68
  • Karma: 0
    • View Profile
Yeah !!! Cool !! thanks and great job man !!  ;)

Kranmer

  • Freak
  • *
  • Posts: 767
  • Karma: 9
    • View Profile
nice work Bosola, just wanted to let you know 2 small things.
1 - your about screen for 0.3 still stays 0.2
2 - The program appears to run fine on wine

Bosola

  • Fire hazard!
  • Global moderator
  • No life
  • *
  • Posts: 1753
  • Karma: 15
    • View Profile
    • My YouTube Channel
Quote
1 - your about screen for 0.3 still stays 0.2



--

So, Wine is fine, huh? I'll have to try this out a bit more...
« Last Edit: 2010-04-25 23:47:37 by Bosola »

Kranmer

  • Freak
  • *
  • Posts: 767
  • Karma: 9
    • View Profile
sorry for the nitpicking just thought you would like to know,
and yes its working on wine, here is proof
http://www.youtube.com/watch?v=kjymmGvG4B8
its ububtu 9.10 with the latest version of wine (i think its 1.1.43 or somthing like that) and VC++ redists for 03,05 and 08 installed and then it worked. Please note i havent fully tested it, just wanted to let you know it runs on wine.

sithlord48

  • No life
  • *
  • Posts: 1436
  • Karma: 33
  • Dark Lord of the Savegame
    • View Profile
    • Blackchocobo
since its written in python. is there really a need for running it in wine ? :P

Bosola

  • Fire hazard!
  • Global moderator
  • No life
  • *
  • Posts: 1753
  • Karma: 15
    • View Profile
    • My YouTube Channel
It's a little simpler who don't want the extra step of installing all the WxPython etc. etc.

ff7rules

  • Insane poster
  • *
  • Posts: 422
  • Karma: 2
    • View Profile
Quote
1 - your about screen for 0.3 still stays 0.2



--

So, Wine is fine, huh? I'll have to try this out a bit more...

Bernard from Black Books lol! He likes his wine.
Nice little editer this Will def be using it in my patch.

Kranmer

  • Freak
  • *
  • Posts: 767
  • Karma: 9
    • View Profile
Bosola i am looking into compiling this on windows (just to see how its done since i have bearly no experiance in python), what script do you use with py2exe to convert your script to EXE ?

Bosola

  • Fire hazard!
  • Global moderator
  • No life
  • *
  • Posts: 1753
  • Karma: 15
    • View Profile
    • My YouTube Channel
The setup script is rather simple, assuming you don't want any special parameters.

Create a py file like the following:

from distutils.core import setup
import py2exe

setup(windows=['Libre.pyw'])


You then invoke it at the command line

C:\blah\directory\with\files> python nameofsetupfilehere.py py2exe

Quite easy. You can leave in the console (why?) by using

setup(console='Libre.py']).

You will end up with a dist and a build directory in your folder. Build is full of junk created as Py2Exe did its work. Dist is your application folder.

The difference between this and the downloadable Win folder is that mine has been packed with UPX for smaller size and faster startup.

You would add an icon by using the following as a Py2Exe script instead:

setup(
    windows = [
        {
            "script": "Libre.pyw",
            "icon_resources": [(1, "icon.ico")]
        }
    ],
)


This will bundle the icon into the app.

Alternatively, you can just run the Python file with Python + WxWindows. Be aware that IDLE etc. will require Libre.pyw to be renamed App1.py in this case. Well, you could alter the other files appropriately, but that would be the quickest way.

I hope that helps.
« Last Edit: 2010-11-13 17:50:57 by Bosola »

Kranmer

  • Freak
  • *
  • Posts: 767
  • Karma: 9
    • View Profile
Ah thanks alot Bosola, i had read a few scrips on the matter but none of them worked right but yours works perfect thanks, i am now going to experiment with special parameters since there does seem to be some pretty interesting ones including one to compile it all into 1 EXE.

EDIT- just tested some more parameters and the bundle_files parameters works pretty well (it gets rid of most of the anonying DLL's and extra files but still leaves libre.exe,libary.zip,w9xpopen.exe,MSVCR71.dll)
« Last Edit: 2010-04-28 21:46:56 by kranmer »

Raziel80

  • Cool newbie
  • *
  • Posts: 52
  • Karma: 1
    • View Profile
Found small differences between Wallmarket and Libre with Vincents ALT-2 satan slam:
 Wallmarket shows: 90 strength of magical damage, and starts as multiple with attack% 100
 Libre shows: 48 strength  of physical damage, and without starts as multiple with attack% 255
 

Bosola

  • Fire hazard!
  • Global moderator
  • No life
  • *
  • Posts: 1753
  • Karma: 15
    • View Profile
    • My YouTube Channel
Then you've found differences in the attack defined in the KERNEL.BIN and the one defined in LIMTMENU.MNU. Attacks in the KERNEL trump those in the LIMTMENU, by the way.
« Last Edit: 2013-03-30 00:51:28 by Bosola »

Lazy Bastard

  • Insane poster
  • *
  • Posts: 298
  • Karma: 13
  • I may be lazy, but I can...zzzZZZzzzZZZzzz...
    • View Profile
    • GameHacking.org
Then you've found differences in the attack defined in the KERNEL.BIN and the one defined in LIMTMENU.MNU. Attacks in the LIMTMENU trump those in the KERNEL, by the way.

Then you should probably change this sentence, in the first post of this thread:

Quote from: Bosola
Oh, and another thing. Limits that are stored in the KERNEL.BIN probably trump Limit Break attacks in the LIMITMENU.MNU, so you will likely need Wallmarket to edit them all. I need to confirm this.


NFITC1 also seems to believe that those values in the kernel override those in LIMTMENU.MNU (or did in April of 2010):

Oh, and another thing. Limits that are stored in the KERNEL.BIN probably trump Limit Break attacks in the LIMITMENU.MNU, so you will likely need Wallmarket to edit them all. I need to confirm this.
I can mostly confirm that this is true. Data for Vincent's, Tifa's, and Cait Sith's limit attacks including Blade Beam's shockwave (the attack indexes that are less than 128) are retrieved from the KERNEL.BIN. That's how this effect was achieved. I just got in a battle with emerald and began that sequence. She can't hit hard enough to kill in one limit chain. I added the "kill regardless of status effect def" to her Final Heaven and that happened.
That's really the only one I tested. I haven't tested Vincent's and Cait Sith's, but I know Tifa's are taken from that.


Have you or others discovered something that contradicts your original assumption and that of NFITC1? I was under the impression that KERNEL.BIN still trumps LIMTMENU.MNU...
« Last Edit: 2013-03-28 14:40:24 by Lazy Bastard »

Raziel80

  • Cool newbie
  • *
  • Posts: 52
  • Karma: 1
    • View Profile
said that because, other attacks are  the same. I don't know what formula is right. But it seems satan slam uses magic attack formula from WM.

Bosola

  • Fire hazard!
  • Global moderator
  • No life
  • *
  • Posts: 1753
  • Karma: 15
    • View Profile
    • My YouTube Channel
Then you should probably change this sentence, in the first post of this thread...

Yeah, wrote it the wrong way around.



Lazy Bastard

  • Insane poster
  • *
  • Posts: 298
  • Karma: 13
  • I may be lazy, but I can...zzzZZZzzzZZZzzz...
    • View Profile
    • GameHacking.org
Yeah, wrote it the wrong way around.

...in this recent post, or in the first post? If so, was NFITC1 also mistaken? I just want to clarify, since I haven't dived into this aspect of FF7 modding yet.

Bosola

  • Fire hazard!
  • Global moderator
  • No life
  • *
  • Posts: 1753
  • Karma: 15
    • View Profile
    • My YouTube Channel
In the recent post. The one I just edited to read differently.

Really, you shouldn't be reliant on my advice - I never really did much research into limits, just put together a (badly developed) application for managing the LIMTMENU data.

Lazy Bastard

  • Insane poster
  • *
  • Posts: 298
  • Karma: 13
  • I may be lazy, but I can...zzzZZZzzzZZZzzz...
    • View Profile
    • GameHacking.org
Ah, heh.

Well, your work is generally quite impressive, so people are going to listen to your advice whether you like it or not :P

NFITC1

  • No life
  • *
  • Posts: 2763
  • Karma: 61
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
...in this recent post, or in the first post? If so, was NFITC1 also mistaken? I just want to clarify, since I haven't dived into this aspect of FF7 modding yet.

LIES AND SLANDER!!! I wasn't mistaken at all!! The gun wasn't loade..... oh, wrong defense.

Ahem. I can't speak for the LIMTMENU.MNU file, but I do know that the data in the KERNEL.BIN is the same as what's in the exe. If LiBrE is reporting Satan Slam part 2 as having a strength of 48 then the game doesn't use that data for Satan Slam.

For information that exists in the KERNEL.BIN, it takes its data from there. That's or Tifa, Cait Sith, and Vincent. Yes, that data exists in the LIMTMENU.MNU, but it's ignored because their limits are different.

Lazy Bastard

  • Insane poster
  • *
  • Posts: 298
  • Karma: 13
  • I may be lazy, but I can...zzzZZZzzzZZZzzz...
    • View Profile
    • GameHacking.org
Ah; makes sense. Thanks for the detailed response.

Ansem

  • Crazy poster
  • *
  • Posts: 127
  • Karma: 8
    • View Profile
Sorry to interfere, guys... but regarding ALT-2 Satan Slam in the ff7.exe, is there any possibility that LiBrE glitches up here?

...What I mean is, compare ALT 2 - Satan Slam to Braver. What do you notice?
Also, try changing something in Braver. For example, change the attack power of 48 to whatever insane number you want. Then look back at ALT 2 - Satan Slam. The number will be the same as the one you entered in Braver. I don't suppose this is meant to happen?  ???