[PC] Mod manager - 7thHeaven (v1.54)

  • Thread starter Thread starter Iros
  • Start date Start date
Status
Not open for further replies.
Right click Installed button in Library and hit Uninstall. Will also delete mod from your computer.
 
That worked, Thank you. I tried deleting the folder and restarting but the stuff kept coming back. I guess it keeps it's settings in appdata or somewhere else. I just wanted to start from scratch :D

I got it how I want it now TY again.

I look forward to when this can handle all the mod types. It's kinda like modding Skyrim with Mod Organizer. It does something similar where you keep all the mods in separate directories and when you run the game it compiles like a virtual folder structure.
 
It'll work with any mod other than magic mod files. The 7H mod has to be written though so mods that have been completed for awhile just need to be ported to 7H.
 
I am getting this error even on a clean install with a first time running it on a new version.
Code: [Select]
Code:
System.TypeInitializationException: The type initializer for 'Iros._7th.Workshop.Sys' threw an exception. ---> System.InvalidOperationException: There is an error in XML document (0, 0). ---> System.Xml.XmlException: Root element is missing.   at System.Xml.XmlTextReaderImpl.Throw(Exception e)   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()   at System.Xml.XmlTextReaderImpl.Read()   at System.Xml.XmlTextReader.Read()   at System.Xml.XmlReader.MoveToContent()   at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderLibrary.Read9_Library()   --- End of inner exception stack trace ---   at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)   at System.Xml.Serialization.XmlSerializer.Deserialize(Stream stream)   at Iros._7th.Util.Deserialize[T](Stream s) in C:\Iros\7thWrapperLib\Util.cs:line 10   at Iros._7th.Util.Deserialize[T](String file) in C:\Iros\7thWrapperLib\Util.cs:line 14   at Iros._7th.Workshop.Sys..cctor() in C:\Iros\7thWorkshop\Sys.cs:line 106   --- End of inner exception stack trace ---   at Iros._7th.Workshop.Sys.get_Catalog()   at Iros._7th.Workshop.pTags.Init() in C:\Iros\7thWorkshop\pTags.cs:line 20   at Iros._7th.Workshop.pTags..ctor() in C:\Iros\7thWorkshop\pTags.cs:line 29   at Iros._7th.Workshop.fLibrary.InitializeComponent() in C:\Iros\7thWorkshop\fLibrary.Designer.cs:line 40   at Iros._7th.Workshop.fLibrary..ctor() in C:\Iros\7thWorkshop\fLibrary.cs:line 16   at Iros._7th.Workshop.Program.Main() in C:\Iros\7thWorkshop\Program.cs:line 18
 
Two things to check. If it's a new version of 7H it'll still keep settings and stuff from the temp files. Try deleting users\AppData\Roaming\7thWorkshop. Also if you're testing a new mod and the script has errors 7H wont open at all. Not sure why it does this, but try removing the last mod you added to the library folder.
 
...
-Add ability for conditional folder to trigger off system variables (date/time), a random number, or a counter that increments when specified files are used
...
Counters let you sort of do the same for a group of files. For a field model, you could just replace the HRC randomly and since your new HRC can point to completely different P/TEX files than the original that works OK. But battle models you can't do this, the battle files all have to have exact names the game is looking for. And you don't want every battle file to be randomly replaced, then you end up with 50% of the model parts being your version and 50% being another version :)

So if you specify a counter, you can make all the files for a battle model (rv??) work off the same counter variable so either they are all used, or none of them are. Then make the counter increment when a particular file (rvaa probably) is accessed. If anybody wants to do this let me know and I will explain how to do it.
Does somebody know how this work? Iros has made detailed explanation of it but I don't find it.

EDIT:
I found what I have searched for:
https://www.ff7catalog.com/posts/178003/

But I still have no clue how this should work.  :-\
Honestly we need a list of commands and how to use them. A template mod would be even better.
 
Last edited:
Hey Kaldarasha, yeah I did get the counter variable script to work and randomize two different Cloud battle models. I haven't tried with field models though so it would take some tinkering. What are you trying to do?

