Match compression for gc-eu-mq (#1704)

* Improve compression

* Format

* Typo

* Use Python assignment expression in tools/dmadata.py

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Review decompress_baserom.py

* Replace DEFINE_DEBUG_SCENE with CPP defines

* Pass is_zlib_compressed instead of version

* Reword NOLOAD comment in write_compress_ranges

* Remove redundant comment

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
This commit is contained in:
cadmic
2024-02-03 14:59:19 -08:00
committed by GitHub
parent 0cbcebfded
commit d674dad3da
13 changed files with 220 additions and 177 deletions
+2 -2
View File
@@ -1,8 +1,8 @@
/**
* Select dmadata table for version
*/
#ifdef NON_MATCHING
// For non-matching builds, dmadata is generated from the specfile segments
#if !OOT_DEBUG || NON_MATCHING
// For retail versions and non-matching builds, dmadata is generated from the specfile segments
#include "dmadata_table_spec.h"
#else
#include "dmadata_table_mqdbg.h"
+2 -1
View File
@@ -110,7 +110,7 @@
/* 0x62 */ DEFINE_SCENE(spot18_scene, g_pn_41, SCENE_GORON_CITY, SDC_GORON_CITY, 0, 0)
/* 0x63 */ DEFINE_SCENE(spot20_scene, g_pn_42, SCENE_LON_LON_RANCH, SDC_LON_LON_RANCH, 0, 0)
/* 0x64 */ DEFINE_SCENE(ganon_tou_scene, g_pn_43, SCENE_OUTSIDE_GANONS_CASTLE, SDC_OUTSIDE_GANONS_CASTLE, 0, 0)
// Debug-only scenes
#if OOT_DEBUG
/* 0x65 */ DEFINE_SCENE(test01_scene, none, SCENE_TEST01, SDC_CALM_WATER, 0, 0)
/* 0x66 */ DEFINE_SCENE(besitu_scene, none, SCENE_BESITU, SDC_BESITU, 0, 0)
/* 0x67 */ DEFINE_SCENE(depth_test_scene, none, SCENE_DEPTH_TEST, SDC_DEFAULT, 0, 0)
@@ -120,3 +120,4 @@
/* 0x6B */ DEFINE_SCENE(hairal_niwa2_scene, g_pn_12, SCENE_HAIRAL_NIWA2, SDC_CASTLE_COURTYARD_GUARDS, 0, 0)
/* 0x6C */ DEFINE_SCENE(sasatest_scene, none, SCENE_SASATEST, SDC_DEFAULT, 0, 0)
/* 0x6D */ DEFINE_SCENE(testroom_scene, none, SCENE_TESTROOM, SDC_DEFAULT, 0, 0)
#endif
+15 -3
View File
@@ -355,9 +355,21 @@ typedef enum {
#undef DEFINE_SCENE
// this define exists to preserve shiftability for an unused scene that is
// listed in the entrance table
#define SCENE_UNUSED_6E SCENE_ID_MAX
// Fake enum values for scenes that are still referenced in the entrance table
#if !OOT_DEBUG
// Debug-only scenes
#define SCENE_TEST01 0x65
#define SCENE_BESITU 0x66
#define SCENE_DEPTH_TEST 0x67
#define SCENE_SYOTES 0x68
#define SCENE_SYOTES2 0x69
#define SCENE_SUTARU 0x6A
#define SCENE_HAIRAL_NIWA2 0x6B
#define SCENE_SASATEST 0x6C
#define SCENE_TESTROOM 0x6D
#endif
// Deleted scene
#define SCENE_UNUSED_6E 0x6E
// Entrance Index Enum
#define DEFINE_ENTRANCE(enum, _1, _2, _3, _4, _5, _6) enum,