Aller au contenu

Photo

Modding is possible (guide)


  • Ce sujet est fermé Ce sujet est fermé
3174 réponses à ce sujet

#2376
abvex

abvex
  • Members
  • 10 messages

Valtonis wrote...
Open save in Save Editor.
Change to Raw tab.
Expand Squad > Player > Appearance > Morph Head > Texture Parameters.
Open the Texture Parameters list.
Add two new entries as follows:
code:

Name: EYE_Diff
Value: BIOG_HMM_HED_PROMorph.IllusiveMan.HMM_HED_PROIllusiveman_Eye_Diff

code:

Name: EYE_Spec
Value: BIOG_HMM_HED_PROMorph.IllusiveMan.HMM_HED_PROIllusiveman_Eye_Spec




How could you do this for the male character? its only doable with females.

#2377
Karstedt

Karstedt
  • Members
  • 1 536 messages

Azureum wrote...

@Everyone
Why don't I start another modding thread, since I'm quite an active modder and tbh the thread starter doesn't seem to be updating the first post. Is there a character limit in a post, or more importantly edit time limit?


I think that's a good idea. It would be nice to have someone updating the first post to reflect all known modding capabilities or at least link to the section of the thread that pertains to them. 100 pages is kind of hard to sort through.
I'm trying to find out if anyone has figured out how to get usable data from the class pcc files etc, don't know if that's buried in here somewhere. The unreal extractor just seems to dump a bunch of directories and 1k files when extracting many of the pcc data files. So I'm guessing they are actually supposed to be similiar in structure to the coalesced.ini file if extracted properly.

#2378
dilmonen

dilmonen
  • Members
  • 148 messages

Azureum wrote...

southbeatz1169 wrote...

Azureum wrote...
Actually, thats given me an idea, for a sort of recursive menu system, oooooo, inspiration ftw.
Must run tests, must run tests ...


I'd like to figure a way to create a small menu or scroll through weapons and armor rather than needing various toggles for them but I don't expect that to happen for ME2 but only time will tell.   Testing things sure sucks, all that loading the game, exiting, making changes, loading, exiting, etc but I suppose if the end result is good then that's what's important.


Why would I need to exit and reload it? These are text files loaded each time I use a bind, I can change them on the fly and alt-tab back to the game and re-press the bind ... no need for exiting.

The toggle system would work if actually using the set bind / set input / set inputtext commands would do just that, simply set the bind.  As it happens they carry it out as well, so I can't get a press 0 to enter weapons menu, then press 1 for x 2 for y 3 for z option system going.

Kinda getting used to this engine just turning round and saying screw you, but the abuse I give it kinda makes up for that lol.

The trick is to get it into a loop, the end file needs to reset the bind back to normal for the menus to even function, but it just acts on the bind, so its an endless loop lol, so in effect I give a weapon, it takes it away again straight away because I need the emptyinventory command to reset you so that you only use 1 weapon at a time..

Dilmonen, do you fancy taking a crack at it? lol


The only way to implement a menu that isn't from BioWare would be to try & create our own UPK files with the UDK & hope that 1)they actually compile since they're relying on someone else's source & 2)they even load into the game if the compile works.

I'm actually considering the rather insane idea of attempting the above...  No guarantees, but since I'm unemployed currently & the job market sucks, it looks like I'll have free time for a while.

Regarding the looping exec files, it should be possible, but it's gonna be txt file spaghetti...  Luckily, you can use some path information in the exec line to keep the txt files out of the binaries directory.

EDIT: If the formatting attempt doesn't work, those are supposed to be single backslashes in the exec commands.

Bind a key to the first exec file that starts the loadout process, say "setbind L exec mods\\loadout\\loadout.txt"

The loadout exec file will have to contain a setbind * mods\\loadout\\filname.txt for each "class" of weapon you want to toggle.
example loadout.txt file:

setbind 1 exec mods\\loadout\\pistol.txt
setbind 2 exec mods\\loadout\\smg.txt
setbind 3 exec mods\\loadout\\shotgun.txt
setbind 4 exec mods\\loadout\\sniper.txt
setbind 5 exec mods\\loadout\\assault.txt
setbind 6 exec mods\\loadout\\heavy.txt

example pistol.txt file:
setbind 1 mods\\loadout\\predator.txt
setbind 2 mods\\loadout\\carnifex.txt
setbind 3 PC_HotKey3
setbind 4 PC_HotKey4
setbind 5 PC_HotKey5
setbind 6 PC_HotKey6

example predator.txt file:
emptyinventory
giveitem blah blah
setbind 1 PC_HotKey1
setbind 2 PC_HotKey2

