|
 |
« Reply #45 on: January 03, 2011, 04:10:48 PM » |
|
so it shows the gfx already?... can u pm me the exe? wnna go thru the gfx and view em....wow im bored lol
|
|
|
Logged
|
|
|
|
|
|
 |
« Reply #46 on: January 03, 2011, 04:23:43 PM » |
|
so it shows the gfx already?... can u pm me the exe? wnna go thru the gfx and view em....wow im bored lol
lol... it's gonna display the GFX through the tree... you D-click the images and they're supposed to resize the canvas (not there yet) I still have to get the formats down 
|
|
|
Logged
|
|
|
|
|
|
 |
« Reply #47 on: January 03, 2011, 04:30:11 PM » |
|
>.>
well when u get it to view the image...i WANT lol..i really wnna see some gfx without having to go ingame....
|
|
|
Logged
|
|
|
|
|
|
 |
« Reply #48 on: January 03, 2011, 04:52:55 PM » |
|
>.>
well when u get it to view the image...i WANT lol..i really wnna see some gfx without having to go ingame....
lol just as I was planning  you're an inside man... man...  you get first looks at everything I do  (including BJ96 (another inside man)) EDIT: hey, have you found any REFT files with more than 1 internal file?? and I also expect something other than an internal REFT... gonna put a debug check in 
|
|
« Last Edit: January 03, 2011, 04:56:36 PM by Tcll »
|
Logged
|
|
|
|
|
|
 |
« Reply #49 on: January 04, 2011, 02:28:17 PM » |
|
well, it doesn't view the images yet... but I'm getting there... I've gotten the tree to work.  here's a progress shot:  I still have to add the format functions yet... but to get this, I pretty much had to split the file from the program... (not an easy thing to do) so I've thought of a way to access the outside data from the table... here's the function: def OnDoubleClick(self): if not self.node.hasChildNodes( ): #makes sure it only displays an image (not an internal/external file) read_img(str(self.node).split(' ')[2]) lol, the 'if not' was something I'd seen before... just now tried it and it worked! XD EDIT: note: the read_img(name) function I'm adding reads the image headers at their offsets, and walks over to the format functions which reads the data
|
|
« Last Edit: October 06, 2022, 12:11:56 PM by DarkPikachu »
|
Logged
|
|
|
|
|
|
 |
« Reply #50 on: January 04, 2011, 02:36:41 PM » |
|
i dun think ive found any with multiple files, srry...
buuuut you can make some quick code that finds the number of files quickly.
Ex.you can put a bunch of files in a folder then load all of em into variables or something. Then using the above code to read the section of bytes that tell the total internal files. The only long part would be exporting the misc data...unless u just find the main reloc. offsets within the pac...then it would be veeery easy
EDIT: Im just about done with the bone tree editor, just need it to show and edit the matrices right, but i just got home so i might do it later.
edit: i only looked at 2 (logic) pacs and well here:
0x60(4) ->first file size ----logic (after ^) unsure lol, but if you can, put if readbytes = ARC ^0x(41) -> file size = F2----efls 0x^(32)->0x^(F2) -> includes capt.falcons RE3D file then again if readbytes = REFF..----misc data 1 and then u should know the rest...
^lol
-> for some reason cpt falcon has RE3D file...eh random
|
|
« Last Edit: January 04, 2011, 03:11:54 PM by theshyguy »
|
Logged
|
|
|
|
|
|
 |
