ZenHAX

Free Game Research Forum | Official QuickBMS support | twitter @zenhax | SSL HTTPS://zenhax.com
It is currently Mon Mar 27, 2017 12:40 am

All times are UTC




Post new topic  Reply to topic  [ 53 posts ]  Go to page 1 2 3 Next
Author Message
PostPosted: Sat Feb 20, 2016 9:20 am 

Joined: Sat Feb 20, 2016 9:13 am
Posts: 20
Hey aluigi
I I have try to open .pak file in KOF MI Because I wan't that model.But I try it but I don't sure it's archive or model.

This is simple file
https://mega.nz/#!2UsHkYTS


Attachments:
File comment: This is my first trying script.
KOF.rar [202 Bytes]
Downloaded 89 times
Top
   
PostPosted: Sat Feb 20, 2016 2:21 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 5700
password


Top
   
PostPosted: Sun Feb 21, 2016 2:27 pm 

Joined: Sat Feb 20, 2016 9:13 am
Posts: 20
Oh.I'm sorry!
Hear.this is my re-upload.
http://www.4shared.com/get/ec7yY0ZXba/K ... p_dff.html


Top
   
PostPosted: Mon Feb 22, 2016 1:05 am 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 5700
The format is simple but the compression algorithm is unknown.
Is this the ps2 or xbox version?


Top
   
PostPosted: Mon Feb 22, 2016 4:50 am 

Joined: Sat Feb 20, 2016 9:13 am
Posts: 20
This is ps2 version.because I used pcsx 2 to play that game.


Top
   
PostPosted: Wed Feb 24, 2016 9:45 am 

Joined: Sat Feb 20, 2016 9:13 am
Posts: 20
Ah.Can you help me?


Top
   
PostPosted: Thu Feb 25, 2016 4:19 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 5700
No algorithm = No extraction.


Top
   
PostPosted: Fri Feb 26, 2016 1:44 am 

Joined: Sat Feb 20, 2016 9:13 am
Posts: 20
Ah.Alugi I found something about that file format.
It's can help to write script?

form GRAFs

Code:
Format Type : Archive 
Endian Order : Little Endian

Format Specifications
char {4}     - Header (DATA)
uint64 {8}   - null

uint32 {4}   - Number Of Files
// for each file
uint32 {4}   - File Offset

uint32 {4}   - Archive Size [-6]
uint32 {4}   - Unknown (400)

// for each file
char {2}     - File Header (PK)
byte {1}     - null
uint32 {4}   - Unknown (Decompressed Size?)
byte {9}     - null
byte {X}     - File Data


Form FATDUCK

Code:
fn int2bin val = (
  local ary = #()
  if val <-1 then val += 256    --convert signed byte to unsigned byte
  if val >= 128 then (append ary 1 ;val-=128) else append ary 0
  if val >= 64 then (append ary 1 ;val-=64) else append ary 0
  if val >= 32 then (append ary 1 ;val-=32) else append ary 0
  if val >= 16 then (append ary 1 ;val-=16) else append ary 0
  if val >= 8 then (append ary 1 ;val-=8) else append ary 0
  if val >= 4 then (append ary 1 ;val-=4) else append ary 0
  if val >= 2 then (append ary 1 ;val-=2) else append ary 0
  if val == 1 then (append ary 1) else append ary 0
  return ary
)--end fn int2bin

