Author Topic: [PC] Mod manager - 7thHeaven (v1.54)  (Read 489516 times)

Hellbringer616

  • *
  • Posts: 1913
    • View Profile
Re: [FF7PC] Mod manager - 7thHeaven (v1.25)
« Reply #450 on: 2014-07-22 14:51:56 »
Could be I'm goofing up, but changing the music plug-in for the OGL config doesn't save. Everything else does, but that.

EDIT:
Tried making my first .iro file but i think i goofed on something, when i activated the mod i got this error:
Code: [Select]
System.Xml.XmlException: There is no Unicode byte order mark. Cannot switch to Unicode.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ThrowWithoutLineInfo(String res)
   at System.Xml.XmlTextReaderImpl.CheckEncoding(String newEncodingName)
   at System.Xml.XmlTextReaderImpl.ParseXmlDeclaration(Boolean isTextDecl)
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
   at System.Xml.XmlDocument.Load(XmlReader reader)
   at System.Xml.XmlDocument.Load(Stream inStream)
   at Iros._7th.Workshop.fImportMod.ImportMod(String source, String name, Boolean iroMode, Boolean noCopy) in c:\Iros\7thWorkshop\fImportMod.cs:line 83
   at Iros._7th.Workshop.fLibrary.fLibrary_Load(Object sender, EventArgs e) in c:\Iros\7thWorkshop\fLibrary.cs:line 117
   at System.Windows.Forms.Form.OnLoad(EventArgs e)
   at System.Windows.Forms.Form.OnCreateControl()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.WmShowWindow(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WmShowWindow(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

I also get that while launching 7thHeaven as well.
I used the xml generated from the script included with 7thHeaven

The XML doesn't run in IE either. so i am guessing thats the issue. how do i make a correct .xml?
« Last Edit: 2014-07-22 21:22:01 by Hellbringer616 »

EQ2Alyza

  • 7th Heaven Crew
  • Global moderator
  • *
  • Posts: 3200
  • Dilly-Dally Shilly-Shally
    • View Profile
    • EQ2Alyza - YouTube Channel
Re: [FF7PC] Mod manager - 7thHeaven (v1.25)
« Reply #451 on: 2014-07-23 01:25:27 »
I use Notepad++ and save as mod.xml.

If your 7H is unable to open, first try going into your mods folder and deleting the .iro that caused the crash. If 7H still doesn't open, you need to locate your 7thWorkshop folder and delete the library.xml. This folder is located in C:\Users\Username\AppData\Roaming\7thWorkshop. Depending on your folder options, you may need to enable hidden folders to located the AppData folder.

cmh175

  • *
  • Posts: 862
    • View Profile
    • Chris Hendrickson's Artstation
Re: [FF7PC] Mod manager - 7thHeaven (v1.25)
« Reply #452 on: 2014-07-23 02:21:18 »
Yup, if it wont open in IE it's a clear giveaway something's wrong. I love notepad++, it works for nearly anything you'd want to do. Take a look at the 3rd page of this thread if you haven't yet, Iros posted a bunch of examples of how to write the mod.xml's. Also lists the size limits for mod icons and preview pictures if you want to include them.
« Last Edit: 2014-07-23 02:23:17 by cmh175 »

Iros

  • 7th Heaven Crew
  • *
  • Posts: 229
  • Files for the file god! Mods for the mod throne!
    • View Profile
Re: [FF7PC] Mod manager - 7thHeaven (v1.25)
« Reply #453 on: 2014-07-23 12:04:09 »
Could be I'm goofing up, but changing the music plug-in for the OGL config doesn't save. Everything else does, but that.


Hm, I can't reproduce that, it works for me.

As everyone has said, if the XML file does not open properly in IE, it is definitely not valid and 7H will not be able to load it for sure :)  If you still have trouble then post your XML and I am sure one of us will see the problem.

Small release: v1.26 - https://mega.co.nz/#!vFF1iRgS!Q-m121mvCdNagvFoOnHaTAJY7DFWkyVskO7B_fwWXQg

-Fix: mods not being added in compact mode even when compact mode ticked
-Fix: if 7H crashes after download/installing a mod, it did not remember that the mod was installed

I will be a bit busy for the next week so I may not be online so often, but, please keep testing things and I will certainly look at the thread when I am free again, this should be by the end of next week :)

