Make the door lock a part of the key door model to eliminate z-fighting, also reduce z fighting on numbered doors with AUTO_LOD enabled.

This commit is contained in:
Arceveti
2021-12-15 17:30:22 -08:00
parent 212e71120f
commit 993e8ec4e2
3 changed files with 244 additions and 186 deletions

View File

@@ -133,12 +133,9 @@ extern const Gfx door_seg3_dl_one_star_near[];
extern const Gfx door_seg3_dl_one_star_far[];
extern const Gfx door_seg3_dl_three_stars_near[];
extern const Gfx door_seg3_dl_three_stars_far[];
extern const Gfx door_seg3_sub_dl_lock_begin[];
extern const Gfx door_seg3_sub_dl_lock_end[];
extern const Gfx door_seg3_dl_lock_far[];
extern const Gfx door_seg3_dl_lock_near[];
extern const Gfx door_seg3_dl_key_door[];
extern const Gfx door_seg3_sub_dl_themed_handle_near[];
extern const Gfx door_seg3_sub_dl_themed_door_overlay[];
extern const Gfx door_seg3_sub_dl_themed_door_sides[];
extern const Gfx door_seg3_sub_dl_themed_door[];
extern const Gfx door_seg3_sub_dl_themed_door_begin[];
extern const Gfx door_seg3_dl_rough_wooden_door_near[];

View File

@@ -189,6 +189,7 @@ const GeoLayout castle_door_0_star_geo[] = {
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_OPEN_NODE(),
#ifndef AUTO_LOD
GEO_RENDER_RANGE(-2048, 1000),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_polished_wooden_door_near),
@@ -197,6 +198,7 @@ const GeoLayout castle_door_0_star_geo[] = {
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(1000, 32767),
#endif
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_polished_wooden_door_near),
GEO_OPEN_NODE(),
@@ -221,6 +223,7 @@ const GeoLayout castle_door_1_star_geo[] = {
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_OPEN_NODE(),
#ifndef AUTO_LOD
GEO_RENDER_RANGE(-2048, 1000),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_polished_wooden_door_near),
@@ -229,6 +232,7 @@ const GeoLayout castle_door_1_star_geo[] = {
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(1000, 32767),
#endif
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_polished_wooden_door_near),
GEO_OPEN_NODE(),
@@ -253,6 +257,7 @@ const GeoLayout castle_door_3_stars_geo[] = {
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_OPEN_NODE(),
#ifndef AUTO_LOD
GEO_RENDER_RANGE(-2048, 1000),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_polished_wooden_door_near),
@@ -261,6 +266,7 @@ const GeoLayout castle_door_3_stars_geo[] = {
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(1000, 32767),
#endif
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_polished_wooden_door_near),
GEO_OPEN_NODE(),
@@ -285,20 +291,7 @@ const GeoLayout key_door_geo[] = {
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_OPEN_NODE(),
GEO_RENDER_RANGE(-2048, 1000),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_polished_wooden_door_near),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, door_seg3_dl_lock_near),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(1000, 32767),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_polished_wooden_door_near),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, door_seg3_dl_lock_far),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_key_door),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),

File diff suppressed because it is too large Load Diff