Add hfrag, clean up some background renderer stuff (#3509)

This adds hfrag, but with a few remaining issues:
- The textures aren't animated. Instead, it just uses one texture.
- The texture filtering isn't as good as at it could be.

I also cleaned up a few issues with the background renderers:
- Cleaned up some stuff that is common to hfrag, tie, tfrag, shrub
- Moved time-of-day color packing stuff to FR3 creation, rather than at
level load. This appears to reduce the frame time spikes when a level is
first drawn by about 5 or 6 ms in big levels.
- Cleaned up the x86 specific stuff used in time of day. Now there's
only one place where we have an `ifdef`, rather than spreading it all
over the rendering code.
This commit is contained in:
water111
2024-05-09 20:11:43 -04:00
committed by GitHub
parent 949508d0ed
commit 5b04be2fa0
80 changed files with 13081 additions and 977 deletions
+1 -3
View File
@@ -81,14 +81,12 @@ int main(int argc, char** argv) {
return 1;
}
level_tools::DrawStats draw_stats;
// draw_stats.debug_print_dma_data = true;
level_tools::BspHeader bsp_header;
bsp_header.read_from_file(data, dts, &draw_stats, kGameVersion);
bsp_header.read_from_file(data, dts, kGameVersion);
level_tools::PrintSettings settings;
fmt::print("{}\n", bsp_header.print(settings));
fmt::print("Stats:\n{}\n", draw_stats.print());
} catch (const std::exception& e) {
fmt::print("Error: {}\n", e.what());