I'm gonna go get some dinner now & will work on making the huge list of files to try & fully implement this tomorrow morning.

Modifié par dilmonen, 17 mars 2010 - 02:55 .


#2379
BaaduII

BaaduII
  • Members
  • 48 messages
It might work I was looking into zeed DLC and I did see a UPK File

#2380
Karstedt

Karstedt
  • Members
  • 1 536 messages
I've been playing with the setting that supposedly enable a hybrid heat system, allowing ammo to replenish. Does that really work?

The weaponsuseheat setting only seems to disable reloading. And the infinteammo setting for each weapon just gives unlimited ammo. I haven't been able to reproduce the effect of ammo replenishing. I just end up with unlimited ammo and a weapon that won't reload until it's completely out of ammo.

#2381
Jeridal

Jeridal
  • Members
  • 3 messages

phoenixofthunder wrote...

How to fix Mass Effect 2 Low FPS  *UPDATED*
Falling back on to the original Coalesced file, I have found a way to fix my 11FPS frame rate during illusive man cinematics & debriefing cinematics. This breaks the immersion feel I like to get from games (not fluid enough for me). But after doing the following edits the illusive man cinematics now run arounnd 3X+ better (30-45FPS) [with sight dips during visualization of the sun], the debriefing cinematics now run at 82 FPS constantly after my editing.

This is quite simple actually: Change the values in red to the values in green.

[Engine.RenderDevice]
bUsePostProcessEffects=True  - False
 
[Engine.VSync]
ForceFullVSync=True  - False

[WinDrv.WindowsClient]
UseVSYNC=TRUE  - FALSE


[SystemSettings]
UseVsync=True - False

MinShadowResolution=32 - 0
MaxShadowResolution=512 - 0
(Very pivotal for if not 0, FPS is a mess no matter what)

[D3DDrv.D3DRenderDevice]
DisableHWShadowMaps=True - False
BIOPixelShaderVersion=ps_3_0 - ps_2_0

[Stats.Art]
FPS=_ - 35

[Stats.Perf]
FPS=_ - 35

[Stats.QA_IPS]
FPS= _ - 35


[Engine.GameEngine]
bSmoothFrameRate=TRUE
MinSmoothedFrameRate=32 - 62
MaxSmoothedFrameRate=62- 84

[SystemSettings]
SmoothFrameRate=True
MaxSmoothedFrameRate=62 - 84
MinSmoothedFrameRate=32 - 62


This fixes the issues with the 6,7,& 8 GeForce Series graphic cards that end up jagging in framerate. Let me know if this is of any use to anyone. If not I will void this post. Ok I will shut up now, before I get hit.:pinched::sick:


Thanks, I use VSync and PixelShader setting and it help me a lot :wizard:

#2382
Azureum

Azureum
  • Members
  • 285 messages

Regarding the looping exec files, it should be possible, but it's gonna be txt file spaghetti...  Luckily, you can use some path information in the exec line to keep the txt files out of the binaries directory.

EDIT: If the formatting attempt doesn't work, those are supposed to be single backslashes in the exec commands.

Bind a key to the first exec file that starts the loadout process, say "setbind L exec mods\\\\\\\\loadout\\\\\\\\loadout.txt"

The loadout exec file will have to contain a setbind * mods\\\\\\\\loadout\\\\\\\\filname.txt for each "class" of weapon you want to toggle.
example loadout.txt file:

setbind 1 exec mods\\\\\\\\loadout\\\\\\\\pistol.txt
setbind 2 exec mods\\\\\\\\loadout\\\\\\\\smg.txt
setbind 3 exec mods\\\\\\\\loadout\\\\\\\\shotgun.txt
setbind 4 exec mods\\\\\\\\loadout\\\\\\\\sniper.txt
setbind 5 exec mods\\\\\\\\loadout\\\\\\\\assault.txt
setbind 6 exec mods\\\\\\\\loadout\\\\\\\\heavy.txt

example pistol.txt file:
setbind 1 mods\\\\\\\\loadout\\\\\\\\predator.txt
setbind 2 mods\\\\\\\\loadout\\\\\\\\carnifex.txt
setbind 3 PC_HotKey3
setbind 4 PC_HotKey4
setbind 5 PC_HotKey5
setbind 6 PC_HotKey6

example predator.txt file:
emptyinventory
giveitem blah blah
setbind 1 PC_HotKey1
setbind 2 PC_HotKey2

I'm gonna go get some dinner now & will work on making the huge list of files to try & fully implement this tomorrow morning.


I tried a very similiar method, the set bind commands and all known variations of it actually carry out the command as well as bind it, at least thats what happened for me.

