Important information: this site is currently scheduled to go offline indefinitely by end of the year.

Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archive

The Original Forum. Game archives, full of resources. How to open them? Get help here.
daemon1
MEGAVETERAN
MEGAVETERAN
Posts: 2647
Joined: Tue Mar 24, 2015 8:12 pm
Has thanked: 65 times
Been thanked: 2871 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by daemon1 »

afsoon wrote:so I replaced the modifies leg mesh using the scripts and the hex editor
I don't see the skeleton on your screenshots. To make meshes work properly you need to have them properly weighted to the skeleton. Your game screenshot also looks like it was not done.
afsoon
ultra-n00b
Posts: 8
Joined: Fri Nov 13, 2015 8:09 am
Has thanked: 2 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by afsoon »

daemon1 wrote:
afsoon wrote:so I replaced the modifies leg mesh using the scripts and the hex editor
I don't see the skeleton on your screenshots. To make meshes work properly you need to have them properly weighted to the skeleton. Your game screenshot also looks like it was not done.
I didn't know that had to be done...I don't even know how to do that...
daemon1
MEGAVETERAN
MEGAVETERAN
Posts: 2647
Joined: Tue Mar 24, 2015 8:12 pm
Has thanked: 65 times
Been thanked: 2871 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by daemon1 »

afsoon wrote:I didn't know that had to be done...I don't even know how to do that...
Model in game is not just vertices and faces. Every vertex must be connected to some bone in the skeleton. Usually to a number of bones with certain coefficients called weights. This is needed so that the mesh parts will move properly with the animation movements.

Every editor like 3dmax have tools to edit this. Then that script you used to put model back to FMDL must properly put these weights back into game format. Where is that script? Does it support weights modification?
afsoon
ultra-n00b
Posts: 8
Joined: Fri Nov 13, 2015 8:09 am
Has thanked: 2 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by afsoon »

daemon1 wrote:
afsoon wrote:I didn't know that had to be done...I don't even know how to do that...
Model in game is not just vertices and faces. Every vertex must be connected to some bone in the skeleton. Usually to a number of bones with certain coefficients called weights. This is needed so that the mesh parts will move properly with the animation movements.

Every editor like 3dmax have tools to edit this. Then that script you used to put model back to FMDL must properly put these weights back into game format. Where is that script? Does it support weights modification?
oh you mean the bone structure! yes it is present in the model; I just have it's visibility turned off so that I can modify the mesh easier...
I put the script in here with other files...https://drive.google.com/open?id=0B0k_K ... TZyWmozb2M
daemon1
MEGAVETERAN
MEGAVETERAN
Posts: 2647
Joined: Tue Mar 24, 2015 8:12 pm
Has thanked: 65 times
Been thanked: 2871 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by daemon1 »

afsoon wrote:oh you mean the bone structure! yes it is present in the model; I just have it's visibility turned off so that I can modify the mesh easier...
I put the script in here with other files.
yes, just as i thought. These scripts allow you to replace vertices and faces, but they don't touch the weights.

I understand the amount of work you done, but this is not enough. The guys who made the scripts must make it somehow put the weights back into FMDL, and you have to properly assign new weights to your new mesh before that.

Right now you see arms work correctly. But when I move your new legs, they all got broken because of OLD weights are still in place. And when I move left leg bone, these weights make right leg vertices move instead of left leg etc.

Image
afsoon
ultra-n00b
Posts: 8
Joined: Fri Nov 13, 2015 8:09 am
Has thanked: 2 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by afsoon »

daemon1 wrote:
afsoon wrote:oh you mean the bone structure! yes it is present in the model; I just have it's visibility turned off so that I can modify the mesh easier...
I put the script in here with other files.
yes, just as i thought. These scripts allow you to replace vertices and faces, but they don't touch the weights.

I understand the amount of work you done, but this is not enough. The guys who made the scripts must make it somehow put the weights back into FMDL, and you have to properly assign new weights to your new mesh before that.

Right now you see arms work correctly. But when I move your new legs, they all got broken because of OLD weights are still in place. And when I move left leg bone, these weights make right leg vertices move instead of left leg etc.

