Users browsing this thread: 76 Guest(s)
Random Talking Bush's Model Importers and QuickBMS Scripts
#91
(05-16-2017, 12:09 PM)John.Smith Wrote: Hi. I'm not sure if I understood correctly.
You make 3ds max script for import  3d models from nier automata, right ?
Are you working on importing animations also, or is it dreams ?
It would be great to have this.

he doesn't know anything about animations, so he just do models instead.
Reply
Thanked by:
#92
(05-16-2017, 05:29 AM)Sylk Wrote: Radiobuttons are not clickable because the length of the labels covers them.

This code fix it and relooks ui a bit:
Code:
rollout BFRESImporter "Wii U BFRES model importer" width:390 height:230
(
local r1=85,r2=10
label lblDisclaimer "This script was written by ItsEasyActually and Random Talking Bush, with some assistance from both Ploaj and Sylk. If you use it, consider giving us all thanks for this. If something doesn't work right, please contact RTB on The VG Resource (Random Talking Bush), Twitter, Tumblr or Steam (RandomTBush) so that any problems can be fixed." \
pos:[8,8] width:375 height:75

button btnLoad "Load BFRES" pos:[8,85] width:90 height:20
button btnImport "Import BFMDL" pos:[108,85] width:90 height:20
dropdownlist lstFMDL pos:[208,85] width:175 height:20 items:#()

label lblOptions "Options:" pos:[8,115] width:375 height:15
radiobuttons tglTexFormat "Texture format:" labels:#("DDS","PNG") height:10 columns:2 offsets:#([r1,-16],[r2,-16]) align:#left
radiobuttons tglUVLayers "UV layering:" labels:#("Split","Merge","No") height:10 columns:3 offsets:#([r1,-16],[r2,-16],[-r1+r2*2.5,-16]) align:#left
radiobuttons tglRigModel "Import rigging:" labels:#("Yes","No") height:10 columns:2 offsets:#([r1,-16],[r2+4,-16]) align:#left
radiobuttons tglLODs "Import LODs:" labels:#("No","Yes") height:10 columns:2 offsets:#([r1,-16],[r2+7,-16]) align:#left

checkbox tglDebug "Print debug information to Listener" pos:[8,BFRESImporter.height-20] width:200
label lblUpdate "(Updated 05/16/2017)" pos:[BFRESImporter.width-115,BFRESImporter.height-19] width:110
Unfortunately, it doesn't seem like that works correctly in 3DS Max 2010 (which is what I'm using). It appears as it should in 2013 and onward, though. Probably because the "offsets" option doesn't exist in 2010.
[Image: HDlxvMK.png][Image: lwI0F0g.png]

I'll try setting up something different for that.

(EDIT: Will this work? At least it's consistent between versions now. I'm also re-integrating the ability to import more than one BFMDL at once, as I've been asked to do a few months back.)
[Image: R3OZ3xS.png][Image: Ztt0T8N.png]
Reply
Thanked by: Sylk
#93
(05-17-2017, 06:15 PM)Random Talking Bush Wrote: Unfortunately, it doesn't seem like that works correctly in 3DS Max 2010 (which is what I'm using). It appears as it should in 2013 and onward, though. Probably because the "offsets" option doesn't exist in 2010.

I'll try setting up something different for that.

(EDIT: Will this work? At least it's consistent between versions now. I'm also re-integrating the ability to import more than one BFMDL at once, as I've been asked to do a few months back.)

Nice. Works on 2017.
However, In the version with the new texture path option I sent you by pm I adapted the interface according to this. I hope it appears correctly in the 2010.

   
Reply
Thanked by:
#94
(05-20-2017, 12:43 PM)Sylk Wrote:
(05-17-2017, 06:15 PM)Random Talking Bush Wrote: Unfortunately, it doesn't seem like that works correctly in 3DS Max 2010 (which is what I'm using). It appears as it should in 2013 and onward, though. Probably because the "offsets" option doesn't exist in 2010.

I'll try setting up something different for that.

