summaryrefslogtreecommitdiff
path: root/src/egg/gfx/eggGfxEngine.cpp
blob: 9a1fc15041333e700c3e0f1ee5bc661acdd0eb0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include "egg/gfx/eggGfxEngine.h"

#include "common.h"
#include "egg/core/eggDisplay.h"
#include "egg/core/eggSystem.h"
#include "egg/core/eggVideo.h"
#include "rvl/GX/GXTexture.h"
#include "rvl/GX/GXTypes.h"

namespace EGG {

// Needed for dtor placement
void ProbablySomethingCreatingThisConfiguration() {
    GfxEngine::Configuration c;
}

GfxEngine::Configuration::Configuration()
    : efbWidth(640),
      efbHeight(528),
      clearColor((GXColor){0, 0, 0, 0}),
      field_0x08(0),
      field_0x0C(32),
      field_0x0E(256),
      bufferSize(0),
      field_0x14(608),
      field_0x16(812),
      field_0x18(0) {
    if (BaseSystem::getVideo() != nullptr) {
        efbWidth = BaseSystem::getVideo()->pRenderMode->fbWidth;
        efbHeight = BaseSystem::getVideo()->pRenderMode->efbHeight;
    }
    if (BaseSystem::getDisplay() != nullptr) {
        clearColor = BaseSystem::getDisplay()->getClearColor();
    }
    bufferSize = GXGetTexBufferSize(efbWidth, efbHeight, GX_TF_RGBA8, false, 0) * 3;
}

} // namespace EGG