mirror of
https://github.com/zeldaret/tp
synced 2026-06-07 12:07:34 -04:00
Various JSystem work (#2383)
* JKernel and JStudio cleanup * JMessage cleanup * JAudio cleanup * JASBNKParser work * functionvalue work * fvb work * J2D and J3D cleanup * steal from tww * J2DPictureEx mostly done * fix build
This commit is contained in:
@@ -7,7 +7,6 @@
|
||||
#include "JSystem/J3DGraphBase/J3DGD.h"
|
||||
#include "JSystem/J3DGraphBase/J3DSys.h"
|
||||
#include "JSystem/J3DGraphBase/J3DTransform.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/os.h"
|
||||
#include "string.h"
|
||||
#include "global.h"
|
||||
@@ -359,8 +358,8 @@ void J3DColorBlockLightOff::load() {
|
||||
mColorChanOffset = GDGetCurrOffset();
|
||||
J3DGDWriteXFCmdHdr(0x100e, 4);
|
||||
mColorChan[0].load();
|
||||
mColorChan[1].load();
|
||||
mColorChan[2].load();
|
||||
mColorChan[1].load();
|
||||
mColorChan[3].load();
|
||||
}
|
||||
|
||||
@@ -376,8 +375,8 @@ void J3DColorBlockAmbientOn::load() {
|
||||
mColorChanOffset = GDGetCurrOffset();
|
||||
J3DGDWriteXFCmdHdr(0x100e, 4);
|
||||
mColorChan[0].load();
|
||||
mColorChan[1].load();
|
||||
mColorChan[2].load();
|
||||
mColorChan[1].load();
|
||||
mColorChan[3].load();
|
||||
}
|
||||
|
||||
@@ -390,8 +389,8 @@ void J3DColorBlockLightOn::load() {
|
||||
mColorChanOffset = GDGetCurrOffset();
|
||||
J3DGDWriteXFCmdHdr(0x100e, 4);
|
||||
mColorChan[0].load();
|
||||
mColorChan[1].load();
|
||||
mColorChan[2].load();
|
||||
mColorChan[1].load();
|
||||
mColorChan[3].load();
|
||||
for (u32 i = 0; i < 8; i++) {
|
||||
if (mLight[i] != NULL) {
|
||||
@@ -423,8 +422,8 @@ void J3DColorBlockLightOff::patchLight() {
|
||||
GDOverflowCheck(SizeOfLoadColorChans);
|
||||
J3DGDWriteXFCmdHdr(0x100e, 4);
|
||||
mColorChan[0].load();
|
||||
mColorChan[1].load();
|
||||
mColorChan[2].load();
|
||||
mColorChan[1].load();
|
||||
mColorChan[3].load();
|
||||
void* end = GDGetCurrPointer();
|
||||
DCStoreRange(start, (u32)end - (u32)start);
|
||||
@@ -453,8 +452,8 @@ void J3DColorBlockLightOn::patchLight() {
|
||||
GDOverflowCheck(SizeOfLoadColorChans);
|
||||
J3DGDWriteXFCmdHdr(0x100e, 4);
|
||||
mColorChan[0].load();
|
||||
mColorChan[1].load();
|
||||
mColorChan[2].load();
|
||||
mColorChan[1].load();
|
||||
mColorChan[3].load();
|
||||
for (u32 i = 0; i < 8; i++) {
|
||||
if (mLight[i] != NULL) {
|
||||
@@ -484,8 +483,8 @@ void J3DColorBlockLightOff::diffColorChan() {
|
||||
GDOverflowCheck(SizeOfLoadColorChans);
|
||||
J3DGDWriteXFCmdHdr(0x100e, 4);
|
||||
mColorChan[0].load();
|
||||
mColorChan[1].load();
|
||||
mColorChan[2].load();
|
||||
mColorChan[1].load();
|
||||
mColorChan[3].load();
|
||||
}
|
||||
|
||||
@@ -521,8 +520,8 @@ void J3DColorBlockLightOn::diffColorChan() {
|
||||
GDOverflowCheck(SizeOfLoadColorChans);
|
||||
J3DGDWriteXFCmdHdr(0x100e, 4);
|
||||
mColorChan[0].load();
|
||||
mColorChan[1].load();
|
||||
mColorChan[2].load();
|
||||
mColorChan[1].load();
|
||||
mColorChan[3].load();
|
||||
}
|
||||
|
||||
|
||||
@@ -288,7 +288,6 @@ void J3DMaterial::setCurrentMtx() {
|
||||
}
|
||||
|
||||
/* 80316AC8-80316D68 311408 02A0+00 1/1 0/0 0/0 .text calcCurrentMtx__11J3DMaterialFv */
|
||||
// NONMATCHING Issues with setCurrentTexMtx
|
||||
void J3DMaterial::calcCurrentMtx() {
|
||||
if (!j3dSys.checkFlag(0x40000000)) {
|
||||
mCurrentMtx.setCurrentTexMtx(
|
||||
|
||||
@@ -10,16 +10,6 @@
|
||||
#include <dolphin/os.h>
|
||||
#include "global.h"
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void countVertex__12J3DShapeDrawFUl();
|
||||
extern "C" void* __nwa__FUli();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void _savegpr_18();
|
||||
extern "C" void _restgpr_18();
|
||||
|
||||
/* 80314924-80314974 30F264 0050+00 1/1 0/0 0/0 .text countVertex__12J3DShapeDrawFUl */
|
||||
u32 J3DShapeDraw::countVertex(u32 stride) {
|
||||
u32 count = 0;
|
||||
@@ -54,18 +44,18 @@ void J3DShapeDraw::addTexMtxIndexInDL(u32 stride, u32 attrOffs, u32 valueBase) {
|
||||
|
||||
// Copy count
|
||||
// regalloc (I suspect there's a way to shove this in a u16 temp without an mr)
|
||||
u32 vtxNum = *((u16*)(oldDL + 1));
|
||||
s32 vtxNum = *((u16*)(oldDL + 1));
|
||||
*((u16*)newDL) = vtxNum;
|
||||
newDL += 2;
|
||||
|
||||
for (s32 i = 0; i < (u16)vtxNum; i++) {
|
||||
for (s32 i = 0; i < vtxNum; i++) {
|
||||
u8* oldDLVtx = &oldDL[stride * i + 3];
|
||||
u8 pnmtxidx = *oldDLVtx;
|
||||
memcpy(newDL, oldDLVtx, attrOffs);
|
||||
u8* newDL1 = &newDL[attrOffs];
|
||||
*newDL1++ = valueBase + pnmtxidx;
|
||||
memcpy(newDL1, oldDLVtx + attrOffs, stride - attrOffs);
|
||||
newDL = newDL1 + (stride - attrOffs);
|
||||
newDL += attrOffs;
|
||||
*newDL++ = valueBase + pnmtxidx;
|
||||
memcpy(newDL, oldDLVtx + attrOffs, stride - attrOffs);
|
||||
newDL += (stride - attrOffs);
|
||||
}
|
||||
|
||||
oldDL += stride * vtxNum;
|
||||
|
||||
Reference in New Issue
Block a user