Author Topic: [N/A] Text and Hex Editors - Hext Tools 3.0  (Read 121969 times)

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: DLPB Editing Tools
« Reply #25 on: 2012-09-28 20:54:40 »
No installs are needed.  As soon as you close ff7 down and reopen you are good to try again.  Dll will be unloaded whenever ff7 is closed.

dziugo

  • *
  • Posts: 1470
    • View Profile
    • A new copy of FF7 thanks to Salk. Pack (zip/rar/etc) your saved game before sending it to me.
Re: DLPB Editing Tools
« Reply #26 on: 2012-09-28 20:56:00 »
The hook works as I can debug through it and I can see it reacting to keypresses, but Alt+4 doesn't change the speed.

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: DLPB Editing Tools
« Reply #27 on: 2012-09-28 21:10:15 »
It may be that the offsets are wrong?

I assumed you could just add c00 to the ff7 1998 offsets and it would work? 

double* const worldMapFps1 = reinterpret_cast<double*>(0x00969958);
double* const worldMapFps2 = reinterpret_cast<double*>(0x00DE6938);

double* const battleFps1 = reinterpret_cast<double*>(0x007C0B00);
double* const battleFps2 = reinterpret_cast<double*>(0x009AB090);

double* const fieldFps1 = reinterpret_cast<double*>(0x007B7840);
double* const fieldFps2 = reinterpret_cast<double*>(0x00CFF890);

These are the 1998 offsets.

Perhaps the realtime changes don't work.  How about leaving the field/world map after pressing Alt+4?

dziugo

  • *
  • Posts: 1470
    • View Profile
    • A new copy of FF7 thanks to Salk. Pack (zip/rar/etc) your saved game before sending it to me.
Re: DLPB Editing Tools
« Reply #28 on: 2012-09-29 10:37:36 »
Memory offsets didn't change. It's the same 1.02 executable, just wrapped with SecuROM stuff. Only file offsets are shifted.

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: DLPB Editing Tools
« Reply #29 on: 2012-09-29 11:27:37 »
Oh.  Well that makes things a lot easier!  8-)

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: DLPB Editing Tools
« Reply #30 on: 2012-09-29 13:48:11 »
Test time 2.

I need someone with the 2012 version to download this
http://dl.dropbox.com/u/36889302/Loader2012.zip
Code: [Select]

1. Open loader.exe

2. Click add to add the ff7 2012 executable.
(the actual game executable, not the launcher).
Make sure first box reflects this.

3. Make sure DLL box is set to test2012.

4. Open FF7 2012 (NOT USING loader.exe).  Open it normally.
   Now leave game on the continue / new game screen.

5.  Make sure "Launch file" box is unchecked, but that
"Inject DLL" box IS checked.

6. Click OK.

7.  Load a game save and press Alt+4.

OK people, try again :)  This is new and improved dll thanks to guidance from Dziugo :)  let us hope it works!  If after the above the game speeds up, we are in business.

When a saved game is loaded, you should hear a beep, all you do then is press Alt+4.  See if the game speeds up.  World map, field or battle.
« Last Edit: 2012-09-29 16:00:01 by DLPB »

dziugo

  • *
  • Posts: 1470
    • View Profile
    • A new copy of FF7 thanks to Salk. Pack (zip/rar/etc) your saved game before sending it to me.
Re: DLPB Editing Tools
« Reply #31 on: 2012-09-29 15:52:42 »
It appears to be working now. Side note: with normal installation you can't "Open FF7 2012 (NOT USING THE LAUNCHER)".

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: DLPB Editing Tools
« Reply #32 on: 2012-09-29 15:54:47 »
I meant not using MY launcher :P  loader.exe.  My bad sentence (I have edited it now).

Good news it is working!  And you were a great help with this.  8-)
« Last Edit: 2012-09-29 16:00:18 by DLPB »

dziugo

  • *
  • Posts: 1470
    • View Profile
    • A new copy of FF7 thanks to Salk. Pack (zip/rar/etc) your saved game before sending it to me.
Re: DLPB Editing Tools
« Reply #33 on: 2012-09-29 16:17:01 »
That makes more sense ;)

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: DLPB Editing Tools
« Reply #34 on: 2012-09-29 16:24:58 »
So there you have it people!  Most of the 1998 edits and stuff will now work with 2012 using this loader.  I will finalise it later.

This also means that Hext and the rest will also work allowing the cheats / tweaks I (and others like Dziugo) created elsewhere. Menu Overhaul will not work because it supports Aali's driver only (1998 version of game).