Basically how the counter works is that you define as many variables as you like (1-10 works fine) and apply them to each model you want to randomize. 7H will keep track of each time the model is loaded, and randomly trigger one of the variables (1-10) and load the corresponding model. When the counter reaches 10 (as in it's been triggered 10 times) it resets back to 0 and selects a new variable. This is probably a horrible explanation so let me know what you want to do and I'll be able to give a better answer.
 
Most mods are compatible, but not many have been converted for use with 7H. This thread should just be for information on the tool itself. We need a separate area for compatible mods, which I'm working on for a summer release  :)
 
Compatibility wise almost everything other than magic mods (aali's mod path or lgp) and edits to the scene.bin work in 7H. It's a more recent tool though so the core mods like enhanced and new backgrounds and stuff haven't been converted for it. Many of the more recently posted threads have 7H versions though. You can also package your own compilation of mods for 7H. Iros explained how on the first few pages of the thread.
 
I swear I had the magic working at some point, but perhaps an earlier build that has now broken it. If only Iros or someone were around to fix the few bugs still left in this great program  :-\
 
It's just v10. It was repaired for v8 or v9 (v9 works), but they apparently didn't support non USA versions of the game, or something lol. I forget since I didn't have that problem. Anyone with a v9 compatible game can use the feature, but you have to delete the users\appdata\roaming\7thWorkshop folder first if you've been using v10.

Yeah I know, with that one thing fixed it would pretty much be perfect. It's too bad Iros didn't release the source code when he was asked about it.
 
Most mods are compatible, but not many have been converted for use with 7H. This thread should just be for information on the tool itself. We need a separate area for compatible mods, which I'm working on for a summer release  :)
Summer release? It's nearly a month from now :) I'll finish FF7 by then...
Anyway this tool seems to be the future for this awesome game. Best luck for your work.
 
Hey all,

I've got a revamp for a mod I made in the works and I wanted to boost it's compatibility with other mods by making an .IRO version of the patch. Thing is, I've been reading through the thread and I'm still not 100% sure on what I'm supposed to be doing exactly. I tried importing a test folder with a basic battle model change for Red XIII (just the RW files sitting inside it) but the game doesn't read these files when started through 7th Heaven and it's still plain ol' Red XIII appearing in the battles. I tried packing the folder into an IRO and then importing it but that was a no-go as well.

From the look of other people's posts, I need to include a set of instructions that tells the wrapper when to intercept the game's .lgp and read the activated mod folder's files (an XML maybe? Notepad++? Not sure) but I couldn't see any instructions on how to get that set up or where I should put a file like that. Apologies in advance if I've missed something fundamental here.
 
It's okay Sega Chief. This tool is not very user friendly at first, and directions to using its features are spread throughout many pages. For the purpose of learning, we'll start simple and work our way up with questions you may have as we go along.

1. Create a folder named Battle Models.
2. Within that folder, create another named Red XIII and a text file (Notepad++ works great!) with its extension named mod.xml.
3. Within the Red XIII folder, create another named battle.lgp.
4. Within the battle.lgp folder, place your modified files for his battle model.
5. Within the 7H tool, click on Workshop --> Settings and set your destinations correctly. Be sure to create a folder within the mods folder (e.g. [gamedir]\mods\7H) and set the Library Location to that folder destination. 7th Heaven does not create destination folders, so if you set it to one that does not exist, it will crash.
6. Edit your mod.xml to include the following code as your baseline:

Code: [Select]
Code:
<?xml version="1.0"?><ModInfo>  <Author>Qhimm Modding Community</Author>  <Version>1.0</Version>  <Description>Click on Configure to select options.</Description>  <Link></Link>  <PreviewFile>preview0.png</PreviewFile><ModFolder Folder="Red XIII" ActiveWhen="battle_models_red = 0" /><ModFolder Folder="Red XIII" ActiveWhen="battle_models_red = 1" /><ConfigOption>    <Type>List</Type>    <Default>0</Default>    <ID>battle_models_red</ID>    <Name>Red XIII</Name>    <Description>Sega Chief mod</Description>    <Option Value="0" Name="Red XIII" PreviewFile="preview0.png"/>    <Option Value="1" Name="Red XIV" PreviewFile="preview0.png"/>  </ConfigOption></ModInfo>
(All the folder and variable names can be edited to your liking once you've learned the process)

After you've done all this, just import it from the Library tab in 7H and click the Activate button. Then go to the Active Mods tab and click on the Configure button to study what the code did. This is an example of a drop-down "list" you will get after clicking the Configure button. There is also a Bool feature, which is a simple on/off check box. I can teach you that as well, if you'd like.

Bool - ON/OFF Switch
Code: [Select]
Code:
  <ConfigOption>    <Type>Bool</Type>    <Default>0</Default>    <ID>models_caitsith</ID>    <Name>Cait Sith</Name>    <Description>by Kaldarasha</Description>    <Option Value="0" Name="Off" PreviewFile="CaitNO_Kaldarasha.png"/>    <Option Value="1" Name="On" PreviewFile="Cait_Kaldarasha.png"/>  </ConfigOption>
 
Last edited:
Here is a change log for 7th Heaven.
Code: [Select]
Code:
New version v1.10:-Fixed crash on certain locales -Fix version number not being set against manually imported mod-Right click on Launch button to run game with variable dump option active-Add MetaVersion tag to catalog mod infoThe MetaVersion tag can be set against a mod in a catalog fileso you can mark a mod as updated without changing the version number of the download. I realized changing the version number of the download wouldn't really be accurate if you were just updating the download URLs etc. It's optional so doesn't need to be set, just available if necessary.v1.09:-Add CounterRnd variable to allow setting counter to a random number-Fix crash when download from Mega URL fails-Fix crash calculating paths for magic.lgp foldersAs expected the code for magic.lgp was completely broken ... not sure why nobody got error messages, because I did, but anyway - it should now be fixed.Certainly the game runs now if I try to override magic.lgp - but please test it to make sure all your mod files actually get applied.v1.08:-Add 'compact' display option to profile. Might add this for other tabs later...-Fix error updating thumbnails against catalog entries-Fix config options not picking up default values correctly some timesv1.07:-Fixed iro size limit ... again-Fixed auto-import optionI really hope iro files >2GB work this time...The auto import wasn't working (and even was it was working, it didn't bring in details like author/preview picture etc.)That should be fixed now - if you just drop a folder (or a iro file) into your library, next time you start 7thHeaven, it will automatically add them to the list.You should remember that if you do use the 'uninstall' right click option that DOES delete the mod from the disk, though.v1.06-Fixes crash loading certain iro files-Fixes crash loading large iro filesThe problem with the unshaded models iro was that now I fixed the case sensitivity issue,it's actually using the overrides for chocobo.lgp - it triggered another bug to do with certain file sizes. The bug was in the older versions, but it never happened because it never used the chocobo.lgp files anyway...Large iro files should be fine now. I would recreate any iro files >2GB you've made with older versions to be sure they'll work properly. Smaller iro files should be fine.(Although there is still not much point packing movies into iro files. The speed gains mostly come when you are overriding LGP files. Standalone files like movies, kernel bins, etc. aren't so slow. You still can do it, of course, if you want to pack it into a single file for easier distribution.)v1.05:-Improve decompression speed for downloaded mods-Add 'readme' option for mods installed in library-Add movie path to settings & capture accesses in wrapper-Fix case sensitivity when overriding LGPsTo put a readme file in a mod, just include a file called 'readme.txt' in the top level of the mod folder (i.e. same place as mod.xml). Should still work when packed into a iro file.v1.03:Adds pack/unpack iro functions backv1.021:-Import author/image from existing mods-Fix download error with two mods sharing same image-Fix .iro import (again)-Update tags list after downloading new catalog-Add select all option to tag list-Fix crash on load if library folder missing-Add command line parameters-Add crash dialog so errors can be reported...v1.01:-Import mod copies instead of moving files-Added .var file back in and load it into mods that use runtime vars correctlyI have remembered, if you have the 'auto import mods' option ticked, then just putting a mod folder into the 7thHeaven is enough to make it show up, so you don't need to import manually then. But an import option is still needed to do it manually.v1.00:- First release of '7th Heaven' before it was 7th Wrapper.
What we current need is a list of available commands with some example uses for them.
 
It's okay Sega Chief. This tool is not very user friendly at first, and directions to using its features are spread throughout many pages. For the purpose of learning, we'll start simple and work our way up with questions you may have as we go along.
Many thanks, Alyza; that did the trick. I can make a start rearranging the mod's files now so it works with this program better (my battle.lgp and char.lgp is a bit all over the place because I foolishly decided to replace duplicate models in the old version). The Boolean feature for check-boxes sounds like a good idea too; how would I set it up?

By the way Kalderasha, I noticed this while reading through the thread; was the issue of having to refresh the field screen to reflect in-game swaps for field models ever resolved? I had an idea for a temporary fix that involves adding a button input (for example, holding R1 and L1 at the same time) that has the game memorise your character's position and then refresh the field screen, keeping you in the same place. It wouldn't be appropriate to use for certain field screens, but it could be useful for most other screens if used sensibly? If you're interested, I could cobble a prototype together and see how it works.
 
Last edited:
You can use the Menu button twice for a field reset. The first press of the button stores all positions and loads the field in memory, with the second press the field will be reloaded. Not sure if this would work, I also think this is to much work for a small effect. If we can enable it through a dll it would be more useful and has a wider compatibility.
 
Status
Not open for further replies.
Back
Top