Image
oh! I see! you sir, are a legend!
but since, you're saying that this is because of a feature that is missing from the script, I suppose there is nothing to be done about it? by me or anyone else?
Thanks for your replies nonetheless!
afsoon
ultra-n00b
Posts: 8
Joined: Fri Nov 13, 2015 8:09 am
Has thanked: 2 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by afsoon »

daemon1 wrote:
afsoon wrote:oh you mean the bone structure! yes it is present in the model; I just have it's visibility turned off so that I can modify the mesh easier...
I put the script in here with other files.
yes, just as i thought. These scripts allow you to replace vertices and faces, but they don't touch the weights.

I understand the amount of work you done, but this is not enough. The guys who made the scripts must make it somehow put the weights back into FMDL, and you have to properly assign new weights to your new mesh before that.

Right now you see arms work correctly. But when I move your new legs, they all got broken because of OLD weights are still in place. And when I move left leg bone, these weights make right leg vertices move instead of left leg etc.

Image
Regarding the left leg causing the right leg to move, I think I might now what is causing that...
you see, When I deleted the some of the vertices and faces of the legs mesh and then added the boots, 3ds max renumbered all the vertices and faces in the mesh starting from 1 again. This does not cause any problems in the mesh structure since I replace all the mesh data in the original file by Hex editing but based on what you are saying, after those changes, the old bone structure nodes, are now connected to the wrong vertices in the new mesh (since their numbers have changed) and that is probably the cause of this.

The work around this might be, for one skilled with 3ds max, to re-arrange the original mesh to the shape of boots without doing any operation that cause re-numbering. That however is beyond my 3d editing skills. sadly....
if anyone, can do this however, please, feel free to do so....all files are placed in the link in my previous posts. Thanks.
CantStoptheBipBop
advanced
Posts: 53
Joined: Sat Aug 27, 2016 9:43 am
Has thanked: 7 times
Been thanked: 7 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by CantStoptheBipBop »

edit: Just realised I used inequality operators as "about equal to" to describe something in a lua script. Added in some info about flag patterns I forgot to mention.
nasanhak wrote:

Code: Select all

p34 = ??? --Seems to be 1 for most high level weapons/items plus items not added to final game like Battle Gear; also unusable weapons/items
   Is Online Dev
   0 seems to be set for nearly all online develop weapons and items and also GZ sneaking suit (but more importantly may denote blueprints for GZ transfer and online dev)
   These may not have p72 (isValidMbCoin) set to 1 in all cases
   Grade 6 Ze'ev, ATB and EMN mines also have p34=0 for some reason(along with others) but have p72=0 and there are some missing items
   Performed a p52(Grade) based filtering
Just a wild guess, but maybe it's some kind of boolean for "don't display tile if not developed" that gets superseded by a true p72 value when connected to Konami's servers.

I've been researching weapon and equipment tables lately. I made a spreadsheet for DamageParameterTables.lua here. I'm not really sure what changing some of those do aside from the obvious last three, but ignoring ATK, INJ, and DAM_SOURCE entries, there are 28 parameters. p26-p28 are lethal damage, non-lethal damage, and impact force. p01-p05 appear to be values relating to damage. p01-p03 usually have a value when an ATK has lethal damage and p04-p05 when an ATK has non-lethal damage. p06-p07 values seem to be associated with anything that has some type of knockback effect on a target.

p08-p09 look like flags, though I haven't noticed any obvious patterns with them aside from stuff I noted in the spreadsheet. p10-p25 are booleans.

Code: Select all

VALUES
p01-p03 ≅ lethal DMG association
p04-p05 ≅ non-lethal DMG association
p06-p07 ≅ amount of ATK "knockback"

