Mewtwo2000's tools - cBliss Tool updated [21/04/2014]

Started by Mewtwo2000, July 06, 2011, 04:00:47 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

April 04, 2013, 03:32:57 AM #105 Last Edit: April 04, 2013, 02:10:36 PM by Mewtwo2000
I've updated my Material Tool with some useful features. I've made a video to try to show them. The quality isn't good, at least the texts should help to understand.

It's a little long, so if you want to watch it, do it with time.

[Program] - Material Tool for SSBB and MKWii

Picture:



Here's the vault entry: http://forums.kc-mm.com/Gallery/BrawlView.php?Number=23278

History:

Material Tool was born shortly before the first dae imports were possible. The first minimalistic version had the ability to modify a few values in the materials just like in the old Brawlbox, only that it was possible to make the same edit to every material at the same time. It also was capable to make obj-imports to be affected by lighting, cause they were flat colored and there as no possibility to vertex color.



Time after that, I improved the program, made it capable of editing one more value that I related to the type of material at that time, and made an option to convert the first shader in the model between a stage shader or a character shader. The said value changed from 1 to 3 consequently for the materials, without knowing that it really was the number of stages used in the shader. Didn't know that part, but it certainly worked. I also made it show the current material name and index.



The last update gave the tool the capability to change the value for all the color nodes. At that time some imports came too bright due to having white instead of grey in the colors, and I found this useful. I also made the hidden menu, which allowed me to switch between the different modes of lighting in an easy way. It also allowed me to control the transparency modes and the multiplier value in each shader separately. As it was hidden, I didn't make it user-friendly, cause I did know how to use it, and the few people that knew about the menu were told how it worked by me.



Newer versions of Brawlbox came, and the color option in the tool was obsolete. But the changes possible in the hidden menu were still time-saving, as well as everything that had to be made to all the materials. But I needed something capable of editing a selection of materials, not just all of them. So I started editing the tool I had not touched since then, and made it capable to select in a list what to edit. I updated the names of the editable values according to Brawlbox 0.67b, and included all the values I use to edit when making stages or characters, including the ones that are for each texture. After all this was done, I thought of the possibility of importing a material and apply it to all the selected ones, and did so. And after that, I worked on the idea of importing all the materials found in another model, one after another, into the selected ones. This way, if the source model was an old version of the same model, this means having the same number of materials and in the same position, I could make changes in max more easily. If I import some model, I give it all the material properties one by one, including the texture renaming and stuff, and then I see that I've forgot some edit in 3DSMax, I have to re-import and re-work all the textures one by one. With the new feature in Material Tool, I can forget about that, cause I only need the materials to have the proper number of textures each, and the model to have the proper shaders in it. The program even detects which shader are using the materials in the source model, and if there are enough, the current materials change automatically the used shader to fit the original configuration. And that's what I show in the video.

In the video, I get one of my stages, and simulate a change in max by just exporting it as .dae. In the example, the models only have a few materials, and would not take much to do manually. But there are other models that sure have more materials, and the tool would save time on those. After giving the re-imported models the needed shaders and texture nodes, I just use Material Tool to import the materials from the original model. After doing so, the stage works just like before, only that I've not manually edited or imported any of the materials, but made the program to do it automatically for me.

The hex string in the extra menu are nearly the same as before, that will probably be the part people won't know how to use. The first 2 of them are just the area in Brawlbox with the name 'LightingChannel'. The 'next' button makes the program to load a default value for all that area, loading up to 3. To apply the change, the enter key has to be used in the editable box itself. The values can be manually edited, but you have to know what you're doing. The box in grey shows the current value in the material.

The other 2 show some area including values related to transparency and other stuff. The next button switches between 3 sets again, one of them for no transparency, the next of them for normal transparency, and the last of them for blended transparency.

For the small text box with the C0X8 value, only the 3rd number is important. It changes the ColorScale value in the first stage of the current shader. Not really meant to be used, but it was there in the last version and I left it there.



So this is it, if you use the tool and find it useful, it will be allright. If nobody besides me uses it, it will be fine too, cause I'm going to use it myself and that's already something.
SW FC: SW-5958-4724-5095
Wii FC: 1247-2259-6207
Twitch: http://twitch.tv/mewtwo2000
Visit my stage thread here


