Brawlbox Resources & History

Started by BlackJax96, December 14, 2010, 03:39:11 AM

Previous topic - Next topic

0 Members and 4 Guests are viewing this topic.

hey...
how are the pixels for the CMPR format layed out??

I currently have this:

00 01 02 03 10 11 12 13
04 05 06 07 14 15 16 17
08 09 0A 0B 18 19 1A 1B
0C 0D 0E 0F 1C 1D 1E 1F
20 21 22 23 30 31 32 33
24 25 26 27 34 35 36 37
28 29 2A 2B 38 39 3A 3B
2C 2D 2E 2F 3C 3D 3E 3F

for an 8x8 tile...

the image works perfectly, but the pixels are off >_>

[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: Tcll on August 05, 2011, 11:03:05 PM
hey...
how are the pixels for the CMPR format layed out??

I currently have this:

00 01 02 03 10 11 12 13
04 05 06 07 14 15 16 17
08 09 0A 0B 18 19 1A 1B
0C 0D 0E 0F 1C 1D 1E 1F
20 21 22 23 30 31 32 33
24 25 26 27 34 35 36 37
28 29 2A 2B 38 39 3A 3B
2C 2D 2E 2F 3C 3D 3E 3F

for an 8x8 tile...

the image works perfectly, but the pixels are off >_>

I have no idea.

Quote from: BlackJax96 on August 05, 2011, 11:10:51 PMI have no idea.
well crap then  DX

[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.

Added a lot of options to the "Edit All" dialog, and fixed a LOT of bugs it had.



I ported ZSS' entire motionpac to work with Nel's model in under 5 minutes with it. :srs:

Quote from: BlackJax96 on August 06, 2011, 12:21:16 AMAdded a lot of options to the "Edit All" dialog, and fixed a LOT of bugs it had. I ported ZSS' entire motionpac to work with Nel's model in under 5 minutes with it. :srs:
You made me hyped. ;D

August 06, 2011, 12:37:35 AM #2465 Last Edit: August 06, 2011, 12:49:19 AM by Eternal Yoshi
That's excellent but..... can you please work on a functional model resizer after you finish the rebuilder?

Resizing by hex is taking a long time. I started yesterday and I'm not done yet. BTW FW's mdl0 resizer's math is...... not what I would call correct.

In hindsight, TSG's bone tree editor could speed up the first part.

Quote from: Eternal Yoshi on August 06, 2011, 12:37:35 AM
That's excellent but..... can you please work on a functional model resizer after you finish the rebuilder?

Resizing by hex is taking a long time. I started yesterday and I'm not done yet. BTW FW's mdl0 resizer's math is...... not what I would call correct.

In hindsight, TSG's bone tree editor could speed up the first part.

Alright, I probably wouldn't be able to create a model resizer without the model rebuilder anyways, and the model rebuilder already allows you to edit the bone tree and add bones without any problems (at all). So what exactly do I need to do to resize the model (correctly)?

Based on what I've been scanning about what FW's program does, it Multiplies the translations of bones, the FrameMatrix, InverseFrameMatrix, InverseBindMatrix values that aren't 1, -1, or 0, and the vertices' X, Y and Z coordinates.

2 Problems with the resizer,

1. It rounds all decimal up to only 2 places behind it.
2. It has a terrible habit of multiplying the hex of the floating point instead of the floating point with certain values, causing inaccuracies with the rig.

@ TCLL: lol yeah, I knew you were just being "sarcastic" about the teamwork thing. Trust me, you'd notice if I was taking that seriously as you put it :P For one the response rant would've been a LOT longer. lol

@BJ: If it helps the importing along, I would personally love to help with the testing of imported characters in-game. In fact, that's (kind of) why I was asking for a few more DOA 4 characters. (so I could test-import them into both brawlbox and brawl) I want to see this project finished as much as anyone else, and I DEFINATELY want to see how you do the real-time psa editor/previewer. Cause that would seriously help me get into using offsets for timed hitboxes and graphics.

So yeah, any way I can help this along is fine, though, you still shouldn't count on me for the coding and stuff lol I actually tried (and failed) to learn visual C# which is what Game Maker uses. I just don't have the patients/attention span for that stuff >_< Even making Dark Super Sonic's custom animations is proving frustrating. (Don't get me started on the damn spines...) But Testing and beta testing I can definately do, I mean, I honestly don't have a job and I'm going to be taking a SINGLE collage class starting next month. So it's not like I don't have the time XD

Quote from: Eternal Yoshi on August 06, 2011, 01:06:56 AM
Based on what I've been scanning about what FW's program does, it Multiplies the translations of bones, the FrameMatrix, InverseFrameMatrix, InverseBindMatrix values that aren't 1, -1, or 0, and the vertices' X, Y and Z coordinates.

2 Problems with the resizer,

1. It rounds all decimal up to only 2 places behind it.
2. It has a terrible habit of multiplying the hex of the floating point instead of the floating point with certain values, causing inaccuracies with the rig.

Alright, it should be easy enough to add a feature to do that.

Quote from: NaruZeldaMaster on August 06, 2011, 01:30:44 AM@BJ: If it helps the importing along, I would personally love to help with the testing of imported characters in-game. In fact, that's (kind of) why I was asking for a few more DOA 4 characters. (so I could test-import them into both brawlbox and brawl) I want to see this project finished as much as anyone else, and I DEFINATELY want to see how you do the real-time psa editor/previewer. Cause that would seriously help me get into using offsets for timed hitboxes and graphics.

So yeah, any way I can help this along is fine, though, you still shouldn't count on me for the coding and stuff lol I actually tried (and failed) to learn visual C# which is what Game Maker uses. I just don't have the patients/attention span for that stuff >_< Even making Dark Super Sonic's custom animations is proving frustrating. (Don't get me started on the damn spines...) But Testing and beta testing I can definately do, I mean, I honestly don't have a job and I'm going to be taking a SINGLE collage class starting next month. So it's not like I don't have the time XD

I dun need no beta testers :P

Quote from: BlackJax96 on August 06, 2011, 12:21:16 AMAdded a lot of options to the "Edit All" dialog, and fixed a LOT of bugs it had. I ported ZSS' entire motionpac to work with Nel's model in under 5 minutes with it. :srs:
this can also work with the Kid Goku import from Ness or Lucas
to port all they´s Animations to the kid goku import`?

so Kid goku import can use Ness or Lucas´s landing/Hurt/whatever Animations so you dont have to make a whole new Fitmotionetc.pac
I Dont Take Requests & Dont Do Brawl Mods anymore Maybe Sm4sh modz later

well having abilities like this will prove useful.

especially getting everysingle animation to work properly on a character without the model import or even the standard brawl model to stretch and fit to the character your demanding it to fit with.
https://secrelocal.com - Chat With Girls - No Verify - Anonymous Casual Dating -   Secret Live Dating

Quote from: BlackJax96 on August 06, 2011, 02:36:28 AM
Alright, it should be easy enough to add a feature to do that.

I dun need no beta testers :P

>_>
You do know what they say about horses and looking into their mouths don't you >_>
Fine, but don't say I never tried to help...

Also, on the topic of adding features, PLEASE make BB able to preview/export sounds from a BRSAR archive again. .Wave is already supported format for importing, so exporting that format shouldn't be too hard. I know you can say "use smashbox for that" .... but not all of us have a 32 bit computer ya know....

@NZM: :)
_______________

well this is the best I can get the CMPR format to look:

click for larger view.

anyone mind helping me out??
(not just BJ)
*cough* 404 *cough cough*

EDIT:
BTW...
whoever came up with "the CMPR format uses 4 bits per pixel" is a derp.

it actually uses 2 bits per pixel and has only 2 RGB565 colors indexed in a pallet of 4 colors.
(the last 2 colors are generated from the first 2)
the way the colors are stored determines weather or not the last pallet entry is transparent.

0x00(2): pallet entry 0
0x02(2): pallet entry 1
0x04(4): pixel array (4x4)

[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.

August 06, 2011, 12:51:39 PM #2474 Last Edit: August 12, 2011, 11:46:21 PM by RandomTBush
I have no idea how useful this will be to you guys (or how much of it might already be known), but here's what I got from my MDL0 notes.

Quote from: RTB's polygon notesNo guaranteeing that these are 100% accurate (especially not the stuff involving rigging), but I've looked through about 10 different MDL0 files from different games (SSBB, TMNT: Smash-Up, TvC, MKWii, etc.) to gather what the polygon flags are for and logged 'em, with samples underneath:

14 00 04 - Rigging (0), Vertex (1), Normal (1), Color (0), UV (0)

98 002A
27 13
26 13
03 00
00 00
02 01
01 01
05 02
04 02
07 03
06 03
09 04
08 04
0B 05
0A 05
0D 06
0C 06
0F 07
0E 07
11 08
10 08
13 09
12 09
15 0A
14 0A
17 0B
16 0B
19 0C
18 0C
1B 0D
1A 0D
1D 0E
1C 0E
1F 0F
1E 0F
21 10
20 10
23 11
22 11
25 12
24 12
27 13
26 13


14 00 14 - Rigging (0), Vertex (1), Normal (1), Color (0), UV (1)

98 0005
18 11 04
17 0B 03
1D 0A 09
1A 09 06
1B 10 07


14 79 24 - Rigging (5), Vertex (1), Normal (1), Color (0), UV0 (1), UV1 (1)

30 0019 B0 78
30 0004 B0 84

20 0019 B0 00
20 0004 B0 0C

28 0019 84 00
28 0004 84 09

A0 00 04
00 1E 1E 00 00 00 00 00 00
00 1E 1E 00 00 01 01 01 01
03 21 21 03 03 02 02 02 02
03 21 21 03 03 03 03 03 03


16 00 14 - Rigging (0), Vertex (2), Normal (1), Color (0), UV (2)

98 0004
000B 00 0003
0008 00 0000
000A 00 0002
0009 00 0001


1E 00 14 - Rigging (0), Vertex (2), Normal (2), Color (0), UV (2)

98 0004
0007 0002 0003
0001 0002 0000
0006 0002 0002
0000 0002 0001


44 00 11 - Rigging (0), Vertex (1), Normal (0), Color (1), UV (1)

98 0006
06 03 06
09 06 05
0B 08 07
04 00 01
03 00 02
05 00 00


46 00 21 - Rigging (0), Vertex (2), Normal (0), Color (1), UV0 (2), UV1 (2)

98 000D
0009 00 0009 0009
000B 00 000B 000B
000D 00 000D 000D
000E 00 000E 000E
0010 00 0010 0010
0081 00 0081 0081
00E3 00 00E3 00E3
0013 00 0013 0013
0012 00 0012 0012
0014 00 0014 0014
0016 00 0016 0016
00E4 00 00E4 00E4
0017 00 0017 0017


54 00 05 - Rigging (0), Vertex (1), Normal (1), Color (1), UV (0)

98 0014
0A 0A 04
0B 0B 05
09 09 04
0C 0C 06
18 18 0B
19 19 0B
1A 1A 00
1B 1B 00
1F 1F 00
20 20 09
00 00 00
23 23 0C
1C 1C 0C
1D 1D 00
14 14 00
15 15 0A
05 05 02
07 07 03
08 08 04
17 17 04


54 00 15 - Rigging (0), Vertex (1), Normal (1), Color (1), UV (1)

98 0013
02 00 01 02
01 00 00 01
1A 00 01 1A
13 00 00 13
0B 00 09 0B
08 00 06 08
0A 00 08 0A
09 00 07 09
18 00 11 18
06 00 04 06
19 00 12 19
05 00 03 05
1D 00 13 1D
0F 00 0B 0F
17 00 10 17
11 00 0D 11
0D 00 00 0D
10 00 0C 10
1C 00 01 1C


54 01 15 - Rigging (1), Vertex (1), Normal (1), Color (1), UV (1)

20 004F B0 00
20 00A6 B0 0C
20 0000 B0 18
20 00A7 B0 24
20 0010 B0 30
20 0046 B0 3C
20 000F B0 48
20 003F B0 54
20 00A4 B0 60

28 004F 84 00
28 00A6 84 09
28 0000 84 12
28 00A7 84 1B
28 0010 84 24
28 0046 84 2D
28 000F 84 36
28 003F 84 3F
28 00A4 84 48

98 000F
06 2D 42 00 2D
06 13 13 00 13
06 12 12 00 12
06 11 11 00 11
06 2F 31 00 2F
06 15 15 00 15
06 28 29 00 28
06 18 18 00 18
06 27 28 00 27
06 29 2A 00 29
06 2B 2C 00 2B
06 0E 0E 00 0E
06 2C 2D 00 2C
06 05 05 00 05
06 04 04 00 04


54 1D 15 - Rigging (4), Vertex (1), Normal (1), Color (1), UV (1)

30 007A B0 78
30 0079 B0 84
30 0000 B0 90
30 0072 B0 9C
30 007B B0 A8
30 0020 B0 B4
30 0074 B0 C0
30 0024 B0 CC

20 007A B0 00
20 0079 B0 0C
20 0000 B0 18
20 0072 B0 24
20 007B B0 30
20 0020 B0 3C
20 0074 B0 48
20 0024 B0 54

28 007A 84 00
28 0079 84 09
28 0000 84 12
28 0072 84 1B
28 007B 84 24
28 0020 84 2D
28 0074 84 36
28 0024 84 3F

98 0007
0C 2A 2A 2A 41 3B 00 41
0F 2D 2D 2D 46 3F 00 46
06 24 24 24 3F 39 00 3F
09 27 27 27 45 3F 00 45
00 1E 1E 1E 40 3A 00 40
03 21 21 21 42 3C 00 42
06 24 24 24 28 26 00 28


5E 01 15 - Rigging (1), Vertex (2), Normal (2), Color (1), UV (2)

20 00 00 B0 00

28 00 00 84 00

98 00 0A
00 000F 000F 00 000F
00 000E 000E 00 000E
00 000D 000D 00 000D
00 000C 000C 00 000C
00 000B 000B 00 000B
00 000A 000A 00 000A
00 0009 0009 00 0009
00 0008 0008 00 0008
00 0007 0007 00 0007
00 0006 0006 00 0006


5E 1D 15 - Rigging (4), Vertex (2), Normal (2), Color (1), UV (2)

30 008A B0 78
30 008B B0 84
30 00DC B0 90
30 00DB B0 9C
30 00DD B0 A8
30 008C B0 B4
30 00E0 B0 C0
30 00DF B0 CC
30 00E1 B0 D8

20 008A B0 00
20 008B B0 0C
20 00DC B0 18
20 00DB B0 24
20 00DD B0 30
20 008C B0 3C
20 00E0 B0 48
20 00DF B0 54
20 00E1 B0 60

28 008A 84 00
28 008B 84 09
28 00DC 84 12
28 00DB 84 1B
28 00DD 84 24
28 008C 84 2D
28 00E0 84 36
28 00DF 84 3F
28 00E1 84 48

98 0007
18 36 36 36 0108 0105 00 010F
12 30 30 30 0107 0104 00 010E
0C 2A 2A 2A 00F3 00F0 00 00FA
06 24 24 24 00F2 00EF 00 00F9
03 21 21 21 00D9 00D8 00 00E0
00 1E 1E 1E 00D7 00D6 00 00DE
00 1E 1E 1E 00D6 00D5 00 00DD


66 00 11 - Rigging (0), Vertex (2), Normal (0), Color (2), UV (2)

98 0024
011D 007E 011D
0169 0093 0169
0168 00A7 0168
0166 00A5 0166
0307 012E 0307
0308 012F 0308
0309 0126 0309
030B 0131 030B
010D 0006 010D
030A 0130 030A
010B 0054 010B
030C 0132 030C
02D7 0054 02D7
030D 0133 030D
02D8 0054 02D8
02E1 011D 02E1
02DB 0054 02DB
02E0 011C 02E0
00B5 0054 00B5
00B4 0053 00B4
00B1 0050 00B1
00B2 0051 00B2
00B3 0052 00B3
02DF 011B 02DF
0047 0006 0047
0048 002B 0048
0046 002A 0046
00A9 0020 00A9
00A8 0007 00A8
022F 0020 022F
0284 0007 0284
0094 0020 0094
0288 0007 0288
0038 0021 0038
0287 0007 0287
0286 0007 0286



Polygon flags (0x0B / ~0x8B)

-- -- -- -1 = ---- ---- ---- ---- ---- ---- ---- ---1 (Has Vertex Transform)
-- -- -- -2 = ---- ---- ---- ---- ---- ---- ---- --1- (Has ?????)
-- -- -- -4 = ---- ---- ---- ---- ---- ---- ---- -1-- (Has Unknown1 Transform)
-- -- -- -8 = ---- ---- ---- ---- ---- ---- ---- 1--- (Has Unknown1 Transform)

-- -- -- 1- = ---- ---- ---- ---- ---- ---- ---1 ---- (Has Unknown1 Transform)
-- -- -- 2- = ---- ---- ---- ---- ---- ---- --1- ---- (Has Unknown2 Transform)
-- -- -- 4- = ---- ---- ---- ---- ---- ---- -1-- ---- (Has Unknown2 Transform)
-- -- -- 8- = ---- ---- ---- ---- ---- ---- 1--- ---- (Has ?????)

-- -- -1 -- = ---- ---- ---- ---- ---- ---1 ---- ---- (Has ?????)
-- -- -2 -- = ---- ---- ---- ---- ---- --1- ---- ---- (Has 2 Vertex/UVs bytes w/ below)
-- -- -4 -- = ---- ---- ---- ---- ---- -1-- ---- ---- (Has 1 Vertex/UVs byte)
-- -- -8 -- = ---- ---- ---- ---- ---- 1--- ---- ---- (Has 2 Normals bytes w/ below)

-- -- 1- -- = ---- ---- ---- ---- ---1 ---- ---- ---- (Has 1 Normals byte)
-- -- 2- -- = ---- ---- ---- ---- --1- ---- ---- ---- (Has 2 Colours1 bytes w/ below)
-- -- 4- -- = ---- ---- ---- ---- -1-- ---- ---- ---- (Has 1 Colours1 byte)
-- -- 8- -- = ---- ---- ---- ---- 1--- ---- ---- ---- (Has 2 Colours2 bytes w/ below)

-- -1 -- -- = ---- ---- ---- ---1 ---- ---- ---- ---- (Has 1 Colours2 byte)
-- -2 -- -- = ---- ---- ---- --1- ---- ---- ---- ---- (Unknown)
-- -4 -- -- = ---- ---- ---- -1-- ---- ---- ---- ---- (Unknown)
-- -8 -- -- = ---- ---- ---- 1--- ---- ---- ---- ---- (Unknown)

-- 1- -- -- = ---- ---- ---1 ---- ---- ---- ---- ---- (Unknown)
-- 2- -- -- = ---- ---- --1- ---- ---- ---- ---- ---- (Unknown)
-- 4- -- -- = ---- ---- -1-- ---- ---- ---- ---- ---- (Unknown)
-- 8- -- -- = ---- ---- 1--- ---- ---- ---- ---- ---- (Unknown)

-1 -- -- -- = ---- ---1 ---- ---- ---- ---- ---- ---- (Unknown)
-2 -- -- -- = ---- --1- ---- ---- ---- ---- ---- ---- (Unknown)
-4 -- -- -- = ---- -1-- ---- ---- ---- ---- ---- ---- (Unknown)
-8 -- -- -- = ---- 1--- ---- ---- ---- ---- ---- ---- (Unknown)

1- -- -- -- = ---1 ---- ---- ---- ---- ---- ---- ---- (Unknown)
2- -- -- -- = --1- ---- ---- ---- ---- ---- ---- ---- (Unknown)
4- -- -- -- = -1-- ---- ---- ---- ---- ---- ---- ---- (Unknown)
8- -- -- -- = 1--- ---- ---- ---- ---- ---- ---- ---- (Unknown)


"Enabled/disabled" flags (0x17 / ~0x9F)

04 = 0000 0100 (Has NRM, No CLR, No UV)
05 = 0000 0101 (Has NRM, Has CLR, No UV)

11 = 0001 0001 (No NRM, Has CLR, Has UV0)
14 = 0001 0100 (Has NRM, No CLR, Has UV0)
15 = 0001 0101 (Has NRM, Has CLR, Has UV0)

21 = 0010 0001 (No NRM, Has CLR, Has UV0, Has UV1)
24 = 0010 0100 (Has NRM, No CLR, Has UV0, Has UV1)

-1 = ---- ---1 (Has CLR)
-2 = ---- --1- (Has CLR2? Unconfirmed)
-4 = ---- -1-- (Has Normals)
-8 = ---- 1--- (Has Unknown)

1- = ---1 ---- (Has 1 UVs)
2- = --1- ---- (Has 2 UVs)
3- = --11 ---- (Has 3 UVs)
4- = -1-- ---- (Has 4 UVs? Unconfirmed)
5- = -1-1 ---- (Has 5 UVs? Unconfirmed)
6- = -11- ---- (Has 6 UVs? Unconfirmed)
7- = -111 ---- (Has 7 UVs? Unconfirmed)
8- = 1--- ---- (Has 8 UVs? Unconfirmed)]
Least I'm getting back on track with tracking stuff for the MDL0 files. As for parsing a DAE file into raw hex for the MDL0 to read, I'll get to that later. And after collecting all that info, I just realized how Pokémon XD's model format is around 90% the same as the Wii's MDL0 format. Hm...

(EDIT: Changed up the flags a bit.)