1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-06-08 01:21:52 +00:00

[assets] Explicit size for textures and dlists (#2534)

* Add `conf.EXPLICIT_SIZES = True` for making some array resources declare and define with explicit length

* EXPLICIT_DL_AND_TEX_SIZES = True

* revert rm line
This commit is contained in:
Dragorn421 2025-05-23 08:58:20 +02:00 committed by GitHub
parent f456bc6bf8
commit 4eceb77128
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -42,6 +42,8 @@ BEST_EFFORT = True
VERBOSE_ColorIndexedTexturesManager = False VERBOSE_ColorIndexedTexturesManager = False
VERBOSE_BEST_EFFORT_TLUT_NO_REAL_USER = True VERBOSE_BEST_EFFORT_TLUT_NO_REAL_USER = True
EXPLICIT_DL_AND_TEX_SIZES = True
class MtxResource(CDataResource): class MtxResource(CDataResource):
braces_in_source = False braces_in_source = False
@ -274,9 +276,10 @@ class TextureResource(Resource):
self.height_name = f"{self.symbol_name}_HEIGHT" self.height_name = f"{self.symbol_name}_HEIGHT"
def get_c_declaration_base(self): def get_c_declaration_base(self):
if hasattr(self, "HACK_IS_STATIC_ON"): if hasattr(self, "HACK_IS_STATIC_ON") and self.is_tlut():
if self.is_tlut():
raise NotImplementedError raise NotImplementedError
if hasattr(self, "HACK_IS_STATIC_ON") or EXPLICIT_DL_AND_TEX_SIZES:
if not self.is_tlut():
return f"{self.elem_type} {self.symbol_name}[{self.height_name} * {self.width_name} * {self.siz.bpp} / 8 / sizeof({self.elem_type})]" return f"{self.elem_type} {self.symbol_name}[{self.height_name} * {self.width_name} * {self.siz.bpp} / 8 / sizeof({self.elem_type})]"
return f"{self.elem_type} {self.symbol_name}[]" return f"{self.elem_type} {self.symbol_name}[]"
@ -1335,7 +1338,7 @@ class DListResource(Resource, can_size_be_unknown=True):
return RESOURCE_PARSE_SUCCESS return RESOURCE_PARSE_SUCCESS
def get_c_declaration_base(self): def get_c_declaration_base(self):
if hasattr(self, "HACK_IS_STATIC_ON"): if hasattr(self, "HACK_IS_STATIC_ON") or EXPLICIT_DL_AND_TEX_SIZES:
length = (self.range_end - self.range_start) // 8 length = (self.range_end - self.range_start) // 8
return f"Gfx {self.symbol_name}[{length}]" return f"Gfx {self.symbol_name}[{length}]"
return f"Gfx {self.symbol_name}[]" return f"Gfx {self.symbol_name}[]"