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

EQ2Alyza

  • 7th Heaven Crew
  • Global moderator
  • *
  • Posts: 3200
  • Dilly-Dally Shilly-Shally
    • View Profile
    • EQ2Alyza - YouTube Channel
Re: 7thHeaven
« Reply #375 on: 2014-05-30 20:20:16 »
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]
<?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]
  <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 Edit: 2014-05-31 15:57:45 by EQ2Alyza »

Kaldarasha

  • *
  • Posts: 2449
  • Prince of Model Editing
    • View Profile
Re: 7thHeaven
« Reply #376 on: 2014-05-30 20:48:48 »
Here is a change log for 7th Heaven.
Code: [Select]
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 info

The MetaVersion tag can be set against a mod in a catalog file
so 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 folders

As 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 times

v1.07:
-Fixed iro size limit ... again
-Fixed auto-import option

I 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 files

The 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 LGPs
To 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 back

v1.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 correctly

I 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.

Sega Chief

  • *
  • Posts: 4087
  • These guys is sick
    • View Profile
Re: 7thHeaven
« Reply #377 on: 2014-05-30 21:19:44 »
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 Edit: 2014-05-30 23:45:39 by Sega Chief »

Kaldarasha

  • *
  • Posts: 2449
  • Prince of Model Editing
    • View Profile
Re: 7thHeaven
« Reply #378 on: 2014-05-31 04:23:50 »
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.

EQ2Alyza

  • 7th Heaven Crew
  • Global moderator
  • *
  • Posts: 3200
  • Dilly-Dally Shilly-Shally
    • View Profile
    • EQ2Alyza - YouTube Channel
Re: 7thHeaven
« Reply #379 on: 2014-05-31 15:58:45 »
I edit my above post with the Boolean setup.

Sega Chief

  • *
  • Posts: 4087
  • These guys is sick
    • View Profile
Re: 7thHeaven
« Reply #380 on: 2014-05-31 17:01:52 »
Thanks again; I extended out the script you sent me to include different characters and other lgps so now I can group together all the loose mods I've made (gonna release them once I've made tweaks, I can't imagine there's much demand for non-HD battle/field models but the novelty might appeal to some people).

But yeah, this program definitely beats decompiling/recompiling lgp files.

genesis063

  • *
  • Posts: 612
  • Self proclaimed number 1 Sephiroth fanboy
    • View Profile
Re: 7thHeaven
« Reply #381 on: 2014-06-01 19:26:02 »
It is even easier if you create an IRO that way you don't have to reupload for every change.  Just repack the iro and presto changes already applied.  I don't know why it does it that way but that is how it is.  CHM will probably do a catalog for you that is even better.  That way they just check on subs and no questions for installation.

Sega Chief

  • *
  • Posts: 4087
  • These guys is sick
    • View Profile
Re: 7thHeaven
« Reply #382 on: 2014-06-02 11:46:55 »
Alrighty, I made a set of winter gear for the default field models (scarf physics not included): http://tinypic.com/r/24plwf9/8

I've set a conditional for these field models to be loaded only on specific fields, but I'm wondering if there's a way of specifying the fields from 650 to 700 without having to type out each individual value? Tried a couple things, like ellipses and dashes, but not had much luck.

cmh175

  • *
  • Posts: 862
    • View Profile
    • Chris Hendrickson's Artstation
Re: 7thHeaven
« Reply #383 on: 2014-06-02 13:32:15 »
Unfortunately I believe that's the only way to do it, or the only way I've done it at least. You'd think the same format used for ppv's would work, but I'm not sure if it would. The tool has a lot of great features but it wasn't really rounded out before Iros left, so it's not as user friendly for the modders.   

Code: [Select]
<RuntimeVar Var="FieldID" Values="650..700" />
 
   

genesis063

  • *
  • Posts: 612
  • Self proclaimed number 1 Sephiroth fanboy
    • View Profile
Re: 7thHeaven
« Reply #384 on: 2014-06-02 14:20:29 »
Alrighty, I made a set of winter gear for the default field models (scarf physics not included): http://tinypic.com/r/24plwf9/8

I've set a conditional for these field models to be loaded only on specific fields, but I'm wondering if there's a way of specifying the fields from 650 to 700 without having to type out each individual value? Tried a couple things, like ellipses and dashes, but not had much luck.
Any chance there is one for Sephiroth since he is playable in my mod?

Sega Chief

  • *
  • Posts: 4087
  • These guys is sick
    • View Profile
Re: 7thHeaven
« Reply #385 on: 2014-06-02 14:28:43 »
@cmh175
Oh, it's two dots instead of three. That's where I've went wrong. Thanks for the heads-up; but is Iros gone? I thought there was a summer update planned for this tool.