EQ2Alyza

  • 7th Heaven Crew
  • Global moderator
  • *
  • Posts: 3200
  • Dilly-Dally Shilly-Shally
    • View Profile
    • EQ2Alyza - YouTube Channel
Re: [FF7PC] Mod manager - 7thHeaven (v1.26)
« Reply #454 on: 2014-07-24 20:46:42 »
Great work so far Iros. The catalog is coming along nicely now thanks to all the fixes you've made :)

- The program still tends to crash a bit when I try to uninstall a mod. It doesn't happen every time, but frequently enough to be worth reporting. When it crashes, I am always able to reopen and uninstall with no problem.

- If the mod's Update Type is set to "update automatically" then using the "Check subscriptions now" button will download the update perfectly and also update the UI properly. If the mod's Update Type is set to "notify me" then changing the LatestVersion or MetaVersion in the catalog does not update the UI properly. At that point, 7H has to be closed and reopened to get the UI to update properly. Can we get it to update the same way as "update automatically" without having to close and reopen 7H?

- The blue box and check mark for the "Update Type" selected has some alignment issues.

- Really picky one here, but some of the options are all capitalized words and some only have the first word capitalized. My suggestion is to capitalize every word to have the UI look as clean as possible.

- Can the hext folder be used to edit ff7.exe? Right now I'm using a separate one for Menu Overhaul, but I'd like to eliminate that if possible.
« Last Edit: 2014-07-31 14:29:51 by EQ2Alyza »

Iros

  • 7th Heaven Crew
  • *
  • Posts: 229
  • Files for the file god! Mods for the mod throne!
    • View Profile
Re: [FF7PC] Mod manager - 7thHeaven (v1.26)
« Reply #455 on: 2014-08-01 19:28:26 »

Great work so far Iros. The catalog is coming along nicely now thanks to all the fixes you've made :)

- The program still tends to crash a bit when I try to uninstall a mod. It doesn't happen every time, but frequently enough to be worth reporting. When it crashes, I am always able to reopen and uninstall with no problem.

- If the mod's Update Type is set to "update automatically" then using the "Check subscriptions now" button will download the update perfectly and also update the UI properly. If the mod's Update Type is set to "notify me" then changing the LatestVersion or MetaVersion in the catalog does not update the UI properly. At that point, 7H has to be closed and reopened to get the UI to update properly. Can we get it to update the same way as "update automatically" without having to close and reopen 7H?

- The blue box and check mark for the "Update Type" selected has some alignment issues.


New version 1.27: https://mega.co.nz/#!6R0VjIoY!woSypy9clEoNxiUz9phQ1ZtpC6YPG_ESrGEfXRAT9Vg

Should fix these bugs above - I think. The uninstall crash I hope is fixed, I got it to happen once, but then not again ... new version may have solved this.

Quote
- Can the hext folder be used to edit ff7.exe? Right now I'm using a separate one for Menu Overhaul, but I'd like to eliminate that if possible.

Yes, definitely. In fact I have only tested it for editing ff7.exe - if you link me to the hext patch I can double check if it should work.

I look forward to seeing the catalog :)

EQ2Alyza

  • 7th Heaven Crew
  • Global moderator
  • *
  • Posts: 3200
  • Dilly-Dally Shilly-Shally
    • View Profile
    • EQ2Alyza - YouTube Channel
Re: [FF7PC] Mod manager - 7thHeaven (v1.27)
« Reply #456 on: 2014-08-01 19:58:49 »
LINK