FLAGS
p08 = ? 0,2,4,8,15,50,500; F[8] VehicleBlast. F[15 | 50 | 500] if p10==true.  F[500] BossQuiet_sr_010 & Quiet_sr_010.
p09 = ? 0,2,10,20; Usually F[20] for VehicleBlast, sniper bullets, explosives, support weapons, miniguns, and WG handguns. F[2] Handgun, SMG, LMG. F[10] shotguns or autocannon.

    Combination patterns (p08,p09)
        0,20 = ATK_Fall
        15,10 = Shotgun DMG_Source, parasite SG, and ATK_10503
        15,2 = HG, SMG, LMG, HeliChainGun, mgm_mgun0
        2,10 = Wav1, 20/30mm tank autocannons
        4,20 = Explosives or Gear Railguns (for some reason ATB-Mines are 0,0. Flags affect ballistics?)
        50,20 = Sniper/anti-material rifle bullet, HeliMiniGun, WalkerGear_MiniGun, WalkerGear_HandGun_[00-04]
        500,0 = BossQuiet_sr_010 & Quiet_sr_010
        8,20 = VehicleBlast

BOOLEANS
p10 ≅ association with ATKs that behave as bullets
p11 ≅ is sniper/anti-material rifle bullet
p12 ≅ shotgun DMG
p13 == ZZZ or Jehuty
p14 ≅ CQC or NL ATK
p15 == explosive
p16 == ?
p17 ≅ cutting/slashing ATK
p18 == fire
p19 ≅ certain parasite ATKs
p20 ≅ missile, turret, Nad/Sad ATK
p21 = ?
p22 = ? all are false
p23 - p25 ≅ association with vehicle/stationary ATKs

DAMAGE
p26 == lethal
p27 == non-lethal
p28 == impact force (presumably stat that determines how much durability/resistance an ATK cuts through)
And for EquipParameterTables.lua:

Code: Select all

BlastParameter={0,
    { [Blast name], [blast flag], max or effect range, max or optimal range}
},

SupportWeaponParameter={0,
    { [Support weapon name], ammo, p1, p2, grade}
}

p1 = fuse, trigger distance, range, durability, or other
p2 = duration, activation or explosion in degrees, or other
Last edited by CantStoptheBipBop on Thu Dec 22, 2016 2:25 pm, edited 1 time in total.
Tex
veteran
Posts: 89
Joined: Sat Aug 20, 2011 4:51 am
Has thanked: 21 times
Been thanked: 11 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by Tex »

Apart from end of year busyness limiting what I can do, I've been banging against some limitations.

Got UAVs working in a test capacity for both MB and freeroam, but:
UAVs aren't that useful without routes, otherwise I think they'd be cool for some free roam sideops but trying to repurpose heli sideop routes didn't work out because they fly too high, and they don't have look direction nodes.

And for mb the only routes that match the mb layout is one particular fob layout for just the command platform. Well there may be a few more I can cherry pick from other clusters, but that would be ~27 layouts *7 clusters to check, and I'm hitting the combined gameobject limit issue which is also hampered by currently not having a good fpk load/unload by cluster system.

Had the nova braga security cams added to free roam but I'm hitting the combined gameobject crash on exiting map.

Bumping up memory allocation sizes in lua doesn't seem to fix that particular problem. There's a few other allocation named settings in various fox2 files that I haven't tried, but the naming doesn't seem like they'd apply to this situation anyway.

Could try and see if script block fpk/ds have any special leeway/control for allocation, I'm guessing not though.

Last resort would be to only allow user to enable a few features that add gameobjects (additional soldiers that I used in patrols, walker gears, helis etc) at a time.

But I don't think I'll have time to do much of anything for a while.
nasanhak
advanced
Posts: 71
Joined: Sat Nov 28, 2015 6:01 am
Has thanked: 10 times
Been thanked: 4 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by nasanhak »

@Tex

So I finally moved my mod to a settings based version. As difficult to test and time consuming as it was, I should have done it earlier. Being able to remove a feature completely with a toggle is a blessing. Plus it allowed me to add more settings to help with my cheat mode/warping which makes testing soo much easier.

I have seen you were looking for a good insert point for the settings file and not sure you know or not, but Tpp.lua seems to be the first major game file loaded. You can load the settings file there and use those settings anywhere at all. Even in the title/init fpkds as well as the motherbase dev scripts.

this.requires if the same file contains a *priority* based load list. So placing InfInspect/InfLog at the top will allow logging pretty much anywhere at all.