@Genesis063
I'll put a model together and put it in with the others. But important question: have you modded in Sephiroth by changing the flevel or by replacing the char.lgp files?
« Last Edit: 2014-06-02 14:40:53 by Sega Chief »

Iros

  • 7th Heaven Crew
  • *
  • Posts: 229
  • Files for the file god! Mods for the mod throne!
    • View Profile
Re: 7thHeaven
« Reply #386 on: 2014-07-13 13:50:48 »
Hi all,

First, sorry for disappearing for a while; I had some financial problems last year and real life took over for a while :/ Also my main PC hard disk failed, which caused me some problems...

I did have the 7thheaven source backed up though so not all was lost! Since I have most things reinstalled now I have loaded 7thheaven back up again and made some changes, so there is now a v1.20 to download:

https://mega.co.nz/#!2BkWHSbC!VPKfhfAZoMH3RMDHUTcMwNt_c9oVMmDjKBLchliYc5A

The main change is that it supports "chunked" file replacements which for now means field files. If you look at the Field file format then you see it has 9 sections. The chunked replacement means that you can make a mod that only changes one (or a few) sections of this file and distribute just the sections that are changed - e.g. just section 1, if the dialogue is the only changed thing. Then 7thheaven will combine the sections back into a single field file at runtime. So your mod is smaller (because you don't have to distribute the whole field file containing all the background graphics, just to change some dialogue) and you could even apply two mods that both changed the same field file at once, if one mod just changed dialogue, and the other just changed the encounter data, maybe.

How to use - there is a new menu option "Chunk tool". If you choose this, you can select a FLEVEL.LGP file, an output folder, and which chunks to extract (e.g. 1 for dialogue, 7 for encounter). So make your changes directly to FLEVEL.LGP and then extract the sections that need to be distributed, and package them into a mod.

I hope it will work, I tested changing dialogue with this tool and it seems OK, however it is possible there are bugs so please try it and find out :)

Are there other bugs that need fixing or new features that people want in 7thHeaven? Thank you.

Kaldarasha

  • *
  • Posts: 2449
  • Prince of Model Editing
    • View Profile
Re: 7thHeaven
« Reply #387 on: 2014-07-13 14:50:42 »
Jesus, I thought the worst... glad that you are still alive.
This new feature seams to be interesting.
The scene.bin and the magic.lgp seams to be impossible to replace (haven't tested the kernels). Since ficedula has written a new tool to replace sounds I don't need to ask you about a dynamical sound change.
I need to wait for the next update of the Reunion then I will ask you about to incorporate new FF7 mod folders.
There is a new folder for the music since the last update of Aali's custom driver (music/vgmstream/), it would be nice if we could use 7th Heaven to switch music.
Sadly 7th Heaven isn't compatible with the re-releases.
One last thing it would be helpful if you could implement DLPB's HextLaunch into 7th Heaven. http://forums.qhimm.com/index.php?topic=13574.0
I hope Dan would give you permission for it. Maybe as a plugin? This way Dan could maintain the code by himself.

Nice to see you back!

Edit:
@EQ2Alyza  :P :P :P
To be honest when I saw that there is a post on the 7th Heaven thread with Iros name on it. It was the second unreal moment this week (the first was THE 0:5 Brazilian - Germany in the 30th minute  :evil:).
« Last Edit: 2014-07-13 15:27:42 by Kaldarasha »

EQ2Alyza

  • 7th Heaven Crew
  • Global moderator
  • *
  • Posts: 3200
  • Dilly-Dally Shilly-Shally
    • View Profile
    • EQ2Alyza - YouTube Channel
Re: 7thHeaven
« Reply #388 on: 2014-07-13 15:03:35 »
OMG Iros! *cling* Forget real life, don't ever leave us again :cry:

I'm glad you're back :) I have a few bugs / features to report.

1. Magic PNGs currently don't work when packed into a .iro but are okay if the folder itself is imported. cmh175 says .iro worked in 1.09, so it sounds like an easy fix.
2. Scene.bin doesn't seem to work, so most difficulty mods can't be used. I think it might be because scene.bin is located in the data\battle folder, while there is also a battle folder for the Aali modpath.
3. Aali 0.8.11b has a new music folder structure: [gamedir]\music\vgmstream --- Support for that would be great.
3. Do the other .bin files work? (kernel.bin, kernel2.bin, window.bin, camdatX.bin)
4. Occasionally the program crashes when trying to uninstall a mod. Reopening and uninstalling again will work.
5. Can we get a refresh button for the Library and Catalog tabs? Search button acts as the refresh button atm.
6. Can we get a drag feature for the Active Mods tab? The up/down arrows are great already, but I do have a rather large catalog that would work well being able to drag also.