Stage light and fog tutorial
Stage shadows tutorial


does that program fix the normals of an object automatical?

...
interesting :/

I can't watch the video though to know exactly what this thing does...

though it looks sophisticated enough to handle materials better than brbx :)
(including exported data)

[spoiler]Quote: Friedslick6
you have been through a lot of hassle. I've watched every topic you posted on this, and most of them seemed to disintegrate gradually.
But the coolest part was that you didn't stop working on it despite that.

Quote: Internet Explorer
you're doing more with your life right now than probably most other people around you. You're a valuable asset to the Smash community. So yeah, you should be proud.

quote: Greg
You do have a gift which I've seen many developers use to their advantage. You can become a great coder, and with all of those ideas I think you can really build something great.

Quote from: DJ Lowgey on April 04, 2013, 06:27:18 PM
does that program fix the normals of an object automatical?

No, not at all. It's for editing materials, it doesn't change the normals in any way.

A program that resetted the normals would not save much time anyway. But this can help restoring the materials when a model has gone through 3dsmax to fix the normals.
SW FC: SW-5958-4724-5095
Wii FC: 1247-2259-6207
Twitch: http://twitch.tv/mewtwo2000
Visit my stage thread here


Stage light and fog tutorial
Stage shadows tutorial


could you create a fast little program that fix the normals by one click?
you teched me the 3ds max way and it works but a little program would be cool :)

Quote from: DJ Lowgey on April 05, 2013, 02:02:27 PM
could you create a fast little program that fix the normals by one click?
you teched me the 3ds max way and it works but a little program would be cool :)
^This.  I am having trouble with normals, especially since there's a lot of them and sometimes I don't know which is which, or if they are bright or not.  It mostly looks the same, but it's not.

is it possible to use this tool to enable transparency?
also, is it possible to use this tool to make spec maps work?

Quote from: joke king on April 08, 2013, 01:52:52 PM
is it possible to use this tool to enable transparency?
also, is it possible to use this tool to make spec maps work?

i always read the word "spec map" but i don´t know what it is.
could you explain me what spec maps are?

April 08, 2013, 09:44:27 PM #115 Last Edit: April 08, 2013, 09:45:26 PM by Mewtwo2000
Quote from: DJ Lowgey on April 08, 2013, 09:12:13 PM
i always read the word "spec map" but i don´t know what it is.
could you explain me what spec maps are?

A spec map would be a special material/texture that defines the shininess of some parts in a model. You can define, for example, that the inside of your ear will never be as shiny as your nose, for example. It's like drawing the shadows in a model, but not as a standard texture. A shadow in a standard texture still gets the same lighting, while the darker parts in a spec map would be affected differently.

Quote from: joke king on April 08, 2013, 01:52:52 PM
is it possible to use this tool to enable transparency?
also, is it possible to use this tool to make spec maps work?

Yeah, you can enable transparency, there's 2 flags for that in the main window, and there's one of the large hex string in the extra window that has to do with that too. All of the values have the same names as in brawlbox 0.67b.

About spec maps, I'm not sure, I don't know the exact values to be changed to enable spec maps in Brawlbox right now. You can switch the MapMode property to EnvSpec like in brawlbox, but if something like the HasTextureMatrix in brawlbox is needed, then it can't be done in Material Tool, cause that's something beyond a simple material edit.

Quote from: DJ Lowgey on April 05, 2013, 02:02:27 PM
could you create a fast little program that fix the normals by one click?
you teched me the 3ds max way and it works but a little program would be cool :)
Quote from: TravixMan on April 05, 2013, 02:11:11 PM
^This.  I am having trouble with normals, especially since there's a lot of them and sometimes I don't know which is which, or if they are bright or not.  It mostly looks the same, but it's not.

