Skip to content
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

Merged
merged 86 commits into from
Apr 5, 2024

Conversation

Hat-Kid
Copy link
Member

@Hat-Kid Hat-Kid commented Apr 3, 2024

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.

Copy link
Collaborator

@water111 water111 left a 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!

Comment on lines -427 to +428
ASSERT_MSG(entry_index >= 0, "weird sprite_distort startup crash happened again!");
// ASSERT_MSG(entry_index >= 0, "weird sprite_distort startup crash happened again!");
Copy link
Collaborator

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?

game/mips2c/jak3_functions/spatial_hash.cpp Show resolved Hide resolved
game/mips2c/jak3_functions/spatial_hash.cpp Show resolved Hide resolved
game/mips2c/jak3_functions/spatial_hash.cpp Show resolved Hide resolved
goal_src/jak3/engine/ai/enemy.gc Outdated Show resolved Hide resolved
goal_src/jak3/engine/entity/entity.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)))
Copy link
Collaborator

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.

@water111 water111 merged commit 93afb02 into open-goal:master Apr 5, 2024
9 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants