jak-project/decompiler/analysis/insert_lets.h
ManDude 0212aa10c9
[decomp] better handling of animation code and art files (#1352)
* update refs

* [decompiler] read and process art groups

* finish decompiler art group selection & detect in `ja-group?`

* make art stuff work on offline tests!

* [decompiler] detect `ja-group!` (primitive)

* corrections.

* more

* use new feature on skel groups!

* find `loop!` as well

* fully fledged `ja` macro & decomp + `loop` detect

* fancy fixed point printing!

* update source

* `:num! max` (i knew i should've done this)

* Update jak1_ntsc_black_label.jsonc

* hi imports

* make compiling the game work

* fix `defskelgroup`

* clang

* update refs

* fix chan

* fix seek and finalboss

* fix tests

* delete unused function

* track let rewrite stats

* reorder `rewrite_let`

* Update .gitattributes

* fix bug with `:num! max`

* Update robotboss-part.gc

* Update goal-lib.gc

* document `ja`

* get rid of pc fixes thing

* use std::abs
2022-05-20 02:30:14 +01:00

27 lines
618 B
C++

#pragma once
#include "decompiler/Function/Function.h"
#include "decompiler/IR2/Env.h"
#include "decompiler/IR2/Form.h"
#include "decompiler/ObjectFile/ObjectFileDB.h"
namespace decompiler {
struct LetStats {
int total_vars = 0;
int vars_in_lets = 0;
void operator+=(const LetStats& other) {
total_vars += other.total_vars;
vars_in_lets += other.vars_in_lets;
}
};
LetStats insert_lets(const Function& func,
Env& env,
FormPool& pool,
Form* top_level_form,
LetRewriteStats& let_stats);
} // namespace decompiler