See you around!

EDIT: Kaldarasha loves you more cause he posted the same things before me. Sorry for being a double post :P
« Last Edit: 2014-07-13 15:05:30 by EQ2Alyza »

cmh175

  • *
  • Posts: 862
    • View Profile
    • Chris Hendrickson's Artstation
Re: 7thHeaven
« Reply #389 on: 2014-07-13 15:31:56 »
Welcome back indeed! Kaldarasha and EQ2Alyza pretty much touched on all the bugs and new useful features, but here's a quick list just for more information, probably with some overlap.

-The Magic files not only don't work in v10, but they're invisible (like they're gone) and before that first battle is over the game will freeze. Usually in an odd way where the camera stays on one character who stays in their idle animation, so it almost looks like it's just lagging but it doesn't recover. EQ2Alyza mentions png's work inside a folder. I haven't tried this to confirm, or tried it with summoning models. Using folders for larger mods though can slow down the games loading time, so that wont work well longterm.

-Scene.bin and Kernel.bin don't seem to work. Doing testing with the Sephiroth mod I was told neither worked. Implementing direct support will make a lot of new and older mods 7H compatible.

-While testing an iro if something's faulty 7H will crash every time while booting, so it requires manually removing files. I think this is the same with faulty catalogs too. It would make testing a lot easier if 7H's ability to load isn't depended on catalogs and mod library. Even better if it could tell us what it doesn't like when trying to load faulty mods or catalogs. The debug output is pretty general and usually unhelpful, so you have to double check directories and xml's to see what's happening.

-Adding more than one catalog subscription requires cutting the original one out of 7H, and pasting them both into notepad first. You cant paste a new one into the settings window (it seems to only work with one per line, but hitting enter just closes with window).

-A suggestion: Adding an installer maybe a good idea. Explaining how to use 7H to new members can get tiresome, since there's quite a few things they can do wrong lol. Pinpointing what can take awhile. Maybe just a simple installer that adds 7H to the game's mod directory (bootleg uses games\FF7\FF7mods for the torrent, that would work great so you can uninstall FF7 without removing 7H mods) and automatically adds a mod library folder that's configured in the settings, and stuff like that. Simplifying the setup process will definitely interest a lot of members who aren't using 7H now.

Pretty short list mostly, the tool's great and does mostly what we need. If anything I think it just needs to be a bit more user friendly for nontechnical members and modders doing troubleshooting.   

Iros

  • 7th Heaven Crew
  • *
  • Posts: 229
  • Files for the file god! Mods for the mod throne!
    • View Profile
Re: 7thHeaven
« Reply #390 on: 2014-07-13 15:36:34 »
Most of those sound like they should be easy to fix - I will download some mods now to test with.

It will probably help make things quicker to fix for me if you have any savegames / mods you can point me to, that make it easy for me to check if it is working :)  e.g. for the magic PNGs not working, if you have a savegame with materia equipped for a spell that is very obvious if it is using the new version or not, then I can very quickly load the savegame and see if my fix works.

Kaldarasha

  • *
  • Posts: 2449
  • Prince of Model Editing
    • View Profile
Re: 7thHeaven
« Reply #391 on: 2014-07-13 15:52:39 »
One last thing, could you post our give an admin the source code (only as security)?

cmh175

  • *
  • Posts: 862
    • View Profile
    • Chris Hendrickson's Artstation
Re: 7thHeaven
« Reply #392 on: 2014-07-13 16:07:28 »
Game saves for any point in the game can be found here: http://forums.qhimm.com/index.php?topic=8880.msg115218#msg115218 EQ2Alyza can probably help you most with mods for testing, she's developing an extensive catalog right now. I can also throw something together later that''ll have a little of everything, including magic and summoning mods.

Sega Chief

  • *
  • Posts: 4087
  • These guys is sick
    • View Profile
Re: 7thHeaven
« Reply #393 on: 2014-07-13 17:10:13 »
Good to see you're back, Iros; 7H has a lot of potential for making mods, being able to change files based on in-game variables is really exciting.

I guess if I had a request it'd be for a Readme, something to keep all the related information together. A list of what variables/conditions that 7H can use to inject mod files would be handy, something to quickly refer to while setting things up in the XML. I know that field IDs and the Game Moment variable can be used, but can things like Enemy Formation be used as well? It's just to know where the current boundaries are.

EQ2Alyza

  • 7th Heaven Crew
  • Global moderator
  • *
  • Posts: 3200
  • Dilly-Dally Shilly-Shally
    • View Profile
    • EQ2Alyza - YouTube Channel
Re: 7thHeaven
« Reply #394 on: 2014-07-13 18:27:07 »
Magic: https://docs.google.com/file/d/0B-Q_AObuWRSXaXRZdlc1aVJPXzg/edit

