#include "egg/gfx/eggGlobalDrawState.h" #include "common.h" #include "egg/gfx/eggStateEfb.h" #include "egg/gfx/eggStateGX.h" #include "rvl/MTX/mtx.h" namespace EGG { Screen const *GlobalDrawState::spScreen; u16 GlobalDrawState::sCameraId; u32 GlobalDrawState::sDrawFlag; // unknown nw4r::math::MTX34 GlobalDrawState::sMtx; GlobalDrawState sState; void GlobalDrawState::beginDrawView(u16 cameraId, const nw4r::math::MTX34 &mtx, const Screen &screen) { spScreen = &screen; sCameraId = cameraId; MTXCopy(mtx, sMtx); StateEfb::Clean(); } void GlobalDrawState::setDrawSettingGX(bool b1, bool b2) { StateGX::GXSetColorUpdate_((sDrawFlag & 1) != 0); StateGX::GXSetAlphaUpdate_((sDrawFlag & 2) != 0); StateGX::GXSetDither_((sDrawFlag & 4) != 0); StateGX::GXSetDstAlpha_(false, 0); if (b2 && spScreen != nullptr) { spScreen->SetProjectionGX(); } } } // namespace EGG