jak-project/game
water111 08741f0a42
[jak2] float patch for bogus collide frags (#2686)
Should fix https://github.com/open-goal/jak-project/issues/2679

Here's a test program that will trigger the bug when near these guards:
```lisp
(define *cquery* (new 'global 'collide-query))

(defun test-bad-collide ()
  (let ((lower (new 'static 'vector  :x 1681893.8750  :y 61314.2031 :z 345208.6562 :w 1.))
        (upper (new 'static 'vector :x 1701603.8750 :y  67624.0625 :z 357881.0312 :w 1.))
        ;(cquery (new 'stack-no-clear 'collide-query))
        )
    (set! (-> *cquery* collide-with) (the-as collide-spec 1))
    (set! (-> *cquery* ignore-process0) #f)
    (set! (-> *cquery* ignore-process1) #f)
    (set! (-> *cquery* ignore-pat) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1))
    (set! (-> *cquery* action-mask) (collide-action solid))
    (set! (-> *cquery* bbox min quad) (-> lower quad))
    (set! (-> *cquery* bbox max quad) (-> upper quad))
    (format 0 "doing collide...~%")
    (fill-using-bounding-box *collide-cache* *cquery*)
    (format 0 "have ~d and ~d~%" (-> *collide-cache* num-tris) (-> *collide-cache* num-prims))
    )
  (none)
  )
```

As far as I can tell, there's a totally invalid collide-hash with an
inside `axis-scale.z`. On the PS2, it gets ignore because of how
float->int works for floats that are too big. On PC, it ends up using a
negative value and loop forever.
2023-06-04 15:19:08 -04:00
..
assets i18n: add MysticGamer23's swedish subtitles (#2667) 2023-05-19 21:06:24 -04:00
common jak2: overlord rework (#2544) 2023-04-29 16:13:57 -04:00
graphics [jak 2] Fix possible stereo desync in overlord (#2663) 2023-05-19 21:17:11 -04:00
kernel vag player + skill tracker debug tools and fix some decomp (#2664) 2023-05-18 23:12:23 +01:00
mips2c [jak2] float patch for bogus collide frags (#2686) 2023-06-04 15:19:08 -04:00
overlord overlord: Some cleanup (#2669) 2023-05-26 17:55:10 -04:00
sce overlord: Some cleanup (#2669) 2023-05-26 17:55:10 -04:00
sound jak2: overlord rework (#2544) 2023-04-29 16:13:57 -04:00
system jak2: overlord rework (#2544) 2023-04-29 16:13:57 -04:00
tools i18n: Create a JSON subtitle format for translating via Crowdin (#2644) 2023-05-18 20:54:59 -04:00
CMakeLists.txt cmake: sort game/CMakeLists.txt files (#2633) 2023-05-07 18:54:33 +01:00
discord.cpp g/jak2: initial Discord RPC implementation (#2100) 2023-01-07 10:34:01 -05:00
discord.h game: Remove temporary CLI arg shim in gk (#2532) 2023-04-22 14:13:57 -04:00
main.cpp game: don't exit prematurely when rebooting in debug (#2608) 2023-04-30 23:06:11 -04:00
runtime.cpp [IOP] revert change that ran the iop way too much (#2681) 2023-06-04 10:57:34 -04:00
runtime.h game: Remove temporary CLI arg shim in gk (#2532) 2023-04-22 14:13:57 -04:00