On another note, figured out how to remove cutscene credits without any nasty lng2 file editing. It uses an update method, BUT it works. Which proves that cutscenes set the cast info and then call them dynamically as they are playing. All attempts to remove the staff credits, even as a cutscene has started did not work.

Code: Select all

function this.RemoveTelopFromDemos()
	if not IsDemoPlaying() then return end

	--r51 Settings - has to be via Update func sadly, so am starting to think (and this kinda confirms) that each and every telop during a demo is formed and then posted at a particular time in the demo. Since the update func here is resetting *every* frame, I am able to hide the telops
--		TppPlayer.DebugPrint("TppDemo.Update stopping teleop cast",3,true)
		TppUiCommand.AllResetTelopCast() --WORKS! Removes all cast! But will also remove the mission objective if shown during a demo - not sure if that happens ever
--		TppUiCommand.EraseTelopCast() --NOPE
--		TppUiCommand.StopTelopCast() --All appear overlapping once cutscene is skipped/finishes
end
While not the ideal approach, it works
Tex
veteran
Posts: 89
Joined: Sat Aug 20, 2011 4:51 am
Has thanked: 21 times
Been thanked: 11 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by Tex »

init.lua is actually the first lua file loaded. I've had my log/bootstrap loading there since r182, but haven't shifted my settings system to that point since I still have a few dependencies on later scripts that I need to break.

But thanks for bringing it up, I can at least post the (rough) execution flow for exe vs scripts I've been meaning to for a while.
noting where exe is directly loading a script (as opposed to the loading scripts loading others), and the return to exe execution:

exe > init.lua > exe
exe > start.lua > Tpp.lua > TppDefine.lua >
This is where things are a bit fuzzy, even though execution isn't fully back to the exe because start.lua isn't done, Tpp.lua is done at this point and the exe loads all scripts listed in TppDefine.requires table in order.
I'm guessing (I should actually test to confirm) that Script.LoadLibraryAsync loads all of a requires table on the module it's loaded.
> TppVarInit.StartInitMission > Mission.LoadMission 1/init mission > exe (start.lua done)

exe various mission loady stuff for 1/init mission

Mission.LoadMission just seems to be and indicator from script to exe that a mission should be loaded, the exe only starts loading once the current lua thread is done/execution is returned to exe.

The exe mission load execution is roughly:
exe > TppMission.GetMissionPackagePath > exe
In exe : load ScripBlock lua scripts defined in the fox2 files in the fpk/ds in the missionpackagepath list.
exe > mission_main.OnAllocate (from the mission pack returned by GetMissionPackagePath) > TppMain.OnAllocate > exe
exe > mission_main.OnInit > TppMain.OnInit> exe

init.lua is actually the first lua file loaded. I've had my log/bootstrap loading there since r182, but haven't shifted my settings system to that point since I still have a few dependencies on later scripts that I need to break.

But thanks for bringing it up, I can at least post a (rough) execution flow for exe vs scripts, noting where exe is directly loading a script (as opposed to the loading scripts loading others), and the return to exe execution:

exe > init.lua > exe
exe > start.lua > Tpp.lua > TppDefine.lua >
This is where things are a bit fuzzy, even though execution isn't fully back to the exe because start.lua isn't done, Tpp.lua is done at this point and the exe loads all scripts listed in TppDefine.requires table in order.
I'm guessing (I should actually test to confirm) that Script.LoadLibraryAsync loads all of a requires table on the module it's loaded.
> TppVarInit.StartInitMission > Mission.LoadMission 1/init mission > exe (start.lua done)

exe various mission loady stuff for 1/init mission

Mission.LoadMission seems to be script > exe indicator that a mission should be loaded, the exe only starts loading once the current lua thread is done/execution is returned to exe.

Engine mission load execution is roughly:
exe > TppMission.GetMissionPackagePath > exe
In exe : load ScripBlock lua scripts defined in the fox2 files in the fpk/ds in the missionpackagepath list.
exe > mission_main.OnAllocate (from the mission pack returned by GetMissionPackagePath) > TppMain.OnAllocate > exe
exe > mission_main.OnInit > TppMain.OnInit> exe