(EDIT: Will this work? At least it's consistent between versions now. I'm also re-integrating the ability to import more than one BFMDL at once, as I've been asked to do a few months back.)

Nice. Works on 2017.
However, In the version with the new texture path option I sent you by pm I adapted the interface according to this. I hope it appears correctly in the 2010.

this is wiiu marios tennis text files, is there any bms script to extractor and repacked ?

thank you ,


Attached Files
.zip   msg.zip (Size: 148.74 KB / Downloads: 183)
Reply
Thanked by:
#95
Awesome,great help
Reply
Thanked by:
#96
Is there an alternative to fbx for bfres importer/exporter
as in the case of mk8 modding
you need
3ds max>fbx>noesis>fbx>3ds max>game

if you have more than one object in 3ds max, the normals break when noesis exports fbx
noesis does not know how to export custom 3ds max normals properlly


also what exactly does the new script update do?
everyone is using beta2...

thanks in advance

           

first pics is 3ds max render before export to noesis
second pic is noesis
third pic is fbx exported from noesis back into 3ds max
Reply
Thanked by:
#97
Is there a way to package Mario Party 10 / Wii Party U's .bin file?

I searched for a long time and did not find a tool

I am trying to translate the two games into Chinese, the current text is completed

Sent a modified picture with the font re-packet

Can you help create a script for import?

th
Reply
Thanked by:
#98
Meant to post this a while back, but I got sidetracked by a variety of things. Here's a "halfway" update for the BFRES script, to v5.5:

Code:
Sylk helped out with revising the UI, and another bunch of optimizations to the script were made
Added proper material importing, now bump/specular/emissive/etc. maps are applied to the right channels.
Added vertex types 0 (1-byte unsigned integer) and 2051 (1 half-float), fixing various TMS #FE and Paper Mario models.
Added scaling modifier to bones, which should fix certain models having misaligned parts (e.g. Balloon Yoshi from NSMBU).
Re-implemented the ability to import more than one BFMDL at once.
Fixed UV mapping for models with type 519 yet again, *NOW* it should be correct (NSMBU's Bowser's pupils were broken previously).
Fixed Wind Waker HD models from being accidentally broken *again*.
Changed the default UV importing option to "Merge".

https://mega.nz/#!atZ20IiZ!Ck4PX__CExrZc...7iFGeFFVo0
Reply
Thanked by: Pingus!, Sylk
#99
[Image: DEE1jGvVwAAFNwP.jpg]

I wonder what I'm working on now...? Tongue
Reply
I still can't grasp that they barely changed the formats from the Wii U except for the textures. That's like, they never did that before. Surprise
I'm an opera-crossover singer undergoing classical voice training and I'm also making Super Smash Bros. Feud.

Discord: kold_virus
Reply
Thanked by:
Actually, the bfres data did get changed. instead of like... half float/flaots data structure, it's now long data, also has a relocation table for offsets, so this type of bfres is easier to read.
Reply
Thanked by:
(07-07-2017, 07:27 AM)Demonslayerx8 Wrote: Actually, the bfres data did get changed. instead of like... half float/flaots data structure, it's now long data, also has a relocation table for offsets, so this type of bfres is easier to read.
Yeah, but considering that the script is about 75% unchanged, it's still pretty close.
Reply
Thanked by:
well yeah, that part is true lol
Reply
Thanked by:
(09-26-2016, 11:05 AM)Random Talking Bush Wrote:
(09-26-2016, 09:44 AM)Carpaccio Wrote: Well guess that's a dead end for me. I have no idea how to do memory dumps, so until we can extract them properly, end of my project concerning this game. Really wanted to get SCR-HD, and Master Core ABIS.
I'll take another look at the formats sometime early next month. Hopefully I'll come up with something that can be used, and not stumble on unknown compressions or anything like that.

Anyway, I've added an .LZ decompression script for Paper Mario: Color Splash now. I've got dibs on ripping the sprites, though, but you won't see 'em up on the site until after October 7th.

NES Remix - VEW ARC Extractor dont work on nes remix arc files。

cant extract any files from *。arc

pls,fix it bug。


Attached Files
.gz   Loading.arc.gz (Size: 58.52 KB / Downloads: 194)
.gz   RecordRollHeri1.arc.gz (Size: 638.81 KB / Downloads: 224)
Reply
Thanked by:
Hi RTB and everyone.

Here is material building function improvements.

- better maps assignment with proper composites
- added managment for Shadow map, Ambient Occlusion Map, Damage Map, Emissive Mask Map
- it doesn't recreate an existing common material
- i discovered what the unknown "TexAttSelUnk2" value seems to be: it defines the material finishing, such Matte or Glossy/standard (I simulate Matte with common map for Diffuse channel and Specular Color channel).


Code:
    fn buildMat matName: tSelOff: RtnTexAS: tCount: tFormat: tPath: = (
        local PolyMat
        for sm in sceneMaterials where sm.name == matName do PolyMat = sm

        if PolyMat == undefined do(
            PolyMat = standardMaterial name:(matName as string) showInViewport:true twoSided:false
            fseek f tSelOff#seek_set
            printDebug(PolyMat.name + " uses the following textures:")

            local isMatteMat=false, damaged
            fn addLayer layer mode ch=(
                ch.mapList[ch.mapList.count+1]=layer
                ch.blendMode[ch.mapList.count]=mode
                ch
            )

            for t = 1 to tCount do(
                TexSelNameOffset = ReadOffset f
                FTEXPos = ReadOffset f
                RtnTexSel = ftell f

                fseek f TexSelNameOffset#seek_set
                TexSelName = readstring f

                fseek f RtnTexAS#seek_set
                TexAttSelUnk1 = readlong f #unsigned
                TexAttSelUnk2 = readlong f #unsigned
                TexAttSelUnk3 = readlong f #unsigned
                TexAttSelUnk4 = readlong f #unsigned
                TexAttSelNameOff = readOffset f
                TexAttSelNum = readlong f #unsigned
                RtnTexAS = ftell f
                fseek f TexAttSelNameOff#seek_set
                TexAttSelName = readstring f
                fseek f RtnTexSel#seek_set

                if tglDebug.state do(
                    Finishing=case TexAttSelUnk2 of(
                        3328: "Glossy"
                        3580: "Matte"
                        default: TexAttSelUnk2
                    )
                    format"#%: %, %, Unk1= 0x%, Finishing=%, Unk3=0x%, Unk4=%\n" TexAttSelNum TexSelName TexAttSelName (bit.intAsHex TexAttSelUnk1) Finishing (bit.intAsHex TexAttSelUnk3) TexAttSelUnk4
                )

                local tm=stringstream""
                format"%%%" tPath TexSelName tFormat to:tm
                tm = bitmapTexture fileName:(tm as string)

                case TexAttSelName of (
                    -- _a = Albedo Map
                    -- _ao = Ambient Occlusion Map
                    -- _b = Bake Map
                    -- _cc = "2CL" Map
                    -- _e = Emissive Map
                    -- _em = Emissive Mask Map
                    -- _g = Secondary Bake Map?
                    -- _l = Light Map
                    -- _n = Normal Map / (Bump Map?)
                    -- _p = Paper Map
                    -- _r = Reflection Map
                    -- _rn = Roughness Map
                    -- _rt = Phong Warp Map?
                    -- _s = Specular Map
                    -- _sd = Shadow Map
                    -- _t = "TRM" Map
                    -- _tc = Team Color Map
                    -- _x = Reflection Map
                    -- sampler = temporary map copy? (eg. occurs with "npc_zelda_miko_body_damage_alb" map)
                    
                    -- TexAttSelUnk2 --
                    -- d00 / 3328 = Standard/Glossy ?
                    -- dfc / 3580 = Matte ? (specular color = diffuse)

                    default:(printDebug(TexAttSelName + " not applied!"))
                    "sampler0":()
                    "_a0":(        -- Diffuse Map --
                        tm.alphaSource = 2
                        tm.monoOutput = 1
                        PolyMat.diffuseMap = PolyMat.opacityMap = tm
                        isMatteMat = (TexAttSelUnk2==3580)
                    )
                    "_a1":(        -- Damage Map --
                        ch = PolyMat.diffuseMap
                        if classOf ch == bitmapTexture do ch = compositeTextureMap mapList:#(ch)
                        PolyMat.diffuseMap = addLayer tm 5 ch
                        damaged = tm
                    )
                    "_ao0":(        -- Ambient Occlusion Map --
                        tm = Color_Correction Map:tm rewireMode:1 rewireR:0 saturation:-100
                        ch = PolyMat.diffuseMap
                        if classOf ch == bitmapTexture do ch = compositeTextureMap mapList:#(ch)
                        PolyMat.diffuseMap = addLayer tm 5 ch
                    )
                    "_sd0":(        --Shadow Map --
                        ch = PolyMat.diffuseMap
                        if classOf ch == bitmapTexture do ch = compositeTextureMap mapList:#(ch)
                        PolyMat.diffuseMap = addLayer tm 5 ch
                    )
                    "_e0":(        -- Emissive Map --
                        PolyMat.useSelfIllumColor = on
                        tm = compositeTextureMap mapList:#(ColorMap solidcolor:white, tm) blendMode:#(0,5) -- TODO: find how to get light color data
                        if damaged != undefined do tm = addLayer damaged 5 tm
                        PolyMat.selfillumMap = tm
                    )
                    "_em0":(        -- Emissive Mask Map --
                        PolyMat.selfillumMap = addLayer tm 5 PolyMat.selfillumMap
                    )
                    "_n0":(
                        PolyMat.bumpMap = Normal_Bump normal_map:tm
                    )
                    "_s0":(        -- Specular Map --
                        PolyMat.specularLevelMap = tm
                    )
                    "_r0":(
                        tm.alphaSource = 0
                        PolyMat.glossinessMap = tm
                    )
                    "_rn0":(PolyMat.glossinessMap = tm)
                    "_x0":(
                        tm.alphaSource = 0
                        PolyMat.reflectionMap = tm
                    )
                    "_b0":(printDebug(TexAttSelName + " (Bake Map) not applied!"))
                    "_g0":(printDebug(TexAttSelName + " (Alt. Bake? Map) not applied!"))
                    "_l0":(printDebug(TexAttSelName + " (Light Map) not applied!"))
                    "_p0":(printDebug(TexAttSelName + " (Paper Map) not applied!"))
                    "_rt0":(printDebug(TexAttSelName + " (Phong Warp? Map) not applied!"))
                    "_t0":(printDebug(TexAttSelName + " (TRM? Map) not applied!"))
                    "_tc0":(printDebug(TexAttSelName + " (Team Color Map) not applied!"))
                )
            )
            if isMatteMat do PolyMat.specularMap = PolyMat.diffuseMap
        )
        PolyMat
    )


Enjoy
Reply
Thanked by: Random Talking Bush


Forum Jump: