You mean with the TRE Archiver. Our "small organization" is XeNTaX.
Okay, so they are in the old format. Then the TOC may point to the location of files in the old formats to replace with new ones?
Important information: this site is currently scheduled to go offline indefinitely by end of the year.
Star Wars
Oh yes, TRE Archiever sorry
The files you pointed are old format and can be viewed by current TRE Archiever.
I'm not sure what you mean by "TOC may point to location of files in the old formats to replace with new ones" actually...
You mean TOC may show new EXE who can read "new format" to find old files, that may be yes.
The files you pointed are old format and can be viewed by current TRE Archiever.
I'm not sure what you mean by "TOC may point to location of files in the old formats to replace with new ones" actually...
You mean TOC may show new EXE who can read "new format" to find old files, that may be yes.
Code: Select all
TOC File
Header:
QWORD = TOC 1
DWORD = File number
DWORD = relative start of file summary, headersize+tre-list+this = file summary
DWORD = ? (not necessary for unpack)
DWORD = ? (not necessary for unpack)
DWORD = TreFile Number
DWORD = TreFile describtion length
TreSummary:
simple text seperated by hex(00)
FileInformation:
WORD = Compression (0 = uncompressed , 2 = zip)
WORD = Number of trefile which contains the file
DWORD = ? (never used them to unpack the files)
DWORD = ? (never used them to unpack the files)
DWORD = position of the file inside the trefile
DWORD = uncompressed size
DWORD = length inside the trefile if compressed else use uncompressed size
File names and pathes
just like the tre summary, strings sepperated with hex(00)
Code: Select all
17:15:48> HEADER -> [ COT1000]
17:15:48> Anz Dateipfade -> 126794
17:15:48> Start der pfade nach abzug der header -> 3043056
17:15:48> anzahl der tre files im toc header -> 50
17:15:48> länge der tre file angaben -> 893
17:15:48> Tre List (1/50) -> bottom.tre
17:15:48> Tre List (2/50) -> default_patch.tre
17:15:48> Tre List (3/50) -> data_animation_00.tre
17:15:48> Tre List (4/50) -> data_music_00.tre
17:15:48> Tre List (5/50) -> data_other_00.tre
17:15:48> Tre List (6/50) -> data_sample_00.tre
17:15:48> Tre List (7/50) -> data_sample_01.tre
17:15:48> Tre List (8/50) -> data_sample_02.tre
17:15:48> Tre List (9/50) -> data_sample_03.tre
17:15:48> Tre List (10/50) -> data_sample_04.tre
17:15:48> Tre List (11/50) -> data_skeletal_mesh_00.tre
17:15:48> Tre List (12/50) -> data_skeletal_mesh_01.tre
17:15:48> Tre List (13/50) -> data_static_mesh_00.tre
17:15:48> Tre List (14/50) -> data_static_mesh_01.tre
17:15:48> Tre List (15/50) -> data_texture_00.tre
17:15:48> Tre List (16/50) -> data_texture_01.tre
17:15:48> Tre List (17/50) -> data_texture_02.tre
17:15:48> Tre List (18/50) -> data_texture_03.tre
17:15:48> Tre List (19/50) -> data_texture_04.tre
17:15:48> Tre List (20/50) -> data_texture_05.tre
17:15:48> Tre List (21/50) -> data_texture_06.tre
17:15:48> Tre List (22/50) -> data_texture_07.tre
17:15:48> Tre List (23/50) -> patch_00.tre
17:15:48> Tre List (24/50) -> patch_01.tre
17:15:48> Tre List (25/50) -> patch_02.tre
17:15:48> Tre List (26/50) -> patch_03.tre
17:15:48> Tre List (27/50) -> patch_04.tre
17:15:48> Tre List (28/50) -> patch_05.tre
17:15:48> Tre List (29/50) -> patch_06.tre
17:15:48> Tre List (30/50) -> patch_07.tre
17:15:48> Tre List (31/50) -> patch_08.tre
17:15:48> Tre List (32/50) -> patch_09.tre
17:15:48> Tre List (33/50) -> patch_10.tre
17:15:48> Tre List (34/50) -> patch_11_00.tre
17:15:48> Tre List (35/50) -> patch_11_01.tre
17:15:48> Tre List (36/50) -> patch_11_02.tre
17:15:48> Tre List (37/50) -> patch_11_03.tre
17:15:48> Tre List (38/50) -> patch_12_00.tre
17:15:48> Tre List (39/50) -> patch_13_00.tre
17:15:48> Tre List (40/50) -> patch_14_00.tre
17:15:48> Tre List (41/50) -> patch_15_00.tre
17:15:48> Tre List (42/50) -> patch_15_01.tre
17:15:48> Tre List (43/50) -> patch_15_02.tre
17:15:48> Tre List (44/50) -> patch_16_00.tre
17:15:48> Tre List (45/50) -> patch_17_00.tre
17:15:48> Tre List (46/50) -> patch_18_client_00.tre
17:15:48> Tre List (47/50) -> patch_18_shared_00.tre
17:15:48> Tre List (48/50) -> patch_19_client_00.tre
17:15:48> Tre List (49/50) -> patch_19_shared_00.tre
17:15:48> Tre List (50/50) -> hotfix_20_client_00.tre
17:20:58> File List Structure: (curData,allData) -> Filepath Compression , InTreNumber , x , x , FileStartAt , UnCompressedSize , SavedSize
17:20:58> File List (1/126794) -> appearance/animation/all_b_emt_laugh_pointing.ans 2 , 2 , 26131 , 49 , 9131692 , 27616 , 23150
17:20:58> File List (2/126794) -> shader/goggles_s03_haces30.sht 0 , 33 , 51359 , 30 , 59806117 , 730 , 0
17:20:58> File List (3/126794) -> appearance/mesh/snorbal_hue_l3.mgn 2 , 29 , 72682 , 34 , 6553679 , 31602 , 15424
17:20:58> File List (4/126794) -> appearance/animation/cat_predatory_idl_swim_tread_water.ans 2 , 2 , 77402 , 59 , 29486768 , 19151 , 13546
17:20:58> File List (5/126794) -> appearance/mesh/belt_s17_m_l2.mgn 2 , 10 , 79237 , 33 , 34771809 , 9936 , 7095
17:20:58> File List (6/126794) -> texture/radl_flow_lilly.dds 2 , 19 , 86380 , 27 , 36976753 , 87536 , 41920
17:20:58> File List (7/126794) -> object/tangible/ship/components/droid_interface/shared_ddi_rss_deluxe_imperial_2.iff 2 , 33 , 149106 , 84 , 57889441 , 1509 , 658
17:20:58> File List (8/126794) -> object/tangible/mission/quest_item/shared_lilas_dinhint_q4_needed.iff 2 , 22 , 157053 , 69 , 9631502 , 1338 , 581
17:20:58> File List (9/126794) -> object/mobile/shared_gubbur.iff 2 , 22 , 170808 , 31 , 9009997 , 1929 , 764
17:20:58> File List (10/126794) -> shader/jacket_s22_bottom_hcsb21.sht 0 , 33 , 184577 , 35 , 59969643 , 691 , 0
17:20:58> File List (11/126794) -> string/ja/static_npc/tatooine/figrin_dan.stf 2 , 37 , 188548 , 44 , 25568399 , 5710 , 2928
17:20:58> File List (12/126794) -> texture/frn_all_eleg_armoire_s02_sm.dds 2 , 16 , 216955 , 39 , 33543109 , 2872 , 2530
17:20:58> File List (13/126794) -> appearance/mesh/ins_all_mobile_ore_refinery_l1.msh 2 , 12 , 331764 , 50 , 18919271 , 23275 , 9719
17:20:58> File List (14/126794) -> texture/pak_armor_marauder_s01_chest_plate_m_l3.dds 2 , 18 , 343078 , 51 , 58402216 , 22000 , 8481
17:20:58> File List (15/126794) -> object/mobile/shared_dressed_lost_aqualish_scout_male_01.iff 2 , 23 , 423623 , 60 , 9110255 , 2018 , 820
17:20:58> File List (16/126794) -> appearance/frn_all_trophy_tauntaun.apt 0 , 37 , 435964 , 38 , 161597 , 75 , 0
17:20:58> File List (17/126794) -> appearance/animation/all_b_force_self_unarmed.ans 2 , 25 , 441154 , 49 , 311776 , 40809 , 31517
17:20:58> File List (18/126794) -> texture/pt_snail.dds 2 , 19 , 443448 , 20 , 25950086 , 43832 , 37960
17:20:58> File List (19/126794) -> shader/bowl_contents_c_cs8.sht 2 , 4 , 494865 , 30 , 33762070 , 280 , 170
17:20:58> File List (20/126794) -> appearance/mesh/thm_tato_cave_s01_r29_mesh_r29.msh 2 , 13 , 542326 , 50 , 69900503 , 136279 , 86098
[........]
hope it helps a litte bit
I have written a small utility that will read a TOC file and extract all files from the TOC's list of TRE files.
If anyone knows vb.net, let me know. I'd like to collaborate on making a nice GUI for it.
I'd also be happy to work with XeNTaX to incorporate it into their application.
It uses the SharpZipLib library for the decompression routine. It actually runs pretty quick.
-Walt Zydhek
If anyone knows vb.net, let me know. I'd like to collaborate on making a nice GUI for it.
I'd also be happy to work with XeNTaX to incorporate it into their application.
It uses the SharpZipLib library for the decompression routine. It actually runs pretty quick.
-Walt Zydhek
-
- Site Admin
- Posts: 4073
- Joined: Wed Jan 15, 2003 6:45 pm
- Location: Dungeons of Doom
- Has thanked: 450 times
- Been thanked: 682 times
- Contact:
That'll be great. We could make it a MexCom plugin, or perhaps better still, an RPM (Rahly's Plugin Manager) plugin. It would be a test case for Rahly's manager, as that is brand new and will be released with the upcoming new MultiEx Commander. I'll PM Rahly about it.wzydhek wrote:I have written a small utility that will read a TOC file and extract all files from the TOC's list of TRE files.
If anyone knows vb.net, let me know. I'd like to collaborate on making a nice GUI for it.
I'd also be happy to work with XeNTaX to incorporate it into their application.
It uses the SharpZipLib library for the decompression routine. It actually runs pretty quick.
-Walt Zydhek
Any response from Rahly? I've worked on it a bit and have an application similar to SWGInside for it. works great, albeit a bit slow in preparing for extraction when over 7000 files are selected in the listview. (some delay determining the filenames from all selected listview items). Other than that, it works pretty smooth and pretty quick.
I was able to extract all files from all the TRE files listed in all 3 TOC files within about an hour.
-Walt Zydhek
I was able to extract all files from all the TRE files listed in all 3 TOC files within about an hour.
-Walt Zydhek
Well. I created my own source for everything except the SharpZipLib (although the source for the SharpZipLib is freely available, and I have not modified it).
The whole thing is written in .NET. My application and TOC/TRE file library in vb.net, and the SharpZipLib is written in CSharp.net.
I don't have the original source code for the SWGInside. I wrote my own off the basic behavior of their tool (Which BTW, appears to have been written in C++ 7.0, part of the Visual Studio.NET set, but has no CLI)
-Walt Zydhek
The whole thing is written in .NET. My application and TOC/TRE file library in vb.net, and the SharpZipLib is written in CSharp.net.
I don't have the original source code for the SWGInside. I wrote my own off the basic behavior of their tool (Which BTW, appears to have been written in C++ 7.0, part of the Visual Studio.NET set, but has no CLI)
-Walt Zydhek
hmmmm...
OK, I've used the above method to write something up to process the TOC file...
All the data (file info and TRE it is in) gets built and looks correct all for 1 value. The offset value (starting location of the file inside the TRE pack).
I feel I'm missing something somewhere, just do not know what....
Example :
File : welcome_e3_convo.stf
TRE File : patch_12_00.tre
Compression : 0
Start : 3235401
Length : 1022
Now the length is correct but when I look at this TRE with SWG Explore, it indicates a Start location at 19210683 which is the correct point in the TRE pack.
OK, I've used the above method to write something up to process the TOC file...
All the data (file info and TRE it is in) gets built and looks correct all for 1 value. The offset value (starting location of the file inside the TRE pack).
I feel I'm missing something somewhere, just do not know what....
Example :
File : welcome_e3_convo.stf
TRE File : patch_12_00.tre
Compression : 0
Start : 3235401
Length : 1022
Now the length is correct but when I look at this TRE with SWG Explore, it indicates a Start location at 19210683 which is the correct point in the TRE pack.