Each game frame:
exe > mission_main.OnUpdate > TppMain.OnUpdate > exe

Edit: Might as well dump my log with my various logging turned on from session start to continued to acc even though there's a bunch of IH specific stuff mixed in:
https://mega.nz/#!7B0T1Rob!mvu2ePcBV_ay ... 5n3vuAF70k
Most of this logging is manual, need to run a proper debug trace at some point, but the potential brutality of output on top of not having io write append has held me off.
nasanhak
advanced
Posts: 71
Joined: Sat Nov 28, 2015 6:01 am
Has thanked: 10 times
Been thanked: 4 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by nasanhak »

@Tex

Thanks for the flow log. What you reported is pretty much what I saw too so had nothing to add to it.

I saw some problems with my start on foot LZs for MB and realized that vars.mbLayoutCode is not always 3 and does indeed change with time.

So did some troubleshooting. vars.mbLayoutCode changes with each Command plant built. The overall MB layout depends on the Command cluster layout. The surrounding clusters attach to command and as a result, their position offsets change as more Command plants are built.

When I had first built and then later corrected the MB LZ positions, I thought KJP did some extra legwork. I should have tried it out with an undeveloped base. It's interesting nobody ever reported falling through the floor before.

Anyway - and this is important for you too! - if you develop the Command plat while in the ACC and then head to the R&D plant 0 LZ(this plant has different start locs for every vars.mbLayoutCode), you'll fall through the floor. This is because, you are looking up pos based on (vars.mbLayoutCode+1) but vars.mbLayoutCode has not incremented by the time ReservePlayerLoadingPosition is called. Meaning instead of mbLayoutCode 3, pos is loaded for mbLayoutCode 2.

Flaw in your code and mine now too I guess.

The second time you travel to the same R&D LZ however vars.mbLayoutCode has been updated permanently and the correct pos is selected.

New game save file with M2 completed for testing. Completely offline, previous missions S ranked with all objectives:
https://mega.nz/#!G1YghCJa!TFoSINTreLjw ... EdQEhorE-g
abuali
beginner
Posts: 20
Joined: Sun Dec 12, 2010 5:48 pm

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by abuali »

Anyway to add colors to game subtitles? the .subp files
CantStoptheBipBop
advanced
Posts: 53
Joined: Sat Aug 27, 2016 9:43 am
Has thanked: 7 times
Been thanked: 7 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by CantStoptheBipBop »

abuali wrote:Anyway to add colors to game subtitles? the .subp files
I don't think so. subp files are just the lines, IDs, flag, timing, etc. They don't have color parameters like lng files. The closest thing you can really do is recolor text in the ffnt files.

I keep forgetting to mention this on here but the lng files seem to be what determine the icon that gets displayed with a langId. Which is useful if you're creating a few custom langIds and want a certain icon to appear for button hints or whatever. Rocket Arm's use of it:

Code: Select all

'Once released, the hand is controlled using <I=G=MOVE>, accelerating with <I=G=PAD_R2> and decelerating with <I=G=PAD_L2>.'
<I=G=MOVE> == movement keys / WASD
<I=G=PAD_R2> == contextual action (generator button)
<I=G=PAD_L2> == radio / command menu

Was playing around with devFlow/Const lua files and got the console dlc to remain usable after being developed by changing their p69 values in devFlow to 0. The exceptions being player fatigues. The dev icons will still display but won't pop up a message about needing to be in Sortie Prep to equip them while in the ACC and do not appear as options in the field. Any ideas why that is? Also apparently there are "none" weapon slot options for primaries and secondaries that let you just not equip anything. Having that as a permanent toggle option for those two weapons is pretty convenient.
unknown123
advanced
Posts: 75
Joined: Sat Apr 09, 2016 5:36 pm
Has thanked: 4 times
Been thanked: 13 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by unknown123 »

CantStoptheBipBop wrote:Also apparently there are "none" weapon slot options for primaries and secondaries that let you just not equip anything. Having that as a permanent toggle option for those two weapons is pretty convenient.
More info about it?
Post Reply