Makefile fixes / JUTNameTab (#129)

* Makefile: Fix issues with iconv causing it to break under devkitPro / msys

The version of iconv included in devkitPro does not have a -o option,
so replace it with normal shell redirection. Also, SHIFT-JIS does not
have a mapping for ~, so output the Windows CP932 variant instead,
which does. See:
https://en.wikipedia.org/wiki/Tilde#Unicode_and_Shift_JIS_encoding_of_wave_dash
https://en.wikipedia.org/wiki/Code_page_932_(Microsoft_Windows)#Single-byte_character_differences

* Update diff configuration

-Bbinary doesn't seem to work with my copy of
bjdump (it says it can't decode unknown architecture)

Cheese things by using expected/ instead of having
the user place things manually.

* JUTNameTab

* J3DPacket / J3DDrawBuffer

* format

Co-authored-by: lepelog <lepelog@users.noreply.github.com>
This commit is contained in:
Jasper St. Pierre
2021-05-10 08:54:07 -07:00
committed by GitHub
parent 9799fadfe8
commit 462d71cbef
836 changed files with 1165 additions and 1529 deletions
@@ -1,6 +1,51 @@
#ifndef J3DDRAWBUFFER_H
#define J3DDRAWBUFFER_H
#include "JSystem/J3DGraphBase/J3DSys.h"
#include "dolphin/mtx/mtx.h"
#include "dolphin/types.h"
class J3DDrawBuffer;
class J3DPacket;
class J3DDrawPacket;
class J3DMatPacket;
class J3DShapePacket;
typedef void (*J3DDrawBuffer_DrawFunc)(const J3DDrawBuffer* this_);
class J3DDrawBuffer {
public:
~J3DDrawBuffer();
void initialize();
J3DError allocBuffer(u32);
void frameInit();
void entryMatSort(J3DMatPacket*);
void entryMatAnmSort(J3DMatPacket*);
void entryZSort(J3DMatPacket*);
void entryModelSort(J3DMatPacket*);
void entryInvalidSort(J3DMatPacket*);
bool entryNonSort(J3DMatPacket*);
bool entryImm(J3DPacket* pPacket, u16 index);
void draw() const;
void drawHead() const;
void drawTail() const;
inline void calcZRatio();
public:
J3DPacket** mpBuf;
u32 mBufSize;
u32 mDrawType;
u32 mSortType;
float mZNear;
float mZFar;
float mZRatio;
Mtx* mpZMtx;
J3DPacket* mpCallBackPacket;
static u8 sortFuncTable[72];
static u8 drawFuncTable[24];
static u8 entryNum[4 + 4 /* padding */];
};
#endif /* J3DDRAWBUFFER_H */
+108
View File
@@ -1,6 +1,114 @@
#ifndef J3DPACKET_H
#define J3DPACKET_H
#include "JSystem/J3DGraphBase/J3DSys.h"
#include "dolphin/mtx/mtx.h"
#include "dolphin/types.h"
class J3DMatPacket;
class J3DDrawBuffer;
class J3DMaterial;
class J3DMaterialAnm;
class J3DModel;
class J3DMtxBuffer;
class J3DShape;
class J3DTexMtx;
class J3DTexture;
class J3DDisplayListObj {
public:
J3DError newDisplayList(u32);
J3DError newSingleDisplayList(u32);
J3DError single_To_Double();
void setSingleDisplayList(void*, u32);
void swapBuffer();
void callDL() const;
void beginDL();
void endDL();
void beginPatch();
void endPatch();
static u8 sGDLObj[16];
static u8 sInterruptFlag[4 + 4 /* padding */];
void* mpData[2];
u32 mSize;
u32 mCapacity;
};
class J3DPacket {
public:
void addChildPacket(J3DPacket* pChild);
inline void clear() {
mpNextSibling = NULL;
mpFirstChild = NULL;
}
virtual bool entry(J3DDrawBuffer* pDrawBuffer);
virtual void draw();
virtual ~J3DPacket();
public:
J3DPacket* mpNextSibling;
J3DPacket* mpFirstChild;
};
class J3DDrawPacket : public J3DPacket {
public:
J3DDrawPacket();
~J3DDrawPacket();
J3DError newDisplayList(u32);
J3DError newSingleDisplayList(u32);
virtual void draw();
public:
void* mpUserData;
int mFlags;
char mPad0[0x0C]; // unk
J3DDisplayListObj* mpDisplayListObj;
J3DTexMtx* mpTexMtx;
};
class J3DShapePacket : public J3DDrawPacket {
public:
J3DShapePacket();
void calcDifferedBufferSize(u32);
void newDifferedDisplayList(u32);
void prepareDraw() const;
void drawFast();
virtual ~J3DShapePacket();
virtual void draw();
public:
J3DShape* mpShape;
J3DMtxBuffer* mpMtxBuffer;
Mtx* mpViewMtx;
u32 mDiffFlag;
J3DModel* mpModel;
};
class J3DMatPacket : public J3DDrawPacket {
public:
J3DMatPacket();
void addShapePacket(J3DShapePacket*);
void beginDiff();
void endDiff();
void isSame(J3DMatPacket*) const;
virtual ~J3DMatPacket();
virtual bool entry(J3DDrawBuffer* pDrawBuffer);
virtual void draw();
public:
J3DShapePacket* mpShapePacket;
J3DShapePacket* mpFirstShapePacket;
J3DMaterial* mpMaterial;
s32 mSortFlags;
J3DTexture* mpTexture;
J3DMaterialAnm* mpMaterialAnm;
};
#endif /* J3DPACKET_H */
+6
View File
@@ -3,4 +3,10 @@
#include "dolphin/types.h"
// Perhaps move to a new J3DEnum.h?
enum J3DError {
kJ3DError_Success = 0,
kJ3DError_Alloc = 4,
};
#endif /* J3DSYS_H */