diff --git a/decompiler/config/jak3/all-types.gc b/decompiler/config/jak3/all-types.gc index 6a368353c8..854301d324 100644 --- a/decompiler/config/jak3/all-types.gc +++ b/decompiler/config/jak3/all-types.gc @@ -4185,7 +4185,7 @@ (tex-hud-pris2 580) (hud-draw-pris2 581) (bucket582 582) - (bucket583 583) + (debug 583) (debug-no-zbuf2 584) (debug-menu 585) (bucket586 586) diff --git a/game/graphics/opengl_renderer/OpenGLRenderer.cpp b/game/graphics/opengl_renderer/OpenGLRenderer.cpp index 69feab137d..403ff3eea9 100644 --- a/game/graphics/opengl_renderer/OpenGLRenderer.cpp +++ b/game/graphics/opengl_renderer/OpenGLRenderer.cpp @@ -199,6 +199,9 @@ void OpenGLRenderer::init_bucket_renderers_jak3() { // init_bucket_renderer("tex-hud-hud-alpha", BucketCategory::TEX, // BucketId::TEX_HUD_HUD_ALPHA, texture_animator); + // 583 + init_bucket_renderer("debug", BucketCategory::OTHER, + BucketId::DEBUG, 0x8000); // 584 init_bucket_renderer("debug-no-zbuf2", BucketCategory::OTHER, BucketId::DEBUG_NO_ZBUF2, 0x8000); diff --git a/game/graphics/opengl_renderer/buckets.h b/game/graphics/opengl_renderer/buckets.h index 4c120087e6..c858690bce 100644 --- a/game/graphics/opengl_renderer/buckets.h +++ b/game/graphics/opengl_renderer/buckets.h @@ -448,6 +448,7 @@ enum class BucketId { TEX_HUD_PRIS2 = 580, + DEBUG = 583, DEBUG_NO_ZBUF2 = 584, DEBUG_MENU = 585, diff --git a/game/kernel/jak3/klink.cpp b/game/kernel/jak3/klink.cpp index 3dcdd1e134..9f02572835 100644 --- a/game/kernel/jak3/klink.cpp +++ b/game/kernel/jak3/klink.cpp @@ -147,9 +147,9 @@ void link_control::jak3_begin(Ptr object_file, m_flags = flags; u16 version = l_hdr->core.version; - if (version == 4) { + if (version == 4 || version == 2) { // it's a v4 produced by opengoal... lets just try using jak2's linker - m_version = 4; + m_version = version; printf("got version 4, falling back to jak1/jak2\n"); jak1_jak2_begin(object_file, name, size, heap, flags); return; @@ -275,7 +275,7 @@ uint32_t link_control::jak3_work() { ASSERT(!m_opengoal); *(u32*)(((u8*)m_link_hdr) - 4) = *((s7 + jak3_symbols::FIX_SYM_LINK_BLOCK - 1).cast()); rv = jak3_work_v5(); - } else if (m_version == 4) { + } else if (m_version == 4 || m_version == 2) { // Note: this is a bit of a hack. Jak 3 doesn't support v2/v4. But, OpenGOAL generates data // objects in this format. We will just try reusing the jak 2 v2/v4 linker here and see if it // works. See corresponding call to jak1_jak2_begin in begin. diff --git a/goal_src/jak3/engine/anim/fma-sphere.gc b/goal_src/jak3/engine/anim/fma-sphere.gc index a7b2788514..2032d5a1a1 100644 --- a/goal_src/jak3/engine/anim/fma-sphere.gc +++ b/goal_src/jak3/engine/anim/fma-sphere.gc @@ -149,7 +149,7 @@ ) (add-debug-sphere #t - (bucket-id bucket583) + (bucket-id debug) (-> self root trans) (-> self sphere r) (new 'static 'rgba :r #x80 :g #x40 :a #x80) diff --git a/goal_src/jak3/engine/camera/cam-layout.gc b/goal_src/jak3/engine/camera/cam-layout.gc index bd0fc8ca04..512df3ae85 100644 --- a/goal_src/jak3/engine/camera/cam-layout.gc +++ b/goal_src/jak3/engine/camera/cam-layout.gc @@ -172,7 +172,7 @@ ) (dma-bucket-insert-tag (-> *display* frames (-> *display* on-screen) bucket-group) - (bucket-id bucket583) + (bucket-id debug) gp-0 (the-as (pointer dma-tag) a3-2) ) diff --git a/goal_src/jak3/engine/camera/cam-update.gc b/goal_src/jak3/engine/camera/cam-update.gc index 34e06253cb..71fe8351ab 100644 --- a/goal_src/jak3/engine/camera/cam-update.gc +++ b/goal_src/jak3/engine/camera/cam-update.gc @@ -212,8 +212,8 @@ ) (when (= a0-45 s3-0) (if (>= v1-95 0) - (add-debug-sphere #t (bucket-id bucket583) (-> s2-0 data s1-0) (meters 1) (new 'static 'rgba :b #xff :a #x80)) - (add-debug-sphere #t (bucket-id bucket583) (-> s2-0 data s1-0) (meters 1) (new 'static 'rgba :r #xff :a #x80)) + (add-debug-sphere #t (bucket-id debug) (-> s2-0 data s1-0) (meters 1) (new 'static 'rgba :b #xff :a #x80)) + (add-debug-sphere #t (bucket-id debug) (-> s2-0 data s1-0) (meters 1) (new 'static 'rgba :r #xff :a #x80)) ) ) ) @@ -245,7 +245,7 @@ (+! (-> a3-6 z) (the float (* (-> v1-109 back-box-max z) (the int (-> s4-1 bsp bsp-scale z))))) ) ) - (add-debug-box #t (bucket-id bucket583) a2-7 a3-6 (new 'static 'rgba :g #xff :b #xff :a #x80)) + (add-debug-box #t (bucket-id debug) a2-7 a3-6 (new 'static 'rgba :g #xff :b #xff :a #x80)) ) ) ) diff --git a/goal_src/jak3/engine/collide/main-collide.gc b/goal_src/jak3/engine/collide/main-collide.gc index 9986bb57f5..ba4c1ba931 100644 --- a/goal_src/jak3/engine/collide/main-collide.gc +++ b/goal_src/jak3/engine/collide/main-collide.gc @@ -191,7 +191,7 @@ (nop!) (let ((a2-0 (new-stack-vector0))) (.svf (&-> a2-0 quad) vf9) - (add-debug-sphere #t (bucket-id bucket583) a2-0 a3-0 (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80)) + (add-debug-sphere #t (bucket-id debug) a2-0 a3-0 (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80)) ) ) ) diff --git a/goal_src/jak3/engine/debug/debug.gc b/goal_src/jak3/engine/debug/debug.gc index 250a7a505e..cdbfc7d796 100644 --- a/goal_src/jak3/engine/debug/debug.gc +++ b/goal_src/jak3/engine/debug/debug.gc @@ -1333,7 +1333,7 @@ (set! (-> gp-0 0 y) (* (cos (-> arg0 stick0-dir)) (-> arg0 stick0-speed))) (dotimes (s5-1 32) (with-dma-buffer-add-bucket ((s3-0 (-> *display* frames (-> *display* on-screen) debug-buf)) - (bucket-id bucket583) + (bucket-id debug) ) (draw-sprite2d-xy s3-0 diff --git a/goal_src/jak3/engine/game/main.gc b/goal_src/jak3/engine/game/main.gc index 3e29b37a46..3271c2b492 100644 --- a/goal_src/jak3/engine/game/main.gc +++ b/goal_src/jak3/engine/game/main.gc @@ -1284,7 +1284,7 @@ (-> *display* frames (-> *display* on-screen) global-buf) ) ) - (bucket-id bucket583) + (bucket-id debug) ) (show-iop-memory s5-1) ) @@ -1467,12 +1467,12 @@ (load-continue (-> *level* loading-level)) ) - ; ;; run the drawing system! - ; ;; (note that this does a significant amount of non-drawing stuff, like collision callbacks, actors-update, - ; ;; navigation update...) - ; (with-profiler 'draw-hook *profile-draw-hook-color* - ; (*draw-hook*) - ; ) + ;; run the drawing system! + ;; (note that this does a significant amount of non-drawing stuff, like collision callbacks, actors-update, + ;; navigation update...) + (with-profiler 'draw-hook *profile-draw-hook-color* + (*draw-hook*) + ) ;; more level loading (if (-> *level* loading-level) @@ -1487,7 +1487,7 @@ (*menu-hook*) ; load the right language file. ;; disabled for now: seems to load 255COMMON.TXT. - ; (load-level-text-files -1) + (load-level-text-files -1) ;; draw screen filter (when (-> *screen-filter* draw?) @@ -1632,8 +1632,8 @@ (let ((gp-1 *display*)) ;; initial setup (set! *teleport* #t) - ;; (update *setting-control*) ;; dies on camera stuff, which looks for entities. - ;; (init-time-of-day-context *time-of-day-context*) ;; no time of day yet. + (update *setting-control*) ;; dies on camera stuff, which looks for entities. + ;; (init-time-of-day-context *time-of-day-context*) (display-sync gp-1) (display-frame-finish gp-1) (display-sync gp-1) diff --git a/goal_src/jak3/engine/gfx/mood/time-of-day.gc b/goal_src/jak3/engine/gfx/mood/time-of-day.gc index 5895d8951e..78c057194f 100644 --- a/goal_src/jak3/engine/gfx/mood/time-of-day.gc +++ b/goal_src/jak3/engine/gfx/mood/time-of-day.gc @@ -5,5 +5,8 @@ ;; name in dgo: time-of-day ;; dgos: GAME -;; DECOMP BEGINS +(define-extern time-of-day-effect (function none)) +(define-extern *overide-mood-color-table* mood-color-table) ;; +(define-extern *overide-mood-fog-table* mood-fog-table) ;; +;; DECOMP BEGINS diff --git a/goal_src/jak3/engine/gfx/mood/weather-part.gc b/goal_src/jak3/engine/gfx/mood/weather-part.gc index 6256c79bd0..3ea80fb100 100644 --- a/goal_src/jak3/engine/gfx/mood/weather-part.gc +++ b/goal_src/jak3/engine/gfx/mood/weather-part.gc @@ -5,5 +5,15 @@ ;; name in dgo: weather-part ;; dgos: GAME +;; stubs +(defun update-rain ((a0 float) (a1 vector) (a2 vector)) + (none) + ) + +(defun update-snow ((a0 float) (a1 vector) (a2 vector)) + (none) + ) + + ;; DECOMP BEGINS diff --git a/goal_src/jak3/engine/gfx/sky/sky-h.gc b/goal_src/jak3/engine/gfx/sky/sky-h.gc index a0414130b3..cdb846fc7a 100644 --- a/goal_src/jak3/engine/gfx/sky/sky-h.gc +++ b/goal_src/jak3/engine/gfx/sky/sky-h.gc @@ -197,7 +197,7 @@ (sky-work-method-9 () none) (sky-work-method-10 () none) (sky-work-method-11 () none) - (sky-work-method-12 () none) + (update-time-and-speed (_type_ float float) none) (sky-work-method-13 () none) (draw (_type_) none) (sky-work-method-15 () none) diff --git a/goal_src/jak3/engine/gfx/vu1-user-h.gc b/goal_src/jak3/engine/gfx/vu1-user-h.gc index 750e8ff35d..198728b533 100644 --- a/goal_src/jak3/engine/gfx/vu1-user-h.gc +++ b/goal_src/jak3/engine/gfx/vu1-user-h.gc @@ -28,7 +28,7 @@ :type int32 (bucket0 0) (bucket1 1) - (bucket2 2) + (bucket2 2) ;; pc vis stuff (bucket3 3) ;; blit? (tex-lcom-sky-pre 4) (bucket5 5) ;; sky @@ -679,7 +679,7 @@ (tex-hud-pris2 580) (hud-draw-pris2 581) (bucket582 582) - (bucket583 583) + (debug 583) (debug-no-zbuf2 584) (debug-menu 585) (bucket586 586) diff --git a/goal_src/jak3/engine/target/logic-target.gc b/goal_src/jak3/engine/target/logic-target.gc index 1b8e962794..be1048ae03 100644 --- a/goal_src/jak3/engine/target/logic-target.gc +++ b/goal_src/jak3/engine/target/logic-target.gc @@ -2412,7 +2412,7 @@ ) (add-debug-sphere #t - (bucket-id bucket583) + (bucket-id debug) (-> self control midpoint-of-hands) (meters 0.2) (the-as rgba (new 'static 'rgba :r #xff :a #x80))