[relz] fallout mod manager

Post » Sat May 28, 2011 1:55 am

TimeSlip, is there any chance of adding functionality to load an Image from a .fomod that can be used in PictureBox, Buttons, etc.?

I want to make a customized installation form with images, etc. It seems that I get security violations when trying to use the standard C# methods of loading images though.

Of course, if you know of another way of converting the byte array returned from the LoadFile... method to an Image that'd also be great.


Guess I should've Google first before asking :P

public Image byteArrayToImage(byte[] byteArrayIn){	 MemoryStream ms = new MemoryStream(byteArrayIn);	 Image returnImage = Image.FromStream(ms);	 return returnImage;}

User avatar
victoria gillis
 
Posts: 3329
Joined: Wed Jan 10, 2007 7:50 pm

Post » Sat May 28, 2011 6:59 am

Timeslip could you add support for creating fomods from folders?

Already in svn. It'll be in 0.9.11, whenever I get around to releasing it.

List view? where would i find that? also, do we have a tool available to merge objects/leveled lists yet? I am getting to the point where that really needs to start happening......

We're talking about the plugin list; the first thing that appears when you run fomm. You shouldn't need to look too far for it. :P

fomm doesn't contain any merging tools, unless you feel like doing it manually in tessnip. (Be warned, you almost certainly will break your plugin in some way or another.) I don't know what other tools exist that could do it.

TimeSlip, is there any chance of adding functionality to load an Image from a .fomod that can be used in PictureBox, Buttons, etc.?

Creating a memory stream from the bytes and passing that to the bitmap constructor should work, but if not I'll add something to 0.9.11.

Edit: Looks like I was slower than google. :P
User avatar
Bethany Watkin
 
Posts: 3445
Joined: Sun Jul 23, 2006 4:13 pm

Post » Fri May 27, 2011 7:44 pm

fomm 0.9.11 is available from sourceforge. There's an option to create fomods from a folder, and a new feature has been added to the install tweaker to replace some of fallouts functions with faster sse optimized versions. (Requires g4wl to be disabled, for the same reason as fose.) The install tweaker is now available from the main form rather than needing a command line too.

Edit: And one other thing I forgot; the disable-g4wl part of the install tweaker now lets you use offline profiles, so you can still keep your save games separate if you want.

The crash on exit if there's a readonly file in fomms temp folder has been fixed, and fomods support unicode file names. (Although for the most part, fallout doesn't, so I still strongly recommend against using them. At least you can make a fomod of FOOK without fomm blowing up now though.)
User avatar
Kahli St Dennis
 
Posts: 3517
Joined: Tue Jun 13, 2006 1:57 am

Post » Fri May 27, 2011 10:55 pm

fomm 0.9.11 is available from sourceforge. There's an option to create fomods from a folder, and a new feature has been added to the install tweaker to replace some of morrowinds functions with faster sse optimized versions. (Requires g4wl to be disabled, for the same reason as fose.) The install tweaker is now available from the main form rather than needing a command line too.

Edit: And one other thing I forgot; the disable-g4wl part of the install tweaker now lets you use offline profiles, so you can still keep your save games separate if you want.

The crash on exit if there's a readonly file in fomms temp folder has been fixed, and fomods support unicode file names. (Although for the most part, fallout doesn't, so I still strongly recommend against using them. At least you can make a fomod of FOOK without fomm blowing up now though.)

Yay new release!

What does 'Shrink textures' do? I know what it sounds like it does, but I like to know what I'm doing to my game. And the readme has no info.

Thanks, as well :)

EDIT: actually clicking on the option is informative, thanks :) Oh, and where is this 'sse optimzied versions' feature, and I presume you meant fallout not MW?
User avatar
glot
 
Posts: 3297
Joined: Mon Jul 17, 2006 1:41 pm

Post » Sat May 28, 2011 5:35 am

Oh, and where is this 'sse optimzied versions' feature,

Click settings on the disable g4wl option.

and I presume you meant fallout not MW?

opps. :embarrass:

I guess that's what I get for staring at exe optimizer all day. :P (And I still can't remember how it worked...)
User avatar
katie TWAVA
 
Posts: 3452
Joined: Tue Jul 04, 2006 3:32 am

Post » Fri May 27, 2011 8:27 pm

could you please add "view data files" to the right click menu of the esp list?
User avatar
Haley Cooper
 
Posts: 3490
Joined: Wed Jun 14, 2006 11:30 am

Post » Fri May 27, 2011 5:56 pm