I'm going to create a forum on me2mods.azureum.com (my personal site) for the purpose of storing modding knowledge, at least that way I have full control.

Modifié par Azureum, 17 mars 2010 - 09:03 .


#2383
_silencer0

_silencer0
  • Members
  • 6 messages

Karstedt wrote...
I think that's a good idea. It would be nice to have someone updating the first post to reflect all known modding capabilities or at least link to the section of the thread that pertains to them. 100 pages is kind of hard to sort through.
I'm trying to find out if anyone has figured out how to get usable data from the class pcc files etc, don't know if that's buried in here somewhere. The unreal extractor just seems to dump a bunch of directories and 1k files when extracting many of the pcc data files. So I'm guessing they are actually supposed to be similiar in structure to the coalesced.ini file if extracted properly.


I am working on a C++ SDK that will allow you direct access to objects and even call function's on them :)

uobject* pawn = find_global_object<uobject>( "SFXPawn_Miranda BioH_Vixen_00.TheWorld.PersistentLevel.SFXPawn_Miranda" );
ufunction* pawn_func = find_global_object<ufunction>( "Function SFXPawn_Henchman.ShowHelmet" );

if ( pawn->is_valid() && pawn_func->is_valid() )
{
	//change some variable
	*(uobject**)( (uint8*)pawn + 1332 ) = my_head_mesh; //1332 is offset
	//show helmet
	bool parms( true );
	pawn->call_function( pawn_func, &parms, 0 );
}

Still working on a game classes generator to create a C++ header to allow normal access to variables and functions.

When the SDK gets to a usable state you would be able to do:

BioPawn* pawn = find_global_object<BioPawn>( "SFXPawn_Miranda BioH_Vixen_00.TheWorld.PersistentLevel.SFXPawn_Miranda" );

if ( pawn->is_valid() )
{
	//change some variable
	pawn->HeadMesh = my_head_mesh;
	//show helmet
	pawn->ShowHelmet( true );
}


#2384
Azureum

Azureum
  • Members
  • 285 messages
Interesting!

Being able to toggle certain skeletal meshes on and off would be nice.

Just for kicks I got the body of a heavy mech as armor for shepard, that was funny lol, but it'd be nice to be able to hide the head, because without AI control it just points straight up, and so I can't unhide the face etc, even scaling the mesh down in-game would be nice hehe.

Modifié par Azureum, 17 mars 2010 - 09:49 .


#2385
BaaduII

BaaduII
  • Members
  • 48 messages

_silencer0 wrote...

Karstedt wrote...
I think that's a good idea. It would be nice to have someone updating the first post to reflect all known modding capabilities or at least link to the section of the thread that pertains to them. 100 pages is kind of hard to sort through.
I'm trying to find out if anyone has figured out how to get usable data from the class pcc files etc, don't know if that's buried in here somewhere. The unreal extractor just seems to dump a bunch of directories and 1k files when extracting many of the pcc data files. So I'm guessing they are actually supposed to be similiar in structure to the coalesced.ini file if extracted properly.


I am working on a C++ SDK that will allow you direct access to objects and even call function's on them :)

uobject* pawn = find_global_object( "SFXPawn_Miranda BioH_Vixen_00.TheWorld.PersistentLevel.SFXPawn_Miranda" );
ufunction* pawn_func = find_global_object( "Function SFXPawn_Henchman.ShowHelmet" );

if ( pawn->is_valid() && pawn_func->is_valid() )
{
	//change some variable
	*(uobject**)( (uint8*)pawn + 1332 ) = my_head_mesh; //1332 is offset
	//show helmet
	bool parms( true );
	pawn->call_function( pawn_func, &parms, 0 );
}

Still working on a game classes generator to create a C++ header to allow normal access to variables and functions.

When the SDK gets to a usable state you would be able to do:

BioPawn* pawn = find_global_object( "SFXPawn_Miranda BioH_Vixen_00.TheWorld.PersistentLevel.SFXPawn_Miranda" );

if ( pawn->is_valid() )
{
	//change some variable
	pawn->HeadMesh = my_head_mesh;
	//show helmet
	pawn->ShowHelmet( true );
}


Ah man that sound great question would this SDK Allow us to access the Other NPC Faces  ? lol been cracking away at that for awhile and I haven't had any luck . Trying to get the Various Asari head to load

#2386
Azureum

Azureum
  • Members
  • 285 messages
Have you tried using an onlyoadlevel command to load the level they are in and adding their MDL to your coalesced.ini under fullbodyappearance, and using the toggle to hide your head?



