Skip to content

Commit

Permalink
Decompile foreground and bones (#3427)
Browse files Browse the repository at this point in the history
Small fix to decompiler when the original compiler uses `ra` register.
This seems to happen in "normal" code very rarely - perhaps they
manually specified this in an `rlet`.

Start figuring out buckets/textures for Jak 3.

The foreground code is not yet modified for PC - I want to wait until
the game is running, since it is too hard to do it now.
  • Loading branch information
water111 authored Mar 16, 2024
1 parent df2f3da commit 13def9a
Show file tree
Hide file tree
Showing 49 changed files with 8,784 additions and 3,690 deletions.
2 changes: 1 addition & 1 deletion decompiler/analysis/atomic_op_builder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ std::unique_ptr<AtomicOp> make_standard_load(const Instruction& i0,
int idx,
int load_size,
LoadVarOp::Kind kind) {
if (i0.get_dst(0).is_reg(rra()) || i0.get_dst(0).is_reg(Register(Reg::GPR, Reg::SP))) {
if (i0.get_dst(0).is_reg(Register(Reg::GPR, Reg::SP))) {
return std::make_unique<AsmOp>(i0, idx);
}
auto dst = make_dst_var(i0, idx);
Expand Down
4 changes: 2 additions & 2 deletions decompiler/config/jak2/all-types.gc
Original file line number Diff line number Diff line change
Expand Up @@ -7820,7 +7820,7 @@ In some cases, the return value is checked for `'dead`."
:flag-assert #xe00000020
;; field param1 uses ~A with a signed load field param2 uses ~A with a signed load field param3 uses ~A with a signed load
(:methods
(get-engine
(get-engine
"Get the engine for this connection. This must be used on a live connection." (connection) engine) ;; 9
(get-process "Get the process for this connection." (connection) process) ;; 10
(belongs-to-engine?
Expand Down Expand Up @@ -22432,7 +22432,7 @@ Levels store a reference to this which holds all the entities in the level."

(deftype entity (res-lump)
"Entities are mainly used to place objects in a level.

As a child of [[res-lump]], they store various types of metadata
in [[res-tag]]s (such as name, curve data, volume data, etc.)
that gets accessed by the accompanying process."
Expand Down
Loading

0 comments on commit 13def9a

Please sign in to comment.