Index: tools/data_pack/data_pack.py |
diff --git a/tools/data_pack/data_pack.py b/tools/data_pack/data_pack.py |
index fde94835fc97df4e96309d32df64cb1acf6ab4d1..34344766af6494657ed31a3907621f6f22efc29a 100755 |
--- a/tools/data_pack/data_pack.py |
+++ b/tools/data_pack/data_pack.py |
@@ -1,5 +1,5 @@ |
#!/usr/bin/python |
-# Copyright (c) 2008 The Chromium Authors. All rights reserved. |
+# Copyright (c) 2011 The Chromium Authors. All rights reserved. |
# Use of this source code is governed by a BSD-style license that can be |
# found in the LICENSE file. |
@@ -9,7 +9,7 @@ See base/pack_file* for details. |
import struct |
-FILE_FORMAT_VERSION = 1 |
+FILE_FORMAT_VERSION = 2 |
HEADER_LENGTH = 2 * 4 # Two uint32s. (file version and number of entries) |
class WrongFileVersion(Exception): |
@@ -23,14 +23,15 @@ def ReadDataPack(input_file): |
# Read the header. |
version, num_entries = struct.unpack("<II", data[:HEADER_LENGTH]) |
if version != FILE_FORMAT_VERSION: |
+ print input_file |
Evan Martin
2011/08/03 18:43:09
Probably didn't mean to leave this in
tony
2011/08/04 17:42:53
Oops, removed.
|
raise WrongFileVersion |
resources = {} |
# Read the index and data. |
data = data[HEADER_LENGTH:] |
- kIndexEntrySize = 3 * 4 # Each entry is 3 uint32s. |
+ kIndexEntrySize = 2 + 2 * 4 # Each entry is 1 uint16 and 2 uint32s. |
for _ in range(num_entries): |
- id, offset, length = struct.unpack("<III", data[:kIndexEntrySize]) |
+ id, offset, length = struct.unpack("<HII", data[:kIndexEntrySize]) |
data = data[kIndexEntrySize:] |
resources[id] = original_data[offset:offset + length] |
@@ -44,12 +45,13 @@ def WriteDataPack(resources, output_file): |
# Write file header. |
file.write(struct.pack("<II", FILE_FORMAT_VERSION, len(ids))) |
- index_length = len(ids) * 3 * 4 # Each entry is 3 uint32s. |
+ # Each entry is 1 uint16 and 2 uint32s. |
+ index_length = len(ids) * (2 + 2 * 4) |
Evan Martin
2011/08/03 18:43:09
Too bad this is duplicated with the above code. N
|
# Write index. |
data_offset = HEADER_LENGTH + index_length |
for id in ids: |
- file.write(struct.pack("<III", id, data_offset, len(resources[id]))) |
+ file.write(struct.pack("<HII", id, data_offset, len(resources[id]))) |
data_offset += len(resources[id]) |
# Write data. |