|
|
#2840147 - 08/12/09 04:51 PM
Re: .3 Files
[Re: mikew]
|
SimHQ Member
Registered: 06/27/06
Posts: 596
|
I can explain the 3rd and 4th byte discrepancy though. At some point I made a script which changes those bytes in all .3 files to 3E80 (16000) which increases the viewing range.....and I must have used those files to produce that big zip file.
Thanks for the explanation, I suspected that was the reason. One of my goals is to find a way to introduce some of the noname, non-krus files, which are not conventionally used, into TAW. I am hoping sections of the header information, such as viewing distance, will allow me to group objects in such a way as to determine relationships and, perhaps, function.
|
Top
|
|
|
|
#2846170 - 08/22/09 10:02 AM
Re: .3 Files
[Re: DrKevDog]
|
SimHQ Member
Registered: 06/27/06
Posts: 596
|
Slightly OT: Eurofighter 3D-object extraction success: not yet  Eurofighter Textures and Sound files extraction success:  Have been successful in extracting a large cache of, what I believe is, the complete set of textures (including DDS files of DXT-1 and DXT-3 compression format textures). TGA, BMP, DDS formats. They are irfanview and photoshop (with plugin) viewable. Also a large collection of .wav and other SFX/MUSIC files. Am quite hopeful many will provide TAW portability Although it seems a little more challenging, looking forward to moving on to extracting the 3D-object and other files 
|
Top
|
|
|
|
#2846259 - 08/22/09 12:33 PM
Re: .3 Files
[Re: DrKevDog]
|
F22 Air Dominance Project
SimHQ Member
Registered: 01/01/01
Posts: 715
Loc: Greater Washington DC Area
|
Slightly OT: Eurofighter 3D-object extraction success: not yet  Eurofighter Textures and Sound files extraction success:  Have been successful in extracting a large cache of, what I believe is, the complete set of textures (including DDS files of DXT-1 and DXT-3 compression format textures). TGA, BMP, DDS formats. They are irfanview and photoshop (with plugin) viewable. Also a large collection of .wav and other SFX/MUSIC files. Am quite hopeful many will provide TAW portability Although it seems a little more challenging, looking forward to moving on to extracting the 3D-object and other files Bet OT reply in a while! 
_________________________
-Home Fries The average Naval Aviator, despite the sometimes swaggering exterior, is very much capable of such feelings as love, affection, intimacy, and caring. These feelings just don't involve anyone else. F-22 Air Dominance Project
|
Top
|
|
|
|
#2878799 - 10/12/09 11:57 PM
Re: .3 Files
[Re: HomeFries]
|
F22 Air Dominance Project
SimHQ Member
Registered: 01/01/01
Posts: 715
Loc: Greater Washington DC Area
|
|
Top
|
|
|
|
#2879045 - 10/13/09 11:25 AM
Re: .3 Files
[Re: HomeFries]
|
SimHQ Member
Registered: 04/16/03
Posts: 1039
|
I'll admit I do not keep up on this particular glossary of technobabble......
Is there a possibility that you can fit EF2000 with a Glide or D3D capability??
_________________________
The Colonel
"They're not toys. They're collectables."
|
Top
|
|
|
|
#2879384 - 10/13/09 08:42 PM
Re: .3 Files
[Re: Colonel Kern]
|
F22 Air Dominance Project
SimHQ Member
Registered: 01/01/01
Posts: 715
Loc: Greater Washington DC Area
|
Doubtful. The more likely route would be to convert the EF2000 objects (and thus the Scandinavia theater) to the TAW engine. Bringing over the EF2000 would require source code edits.
_________________________
-Home Fries The average Naval Aviator, despite the sometimes swaggering exterior, is very much capable of such feelings as love, affection, intimacy, and caring. These feelings just don't involve anyone else. F-22 Air Dominance Project
|
Top
|
|
|
|
#2897053 - 11/08/09 12:44 PM
Re: .3 Files
[Re: HomeFries]
|
SimHQ Member
Registered: 02/26/01
Posts: 1703
Loc: UK
|
A new piece of information, the '0007' operator does not appear to be a GOTO statement after all, but a GOSUB based on one of the 'Options' settings. Probably 'Airfield Detail'. As mentioned in anther thread, I'm doing some experiments with the Python language instead of VB. The first thing I've done is try and interpret the jumps through the 3 file to provide the vertex and polygon information in a particular set of circumstances. For example, taking the simple 'tent_3' file and setting the damage level to 1 and viewed from close range only uses the following lines of code which is what is actually rendered: 0065FFFD
0061000A0000
006200000001FFFFFFF1
006E000700010006
006BFFF00005
006D001E0008
006B00100007
006EFFF7FFFF0001
00750000
00750006
00750005
00750008
00750007
00750001
0062000AFFDD00000023
00640046
0066FFBA
0064FFBA
00640023
00660046
0066FFDD
0064FFDD
00640046
00610009000A
00470009000400010001002000010020002000010020
008E0004000A000F00100011
00470009000400200001003F0001003F002000200020
008E0004000F000B00120010
00470009000400200020003F0020003F003F0020003F
008E000400100012000C000E
00470009000400010020002000200020003F0001003F
008E000400110010000E000D
009F000E0074040100B700B700BC00BC009E0005000800010000
009F000E0070040100B700B700BC00BC009E0000000100070006
009F000C0072030100B800BA00B7009D000500000006
009F000C006E030100B900B600BB009D000800070001
This can be pasted into the 'input.txt' file of the 3D viewer I posted a couple of pages back to see what it looks like:  The whole parsed tent_3 file is here: 0000 00300003
0001 006200000000FFFBFFF1
0002 0066001E
0003 006700080002
0004 0066FFE2
0005 0064FFF0
0006 00650003
0007 00640010
0008 0066001E
0009 0064FFF0
0010 0065FFFD
0011 0061000A0000
0012 002700A50184 If Distance >165 then jump to line 43
0013 00480007
0014 0022000000D0 If Parameter 0007 > 0 then jump to line 25
0015 0008035A Jump to Sub at line 99
0016 009F000E0035040100D000D000CD00CD009E0001000000040009
0017 009F000E0033040100CE00CE00CF00CF009E0000000100020003
0018 009F000C0036030100CA00CB00C9009D000400000003
0019 009F000C0032030100CA00C900CB009D000900020001
0020 009F000E0036040100CA00C900C800C9009E0004000300060005
0021 009F000E0032040100C900CA00C900C8009E0002000900080007
0022 009F000E0038040100CC00CC00CA00CA009E0009000400050008
0023 009F000E0034040100C800C800C600C6009E0003000200070006
0024 0000
0025 006200000001FFFFFFF1
0026 006E000700010006
0027 006BFFF00005
0028 006D001E0008
0029 006B00100007
0030 006EFFF7FFFF0001
0031 00750000
0032 00750006
0033 00750005
0034 00750008
0035 00750007
0036 00750001
0037 00080188 Jump to Sub at line 79
0038 009F000E0074040100B700B700BC00BC009E0005000800010000
0039 009F000E0070040100B700B700BC00BC009E0000000100070006
0040 009F000C0072030100B800BA00B7009D000500000006
0041 009F000C006E030100B900B600BB009D000800070001
0042 0000
0043 002700FA00E0 If Distance >250 then jump to line 71
0044 00480007
0045 0022000000BC If Parameter 0007 > 0 then jump to line 68
0046 006200030008FFFDFFF1
0047 006C00030006
0048 006BFFF00005
0049 006CFFFD0004
0050 006D001E0009
0051 006C00030008
0052 006B00100007
0053 006CFFFD0002
0054 00750003
0055 00750006
0056 00750005
0057 00750004
0058 00750009
0059 00750008
0060 00750007
0061 00750002
0062 009F00080038010300CC009E0009000400050008
0063 009F00080036010300CA009E0004000300060005
0064 009F00080032010300CA009E0002000900080007
0065 009F00080034010300C8009E0003000200070006
0066 009F00080035010300CE009E0004000900020003
0067 0000
0068 00080058 Jump to Sub at line 79
0069 009F00080077010300B9009E0005000800070006
0070 0000
0071 002703840456 If Distance >900 then jump to line 244
0072 00480007
0073 002200000018 If Parameter 0007 > 0 then jump to line 76
0074 009F00080035010300CA009E0006000500080007
0075 0000
0076 00080018 Jump to Sub at line 79
0077 009F00080077010300B9009E0006000500080007
0078 0000
0079 002703840416 If Distance >900 then jump to line 244
0080 0062000AFFDD00000023
0081 00640046
0082 0066FFBA
0083 0064FFBA
0084 00640023
0085 00660046
0086 0066FFDD
0087 0064FFDD
0088 00640046
0089 00610009000A
0090 00470009000400010001002000010020002000010020
0091 008E0004000A000F00100011
0092 00470009000400200001003F0001003F002000200020
0093 008E0004000F000B00120010
0094 00470009000400200020003F0020003F003F0020003F
0095 008E000400100012000C000E
0096 00470009000400010020002000200020003F0001003F
0097 008E000400110010000E000D
0098 0000
0099 002700960356 If Distance >150 then jump to line 244
0100 002700930138 If Distance >147 then jump to line 179
0101 002700900128 If Distance >144 then jump to line 176
0102 0027008D0118 If Distance >141 then jump to line 173
0103 0027008A0108 If Distance >138 then jump to line 170
0104 0027008700F8 If Distance >135 then jump to line 167
0105 0027008400E8 If Distance >132 then jump to line 164
0106 0027008100D8 If Distance >129 then jump to line 161
0107 0027007E00C8 If Distance >126 then jump to line 158
0108 0027007B00B8 If Distance >123 then jump to line 155
0109 0027007800A8 If Distance >120 then jump to line 152
0110 002700750098 If Distance >117 then jump to line 149
0111 002700720088 If Distance >114 then jump to line 146
0112 0027006F0078 If Distance >111 then jump to line 143
0113 0027006C0068 If Distance >108 then jump to line 140
0114 002700690058 If Distance >105 then jump to line 137
0115 002700660048 If Distance >102 then jump to line 134
0116 002700630038 If Distance >99 then jump to line 131
0117 002700600028 If Distance >96 then jump to line 128
0118 0027005D0018 If Distance >93 then jump to line 125
0119 0027005A0008 If Distance >90 then jump to line 122
0120 000700CC Jump to line 182
0121 0000
0122 0098FFFF
0123 000700C2 Jump to line 182
0124 0000
0125 0098FFFE
0126 000700B8 Jump to line 182
0127 0000
0128 0098FFFD
0129 000700AE Jump to line 182
0130 0000
0131 0098FFFC
0132 000700A4 Jump to line 182
0133 0000
0134 0098FFFB
0135 0007009A Jump to line 182
0136 0000
0137 0098FFFA
0138 00070090 Jump to line 182
0139 0000
0140 0098FFF9
0141 00070086 Jump to line 182
0142 0000
0143 0098FFF8
0144 0007007C Jump to line 182
0145 0000
0146 0098FFF7
0147 00070072 Jump to line 182
0148 0000
0149 0098FFF6
0150 00070068 Jump to line 182
0151 0000
0152 0098FFF5
0153 0007005E Jump to line 182
0154 0000
0155 0098FFF4
0156 00070054 Jump to line 182
0157 0000
0158 0098FFF3
0159 0007004A Jump to line 182
0160 0000
0161 0098FFF2
0162 00070040 Jump to line 182
0163 0000
0164 0098FFF1
0165 00070036 Jump to line 182
0166 0000
0167 0098FFF0
0168 0007002C Jump to line 182
0169 0000
0170 0098FFEF
0171 00070022 Jump to line 182
0172 0000
0173 0098FFEE
0174 00070018 Jump to line 182
0175 0000
0176 0098FFED
0177 0007000E Jump to line 182
0178 0000
0179 0098FFEC
0180 00070004 Jump to line 182
0181 0000
0182 0062001300080000000F
0183 0066FFE2
0184 0064FFF0
0185 0066001E
0186 006100040013
0187 004301FF002E If Time of Day = 511 then jump to line 196
0188 004301FF0028 If Time of Day = 511 then jump to line 196
0189 0043003F0172 If Time of Day = 63 then jump to line 232
0190 0043001F0134 If Time of Day = 31 then jump to line 226
0191 0043000F00F6 If Time of Day = 15 then jump to line 220
0192 0043000700B8 If Time of Day = 7 then jump to line 214
0193 00430003007A If Time of Day = 3 then jump to line 208
0194 00430001003C If Time of Day = 1 then jump to line 202
0195 0000
0196 00620017FFED0000FFF1
0197 0066001E
0198 006100020017
0199 00470006000400000040003F0040003F007F0000007F
0200 008800040017001800160015
0201 0000
0202 00620017FFF30000FFF1
0203 0066001E
0204 006100020017
0205 00470006000400000040003F0040003F007F0000007F
0206 008800040017001800160015
0207 0000
0208 00620017FFF50000FFF1
0209 0066001E
0210 006100020017
0211 00470006000400000040003F0040003F007F0000007F
0212 008800040017001800160015
0213 0000
0214 00620017FFF70000FFF1
0215 0066001E
0216 006100020017
0217 00470006000400000040003F0040003F007F0000007F
0218 008800040017001800160015
0219 0000
0220 0062001700090000000F
0221 0066FFE2
0222 006100020017
0223 00470006000400000040003F0040003F007F0000007F
0224 008800040017001800140013
0225 0000
0226 00620017000B0000000F
0227 0066FFE2
0228 006100020017
0229 00470006000400000040003F0040003F007F0000007F
0230 008800040017001800140013
0231 0000
0232 00620017000D0000000F
0233 0066FFE2
0234 006100020017
0235 00470006000400000040003F0040003F007F0000007F
0236 008800040017001800140013
0237 0000
0238 0062001700130000000F
0239 0066FFE2
0240 006100020017
0241 00470006000400000040003F0040003F007F0000007F
0242 008800040017001800140013
0243 0000
0244 0000
0245 FFFF
0246 002000200020
For what it's worth, the Python script used to do this is here:
f = open("C:\eclipse\workspace\\taw_3\\tent_3.3.TXT")
index=[]
data=[]
branch=[]
total=0
xx=0
active48=""
active15=0
hand8=0
after15=0
try:
for line in f:
index.append("%04d"%total)
data.append(line[0:len(line)-1])
total+=1
# print opcode
finally:
f.close()
total-=1
count=0
nest=1
active7=1
param0007=1
distance=10
tod=31
jumpbase=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
branchind=0
active8=0
curr15=0
while nest>0:
temp=data[count]
opcode= temp[0:4]
if opcode=="0000":
nest-=1
if nest>0:
count=jumpbase[nest]+1
elif opcode=="0007":
jump=int(temp[4:8],16)
hopcount=2
hopline=1
while hopcount<jump:
temp=data[count+hopline]
linlen=len(temp)/2
hopcount+=linlen
hopline+=1
if active7==1:
jumpbase[nest]=count
count+=hopline
print 7,count
nest+=1
else:
count+=1
# print index[count]+" "+data[count]+" "+comment[count]
elif opcode=="0008":
jump=int(temp[4:8],16)
hopcount=2
hopline=1
while hopcount<jump:
temp=data[count+hopline]
linlen=len(temp)/2
hopcount+=linlen
hopline+=1
if active15==0:
jumpbase[nest]=count
oldcount=count
count+=hopline
print oldcount,8,count
nest+=1
else:
hand8+=1
trycount=count+hopline
temp=data[trycount]
if temp[0:4]=="0015":
count+=1
else:
jumpbase[nest]=count
oldcount=count
count+=hopline
print oldcount,8,count
nest+=1
if hand8==2:
active15=0
hand8=0
count=after15
# print index[count]+" "+data[count]+" "+comment[count]
elif opcode=="0015":
after15=count+7
active15=1
print count,15
count+=1
elif opcode=="0021":
param=int(temp[4:8],16)
jump=int(temp[8:12],16)
hopcount=2
hopline=1
while hopcount<jump:
temp=data[count+hopline]
linlen=len(temp)/2
hopcount+=linlen
hopline+=1
if param0007==param:
count+=hopline
print 21,count
else:
count+=1
# print index[count]+" "+data[count]+" "+comment[count]
elif opcode=="0022":
param=int(temp[4:8],16)
jump=int(temp[8:12],16)
hopcount=2
hopline=1
while hopcount<jump:
temp=data[count+hopline]
linlen=len(temp)/2
hopcount+=linlen
hopline+=1
if param0007>param:
count+=hopline
print 22,count
else:
count+=1
# print index[count]+" "+data[count]+" "+comment[count]
elif opcode=="0027":
dist=int(temp[4:8],16)
jump=int(temp[8:12],16)
hopcount=2
hopline=1
while hopcount<jump:
temp=data[count+hopline]
linlen=len(temp)/2
hopcount+=linlen
hopline+=1
if distance>dist:
count+=hopline
print 27,count
else:
count+=1
# print index[count]+" "+data[count]+" "+comment[count]
elif opcode=="0043":
tim=int(temp[4:8],16)
jump=int(temp[8:12],16)
hopcount=2
hopline=1
while hopcount<jump:
temp=data[count+hopline]
linlen=len(temp)/2
hopcount+=linlen
hopline+=1
if tod==tim:
jumpbase[nest]=count
count+=hopline
print 43,count
nest+=1
else:
count+=1
# print index[count]+" "+data[count]+" "+comment[count]
elif opcode=="0048":
active48=temp[4:8]
count+=1
else:
branch.append(data[count])
branchind+=1
count+=1
f = file("C:\eclipse\workspace\\taw_3\\tent_3branch.TXT","w")
while xx<branchind:
print >> f, branch[xx]
xx+=1
f.close()
It looks better in a proper editor with context highlighting. 
|
Top
|
|
|
|
#2897240 - 11/08/09 07:59 PM
Re: .3 Files
[Re: mikew]
|
SimHQ Member
Registered: 06/27/06
Posts: 596
|
|
Top
|
|
|
|
|
|
|
| |