-
Notifications
You must be signed in to change notification settings - Fork 173
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
decomp3: spawn target
, add merc and particle buckets and some temporary hacks
#3445
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
partial review so far, I'll get through the rest tomorrow. This looks great!
ASSERT_MSG(entry_index >= 0, "weird sprite_distort startup crash happened again!"); | ||
// ASSERT_MSG(entry_index >= 0, "weird sprite_distort startup crash happened again!"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do we need this change? maybe we just need to port the fix from jak 2?
goal_src/jak3/engine/gfx/sprite/particles/sparticle-launcher.gc
Outdated
Show resolved
Hide resolved
goal_src/jak3/engine/gfx/sprite/particles/sparticle-launcher.gc
Outdated
Show resolved
Hide resolved
goal_src/jak3/engine/gfx/sprite/particles/sparticle-launcher.gc
Outdated
Show resolved
Hide resolved
(let ((v1-17 (sar v1-16 14))) | ||
;; og:preserve-this | ||
(set! (-> arg2 r-g-b-a quad) (the-as uint128 (logior (logand (the-as uint t7-0) (the-as uint -2)) v1-17))) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
actually - i think this relies on 64-bit ands leaving the upper 64 bits alone... maybe look at how we did this in jak 2? or fine to leave for now.
This includes all the collision stuff needed to spawn
target
, decompiles the sparticle code and adds some of the PC hacks needed for merc to run (it doesn't work quite right and looks bad, likely due to a combination of code copied from Jak 2 and the time of day hacks).There are a bunch of temporary hacks (see commits) in place to prevent the game from crashing quite as much, but it is still extremely prone to doing so due to lots of missing functions/potentially bad decomp.