Those are hex edits Dan made for the Menu Overhaul. Debug tells me it's an incorrect syntax when it tries to load them, and I don't know enough about hex code to make it compatible with 7H. I think it uses a program he calls Hexteditor to edit ff7.exe, so it works in those regards.


Also, movie mods don't appear to inject properly anymore.
« Last Edit: 2014-08-01 21:55:44 by EQ2Alyza »

Hellbringer616

  • *
  • Posts: 1913
    • View Profile
Re: [FF7PC] Mod manager - 7thHeaven (v1.27)
« Reply #457 on: 2014-08-02 01:39:41 »
Hext_Launch is the program he uses, and is what those files are written for.

Would there be a way to call a separate executable (think Nexus Mod Manager for those who use it) that would then launch FF7? because Hext_Launch just calls the ff7.exe after it loads.

Kaldarasha

  • *
  • Posts: 2449
  • Prince of Model Editing
    • View Profile
Re: [FF7PC] Mod manager - 7thHeaven (v1.27)
« Reply #458 on: 2014-08-02 06:17:58 »
Use 'Also Launch' in the 7H settings.

Iros

  • 7th Heaven Crew
  • *
  • Posts: 229
  • Files for the file god! Mods for the mod throne!
    • View Profile
Re: [FF7PC] Mod manager - 7thHeaven (v1.27)
« Reply #459 on: 2014-08-02 09:53:10 »
Hm, the problem with those files is that they're meant for hext_edit so they are to actually edit the files on your disk, not patch the memory of the game while it is running. 7H is expecting hext_launch type files that patch memory as it does not want to permanently edit files on your disk.

It is probably very possible to convert most of them to hext_launch type files, especially because it looks like most of the files are actually using memory addresses with an offset to convert them to the disk file locations, but probably some things might not work straight away so the authors would know best what each change is meant to do.

EQ2Alyza

  • 7th Heaven Crew
  • Global moderator
  • *
  • Posts: 3200
  • Dilly-Dally Shilly-Shally
    • View Profile
    • EQ2Alyza - YouTube Channel
Re: [FF7PC] Mod manager - 7thHeaven (v1.27)
« Reply #460 on: 2014-08-02 15:26:11 »
But doesn't 7H have to launch the game in order for the mods to function? I don't see how you can have it and Hext_Launch handle the ff7.exe at the same time.

Dan is really busy getting Reunion R02 to release I think, so I hope I'm not a bother asking him to look into it. It would be really nice if it were possible to translate them to memory patches.

Kaldarasha

  • *
  • Posts: 2449
  • Prince of Model Editing
    • View Profile
Re: [FF7PC] Mod manager - 7thHeaven (v1.27)
« Reply #461 on: 2014-08-02 15:32:28 »
Ehm, is it possible to implement an 7zip packer and unpacker? I don't want to download a huge project like Facepalmer or yarLson project uncompressed from the catalog. It is also better to have non active mod inside a 7zip archive.

@EQ2Alyza
Use the 'Also launch' function of 7th Heaven to open Hext_Launch. Both tools work perfectly together.

EQ2Alyza

  • 7th Heaven Crew
  • Global moderator
  • *
  • Posts: 3200
  • Dilly-Dally Shilly-Shally
    • View Profile
    • EQ2Alyza - YouTube Channel
Re: [FF7PC] Mod manager - 7thHeaven (v1.27)
« Reply #462 on: 2014-08-02 15:38:45 »
Hmm, well it doesn't matter whether they work together anyways. All Hext_Launch files work using the hext folder in 7H. The ones I linked above are for Hexteditor.exe, which Iros states does not work like Hext_Launch. We just need the above link to be translated to Hext_Launch capabilities and the need to launch it won't be necessary. I have no idea if that's even possible :-\

I reaaaaally don't like the idea of releasing multiple .exe to the public because I can see how much Q&A it's going to cause due to user error.

I'm pretty sure there's a feature to compress the mod folders into a .7z and have it read all subfolders inside it after downloaded. I think I tried compressing an .iro file into a .7z way back when the tool was first released, but it didn't read from the .iro properly. This was months and moths ago though, and I haven't look into it since.
« Last Edit: 2014-08-02 15:46:40 by EQ2Alyza »

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: [FF7PC] Mod manager - 7thHeaven (v1.27)
« Reply #463 on: 2014-08-02 17:24:36 »
tl;dr

All you need to do to my menu overhaul files to make them work with hext launch is remove the global values.  Any lines that start

-400C00
-401400
-401600

Should be deleted.

Any that start:

21C = 60
21F = E0

Need deleting also and the following adding in their place instead:

{change permissions up to 00915FFF}
00913340:11455

I suggest you don't do that, because changes as large as this really are best off being made to the actual file.

=====================
HextEdit is for changing files, the same way launch is for changing memory.  To  make launch hext files work with Hextedit (and thus change the exe), you need to add global values, that convert between the two.

For example, if the memory address is 76F920


You would use

-400C00

76F920


Anything after -400C00 would have that value deducted from its address, turning it into a file offset and not a memory offset. Unfortunately, it isn't as simple as ONE global address.  FF7 has different offsets depending on address.  So you will need add them as follows:

If your memory address lies within:

00401000 to 007B5FFF: Global Value is -400C00
007B6000 to 007B9FFF: Global Value is -401400
007BA000 to 00F50FFF: Global Value is -401600
00F51000 and above:  Global Value is -9B5600


See the readme on Hext in DLPB Tools 2.0

The following is an example of making Dziugo's GYPT go from memory to file.
Every address falls between 401000 and 7B5FFF
so you only need to add -400C00.

Code: [Select]
-400C00

00417BD9 = 85 C0 74 3C 90 90 8B 08 50

006767D9 = 68 A2 00 00 00 FF 15 14 63 7B 00 83 E0 FE 74 4B
006767E9 = 8B 45 10 83 F8 53 74 26 83 F8 44 74 30 83 F8 51
006767F9 = 75 39 8B 45 FC 8B 88

00676800 = 5C 0A 00 00 85 C9 74 04 50 FF D1 58 33 C9 41 89
00676810 = 88 54 0A 00 00 EB 1D 33 C0 40 A3 10 10 9A 00 A3
00676820 = 14 10 9A 00 EB 0E 33 C0 66 A3 D4 0D CC 00 90 90
00676830 = 90 90 90 90



Please note that HextEdit uses line 1 for the target file.

Also note that going from file addresses to memory is the same thing except the Global Value becomes an addition, not subtraction.

In other words:

00000400 to 003B4BFF: Global Value is +400C00
003B4C00 to 003B89FF: Global Value is +401400
003B8A00 to 0059B9FF: Global Value is +401600
0059BA00 and above:  Global Value is +9B5600
« Last Edit: 2014-08-02 17:41:24 by DLPB »

Iros

  • 7th Heaven Crew
  • *
  • Posts: 229
  • Files for the file god! Mods for the mod throne!
    • View Profile
Re: [FF7PC] Mod manager - 7thHeaven (v1.27)
« Reply #464 on: 2014-08-02 19:03:51 »
Well, just deleting the offsets seems like it should work. The permissions lines may not be necessary since 7H already handles setting memory permissions automatically, and the patches are quite small so they take really no time to apply.

However the patches EQ2Alyza provided crash when I try doing that - but they also crash FF7 if I apply them using Hext, so I am guessing they are for a different version of the FF7 exe than the one I have, or a different version of the Aali driver, or something? That means I can't really test very well.

Hmm, well it doesn't matter whether they work together anyways. All Hext_Launch files work using the hext folder in 7H. The ones I linked above are for Hexteditor.exe, which Iros states does not work like Hext_Launch. We just need the above link to be translated to Hext_Launch capabilities and the need to launch it won't be necessary. I have no idea if that's even possible :-\

I reaaaaally don't like the idea of releasing multiple .exe to the public because I can see how much Q&A it's going to cause due to user error.

I'm pretty sure there's a feature to compress the mod folders into a .7z and have it read all subfolders inside it after downloaded. I think I tried compressing an .iro file into a .7z way back when the tool was first released, but it didn't read from the .iro properly. This was months and moths ago though, and I haven't look into it since.

Yes, you can make the download a zip or 7z and 7H will decompress it after downloading, to make the download smaller. It should work to compress a IRO file into a 7z, although I cannot be sure there are certainly no bugs :)

There is not a way now for the actual IRO file to be compressed - since I was worried that decompressing data while the game was running could be slow. However I haven't tried this so possibly it could be added once it has been tested.

Kaldarasha

  • *
  • Posts: 2449
  • Prince of Model Editing
    • View Profile
Re: [FF7PC] Mod manager - 7thHeaven (v1.27)
« Reply #465 on: 2014-08-02 19:42:48 »
How is it possible to set a mod folder against two multiple 'Active when'?
« Last Edit: 2014-08-02 19:48:53 by Kaldarasha »

Iros

  • 7th Heaven Crew
  • *
  • Posts: 229
  • Files for the file god! Mods for the mod throne!
    • View Profile
Re: [FF7PC] Mod manager - 7thHeaven (v1.27)
« Reply #466 on: 2014-08-02 20:01:40 »
How is it possible to set a mod folder against two multiple 'Active when'?

Hmm, not currently possible :/

Although depending on what condition you wanted (Active when X AND Y, or Active when X OR Y?) there is a workaround ... if you want OR, you could just list the mod folder twice. There is no way to do AND, though...

I guess you would like this in a future version?

Kaldarasha

  • *
  • Posts: 2449
  • Prince of Model Editing
    • View Profile
Re: [FF7PC] Mod manager - 7thHeaven (v1.27)
« Reply #467 on: 2014-08-02 20:32:52 »
Quote
I guess you would like this in a future version?
Yes, I think it is handy for more complicated mods to keep the script length as minimal as possible. There is also something else I would like to have, to set more ID's at once with one option. I don't plan to use it (anymore) in the near future, but it could be become handy as well.

EQ2Alyza

  • 7th Heaven Crew
  • Global moderator
  • *
  • Posts: 3200
  • Dilly-Dally Shilly-Shally
    • View Profile
    • EQ2Alyza - YouTube Channel
Re: [FF7PC] Mod manager - 7thHeaven (v1.27)
« Reply #468 on: 2014-08-03 18:08:07 »
Well, just deleting the offsets seems like it should work. The permissions lines may not be necessary since 7H already handles setting memory permissions automatically, and the patches are quite small so they take really no time to apply.

However the patches EQ2Alyza provided crash when I try doing that - but they also crash FF7 if I apply them using Hext, so I am guessing they are for a different version of the FF7 exe than the one I have, or a different version of the Aali driver, or something? That means I can't really test very well.

Any that start:

21C = 60
21F = E0

Need deleting also and the following adding in their place instead:

{change permissions up to 00915FFF}
00913340:11455

Also note that going from file addresses to memory is the same thing except the Global Value becomes an addition, not subtraction.

In other words:

00000400 to 003B4BFF: Global Value is +400C00
003B4C00 to 003B89FF: Global Value is +401400
003B8A00 to 0059B9FF: Global Value is +401600
0059BA00 and above:  Global Value is +9B5600

I had the same crashes when just deleting the offsets, so I added the edits Dan mentioned and the game launched fine again. It's showing the patches being applied in the debug and with no syntax error messages, but ingame does not show it. The spacing is off in the same manner as if the patch isn't applied at all.

Here are the edited versions that will allow the game to launch: LINK

What do you think Iros, can we get these working?

Iros

  • 7th Heaven Crew
  • *
  • Posts: 229
  • Files for the file god! Mods for the mod throne!
    • View Profile
