Files
Cesarus85--mjolnir-vr/source/cache/xbox_texture_cache.c
T

194 lines
4.3 KiB
C

/*
XBOX_TEXTURE_CACHE.C
symbols in this file:
001AE410 0020:
_texture_cache_delete (0000)
001AE430 0010:
_texture_cache_open (0000)
001AE440 0010:
_texture_cache_idle (0000)
001AE450 0090:
_texture_cache_bitmap_new (0000)
001AE4E0 0040:
_texture_cache_bitmap_delete (0000)
001AE520 00e0:
_texture_cache_steal_memory (0000)
001AE600 0060:
_texture_cache_return_memory (0000)
001AE660 0030:
_code_001ae660 (0000)
001AE690 0090:
_bitmap_format_to_d3d_format (0000)
001AE720 0090:
_bitmap_format_to_d3d_linear_format (0000)
001AE7B0 0030:
_code_001ae7b0 (0000)
001AE7E0 0010:
_code_001ae7e0 (0000)
001AE7F0 0010:
_code_001ae7f0 (0000)
001AE800 0010:
_code_001ae800 (0000)
001AE810 0010:
_code_001ae810 (0000)
001AE820 0020:
_texture_cache_flush (0000)
001AE840 0040:
_code_001ae840 (0000)
001AE880 00a0:
_code_001ae880 (0000)
001AE920 0150:
_code_001ae920 (0000)
001AEA70 0100:
_code_001aea70 (0000)
001AEB70 00b0:
_texture_cache_new (0000)
001AEC20 0050:
_texture_cache_close (0000)
001AEC70 00e0:
_code_001aec70 (0000)
001AED50 0310:
_texture_cache_debug_render (0000)
001AF060 01f0:
__texture_cache_bitmap_get_hardware_format (0000)
002A7BD0 0090:
_rdata_002a7bd0 (0000)
002A7C60 002e:
??_C@_0CO@EKKOPCBA@?$CBTEST_FLAG?$CIbitmap?9?$DOflags?0?5_bitma@ (0000)
002A7C90 002a:
??_C@_0CK@BDDINKJM@c?3?2halo?2SOURCE?2cache?2xbox_textur@ (0000)
002A7CBC 002a:
??_C@_0CK@MBCIMJKB@?$CBxbox_texture_cache_globals?4stol@ (0000)
002A7CE8 0017:
??_C@_0BH@KHBOCJGF@remaining_page_count?$DO0?$AA@ (0000)
002A7D00 0029:
??_C@_0CJ@MMJPDHMC@xbox_texture_cache_globals?4stole@ (0000)
002A7D2C 0014:
??_C@_0BE@ILIIMHBE@table?$FLformat?$FN?$CB?$DNNONE?$AA@ (0000)
002A7D40 0030:
??_C@_0DA@KFGIBCJF@texture?9?$DObitmap?9?$DOcache_block_ind@ (0000)
002A7D70 0028:
??_C@_0CI@OLENPGPB@xbox_texture_cache_globals?4base_@ (0000)
002A7D98 0021:
??_C@_0CB@NHIMPHNC@xbox_texture_cache_globals?4cache@ (0000)
002A7DBC 0013:
??_C@_0BD@GPJOJANJ@xbox?5texture?5cache?$AA@ (0000)
002A7DD0 0024:
??_C@_0CE@IHAAKOAF@xbox_texture_cache_globals?4textu@ (0000)
002A7DF4 000d:
??_C@_0N@HJPPIHML@xbox?5texture?$AA@ (0000)
002A7E04 0025:
??_C@_0CF@LJFHGILO@new_texture_index?$DN?$DNcache_block_i@ (0000)
002A7E2C 000b:
??_C@_0L@PCGBDGNI@?$HMt?$CFd?$HMt?$CFs?$CFs?$AA@ (0000)
002A7E38 0044:
??_C@_0EE@BCDFBEJK@YOU?5GOT?5STABBED?$CB?$CB?$CB?$CB?5double?9click@ (0000)
004D1198 1618:
_bss_004d1198 (0000)
_texture_cache_debug_options (1610)
_debug_texture_cache (1612)
*/
/* ---------- headers */
#include "cseries/cseries.h"
#include "memory/data.h"
#include "memory/lruv_cache.h"
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
struct xbox_texture_cache_globals_prefix
{
byte reserved0000[0x1600];
struct data_array *textures;
byte reserved1604[4];
struct lruv_cache *cache;
boolean stolen_memory;
byte reserved160D[3];
};
typedef char verify_xbox_texture_cache_textures_offset[
offsetof(
struct xbox_texture_cache_globals_prefix,
textures) == 0x1600 ? 1 : -1];
typedef char verify_xbox_texture_cache_cache_offset[
offsetof(
struct xbox_texture_cache_globals_prefix,
cache) == 0x1608 ? 1 : -1];
typedef char verify_xbox_texture_cache_stolen_memory_offset[
offsetof(
struct xbox_texture_cache_globals_prefix,
stolen_memory) == 0x160C ? 1 : -1];
typedef char verify_xbox_texture_cache_globals_prefix_size[
sizeof(struct xbox_texture_cache_globals_prefix) == 0x1610 ? 1 : -1];
/* ---------- prototypes */
int __stdcall D3DDevice_IsBusy(
void);
void __stdcall D3DDevice_KickPushBuffer(
void);
/* ---------- globals */
extern struct xbox_texture_cache_globals_prefix bss_004d1198;
#define xbox_texture_cache_globals bss_004d1198
/* ---------- public code */
void texture_cache_delete(
void)
{
data_dispose(bss_004d1198.textures);
lruv_delete(bss_004d1198.cache);
return;
}
void texture_cache_open(
void)
{
data_make_valid(bss_004d1198.textures);
return;
}
void texture_cache_idle(
void)
{
lruv_idle(bss_004d1198.cache);
return;
}
void texture_cache_flush(
void)
{
D3DDevice_KickPushBuffer();
D3DDevice_IsBusy();
lruv_flush(xbox_texture_cache_globals.cache);
return;
}
void texture_cache_close(
void)
{
match_assert(
"c:\\halo\\SOURCE\\cache\\xbox_texture_cache.c",
133,
!xbox_texture_cache_globals.stolen_memory);
texture_cache_flush();
data_make_invalid(xbox_texture_cache_globals.textures);
return;
}
/* ---------- private code */