Lines Matching refs:archive

35 BOOL WFS_LoadTable(WFSTableFormat *archive, MIAllocator *allocator,  in WFS_LoadTable()  argument
46 archive->origin = origin_a; in WFS_LoadTable()
47 archive->buffer = NULL; in WFS_LoadTable()
48 archive->length = 0; in WFS_LoadTable()
54 (void)MI_ReadDevice(device, buf, archive->origin, sizeof(buf)); in WFS_LoadTable()
55 archive->region[WFS_TABLE_REGION_FAT].offset = MI_LoadLE32(&header->fat.offset); in WFS_LoadTable()
56 archive->region[WFS_TABLE_REGION_FAT].length = MI_LoadLE32(&header->fat.length); in WFS_LoadTable()
57 archive->region[WFS_TABLE_REGION_FNT].offset = MI_LoadLE32(&header->fnt.offset); in WFS_LoadTable()
58 archive->region[WFS_TABLE_REGION_FNT].length = MI_LoadLE32(&header->fnt.length); in WFS_LoadTable()
65 archive->region[WFS_TABLE_REGION_OV9].offset = MI_LoadLE32(&header->main_ovt.offset) + diff; in WFS_LoadTable()
66 archive->region[WFS_TABLE_REGION_OV9].length = MI_LoadLE32(&header->main_ovt.length); in WFS_LoadTable()
67 archive->region[WFS_TABLE_REGION_OV7].offset = MI_LoadLE32(&header->sub_ovt.offset) + diff; in WFS_LoadTable()
68 archive->region[WFS_TABLE_REGION_OV7].length = MI_LoadLE32(&header->sub_ovt.length); in WFS_LoadTable()
74 mixed_overlay_count = (archive->region[WFS_TABLE_REGION_OV9].length + in WFS_LoadTable()
75 archive->region[WFS_TABLE_REGION_OV7].length) in WFS_LoadTable()
85 mem_region[i].length = archive->region[i].length; in WFS_LoadTable()
93 archive->length = offset; in WFS_LoadTable()
98 archive->buffer = MI_CallAlloc(allocator, archive->length, sizeof(u32)); in WFS_LoadTable()
99 if (archive->buffer) in WFS_LoadTable()
103 u8 *dst = archive->buffer; in WFS_LoadTable()
104 MI_StoreLE32(dst, archive->origin); in WFS_LoadTable()
108 const u32 length = archive->region[i].length; in WFS_LoadTable()
112 … (void)MI_ReadDevice(device, dst, archive->origin + archive->region[i].offset, length); in WFS_LoadTable()
121 u32 count = archive->region[WFS_TABLE_REGION_FAT].length / sizeof(WFSFATFormat); in WFS_LoadTable()
123 u8 *dst = &archive->buffer[mem_region[WFS_TABLE_REGION_FAT].offset]; in WFS_LoadTable()
128 … WFSOVLFormat *ovl = (WFSOVLFormat *)&archive->buffer[mem_region[i].offset + sizeof(u32)]; in WFS_LoadTable()
129 u32 num = archive->region[i].length / sizeof(WFSOVLFormat); in WFS_LoadTable()
141archive->origin + origin_b_fat + ovl[j].file_id * sizeof(WFSFATFormat), in WFS_LoadTable()
154 return (archive->buffer != NULL); in WFS_LoadTable()
168 void WFS_ParseTable(WFSTableFormat *archive) in WFS_ParseTable() argument
170 const u8 *src = archive->buffer; in WFS_ParseTable()
174 archive->origin = MI_LoadLE32(&src[pos]); in WFS_ParseTable()
181 archive->region[i].offset = pos; in WFS_ParseTable()
182 archive->region[i].length = len; in WFS_ParseTable()
184 if (pos > archive->length) in WFS_ParseTable()