mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 21:27:52 -04:00
6e779d1f1c
Trying to make up for some of the startup speed lost in the SDL transition. This saves about 1s from start (from ~3s), and about 500 MB of RAM. - Faster TIE unpack by merging matrix groups, more efficient vertex transforms, and skipping normal transforms on groups with no normals. - Refactor generic merc and merc to use a single renderer with multiple interfaces, rather than many renderers. Removed "LightningRenderer" as a special thing, but Warp is still special - Add more profiling stuff to startup and the loader. - Remove `SDL_INIT_HAPTIC` - this turned out to be needed for force-feedback steering wheels, and not needed for controller vibration - Switched `vag-player` to use quicksort instead of the default GOAL sort (very slow)
24 lines
783 B
C++
24 lines
783 B
C++
#include "Merc2BucketRenderer.h"
|
|
|
|
Merc2BucketRenderer::Merc2BucketRenderer(const std::string& name,
|
|
int my_id,
|
|
std::shared_ptr<Merc2> merc)
|
|
: BucketRenderer(name, my_id), m_renderer(merc) {}
|
|
|
|
void Merc2BucketRenderer::render(DmaFollower& dma,
|
|
SharedRenderState* render_state,
|
|
ScopedProfilerNode& prof) {
|
|
// skip if disabled
|
|
if (!m_enabled) {
|
|
while (dma.current_tag_offset() != render_state->next_bucket) {
|
|
dma.read_and_advance();
|
|
}
|
|
return;
|
|
}
|
|
|
|
m_renderer->render(dma, render_state, prof, &m_debug_stats);
|
|
}
|
|
|
|
void Merc2BucketRenderer::draw_debug_window() {
|
|
m_renderer->draw_debug_window(&m_debug_stats);
|
|
} |