« Reply #51 on: January 04, 2011, 03:10:53 PM » |
|
i dun think ive found any with multiple files, srry...
buuuut you can make some quick code that finds the number of files quickly. lol I've already got it set for the worst  (if it's an REFT with multiple files that has an internal file without REFT) ^I think that's as bad as it could possibly get  and nice to hear of your progress  I can't wait until you finish it :3 btw... have you figured out how to find the 4th level of the matrix yet?? and also... my program will have an installer with it... (it has images and icons it accesses from 'Program Files' in it's directory) ^didn't seem to want to work a better way... however, I may be able to use 'C:/.../.../data/icons/icon_name' or 'C://' I havn't tried everything yet... ah well... it's only v0.1a... it's ment to be the worst, but do it's job I'ma have to do some registry edits as well... (file association) don't worry... XD I won't add a 30day trial thing on it  I'm 100% free 
|
|
|
Logged
|
|
|
|
|
|
 |
« Reply #52 on: January 04, 2011, 03:13:44 PM » |
|
havent figured out the fourth yet lol..i dun get it cuz i changed EVERYTHING to 0 and it was still 1 >.>
edit: look at the edit^
|
|
|
Logged
|
|
|
|
|
|
|
|
 |
« Reply #55 on: January 04, 2011, 10:25:37 PM » |
|
If you guys can make the gfx viewable.. That would be beyond awesome... Just a question... Why do some graphics come out how they should while others appear like a blurry box? Is it because of the format? Well are all graphics a different format?
|
|
|
Logged
|
FC:4898-8419-2778
|
|
|
|
|
 |
« Reply #56 on: January 05, 2011, 03:21:01 PM » |
|
@tcll...Niiice
^? what are you talking about?
|
|
|
Logged
|
|
|
|
|
|
 |
« Reply #57 on: January 05, 2011, 04:11:17 PM » |
|
Nvm I figured it out myself 
|
|
|
Logged
|
FC:4898-8419-2778
|
|
|
|
|
 |
« Reply #58 on: January 06, 2011, 01:38:25 PM » |
|
I8 FORMAT SUCCESS!!! 

finally it's a little slow when drawing the image... BUT IT WORKS!!! 
I'll speed it up when I find a better way...
so I8 is finished 0 I4 (4 bit intensity, 8x8 tiles) 1 I8 (8 bit intensity, 8x4 tiles) 2 IA4 (4 bit intensity with 4 bit alpha, 8x4 tiles) 3 IA8 (8 bit intensity with 8 bit alpha, 4x4 tiles) 4 RGB565 (4x4 tiles) 5 RGB5A3 (*) (4x4 tiles) 6 RGBA8 (4x4 tiles in two cache lines - first is AR and second is GB) 8 CI4 (4 bit color index, 8x8 tiles) 9 CI8 (8 bit color index, 8x4 tiles) 10 CI14X2 (14 bit color index, 4x4 tiles) 14 CMP (S3TC compressed, 2x2 blocks of 4x4 tiles)
I can't do alpha formats yet... but the next format will be colored
EDIT: here's the code for the format:
def I8(offset,width,height,length): X,Y,TX,TY,read = 2,2,0,0,1 fr.seek(offset,0) while read:
tiles = [] while len(tiles) < length/32: tile = [] while len(tile) < 32: tile.append(fr.read(1).encode('hex')) tiles.append(tile)
for tile in tiles: for pixel in tile: R=G=B=pixel color = '#'+R+G+B x = int(TX+X) y = int(TY+Y) C.create_rectangle ( x, y, (x+1), (y+1), fill=color, width=0)
TX+=1 if TX == 8: TY += 1 if TY == 4 and TX == 8: X += 8; TX,TY = 0,0 if X == width+2: Y += 4; X = 2 if TY == 4: TY = 0 TX = 0
read = 0
it may come in handy 
EDIT2: you know... I prbly don't even need the lists
all I have to do is use:
while length > 0: pixel = fr.read(1).encode('hex') #code length -= 1
I'ma try that real quit... (should speed it up a little)
|
|
« Last Edit: October 06, 2022, 12:53:24 PM by DarkPikachu »
|
Logged
|
|
|
|
|
|
 |
« Reply #59 on: January 06, 2011, 01:54:44 PM » |
|
omg reading post right now....GIMMMMMIEEEEEE lol gj
edit:ima try n contribute sometime today. First finish bte then this.
|
|
« Last Edit: January 06, 2011, 01:59:00 PM by theshyguy »
|
Logged
|
|
|
|
|
|