could you please add "view data files" to the right click menu of the esp list?

Not really. How would fomm know which data files belong to the esp?

I suggest looking up tes4files if you want something like that, which I believe has fallout support now.
User avatar
Emmi Coolahan
 
Posts: 3335
Joined: Wed Jan 24, 2007 9:14 pm

Post » Fri May 27, 2011 7:26 pm

What would be the optimal way to update a fomm? Say for instance FOOK releases a new esp and I want to update rather then creating a whole new fomm. Thanks for the update too.
User avatar
loste juliana
 
Posts: 3417
Joined: Sun Mar 18, 2007 7:37 pm

Post » Sat May 28, 2011 6:39 am

What would be the optimal way to update a fomm? Say for instance FOOK releases a new esp and I want to update rather then creating a whole new fomm. Thanks for the update too.

Do whatever you find easiest. Personally if it was just a single esp file I'd just open the fomod in my usual archiver program and replace the esp file in there with that rather than doing anything in fomm. Alternatively you could create a new fomod with just that esp in it and activate it after the normal FOOK fomod.
User avatar
Lawrence Armijo
 
Posts: 3446
Joined: Thu Sep 27, 2007 7:12 pm

Post » Sat May 28, 2011 8:20 am

Not really. How would fomm know which data files belong to the esp?

I suggest looking up tes4files if you want something like that, which I believe has fallout support now.


but OBMM has it? that's why i thought it could be added to fomm as well...but never mind then..
User avatar
Elizabeth Lysons
 
Posts: 3474
Joined: Fri Feb 02, 2007 7:16 am

Post » Sat May 28, 2011 6:12 am

but OBMM has it? that's why i thought it could be added to fomm as well...but never mind then..

The esp file format changed a bit between oblivion and fallout, so the same code doesn't work any more. Even obmm used to miss out some files though; tes4files is still your best option, even for oblivion.
User avatar
Ownie Zuliana
 
Posts: 3375
Joined: Thu Jun 15, 2006 4:31 am

Post » Fri May 27, 2011 9:40 pm

Do whatever you find easiest. Personally if it was just a single esp file I'd just open the fomod in my usual archiver program and replace the esp file in there with that rather than doing anything in fomm. Alternatively you could create a new fomod with just that esp in it and activate it after the normal FOOK fomod.


Thanks - do you think you could build this into fomm? Maybe have a "explore archive" or something?
User avatar
Maeva
 
Posts: 3349
Joined: Mon Mar 26, 2007 11:27 pm

Post » Sat May 28, 2011 5:07 am

Click settings on the disable g4wl option.

My Settings button remains greyed out when I click on the g4wl option. Is this because I already have your hacked xlive.dll installed?

And, when you say 'sse optimised functions', how much of an impact do these have on the game? Anything that increases performance is welcome :)
User avatar
james tait
 
Posts: 3385
Joined: Fri Jun 22, 2007 6:26 pm

Post » Sat May 28, 2011 9:16 am

My Settings button remains greyed out when I click on the g4wl option. Is this because I already have your hacked xlive.dll installed?

And, when you say 'sse optimised functions', how much of an impact do these have on the game? Anything that increases performance is welcome :)

It doesn't un-grey until you click apply. (Which actually might not work if you already have the old xlive dll in there. I suggest getting rid of it first.)

I doubt you'll see any in game effect tbh. Maybe an fps or two if you're badly cpu limited.
User avatar
sarah simon-rogaume
 
Posts: 3383
Joined: Thu Mar 15, 2007 4:41 am

Post » Fri May 27, 2011 11:12 pm

For some reason my FOMM's crashing everytime I close it and when I start Fallout. This is what's written in the crashduump.txt.

Sunday, March 15, 2009 - 3:34:33 PM
Fomm 0.9.11
OS version: Microsoft Windows NT 5.1.2600 Service Pack 2

System.IO.IOException: Access to the path 'D:\Documents and Settings\Rave\Local Settings\Temp\fomm\0\4Aces HiRes Weapons\Data\textures\weapons' is denied.
at System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive)
at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive)
at Fomm.Program.Main(String[] args)

I've tried everything I know, but can't find a way to fix it -_- So I'm hoping someone here can :P
User avatar
Patrick Gordon
 
Posts: 3366
Joined: Thu May 31, 2007 5:38 am

Post » Sat May 28, 2011 5:38 am

For some reason my FOMM's crashing everytime I close it and when I start Fallout. This is what's written in the crashduump.txt.



