TheShyGuy's EXE stuff - NEW -> Bone Tree Editor V1.1 Released

Started by TheShyGuy, December 26, 2010, 08:39:43 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Programs:

Bone Tree Editor beta
Bone Tree Editor V1.1

External Graphics Editor v1

*ABLE TO EDIT/TAKE EXT GFX FROM ANY EFLS->MISCDATA[1].  
From
stages
Sorry but you are not allowed to view spoiler contents.

To
assist Trophies



Summary:


Bone Tree Editor:
                                 - Allows you to move bones anywhere on the bone tree by drag and dropping within a tree view. Can also edit attributes in textboxes to the right(flags,nodeIds,etc)

External Graphics Editor v1:
                              - allows you to replace sub ext gfxs by drag and dropping from one tree view to another.  Able to edit Final smashes, characters, and stages ext gfx, ANY EFL-> MISC[1] EXT FILE



Tutorial

Bone Tree Editor V1
Sorry but you are not allowed to view spoiler contents.


Bone Tree Editor V1.1 Tut-
Sorry but you are not allowed to view spoiler contents.


External Graphics Editor V1:

Sorry but you are not allowed to view spoiler contents.

December 26, 2010, 09:39:30 PM #1 Last Edit: December 26, 2010, 10:09:41 PM by theshyguy
reserved

well your editor just won't load Pika's final :P

I take it your editor loads pac files that contain tex0 files correct??

if I'm right then I can tell you how to edit Pika's :)

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

December 26, 2010, 10:28:25 PM #3 Last Edit: December 26, 2010, 10:33:10 PM by theshyguy
lol your supposed to export the miscdata 1 then load that into my program =p

edit: i tried and it loads his ext gfx fine

December 26, 2010, 11:15:25 PM #4 Last Edit: October 06, 2022, 05:43:27 PM by DarkPikachu
Quote from: theshyguy on December 26, 2010, 10:28:25 PM
lol your supposed to export the miscdata 1 then load that into my program =p

edit: i tried and it loads his ext gfx fine

oh so you've also figured out the REFT format :o

AND YOU FIGURED OUT THE REFF FORMAT! O.O
I've been trying to figure that out for like the longest time

how did you do it??
how does it work??

btw, what do I do when I get the file imported?? :P

EDIT:
here's my REFT notes:
REFT notes:

main header:
0x00(4): REFT
0x04(2): ??
0x06(2): ?? ('0007')
0x08(4): filesize
0x0C(2): ?? ('0010')
0x0E(2): internal file count

internal file header(0x10)
0x00(4): REFT
0x04(4): filesize - 8
0x08(4): header length - 8 (from 0x18)
0x0C(4): '00 00 00 00'

header P2:--
0x20(4): '00 00 00 00'
0x24(2): string length [ '000B' = 11 ]
0x26(2): ?? ('0000')
0x28(?): string [ len('46696E50696B6163687500') = 11 ]
0x##(?): -pad until header length- (following string)
--

string table:
0x00(4): block size
0x04(2): # of strings
0x00(4): string length

-after string-
0x00(4): data offset - (header length + 24)
0x00(4): data offset length


I'd really like to know the REFF plz 8|

EDIT2:
here's what I did through hexing:

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

December 26, 2010, 11:20:12 PM #5 Last Edit: December 26, 2010, 11:48:34 PM by theshyguy
 I'm trying to figure out how to add gfx now.  After u load n edit just save and replace the misc within the final PAC. If ur mean after loading then load another file n choose it from the drop down box. Then dnd from right to left

edit : oh lol 1 sec
heres what i got/needed to know for the program

0x0(4) -REFF
0x6(2) -? 7?
0x8(4) - file size
0x12(2) - ?
0x14(2) - ?
0x16(4) - REFF
0x20(4) - file size - 24
0x24(4) - part1 size offset + 24(from beginning)
0x36(2) - Char name length
--part1 size offset-- + 24 = p
0xP(4) part1 size
0x^+2 = total gfx count

string
0x2 - string length
0x+length - string
-after string-(4) - gfx offset + P
^(4) - gfx size




December 26, 2010, 11:28:50 PM #6 Last Edit: December 26, 2010, 11:30:14 PM by Tcll
from what I know, the REFF is basically models...

but I see you've figured out the seperate ACT's with it...

please tell me how o.o

the texture data to replace in the REFT is basically the TEX0 data section...
I have a working template on the REFT data for HexEdit if you want it :)

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

December 26, 2010, 11:37:39 PM #7 Last Edit: December 26, 2010, 11:46:36 PM by theshyguy
read my edit ^ thats all i needed to know in order to make the exe. I just deleted the original gfx data and replaced it with the new gfx data. Then i fixed the file size, file size-24, part1 size, and the part 1 gfx offsets(+P) and sizes

edit: yeh id like the template, i wnna figure out how to add gfx lol. i added a whole"ptc" gfx along with its subgfx alreadt, but the char had to be in game for it to work >.>

ah... so you really don't have too much further than my notes on it :/

main header:
0x00(4): REFF
0x04(2): ??
0x06(2): ?? ('0007')
0x08(4): filesize
0x0C(2): ?? ('0010')
0x0E(2): internal file count

internal file header:
0x00(4): REFF
0x04(4): filesize - 8 (of internal file)
0x08(4): header length
0x0C(4): '00 00 00 00'

header P2:
0x20(4): '00 00 00 00'
0x24(2): string length
0x26(2): ?? '0000'
0x28(?): string
0x##(?): -pad until header length-

string table:
0x00(4): block size
0x04(2): # of strings
0x06(2): '0000'
0x08(2): string length