I was toying with using other characters bodies, its funny to use the standard mech one as it moves like shepard but looks EXACTLY as a mech, I cracked out laughing when talking to illusive man and she thanks him for being given her body back.

#2387
Alien Mole

Alien Mole
  • Members
  • 4 messages

Karstedt wrote...

I've been playing with the setting that supposedly enable a hybrid heat system, allowing ammo to replenish. Does that really work?
The weaponsuseheat setting only seems to disable reloading. And the infinteammo setting for each weapon just gives unlimited ammo. I haven't been able to reproduce the effect of ammo replenishing. I just end up with unlimited ammo and a weapon that won't reload until it's completely out of ammo.



I've managed to get this to work by setting bInfiniteAmmo to true for each of the small arms, setting WeaponsUseHeat to true and HeatDissipationRate to 18.0f (or something thereabouts). Have you done each of these? Setting bInfiniteAmmo to true for DLC weapons is a problem, by the way - I don't think there's a truly legitimate way around this, but eh. Good luck, at any rate.

On this note: does anyone know of a way to set bInfiniteAmmo to true for each and every one of the small arms by default? I don't want infinite ammo for the heavy weapons, but this seems to be needed to get the hybrid ammo system working. From what I've found the Cerberus Shotgun doesn't even -have- a bInfiniteAmmo setting.

#2388
Karstedt

Karstedt
  • Members
  • 1 536 messages
@Alien Mole: The settings for DLC items are contained in supplemental ini files within the corresponding DLC directory. So you can set infiniteammo there and it should work.

@BaaduII: I don't quite understand what you are saying. Will this SDK allow proper viewing of say, the adept class pcc file? I'm actually interested in getting at the gameplay data, not graphics and such.

Modifié par Karstedt, 17 mars 2010 - 11:13 .


#2389
Azureum

Azureum
  • Members
  • 285 messages

Karstedt wrote...

On this note: does anyone know of a way to set bInfiniteAmmo to true for each and every one of the small arms by default? I don't want infinite ammo for the heavy weapons, but this seems to be needed to get the hybrid ammo system working. From what I've found the Cerberus Shotgun doesn't even -have- a bInfiniteAmmo setting.


Have you tried adding the binfiniteammo variable to the weapon stats sections in coalesced.ini?

#2390
_silencer0

_silencer0
  • Members
  • 6 messages

Karstedt wrote...

@Alien Mole: The settings for DLC items are contained in supplemental ini files within the corresponding DLC directory. So you can set infiniteammo there and it should work.

@BaaduII: I don't quite understand what you are saying. Will this SDK allow proper viewing of say, the adept class pcc file? I'm actually interested in getting at the gameplay data, not graphics and such.


The C++ SDK will interface the unrealscript core of the engine. It only touches stuff at runtime (not on disk). In theory you should be able to do the same as you would in unrealscript. Please note this is being build using information gathered by reverse engineering the engine. The first version of the SDK will only support read/write properties, calling functions, creating objects( known to the engine, not your own classes) and intercepting functions/events (allowing to write crude game logic changes). I hope to find a solution for creating your own classes so you can extend the game like you would in unrealscript (adding properties, overriding functions, etc).

Currently I do not have that much free time to spend on this, but I am hoping to get something ready for public release next month.

#2391
UndercoverDoctor

UndercoverDoctor
  • Members
  • 1 294 messages
*yippy*

#2392
phoenixofthunder

phoenixofthunder
  • Members
  • 1 811 messages

Jeridal wrote...

phoenixofthunder wrote...

How to fix Mass Effect 2 Low FPS  *UPDATED*
Falling back on to the original Coalesced file, I have found a way to fix my 11FPS frame rate during illusive man cinematics & debriefing cinematics. This breaks the immersion feel I like to get from games (not fluid enough for me). But after doing the following edits the illusive man cinematics now run arounnd 3X+ better (30-45FPS) [with sight dips during visualization of the sun], the debriefing cinematics now run at 82 FPS constantly after my editing.

This is quite simple actually: Change the values in red to the values in green.

[Engine.RenderDevice]
bUsePostProcessEffects=True  - False
 
[Engine.VSync]
ForceFullVSync=True  - False

[WinDrv.WindowsClient]
UseVSYNC=TRUE  - FALSE


[SystemSettings]
UseVsync=True - False

MinShadowResolution=32 - 0
MaxShadowResolution=512 - 0
(Very pivotal for if not 0, FPS is a mess no matter what)

[D3DDrv.D3DRenderDevice]
DisableHWShadowMaps=True - False
BIOPixelShaderVersion=ps_3_0 - ps_2_0

