diff --git a/common/goal_constants.h b/common/goal_constants.h index 9c7385a2e7..4e28487aec 100644 --- a/common/goal_constants.h +++ b/common/goal_constants.h @@ -57,7 +57,7 @@ constexpr int SYM_TO_STRING_OFFSET = 0xff37; constexpr int SYM_TO_HASH_OFFSET = 0x1fe6f; // amount of levels in level heap -constexpr int LEVEL_MAX = 6; +constexpr int LEVEL_MAX = 8; // 6 // total amount of levels, including ones outside level heap (default-level) constexpr int LEVEL_TOTAL = LEVEL_MAX + 1; } // namespace jak2 diff --git a/goal_src/jak2/engine/gfx/texture/texture.gc b/goal_src/jak2/engine/gfx/texture/texture.gc index 63618303c1..c7bd798157 100644 --- a/goal_src/jak2/engine/gfx/texture/texture.gc +++ b/goal_src/jak2/engine/gfx/texture/texture.gc @@ -1570,7 +1570,7 @@ additionally, some texture pages have a chunk system that allows more specific c ;; alpha has some special cases (cond ((= (-> lev index) LEVEL_MAX) ;; default level - ;; if the auto-save-icon-flag is set, clear flag and upload next time. + ;; if the auto-save-icon-flag is set, upload the alpha texture and clear flag. (if (not (-> *bigmap* auto-save-icon-flag)) (set! (-> lev upload-size 8) (upload-vram-pages pool (-> pool segment-common) tpage (tex-upload-mode seg0-1-2) bucket) diff --git a/goal_src/jak2/engine/level/level-h.gc b/goal_src/jak2/engine/level/level-h.gc index cadcd6f9f6..02a6a06ed9 100644 --- a/goal_src/jak2/engine/level/level-h.gc +++ b/goal_src/jak2/engine/level/level-h.gc @@ -7,9 +7,9 @@ ;; todo docs, methods ;; max amount of levels in level heap -(defconstant LEVEL_MAX 6) +(defconstant LEVEL_MAX 8) ;; total amount of levels, including ones outside level heap (default-level) -(defconstant LEVEL_TOTAL 7) +(defconstant LEVEL_TOTAL 9) (declare-type bsp-header basic) (declare-type drawable basic) @@ -386,8 +386,8 @@ (load-login-time float :offset-assert 160) (draw-level-count int32 :offset-assert 164) (draw-level level LEVEL_TOTAL :offset-assert 168) - (draw-index-map uint8 LEVEL_TOTAL :offset-assert 196) - (load-order uint64 :offset-assert 208) + (draw-index-map uint8 LEVEL_TOTAL :offset-assert 204) + (load-order uint64 :offset-assert 216) (pad uint8 30 :offset 216) (level level LEVEL_TOTAL :inline :offset-assert 256) (level0 level :inline :offset 256) diff --git a/goal_src/jak2/engine/level/level.gc b/goal_src/jak2/engine/level/level.gc index de3a0eb3fe..0509b42d02 100644 --- a/goal_src/jak2/engine/level/level.gc +++ b/goal_src/jak2/engine/level/level.gc @@ -1529,6 +1529,7 @@ into 7 sections, which might explain the weird sizes in the center. ;; copy data from entities to permanent storage (copy-perms-from-level! *game-info* obj) + ;; tell target (send-event *target* 'level-deactivate (-> obj name))