-after string-
0x00(4): data offset - (header length + 24)
0x00(4): data offset length


as for the template, you already know what to do right??

<?xml version="1.0"?>
<!DOCTYPE binary_file_format SYSTEM "BinaryFileFormat.dtd">
<binary_file_format name="REFT" type_name="" comment="" expr="" default_byte_order="big" default_read_only="false" default_char_set="ansi">
<define_struct type_name="data" comment="" expr="">
<data type="int" name="string_len" format="unsigned" len="2" display=""/>
<data type="string" name="image_name" format="ascii" len="string_len" display=""/>
<data type="int" name="image_offset" format="unsigned" len="4" display=""/>
<data type="int" name="image_len" format="unsigned" len="4" display=""/>
<jump offset="image_offset + header.header_len + 24" comment="" origin="start">
<struct name="image_data" type_name="" comment="" expr="">
<data type="string" name="data" format="default" len="image_len" display="data"/>
</struct>
</jump>
</define_struct>
<struct name="header" type_name="" comment="" expr="({this.num_files} files)">
<data type="string" name="magic" format="ascii" len="4" display=""/>
<data type="int" name="unk1" format="unsigned" len="2" display="hex"/>
<data type="int" name="unk2" format="unsigned" len="2" display="" comment="I think this may be an index...
(pikachu's index number is 7)"/>
<data type="int" name="filesize" format="unsigned" len="4" display=""/>
<data type="int" name="unk3" format="unsigned" len="2" display=""/>
<data type="int" name="num_files" format="unsigned" len="2" display=""/>
</struct>
<for name="file" count="header.num_files || header.num_files - 1" stop_test="header.num_files == 0" type_name="" comment="">
<struct name="file" type_name="" comment="" expr="{this.header.filename}">
<struct name="header" type_name="" comment="" expr="">
<data type="string" name="magic" format="ascii" len="4" display=""/>
<data type="int" name="filesize" format="unsigned" len="4" display=""/>
<data type="int" name="header_len" format="unsigned" len="4" display=""/>
<data type="int" name="pad1" format="unsigned" len="8" display="hex"/>
<data type="int" name="string_len" format="unsigned" len="2" display="hex"/>
<data type="int" name="pad2" format="unsigned" len="2" display="hex"/>
<data type="string" name="filename" format="ascii" len="string_len" display=""/>
<data type="string" name="pad3" len="header_len - (string_len + pad1 + 16)" format="default" display=""/>
</struct>
<struct name="data_table" type_name="" comment="" expr="({this.img_cnt} images)">
<data type="int" name="table_len" format="unsigned" len="4" display=""/>
<data type="int" name="img_cnt" format="unsigned" len="2" display=""/>
<data type="int" name="pad" format="unsigned" len="2" display="hex"/>
<for name="image" count="img_cnt || img_cnt - 1" stop_test="img_cnt == 0" type_name="" comment="">
<use_struct name="image" expr="{this.image_name}" type_name="data" comment=""/>
</for>
</struct>
</struct>
</for>
<data type="none" name="bug_fix" comment="this just stops the error you get without this...
it does nothing to, or for the file."/>
</binary_file_format>

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

December 27, 2010, 12:26:07 AM #9 Last Edit: December 27, 2010, 12:42:49 AM by theshyguy
what should name this as lol, REFT?
edit:

got it... lmoa your just as far into it as i am...

Quote from: theshyguy on December 27, 2010, 12:26:07 AM
what should name this as lol, REFT?
edit:

got it... lmoa your just as far into it as i am...

so you havn't deciphered the model data either -.-

but how did you get the tree to display the correct data?? (string)

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

December 27, 2010, 02:59:08 AM #11 Last Edit: December 27, 2010, 03:00:23 AM by theshyguy
i just noticed the sfx file is in the exact same format so i think this can also edit/replace them too. (you can open the sfx(miscdata[2]) in my exe and view the sound names...which means my exe would work just the same, as if it was a gfx

-Easy while loading the file, i just kept track of all the names.  Since theyre in order, if the gfx contains ptc, then its the main/parent of the next few until another ptc appears

Quote from: theshyguy on December 27, 2010, 02:59:08 AM
i just noticed the sfx file is in the exact same format so i think this can also edit/replace them too. (you can open the sfx(miscdata[2]) in my exe and view the sound names...which means my exe would work just the same, as if it was a gfx

-Easy while loading the file, i just kept track of all the names.  Since theyre in order, if the gfx contains ptc, then its the main/parent of the next few until another ptc appears

say wut now??

miscdata[2] in Pika's is the REFT file... (textures)

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

December 27, 2010, 03:16:09 AM #13 Last Edit: December 27, 2010, 03:21:54 AM by theshyguy
im talking about the psa(logic)pac lol under efls

-edit - if thats the same pac and file your talking about then misc data 2 is the sfx file lol
edit- if you gimmie some tips for deciphering the model, itd be nice and i will help alot....it would be awesome to view the gfx( and there animations) in our own 'brawl box'

Quote from: theshyguy on December 27, 2010, 03:16:09 AM
im talking about the psa(logic)pac lol under efls

-edit - if thats the same pac and file your talking about then misc data 2 is the sfx file lol
edit- if you gimmie some tips for deciphering the model, itd be nice and i will help alot....it would be awesome to view the gfx( and there animations) in our own 'brawl box'

lol no :P
I was talking about the FS...

one thing cool that's got me is:
Pika's Volt Tackle is entirely random (besides the animation)

it creates and destroys instances in the data

I guess that would be when you press 'A'
but it manipulates the data, and that I think is neat :D


and that would be nice to have :o
I'm afraid I don't have anything right now,
but I'll let you know when I do ;)

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