Kranmer.dll (updated by Luksy and realtime fps by me) has been updated and is called Test2012.dll in the zip file earlier.   Next I will talk to Kranmer about updating his other trainer.
« Last Edit: 2012-09-29 16:51:28 by DLPB »

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: DLPB Editing Tools
« Reply #35 on: 2012-10-03 12:03:40 »
I'll get round to finalising these soon.  Gonna put effort into ff8 fps hack now and then hopefully see if I can get psx music into ff8.

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: DLPB Editing Tools
« Reply #36 on: 2012-12-24 13:11:31 »
I've updated the loader program now so that it has an option to add memory changes.  It is as simple as creating a folder and adding in batch files... so this loader will be able to double as a custom trainer too based on hext-format text files (it does not require hext.dll at all since I've merged the code).  It will also mean that some of the changes from Menu Overhaul will work with 2012 FF7.

The loader also injects dll's and runs/saves programs (and files).  It is a very simple application but should prove very useful.  I will do some more testing and then release.

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: DLPB Editing Tools - IN PROGRESS
« Reply #37 on: 2012-12-28 18:40:28 »
OK I am gonna finalise the readme and the other programs and then release the whole package.  For now, here is the loader tutorial I have made:

http://www.youtube.com/watch?v=3iEPKm1apxw

I apologise for my accent, I am afraid nothing can be done about it.  ;D

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: DLPB Editing Tools - IN PROGRESS
« Reply #38 on: 2013-01-05 04:51:40 »
Dear lord... what a 2 nights I have had. I think these are ready now for release and hopefully the effort will pay off for you the end user.  I'll get them up here very soon :)  Gonna need someone with 2012 version of the game again to do a small test (again).
« Last Edit: 2013-01-05 04:57:59 by DLPB »

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
SIMPLE MUSIC ALARM
« Reply #39 on: 2013-01-06 08:36:33 »
This one has nothing to do with my tools but I thought some of you may find it useful anyway... a bog standard music alarm (plays mp3, wav, ogg) using bass.dll.  Has event reminders, stopwatch and countdown timer.  And it's simple, hence the name.

Download HERE

version 3.2. 
« Last Edit: 2013-01-10 08:37:28 by DLPB »

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: DLPB Editing Tools - IN PROGRESS
« Reply #40 on: 2013-01-13 17:24:27 »
DLPB Tools is released.  All 7 programs in 1 package :)

Download HERE

I will be adding some more tutorials in the coming days.  For now we have 2, the main format:

http://www.youtube.com/watch?v=oAFckPGOqJE

and HextLoader

http://www.youtube.com/watch?v=-Z7e5MsC1c4

I would appreciate some feedback, and tests especially with regards to HextLoader.
HextLoader should allow 2012 FF7 users to add some of the cheats/tweaks from Menu Overhaul,
although the main graphical changes and fixes only work for the 1998 version.
« Last Edit: 2013-01-13 17:30:56 by DLPB »

Lazy Bastard

  • *
  • Posts: 290
  • I may be lazy, but I can...zzzZZZzzzZZZzzz...
    • View Profile
    • GameHacking.org
Re: [REL] DLPB Tools 1.2
« Reply #41 on: 2013-03-25 20:17:28 »
Request: Could you add a Hext format instruction that allows Hexeditor to read the value at a certain address (with a user-specified value size), then use that value as an in-file offset to write a subsequent value to?

For example, if I know that the header of a given file type is always the same size and uses the same structure, and that at 0x4 there is a 4-byte value that points to the in-file offset for a certain type of data, and I want to edit the first byte of that data in 40 different files, I could use a feature like that requested above to point Hexteditor at address 0x4, have it pull the 4-byte value from that address, use that as the destination offset to write to, and change the value at that destination to 00 (then automate with a batch script, etc).

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: [REL] DLPB Tools 1.2
« Reply #42 on: 2013-03-25 21:16:48 »
You can use Hextract to extract a list of bytes from a file at a certain address and it will place it in hext format, but I don't have any plans to do more than that at this time.  8-)  The primary function of these tools is to provide basic editing ability.  At the moment this is based on 1 file, and not multiple files.
« Last Edit: 2013-03-25 21:19:18 by DLPB »

Lazy Bastard

  • *
  • Posts: 290
  • I may be lazy, but I can...zzzZZZzzzZZZzzz...
    • View Profile
    • GameHacking.org
Re: [REL] DLPB Tools 1.2
« Reply #43 on: 2013-03-25 21:28:07 »
Ah; I didn't even notice Hextract :)  I'll play around with that and see what I can come up with. Thanks.

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: [REL] DLPB Tools 1.31
« Reply #44 on: 2013-09-06 14:05:09 »
1.31

