/* CACHE_FILES.C symbols in this file: 001A9180 00f0: _cache_files_map_directory (0000) 001A9270 0030: _scenario_tags_unload (0000) 001A92A0 0010: _tag_files_open (0000) 001A92B0 0010: _tag_files_close (0000) 001A92C0 0040: _tag_groups_checksum (0000) 001A9300 0010: _cache_files_get_checksum (0000) 001A9310 00b0: _tag_loaded (0000) 001A93C0 0020: _cache_files_enable_writes (0000) 001A93E0 0090: _cache_files_disable_writes (0000) 001A9470 0020: _tag_block_resize (0000) 001A9490 0020: _tag_data_resize (0000) 001A94B0 0020: _tag_block_add_element (0000) 001A94D0 0010: _tag_block_delete_element (0000) 001A94E0 0020: _tag_load (0000) 001A9500 0010: _tag_unload (0000) 001A9510 0020: _tag_file_get_path (0000) 001A9530 0010: _tag_reference_set (0000) 001A9540 0020: _tag_iterator_new (0000) 001A9560 0070: _tag_iterator_next (0000) 001A95D0 00f0: _code_001a95d0 (0000) 001A96C0 0100: _cache_file_header_verify (0000) 001A97C0 0090: _cache_files_give_time_to_precache (0000) 001A9850 0130: _scenario_tags_load (0000) 001A9980 0120: _scenario_structure_bsp_load (0000) 001A9AA0 0080: _scenario_structure_bsp_unload (0000) 001A9B20 00b0: _tag_get (0000) 001A9BD0 0020: _tag_get_name (0000) 001A9BF0 0020: _tag_get_group_tag (0000) 002A62D8 0009: ??_C@_08NDLPNBDL@d?3?2maps?2?$AA@ (0000) 002A62E4 000c: ??_C@_0M@KPLLEAGM@d?3?2maps_it?2?$AA@ (0000) 002A62F0 000c: ??_C@_0M@OACCOJFB@d?3?2maps_es?2?$AA@ (0000) 002A62FC 000c: ??_C@_0M@PDFFCMII@d?3?2maps_fr?2?$AA@ (0000) 002A6308 000c: ??_C@_0M@EADFFBPG@d?3?2maps_de?2?$AA@ (0000) 002A6314 001e: ??_C@_0BO@JHMCCGLN@no?5valid?5map?5directory?5exists?$AA@ (0000) 002A6334 0023: ??_C@_0CD@DIDKODIK@c?3?2halo?2SOURCE?2cache?2cache_files@ (0000) 002A6358 001f: ??_C@_0BP@GJKOKCFG@cache_file_globals?4tags_loaded?$AA@ (0000) 002A6378 0015: ??_C@_0BF@KAIMLJJI@global_tag_instances?$AA@ (0000) 002A6390 003d: ??_C@_0DN@EPHHKDMF@tag_block_resize?$CI?$CJ?5is?5not?5suppor@ (0000) 002A63D0 003c: ??_C@_0DM@FNPDMPEA@tag_data_resize?$CI?$CJ?5is?5not?5support@ (0000) 002A6410 0042: ??_C@_0EC@MOKCAFPK@tag_block_add_element?$CI?$CJ?5is?5not?5s@ (0000) 002A6458 0045: ??_C@_0EF@NIGPCFB@tag_block_delete_element?$CI?$CJ?5is?5no@ (0000) 002A64A0 0035: ??_C@_0DF@IIJGOBIP@tag_load?$CI?$CJ?5is?5not?5supported?5with@ (0000) 002A64D8 0037: ??_C@_0DH@OJBEKPBJ@tag_unload?$CI?$CJ?5is?5not?5supported?5wi@ (0000) 002A6510 003e: ??_C@_0DO@CMGIBDCM@tag_file_get_path?$CI?$CJ?5is?5not?5suppo@ (0000) 002A6550 003e: ??_C@_0DO@PNBFAACM@tag_reference_set?$CI?$CJ?5is?5not?5suppo@ (0000) 002A6590 0022: ??_C@_0CC@JDEMIPEM@i?5don?8t?5think?5?$CF08x?5is?5a?5tag?5inde@ (0000) 002A65B4 0028: ??_C@_0CI@MCDCHEHF@?8?$CFs?8?5does?5not?5appear?5to?5be?5a?5cac@ (0000) 002A65DC 0036: ??_C@_0DG@MBMNLMG@the?5cache?5file?5?8?$CFs?8?5belongs?5to?5a@ (0000) 002A6614 0026: ??_C@_0CG@GAKJDLAF@the?5cache?5file?5?8?$CFs?8?5is?5an?5old?5ve@ (0000) 002A663C 002e: ??_C@_0CO@BLPPGPI@signature?5is?5?8?$CFc?$CFc?$CFc?$CFc?8?0?5should?5@ (0000) 002A666C 002b: ??_C@_0CL@BCHNHKGI@tag_instance?9?$DOgroup_tag?$DN?$DNSTRUCTU@ (0000) 002A6698 001c: ??_C@_0BM@EFCFDCHK@?$CBtag_instance?9?$DObase_address?$AA@ (0000) 002A66B8 005e: ??_C@_0FO@FEJCGGNA@cache_file_globals?4structure_bsp@ (0000) 002A6718 001b: ??_C@_0BL@OICFEJJN@tag_instance?9?$DObase_address?$AA@ (0000) 002A6734 0027: ??_C@_0CH@HHANGOKG@can?8t?5get?$CI?$CJ?5a?5tag?5with?5a?5base?5ad@ (0000) 002A675C 002e: ??_C@_0CO@IDEKIPEG@expected?5tag?5group?5?8?$CFs?8?5but?5got?5@ (0000) 00316820 0018: _data_00316820 (0000) 004CCB20 080c: _bss_004ccb20 (0000) */ /* ---------- headers */ #include "cseries.h" #include "cache_files.h" /* ---------- constants */ /* ---------- macros */ /* ---------- structures */ struct cache_file_tag_instance { long group_tag; long parent_group_tags[2]; long tag_index; char *name; void *base_address; unsigned long unused[2]; }; /* ---------- prototypes */ // TODO: /*static*/ struct cache_file_tag_instance *cache_get_tag_instance(long tag_index); /* ---------- globals */ /* ---------- public code */ void *tag_get( long group_tag, long tag_index) { char expected_group[16]; char returned_group[16]; struct cache_file_tag_instance *tag_instance = cache_get_tag_instance(tag_index); match_vassert( "c:\\halo\\SOURCE\\cache\\cache_files.c", 298, tag_instance->group_tag == group_tag || tag_instance->parent_group_tags[0] == group_tag || tag_instance->parent_group_tags[1] == group_tag, csprintf( temporary, "expected tag group '%s' but got '%s' for %08x", tag_to_string(group_tag, expected_group), tag_to_string(tag_instance->group_tag, returned_group), tag_index) ); match_vassert( "c:\\halo\\SOURCE\\cache\\cache_files.c", 302, tag_instance->base_address, csprintf(temporary, "can't get() a tag with a base address!") ); return tag_instance->base_address; } /* ---------- private code */