[graphics] tfrag3 renderer (#978)

* begin work

* work

* working objs

* exporting

* it works

* before some time of day fixes

* add time of day interp and also fix zbuffer

* some small blending fixes

* improve randomess

* clean up extraction and missing blend mode

* culling, time of day, more level fixes

* more cleanup

* cleanup memory usage

* windows fix
This commit is contained in:
water111
2021-12-04 12:33:18 -05:00
committed by GitHub
parent 0d7b7da116
commit 083202929c
92 changed files with 5533 additions and 666 deletions
+6 -6
View File
@@ -1135,36 +1135,36 @@ Instruction decode_instruction(LinkedWord& word, LinkedObjectFile& file, int seg
}
}
if (word.kind == LinkedWord::SYM_OFFSET) {
if (word.kind() == LinkedWord::SYM_OFFSET) {
bool fixed = false;
for (int j = 0; j < i.n_src; j++) {
if (i.src[j].kind == InstructionAtom::IMM) {
fixed = true;
i.src[j].set_sym(word.symbol_name);
i.src[j].set_sym(word.symbol_name());
}
}
assert(fixed);
}
if (word.kind == LinkedWord::HI_PTR) {
if (word.kind() == LinkedWord::HI_PTR) {
assert(i.kind == InstructionKind::LUI);
bool fixed = false;
for (int j = 0; j < i.n_src; j++) {
if (i.src[j].kind == InstructionAtom::IMM) {
fixed = true;
i.src[j].set_label(word.label_id);
i.src[j].set_label(word.label_id());
}
}
assert(fixed);
}
if (word.kind == LinkedWord::LO_PTR) {
if (word.kind() == LinkedWord::LO_PTR) {
assert(i.kind == InstructionKind::ORI);
bool fixed = false;
for (int j = 0; j < i.n_src; j++) {
if (i.src[j].kind == InstructionAtom::IMM) {
fixed = true;
i.src[j].set_label(word.label_id);
i.src[j].set_label(word.label_id());
}
}
assert(fixed);