Save: https://docs.google.com/file/d/0B-Q_AObuWRSXVXNXUWFFME5CMjg/edit

That is the Magic folder I use for 7H. I load up Slot 04 of the save in Kalm and fight sweepers, etc. outside on the World Map.

@EQ2Alyza  :P :P :P
To be honest when I saw that there is a post on the 7th Heaven thread with Iros name on it. It was the second unreal moment this week (the first was THE 0:5 Brazilian - Germany in the 30th minute  :evil:).

I can relate to this. Go Germany!

Iros

  • 7th Heaven Crew
  • *
  • Posts: 229
  • Files for the file god! Mods for the mod throne!
    • View Profile
Re: 7thHeaven
« Reply #395 on: 2014-07-13 18:41:11 »
@EQ2Alyza: Great, that's really helpful.


New version v1.21 fixing the easiest bugs:

https://mega.co.nz/#!Hdsm0RhR!ajOEBxqCWdzQJb3z6DSqRQPCFLD2vhRsp-4kXmRboyg

Changes:
-Support replacing scene.bin (+ any other .bin files should work too now)
-Fix not able to edit subscriptions properly in settings screen
-Fix program crashing if invalid mod.xml or subscription file is loaded
-Allow adding extra folders to monitor inside FF7 folder, default "music" (i.e. by default will monitor FF7\music but you can add other folders to monitor as well)


@Sega Chief: Instead of putting a list here which could be out of date, the best thing for me to say is to check the 7thHeaven.var file - this lists all the variables 7thHeaven 'knows' about, so if it is listed there, you can use it (and if it is not listed, you can't!).

There aren't many entries yet unfortunately.

Kaldarasha

  • *
  • Posts: 2449
  • Prince of Model Editing
    • View Profile
Re: 7thHeaven
« Reply #396 on: 2014-07-13 18:59:17 »
I have tested the new function to replace the model loader with my re-sized models project. It worked as long the flevel has no dirty edits. At last I couldn't bring it to work with the NT mod (even toughscript don't like it). Hmm, is it possible for you to do the opposite and give the Chunk tool an import feature for chunks in a flevel.lgp? This way we don't need to use Makou Reactor (where I have to export and import every field by hand) to make it workable.
One last thing I had a crash after changing to another field screen, but I was unable to reproduce it.

Iros

  • 7th Heaven Crew
  • *
  • Posts: 229
  • Files for the file god! Mods for the mod throne!
    • View Profile
Re: 7thHeaven
« Reply #397 on: 2014-07-13 19:13:45 »
I have tested the new function to replace the model loader with my re-sized models project. It worked as long the flevel has no dirty edits.

Sorry, I don't understand, what is a dirty edit?

Do you mean it crashed if you tried the chunk export on a flevel file which had been edited? If yes, which mod, your re-sized models mod?

Kaldarasha

  • *
  • Posts: 2449
  • Prince of Model Editing
    • View Profile
Re: 7thHeaven
« Reply #398 on: 2014-07-13 20:17:06 »
It's something (you could call it garbage I guess) which a tool (probably a text editor) has created. Don't worry your program works perfectly. I can extract chunks from the flevel of the New Threat mod but I need to re-insert them into a 'clean' flevel. It has worked with Makou Reactor for my German mod to extract and import the chunks to clean the flevel.lgp.

Sega Chief

  • *
  • Posts: 4087
  • These guys is sick
    • View Profile
Re: 7thHeaven
« Reply #399 on: 2014-07-14 01:51:09 »
@Sega Chief: Instead of putting a list here which could be out of date, the best thing for me to say is to check the 7thHeaven.var file - this lists all the variables 7thHeaven 'knows' about, so if it is listed there, you can use it (and if it is not listed, you can't!).

Didn't know there was already a file  :oops:; cheers for the info.

It's something (you could call it garbage I guess) which a tool (probably a text editor) has created. Don't worry your program works perfectly. I can extract chunks from the flevel of the New Threat mod but I need to re-insert them into a 'clean' flevel. It has worked with Makou Reactor for my German mod to extract and import the chunks to clean the flevel.lgp.

So the NT Mod's flevel had garbage data in it? That might be caused by some crashes I had when saving while using 1.6.0 of Makou (it'd sometimes crash at 60% or so), or it might be because I've been using 1.5.1 and swapping to 1.6.0 whenever I need to check model placements (I have 1.6.1 but I was close to the end of the project so I stuck with the 1.5.1 for my editing). Otherwise, it'll be early interference from Loveless from way way back. How do I avoid/fix/detect corruption like that? Is it just from text editors or can Makou cause it too?