GfxEngine OK

This commit is contained in:
robojumper
2025-03-28 18:59:44 +01:00
parent d35c4adeef
commit b6db4eb100
5 changed files with 40 additions and 4 deletions
+1
View File
@@ -2242,6 +2242,7 @@ egg/gfx/eggG3DUtility.cpp:
egg/gfx/eggGfxEngine.cpp:
.text start:0x804A75B0 end:0x804A7744
.data start:0x8056F048 end:0x8056F058
egg/gfx/eggGlobalDrawState.cpp:
.text start:0x804A7750 end:0x804A7814
+1 -1
View File
@@ -37367,7 +37367,7 @@ __vt__Q23EGG16DrawPathLightMap = .data:0x8056EFA0; // type:object size:0x50
__vt__Q23EGG3Fog = .data:0x8056EFF0; // type:object size:0x20
__vt__Q23EGG10FogManager = .data:0x8056F010; // type:object size:0x1C
__vt__Q23EGG7Frustum = .data:0x8056F030; // type:object size:0x14
EGG__GfxEnginer__Configuration__vtable = .data:0x8056F048; // type:object size:0x10
__vt__Q33EGG9GfxEngine13Configuration = .data:0x8056F048; // type:object size:0xC
__vt__Q23EGG8IScnProc = .data:0x8056F058; // type:object size:0x10
__vt__Q23EGG12LightManager = .data:0x8056F068; // type:object size:0x2C
__vt__Q23EGG11LightObject = .data:0x8056F098; // type:object size:0x20
+1 -1
View File
@@ -880,7 +880,7 @@ config.libs = [
Object(Matching, "egg/gfx/eggFogManager.cpp"),
Object(NonMatching, "egg/gfx/eggFrustum.cpp"),
Object(NonMatching, "egg/gfx/eggG3DUtility.cpp"),
Object(NonMatching, "egg/gfx/eggGfxEngine.cpp"),
Object(Matching, "egg/gfx/eggGfxEngine.cpp"),
Object(Matching, "egg/gfx/eggGlobalDrawState.cpp"),
Object(NonMatching, "egg/gfx/eggGXUtility.cpp"),
Object(Matching, "egg/gfx/eggIScnProc.cpp"),
+1 -1
View File
@@ -18,7 +18,7 @@ struct Configuration {
/* 0x10 */ u32 bufferSize;
/* 0x14 */ u16 field_0x14;
/* 0x16 */ u16 field_0x16;
/* 0x18 */ u8 UNK_0x18[4];
/* 0x18 */ u8 field_0x18;
Configuration();
virtual ~Configuration() {}
};
+36 -1
View File
@@ -1,3 +1,38 @@
#include "egg/gfx/eggGfxEngine.h"
namespace EGG {} // namespace EGG
#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