I've tried everything I know, but can't find a way to fix it -_- So I'm hoping someone here can :P

Great, I fix the readonly file problem, and it seems there's another type of file causing problems... *goes to download that mod to see what it is.*

In the mean time, click start|run, type %temp%, hit return, look for the folder called 'fomm' and delete it.

Edit: One of the folders was readonly... Will get that fixed for 0.9.12.

Edit2: Rather than waiting for 0.9.12, I've made a 0.9.11b release with that fix.
User avatar
GLOW...
 
Posts: 3472
Joined: Thu Aug 03, 2006 10:40 am

Post » Sat May 28, 2011 12:58 am

Thanks for the speedy fix Timeslip! :D Works perfectly now :P
User avatar
Reven Lord
 
Posts: 3452
Joined: Mon May 21, 2007 9:56 pm

Post » Fri May 27, 2011 11:16 pm

Would it be possible (is it possible?) to expose the .esp/.esm editing functionality in the scripting language?

I'm wanting to make some installation scripts that will generate (in memory) different .esp files based on the armour objects in another .esp and a configuration file. This generated .esp will then be used instead of the original one.
User avatar
!beef
 
Posts: 3497
Joined: Wed Aug 16, 2006 4:41 pm

Post » Sat May 28, 2011 6:15 am

Would it be possible (is it possible?) to expose the .esp/.esm editing functionality in the scripting language?

I'm wanting to make some installation scripts that will generate (in memory) different .esp files based on the armour objects in another .esp and a configuration file. This generated .esp will then be used instead of the original one.

It should be possible. At the least, I can give you access to the plugin/record/subrecord classes that tessnip uses.
User avatar
Kelsey Hall
 
Posts: 3355
Joined: Sat Dec 16, 2006 8:10 pm

Post » Sat May 28, 2011 2:40 am

It should be possible. At the least, I can give you access to the plugin/record/subrecord classes that tessnip uses.


That'd be awesome.

Just a few questions regarding this:
  • Can you add new GECK scripts as well? I.e. if I generate the text for the script and insert it into the .esp, will it run in-game? Does it need to be compiled first, and if so, can TESSnip do this?
  • Is it possible to "fake" master files, like was done in Oblivion? i.e. make one .esp think that another .esp is actually a master file, therefore allowing access to it's Form IDs?
  • Can I load the contents of an activated .esp from another mod to examine?
The reason I ask, is that I want to provide a fomod installation script for a body replacer mod that does something along the following lines:
  • Examine all existing activated .esps that contain armour/clothing (not .esps from THIS mod, but all mods installed), say mods X, Y and Z
  • Generate a new .esp, A, that links to X, Y and Z (which are "faked" as masters)
  • .esp A will contain duplicates of selected armour/clothing objects, with new assigned mesh paths (the new meshes to use). The mappings will be stored by a file "fomod/mapping.xml" which specifies mapping conditions and settings
  • GECK scripts will be generated to handle the swapping of armour based on some condition (from "fomod/mapping.xml")
  • .esp A is saved, the load order set and then activated
The end result, a body replacer mod that can work for any installed mods containing armour that the body replacer can handle.

Of course, there are many other uses for this kind of thing, i.e. a "package" that is actually a user-defined tool where the fomod script provides all the functionality and there need not be anything else in the mod, such as:
  • merging mods together
  • texture management tool (which am going to write as well for the body replacer mod)
  • updating object stats by simply providing the info in a text file
  • compatibility tests between mods
  • item generation (weapons, armour, ammo, etc.)
  • etc.

User avatar
ladyflames
 
Posts: 3355
Joined: Sat Nov 25, 2006 9:45 am

Post » Fri May 27, 2011 6:13 pm

  • Can you add new GECK scripts as well? I.e. if I generate the text for the script and insert it into the .esp, will it run in-game? Does it need to be compiled first, and if so, can TESSnip do this?
Yes, it would need to be compiled. Luckily tessnip does already contain a script compiler, which is almost completely compatible with the official one. (No fose functions yet, although there's no reason they couldn't be added to the function definitions xml.)

  • Is it possible to "fake" master files, like was done in Oblivion? i.e. make one .esp think that another .esp is actually a master file, therefore allowing access to it's Form IDs?
No idea. Try it and see; add a MAST subrecord to the TES4 record of an esp and use the name of another esp and see what happens.

  • Can I load the contents of an activated .esp from another mod to examine?
Yes: Just use GetExistingDataFile.
User avatar
Nathan Maughan
 
Posts: 3405
Joined: Sun Jun 10, 2007 11:24 pm

Post » Fri May 27, 2011 7:00 pm

Yes, it would need to be compiled. Luckily tessnip does already contain a script compiler, which is almost completely compatible with the official one. (No fose functions yet, although there's no reason they couldn't be added to the function definitions xml.)

Nice to know, thanks.

No idea. Try it and see; add a MAST subrecord to the TES4 record of an esp and use the name of another esp and see what happens.

Thanks, that seemed to work.

Another few questions:
  • could you expose the "Toggle Invalidation" function in fomod scripts. i.e. the mod installation script can automatically toggle it off/on to enable the textures being picked up? Think this might be useful since many players do not read instructions and I'm getting sick of having to tell people to "read the instructions... you need to enable archive invalidation to not see the pink textures"
  • how can I write separate fomod script classes in files other than script.cs and have these used by the Script class? Using the "using" statement doesn't seem to pick up the new class... If this cannot be done, it's not the end of the world, will simply prepend the other class definitions in the script.cs file, but being able to separate things would allow me (and others) to reuse utility classes between mods...
Excellent work so far, keep it up :)
User avatar
TOYA toys
 
Posts: 3455
Joined: Sat Jan 13, 2007 4:22 am

Post » Fri May 27, 2011 6:02 pm

Another few questions:
  • could you expose the "Toggle Invalidation" function in fomod scripts. i.e. the mod installation script can automatically toggle it off/on to enable the textures being picked up? Think this might be useful since many players do not read instructions and I'm getting sick of having to tell people to "read the instructions... you need to enable archive invalidation to not see the pink textures"
  • how can I write separate fomod script classes in files other than script.cs and have these used by the Script class? Using the "using" statement doesn't seem to pick up the new class... If this cannot be done, it's not the end of the world, will simply prepend the other class definitions in the script.cs file, but being able to separate things would allow me (and others) to reuse utility classes between mods...
Excellent work so far, keep it up :)

I don't want to let scripts toggle archiveinvalidation automatically, but I'll add a function to let them check its current status. (In any case, you could use the ini editing functions to do it manually if sufficiently desperate.)

There's currently no way to spread scripts out across multiple files. Everything needs to go in script.cs.

I've already committed the changes to let scripts use tessnips plugin class and script compiler, if you want to roll your own copy before 0.9.12 is out. Here's a (very) little example script that I'm using for one of my testcases:
using System;using fomm.Scripting;class Script : BaseScript {	public static bool OnActivate() {		Plugin p=new Plugin(GetExistingDataFile("ScriptTest.esp"));	        MessageBox("There are "+p.Records.Count+" records in that plugin");		SetupScriptCompiler(new Plugin[] {p});		string unused;		CompileScript((Record)((GroupRecord)p.Records[1]).Records[0], out unused);		GenerateDataFile("FommScriptTest.esp", p.Save());		return true;	}}

User avatar
Symone Velez
 
Posts: 3434
Joined: Thu Sep 07, 2006 12:39 am

Post » Sat May 28, 2011 5:25 am

And 0.9.12 is out. Not much has changed aside from the fomod scripting thing, but there is a new option on the settings menu to show esm's in bold at the load order screen.
User avatar
Del Arte
 
Posts: 3543
Joined: Tue Aug 01, 2006 8:40 pm

Post » Sat May 28, 2011 1:32 am

And 0.9.12 is out. Not much has changed aside from the fomod scripting thing, but there is a new option on the settings menu to show esm's in bold at the load order screen.


Thanks for the new version, am checking out the TESNip functionality :lol: So far it's looking good.

It's a pity that it's not possible to write other class files and link to them. Is it possible to link to other existing dlls? For example, I was wanting to use the Microsoft.Xna.VisualStudio.Framework.dll (or DirectX) for .DDS texture manipulation functions. Linking is easy in Visual Studio, but I don't have a clue how to do it from a class file. Possible from a FOMM script? Could a "linking" file be placed in the fomm folder that links all the dlls in before running the script?

If it's not possible, could you expose texture editing functionality? At a minimum, load it, get dimensions, blit from one texture to another and save (with mipmapping)... *holds thumbs*

Alternately, would it be possible to invoke an external application (stored in the fomm folder) passing through parameters? Personally I think this is risky from a security point of view, but it is an option...

Keep up the great work... am loving this version of the Mod Manager :celebration:
User avatar
Danial Zachery
 
Posts: 3451
Joined: Fri Aug 24, 2007 5:41 am

PreviousNext

Return to Fallout 3