No, I can't. That wouldn't be fixing, but resetting (sometimes, fixing isn't the same as resetting, cause further edits are needed after resetting), but I can't do that. I couldn't do it even with single-binded models, and the rigged models are much more complex than those. Only an expert like BJ96 could do that.
SW FC: SW-5958-4724-5095
Wii FC: 1247-2259-6207
Twitch: http://twitch.tv/mewtwo2000
Visit my stage thread here


Stage light and fog tutorial
Stage shadows tutorial

Quote from: Mewtwo2000 on April 08, 2013, 09:44:27 PM
A spec map would be a special material/texture that defines the shininess of some parts in a model. You can define, for example, that the inside of your ear will never be as shiny as your nose, for example. It's like drawing the shadows in a model, but not as a standard texture. A shadow in a standard texture still gets the same lighting, while the darker parts in a spec map would be affected differently.

Yeah, you can enable transparency, there's 2 flags for that in the main window, and there's one of the large hex string in the extra window that has to do with that too. All of the values have the same names as in brawlbox 0.67b.

About spec maps, I'm not sure, I don't know the exact values to be changed to enable spec maps in Brawlbox right now. You can switch the MapMode property to EnvSpec like in brawlbox, but if something like the HasTextureMatrix in brawlbox is needed, then it can't be done in Material Tool, cause that's something beyond a simple material edit.

No, I can't. That wouldn't be fixing, but resetting (sometimes, fixing isn't the same as resetting, cause further edits are needed after resetting), but I can't do that. I couldn't do it even with single-binded models, and the rigged models are much more complex than those. Only an expert like BJ96 could do that.

oh ok thanks for information dude.
now i know what spec maps are and it sounds very interesting.
your explain was realy understandable and for the normals program its ok I can use the super easy 3ds max way you teached me :)

Copying some post of mine from the cBliss thread to not lose it:

I've made my own code with what I've learned from cBliss, and I'm sharing it for those who want the original css to be kept and extended, as well as adapted for ProjectM.

So these 3 would be the codes to use with the original css files:

Characters have 10 Costumes [All Chars +] [Mewtwo2000, ASF1nk]

06AD817c 00000070
13FF13FF 13FF33FF
13FF13FF 13FF13FF
13FF13FF 13FF33FF
33FF13FF 13FF13FF
13FF13FF 13FF13FF
13FF1FFF 13FF13FF
13FF13FF 13FF33FF
13FF13FF 13FF13FF
13FF13FF 13FF13FF
13FF13FF 13FF13FF
13FF13FF 13FF13FF
13FF13FF 13FF13FF
13FF13FF 13FF13FF
13FF13FF 13FF13FF

Custom CSS expansion slots [Mewtwo2000]
07200D34 000003C8
00000906 01030204
08050302 00010507
0B080409 0C000000
07000804 00010103
03020905 0A060507
0B080409 0C000000
03000001 01030905
02060804 03020507
0B080409 0C000000
02000103 00010805
04040302 0A060507
0B080409 0C000000
05000103 00010805
04040302 0A060507
0B080409 0C000000
03000001 01030204
06050506 03020507
0B080409 0C000000
06000204 01030001
03020905 0A060507
0B080409 0C000000
07000804 00010302
01030905 0A060507
0B080409 0C000000
02000001 03020103
05040705 0A060507
0B080409 0C000000
03000A05 00010103
0B040406 03020507
0B080409 0C000000
05000804 00010302
01030605 0A060507
0B080409 0C000000
00000905 02040302
01030806 00010507
0B080409 0C000000
03000804 00010103
09050706 03020507
0B080409 0C000000
06000A05 00010103
03020904 0A060507
0B080409 0C000000
09000001 01030405
03020804 0A060507
0B080409 0C000000
09000001 01030405
03020804 0A060507
0B080409 0C000000
04000001 01030804
03020905 0A060507
0B080409 0C000000
05000001 03020804
09050103 0A060507
0B080409 0C000000
08000001 02040103
03020505 0A060507
0B080409 0C000000
09000A05 01030001
03020804 0A060507
0B080409 0C000000
04000804 01030302
00010705 0A060507
0B080409 0C000000
05000001 02050302
08040103 02060007
01090308 070A090B
0C000000 00000000
04000904 00010302
01030605 0A060507
0B080409 0C000000
09000204 00010302
01030805 0A060507
0B080409 0C000000
02000904 00010805
03020103 0A060507
0B080409 0C000000
02000704 00010103
03020405 0A060507
0B080409 0C000000
00000205 06040406
03020103 00010507
0B080409 0C000000
02000001 03020103
07040705 0A060507
0B080409 0C000000
02000001 03020103
07040705 0A060507
0B080409 0C000000
02000001 03020103
07040705 0A060507
0B080409 0C000000
02000001 03020103
07040705 0A060507
0B080409 0C000000
00000606 03020405
01030704 00010507
0B080409 0C000000
01000001 05040905
03020103 0A060507
0B080409 0C000000
05000205 00010103
03020704 0A060507
0B080409 0C000000
00000906 02050604
01030302 00010507
0B080409 0C000000
06000001 09040103
03020705 0A060507
0B080409 0C000000
03000001 01030404
07050806 03020507
0B080409 0C000000
0B000001 08040302
01030905 0A060507
0B080409 0C000000
05000001 01030904
03020705 0A060507
0B080409 0C000000
01000805 02040302
00010103 0A060507
0B080409 0C000000

All roster use their own expanded slots [Mewtwo2000]
04455460 81200D34
04455470 81200D4C
04455480 81200D64
04455490 81200D7C
044554A0 81200D94
044554B0 81200DAC
044554C0 81200DC4
044554D0 81200DDC
044554E0 81200DF4
044554F0 81200E0C
04455500 81200E24
04455510 81200E3C
04455520 81200E54
04455530 81200E6C
04455540 81200E84
04455550 81200E9C
04455560 81200EB4
04455570 81200ECC
04455580 81200EE4
04455590 81200EFC
044555A0 81200F14
044555B0 80455334
044555C0 81200F4C
044555D0 81200F64
044555E0 81200F7C
044555F0 81200F94
04455600 81200FAC
04455610 81200FC4
04455620 81200FDC
04455630 81200FF4
04455640 8120100C
04455650 81201024
04455660 8120103C
04455670 81201054
04455680 8120106C
04455690 81201084
044556A0 8120109C
044556B0 812010B4
044556C0 812010CC
044556D0 812010E4


This is all very easy. I've made 2 gct files that are just these codes, only that the second one makes default marth to be used in blue team, default squirtle to be used in blue team, and default charizard to be used in red team. It's just to keep the same thing projectm 2.5b offers.

GCT - Original CSS
GCT - ProjectM

The usage is simple, get my GCT Fusionizer tool, rename the file you download from these 2 to 'code.gct', place your current gct (the RSBE01.gct you're using currently, the one without cBliss in it) in the same folder as 'code.gct' and the fusionizer tool, and execute the tool. Just fusionize, and the codes in the downloaded gct will be inserted into your old one.

If you're using ProjectM, you'll need a small fix to make Char/Squirt/Ivy to be expanded. Just find and replace these values in a hex editor, or in the txt if you generate it with the gctedit tool:

804553ac -> 81200fdc
804553b8 -> 81200ff4
804553c4 -> 8120100c

You'll need a different set of icons/css portraits/etc to the ones provided in cBliss. The idea is just adding new images to the original files, so the unused mario01 would use the icon after the last one in the original game, mario07 would come next, and so until we reach mario09. Same to all the characters.

The best way to assure there will be no freezes when using these codes is forcing the iso to have all the extra files related to expanded characters. That can be automatically done with WIT and some batch file I made to go with it. More info can be found here.

Also, here's a common5.pac file prepared to go with ProjectM 2.5b and my code, so the portraits are the originals in ProjectM plus the new ones. If the original cBliss was used, it would work too, but the character costumes would not match.

Common5.pac
SW FC: SW-5958-4724-5095
Wii FC: 1247-2259-6207
Twitch: http://twitch.tv/mewtwo2000
Visit my stage thread here


Stage light and fog tutorial
Stage shadows tutorial

Am I to assume that we must also re-organized the BP's and RSP (Result Screen Portraits) to fit this new ordering as well?

Never-mind. I've got things in working order now.
I'm no longer around. If you really need to get my attention, send a PM

I'm still using the cBliss changed order, but I ought to update my costume manager tool to allow yours as well. Good work!