[Stats.Art]
FPS=_ - 35

[Stats.Perf]
FPS=_ - 35

[Stats.QA_IPS]
FPS= _ - 35


[Engine.GameEngine]
bSmoothFrameRate=TRUE
MinSmoothedFrameRate=32 - 62
MaxSmoothedFrameRate=62- 84

[SystemSettings]
SmoothFrameRate=True
MaxSmoothedFrameRate=62 - 84
MinSmoothedFrameRate=32 - 62


This fixes the issues with the 6,7,& 8 GeForce Series graphic cards that end up jagging in framerate. Let me know if this is of any use to anyone. If not I will void this post. Ok I will shut up now, before I get hit.:pinched::sick:


Thanks, I use VSync and PixelShader setting and it help me a lot :wizard:


Glad I could help.:)

#2393
Yuri_ii

Yuri_ii
  • Members
  • 160 messages
Hello



Does somebody know where i can find the Loadout Data for the Assault Rifle?

#2394
phoenixofthunder

phoenixofthunder
  • Members
  • 1 811 messages

Yuri_ii wrote...

Hello

Does somebody know where i can find the Loadout Data for the Assault Rifle?


Coalesced.ini

Look under:

[SFXGame.SFXPlayerSquadLoadoutData]  {Loadout Data of Assault Rifle}

or 

[SFXGameContent_Inventory.SFXWeapon_AssaultRifle] {Properties of Assault Rifle}

#2395
Yuri_ii

Yuri_ii
  • Members
  • 160 messages
Thank you ;)

#2396
phoenixofthunder

phoenixofthunder
  • Members
  • 1 811 messages

Yuri_ii wrote...

Thank you ;)



No problem;)

Modifié par phoenixofthunder, 17 mars 2010 - 05:01 .


#2397
BaaduII

BaaduII
  • Members
  • 48 messages

Azureum wrote...

Have you tried using an onlyoadlevel command to load the level they are in and adding their MDL to your coalesced.ini under fullbodyappearance, and using the toggle to hide your head?

I was toying with using other characters bodies, its funny to use the standard mech one as it moves like shepard but looks EXACTLY as a mech, I cracked out laughing when talking to illusive man and she thanks him for being given her body back.


Ah no Azureum I haven't . Didn't know you could do that lol  Well the only issue is . Loading a skeleton that easy
it the other aspect of the code we need to dynamically load

I've found the morph codes  looks something like this "

SFX_ASARI_FaceFX.FaceFXAsset
BIOFace_TwrHUB.Lite.BioFace_Asari01.BioMorphFace(Not sure if this is correct but i've seen the file not sure if I phrased it corrently)
BIOG_ASA_HED_PROMorph_R.PROBase.ASA_HED_PROBASE_MDL
BioMaterialOverride_82.BioMaterialOverride


and the skeleton mesh was the easiest to find
I need the code to load both a face and a material dynamically lol along with the skeleton mesh . it the only way your gonna get Aira or any of the other Asari and there many patterns for shepards heads . This guy SDK should do the trick if it let us access more part of the model as you load. Right now I can only load the skeleton mesh  and all it will give you is a generic asari that's brown lol.

Modifié par BaaduII, 17 mars 2010 - 06:04 .


#2398
Azureum

Azureum
  • Members
  • 285 messages
If the skeleton and face are in the same pcc files you just need to use an OnlyLoadLevel command with the mapname, then just reference the face and skeletal mesh accordingly via full body appearance or otherwise.

#2399
Timerider42

Timerider42
  • Members
  • 582 messages

Azureum wrote...

Have you tried using an onlyoadlevel command to load the level they are in and adding their MDL to your coalesced.ini under fullbodyappearance, and using the toggle to hide your head?

I was toying with using other characters bodies, its funny to use the standard mech one as it moves like shepard but looks EXACTLY as a mech, I cracked out laughing when talking to illusive man and she thanks him for being given her body back.

Azureum wrote...

Just for kicks I got the body of a heavy mech as armor for shepard, that
was funny lol, but it'd be nice to be able to hide the head, because
without AI control it just points straight up, and so I can't unhide the
face etc, even scaling the mesh down in-game would be nice hehe.


Lol. Post pics! Could you post a step-by-step, please? Where's the head toggle? I'm using Iron Spine's editor. Still not really sure how fullbodyappearance works.

Modifié par Timerider42, 17 mars 2010 - 07:05 .


#2400
David Hingtgen

David Hingtgen
  • Members
  • 286 messages
_Silencer0---what exactly would the code example you gave do? Is that to replace Miranda's head with another? (best I can guess).