Re: [FF7PC] Mod manager - 7thHeaven (v1.27)
« Reply #469 on: 2014-08-04 10:43:12 »
Try this: https://mega.co.nz/#!3c0AgJzD!L6ZVHxZDQz1Usa5OzT5N9WxsUq--Hfqj3jGNs5Uo9tc

With this version it doesn't look perfect to me ... but, it looks the same as if I apply the hext patches to FF7 directly which is working for men now, so I guess that means it is probably working?

Kaldarasha

  • *
  • Posts: 2449
  • Prince of Model Editing
    • View Profile
Re: [FF7PC] Mod manager - 7thHeaven (v1.27)
« Reply #470 on: 2014-08-04 12:41:18 »
It seems to work for me too.

EQ2Alyza

  • 7th Heaven Crew
  • Global moderator
  • *
  • Posts: 3200
  • Dilly-Dally Shilly-Shally
    • View Profile
    • EQ2Alyza - YouTube Channel
Re: [FF7PC] Mod manager - 7thHeaven (v1.27)
« Reply #471 on: 2014-08-04 13:44:21 »
Ditto :)

The crash on uninstall fix seems to have changed. Now the right-side window will tell me the mod can't be uninstalled because it's being accessed by something else. It removes from the Library, but as soon as the Library refreshes, it's back. Closing and reopening 7H will allow it to be uninstalled without the message. The crash is gone now, but the program still has to be closed and reopened in a different manner to be able to uninstall a mod. It's no biggie though, I don't think the average user is going to be installing and uninstalling mods nearly as much as I have for testing.

Iros

  • 7th Heaven Crew
  • *
  • Posts: 229
  • Files for the file god! Mods for the mod throne!
    • View Profile
Re: [FF7PC] Mod manager - 7thHeaven (v1.27)
« Reply #472 on: 2014-08-04 14:43:45 »
Hm, OK. I think I have a fix for the uninstall problems anyway so next version should solve this.

Also you said movie mods aren't injecting properly, are you sure? I tried replacing a movie file in a mod and it looks OK to me...

EQ2Alyza

  • 7th Heaven Crew
  • Global moderator
  • *
  • Posts: 3200
  • Dilly-Dally Shilly-Shally
    • View Profile
    • EQ2Alyza - YouTube Channel
Re: [FF7PC] Mod manager - 7thHeaven (v1.27)
« Reply #473 on: 2014-08-05 01:11:23 »
Apparently I wasn't sure lol I checked the file size and the last .iro pack went from 6+ GB to 1.7 GB, so the packing failed. I packed a new one that's equal size and it works.

Iros

  • 7th Heaven Crew
  • *
  • Posts: 229
  • Files for the file god! Mods for the mod throne!
    • View Profile
Re: [FF7PC] Mod manager - 7thHeaven (v1.27)
« Reply #474 on: 2014-08-05 08:45:51 »
v1.28: https://mega.co.nz/#!yQN2WaIR!oUC5TZNUvnsNeGHjhChS2r6uUbzyIj58DfnERphiOeI

-Fix uninstalls, again, probably
-Add support for ActiveWhen to have multiple conditions

Now instead of ActiveWhen being specified as an attribute you can specify an ActiveWhen child node containing various conditions: And, Or, Not, and Option (which actually checks an option)

for example:

Code: [Select]
  <ModFolder Folder="NewStuff">
<ActiveWhen>
<And>
<Option>newmodels = 2</Option>
<Option>battlemode = 1</Option>
</And>
</ActiveWhen>
  </ModFolder>

Activates the folder if option newmodels is set to 2 AND option battlemode is set to 1

Code: [Select]
  <ModFolder Folder="OtherStuff">
<ActiveWhen>
<Or>
  <Option>newmodels = 1</Option>
<Option>battlemode = 0</Option>
</Or>
</ActiveWhen>
  </ModFolder>

Activates folder OtherStuff if newmodels is 1 OR battlemode is zero.