Some minor changes.  I've made it so TextChange can take multiple case insensitive flags on one line.
HextLoader has been given a new "F" button that will open the folder of the current file for you.

Some small changes here and there.

« Last Edit: 2013-12-05 21:06:12 by DLPB »

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: [REL] DLPB Tools 1.31
« Reply #45 on: 2014-02-10 00:55:49 »
I've been looking at all these again and have done an immense amount of work to optimize them (hence the reason Reunion 02 hasn't been released).  Made them faster.  Added a few more features.  I'll release them as soon as I can.  For now these are the main changes I have made:

Hexteditor:

1. Search and replace allows starting address, and number of changes to make from that address.
2. You can specify the target size of the exe (in decimal) so that wrong size exes are untouched.
3. Optimized code as much as I think I can.
4. "Changes made" counter.

TextChange:

1. Added new "delete line" mode
2. You can specify the starting/ending line of files to be altered.
3.  When specifying a folder, you can choose which files in the folder to include, or to skip.
4.  Massive changes to code.  Optimized.
5. Whole-word flag added.  This is because I now know how to code that properly.  As opposed to before when there was a 5000%+ slow down :P
6. "Changes made" counter.
7. Force Write added.


All of the above have had summaries adding, and some command line parameters.  Skip the log, and autoclose the app (no summary) are among them.

I've changed all the other tools too, optimized them and so forth.  Fixed a few bugs.
« Last Edit: 2014-02-10 01:04:37 by DLPB »

Mcindus

  • *
  • Posts: 929
  • Artist, Modder, Musician.
    • View Profile
    • Lunatic Pandora
Re: [REL] DLPB Tools 1.31
« Reply #46 on: 2014-03-05 00:23:26 »
FYI, it seems that "Multi.dll" works with FF8 beautifully!

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: [REL] DLPB Tools 1.31
« Reply #47 on: 2014-03-05 01:22:19 »
It should do... it's the most basic and easy program I have ever made.   ;D

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: [REL] DLPB Tools 1.31
« Reply #48 on: 2014-03-07 19:00:56 »
I've added a find/replace option to hext.dll also.  I am now working on adding an "address is value at pointer"

For example:

0056D234^= 22

Would mean "find what 0056D234 points to. Note the use of ^ to signify that this address will be changed to what the pointer points to.  Of course, this may be needed in junction with a + or -.  So...

+10
0056D234^= 22

Would be "the address is what 0056D234 points to and then + 10 to that address"

A real example of where this could be useful is FF7s font spacing data (which comes from window.bin).  Ordinarily, you'd be forced to edit window.bin, because its contents are placed into memory from a pointer.  Their final destination in memory shifts and is not static.

So...  you point to an address where the actual font address is being referenced (obviously you would have to find that), and then you tell it to change bytes at that address.  You can use + - if the pointer destination is out by x bytes.

Most people won't need this option, but it's going to be there for completeness.

Mcindus

  • *
  • Posts: 929
  • Artist, Modder, Musician.
    • View Profile
    • Lunatic Pandora
Re: [REL] DLPB Tools 1.31
« Reply #49 on: 2014-03-08 01:21:58 »
Hello! You sir, are a beast!

I wanted to send you a private message thanking you for all of the man hours you've put into your Mods and your Tools, but you don't accept them!  The Reunion is pretty damn amazing.
Also, as a musician, Anxious Hearts and RaW are my favorite mods EVER.  Thank you so much for giving us decent soundtracks!

Your DLPB Tools are amazing.  I have probably spent 10 hours between the Tools and your Tutorials trying to figure out how I can even approach my problem.  These are breakthrough modding apps!

I know you don't have time to help people with their projects, but I had a question I hope you can help me answer.
I've made a higher resolution Triple Triad card master graphic for FF8, and I've been able to make it a TIM file and I'm trying to inject this higher resolution TIM file into the main EXE - but - I'm running around in circles at this point.  I'm no programmer (made a crappy text adventures in GW Basic about 15 years ago) and I'm finding myself pretty lost.   

I know the file is at 7A9B10 and ends at 820B2F, but I have no idea how to replace it properly... or how to get the exe to read a different file.   It seems like an awful lot of bits of data to extract/edit manually with the Hext procedure, so I don't know what I'm doing wrong.  I tried other methods (TimViewer has an export/import feature), and the only thing that did was crash the EXE...

Do you have any suggestions?  Am I barking up the wrong tree, per say?

Thanks again for being such a huge contributor to the modding community!