fn KOFdecompress fstream Usize = (

  debugmode=false
  clearlistener()
 
  local ctrlBits = #()
  local Ubuffer = #()
 
  do (
   join ctrlBits ( int2bin ( readbyte fstream #unsigned ) )
   if debugmode==true then (
    format "In: "
    for j in ctrlBits do format "%" j
    format "\n"
   )--end debugmode
   do (
    if ctrlBits[1] == 1 then (
     append Ubuffer (readbyte fstream #unsigned)
     deleteitem ctrlBits 1
    ) else (
     local len = 0
     local ofs = 0
     if ctrlBits[2] == 0 then (
      len = ctrlBits[3]*2 + ctrlBits[4] + 2
      ofs = (readbyte fstream #unsigned) - 256
      if debugmode==true then format "ofs: %\tlen: %\n" ofs len
      deleteitem ctrlBits 1; deleteitem ctrlBits 1
      deleteitem ctrlBits 1; deleteitem ctrlBits 1
     ) else (
      ctrlH  = readbyte fstream #unsigned
      ctrlL  = readbyte fstream #unsigned
      if debugmode==true then format "H: %\tL: % @ [%]\n" (dec2hex ctrlH) (dec2hex ctrlL) (dec2hex (ftell fstream))
      len = (mod ctrlL 32)
      if len == 0 then len = 1 + (readbyte fstream #unsigned)
      else len += 2
      --ofs = ((mod ctrlH 32)*8+(ctrlL/32))*256 + 0xF8 + (ctrlH/32)
      --if ofs > 0x7FFF then ofs = ofs - 65536
     
      --** KOF method--
     ofs = ((mod ctrlH 32)*8+(ctrlL/32)) + (0xF8 + (ctrlH/32))*256 - 65536


      if debugmode==true then format "Bofs: %\tBlen: %\n" ofs len

      deleteitem ctrlBits 1; deleteitem ctrlBits 1
     )
         
      --copy stuff here
      loc = ofs + Ubuffer.count
      if abs(ofs) >= len then (
       for j = 1 to len do append Ubuffer (Ubuffer[(loc+j)]) 
      ) else (
       for j = 1 to len/(abs(ofs)) do
          for jj = 1 to abs(ofs) do append Ubuffer (Ubuffer[(loc+jj)])
       for j = 1 to (mod len (abs(ofs))) do append Ubuffer (Ubuffer[(loc+j)])
      )--end if/else
     

       --for j in Ubuffer do format "%  " (dec2hex j)
       --format "\n"

    )--end if/else
    if Ubuffer.count >= Usize then exit
    if (ctrlBits.count == 0) then exit
    if (ctrlBits.count==1)AND(ctrlBits[1]==0) then exit
    if (ctrlBits.count <= 3)AND(ctrlBits[1]==0)AND(ctrlBits[2]==0) then exit
   ) while 1==1
   if debugmode==true then (
    format "Out: "
    for j in ctrlBits do format "%" j
    format "\n"
       --for j in Ubuffer do format "%  " (dec2hex j)
       --format "\n"
    format "\t[%]\nUbuffer: %\n\n" (dec2hex (ftell fstream)) (dec2hex Ubuffer.count)
   )--end debugmode

  ) while Ubuffer.count < Usize

  format "->%\n" Ubuffer.count
 
  return Ubuffer
)--end fn KOFdecompress


Top
   
PostPosted: Fri Feb 26, 2016 11:26 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 5700
Hard to say, can't work on it and we don't know if it's really the compression of those files.


Top
   
PostPosted: Sat Feb 27, 2016 12:36 am 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 5700
Just checked the Xbox files, they are the same of PS2


Top
   
PostPosted: Sat Feb 27, 2016 2:57 am 

Joined: Sat Feb 20, 2016 9:13 am
Posts: 20
Okay.first.I need to thank you anything about your kindness.
but.I have the last way and last question.
1.If it's not archive.But.It's .dff file with encrypted by SNK.How can I converter it.
2.Can you write this script to support UV Map?

script by 3dformat

Code:
log MEMORY_FILE1 0 0 ;
log MEMORY_FILE2 0 0 ;
log MEMORY_FILE3 0 0 ;
log MEMORY_FILE4 0 0 ;
log MEMORY_FILE5 0 0 ;
GoTo 0 0 ;
Math count = 0 ;
Math gt = 0 ;
Math Qprime = 0 ;
Math red = 0 ;
Math gin = 0 ;
SavePos found 0 ;
Get QT ASIZE 0 ;
For T = 0 < QT ;
GoTo found 0 ;
findloc OFFSET string "\x00\x00\x00\x05\x05\x01\x00\x01\x00\x80" 0 0 ;
If OFFSET = 0 ;
Math t = QT ;
Math twotest = 1 ;
EndIF ;
If OFFSET != 0 ;
GoTo OFFSET 0 ;
GoTo 10 0 SEEK_CUR ;
Get onetest Byte 0 ;
Get twotest Byte 0 ;
SavePos found 0 ;
EndIF ;
If twotest = 104 ;
Put count Long MEMORY_FILE1 ;
Math count += onetest ;
Math foxcount = count ;
Math foxcount -= 1 ;
Put foxcount Long MEMORY_FILE1 ;
Put onetest Long MEMORY_FILE1 ;
Put found Long MEMORY_FILE1 ;
Put found Long MEMORY_FILE4 ;
EndIF ;
Next T ;
Get mqa ASIZE MEMORY_FILE1 ;
Math mqa /= 16 ;




Math logic = mqa ;
Math logic -= 1 ;
Put 1 Long MEMORY_FILE5 ;
For qjk = 1 To logic ;
GoTo gin MEMORY_FILE4 ;
Get zlow long MEMORY_FILE4 ;
SavePos gin MEMORY_FILE4 ;
Get zhigh long MEMORY_FILE4 ;
Math ztest = zhigh ;
Math ztest -= zlow ;
If ztest > 36000 ;
Put qjk Long MEMORY_FILE5 ;
EndIF ;
Next qjk ;
Math logic += 1 ;
Put logic Long MEMORY_FILE5 ;

Get fivfiv ASIZE MEMORY_FILE5 ;
Math fivfiv -= 4 ;
Math fivfiv /= 4 ;







Math acera = 0 ;
For hs = 1 To fivfiv ;
GoTo acera MEMORY_FILE5 ;
Get zeblow long MEMORY_FILE5 ;
SavePos acera MEMORY_FILE5 ;
Get zebhigh long MEMORY_FILE5 ;
Math zeblow -= 1 ;
Math numberlow = zeblow ;
Math zeblow *= 16 ;
Math zebhigh -= 1 ;
Math numberhigh = zebhigh ;
Math zebhigh *= 16 ;
GoTo zeblow MEMORY_FILE1 ;
Get adjadj long MEMORY_FILE1 ;



GoTo zeblow MEMORY_FILE1 ;
Get minfox long MEMORY_FILE1 ;
Math minfox -= adjadj ;


GoTo zebhigh MEMORY_FILE1 ;
Get maxfox long MEMORY_FILE1 ;
Math maxfox -= adjadj ;

GoTo zeblow MEMORY_FILE1 ;
SavePos gt MEMORY_FILE1 ;
log MEMORY_FILE6 0 0 ;
For jjj = numberlow To numberhigh ;
GoTo gt MEMORY_FILE1 ;
Get min long MEMORY_FILE1 ;
Math min -= adjadj ;
Get max long MEMORY_FILE1 ;
Math max -= adjadj ;
Get nuv long MEMORY_FILE1 ;
Get loc long MEMORY_FILE1 ;
SavePos gt MEMORY_FILE1 ;
GoTo loc 0 ;
SavePos werefox 0 ;
For cvb = 1 To nuv ;
GoTo werefox 0 ;
Get Type1 Long 0 ;
Get Type2 Long 0 ;
Get Type3 Long 0 ;
SavePos werefox 0 ;
GoTo Qprime MEMORY_FILE2 ;
Put Type1 Long MEMORY_FILE2 ;
Put Type2 Long MEMORY_FILE2 ;
Put Type3 Long MEMORY_FILE2 ;
SavePos Qprime MEMORY_FILE2 ;
Next cvb ;
Math max -= 2 ;

For fff = min To max ;

Math fafter = fff ;
Math fafter += 1 ;
Math fafterafter = fff ;
Math fafterafter += 2 ;
GoTo red MEMORY_FILE3 ;
Put fff Short MEMORY_FILE3 ;
Put fafter Short MEMORY_FILE3 ;
Put fafterafter Short MEMORY_FILE3 ;
Put 0 Short MEMORY_FILE3 ;

Put fff Short MEMORY_FILE3 ;
Put fafterafter Short MEMORY_FILE3 ;
Put fafter Short MEMORY_FILE3 ;
Put 0 Short MEMORY_FILE3 ;
SavePos red MEMORY_FILE3 ;
Next fff ;
Next jjj ;
Get Zw3 ASIZE MEMORY_FILE3 ;
Math Zf3 = Zw3 ;
Math Zf3 /= 8 ;
Get Zw2 ASIZE MEMORY_FILE2 ;
Math Zf2 = Zw2 ;
Math Zf2 /= 12 ;
Math FaceNumber = Zf3 ;
Math VertexNumber = Zf2 ;
Math Snake = VertexNumber ;
Math Snake *= 12 ;
Math Dragon = FaceNumber ;
Math Dragon *= 8 ;
Math Sum = Dragon ;
Math Sum += Snake ;
Math meshmesh = Sum ;
Math meshmesh += 60 ;
Math QQQ = 60 ;
Math QQQ += Snake ;
Math QQ = 52 ;
Math qaz = 0 ;
Math wsx = 0 ;
log MEMORY_FILE6 0 meshmesh ;
For Vertex = 0 < Zw2 ;
GoTo qaz MEMORY_FILE2 ;
Get D byte MEMORY_FILE2 ;
SavePos qaz MEMORY_FILE2 ;
GoTo QQ MEMORY_FILE6 ;
Put D Byte MEMORY_FILE6 ;
SavePos QQ MEMORY_FILE6 ;
Next Vertex ;
For Face = 0 < Zw3 ;
GoTo wsx MEMORY_FILE3 ;
Get D byte MEMORY_FILE3 ;
SavePos wsx MEMORY_FILE3 ;
GoTo QQQ MEMORY_FILE6 ;
Put D Byte MEMORY_FILE6 ;
SavePos QQQ MEMORY_FILE6 ;
Next Face ;
GoTo 0 MEMORY_FILE6 ;
set M Byte 0x4D ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x4D ;
Put M Byte MEMORY_FILE6 ;
Math M = Sum ;
Math M += 60 ;
Put M Long MEMORY_FILE6 ;
set M Byte 0x02 ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x00 ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x0A ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x00 ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x00 ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x00 ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x03 ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x00 ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x00 ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x00 ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x3D ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x3D ;
Put M Byte MEMORY_FILE6 ;
Math M = Sum
Math M += 44 ;
Put M Long MEMORY_FILE6 ;
set M Byte 0x00 ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x40 ;
Put M Byte MEMORY_FILE6 ;
Math M = Sum
Math M += 38 ;
Put M Long MEMORY_FILE6 ;
set M Byte 0x64 ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x72 ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x61 ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x67 ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x6F ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x6E ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x6A ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x61 ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x6E ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x00 ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x00 ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x41 ;
Put M Byte MEMORY_FILE6 ;
Math M = Sum
Math M += 22 ;
Put M Long MEMORY_FILE6 ;
Set M Byte 0x10 ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x41 ;
Put M Byte MEMORY_FILE6 ;
Math M = Snake ;
Math M += 8 ;
Put M Long MEMORY_FILE6 ;
Math M = VertexNumber ;
Put M Short MEMORY_FILE6 ;
Math JumpJump = Snake ;
Math JumpJump += 52 ;
GoTo JumpJump MEMORY_FILE6 ;
set M Byte 0x20 ;
Put M Byte MEMORY_FILE6 ;
set M Byte 0x41 ;
Put M Byte MEMORY_FILE6 ;
Math M = FaceNumber ;
Math M *= 8 ;
Math M += 8 ;
Put M Long MEMORY_FILE6 ;
Math M = FaceNumber ;
Put M Short MEMORY_FILE6 ;
Get size6 ASIZE MEMORY_FILE6 ;
Math name = hs ;
string name += .3ds ;
Log name 0 size6 MEMORY_FILE6 ;
log MEMORY_FILE2 0 0 ;
log MEMORY_FILE3 0 0 ;
Math count = 0 ;
Math gt = 0 ;
Math Qprime = 0 ;
Math red = 0 ;
Math gin = 0 ;
Next hs ;


if it's have no way to get that.I'll wait for KOF XIV.and try it again.


Top
   
PostPosted: Sat Feb 27, 2016 11:01 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 5700
That's not stuff for me, sorry.


Top
   
PostPosted: Sun Feb 28, 2016 2:04 pm 

Joined: Sun Feb 28, 2016 1:08 pm
Posts: 3
Hi aluigi, I searched some information about this format and some time ago I found a post in the fatduck's chinese forum where codeman made the question if there was a way to unzip/decompress the pak files for this game and he responded it:

"It use a kind of LZ for the compression! the method is in: http://gameresearch.5d6d.com/thread-147-1-1.html (Link down :() I think use comtype 8ing in Quickbms should decompress the files! Most 8ing games in PS2 use Renderware game engine."

I found that the Endian Order is Little Endian and also found this two topics on xentax with more information: http://forum.xentax.com/viewtopic.php?f=21&t=4604 http://forum.xentax.com/viewtopic.php?f=10&t=1387

I hope that this can help, I'm interested in extract 3d models from this game too. Thanks! :D


Top
   
PostPosted: Sun Feb 28, 2016 5:58 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 5700
comtype prs_8ing crashes.


Top
   
PostPosted: Tue Mar 01, 2016 3:37 am 

Joined: Sat Feb 20, 2016 9:13 am
Posts: 20
Quote:
Hi aluigi, I searched some information about this format and some time ago I found a post in the fatduck's chinese forum where codeman made the question if there was a way to unzip/decompress the pak files for this game and he responded it:

"It use a kind of LZ for the compression! the method is in: http://gameresearch.5d6d.com/thread-147-1-1.html (Link down :() I think use comtype 8ing in Quickbms should decompress the files! Most 8ing games in PS2 use Renderware game engine."

I found that the Endian Order is Little Endian and also found this two topics on xentax with more information: http://forum.xentax.com/viewtopic.php?f=21&t=4604 http://forum.xentax.com/viewtopic.php?f=10&t=1387

I hope that this can help, I'm interested in extract 3d models from this game too. Thanks! :D


How about file form game extractor?.It's model or not?


Top
   
PostPosted: Thu Mar 24, 2016 10:00 am 

Joined: Thu Aug 07, 2014 10:28 pm
Posts: 123
Here id an old script i made to decompress those files using his code.

Code:
if (heapSize < 20000000) then
(
   heapSize = 200000000 -- allow ~ 40 MB instead of just 7.5 MB. Prevents "Runtime Error: Out of scripter memory"
)

fname = GetOpenFileName caption:"Open KOF Model File" types:"KOF Model File(*.dff)|*.dff"
f = fopen fname "rb"   --open file in read only format


fn PrintOffset Var =(
        local Var = Var
        print ("This is the offset 0x" + (bit.intAsHex Var) as string)
        Var
    )

fn PrintCount Var = (
        local Var = Var
        print ("This is the Count 0x" + (bit.intAsHex Var) as string)
        Var
    )

fn Readword fstream = (
    return readshort fstream #unsigned
)

fn ReadFixedString bstream fixedLen =(
   local str = ""
   for i = 1 to fixedLen do(
      str += bit.intAsChar (ReadByte bstream #unsigned)
   )
   str
)

struct Mesh_Info_Struct
(
   Mesh_Name,vertstart,vertend,vertcount,facecount
)
struct Offset_Info_Struct
(
   Section_Start,Vert_Start,Face_Start,vertsize
)

 fn int2bin val = (
  local ary = #()
  if val <-1 then val += 256    --convert signed byte to unsigned byte
  if val >= 128 then (append ary 1 ;val-=128) else append ary 0
  if val >= 64 then (append ary 1 ;val-=64) else append ary 0
  if val >= 32 then (append ary 1 ;val-=32) else append ary 0
  if val >= 16 then (append ary 1 ;val-=16) else append ary 0
  if val >= 8 then (append ary 1 ;val-=8) else append ary 0
  if val >= 4 then (append ary 1 ;val-=4) else append ary 0
  if val >= 2 then (append ary 1 ;val-=2) else append ary 0
  if val == 1 then (append ary 1) else append ary 0
  return ary
 )--end fn int2bin
 
 
 
 fn KOFdecompress fstream Usize = (
 
  debugmode=false
  clearlistener()
 
  local ctrlBits = #()
  local Ubuffer = #()
 
  do (
   join ctrlBits ( int2bin ( readbyte fstream #unsigned ) )
   if debugmode==true then (
    format "In: "
    for j in ctrlBits do format "%" j
    format "\n"
   )--end debugmode
   do (
    if ctrlBits[1] == 1 then (
     append Ubuffer (readbyte fstream #unsigned)
     deleteitem ctrlBits 1
    ) else (
     local len = 0
     local ofs = 0
     if ctrlBits[2] == 0 then (
      len = ctrlBits[3]*2 + ctrlBits[4] + 2
      ofs = (readbyte fstream #unsigned) - 256
      if debugmode==true then format "ofs: %\tlen: %\n" ofs len
      deleteitem ctrlBits 1; deleteitem ctrlBits 1
      deleteitem ctrlBits 1; deleteitem ctrlBits 1
     ) else (
      ctrlH  = readbyte fstream #unsigned
      ctrlL  = readbyte fstream #unsigned
      if debugmode==true then format "H: %\tL: % @ [%]\n" (dec2hex ctrlH) (dec2hex ctrlL) (dec2hex (ftell fstream))
      len = (mod ctrlL 32)
      if len == 0 then len = 1 + (readbyte fstream #unsigned)
      else len += 2
      --ofs = ((mod ctrlH 32)*8+(ctrlL/32))*256 + 0xF8 + (ctrlH/32)
      --if ofs > 0x7FFF then ofs = ofs - 65536
     
      --** KOF method--
     ofs = ((mod ctrlH 32)*8+(ctrlL/32)) + (0xF8 + (ctrlH/32))*256 - 65536


      if debugmode==true then format "Bofs: %\tBlen: %\n" ofs len

      deleteitem ctrlBits 1; deleteitem ctrlBits 1
     )
         
      --copy stuff here
      loc = ofs + Ubuffer.count
      if abs(ofs) >= len then (
       for j = 1 to len do append Ubuffer (Ubuffer[(loc+j)]) 
      ) else (
       for j = 1 to len/(abs(ofs)) do
          for jj = 1 to abs(ofs) do append Ubuffer (Ubuffer[(loc+jj)])
       for j = 1 to (mod len (abs(ofs))) do append Ubuffer (Ubuffer[(loc+j)])
      )--end if/else
    

       --for j in Ubuffer do format "%  " (dec2hex j)
       --format "\n"

    )--end if/else
    if Ubuffer.count >= Usize then exit
    if (ctrlBits.count == 0) then exit
    if (ctrlBits.count==1)AND(ctrlBits[1]==0) then exit
    if (ctrlBits.count <= 3)AND(ctrlBits[1]==0)AND(ctrlBits[2]==0) then exit
   ) while 1==1
   if debugmode==true then (
    format "Out: "
    for j in ctrlBits do format "%" j
    format "\n"
       --for j in Ubuffer do format "%  " (dec2hex j)
       --format "\n"
    format "\t[%]\nUbuffer: %\n\n" (dec2hex (ftell fstream)) (dec2hex Ubuffer.count)
   )--end debugmode
 
  ) while Ubuffer.count < Usize

  format "->%\n" Ubuffer.count
 
  return Ubuffer
 )--end fn KOFdecompress
idstring = readlong f
 size1 = readlong f
fseek f 0x10#seek_set
 newfile = KOFdecompress f size1
 exfile = (fname + ".dec")
g = fopen exfile "wb"   --open file in read only format

 for a = 1 to newfile.count do (
    writebyte g newfile[a]#unsigned
 )
fclose g







fclose f


Top
   
PostPosted: Wed Apr 06, 2016 5:33 pm 

Joined: Sat Feb 20, 2016 9:13 am
Posts: 20
Ah.This is for QuickBMS right? Or use in another program?


Top
   
PostPosted: Thu Apr 07, 2016 1:10 am 

Joined: Tue Dec 08, 2015 8:36 pm
Posts: 58
Brilleas wrote:
Ah.This is for QuickBMS right? Or use in another program?

I think chrrox' script is a MaxScript meaning it's for 3DS Max


Top
   
PostPosted: Thu Apr 07, 2016 1:49 am 

Joined: Sat Feb 20, 2016 9:13 am
Posts: 20
Oh.thank you.and everyone for this case.


Top
   
PostPosted: Thu Apr 07, 2016 3:14 am 

Joined: Sat Feb 20, 2016 9:13 am
Posts: 20
Ah.I have some question.It's dose't support .pak file?.And how to open it before use .dff file?


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 53 posts ]  Go to page 1 2 3 Next

All times are UTC


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Limited