[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
+8 -9
View File
@@ -20,27 +20,26 @@ DirTpageResult process_dir_tpages(ObjectFileData& data) {
int word_idx = 0;
// first is type
assert(words.at(word_idx).kind == LinkedWord::TYPE_PTR);
assert(words.at(word_idx).symbol_name == "texture-page-dir");
assert(words.at(word_idx).kind() == LinkedWord::TYPE_PTR);
assert(words.at(word_idx).symbol_name() == "texture-page-dir");
word_idx++;
// next is length
assert(words.at(word_idx).kind == LinkedWord::PLAIN_DATA);
assert(words.at(word_idx).kind() == LinkedWord::PLAIN_DATA);
int dir_length = words.at(word_idx).data;
fmt::print("length: {}\n", dir_length);
word_idx++;
for (int i = 0; i < dir_length; i++) {
assert(words.at(word_idx).kind == LinkedWord::PLAIN_DATA);
assert(words.at(word_idx).kind() == LinkedWord::PLAIN_DATA);
u32 entry = words.at(word_idx).data;
assert((entry & 0xffff7000) == 0); // 7 checks for sign bit.
word_idx++;
result.lengths.push_back(entry & 0xffff);
assert(words.at(word_idx).kind == LinkedWord::SYM_PTR);
assert(words.at(word_idx).symbol_name == "#f");
assert(words.at(word_idx).kind() == LinkedWord::SYM_PTR);
assert(words.at(word_idx).symbol_name() == "#f");
word_idx++;
assert(words.at(word_idx).kind == LinkedWord::SYM_PTR);
assert(words.at(word_idx).symbol_name == "#f");
assert(words.at(word_idx).kind() == LinkedWord::SYM_PTR);
assert(words.at(word_idx).symbol_name() == "#f");
word_idx++;
}