diff --git a/Src/Graphics/New3D/PolyHeader.h b/Src/Graphics/New3D/PolyHeader.h index c10f339..683e461 100644 --- a/Src/Graphics/New3D/PolyHeader.h +++ b/Src/Graphics/New3D/PolyHeader.h @@ -31,7 +31,7 @@ xxxxxxxx xxxxxxxx xxxxxxxx-------- Polygon normal X coordinate(2.22 fixed point -------- -------- -------- ----x--- 1 = smooth shading, 0 = flat shading -------- -------- -------- -----x-- If set, this is the last polygon -------- -------- -------- ------x- Poly color, 1 = RGB, 0 = color table --------- -------- -------- -------x No los return ? +-------- -------- -------- -------x No los return (line of sight) 0x02: xxxxxxxx xxxxxxxx xxxxxxxx -------- Polygon normal Y coordinate(2.22 fixed point) @@ -50,7 +50,7 @@ xxxxxxxx xxxxxxxx xxxxxxxx -------- Polygon normal Z coordinate(2.22 fixed poin 0x04: xxxxxxxx xxxxxxxx xxxxxxxx -------- Color (RGB888 or two 12-bit indexes, sensor color and color) --------- -------- -------- x------- Translator map enable ? (Seems to be some 4/5bit colour format. Max observed value=16) +-------- -------- -------- x------- Translator map enable (multiplies colour values by 16) -------- -------- -------- -x------ Texture page -------- -------- -------- ---xxxxx Upper 5 bits of texture U coordinate diff --git a/Src/Model3/IRQ.cpp b/Src/Model3/IRQ.cpp index 4022128..870671a 100644 --- a/Src/Model3/IRQ.cpp +++ b/Src/Model3/IRQ.cpp @@ -112,7 +112,9 @@ void CIRQ::Init(void) // this function really only exists for consistency with other device classes } -CIRQ::CIRQ(void) +CIRQ::CIRQ(void) : + irqEnable(0), + irqState(0) { DebugLog("Built IRQ controller\n"); } diff --git a/Src/Model3/MPC10x.cpp b/Src/Model3/MPC10x.cpp index 4313b51..27707a6 100644 --- a/Src/Model3/MPC10x.cpp +++ b/Src/Model3/MPC10x.cpp @@ -346,14 +346,15 @@ void CMPC10x::Init(void) * * Constructor. */ -CMPC10x::CMPC10x(void) +CMPC10x::CMPC10x(void) : + regs{}, + PCIBus(nullptr), + model(0x105), // default to MPC105 + pciBus(0), + pciDevice(0), + pciFunction(0), + pciReg(0) { - PCIBus = NULL; - model = 0x105; // default to MPC105 - pciBus = 0; - pciDevice = 0; - pciFunction = 0; - pciReg = 0; DebugLog("Built MPC10x\n"); } @@ -364,6 +365,6 @@ CMPC10x::CMPC10x(void) */ CMPC10x::~CMPC10x(void) { - PCIBus = NULL; + PCIBus = nullptr; DebugLog("Destroyed MPC10x\n"); } diff --git a/Src/Model3/Real3D.cpp b/Src/Model3/Real3D.cpp index 1121114..d7d34dd 100644 --- a/Src/Model3/Real3D.cpp +++ b/Src/Model3/Real3D.cpp @@ -969,7 +969,30 @@ Result CReal3D::Init(const uint8_t *vromPtr, IBus *BusObjectPtr, CIRQ *IRQObject CReal3D::CReal3D(const Util::Config::Node &config) : m_config(config), - m_gpuMultiThreaded(config["GPUMultiThreaded"].ValueAs()) + m_gpuMultiThreaded(config["GPUMultiThreaded"].ValueAs()), + Bus(nullptr), + IRQ(nullptr), + commandPortWritten(false), + commandPortWrittenRO(false), + cullingRAMHi(nullptr), + cullingRAMHiDirty(nullptr), + cullingRAMHiRO(nullptr), + dmaConfig(0), + dmaData(0), + dmaDest(0), + dmaIRQ(0), + dmaLength(0), + dmaSrc(0), + dmaStatus(0), + dmaUnknownReg(0), + m_modeword{}, + m_pingPong(0), + pciID(0), + polyRAMDirty(nullptr), + polyRAMRO(nullptr), + step(0), + textureRAMDirty(nullptr), + textureRAMRO(nullptr) { Render3D = NULL; memoryPool = NULL; diff --git a/Src/Version.h b/Src/Version.h index a6e3138..6f7ba6e 100644 --- a/Src/Version.h +++ b/Src/Version.h @@ -29,7 +29,7 @@ #define INCLUDED_VERSION_H #ifndef SUPERMODEL_VERSION -#define SUPERMODEL_VERSION "0.3a-905bfa2-mm DirtBagXon (Sinden)" +#define SUPERMODEL_VERSION "0.3a-8fd480f-mm DirtBagXon (Sinden)" #endif #endif // INCLUDED_VERSION_H