mirror of https://github.com/zeldaret/tp
wii building OK / m_Do_graphic debug work (#2815)
* wii building OK + m_Do_graphic debug work * d_meter_HIO debug cleanup * wii m_Do_graphic stuff * tag_attack_item OK, mirror_chain almost * fix build * mg_fshop matching
This commit is contained in:
parent
4350a38fe0
commit
540217c31b
|
|
@ -134,7 +134,7 @@ m_Do/m_Do_machine_exception.cpp:
|
|||
c/c_damagereaction.cpp:
|
||||
.text start:0x8001DD0C end:0x8001DFE4
|
||||
.ctors start:0x803CE25C end:0x803CE260
|
||||
.data start:0x803F7238 end:0x803F9CF0
|
||||
.data start:0x803F7238 end:0x803F7288
|
||||
.bss start:0x8047D480 end:0x8047D490
|
||||
.sdata start:0x805377B8 end:0x80537808
|
||||
.sbss start:0x8053A8F4 end:0x8053A8FC
|
||||
|
|
@ -143,7 +143,7 @@ c/c_damagereaction.cpp:
|
|||
c/c_dylink.cpp:
|
||||
.text start:0x8001DFE4 end:0x8001E4D4
|
||||
.rodata start:0x803CE450 end:0x803CFC00
|
||||
.data start:0x803F9CF0 end:0x803F9D00
|
||||
.data start:0x803F7288 end:0x803F9D00
|
||||
.bss start:0x8047D490 end:0x8047E0E8
|
||||
.sbss start:0x8053A8FC end:0x8053A908
|
||||
|
||||
|
|
|
|||
40
configure.py
40
configure.py
|
|
@ -258,9 +258,9 @@ cflags_base = [
|
|||
]
|
||||
|
||||
if config.version == "ShieldD":
|
||||
cflags_base.extend(["-O0", "-inline off", "-RTTI on", "-str reuse", "-enc SJIS", "-DDEBUG=1"])
|
||||
cflags_base.extend(["-O0", "-inline off", "-RTTI on", "-str reuse", "-enc SJIS", "-DDEBUG=1", "-DWIDESCREEN_SUPPORT=1"])
|
||||
elif config.version == "RZDE01_00" or config.version == "RZDE01_02" or config.version == "Shield":
|
||||
cflags_base.extend(["-O4,p", "-inline auto", "-ipa file", "-RTTI on", "-str reuse", "-enc SJIS"])
|
||||
cflags_base.extend(["-O4,p", "-inline auto", "-ipa file", "-RTTI on", "-str reuse", "-enc SJIS", "-DWIDESCREEN_SUPPORT=1"])
|
||||
else:
|
||||
cflags_base.extend(["-O4,p", "-inline auto", "-RTTI off", "-str reuse", "-multibyte"])
|
||||
|
||||
|
|
@ -396,15 +396,11 @@ def MWVersion(cfg_version: str | None) -> str:
|
|||
case "GZ2J01":
|
||||
return "GC/2.7"
|
||||
case "RZDE01_00" | "RZDE01_02":
|
||||
# TODO: Find right compiler for Wii
|
||||
# GC/3.0a3 codegen seems better than Wii compilers, but it fails linking (linker version?) and can't handle multi-char constants
|
||||
# Potentially missing an early Wii compiler that had the earlier codegen and reverted char constant change?
|
||||
# Or some specific compiler used in the early days of transitioning GC to Wii development
|
||||
# Additionally, "-ipa file" seems to needed, so it can't be earlier than GC 3.0
|
||||
# GC/3.0a5.2 breaks when compiling TUs like m_Do_graphic, but none of the other 3.0+ ones do
|
||||
# Wii/1.0RC1 is the earliest Wii one we have at this time but it doesn't have the right codegen from GC/3.0+
|
||||
# (GC 3.0a3 - Dec 2005 | GC 3.0a5.2 - Aug 2006 | Wii 1.0RC - May 2008)
|
||||
return "Wii/1.0RC1"
|
||||
# NOTE: we use a modified version of GC/3.0a3 to be able to handle multi-char constants.
|
||||
# This was probably a change made in some compiler version in the early days of transitioning GC to Wii development,
|
||||
# but we don't have that version. GC/3.0a3 appears to have the best overall codegen of any available GC/Wii compiler
|
||||
# However GC/3.0a5 is required for the linker version, GC/3.0a3 won't work.
|
||||
return "GC/3.0a3t"
|
||||
case "ShieldD":
|
||||
return "Wii/1.0"
|
||||
case "Shield":
|
||||
|
|
@ -412,7 +408,10 @@ def MWVersion(cfg_version: str | None) -> str:
|
|||
case _:
|
||||
return "GC/2.7"
|
||||
|
||||
config.linker_version = MWVersion(config.version)
|
||||
if config.version == "RZDE01_00" or config.version == "RZDE01_02":
|
||||
config.linker_version = "GC/3.0a5"
|
||||
else:
|
||||
config.linker_version = MWVersion(config.version)
|
||||
|
||||
|
||||
# Helper function for Dolphin libraries
|
||||
|
|
@ -600,6 +599,7 @@ config.libs = [
|
|||
"host": True,
|
||||
"objects": [
|
||||
Object(NonMatching, "d/d_home_button.cpp"),
|
||||
Object(NonMatching, "d/d_cursor_mng.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_stage.cpp"),
|
||||
Object(Equivalent, "d/d_map.cpp"), # weak func order
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_com_inf_game.cpp"),
|
||||
|
|
@ -780,6 +780,16 @@ config.libs = [
|
|||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "DynamicLink.cpp"),
|
||||
],
|
||||
},
|
||||
{
|
||||
"lib": "CaptureScreen",
|
||||
"mw_version": MWVersion(config.version),
|
||||
"cflags": cflags_framework,
|
||||
"progress_category": "core",
|
||||
"host": True,
|
||||
"objects": [
|
||||
Object(NonMatching, "CaptureScreen.cpp"),
|
||||
],
|
||||
},
|
||||
{
|
||||
"lib": "SSystem",
|
||||
"mw_version": MWVersion(config.version),
|
||||
|
|
@ -1679,7 +1689,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_swc00"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_tag_CstaSw"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_tag_ajnot"),
|
||||
ActorRel(NonMatching, "d_a_tag_attack_item"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_tag_attack_item"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_tag_gstart"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_tag_hinit"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_tag_hjump"),
|
||||
|
|
@ -1834,7 +1844,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_kytag15"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_kytag16"),
|
||||
ActorRel(NonMatching, "d_a_mant"),
|
||||
ActorRel(NonMatching, "d_a_mg_fshop"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_mg_fshop"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_mirror"),
|
||||
ActorRel(NonMatching, "d_a_movie_player", extra_cflags=["-O3,p"]),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_myna"),
|
||||
|
|
@ -2129,7 +2139,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_mhole"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_mie"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_mirror_6pole"),
|
||||
ActorRel(NonMatching, "d_a_obj_mirror_chain"),
|
||||
ActorRel(Equivalent, "d_a_obj_mirror_chain"), # stack order
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_mirror_sand"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_mirror_screw"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_mirror_table"),
|
||||
|
|
|
|||
|
|
@ -0,0 +1,21 @@
|
|||
#ifndef CAPTURESCREEN_H
|
||||
#define CAPTURESCREEN_H
|
||||
|
||||
#include "JSystem/JFramework/JFWDisplay.h"
|
||||
|
||||
class CaptureScreen {
|
||||
public:
|
||||
CaptureScreen(const JFWDisplay*);
|
||||
|
||||
static int getAlignedWidthBytes(int);
|
||||
static int getBmpBufferSize(int, int);
|
||||
void makeBmpFromEfb(void*, int, int, int, int, int, int);
|
||||
void openBmp(int, int);
|
||||
void closeBmp();
|
||||
void saveBmp(void*, u32);
|
||||
|
||||
/* 0x0 */ const JFWDisplay* mpDisplay;
|
||||
/* 0x4 */ int field_0x4;
|
||||
};
|
||||
|
||||
#endif /* CAPTURESCREEN_H */
|
||||
|
|
@ -72,6 +72,10 @@ public:
|
|||
|
||||
static JFWDisplay* getManager() { return sManager; }
|
||||
|
||||
static JFWDisplay* createManager(JKRHeap* i_heap, JUTXfb::EXfbNumber i_xfbNum, bool param_2) {
|
||||
return createManager(NULL, i_heap, i_xfbNum, param_2);
|
||||
}
|
||||
|
||||
bool startFadeOut(int param_0) {
|
||||
if (mFader != NULL) {
|
||||
return mFader->startFadeOut(param_0);
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public:
|
|||
|
||||
void newGroupId(u8 groupId) { mGroupId = groupId; }
|
||||
bool isValid() const { return mMagic == 'HM'; }
|
||||
bool _isTempMemBlock() const { return (mFlags & 0x80) ? true : false; }
|
||||
bool isTempMemBlock() const { return mFlags & 0x80; }
|
||||
int getAlignment() const { return mFlags & 0x7f; }
|
||||
void* getContent() const { return (void*)(this + 1); }
|
||||
CMemBlock* getPrevBlock() const { return mPrev; }
|
||||
|
|
|
|||
|
|
@ -68,4 +68,8 @@ inline JKRFileCache* JKRMountDvdDrive(const char* path, JKRHeap* heap, const cha
|
|||
return JKRFileCache::mount(path, heap, param_2);
|
||||
}
|
||||
|
||||
inline void JKRUnmountDvdDrive(JKRFileCache* filecache) {
|
||||
filecache->unmount();
|
||||
}
|
||||
|
||||
#endif /* JKRFILECACHE_H */
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ public:
|
|||
void setDebugFill(bool debugFill) { mDebugFill = debugFill; }
|
||||
bool getDebugFill() const { return mDebugFill; }
|
||||
void* getStartAddr() { return (void*)mStart; }
|
||||
void* getEndAddr() const { return (void*)mEnd; }
|
||||
void* getEndAddr() { return (void*)mEnd; }
|
||||
u32 getSize() const { return mSize; }
|
||||
bool getErrorFlag() const { return mErrorFlag; }
|
||||
void callErrorHandler(JKRHeap* heap, u32 size, int alignment) {
|
||||
|
|
|
|||
|
|
@ -9,12 +9,12 @@
|
|||
*/
|
||||
class JPADrawInfo {
|
||||
public:
|
||||
JPADrawInfo(Mtx param_0, f32 fovY, f32 aspect) {
|
||||
JPADrawInfo(const Mtx param_0, f32 fovY, f32 aspect) {
|
||||
MTXCopy(param_0, mCamMtx);
|
||||
C_MTXLightPerspective(mPrjMtx, fovY, aspect, 0.5f, -0.5f, 0.5f, 0.5f);
|
||||
}
|
||||
|
||||
JPADrawInfo(Mtx param_0, f32 top, f32 bottom, f32 left, f32 right) {
|
||||
JPADrawInfo(const Mtx param_0, f32 top, f32 bottom, f32 left, f32 right) {
|
||||
MTXCopy(param_0, mCamMtx);
|
||||
C_MTXLightOrtho(mPrjMtx, top, bottom, left, right, 0.5f, 0.5f, 0.5f, 0.5f);
|
||||
}
|
||||
|
|
@ -24,6 +24,8 @@ public:
|
|||
|
||||
void getCamMtx(Mtx dst) const { MTXCopy(mCamMtx, dst); }
|
||||
void getPrjMtx(Mtx dst) const { MTXCopy(mPrjMtx, dst); }
|
||||
|
||||
void setPrjMtx(const Mtx src) { MTXCopy(src, mPrjMtx); }
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -110,7 +110,10 @@ public:
|
|||
void stopMotor() { mRumble.stopMotor(mPortNum, false); }
|
||||
void stopMotorHard() { mRumble.stopMotorHard(mPortNum); }
|
||||
|
||||
static s8 getPortStatus(u32 port) { return mPadStatus[port].err; }
|
||||
static s8 getPortStatus(EPadPort port) {
|
||||
JUT_ASSERT(360, 0 <= port && port < 4);
|
||||
return mPadStatus[port].err;
|
||||
}
|
||||
|
||||
struct CButton {
|
||||
CButton() { clear(); }
|
||||
|
|
|
|||
|
|
@ -71,6 +71,19 @@ inline T cLib_maxLimit(T val, T max) {
|
|||
return (T)ret;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
inline T cLib_minLimit(T val, T min) {
|
||||
T ret;
|
||||
|
||||
if (val < min) {
|
||||
ret = min;
|
||||
} else {
|
||||
ret = val;
|
||||
}
|
||||
|
||||
return (T)ret;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
T cLib_getRndValue(T min, T range) {
|
||||
return (T)(min + cM_rndF((f32)range));
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ struct fs_rod_s {
|
|||
/* 0x4C */ int field_0x4c;
|
||||
/* 0x50 */ u8 field_0x50[0x54 - 0x50];
|
||||
/* 0x54 */ f32 field_0x54;
|
||||
/* 0x58 */ u8 field_0x58[0x5C - 0x58];
|
||||
/* 0x58 */ s16 field_0x58;
|
||||
};
|
||||
|
||||
struct fs_lure_s {
|
||||
|
|
@ -82,8 +82,9 @@ struct fs_koro2_s {
|
|||
* @details
|
||||
*
|
||||
*/
|
||||
class fshop_class : public fopAc_ac_c {
|
||||
class fshop_class {
|
||||
public:
|
||||
/* 0x0000 */ fopAc_ac_c actor;
|
||||
/* 0x0568 */ request_of_phase_process_class mPhase;
|
||||
/* 0x0570 */ s16 field_0x0570;
|
||||
/* 0x0572 */ s16 field_0x0572;
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public:
|
|||
/* 80C96E40 */ int createHeap();
|
||||
/* 80C975EC */ void initBaseMtx();
|
||||
/* 80C97618 */ void setBaseMtx();
|
||||
/* 80C976B8 */ int draw();
|
||||
/* 80C976B8 */ inline int draw();
|
||||
/* 80C97988 */ int execute();
|
||||
inline ~daObjMirrorChain_c();
|
||||
inline void create_init();
|
||||
|
|
|
|||
|
|
@ -1,5 +1,35 @@
|
|||
#ifndef D_A_TAG_ATTACK_ITEM_H
|
||||
#define D_A_TAG_ATTACK_ITEM_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_event_lib.h"
|
||||
#include "d/d_cc_d.h"
|
||||
|
||||
class daTagAtkItem_c : public fopAc_ac_c , public dEvLib_callback_c {
|
||||
public:
|
||||
daTagAtkItem_c() : dEvLib_callback_c(this) {}
|
||||
|
||||
/* 805A2958 */ void setBaseMtx();
|
||||
/* 805A2990 */ int Create();
|
||||
/* 805A2A34 */ int create();
|
||||
/* 805A2C48 */ int execute();
|
||||
/* 805A2CA8 */ void action();
|
||||
/* 805A2D58 */ BOOL checkHit();
|
||||
/* 805A2F54 */ void createItem();
|
||||
/* 805A3038 */ int _delete();
|
||||
|
||||
/* 805A3118 */ virtual ~daTagAtkItem_c() {}
|
||||
/* 805A2D10 */ virtual bool eventStart();
|
||||
/* 805A2D34 */ virtual bool eventEnd();
|
||||
|
||||
u8 getEvId() { return fopAcM_GetParamBit(this, 0x18, 8); }
|
||||
u8 getNum() { return fopAcM_GetParamBit(this, 8, 8); }
|
||||
u8 getItemBit() { return fopAcM_GetParamBit(this, 0x10, 8); }
|
||||
u8 getItemNo() { return fopAcM_GetParamBit(this, 0, 8); }
|
||||
|
||||
/* 0x57C */ u8 field_0x57C[0x584 - 0x57C];
|
||||
/* 0x584 */ dCcD_Stts mCcStts;
|
||||
/* 0x5C0 */ dCcD_Cyl mCyl;
|
||||
};
|
||||
|
||||
#endif /* D_A_TAG_ATTACK_ITEM_H */
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
#include "d/d_stage.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
|
||||
dAttention_c* dComIfGp_getAttention();
|
||||
|
||||
|
|
@ -1063,7 +1064,7 @@ public:
|
|||
|
||||
bool CheckFlag(u32 i_flag) { return mEventFlags & i_flag; }
|
||||
|
||||
void ResetView() { setView(0.0f, 0.0f, 608.0f, 448.0f); }
|
||||
void ResetView() { setView(0.0f, 0.0f, FB_WIDTH, FB_HEIGHT); }
|
||||
|
||||
void clearInfo(dCamInfo_c* i_info, s16 param_1) {
|
||||
i_info->field_0x1e = param_1;
|
||||
|
|
|
|||
|
|
@ -236,7 +236,7 @@ public:
|
|||
/* 0x04F69 */ u8 mNeedLightDropNum;
|
||||
/* 0x04F6A */ u8 field_0x4f6a[18];
|
||||
/* 0x04F7C */ u8 mMesgBgm;
|
||||
/* 0x04F7D */ bool mPauseFlag;
|
||||
/* 0x04F7D */ u8 mPauseFlag;
|
||||
/* 0x04F7E */ u8 mItemLifeCountType;
|
||||
/* 0x04F7F */ u8 mOxygenShowFlag;
|
||||
/* 0x04F80 */ u8 mShow2D;
|
||||
|
|
@ -715,7 +715,7 @@ public:
|
|||
|
||||
void setDirection(u8 i_dir) { mItemInfo.mDirection = i_dir; }
|
||||
|
||||
bool& isPauseFlag() { return mItemInfo.mPauseFlag; }
|
||||
u8 isPauseFlag() { return mItemInfo.mPauseFlag; }
|
||||
void offPauseFlag() { mItemInfo.mPauseFlag = false; }
|
||||
void onPauseFlag() { mItemInfo.mPauseFlag = true; }
|
||||
u8 getOxygenShowFlag() { return mItemInfo.mOxygenShowFlag; }
|
||||
|
|
@ -3095,7 +3095,7 @@ inline bool dComIfGp_isBottleSetFlag(u8 flag) {
|
|||
return g_dComIfG_gameInfo.play.isBottleSetFlag(flag);
|
||||
}
|
||||
|
||||
inline bool dComIfGp_isPauseFlag() {
|
||||
inline u8 dComIfGp_isPauseFlag() {
|
||||
return g_dComIfG_gameInfo.play.isPauseFlag();
|
||||
}
|
||||
|
||||
|
|
@ -4069,6 +4069,10 @@ inline JPABaseEmitter* dComIfGp_particle_getEmitter(u32 param_0) {
|
|||
return g_dComIfG_gameInfo.play.getParticle()->getEmitter(param_0);
|
||||
}
|
||||
|
||||
inline void dComIfGp_particle_levelExecute(u32 param_0) {
|
||||
g_dComIfG_gameInfo.play.getParticle()->levelExecute(param_0);
|
||||
}
|
||||
|
||||
inline u32 dComIfGp_particle_setSimpleFoot(u32 param_0, u32* param_1, cBgS_PolyInfo& param_2,
|
||||
cXyz const* param_3, dKy_tevstr_c const* param_4,
|
||||
int param_5, csXyz const* param_6, cXyz const* param_7,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,9 @@
|
|||
#ifndef D_CURSOR_MNG_H
|
||||
#define D_CURSOR_MNG_H
|
||||
|
||||
#include "m_Do/m_Re_controller_pad.h"
|
||||
|
||||
// TODO: putting this here until a more appropriate place is found
|
||||
extern u8 data_8053a730;
|
||||
|
||||
#endif /* D_CURSOR_MNG_H */
|
||||
|
|
@ -312,6 +312,11 @@ bool dMeter2Info_isItemOpenCheck();
|
|||
bool dMeter2Info_isMapOpenCheck();
|
||||
s16 dMeter2Info_getNowLifeGauge();
|
||||
|
||||
#if WIDESCREEN_SUPPORT
|
||||
void dMeter2Info_onWide2D();
|
||||
void dMeter2Info_offWide2D();
|
||||
#endif
|
||||
|
||||
inline void dMeter2Info_Initialize() {
|
||||
g_meter2_info.init();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,17 +3,27 @@
|
|||
|
||||
#include "JSystem/JUtility/TColor.h"
|
||||
#include "JSystem/JHostIO/JORReflexible.h"
|
||||
#include "JSystem/JHostIO/JORServer.h"
|
||||
#include "SSystem/SComponent/c_sxyz.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "global.h"
|
||||
|
||||
struct subJOREventCallbackListNode : public JOREventCallbackListNode {
|
||||
subJOREventCallbackListNode() : JOREventCallbackListNode(0x81000000, 0x81000000, true) {}
|
||||
|
||||
virtual int JORAct(u32, const char*);
|
||||
virtual ~subJOREventCallbackListNode() {}
|
||||
};
|
||||
|
||||
class JKRAramArchive;
|
||||
|
||||
class dMeter_menuHIO_c {
|
||||
class dMeter_menuHIO_c : public JORReflexible {
|
||||
public:
|
||||
/* 801FE330 */ dMeter_menuHIO_c();
|
||||
/* 8020123C */ virtual ~dMeter_menuHIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
/* 0x0 */ // vtable
|
||||
/* 0x4 */ u8 field_0x4[2];
|
||||
/* 0x6 */ s16 mGameover;
|
||||
|
|
@ -21,11 +31,13 @@ public:
|
|||
|
||||
STATIC_ASSERT(sizeof(dMeter_menuHIO_c) == 8);
|
||||
|
||||
class dMeter_drawCollectHIO_c {
|
||||
class dMeter_drawCollectHIO_c : public JORReflexible {
|
||||
public:
|
||||
dMeter_drawCollectHIO_c();
|
||||
virtual ~dMeter_drawCollectHIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
enum {
|
||||
/* 0x0 */ VESSEL_HEART,
|
||||
/* 0x1 */ VESSEL_DECOR
|
||||
|
|
@ -70,11 +82,13 @@ public:
|
|||
/* 0x9C */ bool mButtonDebugON;
|
||||
}; // Size = 0xA0
|
||||
|
||||
class dMeter_drawOptionHIO_c {
|
||||
class dMeter_drawOptionHIO_c : public JORReflexible {
|
||||
public:
|
||||
/* 801FE4EC */ dMeter_drawOptionHIO_c();
|
||||
/* 80200F98 */ virtual ~dMeter_drawOptionHIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
enum OptionType {
|
||||
/* 0x0 */ ATTENTION,
|
||||
/* 0x1 */ RUMBLE,
|
||||
|
|
@ -106,11 +120,13 @@ public:
|
|||
/* 0x6D */ u8 mBackgroundAlpha;
|
||||
}; // Size: 0x70
|
||||
|
||||
class dMeter_drawLetterHIO_c {
|
||||
class dMeter_drawLetterHIO_c : public JORReflexible {
|
||||
public:
|
||||
/* 801FE5CC */ dMeter_drawLetterHIO_c();
|
||||
/* 80200F50 */ virtual ~dMeter_drawLetterHIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
enum {
|
||||
/* 0x0 */ WINDOW_FRAME,
|
||||
/* 0x1 */ LETTER_FRAME
|
||||
|
|
@ -146,11 +162,13 @@ public:
|
|||
/* 0x5F */ bool mDebugON;
|
||||
}; // Size: 0x60
|
||||
|
||||
class dMeter_drawFishingHIO_c {
|
||||
class dMeter_drawFishingHIO_c : public JORReflexible {
|
||||
public:
|
||||
/* 801FE730 */ dMeter_drawFishingHIO_c();
|
||||
/* 80200F08 */ virtual ~dMeter_drawFishingHIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
enum {
|
||||
/* 0x0 */ HYLIAN_BASS,
|
||||
/* 0x1 */ HYLIAN_LOACH,
|
||||
|
|
@ -196,11 +214,13 @@ public:
|
|||
/* 0x250 */ bool mDebug;
|
||||
}; // Size: 0x254
|
||||
|
||||
class dMeter_drawInsectHIO_c {
|
||||
class dMeter_drawInsectHIO_c : public JORReflexible {
|
||||
public:
|
||||
/* 801FE8DC */ dMeter_drawInsectHIO_c();
|
||||
/* 80200EC0 */ virtual ~dMeter_drawInsectHIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
enum Type {
|
||||
/* 0x0 */ DEFAULT,
|
||||
/* 0x1 */ COLLECT,
|
||||
|
|
@ -227,11 +247,13 @@ public:
|
|||
/* 0x3D */ bool mDebugON;
|
||||
}; // Size: 0x40
|
||||
|
||||
class dMeter_drawCalibrationHIO_c {
|
||||
class dMeter_drawCalibrationHIO_c : public JORReflexible {
|
||||
public:
|
||||
/* 801FE954 */ dMeter_drawCalibrationHIO_c();
|
||||
/* 80200E78 */ virtual ~dMeter_drawCalibrationHIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
/* 0x00 */ // vtable
|
||||
/* 0x04 */ u8 field_0x4[4];
|
||||
/* 0x08 */ f32 mCircleScale;
|
||||
|
|
@ -242,11 +264,13 @@ public:
|
|||
/* 0x16 */ bool mDebug;
|
||||
}; // Size: 0x18
|
||||
|
||||
class dMeter_drawSkillHIO_c {
|
||||
class dMeter_drawSkillHIO_c : public JORReflexible {
|
||||
public:
|
||||
/* 801FE990 */ dMeter_drawSkillHIO_c();
|
||||
/* 80200E30 */ virtual ~dMeter_drawSkillHIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
enum {
|
||||
/* 0x0 */ WINDOW,
|
||||
/* 0x1 */ SKILL_DESC,
|
||||
|
|
@ -280,11 +304,13 @@ public:
|
|||
/* 0x5B */ bool mDebug;
|
||||
}; // Size: 0x5C
|
||||
|
||||
class dMeter_drawEmpButtonHIO_c {
|
||||
class dMeter_drawEmpButtonHIO_c : public JORReflexible {
|
||||
public:
|
||||
/* 801FEAF0 */ dMeter_drawEmpButtonHIO_c();
|
||||
/* 80200DA0 */ virtual ~dMeter_drawEmpButtonHIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
/* 0x000 */ // vtable
|
||||
/* 0x004 */ u8 field_0x4[4];
|
||||
/* 0x008 */ f32 mEmpButtonPosX;
|
||||
|
|
@ -381,18 +407,14 @@ public:
|
|||
/* 0x17C */ f32 mHawkeyeZoomPosY;
|
||||
/* 0x180 */ f32 mHawkeyeZoomScale;
|
||||
/* 0x184 */ f32 mHawkeyeZoomScale_4x3;
|
||||
/* 0x188 */ f32 mHawkeyeTextIconPosX;
|
||||
/* 0x18C */ f32 mHawkeyeZoomTextPosX;
|
||||
/* 0x190 */ f32 mHawkeyeIconPosX;
|
||||
/* 0x188 */ f32 mHawkeyeIconPosX[3];
|
||||
/* 0x194 */ f32 mHawkeyeTextIconPosY_4x3;
|
||||
/* 0x198 */ f32 mHawkeyeTextPosY_4x3;
|
||||
/* 0x19C */ f32 mHawkeyeIconPosY_4x3;
|
||||
/* 0x1A0 */ f32 mHawkeyeTextIconPosY;
|
||||
/* 0x1A4 */ f32 mHawkeyeZoomTextPosY;
|
||||
/* 0x1A8 */ f32 mHawkeyeIconPosY;
|
||||
/* 0x1AC */ f32 mHawkeyeTextIconScale;
|
||||
/* 0x1B0 */ f32 mHawkeyeTextScale;
|
||||
/* 0x1B4 */ f32 mHawkeyeIconScale;
|
||||
/* 0x1AC */ f32 mHawkeyeIconScale[3];
|
||||
/* 0x1B8 */ JUtility::TColor mPointerONBlack[2];
|
||||
/* 0x1C0 */ JUtility::TColor mPointerONWhite[2];
|
||||
/* 0x1C8 */ JUtility::TColor mPointerOFFBlack;
|
||||
|
|
@ -432,11 +454,13 @@ public:
|
|||
/* 0x25A */ bool mHawkeyeZoomDebugON;
|
||||
}; // Size: 0x25C
|
||||
|
||||
class dMeter_drawMiniGameHIO_c {
|
||||
class dMeter_drawMiniGameHIO_c : public JORReflexible {
|
||||
public:
|
||||
/* 801FEFF0 */ dMeter_drawMiniGameHIO_c();
|
||||
/* 80200DE8 */ virtual ~dMeter_drawMiniGameHIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
/* 0x000 */ // vtable
|
||||
/* 0x004 */ u8 field_0x4[4];
|
||||
/* 0x008 */ f32 field_0x8[3];
|
||||
|
|
@ -506,11 +530,13 @@ public:
|
|||
/* 0x18C */ s16 mReadyFightPikariAppearFrames;
|
||||
}; // Size: 0x190
|
||||
|
||||
class dMeter_drawLightDropHIO_c {
|
||||
class dMeter_drawLightDropHIO_c : public JORReflexible {
|
||||
public:
|
||||
/* 801FF31C */ dMeter_drawLightDropHIO_c();
|
||||
/* 80200D58 */ virtual ~dMeter_drawLightDropHIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
/* 0x00 */ // vtable
|
||||
/* 0x04 */ u8 field_0x4[4];
|
||||
/* 0x08 */ f32 mVesselScale;
|
||||
|
|
@ -555,11 +581,22 @@ public:
|
|||
class dMeter_drawHIO_c : public JORReflexible {
|
||||
public:
|
||||
/* 801FF5B8 */ dMeter_drawHIO_c();
|
||||
/* 80201128 */ virtual ~dMeter_drawHIO_c() {}
|
||||
/* 80201128 */ virtual ~dMeter_drawHIO_c() {
|
||||
#if DEBUG
|
||||
field_0x8_debug = 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
virtual void listenPropertyEvent(const JORPropertyEvent*);
|
||||
virtual void genMessage(JORMContext*);
|
||||
|
||||
void updateFMsgDebug();
|
||||
#endif
|
||||
|
||||
#if WIDESCREEN_SUPPORT
|
||||
void updateOnWide();
|
||||
void updateOffWide();
|
||||
#endif
|
||||
|
||||
/* 0x000 */ // vtable
|
||||
|
|
@ -916,11 +953,18 @@ public:
|
|||
|
||||
STATIC_ASSERT(sizeof(dMeter_drawHIO_c) == 3880);
|
||||
|
||||
class dMeter_ringHIO_c {
|
||||
class dMeter_ringHIO_c : public JORReflexible {
|
||||
public:
|
||||
/* 802001AC */ dMeter_ringHIO_c();
|
||||
/* 802010E0 */ virtual ~dMeter_ringHIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
#if WIDESCREEN_SUPPORT
|
||||
void updateOnWide();
|
||||
void updateOffWide();
|
||||
#endif
|
||||
|
||||
enum {
|
||||
/* 0x0 */ SET_ITEM,
|
||||
/* 0x1 */ DIRECT_SELECT,
|
||||
|
|
@ -1007,11 +1051,13 @@ public:
|
|||
|
||||
STATIC_ASSERT(sizeof(dMeter_ringHIO_c) == 344);
|
||||
|
||||
class dMeter_mapIconHIO_c {
|
||||
class dMeter_mapIconHIO_c : public JORReflexible {
|
||||
public:
|
||||
/* 802004B4 */ dMeter_mapIconHIO_c();
|
||||
/* 80201028 */ virtual ~dMeter_mapIconHIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
enum {
|
||||
/* 0x00 */ ICON_PORTAL,
|
||||
/* 0x01 */ ICON_LINK,
|
||||
|
|
@ -1141,6 +1187,8 @@ public:
|
|||
/* 802006C8 */ dMeter_fmapHIO_c();
|
||||
#ifdef DEBUG
|
||||
void update();
|
||||
void createEvtCallBackObject();
|
||||
void deleteEvtCallBackObject();
|
||||
|
||||
virtual void listenPropertyEvent(const JORPropertyEvent*);
|
||||
virtual void genMessage(JORMContext*);
|
||||
|
|
@ -1148,11 +1196,17 @@ public:
|
|||
/* 80200BCC */ virtual ~dMeter_fmapHIO_c();
|
||||
|
||||
/* 0x004 */ s8 field_0x4;
|
||||
/* 0x008 */ JKRAramArchive* mpArchive;
|
||||
/* 0x00C */ void* field_0xc;
|
||||
/* 0x010 */ void* field_0x10;
|
||||
#if DEBUG
|
||||
/* 0x008 */ subJOREventCallbackListNode* mpEvtCallBack;
|
||||
#endif
|
||||
/* 0x008 */ JKRAramArchive* mpArcData;
|
||||
/* 0x00C */ void* mpArcFile;
|
||||
/* 0x010 */ void* mpDecompBuf;
|
||||
/* 0x014 */ void* field_0x14;
|
||||
/* 0x018 */ void* field_0x18;
|
||||
#if DEBUG
|
||||
/* 0x020 */ u8 unk_0x20[4];
|
||||
#endif
|
||||
/* 0x01C */ MapBlinkAnime mMapBlink[3];
|
||||
/* 0x094 */ s16 mDisplayFrameNum;
|
||||
/* 0x096 */ s16 mUndisplayFrameNum;
|
||||
|
|
@ -1255,11 +1309,13 @@ public:
|
|||
|
||||
STATIC_ASSERT(sizeof(dMeter_fmapHIO_c) == 1188);
|
||||
|
||||
class dMeter_cursorHIO_c {
|
||||
class dMeter_cursorHIO_c : public JORReflexible {
|
||||
public:
|
||||
/* 80200CD4 */ dMeter_cursorHIO_c();
|
||||
/* 80201098 */ virtual ~dMeter_cursorHIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
/* 0x04 */ s8 field_0x4;
|
||||
/* 0x08 */ cXyz mSeraShopObjZoom;
|
||||
/* 0x14 */ cXyz mObjZoom;
|
||||
|
|
|
|||
|
|
@ -409,6 +409,13 @@ public:
|
|||
|
||||
void levelAllForceOnEventMove() { field_0x210.allForceOnEventMove(); }
|
||||
|
||||
void levelExecute(u32 param_0) {
|
||||
level_c::emitter_c* emitter = field_0x210.get(param_0);
|
||||
if (emitter != NULL) {
|
||||
field_0x210.execute(emitter);
|
||||
}
|
||||
}
|
||||
|
||||
static void onStatus(u8 status) { mStatus |= status; }
|
||||
static void offStatus(u8 status) { mStatus &= ~status; }
|
||||
static bool isStatus(u8 status) { return mStatus & status; }
|
||||
|
|
|
|||
|
|
@ -798,6 +798,8 @@ enum {
|
|||
/* 0x315 */ PROC_TIMER,
|
||||
/* 0x316 */ PROC_METER2,
|
||||
/* 0x317 */ PROC_GAMEOVER,
|
||||
|
||||
PROC_MAX_NUM,
|
||||
};
|
||||
|
||||
#endif /* D_PROCNAME_H */
|
||||
|
|
|
|||
|
|
@ -5,22 +5,13 @@
|
|||
#include "JSystem/JHostIO/JORReflexible.h"
|
||||
#include "JSystem/JFramework/JFWDisplay.h"
|
||||
#include "JSystem/JUtility/JUTAssert.h"
|
||||
#include "CaptureScreen.h"
|
||||
#include <string.h>
|
||||
|
||||
void fapGm_After();
|
||||
void fapGm_Create();
|
||||
void fapGm_Execute();
|
||||
|
||||
struct CaptureScreen {
|
||||
CaptureScreen(const JFWDisplay* i_display) {
|
||||
field_0x0 = i_display;
|
||||
field_0x4 = 0;
|
||||
}
|
||||
|
||||
/* 0x0 */ const JFWDisplay* field_0x0;
|
||||
/* 0x4 */ int field_0x4;
|
||||
};
|
||||
|
||||
class fapGm_HIO_c : public JORReflexible {
|
||||
public:
|
||||
/* 80018944 */ fapGm_HIO_c();
|
||||
|
|
@ -42,6 +33,10 @@ public:
|
|||
JUT_ASSERT(46, mCaptureScreen != NULL);
|
||||
}
|
||||
|
||||
static u8 isCaptureScreen() {
|
||||
return mCaptureScreenFlag;
|
||||
}
|
||||
|
||||
static void onCpuTimer() {
|
||||
m_CpuTimerOn = TRUE;
|
||||
}
|
||||
|
|
@ -81,7 +76,7 @@ public:
|
|||
/* 0x17 */ u8 mDisplay2D;
|
||||
/* 0x18 */ u8 mDisplayParticle;
|
||||
/* 0x19 */ u8 mDisplayProcessID;
|
||||
#if DEBUG
|
||||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
/* 0x1A */ u8 mTrapFilter;
|
||||
/* 0x1B */ u8 mGammaCorrection;
|
||||
#endif
|
||||
|
|
@ -119,7 +114,7 @@ inline BOOL fapGmHIO_isMenu() {
|
|||
return g_HIO.mDisplayPrint & 2;
|
||||
}
|
||||
|
||||
inline bool fapGmHIO_isPrint() {
|
||||
inline BOOL fapGmHIO_isPrint() {
|
||||
return g_HIO.mDisplayPrint & 1;
|
||||
}
|
||||
|
||||
|
|
@ -155,6 +150,20 @@ inline void fapGmHIO_onPrint() {
|
|||
g_HIO.mDisplayPrint |= (u8)0x1;
|
||||
}
|
||||
|
||||
inline u8 fapGmHIO_getParticle() {
|
||||
return g_HIO.mDisplayParticle;
|
||||
}
|
||||
|
||||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
inline u8 fapGmHIO_getTrapFilter() {
|
||||
return g_HIO.mTrapFilter;
|
||||
}
|
||||
|
||||
inline u8 fapGmHIO_getGamma() {
|
||||
return g_HIO.mGammaCorrection;
|
||||
}
|
||||
#endif
|
||||
|
||||
struct fapGm_dataMem {
|
||||
enum HeapType_e {
|
||||
HeapType_Error_e,
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ public:
|
|||
static s16 getSubStickAngle(u32 pad) { return getCpadInfo(pad).mCStickAngle; }
|
||||
static f32 getAnalogR(u32 pad) { return getCpadInfo(pad).mTriggerRight; }
|
||||
static f32 getAnalogL(u32 pad) { return getCpadInfo(pad).mTriggerLeft; }
|
||||
static BOOL isConnect(u32 pad) { return JUTGamePad::getPortStatus(pad) == 0; }
|
||||
static BOOL isConnect(u32 pad) { return JUTGamePad::getPortStatus((JUTGamePad::EPadPort)pad) == 0; }
|
||||
static void startMotorWave(u32 pad, void* data, JUTGamePad::CRumble::ERumble rumble, u32 length) {
|
||||
m_gamePad[pad]->startMotorWave(data, rumble, length);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@ public:
|
|||
void check();
|
||||
void diff();
|
||||
|
||||
static void easyCreate(void*, s32);
|
||||
static void easyCreate(void*, u32);
|
||||
static FixedMemoryCheck* easyCreate(void*, s32);
|
||||
static FixedMemoryCheck* easyCreate(void*, u32);
|
||||
static void checkAll();
|
||||
static void diffAll();
|
||||
static void saveAll();
|
||||
|
|
|
|||
|
|
@ -2,13 +2,22 @@
|
|||
#define M_DO_M_DO_GRAPHIC_H
|
||||
|
||||
#include "JSystem/JFramework/JFWDisplay.h"
|
||||
#include "dolphin/mtx.h"
|
||||
#include "m_Do/m_Do_mtx.h"
|
||||
#include "global.h"
|
||||
|
||||
#if WIDESCREEN_SUPPORT
|
||||
#define FB_WIDTH (640)
|
||||
#define FB_HEIGHT (456)
|
||||
#else
|
||||
#define FB_WIDTH (608)
|
||||
#define FB_HEIGHT (448)
|
||||
#endif
|
||||
|
||||
int mDoGph_Create();
|
||||
void mDoGph_drawFilterQuad(s8 param_0, s8 param_1);
|
||||
|
||||
struct ResTIMG;
|
||||
class JKRSolidHeap;
|
||||
class mDoGph_gInf_c {
|
||||
public:
|
||||
class bloom_c {
|
||||
|
|
@ -43,6 +52,20 @@ public:
|
|||
/* 0x10 */ void* m_buffer;
|
||||
};
|
||||
|
||||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
class csr_c {
|
||||
public:
|
||||
virtual ~csr_c();
|
||||
virtual bool isPointer();
|
||||
|
||||
void particleExecute();
|
||||
|
||||
static u32 m_blurID;
|
||||
};
|
||||
|
||||
static void entryBaseCsr(csr_c*);
|
||||
#endif
|
||||
|
||||
/* 80007E44 */ static void create();
|
||||
/* 80007F90 */ static void beginRender();
|
||||
/* 800080D0 */ static void fadeOut(f32);
|
||||
|
|
@ -71,7 +94,7 @@ public:
|
|||
static u8 isFade() { return mFade; }
|
||||
static void fadeIn_f(f32 i_fadeSpeed, _GXColor& i_fadeColor) { fadeOut_f(-i_fadeSpeed, i_fadeColor); }
|
||||
static void offBlure() { mBlureFlag = false; }
|
||||
static bool isBlure() { return mBlureFlag; }
|
||||
static u8 isBlure() { return mBlureFlag; }
|
||||
static void setBlureRate(u8 i_rate) { mBlureRate = i_rate; }
|
||||
static u8 getBlureRate() { return mBlureRate; }
|
||||
static MtxP getBlureMtx() { return mBlureMtx; }
|
||||
|
|
@ -80,11 +103,15 @@ public:
|
|||
static void setTickRate(u32 rate) { JFWDisplay::getManager()->setTickRate(rate); }
|
||||
static void waitBlanking(int wait) { JFWDisplay::getManager()->waitBlanking(wait); }
|
||||
|
||||
static void setBlureMtx(const Mtx m) {
|
||||
cMtx_copy(m, mBlureMtx);
|
||||
}
|
||||
|
||||
static f32 getWidthF() {
|
||||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
return m_widthF;
|
||||
#else
|
||||
return 608.0f;
|
||||
return FB_WIDTH;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
@ -92,12 +119,12 @@ public:
|
|||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
return m_heightF;
|
||||
#else
|
||||
return 448.0f;
|
||||
return FB_HEIGHT;
|
||||
#endif
|
||||
}
|
||||
|
||||
static f32 getWidth() { return 608.0f; }
|
||||
static f32 getHeight() { return 448.0f; }
|
||||
static f32 getWidth() { return FB_WIDTH; }
|
||||
static f32 getHeight() { return FB_HEIGHT; }
|
||||
|
||||
static f32 getMinYF() {
|
||||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
|
|
@ -119,7 +146,7 @@ public:
|
|||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
return m_maxYF;
|
||||
#else
|
||||
return 448.0f;
|
||||
return FB_HEIGHT;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
@ -127,15 +154,50 @@ public:
|
|||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
return m_maxXF;
|
||||
#else
|
||||
return 608.0f;
|
||||
return FB_WIDTH;
|
||||
#endif
|
||||
}
|
||||
|
||||
static f32 getAspect() {
|
||||
#if WIDESCREEN_SUPPORT
|
||||
return m_aspect;
|
||||
#else
|
||||
return 1.3571428f;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int getMinY() {
|
||||
#if WIDESCREEN_SUPPORT
|
||||
return m_minY;
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int getMinX() {
|
||||
#if WIDESCREEN_SUPPORT
|
||||
return m_minX;
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int getMaxY() {
|
||||
#if WIDESCREEN_SUPPORT
|
||||
return m_maxY;
|
||||
#else
|
||||
return FB_HEIGHT;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int getMaxX() {
|
||||
#if WIDESCREEN_SUPPORT
|
||||
return m_maxX;
|
||||
#else
|
||||
return FB_WIDTH;
|
||||
#endif
|
||||
}
|
||||
|
||||
static f32 getAspect() { return 1.3571428f; }
|
||||
static int getMinY() { return 0; }
|
||||
static int getMinX() { return 0; }
|
||||
static int getMaxY() { return 448; }
|
||||
static int getMaxX() { return 608; }
|
||||
static ResTIMG* getFrameBufferTimg() { return mFrameBufferTimg; }
|
||||
static ResTIMG* getZbufferTimg() { return mZbufferTimg; }
|
||||
static void* getFrameBufferTex() { return mFrameBufferTex; }
|
||||
|
|
@ -148,9 +210,6 @@ public:
|
|||
static void endRender() { JFWDisplay::getManager()->endRender(); }
|
||||
static GXTexObj* getZbufferTexObj() { return &mZbufferTexObj; }
|
||||
static GXTexObj* getFrameBufferTexObj() { return &mFrameBufferTexObj; }
|
||||
static f32 getInvScale() { return 1.0f; }
|
||||
static f32 getScale() { return 1.0f; }
|
||||
static void setWideZoomLightProjection(Mtx m) {}
|
||||
static void setFrameRate(u16 i_rate) { JFWDisplay::getManager()->setFrameRate(i_rate); }
|
||||
|
||||
static int getFrameBufferSize() {
|
||||
|
|
@ -162,22 +221,30 @@ public:
|
|||
return JFWDisplay::getManager()->getXfbManager()->getDisplayingXfb();
|
||||
}
|
||||
|
||||
// NONMATCHING - Need to define all mDoGph_gInf_c shieldD members
|
||||
static u8 isWide() {
|
||||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
return mWide == TRUE;
|
||||
static f32 getInvScale() {
|
||||
#if WIDESCREEN_SUPPORT
|
||||
return m_invScale;
|
||||
#else
|
||||
return false;
|
||||
return 1.0f;
|
||||
#endif
|
||||
}
|
||||
|
||||
static void onWideZoom() {
|
||||
//TODO
|
||||
}
|
||||
static f32 getScale() { return 1.0f; }
|
||||
|
||||
static void offWideZoom() {
|
||||
//TODO
|
||||
}
|
||||
#if WIDESCREEN_SUPPORT
|
||||
static void setTvSize();
|
||||
|
||||
static void onWide();
|
||||
static void offWide();
|
||||
static u8 isWide();
|
||||
|
||||
static void onWideZoom();
|
||||
static void offWideZoom();
|
||||
static BOOL isWideZoom();
|
||||
|
||||
static void setWideZoomProjection(Mtx44& m);
|
||||
static void setWideZoomLightProjection(Mtx& m);
|
||||
#endif
|
||||
|
||||
static GXTexObj mFrameBufferTexObj;
|
||||
static GXTexObj mZbufferTexObj;
|
||||
|
|
@ -192,28 +259,57 @@ public:
|
|||
static void* mZbufferTex;
|
||||
static f32 mFadeRate;
|
||||
static f32 mFadeSpeed;
|
||||
static bool mBlureFlag;
|
||||
static u8 mBlureFlag;
|
||||
static u8 mBlureRate;
|
||||
static u8 mFade;
|
||||
static bool mAutoForcus;
|
||||
|
||||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
#if PLATFORM_SHIELD
|
||||
static JKRHeap* getHeap() {
|
||||
return m_heap;
|
||||
}
|
||||
|
||||
static void setHeap(JKRSolidHeap* i_heap) {
|
||||
m_heap = (JKRHeap*)i_heap;
|
||||
}
|
||||
|
||||
static JKRHeap* m_heap;
|
||||
#endif
|
||||
|
||||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
static void resetDimming();
|
||||
|
||||
static csr_c* m_baseCsr;
|
||||
static csr_c* m_csr;
|
||||
|
||||
static cXyz m_nowEffPos;
|
||||
static cXyz m_oldEffPos;
|
||||
static cXyz m_oldOldEffPos;
|
||||
#endif
|
||||
|
||||
#if WIDESCREEN_SUPPORT
|
||||
static u8 mWide;
|
||||
static u8 mWideZoom;
|
||||
static ResTIMG* m_fullFrameBufferTimg;
|
||||
static void* m_fullFrameBufferTex;
|
||||
static GXTexObj m_fullFrameBufferTexObj;
|
||||
|
||||
static f32 m_aspect;
|
||||
static f32 m_scale;
|
||||
static f32 m_invScale;
|
||||
|
||||
static f32 m_minXF;
|
||||
static f32 m_minYF;
|
||||
static int m_minX;
|
||||
static int m_minY;
|
||||
|
||||
static f32 m_maxXF;
|
||||
static f32 m_maxYF;
|
||||
static int m_maxX;
|
||||
static int m_maxY;
|
||||
|
||||
static int m_width;
|
||||
static int m_height;
|
||||
static f32 m_heightF;
|
||||
static f32 m_widthF;
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ inline void mDoMtx_multVecArray(Mtx m, const Vec* src, Vec* dst, u32 count) {
|
|||
}
|
||||
|
||||
inline void mDoMtx_copy(const Mtx src, Mtx dst) {
|
||||
MTXCopy(src, dst);
|
||||
PSMTXCopy(src, dst);
|
||||
}
|
||||
|
||||
inline void mDoMtx_trans(Mtx m, f32 x, f32 y, f32 z) {
|
||||
|
|
|
|||
|
|
@ -29,6 +29,10 @@ void* VIGetCurrentFrameBuffer(void);
|
|||
u32 VIGetScanMode(void);
|
||||
u32 VIGetDTVStatus(void);
|
||||
|
||||
void VISetTrapFilter(u8);
|
||||
void VIEnableDimming(BOOL);
|
||||
void VISetGamma(int);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -0,0 +1,30 @@
|
|||
#include "CaptureScreen.h"
|
||||
|
||||
CaptureScreen::CaptureScreen(const JFWDisplay* pDisplay) {
|
||||
mpDisplay = pDisplay;
|
||||
field_0x4 = 0;
|
||||
}
|
||||
|
||||
int CaptureScreen::getAlignedWidthBytes(int param_0) {
|
||||
return ROUND((param_0 * 4) - param_0, 4);
|
||||
}
|
||||
|
||||
int CaptureScreen::getBmpBufferSize(int param_0, int param_1) {
|
||||
return param_1 * getAlignedWidthBytes(param_0) + 0x36;
|
||||
}
|
||||
|
||||
void CaptureScreen::makeBmpFromEfb(void* param_0, int param_1, int param_2, int param_3, int param_4, int param_5, int param_6) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
void CaptureScreen::openBmp(int param_0, int param_1) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
void CaptureScreen::closeBmp() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
void CaptureScreen::saveBmp(void* param_0, u32 param_1) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
|
@ -826,7 +826,7 @@ bool JKRExpHeap::dump() {
|
|||
}
|
||||
|
||||
JUTReportConsole_f("%s %08x: %08x %3d %3d (%08x %08x)\n",
|
||||
block->_isTempMemBlock() ? " temp" : "alloc", block->getContent(),
|
||||
block->isTempMemBlock() ? " temp" : "alloc", block->getContent(),
|
||||
block->size, block->mGroupId, block->getAlignment(), block->mPrev,
|
||||
block->mNext);
|
||||
usedBytes += sizeof(CMemBlock) + block->size + block->getAlignment();
|
||||
|
|
@ -886,7 +886,7 @@ bool JKRExpHeap::dump_sort() {
|
|||
|
||||
int offset = block->getAlignment();
|
||||
void* content = block->getContent();
|
||||
const char* type = block->_isTempMemBlock() ? " temp" : "alloc";
|
||||
const char* type = block->isTempMemBlock() ? " temp" : "alloc";
|
||||
JUTReportConsole_f("%s %08x: %08x %3d %3d (%08x %08x)\n", type, content, block->size,
|
||||
block->getGroupId(), offset, block->mPrev, block->mNext);
|
||||
usedBytes += sizeof(CMemBlock) + block->size + block->getAlignment();
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ double sqrt(double);
|
|||
double tan(double);
|
||||
float tanf(float);
|
||||
|
||||
#if PLATFORM_SHIELD
|
||||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
inline float sqrtf(float mag) {
|
||||
return sqrt(mag);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,11 @@
|
|||
#include "d/d_com_inf_game.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
|
||||
#if DEBUG
|
||||
#include "f_pc/f_pc_debug_sv.h"
|
||||
#include "m_Do/m_Do_ext2.h"
|
||||
#endif
|
||||
|
||||
/* 80374640-80375DE8 -00001 17A8+00 1/1 0/0 0/0 .rodata DynamicNameTable */
|
||||
static DynamicNameTableEntry const DynamicNameTable[] = {
|
||||
{PROC_ALLDIE, "d_a_alldie"},
|
||||
|
|
@ -17,6 +22,9 @@ static DynamicNameTableEntry const DynamicNameTable[] = {
|
|||
{PROC_Obj_Swpush2, "d_a_obj_swpush2"},
|
||||
{PROC_Obj_Swpush5, "d_a_obj_swpush5"},
|
||||
{PROC_Tag_Gstart, "d_a_tag_gstart"},
|
||||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
{PROC_NO_CHG_ROOM, "d_a_no_chg_room"},
|
||||
#endif
|
||||
{PROC_Obj_Lv6ElevtA, "d_a_obj_lv6elevta"},
|
||||
{PROC_OBJ_SO, "d_a_obj_so"},
|
||||
{PROC_Obj_Movebox, "d_a_obj_movebox"},
|
||||
|
|
@ -91,7 +99,9 @@ static DynamicNameTableEntry const DynamicNameTable[] = {
|
|||
{PROC_Obj_BkDoor, "d_a_obj_bkdoor"},
|
||||
{PROC_Obj_Cboard, "d_a_obj_cboard"},
|
||||
{PROC_Obj_MGate, "d_a_obj_mgate"},
|
||||
#if !PLATFORM_SHIELD
|
||||
{PROC_Obj_Ikada, "d_a_obj_ikada"},
|
||||
#endif
|
||||
{PROC_Obj_Ice_l, "d_a_obj_ice_l"},
|
||||
{PROC_Obj_Ice_s, "d_a_obj_ice_s"},
|
||||
{PROC_Obj_E_CREATE, "d_a_obj_enemy_create"},
|
||||
|
|
@ -530,14 +540,18 @@ static DynamicNameTableEntry const DynamicNameTable[] = {
|
|||
{PROC_Obj_LifeContainer, "d_a_obj_life_container"},
|
||||
{PROC_Obj_Shield, "d_a_obj_shield"},
|
||||
{PROC_Demo_Item, "d_a_demo_item"},
|
||||
#if !PLATFORM_SHIELD
|
||||
{PROC_ShopItem, "d_a_shop_item"},
|
||||
#endif
|
||||
{PROC_Obj_Drop, "d_a_obj_drop"},
|
||||
{PROC_OBJ_RW, "d_a_obj_rw"},
|
||||
{PROC_NBOMB, "d_a_nbomb"},
|
||||
{PROC_TAG_CSW, "d_a_tag_csw"},
|
||||
{PROC_TAG_QS, "d_a_tag_qs"},
|
||||
{PROC_HOZELDA, "d_a_hozelda"},
|
||||
#if !PLATFORM_SHIELD
|
||||
{PROC_SWC00, "d_a_swc00"},
|
||||
#endif
|
||||
{PROC_KNOB20, "d_a_door_knob00"},
|
||||
{PROC_DBDOOR, "d_a_door_dbdoor00"},
|
||||
{PROC_BOSS_DOOR, "d_a_door_boss"},
|
||||
|
|
@ -549,7 +563,9 @@ static DynamicNameTableEntry const DynamicNameTable[] = {
|
|||
{PROC_Tag_ChgRestart, "d_a_tag_chgrestart"},
|
||||
{PROC_Tag_Restart, "d_a_tag_setrestart"},
|
||||
{PROC_ANDSW, "d_a_andsw"},
|
||||
#if !PLATFORM_SHIELD
|
||||
{PROC_ANDSW2, "d_a_andsw2"},
|
||||
#endif
|
||||
{PROC_MYNA, "d_a_myna"},
|
||||
{PROC_NPC_GND, "d_a_npc_gnd"},
|
||||
{PROC_NPC_GRA, "d_a_npc_gra"},
|
||||
|
|
@ -668,10 +684,14 @@ static DynamicNameTableEntry const DynamicNameTable[] = {
|
|||
{PROC_NPC_CHIN, "d_a_npc_chin"},
|
||||
{PROC_NPC_INS, "d_a_npc_ins"},
|
||||
{PROC_NPC_SHOP0, "d_a_npc_shop0"},
|
||||
#if !PLATFORM_SHIELD
|
||||
{PROC_NPC_MK, "d_a_npc_mk"},
|
||||
#endif
|
||||
{PROC_NPC_P2, "d_a_npc_p2"},
|
||||
{PROC_KYTAG00, "d_a_kytag00"},
|
||||
#if !PLATFORM_SHIELD
|
||||
{PROC_KYTAG01, "d_a_kytag01"},
|
||||
#endif
|
||||
{PROC_KYTAG02, "d_a_kytag02"},
|
||||
{PROC_KYTAG03, "d_a_kytag03"},
|
||||
{PROC_KYTAG04, "d_a_kytag04"},
|
||||
|
|
@ -709,11 +729,15 @@ static DynamicNameTableEntry const DynamicNameTable[] = {
|
|||
{PROC_DEMO00, "d_a_demo00"},
|
||||
{PROC_TAG_CAMERA, "d_a_tag_camera"},
|
||||
{PROC_TAG_CHKPOINT, "d_a_tag_chkpoint"},
|
||||
#if !PLATFORM_SHIELD
|
||||
{PROC_TAG_EVENT, "d_a_tag_event"},
|
||||
#endif
|
||||
{PROC_TAG_EVT, "d_a_tag_evt"},
|
||||
{PROC_TAG_TELOP, "d_a_tag_telop"},
|
||||
{PROC_TAG_HOWL, "d_a_tag_howl"},
|
||||
#if !PLATFORM_SHIELD
|
||||
{PROC_TAG_MSG, "d_a_tag_msg"},
|
||||
#endif
|
||||
{PROC_TAG_LANTERN, "d_a_tag_lantern"},
|
||||
{PROC_Tag_Mist, "d_a_tag_mist"},
|
||||
{PROC_DMIDNA, "d_a_dmidna"},
|
||||
|
|
@ -724,7 +748,9 @@ static DynamicNameTableEntry const DynamicNameTable[] = {
|
|||
{PROC_BG_OBJ, "d_a_bg_obj"},
|
||||
{PROC_MIRROR, "d_a_mirror"},
|
||||
{PROC_MOVIE_PLAYER, "d_a_movie_player"},
|
||||
#if !PLATFORM_SHIELD
|
||||
{PROC_TITLE, "d_a_title"},
|
||||
#endif
|
||||
{PROC_FR, "d_a_fr"},
|
||||
{PROC_ECONT, "d_a_econt"},
|
||||
{PROC_MG_ROD, "d_a_mg_rod"},
|
||||
|
|
@ -767,70 +793,134 @@ static DynamicNameTableEntry const DynamicNameTable[] = {
|
|||
{PROC_Obj_Timer, "d_a_obj_timer"},
|
||||
{PROC_SCENE_EXIT, "d_a_scene_exit"},
|
||||
{PROC_SUSPEND, "d_a_suspend"},
|
||||
#if !PLATFORM_SHIELD
|
||||
{PROC_GRASS, "d_a_grass"},
|
||||
#endif
|
||||
{0xFFFF, NULL},
|
||||
};
|
||||
|
||||
/* 803F0F50-803F1BB0 01DC70 0C60+00 4/4 0/0 0/0 .bss DMC */
|
||||
static DynamicModuleControlBase* DMC[792];
|
||||
static DynamicModuleControlBase* DMC[PROC_MAX_NUM];
|
||||
|
||||
/* 80450CA8-80450CAC 0001A8 0004+00 1/1 0/0 0/0 .sbss None */
|
||||
static bool DMC_initialized;
|
||||
|
||||
/* 80450CAC-80450CB0 0001AC 0004+00 2/2 0/0 0/0 .sbss cDyl_Initialized */
|
||||
static BOOL cDyl_Initialized;
|
||||
|
||||
/* 800183DC-80018544 012D1C 0168+00 1/1 0/0 0/0 .text cCc_Init__Fv */
|
||||
static int cCc_Init() {
|
||||
JKRHeap* arcHeap = mDoExt_getArchiveHeap();
|
||||
JKRSolidHeap* heap = JKRSolidHeap::create(0x8820, arcHeap, false);
|
||||
JKRHeap* prev = heap->becomeCurrentHeap();
|
||||
int cCc_Init() {
|
||||
JUT_ASSERT(37, !DMC_initialized);
|
||||
|
||||
#if PLATFORM_GCN
|
||||
JKRHeap* parentHeap = mDoExt_getArchiveHeap();
|
||||
#else
|
||||
JKRHeap* parentHeap = DynamicModuleControlBase::getHeap();
|
||||
#endif
|
||||
u32 dmcHeapSize = sizeof(DynamicModuleControl) * PROC_MAX_NUM;
|
||||
|
||||
JKRSolidHeap* dmcHeap = JKRCreateSolidHeap(dmcHeapSize, parentHeap, false);
|
||||
JKRHeap* prevHeap = JKRSetCurrentHeap(dmcHeap);
|
||||
|
||||
memset(&DMC, 0, sizeof(DMC));
|
||||
for (int i = 0; i < ARRAY_SIZEU(DynamicNameTable); i++) {
|
||||
const DynamicNameTableEntry* d = &DynamicNameTable[i];
|
||||
|
||||
if (d->name != NULL) {
|
||||
for (int i = 0; i < ARRAY_SIZEU(DynamicNameTable); i++) {
|
||||
const DynamicNameTableEntry& d = DynamicNameTable[i];
|
||||
|
||||
if (d.name != NULL) {
|
||||
JUT_ASSERT(52, d.mKey < ARRAY_SIZEU(DMC));
|
||||
JUT_ASSERT(53, DMC[d.mKey] == NULL);
|
||||
|
||||
for (int j = 0; j < ARRAY_SIZEU(DMC); j++) {
|
||||
if (DMC[j] != NULL) {
|
||||
if (!strcmp(d->name, DMC[j]->getModuleName())) {
|
||||
DMC[d->mKey] = DMC[j];
|
||||
if (!strcmp(d.name, DMC[j]->getModuleName())) {
|
||||
DMC[d.mKey] = DMC[j];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (DMC[d->mKey] == NULL) {
|
||||
DMC[d->mKey] = new DynamicModuleControl(d->name);
|
||||
if (DMC[d.mKey] == NULL) {
|
||||
DMC[d.mKey] = new DynamicModuleControl(d.name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
heap->adjustSize();
|
||||
prev->becomeCurrentHeap();
|
||||
dmcHeap->adjustSize();
|
||||
JKRSetCurrentHeap(prevHeap);
|
||||
|
||||
#if DEBUG
|
||||
FixedMemoryCheck* check = FixedMemoryCheck::easyCreate(DMC, sizeof(DMC));
|
||||
#endif
|
||||
|
||||
DMC_initialized = true;
|
||||
return 1;
|
||||
}
|
||||
|
||||
BOOL cCc_Check() {
|
||||
BOOL rt = TRUE;
|
||||
for (int i = 0; i < ARRAY_SIZEU(DynamicNameTable); i++) {
|
||||
uintptr_t ptr = (uintptr_t)DMC[i];
|
||||
if (ptr != NULL) {
|
||||
u32 ptr_hi_byte = ptr >> 0x18;
|
||||
if (ptr_hi_byte < 0x80 || ptr_hi_byte > 0x83) {
|
||||
// "cCc_Check invalid pointer detected"
|
||||
OS_REPORT_ERROR("cCc_Check ポインタ破壊を発見 %d %08x\n", i, ptr);
|
||||
rt = FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return rt;
|
||||
}
|
||||
|
||||
BOOL cDyl_IsInitialized() {
|
||||
return cDyl_Initialized;
|
||||
}
|
||||
|
||||
/* 80018544-8001857C 012E84 0038+00 0/0 1/1 0/0 .text cDyl_IsLinked__Fs */
|
||||
BOOL cDyl_IsLinked(s16 i_ProfName) {
|
||||
if (DMC[i_ProfName] != NULL) {
|
||||
return DMC[i_ProfName]->isLinked();
|
||||
JUT_ASSERT(183, cDyl_Initialized);
|
||||
|
||||
|
||||
DynamicModuleControlBase* d = DMC[i_ProfName];
|
||||
BOOL rt;
|
||||
if (d != NULL) {
|
||||
rt = d->isLinked();
|
||||
} else {
|
||||
rt = TRUE;
|
||||
}
|
||||
return true;
|
||||
|
||||
return rt;
|
||||
}
|
||||
|
||||
/* 8001857C-800185C0 012EBC 0044+00 1/1 1/1 0/0 .text cDyl_Unlink__Fs */
|
||||
BOOL cDyl_Unlink(s16 i_ProfName) {
|
||||
if (DMC[i_ProfName] != NULL) {
|
||||
return DMC[i_ProfName]->unlink();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#if DEBUG
|
||||
cCc_Check();
|
||||
#endif
|
||||
|
||||
/* 80450CAC-80450CB0 0001AC 0004+00 2/2 0/0 0/0 .sbss cDyl_Initialized */
|
||||
static BOOL cDyl_Initialized;
|
||||
JUT_ASSERT(206, cDyl_Initialized);
|
||||
JUT_ASSERT(207, i_ProfName < ARRAY_SIZEU(DMC));
|
||||
|
||||
DynamicModuleControlBase* d = DMC[i_ProfName];
|
||||
if (d != NULL) {
|
||||
return d->unlink();
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* 800185C0-80018688 012F00 00C8+00 1/1 1/1 0/0 .text cDyl_LinkASync__Fs */
|
||||
int cDyl_LinkASync(s16 i_ProfName) {
|
||||
if (cDyl_Initialized == false) {
|
||||
#if DEBUG
|
||||
cCc_Check();
|
||||
#endif
|
||||
|
||||
JUT_ASSERT(266, DMC_initialized);
|
||||
|
||||
if (!cDyl_Initialized) {
|
||||
OS_REPORT_ERROR("初期化が終わってないのに呼んでもらっても困ります %d %s\n", i_ProfName, fpcDbSv_getNameString(i_ProfName));
|
||||
return cPhs_INIT_e;
|
||||
}
|
||||
|
||||
|
|
@ -839,8 +929,12 @@ int cDyl_LinkASync(s16 i_ProfName) {
|
|||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
JUT_ASSERT(282, i_ProfName < ARRAY_SIZEU(DMC));
|
||||
|
||||
DynamicModuleControlBase* d = DMC[i_ProfName];
|
||||
if (d != NULL) {
|
||||
JUT_ASSERT(286, cDyl_Initialized);
|
||||
|
||||
if (d->load_async()) {
|
||||
if (d->link()) {
|
||||
return cPhs_COMPLEATE_e;
|
||||
|
|
@ -859,71 +953,85 @@ int cDyl_LinkASync(s16 i_ProfName) {
|
|||
|
||||
/* 80018688-80018764 012FC8 00DC+00 1/1 0/0 0/0 .text cDyl_InitCallback__FPv */
|
||||
static int cDyl_InitCallback(void* param_0) {
|
||||
JKRExpHeap* heap = mDoExt_getArchiveHeap();
|
||||
JKRFileLoader* loader = JKRFileCache::mount("/", heap, NULL);
|
||||
JUT_ASSERT(335, !cDyl_Initialized);
|
||||
|
||||
#if PLATFORM_GCN
|
||||
JKRHeap* parentHeap = mDoExt_getArchiveHeap();
|
||||
#else
|
||||
JKRHeap* parentHeap = DynamicModuleControlBase::getHeap();
|
||||
#endif
|
||||
|
||||
JKRFileCache* loader = JKRMountDvdDrive("/", parentHeap, NULL);
|
||||
DynamicModuleControl::initialize();
|
||||
|
||||
void* strTbl = JKRFileLoader::getGlbResource("/dvd/str/Final/Release/frameworkF.str");
|
||||
JKRFileLoader::detachResource(strTbl, loader);
|
||||
loader->unmount();
|
||||
#if PLATFORM_GCN
|
||||
void* strTbl = JKRGetResource("/dvd/str/Final/Release/frameworkF.str");
|
||||
#elif PLATFORM_WII
|
||||
void* strTbl = JKRGetResource("/dvd/str/Rfinal/Release/RframeworkF.str");
|
||||
#else
|
||||
void* strTbl = JKRGetResource("/dvd/str/Final/Release/frameworkF.str");
|
||||
#endif
|
||||
|
||||
JKRDetachResource(strTbl, loader);
|
||||
JKRUnmountDvdDrive(loader);
|
||||
OSSetStringTable(strTbl);
|
||||
|
||||
DynamicModuleControl dmc("f_pc_profile_lst");
|
||||
dmc.link();
|
||||
cDyl_Initialized = true;
|
||||
fopScnM_CreateReq(PROC_LOGO_SCENE, 0x7FFF, 0, 0);
|
||||
|
||||
fopScnM_CreateReq(PROC_LOGO_SCENE, 0x7FFF, 0, 0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450CB0-80450CB8 0001B0 0004+04 2/2 0/0 0/0 .sbss cDyl_DVD */
|
||||
static mDoDvdThd_callback_c* cDyl_DVD;
|
||||
|
||||
/* 80018764-80018798 0130A4 0034+00 0/0 1/1 0/0 .text cDyl_InitAsync__Fv */
|
||||
void cDyl_InitAsync() {
|
||||
cCc_Init();
|
||||
JUT_ASSERT(367, cDyl_DVD == NULL);
|
||||
cDyl_DVD = mDoDvdThd_callback_c::create((mDoDvdThd_callback_func)cDyl_InitCallback, NULL);
|
||||
}
|
||||
|
||||
/* 80018798-80018804 0130D8 006C+00 0/0 2/1 0/0 .text cDyl_InitAsyncIsDone__Fv */
|
||||
int cDyl_InitAsyncIsDone() {
|
||||
BOOL cDyl_InitAsyncIsDone() {
|
||||
if (cDyl_DVD == NULL) {
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (cDyl_DVD->sync()) {
|
||||
cDyl_DVD->destroy();
|
||||
cDyl_DVD = NULL;
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* 80018804-8001880C 013144 0008+00 1/0 0/0 0/0 .text phase_01__7cDylPhsFPv */
|
||||
int cDylPhs::phase_01(void* param_0) {
|
||||
return 2;
|
||||
return cPhs_NEXT_e;
|
||||
}
|
||||
|
||||
/* 8001880C-80018844 01314C 0038+00 1/0 0/0 0/0 .text phase_02__7cDylPhsFPs */
|
||||
int cDylPhs::phase_02(s16* p_profName) {
|
||||
int ret = cDyl_LinkASync(*p_profName);
|
||||
|
||||
if (ret != 4) {
|
||||
return ret;
|
||||
if (ret == cPhs_COMPLEATE_e) {
|
||||
return cPhs_NEXT_e;
|
||||
}
|
||||
return 2;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* 80018844-8001884C 013184 0008+00 1/0 0/0 0/0 .text phase_03__7cDylPhsFPv */
|
||||
int cDylPhs::phase_03(void* param_0) {
|
||||
return 0;
|
||||
return cPhs_INIT_e;
|
||||
}
|
||||
|
||||
/* 8001884C-80018890 01318C 0044+00 0/0 2/2 0/0 .text
|
||||
* Link__7cDylPhsFP30request_of_phase_process_classs */
|
||||
int cDylPhs::Link(request_of_phase_process_class* i_phase, s16 param_1) {
|
||||
int cDylPhs::Link(request_of_phase_process_class* i_phase, s16 i_ProfName) {
|
||||
static request_of_phase_process_fn l_method[3] = {
|
||||
(request_of_phase_process_fn)cDylPhs::phase_01,
|
||||
(request_of_phase_process_fn)cDylPhs::phase_02,
|
||||
|
|
@ -934,20 +1042,19 @@ int cDylPhs::Link(request_of_phase_process_class* i_phase, s16 param_1) {
|
|||
return cPhs_COMPLEATE_e;
|
||||
}
|
||||
|
||||
return dComLbG_PhaseHandler(i_phase, l_method, ¶m_1);
|
||||
return dComLbG_PhaseHandler(i_phase, l_method, &i_ProfName);
|
||||
}
|
||||
|
||||
/* 80018890-800188DC 0131D0 004C+00 0/0 1/1 0/0 .text
|
||||
* Unlink__7cDylPhsFP30request_of_phase_process_classs */
|
||||
int cDylPhs::Unlink(request_of_phase_process_class* i_phase, s16 i_ProfName) {
|
||||
int ret;
|
||||
JUT_ASSERT(460, i_phase->id != cPhs_LOADING_e);
|
||||
|
||||
if (i_phase->id == cPhs_NEXT_e) {
|
||||
ret = cDyl_Unlink(i_ProfName);
|
||||
int ret = cDyl_Unlink(i_ProfName);
|
||||
i_phase->id = cPhs_INIT_e;
|
||||
} else {
|
||||
ret = 0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -207,7 +207,7 @@ void daAlink_c::preKandelaarDraw() {
|
|||
var_f3 = 0.0f;
|
||||
}
|
||||
|
||||
if (proj.x > 0.0f && proj.x < 608.0f && proj.y > var_f3 && proj.y < 448.0f - var_f3) {
|
||||
if (proj.x > 0.0f && proj.x < FB_WIDTH && proj.y > var_f3 && proj.y < FB_HEIGHT - var_f3) {
|
||||
dComIfGd_peekZ(proj.x, proj.y, &field_0x32c8);
|
||||
} else {
|
||||
field_0x32c8 = 0;
|
||||
|
|
|
|||
|
|
@ -567,7 +567,7 @@ void daBalloon2D_c::setHIO(bool param_1) {
|
|||
field_0x5a0->paneTrans(l_HOSTIO.m.mBalloonSmallPosX, l_HOSTIO.m.mBalloonSmallPosY);
|
||||
field_0x5a0->scale(l_HOSTIO.m.mBalloonSmallSize, l_HOSTIO.m.mBalloonSmallSize);
|
||||
field_0x5a0->setAlphaRate(l_HOSTIO.m.mBalloonSmallAlpha * mAllAlpha);
|
||||
#if DEBUG
|
||||
#if WIDESCREEN_SUPPORT
|
||||
if (mDoGph_gInf_c::isWide()) {
|
||||
field_0x5a4->paneTrans(l_HOSTIO.m.m2DNumberCombo2PosX, l_HOSTIO.m.m2DNumberCombo2PosY);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -466,7 +466,7 @@ void daE_FK_c::DamageAction() {
|
|||
bool daE_FK_c::checkViewArea() {
|
||||
Vec proj;
|
||||
mDoLib_project(¤t.pos, &proj);
|
||||
return (proj.x >= 0.0f && proj.x <= 608.0f) && (proj.y >= 0.0f && proj.y <= 448.0f);
|
||||
return (proj.x >= 0.0f && proj.x <= FB_WIDTH) && (proj.y >= 0.0f && proj.y <= FB_HEIGHT);
|
||||
}
|
||||
|
||||
namespace {
|
||||
|
|
|
|||
|
|
@ -480,7 +480,7 @@ static bool checkViewArea(cXyz* i_pos) {
|
|||
Vec proj;
|
||||
mDoLib_project(i_pos, &proj);
|
||||
bool ret = false;
|
||||
if (proj.x >= 0.0f && proj.x <= 608.0f && proj.y >= 0.0f && proj.y <= 448.0f) {
|
||||
if (proj.x >= 0.0f && proj.x <= FB_WIDTH && proj.y >= 0.0f && proj.y <= FB_HEIGHT) {
|
||||
ret = true;
|
||||
}
|
||||
return ret;
|
||||
|
|
|
|||
|
|
@ -1394,7 +1394,7 @@ bool daE_SM_c::CheckViewArea() {
|
|||
mDoLib_project(¤t.pos, &vec);
|
||||
bool rv = false;
|
||||
|
||||
if (vec.x >= 0.0f && vec.x <= 608.0f && vec.y >= 0.0f && vec.y <= 448.0f) {
|
||||
if (vec.x >= 0.0f && vec.x <= FB_WIDTH && vec.y >= 0.0f && vec.y <= FB_HEIGHT) {
|
||||
rv = true;
|
||||
}
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -342,16 +342,16 @@ void dMirror_packet_c::mainDraw() {
|
|||
f32 var_f5;
|
||||
f32 var_f6;
|
||||
if (view_port->x_orig != 0.0f) {
|
||||
var_f3 = (((view_port->x_orig * 2.0f) + view_port->width) * 0.5f) - (608.0f / 2);
|
||||
var_f5 = 608.0f;
|
||||
var_f3 = (((view_port->x_orig * 2.0f) + view_port->width) * 0.5f) - (FB_WIDTH / 2);
|
||||
var_f5 = FB_WIDTH;
|
||||
} else {
|
||||
var_f3 = view_port->x_orig;
|
||||
var_f5 = view_port->width;
|
||||
}
|
||||
|
||||
if (view_port->y_orig != 0.0f) {
|
||||
var_f4 = (((view_port->y_orig * 2.0f) + view_port->height) * 0.5f) - (448.0f / 2);
|
||||
var_f6 = 448.0f;
|
||||
var_f4 = (((view_port->y_orig * 2.0f) + view_port->height) * 0.5f) - (FB_HEIGHT / 2);
|
||||
var_f6 = FB_HEIGHT;
|
||||
} else {
|
||||
var_f4 = view_port->y_orig;
|
||||
var_f6 = view_port->height;
|
||||
|
|
|
|||
|
|
@ -2977,9 +2977,9 @@ static void daMP_THPGXYuv2RgbSetup(GXRenderModeObj const* param_0) {
|
|||
int height = param_0->efbHeight;
|
||||
f32 var_f31 = 0.0f;
|
||||
|
||||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
#if WIDESCREEN_SUPPORT
|
||||
if (!mDoGph_gInf_c::isWide()) {
|
||||
var_f31 = ((u16)height - (width * 808.0f) / 608.0f) * 0.5f;
|
||||
var_f31 = ((u16)height - (width * 808.0f) / FB_WIDTH) * 0.5f;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -2646,7 +2646,7 @@ BOOL daNpcT_chkActorInScreen(fopAc_ac_c* i_ActorP, f32 param_1, f32 param_2, f32
|
|||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
mDoLib_project(&pos_array[i], &proj);
|
||||
if (0.0f < proj.x && proj.x < 608.0f && 0.0f < proj.y && proj.y < 448.0f) {
|
||||
if (0.0f < proj.x && proj.x < FB_WIDTH && 0.0f < proj.y && proj.y < FB_HEIGHT) {
|
||||
continue;
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -1868,14 +1868,14 @@ static void demo_camera_shop(npc_henna_class* i_this) {
|
|||
}
|
||||
case 73: {
|
||||
koro_shop = (fshop_class*)fpcM_Search(s_koro2ball_sub, i_this);
|
||||
unkXyz_54 = koro_shop->current.pos;
|
||||
unkXyz_54 = koro_shop->actor.current.pos;
|
||||
fshop = (fshop_class*)fpcM_Search(s_shop_sub, i_this);
|
||||
cMtx_YrotS(*calc_mtx, fshop->field_0x4060);
|
||||
unkXyz_78.x = -500.0f;
|
||||
unkXyz_78.y = 600.0f;
|
||||
unkXyz_78.z = 0.0f;
|
||||
MtxPosition(&unkXyz_78, &unkXyz_60);
|
||||
unkXyz_60 += koro_shop->current.pos;
|
||||
unkXyz_60 += koro_shop->actor.current.pos;
|
||||
if (koro2_reset != 0) {
|
||||
koro2_reset = 0;
|
||||
i_this->field_0x76c = unkXyz_54;
|
||||
|
|
|
|||
|
|
@ -531,7 +531,7 @@ void daObjARI_c::Z_BufferChk() {
|
|||
} else {
|
||||
trim_height = 0.0f;
|
||||
}
|
||||
if (vec2.x > 0.0f && vec2.x < 608.0f && vec2.y > trim_height && vec2.y < 448.0f - trim_height) {
|
||||
if (vec2.x > 0.0f && vec2.x < FB_WIDTH && vec2.y > trim_height && vec2.y < FB_HEIGHT - trim_height) {
|
||||
dComIfGd_peekZ(vec2.x, vec2.y, &mBufferZ);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -316,7 +316,7 @@ void daObjCHO_c::Z_BufferChk() {
|
|||
} else {
|
||||
trim_height = 0.0f;
|
||||
}
|
||||
if (vec2.x > 0.0f && vec2.x < 608.0f && vec2.y > trim_height && vec2.y < 448.0f - trim_height) {
|
||||
if (vec2.x > 0.0f && vec2.x < FB_WIDTH && vec2.y > trim_height && vec2.y < FB_HEIGHT - trim_height) {
|
||||
dComIfGd_peekZ(vec2.x, vec2.y, &mBufferZ);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -242,7 +242,7 @@ bool daObjCRVFENCE_c::checkViewArea(cXyz* param_1) {
|
|||
|
||||
#ifdef DEBUG
|
||||
if (sp24.x >= 0.0f) {
|
||||
if (sp24.y <= 640.0f) {
|
||||
if (sp24.y <= FB_WIDTH) {
|
||||
bVar1 = true;
|
||||
}
|
||||
}
|
||||
|
|
@ -251,7 +251,7 @@ bool daObjCRVFENCE_c::checkViewArea(cXyz* param_1) {
|
|||
bVar1 = false;
|
||||
|
||||
if (sp24.y >= 0.0f) {
|
||||
if (sp24.y <= 456.0f) {
|
||||
if (sp24.y <= FB_HEIGHT) {
|
||||
bVar1 = true;
|
||||
}
|
||||
}
|
||||
|
|
@ -261,7 +261,7 @@ bool daObjCRVFENCE_c::checkViewArea(cXyz* param_1) {
|
|||
}
|
||||
}
|
||||
#else
|
||||
if (sp24.x >= 0.0f && sp24.x <= 608.0f && sp24.y >= 0.0f && sp24.y <= 448.0f) {
|
||||
if (sp24.x >= 0.0f && sp24.x <= FB_WIDTH && sp24.y >= 0.0f && sp24.y <= FB_HEIGHT) {
|
||||
rv = true;
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ bool daObjCRVHAHEN_c::checkViewArea(cXyz* i_this) {
|
|||
|
||||
bool ret = false;
|
||||
|
||||
if (proj.x >= 0.0f && proj.x <= 608.0f && proj.y >= 0.0f && proj.y <= 448.0f) {
|
||||
if (proj.x >= 0.0f && proj.x <= FB_WIDTH && proj.y >= 0.0f && proj.y <= FB_HEIGHT) {
|
||||
ret = true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -292,7 +292,7 @@ void daObjDAN_c::Z_BufferChk() {
|
|||
} else {
|
||||
trim_height = 0.0f;
|
||||
}
|
||||
if (vec2.x > 0.0f && vec2.x < 608.0f && vec2.y > trim_height && vec2.y < 448.0f - trim_height) {
|
||||
if (vec2.x > 0.0f && vec2.x < FB_WIDTH && vec2.y > trim_height && vec2.y < FB_HEIGHT - trim_height) {
|
||||
dComIfGd_peekZ(vec2.x, vec2.y, &mBufferZ);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -219,7 +219,7 @@ bool daObjGOMIKABE_c::checkViewArea(cXyz param_1) {
|
|||
Vec local_24;
|
||||
mDoLib_project(¶m_1, &local_24);
|
||||
bool rv = false;
|
||||
if (local_24.x >= 0.0f && local_24.x <= 608.0f && local_24.y >= 0.0f && local_24.y <= 448.0f) {
|
||||
if (local_24.x >= 0.0f && local_24.x <= FB_WIDTH && local_24.y >= 0.0f && local_24.y <= FB_HEIGHT) {
|
||||
rv = true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -324,7 +324,9 @@ int daGrdWater_c::Draw() {
|
|||
Mtx afStack_50;
|
||||
C_MTXLightPerspective(afStack_50, dComIfGd_getView()->fovy, dComIfGd_getView()->aspect,
|
||||
1.0f, 1.0f, -0.01f, 0.0f);
|
||||
#if WIDESCREEN_SUPPORT
|
||||
mDoGph_gInf_c::setWideZoomLightProjection(afStack_50);
|
||||
#endif
|
||||
mtxInfo->setEffectMtx(afStack_50);
|
||||
modelData2->simpleCalcMaterial(0, (MtxP)j3dDefaultMtx);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -229,7 +229,7 @@ bool daObjHHASHI_c::checkViewArea(int param_1) {
|
|||
Vec local_20;
|
||||
mDoLib_project(&field_0x5b0[param_1], &local_20);
|
||||
bool rv = false;
|
||||
if (local_20.x >= 0.0f && local_20.x <= 608.0f && local_20.y >= 0.0f && local_20.y <= 448.0f) {
|
||||
if (local_20.x >= 0.0f && local_20.x <= FB_WIDTH && local_20.y >= 0.0f && local_20.y <= FB_HEIGHT) {
|
||||
rv = true;
|
||||
}
|
||||
return rv;
|
||||
|
|
|
|||
|
|
@ -457,7 +457,7 @@ void daObjKABUTO_c::Z_BufferChk() {
|
|||
} else {
|
||||
trim_height = 0.0f;
|
||||
}
|
||||
if (vec2.x > 0.0f && vec2.x < 608.0f && vec2.y > trim_height && vec2.y < 448.0f - trim_height) {
|
||||
if (vec2.x > 0.0f && vec2.x < FB_WIDTH && vec2.y > trim_height && vec2.y < FB_HEIGHT - trim_height) {
|
||||
dComIfGd_peekZ(vec2.x, vec2.y, &mBufferZ);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -543,11 +543,11 @@ void daObjKAM_c::Z_BufferChk() {
|
|||
cameraHeight = 0.0f;
|
||||
}
|
||||
#ifdef DEBUG
|
||||
#define Z_BUFFERCHK_X_MAX 640.0f
|
||||
#define Z_BUFFERCHK_Y_MAX 456.0f
|
||||
#define Z_BUFFERCHK_X_MAX FB_WIDTH
|
||||
#define Z_BUFFERCHK_Y_MAX FB_HEIGHT
|
||||
#else
|
||||
#define Z_BUFFERCHK_X_MAX 608.0f
|
||||
#define Z_BUFFERCHK_Y_MAX 448.0f
|
||||
#define Z_BUFFERCHK_X_MAX FB_WIDTH
|
||||
#define Z_BUFFERCHK_Y_MAX FB_HEIGHT
|
||||
#endif
|
||||
if (currentProj.x > 0.0f && currentProj.x < Z_BUFFERCHK_X_MAX && currentProj.y > cameraHeight &&
|
||||
currentProj.y < Z_BUFFERCHK_Y_MAX - cameraHeight)
|
||||
|
|
|
|||
|
|
@ -622,10 +622,10 @@ void daObjKAT_c::Z_BufferChk() {
|
|||
|
||||
#if DEBUG
|
||||
#define KAT_Z_BUFFERCHK_MAX_X 640.0f
|
||||
#define KAT_Z_BUFFERCHK_MAX_Y 456.0f
|
||||
#define KAT_Z_BUFFERCHK_MAX_Y FB_HEIGHT
|
||||
#else
|
||||
#define KAT_Z_BUFFERCHK_MAX_X 608.0f
|
||||
#define KAT_Z_BUFFERCHK_MAX_Y 448.0f
|
||||
#define KAT_Z_BUFFERCHK_MAX_X FB_WIDTH
|
||||
#define KAT_Z_BUFFERCHK_MAX_Y FB_HEIGHT
|
||||
#endif
|
||||
if (projected.x > 0.0f && projected.x < KAT_Z_BUFFERCHK_MAX_X && projected.y > unkFloat1 &&
|
||||
projected.y < KAT_Z_BUFFERCHK_MAX_Y - unkFloat1)
|
||||
|
|
|
|||
|
|
@ -558,8 +558,8 @@ void daObjKUW_c::Z_BufferChk() {
|
|||
trimHeight = 0.0f;
|
||||
}
|
||||
|
||||
if (local_5c.x > 0.0f && local_5c.x < 608.0f &&
|
||||
local_5c.y > trimHeight && local_5c.y < 448.0f - trimHeight) {
|
||||
if (local_5c.x > 0.0f && local_5c.x < FB_WIDTH &&
|
||||
local_5c.y > trimHeight && local_5c.y < FB_HEIGHT - trimHeight) {
|
||||
dComIfGd_peekZ(local_5c.x, local_5c.y, &field_0x9bc);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -236,7 +236,7 @@ int daLv3Water2_c::Draw() {
|
|||
Mtx lightProjMtx;
|
||||
C_MTXLightPerspective(lightProjMtx, dComIfGd_getView()->fovy, dComIfGd_getView()->aspect, 1.0f, 1.0f, -0.01f, 0);
|
||||
|
||||
#ifdef DEBUG
|
||||
#if WIDESCREEN_SUPPORT
|
||||
mDoGph_gInf_c::setWideZoomLightProjection(lightProjMtx);
|
||||
/* TODO: Handle screen capture perspective calculations */
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -342,7 +342,9 @@ int daObjMHole_c::draw() {
|
|||
Mtx effect_mtx;
|
||||
MTXLightPerspective(effect_mtx, dComIfGd_getView()->fovy,
|
||||
dComIfGd_getView()->aspect, 1.0f, 1.0f, -0.01f, 0.0f);
|
||||
#if WIDESCREEN_SUPPORT
|
||||
mDoGph_gInf_c::setWideZoomLightProjection(effect_mtx);
|
||||
#endif
|
||||
tex_mtx_info->setEffectMtx(effect_mtx);
|
||||
modelData->simpleCalcMaterial((MtxP)j3dDefaultMtx);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,186 +7,280 @@
|
|||
|
||||
#include "d/actor/d_a_obj_mirror_chain.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
/* 80C98080-80C98084 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
|
||||
static char const* l_arcName = "MR-Chain";
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C98028-80C9802C 000000 0004+00 2/2 0/0 0/0 .rodata @3915 */
|
||||
SECTION_RODATA static u32 const lit_3915 = 0x3C8EFA35;
|
||||
COMPILER_STRIP_GATE(0x80C98028, &lit_3915);
|
||||
|
||||
/* 80C9802C-80C98030 000004 0004+00 0/1 0/0 0/0 .rodata @3916 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3916 = 0.5f;
|
||||
COMPILER_STRIP_GATE(0x80C9802C, &lit_3916);
|
||||
#pragma pop
|
||||
|
||||
/* 80C98034-80C98038 00000C 0004+00 0/1 0/0 0/0 .rodata @3918 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3918 = 2.0f;
|
||||
COMPILER_STRIP_GATE(0x80C98034, &lit_3918);
|
||||
#pragma pop
|
||||
|
||||
/* 80C98038-80C9803C 000010 0004+00 0/1 0/0 0/0 .rodata @3919 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3919 = 304.0f;
|
||||
COMPILER_STRIP_GATE(0x80C98038, &lit_3919);
|
||||
#pragma pop
|
||||
|
||||
/* 80C9803C-80C98040 000014 0004+00 0/1 0/0 0/0 .rodata @3920 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3920 = 608.0f;
|
||||
COMPILER_STRIP_GATE(0x80C9803C, &lit_3920);
|
||||
#pragma pop
|
||||
|
||||
/* 80C98040-80C98044 000018 0004+00 0/1 0/0 0/0 .rodata @3921 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3921 = 224.0f;
|
||||
COMPILER_STRIP_GATE(0x80C98040, &lit_3921);
|
||||
#pragma pop
|
||||
|
||||
/* 80C98044-80C98048 00001C 0004+00 0/1 0/0 0/0 .rodata @3922 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3922 = 448.0f;
|
||||
COMPILER_STRIP_GATE(0x80C98044, &lit_3922);
|
||||
#pragma pop
|
||||
|
||||
/* 80C98048-80C98050 000020 0004+04 1/3 0/0 0/0 .rodata @3923 */
|
||||
SECTION_RODATA static f32 const lit_3923[1 + 1 /* padding */] = {
|
||||
1.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C98048, &lit_3923);
|
||||
|
||||
/* 80C98050-80C98058 000028 0008+00 0/1 0/0 0/0 .rodata @3925 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3925[8] = {
|
||||
0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C98050, &lit_3925);
|
||||
#pragma pop
|
||||
|
||||
/* 80C98138-80C98148 000000 0010+00 2/2 0/0 0/0 .bss l_scissor */
|
||||
static u32 l_scissor[4];
|
||||
|
||||
/* 80C96698-80C96DAC 000078 0714+00 1/0 0/0 0/0 .text draw__22dScissorBegin_packet_cFv */
|
||||
void dScissorBegin_packet_c::draw() {
|
||||
// NONMATCHING
|
||||
}
|
||||
#if DEBUG
|
||||
static u8 l_begin;
|
||||
#endif
|
||||
|
||||
// Temporary fake function to make the cXyz destructor appear here
|
||||
// delete once dScissorBegin_packet_c::draw() is matched
|
||||
static void fake() {
|
||||
cXyz vec;
|
||||
vec.normalize();
|
||||
/* 80C96698-80C96DAC 000078 0714+00 1/0 0/0 0/0 .text draw__22dScissorBegin_packet_cFv */
|
||||
// NONMATCHING - slight stack order issue
|
||||
void dScissorBegin_packet_c::draw() {
|
||||
GXGetScissor(&l_scissor[0], &l_scissor[1], &l_scissor[2], &l_scissor[3]);
|
||||
|
||||
#if DEBUG
|
||||
JUT_ASSERT(76, !l_begin);
|
||||
l_begin = TRUE;
|
||||
#endif
|
||||
|
||||
f32 var_f31 = FLT_MAX;
|
||||
f32 var_f30 = FLT_MAX;
|
||||
f32 sp7C = -FLT_MAX;
|
||||
f32 sp78 = -FLT_MAX;
|
||||
f32 sp74 = -FLT_MAX;
|
||||
|
||||
f32 sp70 = l_scissor[0];
|
||||
f32 sp6C = sp70 + l_scissor[2];
|
||||
f32 sp68 = l_scissor[1];
|
||||
f32 sp64 = sp68 + l_scissor[3];
|
||||
|
||||
cXyz spEC[4];
|
||||
cXyz sp11C;
|
||||
int sp60 = 4;
|
||||
view_class* view_p = dComIfGd_getView();
|
||||
f32 sp58 = -view_p->near;
|
||||
|
||||
cXyz* sp54 = mQuad;
|
||||
cXyz* var_r30 = spEC;
|
||||
|
||||
int sp50 = 0;
|
||||
int sp4C = 0;
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
cMtx_multVec(view_p->viewMtx, sp54, var_r30);
|
||||
if (var_r30->z >= sp58) {
|
||||
sp50++;
|
||||
} else {
|
||||
sp4C = i;
|
||||
}
|
||||
|
||||
sp54++;
|
||||
var_r30++;
|
||||
}
|
||||
|
||||
if (sp50 >= 4) {
|
||||
GXSetScissor(FB_WIDTH + 1, FB_HEIGHT + 1, 0, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
if (sp50 != 0) {
|
||||
int sp44 = -1;
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
int sp3C = (sp4C + 1) % 4;
|
||||
if (sp44 < 0) {
|
||||
if (spEC[sp3C].z >= sp58) {
|
||||
sp44 = sp3C;
|
||||
}
|
||||
} else if (spEC[sp3C].z < sp58) {
|
||||
int sp38 = (sp44 + 3) % 4;
|
||||
cXyz spE0 = spEC[sp44] - spEC[sp38];
|
||||
f32 sp34 = (sp58 - spEC[sp38].z) / spE0.z;
|
||||
spE0 *= sp34;
|
||||
spEC[sp60] = spEC[sp38] + spE0;
|
||||
|
||||
sp60++;
|
||||
|
||||
spE0 = spEC[sp4C] - spEC[sp3C];
|
||||
sp34 = (sp58 - spEC[sp3C].z) / spE0.z;
|
||||
spE0 *= sp34;
|
||||
spEC[sp4C] = spEC[sp3C] + spE0;
|
||||
|
||||
for (int sp30 = sp44; sp30 != sp4C; sp30 = (sp30 + 1) % 4) {
|
||||
spEC[sp30] = spEC[sp4C];
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
sp4C = (sp4C + 1) % 4;
|
||||
}
|
||||
}
|
||||
|
||||
f32 sp2C = view_p->fovy;
|
||||
f32 sp28 = view_p->aspect;
|
||||
f32 sp24 = std::tan(0.017453292f * (0.5f * sp2C));
|
||||
|
||||
f32 sp20, sp1C, sp18, sp14;
|
||||
view_port_class* viewport_p = dComIfGd_getViewport();
|
||||
if (0.0f != viewport_p->x_orig) {
|
||||
sp20 = (0.5f * ((2.0f * viewport_p->x_orig) + viewport_p->width)) - (FB_WIDTH / 2);
|
||||
sp18 = FB_WIDTH;
|
||||
} else {
|
||||
sp20 = viewport_p->x_orig;
|
||||
sp18 = viewport_p->width;
|
||||
}
|
||||
|
||||
if (0.0f != viewport_p->y_orig) {
|
||||
sp1C = (0.5f * ((2.0f * viewport_p->y_orig) + viewport_p->height)) - (FB_HEIGHT / 2);
|
||||
sp14 = FB_HEIGHT;
|
||||
} else {
|
||||
sp1C = viewport_p->y_orig;
|
||||
sp14 = viewport_p->height;
|
||||
}
|
||||
|
||||
var_r30 = spEC;
|
||||
for (int i = 0; i < sp60; i++) {
|
||||
var_r30->y = var_r30->y / (var_r30->z * sp24);
|
||||
var_r30->x = var_r30->x / (sp28 * (-var_r30->z * sp24));
|
||||
|
||||
#if WIDESCREEN_SUPPORT
|
||||
if (mDoGph_gInf_c::isWideZoom()) {
|
||||
var_r30->x *= mDoGph_gInf_c::getScale();
|
||||
var_r30->y *= mDoGph_gInf_c::getScale();
|
||||
}
|
||||
#endif
|
||||
|
||||
var_r30->x = sp20 + ((1.0f + var_r30->x) * (0.5f * sp18));
|
||||
var_r30->y = sp1C + ((1.0f + var_r30->y) * (0.5f * sp14));
|
||||
|
||||
if (var_r30->x < var_f31) {
|
||||
var_f31 = var_r30->x;
|
||||
}
|
||||
if (var_r30->x > sp7C) {
|
||||
sp7C = var_r30->x;
|
||||
}
|
||||
if (var_r30->y < var_f30) {
|
||||
var_f30 = var_r30->y;
|
||||
}
|
||||
if (var_r30->y > sp78) {
|
||||
sp78 = var_r30->y;
|
||||
}
|
||||
if (var_r30->z > sp74) {
|
||||
sp74 = var_r30->z;
|
||||
}
|
||||
|
||||
var_r30++;
|
||||
}
|
||||
|
||||
var_r30 = spEC;
|
||||
cXyz spD4 = var_r30[1] - var_r30[0];
|
||||
cXyz spC8;
|
||||
cXyz spBC(0.0f, 0.0f, 1.0f);
|
||||
for (int i = 0; i < 2; i++) {
|
||||
var_r30++;
|
||||
spC8 = var_r30[1] - var_r30[0];
|
||||
if (!spD4.isZero()) {
|
||||
spBC = spD4.outprod(spC8);
|
||||
if (spBC.z < 0.0f) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
spD4 = spC8;
|
||||
}
|
||||
|
||||
if (spBC.z < 0.0f || var_f31 > sp6C || sp7C < sp70 || var_f30 > sp64 || sp78 < sp68) {
|
||||
GXSetScissor(FB_WIDTH + 1, FB_HEIGHT + 1, 0, 0);
|
||||
} else {
|
||||
var_f31 = cLib_minLimit<f32>(var_f31, sp70);
|
||||
sp7C = cLib_maxLimit<f32>(sp7C, sp6C);
|
||||
var_f30 = cLib_minLimit<f32>(var_f30, sp68);
|
||||
sp78 = cLib_maxLimit<f32>(sp78, sp64);
|
||||
GXSetScissor((u32)var_f31, (u32)var_f30, (u32)(sp7C - var_f31), (u32)(sp78 - var_f30));
|
||||
}
|
||||
}
|
||||
|
||||
/* 80C96DE8-80C96E20 0007C8 0038+00 1/0 0/0 0/0 .text draw__20dScissorEnd_packet_cFv */
|
||||
void dScissorEnd_packet_c::draw() {
|
||||
#if DEBUG
|
||||
JUT_ASSERT(246, l_begin);
|
||||
l_begin = FALSE;
|
||||
#endif
|
||||
|
||||
GXSetScissor(l_scissor[0], l_scissor[1], l_scissor[2], l_scissor[3]);
|
||||
}
|
||||
|
||||
/* 80C96E20-80C96E40 000800 0020+00 1/1 0/0 0/0 .text createSolidHeap__FP10fopAc_ac_c */
|
||||
static int createSolidHeap(fopAc_ac_c* i_this) {
|
||||
return static_cast<daObjMirrorChain_c*>(i_this)->createHeap();
|
||||
return ((daObjMirrorChain_c*)i_this)->createHeap();
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C98058-80C98060 000030 0008+00 1/1 0/0 0/0 .rodata @4164 */
|
||||
SECTION_RODATA static u8 const lit_4164[8] = {
|
||||
0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C98058, &lit_4164);
|
||||
|
||||
extern void* __vt__12J3DFrameCtrl[3];
|
||||
|
||||
/* 80C96E40-80C975A4 000820 0764+00 1/1 0/0 0/0 .text createHeap__18daObjMirrorChain_cFv
|
||||
*/
|
||||
int daObjMirrorChain_c::createHeap() {
|
||||
J3DModelData* model_data;
|
||||
J3DModelData* modelData;
|
||||
|
||||
/* dSv_event_flag_c::F_0354 - Cutscene - [cutscene] Mirror complete */
|
||||
if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])) {
|
||||
model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 16);
|
||||
mpModel = mDoExt_J3DModel__create(model_data, 0x80000, 0x11000284);
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 16);
|
||||
JUT_ASSERT(306, modelData != NULL);
|
||||
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000284);
|
||||
|
||||
J3DAnmTevRegKey* brk_anm = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 21);
|
||||
J3DAnmTevRegKey* brk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 21);
|
||||
JUT_ASSERT(316, brk != NULL);
|
||||
mpBrkAnm = new mDoExt_brkAnm();
|
||||
if (mpBrkAnm == NULL || !mpBrkAnm->init(model_data, brk_anm, 1, 2, 1.0f, 0, -1)) {
|
||||
if (mpBrkAnm == NULL || !mpBrkAnm->init(modelData, brk, 1, 2, 1.0f, 0, -1)) {
|
||||
return 0;
|
||||
}
|
||||
} else {
|
||||
model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 15);
|
||||
mpModel = mDoExt_J3DModel__create(model_data, 0x80000, 0x11000084);
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 15);
|
||||
JUT_ASSERT(323, modelData != NULL);
|
||||
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
|
||||
mpBrkAnm = NULL;
|
||||
}
|
||||
|
||||
if (mpModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* dSv_event_flag_c::F_0354 - Cutscene - [cutscene] Mirror complete */
|
||||
if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])) {
|
||||
J3DModelData* portal_model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 12);
|
||||
mpPortalModel = mDoExt_J3DModel__create(portal_model_data, 0, 0x11000084);
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 12);
|
||||
JUT_ASSERT(336, modelData != NULL);
|
||||
mpPortalModel = mDoExt_J3DModel__create(modelData, 0, 0x11000084);
|
||||
if (mpPortalModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
J3DAnmTransform* bck_anm = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 9);
|
||||
J3DAnmTransform* bck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 9);
|
||||
JUT_ASSERT(344, bck != NULL);
|
||||
mpBckAnm = new mDoExt_bckAnm();
|
||||
if (mpBckAnm == NULL
|
||||
|| !mpBckAnm->init(bck_anm, 1, 2, 1.0f, 0, -1, false))
|
||||
{
|
||||
if (mpBckAnm == NULL || !mpBckAnm->init(bck, 1, 2, 1.0f, 0, -1, false)) {
|
||||
return 0;
|
||||
}
|
||||
mpBckAnm->setEndFrame(300);
|
||||
|
||||
J3DAnmTevRegKey* portal_brk_anm = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 20);
|
||||
J3DAnmTevRegKey* brk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 20);
|
||||
JUT_ASSERT(353, brk != NULL);
|
||||
mpPortalBrkAnm = new mDoExt_brkAnm();
|
||||
if (mpPortalBrkAnm == NULL
|
||||
|| !mpPortalBrkAnm->init(portal_model_data, portal_brk_anm, 1, 2, 1.0f, 0, -1))
|
||||
if (mpPortalBrkAnm == NULL || !mpPortalBrkAnm->init(modelData, brk, 1, 0, 1.0f, 0, -1))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
mpPortalBrkAnm->setFrame(portal_brk_anm->getFrameMax());
|
||||
mpPortalBrkAnm->setFrame(brk->getFrameMax());
|
||||
|
||||
cBgD_t* dzb = (cBgD_t*)dComIfG_getObjectRes(l_arcName, 26);
|
||||
if (mBgW[1].Set(dzb, 1, &mMtx)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
mBgW[0] = mBgW[1];
|
||||
} else {
|
||||
J3DAnmTransform* bck_anm = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 8);
|
||||
J3DAnmTransform* bck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 8);
|
||||
JUT_ASSERT(367, bck != NULL);
|
||||
mpBckAnm = new mDoExt_bckAnm();
|
||||
bool b = fopAcM_isSwitch(this, getSwitchNo())
|
||||
|
||||
/* dSv_event_flag_c::F_0361 - Arbiter's Grounds - Spun the spinning pillars */
|
||||
|| dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361]);
|
||||
f32 rate = b ? 1.0f : 0.0f;
|
||||
if (mpBckAnm == NULL
|
||||
|| !mpBckAnm->init(bck_anm, 1, 0, rate, 0, -1, false))
|
||||
f32 rate = (fopAcM_isSwitch(this, getSwitchNo()) || dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361])) ? 1.0f : 0.0f;
|
||||
if (mpBckAnm == NULL || !mpBckAnm->init(bck, 1, 0, rate, 0, -1, false))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
if (fopAcM_isSwitch(this, getSwitchNo())
|
||||
|
||||
/* dSv_event_flag_c::F_0361 - Arbiter's Grounds - Spun the spinning pillars */
|
||||
|| dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361]))
|
||||
{
|
||||
mpBckAnm->setFrame(bck_anm->getFrameMax());
|
||||
if (fopAcM_isSwitch(this, getSwitchNo()) || dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361])) {
|
||||
mpBckAnm->setFrame(bck->getFrameMax());
|
||||
}
|
||||
|
||||
J3DAnmTevRegKey* brk_anm = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 19);
|
||||
J3DAnmTevRegKey* brk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 19);
|
||||
JUT_ASSERT(381, brk != NULL);
|
||||
mpBrkAnm = new mDoExt_brkAnm();
|
||||
if (mpBrkAnm == NULL
|
||||
|| !mpBrkAnm->init(model_data, brk_anm, 1, 0, 1.0f, 0, -1))
|
||||
if (mpBrkAnm == NULL || !mpBrkAnm->init(modelData, brk, 1, 0, 0.0f, 0, -1))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -208,13 +302,6 @@ int daObjMirrorChain_c::createHeap() {
|
|||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/* 80C975A4-80C975EC 000F84 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
|
||||
// J3DFrameCtrl::~J3DFrameCtrl() {
|
||||
extern "C" void __dt__12J3DFrameCtrlFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C975EC-80C97618 000FCC 002C+00 1/1 0/0 0/0 .text initBaseMtx__18daObjMirrorChain_cFv
|
||||
*/
|
||||
void daObjMirrorChain_c::initBaseMtx() {
|
||||
|
|
@ -228,9 +315,11 @@ void daObjMirrorChain_c::setBaseMtx() {
|
|||
mDoMtx_stack_c::transS(current.pos);
|
||||
mDoMtx_stack_c::ZXYrotM(shape_angle);
|
||||
mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
|
||||
if (mpPortalModel != NULL) {
|
||||
mpPortalModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
|
||||
MTXCopy(mDoMtx_stack_c::get(), mMtx);
|
||||
mpActiveBgW->Move();
|
||||
}
|
||||
|
|
@ -243,32 +332,40 @@ static int daObjMirrorChain_Draw(daObjMirrorChain_c* i_this) {
|
|||
|
||||
/* 80C976B8-80C97968 001098 02B0+00 1/1 0/0 0/0 .text draw__18daObjMirrorChain_cFv */
|
||||
int daObjMirrorChain_c::draw() {
|
||||
static f32 const SCISSOR_CENTER_X = 1799.2f;
|
||||
static f32 const SCISSOR_CENTER_Y = 4779.58f;
|
||||
static f32 const SCISSOR_CENTER_Z = -23024.53f;
|
||||
static f32 const SCISSOR_SIZE = 984.0f;
|
||||
static const f32 SCISSOR_CENTER_X = 1799.2f;
|
||||
static const f32 SCISSOR_CENTER_Y = 4779.58f;
|
||||
static const f32 SCISSOR_CENTER_Z = -23024.53f;
|
||||
static const f32 SCISSOR_SIZE = 984.0f;
|
||||
|
||||
g_env_light.settingTevStruct(0x10, ¤t.pos, &tevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(mpModel, &tevStr);
|
||||
|
||||
/* dSv_event_flag_c::F_0354 - Cutscene - [cutscene] Mirror complete */
|
||||
if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])) {
|
||||
g_env_light.setLightTevColorType_MAJI(mpPortalModel, &tevStr);
|
||||
|
||||
if (mpBckAnm != NULL) {
|
||||
mpBckAnm->entry(mpPortalModel->getModelData());
|
||||
}
|
||||
|
||||
if (mpBrkAnm != NULL) {
|
||||
mpBrkAnm->entry(mpModel->getModelData());
|
||||
}
|
||||
|
||||
if (mpPortalBrkAnm != NULL) {
|
||||
mpPortalBrkAnm->entry(mpPortalModel->getModelData());
|
||||
}
|
||||
|
||||
dComIfGd_setListBG();
|
||||
mDoExt_modelUpdateDL(mpModel);
|
||||
|
||||
static Vec l_offsetScissor[4] = {
|
||||
{SCISSOR_CENTER_X - SCISSOR_SIZE / 2, SCISSOR_CENTER_Y + SCISSOR_SIZE, SCISSOR_CENTER_Z},
|
||||
{SCISSOR_CENTER_X + SCISSOR_SIZE / 2, SCISSOR_CENTER_Y + SCISSOR_SIZE, SCISSOR_CENTER_Z},
|
||||
{SCISSOR_CENTER_X + SCISSOR_SIZE / 2, SCISSOR_CENTER_Y, SCISSOR_CENTER_Z},
|
||||
{SCISSOR_CENTER_X - SCISSOR_SIZE / 2, SCISSOR_CENTER_Y, SCISSOR_CENTER_Z},
|
||||
};
|
||||
|
||||
cXyz* quad = mScissorBegin.getQuad();
|
||||
PSMTXMultVecArray(mpModel->getBaseTRMtx(), l_offsetScissor, quad, 4);
|
||||
j3dSys.setDrawBuffer(dComIfGd_getXluListBG(), 0);
|
||||
|
|
@ -276,12 +373,15 @@ int daObjMirrorChain_c::draw() {
|
|||
mDoExt_modelUpdateDL(mpPortalModel);
|
||||
mScissorBegin.entryPacket();
|
||||
dComIfGd_setList();
|
||||
|
||||
if (mpBckAnm != NULL) {
|
||||
mpBckAnm->remove(mpPortalModel->getModelData());
|
||||
}
|
||||
|
||||
if (mpBrkAnm != NULL) {
|
||||
mpBrkAnm->remove(mpModel->getModelData());
|
||||
}
|
||||
|
||||
if (mpPortalBrkAnm != NULL) {
|
||||
mpPortalBrkAnm->remove(mpPortalModel->getModelData());
|
||||
}
|
||||
|
|
@ -289,19 +389,24 @@ int daObjMirrorChain_c::draw() {
|
|||
if (mpBckAnm != NULL) {
|
||||
mpBckAnm->entry(mpModel->getModelData());
|
||||
}
|
||||
|
||||
if (mpBrkAnm != NULL) {
|
||||
mpBrkAnm->entry(mpModel->getModelData());
|
||||
}
|
||||
|
||||
dComIfGd_setListBG();
|
||||
mDoExt_modelUpdateDL(mpModel);
|
||||
dComIfGd_setList();
|
||||
|
||||
if (mpBckAnm != NULL) {
|
||||
mpBckAnm->remove(mpModel->getModelData());
|
||||
}
|
||||
|
||||
if (mpBrkAnm != NULL) {
|
||||
mpBrkAnm->remove(mpModel->getModelData());
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
@ -311,83 +416,22 @@ static int daObjMirrorChain_Execute(daObjMirrorChain_c* i_this) {
|
|||
return i_this->execute();
|
||||
}
|
||||
|
||||
// this should come automatically from the static data in draw() but it does not
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C98060-80C98064 000038 0004+00 0/0 0/0 0/0 .rodata
|
||||
* SCISSOR_CENTER_X$localstatic3$draw__18daObjMirrorChain_cFv */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const data_80C98060[4] = {
|
||||
0x44,
|
||||
0xE0,
|
||||
0xE6,
|
||||
0x66,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C98060, &data_80C98060);
|
||||
#pragma pop
|
||||
|
||||
/* 80C98064-80C98068 00003C 0004+00 0/0 0/0 0/0 .rodata
|
||||
* SCISSOR_CENTER_Y$localstatic4$draw__18daObjMirrorChain_cFv */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const data_80C98064[4] = {
|
||||
0x45,
|
||||
0x95,
|
||||
0x5C,
|
||||
0xA4,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C98064, &data_80C98064);
|
||||
#pragma pop
|
||||
|
||||
/* 80C98068-80C9806C 000040 0004+00 0/0 0/0 0/0 .rodata
|
||||
* SCISSOR_CENTER_Z$localstatic5$draw__18daObjMirrorChain_cFv */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const data_80C98068[4] = {
|
||||
0xC6,
|
||||
0xB3,
|
||||
0xE1,
|
||||
0x0F,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C98068, &data_80C98068);
|
||||
#pragma pop
|
||||
|
||||
/* 80C9806C-80C98070 000044 0004+00 0/0 0/0 0/0 .rodata
|
||||
* SCISSOR_SIZE$localstatic6$draw__18daObjMirrorChain_cFv */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const data_80C9806C[4] = {
|
||||
0x44,
|
||||
0x76,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C9806C, &data_80C9806C);
|
||||
#pragma pop
|
||||
|
||||
/* 80C98070-80C98074 000048 0004+00 0/1 0/0 0/0 .rodata @4494 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4494 = -1.0f;
|
||||
COMPILER_STRIP_GATE(0x80C98070, &lit_4494);
|
||||
#pragma pop
|
||||
|
||||
/* 80C97988-80C97BA4 001368 021C+00 1/1 0/0 0/0 .text execute__18daObjMirrorChain_cFv */
|
||||
int daObjMirrorChain_c::execute() {
|
||||
if (mpBckAnm != NULL) {
|
||||
mpBckAnm->play();
|
||||
}
|
||||
|
||||
if (mpBrkAnm != NULL) {
|
||||
mpBrkAnm->play();
|
||||
}
|
||||
|
||||
if (mpPortalBrkAnm != NULL) {
|
||||
mpPortalBrkAnm->play();
|
||||
}
|
||||
|
||||
/* dSv_event_flag_c::F_0354 - Cutscene - [cutscene] Mirror complete */
|
||||
if (!dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])
|
||||
&& mpBckAnm != NULL && mpBckAnm->getPlaySpeed() > 0.0f) {
|
||||
if (!dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354]) && mpBckAnm != NULL && mpBckAnm->getPlaySpeed() > 0.0f) {
|
||||
if (mpActiveBgW == &mBgW[0]) {
|
||||
dComIfG_Bgsp().Release(&mBgW[0]);
|
||||
dComIfG_Bgsp().Regist(&mBgW[1], this);
|
||||
|
|
@ -396,7 +440,7 @@ int daObjMirrorChain_c::execute() {
|
|||
}
|
||||
|
||||
if (mpEmitter == NULL) {
|
||||
mpEmitter = dComIfGp_particle_set(0x8acc, ¤t.pos, &shape_angle, NULL);
|
||||
mpEmitter = dComIfGp_particle_set(dPa_RM(ID_ZF_S_D32_01_MONO02SAND), ¤t.pos, &shape_angle, NULL);
|
||||
cXyz pos;
|
||||
mDoMtx_stack_c::copy(mpModel->getAnmMtx(1));
|
||||
mDoMtx_stack_c::multVecZero(&pos);
|
||||
|
|
@ -412,7 +456,6 @@ int daObjMirrorChain_c::execute() {
|
|||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/* 80C97BA4-80C97BAC 001584 0008+00 1/0 0/0 0/0 .text
|
||||
* daObjMirrorChain_IsDelete__FP18daObjMirrorChain_c */
|
||||
static int daObjMirrorChain_IsDelete(daObjMirrorChain_c* i_this) {
|
||||
|
|
@ -423,9 +466,11 @@ daObjMirrorChain_c::~daObjMirrorChain_c() {
|
|||
if (mBgW[0].ChkUsed()) {
|
||||
dComIfG_Bgsp().Release(&mBgW[0]);
|
||||
}
|
||||
|
||||
if (mBgW[1].ChkUsed()) {
|
||||
dComIfG_Bgsp().Release(&mBgW[1]);
|
||||
}
|
||||
|
||||
dComIfG_resDelete(&mPhaseReq, l_arcName);
|
||||
}
|
||||
|
||||
|
|
@ -438,40 +483,41 @@ static int daObjMirrorChain_Delete(daObjMirrorChain_c* i_this) {
|
|||
}
|
||||
|
||||
void daObjMirrorChain_c::create_init() {
|
||||
if (mpBckAnm != NULL
|
||||
/* dSv_event_flag_c::F_0354 - Cutscene - [cutscene] Mirror complete */
|
||||
&& !dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])) {
|
||||
if (mpBckAnm != NULL && !dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])) {
|
||||
mpBckAnm->setPlaySpeed(0.0f);
|
||||
}
|
||||
|
||||
mpEmitter = NULL;
|
||||
mBgW[0].SetCrrFunc(NULL);
|
||||
mBgW[0].SetRoomId(fopAcM_GetRoomNo(this));
|
||||
mBgW[1].SetCrrFunc(NULL);
|
||||
mBgW[1].SetRoomId(fopAcM_GetRoomNo(this));
|
||||
bool b = fopAcM_isSwitch(this, getSwitchNo())
|
||||
|
||||
/* dSv_event_flag_c::F_0361 - Arbiter's Grounds - Spun the spinning pillars */
|
||||
|| dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361]);
|
||||
mpActiveBgW = b ? &mBgW[1] : &mBgW[0];
|
||||
mpActiveBgW = (fopAcM_isSwitch(this, getSwitchNo()) || dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361])) ? &mBgW[1] : &mBgW[0];
|
||||
dComIfG_Bgsp().Regist(mpActiveBgW, this);
|
||||
initBaseMtx();
|
||||
}
|
||||
|
||||
cPhs__Step daObjMirrorChain_c::create() {
|
||||
fopAcM_ct(this, daObjMirrorChain_c);
|
||||
cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName);
|
||||
if (step == cPhs_COMPLEATE_e) {
|
||||
|
||||
cPhs__Step phase_state = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName);
|
||||
if (phase_state == cPhs_COMPLEATE_e) {
|
||||
if (!fopAcM_entrySolidHeap(this, createSolidHeap, 0x71b0)) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
create_init();
|
||||
}
|
||||
return step;
|
||||
|
||||
return phase_state;
|
||||
}
|
||||
|
||||
/* 80C97D24-80C97F3C 001704 0218+00 1/0 0/0 0/0 .text daObjMirrorChain_Create__FP10fopAc_ac_c */
|
||||
static cPhs__Step daObjMirrorChain_Create(fopAc_ac_c* i_this) {
|
||||
fopAcM_GetID(i_this);
|
||||
return static_cast<daObjMirrorChain_c*>(i_this)->create();
|
||||
return ((daObjMirrorChain_c*)i_this)->create();
|
||||
}
|
||||
|
||||
/* 80C980B4-80C980D4 -00001 0020+00 1/0 0/0 0/0 .data l_daObjMirrorChain_Method */
|
||||
|
|
@ -500,10 +546,3 @@ extern actor_process_profile_definition g_profile_Obj_MirrorChain = {
|
|||
fopAc_ACTOR_e,
|
||||
fopAc_CULLBOX_CUSTOM_e,
|
||||
};
|
||||
|
||||
/* 80C98104-80C98110 000084 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */
|
||||
SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__12J3DFrameCtrlFv,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -187,8 +187,8 @@ void daObjOCTHASHI_c::SphAction() {
|
|||
f32 fvals_3888[2] = {2.125f, 0.0f};
|
||||
f32 fvals_3889[2] = {0.0f, 0.0f};
|
||||
f32 fval_3890[1] = {2000.0f};
|
||||
f32 fval_3903[1] = {608.0f};
|
||||
f32 fval_3904[1] = {448.0f};
|
||||
f32 fval_3903[1] = {FB_WIDTH};
|
||||
f32 fval_3904[1] = {FB_HEIGHT};
|
||||
for (int idx = 0; idx < mPieceNum; ++idx) {
|
||||
if (mColliders[idx].ChkCoHit()) {
|
||||
fopAc_ac_c* hit_actor = dCc_GetAc(mColliders[idx].GetCoHitObj()->GetAc());
|
||||
|
|
|
|||
|
|
@ -346,7 +346,9 @@ int daObjRotStair_c::Draw() {
|
|||
Mtx lightMtx;
|
||||
C_MTXLightPerspective(lightMtx, dComIfGd_getView()->fovy,
|
||||
dComIfGd_getView()->aspect, 1.0f, 1.0f, -0.01f, 0);
|
||||
#if WIDESCREEN_SUPPORT
|
||||
mDoGph_gInf_c::setWideZoomLightProjection(lightMtx);
|
||||
#endif
|
||||
texMtxInfo->setEffectMtx(lightMtx);
|
||||
modelData->simpleCalcMaterial(0, (MtxP)j3dDefaultMtx);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -624,8 +624,8 @@ void daObjTEN_c::Z_BufferChk() {
|
|||
} else {
|
||||
trimHeight = 0.0f;
|
||||
}
|
||||
if (local_5c.x > 0.0f && local_5c.x < 608.0f && local_5c.y > trimHeight &&
|
||||
local_5c.y < 448.0f - trimHeight)
|
||||
if (local_5c.x > 0.0f && local_5c.x < FB_WIDTH && local_5c.y > trimHeight &&
|
||||
local_5c.y < FB_HEIGHT - trimHeight)
|
||||
{
|
||||
dComIfGd_peekZ(local_5c.x, local_5c.y, &field_0x61c);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -90,8 +90,8 @@ static void dataStripping2() {
|
|||
|
||||
stripFloat(3.0f);
|
||||
stripFloat(2000.0f);
|
||||
stripFloat(608.0f);
|
||||
stripFloat(448.0f);
|
||||
stripFloat(FB_WIDTH);
|
||||
stripFloat(FB_HEIGHT);
|
||||
}
|
||||
|
||||
/* 80D0C298-80D0C2B8 0000D8 0020+00 1/0 0/0 0/0 .text daObjTHASHI_Create__FP10fopAc_ac_c
|
||||
|
|
|
|||
|
|
@ -543,8 +543,8 @@ void daObjTOMBO_c::Z_BufferChk() {
|
|||
} else {
|
||||
trimHeight = 0.0f;
|
||||
}
|
||||
if (local_5c.x > 0.0f && local_5c.x < 608.0f && local_5c.y > trimHeight &&
|
||||
local_5c.y < 448.0f - trimHeight)
|
||||
if (local_5c.x > 0.0f && local_5c.x < FB_WIDTH && local_5c.y > trimHeight &&
|
||||
local_5c.y < FB_HEIGHT - trimHeight)
|
||||
{
|
||||
dComIfGd_peekZ(local_5c.x, local_5c.y, &field_0x754);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,7 +39,9 @@ static int daObj_Tp_Draw(obj_tp_class* i_this) {
|
|||
Mtx lightProjMtx;
|
||||
C_MTXLightPerspective(lightProjMtx, dComIfGd_getView()->fovy,
|
||||
dComIfGd_getView()->aspect, 1.0f, 1.0f, -0.01f, 0);
|
||||
#if WIDESCREEN_SUPPORT
|
||||
mDoGph_gInf_c::setWideZoomLightProjection(lightProjMtx);
|
||||
#endif
|
||||
texMtxInfo->setEffectMtx(lightProjMtx);
|
||||
modelData->simpleCalcMaterial(0, (MtxP)j3dDefaultMtx);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ BOOL daZraFreeze_c::chkActorInScreen() {
|
|||
PSMTXMultVecArray(mDoMtx_stack_c::get(), vec, vec, 8);
|
||||
for (int i = 0; i < 8; i++) {
|
||||
mDoLib_project(&vec[i], &proj);
|
||||
if (0.0f < proj.x && proj.x < 608.0f && 0.0f < proj.y && proj.y < 448.0f) {
|
||||
if (0.0f < proj.x && proj.x < FB_WIDTH && 0.0f < proj.y && proj.y < FB_HEIGHT) {
|
||||
continue;
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -1,114 +1,8 @@
|
|||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d_a_tag_attack_item
|
||||
//
|
||||
|
||||
#include "d/dolzel_rel.h" // IWYU pragma: keep
|
||||
|
||||
#include "d/actor/d_a_tag_attack_item.h"
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_event_lib.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
|
||||
// need to figure out how to use dEvLib_callback_c properly
|
||||
class daTagAtkItem_c : public fopAc_ac_c , public dEvLib_callback_c {
|
||||
public:
|
||||
/* 805A2958 */ void setBaseMtx();
|
||||
/* 805A2990 */ int Create();
|
||||
/* 805A2A34 */ int create();
|
||||
/* 805A2C48 */ int execute();
|
||||
/* 805A2CA8 */ void action();
|
||||
/* 805A2D58 */ BOOL checkHit();
|
||||
/* 805A2F54 */ void createItem();
|
||||
/* 805A3038 */ int _delete();
|
||||
|
||||
/* 805A3118 */ ~daTagAtkItem_c();
|
||||
/* 805A2D10 */ bool eventStart();
|
||||
/* 805A2D34 */ bool eventEnd();
|
||||
|
||||
u8 getEvId() { return fopAcM_GetParamBit(this, 0x18, 8); }
|
||||
u8 getNum() { return fopAcM_GetParamBit(this, 8, 8); }
|
||||
u8 getItemBit() { return fopAcM_GetParamBit(this, 0x10, 8); }
|
||||
u8 getItemNo() { return fopAcM_GetParamBit(this, 0, 8); }
|
||||
|
||||
/* 0x568 */ u8 temp[0x57C - 0x568]; // remove when dEvLib_callback_c setup
|
||||
/* 0x57C */ u8 field_0x57C[0x584 - 0x57C];
|
||||
/* 0x584 */ dCcD_Stts mCcStts;
|
||||
/* 0x5C0 */ dCcD_Cyl mCyl;
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void setBaseMtx__14daTagAtkItem_cFv();
|
||||
extern "C" void Create__14daTagAtkItem_cFv();
|
||||
extern "C" void create__14daTagAtkItem_cFv();
|
||||
extern "C" void __dt__8cM3dGCylFv();
|
||||
extern "C" void __dt__8cM3dGAabFv();
|
||||
extern "C" void __dt__10dCcD_GSttsFv();
|
||||
extern "C" void execute__14daTagAtkItem_cFv();
|
||||
extern "C" void action__14daTagAtkItem_cFv();
|
||||
extern "C" void eventStart__14daTagAtkItem_cFv();
|
||||
extern "C" void eventEnd__14daTagAtkItem_cFv();
|
||||
extern "C" void checkHit__14daTagAtkItem_cFv();
|
||||
extern "C" void createItem__14daTagAtkItem_cFv();
|
||||
extern "C" bool _delete__14daTagAtkItem_cFv();
|
||||
extern "C" static void daTagAtkItem_Execute__FP14daTagAtkItem_c();
|
||||
extern "C" static void daTagAtkItem_Delete__FP14daTagAtkItem_c();
|
||||
extern "C" static void daTagAtkItem_Create__FP14daTagAtkItem_c();
|
||||
extern "C" void __dt__17dEvLib_callback_cFv();
|
||||
extern "C" bool eventRun__17dEvLib_callback_cFv();
|
||||
extern "C" bool eventStart__17dEvLib_callback_cFv();
|
||||
extern "C" bool eventEnd__17dEvLib_callback_cFv();
|
||||
extern "C" static void func_805A3100();
|
||||
extern "C" static void func_805A3108();
|
||||
extern "C" static void func_805A3110();
|
||||
extern "C" void __dt__14daTagAtkItem_cFv();
|
||||
extern "C" void __dt__10cCcD_GSttsFv();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
|
||||
extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz();
|
||||
extern "C" void __ct__10fopAc_ac_cFv();
|
||||
extern "C" void __dt__10fopAc_ac_cFv();
|
||||
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
|
||||
extern "C" void fopAcM_createItemFromTable__FPC4cXyziiiPC5csXyziPC4cXyzPfPfb();
|
||||
extern "C" void eventUpdate__17dEvLib_callback_cFv();
|
||||
extern "C" void orderEvent__17dEvLib_callback_cFiii();
|
||||
extern "C" void __ct__10dCcD_GSttsFv();
|
||||
extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
|
||||
extern "C" void __ct__12dCcD_GObjInfFv();
|
||||
extern "C" void __dt__12dCcD_GObjInfFv();
|
||||
extern "C" void ChkTgHit__12dCcD_GObjInfFv();
|
||||
extern "C" void GetTgHitObj__12dCcD_GObjInfFv();
|
||||
extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl();
|
||||
extern "C" void Set__4cCcSFP8cCcD_Obj();
|
||||
extern "C" void __ct__5csXyzFsss();
|
||||
extern "C" void cM_rndFX__Ff();
|
||||
extern "C" void SetC__8cM3dGCylFRC4cXyz();
|
||||
extern "C" void SetH__8cM3dGCylFf();
|
||||
extern "C" void SetR__8cM3dGCylFf();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* __vt__8dCcD_Cyl[36];
|
||||
extern "C" extern void* __vt__9dCcD_Stts[11];
|
||||
extern "C" extern void* __vt__12cCcD_CylAttr[25];
|
||||
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
|
||||
extern "C" extern void* __vt__9cCcD_Stts[8];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 805A2958-805A2990 000078 0038+00 1/1 0/0 0/0 .text setBaseMtx__14daTagAtkItem_cFv */
|
||||
void daTagAtkItem_c::setBaseMtx() {
|
||||
|
|
@ -143,103 +37,16 @@ int daTagAtkItem_c::Create() {
|
|||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 805A3338-805A3358 -00001 0020+00 1/0 0/0 0/0 .data l_daTagAtkItem_Method */
|
||||
SECTION_DATA static void* l_daTagAtkItem_Method[8] = {
|
||||
(void*)daTagAtkItem_Create__FP14daTagAtkItem_c,
|
||||
(void*)daTagAtkItem_Delete__FP14daTagAtkItem_c,
|
||||
(void*)daTagAtkItem_Execute__FP14daTagAtkItem_c,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
};
|
||||
|
||||
/* 805A3358-805A3388 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_AttackItem */
|
||||
SECTION_DATA extern void* g_profile_Tag_AttackItem[12] = {
|
||||
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
|
||||
(void*)0x01AA0000, (void*)&g_fpcLf_Method,
|
||||
(void*)0x000006FC, (void*)NULL,
|
||||
(void*)NULL, (void*)&g_fopAc_Method,
|
||||
(void*)0x02490000, (void*)&l_daTagAtkItem_Method,
|
||||
(void*)0x00040000, (void*)0x000E0000,
|
||||
};
|
||||
|
||||
/* 805A3388-805A33B4 000094 002C+00 2/2 0/0 0/0 .data __vt__14daTagAtkItem_c */
|
||||
SECTION_DATA extern void* __vt__14daTagAtkItem_c[11] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)func_805A3110,
|
||||
(void*)func_805A3108,
|
||||
(void*)eventRun__17dEvLib_callback_cFv,
|
||||
(void*)func_805A3100,
|
||||
(void*)__dt__14daTagAtkItem_cFv,
|
||||
(void*)eventStart__14daTagAtkItem_cFv,
|
||||
(void*)eventEnd__14daTagAtkItem_cFv,
|
||||
};
|
||||
|
||||
/* 805A33B4-805A33C0 0000C0 000C+00 3/3 0/0 0/0 .data __vt__10cCcD_GStts */
|
||||
SECTION_DATA extern void* __vt__10cCcD_GStts[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__10cCcD_GSttsFv,
|
||||
};
|
||||
|
||||
/* 805A33C0-805A33CC 0000CC 000C+00 2/2 0/0 0/0 .data __vt__10dCcD_GStts */
|
||||
SECTION_DATA extern void* __vt__10dCcD_GStts[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__10dCcD_GSttsFv,
|
||||
};
|
||||
|
||||
/* 805A33CC-805A33D8 0000D8 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGCyl */
|
||||
SECTION_DATA extern void* __vt__8cM3dGCyl[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__8cM3dGCylFv,
|
||||
};
|
||||
|
||||
/* 805A33D8-805A33E4 0000E4 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGAab */
|
||||
SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__8cM3dGAabFv,
|
||||
};
|
||||
|
||||
/* 805A33E4-805A33FC 0000F0 0018+00 3/3 0/0 0/0 .data __vt__17dEvLib_callback_c */
|
||||
SECTION_DATA extern void* __vt__17dEvLib_callback_c[6] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__17dEvLib_callback_cFv,
|
||||
(void*)eventStart__17dEvLib_callback_cFv,
|
||||
(void*)eventRun__17dEvLib_callback_cFv,
|
||||
(void*)eventEnd__17dEvLib_callback_cFv,
|
||||
};
|
||||
|
||||
/* 805A2A34-805A2B5C 000154 0128+00 1/1 0/0 0/0 .text create__14daTagAtkItem_cFv */
|
||||
int daTagAtkItem_c::create() {
|
||||
// NONMATCHING
|
||||
}
|
||||
fopAcM_ct(this, daTagAtkItem_c);
|
||||
|
||||
/* 805A2B5C-805A2BA4 00027C 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
|
||||
// cM3dGCyl::~cM3dGCyl() {
|
||||
extern "C" void __dt__8cM3dGCylFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
if (!Create()) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
/* 805A2BA4-805A2BEC 0002C4 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
|
||||
// cM3dGAab::~cM3dGAab() {
|
||||
extern "C" void __dt__8cM3dGAabFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 805A2BEC-805A2C48 00030C 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */
|
||||
// dCcD_GStts::~dCcD_GStts() {
|
||||
extern "C" void __dt__10dCcD_GSttsFv() {
|
||||
// NONMATCHING
|
||||
OS_REPORT("攻撃反応アイテム:<%x>\n", fopAcM_GetParam(this));
|
||||
return cPhs_COMPLEATE_e;
|
||||
}
|
||||
|
||||
/* 805A2C48-805A2CA8 000368 0060+00 1/1 0/0 0/0 .text execute__14daTagAtkItem_cFv */
|
||||
|
|
@ -285,10 +92,8 @@ BOOL daTagAtkItem_c::checkHit() {
|
|||
if (hitobj_p != NULL &&
|
||||
(hitobj_p->ChkAtType(AT_TYPE_IRON_BALL) || hitobj_p->ChkAtType(AT_TYPE_BOMB)))
|
||||
{
|
||||
#ifdef DEBUG
|
||||
// "Attack Reaction Item: Rotate attack hit!\n"
|
||||
OSReport("攻撃反応アイテム:回転アタックヒット!\n");
|
||||
#endif
|
||||
OS_REPORT("攻撃反応アイテム:回転アタックヒット!\n");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
@ -297,12 +102,10 @@ BOOL daTagAtkItem_c::checkHit() {
|
|||
|
||||
if ((player_p->checkFrontRollCrash() || player_p->checkWolfAttackReverse()) &&
|
||||
player_p->current.pos.absXZ(current.pos) < scale.x * 50.0f &&
|
||||
fabsf(player_p->current.pos.y - current.pos.y) < scale.y * 100.0f)
|
||||
std::fabs(player_p->current.pos.y - current.pos.y) < scale.y * 100.0f)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
// "Attack Reaction Item: Rotate attack hit!\n"
|
||||
OSReport("攻撃反応アイテム:回転アタックヒット!\n");
|
||||
#endif
|
||||
OS_REPORT("攻撃反応アイテム:回転アタックヒット!\n");
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -353,54 +156,29 @@ static int daTagAtkItem_Create(daTagAtkItem_c* i_this) {
|
|||
return i_this->create();
|
||||
}
|
||||
|
||||
/* 805A30A0-805A30E8 0007C0 0048+00 1/0 0/0 0/0 .text __dt__17dEvLib_callback_cFv */
|
||||
// dEvLib_callback_c::~dEvLib_callback_c() {
|
||||
extern "C" void __dt__17dEvLib_callback_cFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
/* 805A3338-805A3358 -00001 0020+00 1/0 0/0 0/0 .data l_daTagAtkItem_Method */
|
||||
static actor_method_class l_daTagAtkItem_Method = {
|
||||
(process_method_func)daTagAtkItem_Create,
|
||||
(process_method_func)daTagAtkItem_Delete,
|
||||
(process_method_func)daTagAtkItem_Execute,
|
||||
(process_method_func)NULL,
|
||||
(process_method_func)NULL,
|
||||
};
|
||||
|
||||
/* 805A30E8-805A30F0 000808 0008+00 2/0 0/0 0/0 .text eventRun__17dEvLib_callback_cFv */
|
||||
// bool dEvLib_callback_c::eventRun() {
|
||||
extern "C" bool eventRun__17dEvLib_callback_cFv() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 805A30F0-805A30F8 000810 0008+00 1/0 0/0 0/0 .text eventStart__17dEvLib_callback_cFv
|
||||
*/
|
||||
// bool dEvLib_callback_c::eventStart()() {
|
||||
extern "C" bool eventStart__17dEvLib_callback_cFv() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 805A30F8-805A3100 000818 0008+00 1/0 0/0 0/0 .text eventEnd__17dEvLib_callback_cFv */
|
||||
// bool dEvLib_callback_c::eventEnd() {
|
||||
extern "C" bool eventEnd__17dEvLib_callback_cFv() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 805A3100-805A3108 000820 0008+00 1/0 0/0 0/0 .text @1384@eventEnd__14daTagAtkItem_cFv
|
||||
*/
|
||||
static void func_805A3100() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 805A3108-805A3110 000828 0008+00 1/0 0/0 0/0 .text @1384@eventStart__14daTagAtkItem_cFv */
|
||||
static void func_805A3108() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 805A3110-805A3118 000830 0008+00 1/0 0/0 0/0 .text @1384@__dt__14daTagAtkItem_cFv */
|
||||
static void func_805A3110() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 805A3118-805A3278 000838 0160+00 2/1 0/0 0/0 .text __dt__14daTagAtkItem_cFv */
|
||||
daTagAtkItem_c::~daTagAtkItem_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 805A3278-805A32C0 000998 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */
|
||||
// cCcD_GStts::~cCcD_GStts() {
|
||||
extern "C" void __dt__10cCcD_GSttsFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
/* 805A3358-805A3388 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_AttackItem */
|
||||
extern actor_process_profile_definition g_profile_Tag_AttackItem = {
|
||||
fpcLy_CURRENT_e,
|
||||
7,
|
||||
fpcPi_CURRENT_e,
|
||||
PROC_Tag_AttackItem,
|
||||
&g_fpcLf_Method.base,
|
||||
sizeof(daTagAtkItem_c),
|
||||
0,
|
||||
0,
|
||||
&g_fopAc_Method.base,
|
||||
585,
|
||||
&l_daTagAtkItem_Method,
|
||||
0x40000,
|
||||
fopAc_ACTOR_e,
|
||||
fopAc_CULLBOX_CUSTOM_e,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ daTit_HIO_c::daTit_HIO_c() {
|
|||
mPSPosX = 303.0f;
|
||||
break;
|
||||
case OS_LANGUAGE_FRENCH:
|
||||
mPSPosX = 304.0f;
|
||||
mPSPosX = FB_WIDTH / 2;
|
||||
break;
|
||||
}
|
||||
#else
|
||||
|
|
|
|||
|
|
@ -2127,10 +2127,10 @@ f32 dCamera_c::radiusActorInSight(fopAc_ac_c* i_actor1, fopAc_ac_c* i_actor2, cX
|
|||
dDlst_window_c* window = get_window(field_0x0);
|
||||
scissor_class* scissor = window->getScissor();
|
||||
f32 dVar3 = cAngle::d2r(i_fovY) * 0.5f;
|
||||
f32 tmp = (scissor->height - mTrimHeight * 2.0f) / 448.0f * dVar3;
|
||||
f32 tmp = (scissor->height - mTrimHeight * 2.0f) / FB_HEIGHT * dVar3;
|
||||
f32 fVar8 = tmp * (mTrimHeight < 0.01f ? 0.95f : 1.0f);
|
||||
dVar3 *= mWindowAspect;
|
||||
f32 fVar7 = dVar3 * (scissor->width / 608.0f) * 0.85f;
|
||||
f32 fVar7 = dVar3 * (scissor->width / FB_WIDTH) * 0.85f;
|
||||
|
||||
cXyz pos1 = attentionPos(i_actor1);
|
||||
pos1.y += (positionOf(i_actor1).y - attentionPos(i_actor1).y) * 0.5f;
|
||||
|
|
@ -7861,9 +7861,11 @@ bool dCamera_c::rideCamera(s32 param_0) {
|
|||
|
||||
cSAngle sp144 = cSAngle::_0;
|
||||
|
||||
#if WIDESCREEN_SUPPORT
|
||||
if (mDoGph_gInf_c::isWide()) {
|
||||
val22 *= WideTurnSaving;
|
||||
}
|
||||
#endif
|
||||
|
||||
RideData* wk = (RideData*)mWork;
|
||||
|
||||
|
|
@ -9328,11 +9330,13 @@ bool dCamera_c::eventCamera(s32 param_0) {
|
|||
}
|
||||
|
||||
getEvIntData(&sp1C, "WideMode", 0);
|
||||
#if WIDESCREEN_SUPPORT
|
||||
if (sp1C == 1) {
|
||||
mDoGph_gInf_c::onWideZoom();
|
||||
} else if (sp1C == 2) {
|
||||
mDoGph_gInf_c::offWideZoom();
|
||||
}
|
||||
#endif
|
||||
|
||||
#if DEBUG
|
||||
if (mCamSetup.CheckFlag(0x8000)) {
|
||||
|
|
@ -10039,7 +10043,7 @@ static int camera_draw(camera_process_class* i_this) {
|
|||
int camera_id = get_camera_id(a_this);
|
||||
|
||||
int trim_height = body->TrimHeight();
|
||||
window->setScissor(0.0f, trim_height, 608.0f, 448.0f - trim_height * 2.0f);
|
||||
window->setScissor(0.0f, trim_height, FB_WIDTH, FB_HEIGHT - trim_height * 2.0f);
|
||||
C_MTXPerspective(i_this->projMtx, i_this->fovy, i_this->aspect, i_this->near, i_this->far);
|
||||
mDoMtx_lookAt(i_this->viewMtx, &i_this->lookat.eye, &i_this->lookat.center,
|
||||
&i_this->lookat.up, i_this->bank);
|
||||
|
|
|
|||
|
|
@ -1936,12 +1936,12 @@ void dComIfG_playerStatusD() {
|
|||
dComIfGs_onEventBit(0x5d80);
|
||||
|
||||
if (!mDoCPd_c::isConnect(PAD_3)) {
|
||||
g_fmapHIO.mRangeCheckInterval = 0;
|
||||
g_fmapHIO.mAllRegionsUnlocked = 0;
|
||||
} else {
|
||||
g_fmapHIO.mRangeCheckInterval = 1;
|
||||
g_fmapHIO.mAllRegionsUnlocked = 1;
|
||||
}
|
||||
|
||||
g_fmapHIO.mRegionImageDebug = 1;
|
||||
g_fmapHIO.mPortalWarpON = 1;
|
||||
g_fmapHIO.update();
|
||||
|
||||
g_mwHIO.setArrowFlag(1);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,4 @@
|
|||
#include "d/d_cursor_mng.h"
|
||||
|
||||
// TODO: putting this here until a more appropriate place is found
|
||||
u8 data_8053a730;
|
||||
|
|
@ -218,7 +218,7 @@ void dDbgCamSetup_c::genMessage(JORMContext* mctx) {
|
|||
|
||||
mctx->genLabel("- 情報表示", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18);
|
||||
mctx->genCheckBox(" 有効", &mFlag, 0x8000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18);
|
||||
mctx->genSlider(" 表示位置 X", &mPosX, 0, 640, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18);
|
||||
mctx->genSlider(" 表示位置 X", &mPosX, 0, FB_WIDTH, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18);
|
||||
mctx->genSlider(" Y", &mPosY, 0, 480, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18);
|
||||
|
||||
mctx->genLabel("-", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18);
|
||||
|
|
|
|||
|
|
@ -73,9 +73,9 @@ static void messageSet(u32 status, bool i_drawBg) {
|
|||
|
||||
JUT_ASSERT(102, strlen(msg_p)-1 < 512);
|
||||
|
||||
J2DTextBox tpane('TEXT1', JGeometry::TBox2<f32>(0.0f, 0.0f, 608.0f, 200.0f), (ResFONT*)font_data, msg_p, 512, HBIND_CENTER, VBIND_CENTER);
|
||||
J2DTextBox spane('TEXT2', JGeometry::TBox2<f32>(0.0f, 0.0f, 608.0f, 200.0f), (ResFONT*)font_data, msg_p, 512, HBIND_CENTER, VBIND_CENTER);
|
||||
J2DPicture ppane('PICT1', JGeometry::TBox2<f32>(0.0f, 0.0f, 608.0f, 448.0f), (ResTIMG*)black_tex, NULL);
|
||||
J2DTextBox tpane('TEXT1', JGeometry::TBox2<f32>(0.0f, 0.0f, FB_WIDTH, 200.0f), (ResFONT*)font_data, msg_p, 512, HBIND_CENTER, VBIND_CENTER);
|
||||
J2DTextBox spane('TEXT2', JGeometry::TBox2<f32>(0.0f, 0.0f, FB_WIDTH, 200.0f), (ResFONT*)font_data, msg_p, 512, HBIND_CENTER, VBIND_CENTER);
|
||||
J2DPicture ppane('PICT1', JGeometry::TBox2<f32>(0.0f, 0.0f, FB_WIDTH, FB_HEIGHT), (ResTIMG*)black_tex, NULL);
|
||||
|
||||
JUTResFont font((ResFONT*)font_data, NULL);
|
||||
JUTFont* pfont = (JUTFont*)&font;
|
||||
|
|
@ -146,36 +146,36 @@ static void messageSet(u32 status, bool i_drawBg) {
|
|||
|
||||
#if (VERSION == VERSION_GCN_JPN) || (VERSION == VERSION_WII_JPN)
|
||||
f32 temp_0 = 0.0f; // fixes load order
|
||||
f32 y = temp_0 + ((448.0f - height) / 2);
|
||||
f32 y = temp_0 + ((FB_HEIGHT - height) / 2);
|
||||
|
||||
if (i_drawBg) {
|
||||
ppane.mAlpha = 0x82;
|
||||
ppane.draw(0.0f, 0.0f, 608.0f, 448.0f, false, false, false);
|
||||
ppane.draw(0.0f, 0.0f, FB_WIDTH, FB_HEIGHT, false, false, false);
|
||||
}
|
||||
|
||||
spane.draw(2.0f, y + 10.0f + 2.0f, 608.0f, HBIND_CENTER);
|
||||
tpane.draw(0.0f, y + 10.0f, 608.0f, HBIND_CENTER);
|
||||
spane.draw(2.0f, y + 10.0f + 2.0f, FB_WIDTH, HBIND_CENTER);
|
||||
tpane.draw(0.0f, y + 10.0f, FB_WIDTH, HBIND_CENTER);
|
||||
#else
|
||||
f32 temp_0 = 0.0f; // fixes load order
|
||||
f32 x = temp_0 + ((608.0f - maxWidth) / 2);
|
||||
f32 y = temp_0 + ((448.0f - height) / 2);
|
||||
f32 x = temp_0 + ((FB_WIDTH - maxWidth) / 2);
|
||||
f32 y = temp_0 + ((FB_HEIGHT - height) / 2);
|
||||
|
||||
if (i_drawBg) {
|
||||
ppane.mAlpha = 0x82;
|
||||
ppane.draw(0.0f, 0.0f, 608.0f, 448.0f, false, false, false);
|
||||
ppane.draw(0.0f, 0.0f, FB_WIDTH, FB_HEIGHT, false, false, false);
|
||||
}
|
||||
|
||||
#if VERSION == VERSION_GCN_PAL
|
||||
if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGAUGE_ENGLISH) {
|
||||
spane.draw(x + 2.0f, y + 10.0f + 2.0f, 608.0f, HBIND_LEFT);
|
||||
tpane.draw(x, y + 10.0f, 608.0f, HBIND_LEFT);
|
||||
spane.draw(x + 2.0f, y + 10.0f + 2.0f, FB_WIDTH, HBIND_LEFT);
|
||||
tpane.draw(x, y + 10.0f, FB_WIDTH, HBIND_LEFT);
|
||||
} else {
|
||||
spane.draw(2.0f, y + 10.0f + 2.0f, 608.0f, HBIND_CENTER);
|
||||
tpane.draw(0.0f, y + 10.0f, 608.0f, HBIND_CENTER);
|
||||
spane.draw(2.0f, y + 10.0f + 2.0f, FB_WIDTH, HBIND_CENTER);
|
||||
tpane.draw(0.0f, y + 10.0f, FB_WIDTH, HBIND_CENTER);
|
||||
}
|
||||
#else
|
||||
spane.draw(x + 2.0f, y + 10.0f + 2.0f, 608.0f, HBIND_LEFT);
|
||||
tpane.draw(x, y + 10.0f, 608.0f, HBIND_LEFT);
|
||||
spane.draw(x + 2.0f, y + 10.0f + 2.0f, FB_WIDTH, HBIND_LEFT);
|
||||
tpane.draw(x, y + 10.0f, FB_WIDTH, HBIND_LEFT);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
|
@ -188,8 +188,8 @@ void dDvdErrorMsg_c::draw(s32 status) {
|
|||
GXSetAlphaUpdate(GX_FALSE);
|
||||
j3dSys.drawInit();
|
||||
|
||||
J2DOrthoGraph draw2D(0.0f, 0.0f, 608.0f, 448.0f, -1.0f, 1.0f);
|
||||
draw2D.setOrtho(0.0f, 0.0f, 608.0f, 448.0f, -1.0f, 1.0f);
|
||||
J2DOrthoGraph draw2D(0.0f, 0.0f, FB_WIDTH, FB_HEIGHT, -1.0f, 1.0f);
|
||||
draw2D.setOrtho(0.0f, 0.0f, FB_WIDTH, FB_HEIGHT, -1.0f, 1.0f);
|
||||
draw2D.setPort();
|
||||
dComIfGp_setCurrentGrafPort(&draw2D);
|
||||
|
||||
|
|
@ -244,8 +244,8 @@ static void drawCapture(u8 alpha) {
|
|||
static bool l_texCopied = false;
|
||||
|
||||
if (!l_texCopied) {
|
||||
GXSetTexCopySrc(0, 0, 608, 448);
|
||||
GXSetTexCopyDst(304, 224, (GXTexFmt)mDoGph_gInf_c::getFrameBufferTimg()->format, GX_TRUE);
|
||||
GXSetTexCopySrc(0, 0, FB_WIDTH, FB_HEIGHT);
|
||||
GXSetTexCopyDst(FB_WIDTH / 2, FB_HEIGHT / 2, (GXTexFmt)mDoGph_gInf_c::getFrameBufferTimg()->format, GX_TRUE);
|
||||
GXCopyTex(mDoGph_gInf_c::getFrameBufferTex(), GX_FALSE);
|
||||
l_texCopied = true;
|
||||
}
|
||||
|
|
@ -255,7 +255,7 @@ static void drawCapture(u8 alpha) {
|
|||
GXSetAlphaUpdate(GX_FALSE);
|
||||
j3dSys.drawInit();
|
||||
|
||||
GXInitTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), mDoGph_gInf_c::getFrameBufferTex(), 304, 224, (GXTexFmt)mDoGph_gInf_c::getFrameBufferTimg()->format, GX_CLAMP, GX_CLAMP, GX_FALSE);
|
||||
GXInitTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), mDoGph_gInf_c::getFrameBufferTex(), FB_WIDTH / 2, FB_HEIGHT / 2, (GXTexFmt)mDoGph_gInf_c::getFrameBufferTimg()->format, GX_CLAMP, GX_CLAMP, GX_FALSE);
|
||||
GXInitTexObjLOD(mDoGph_gInf_c::getFrameBufferTexObj(), GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1);
|
||||
GXLoadTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), GX_TEXMAP0);
|
||||
GXSetNumChans(0);
|
||||
|
|
|
|||
|
|
@ -2585,7 +2585,7 @@ void dFile_select_c::screenSet() {
|
|||
black.a = 0;
|
||||
white.a = 0xff;
|
||||
ResTIMG* uVar20 = (ResTIMG*)dComIfGp_getMain2DArchive()->getResource('TIMG', "tt_block8x8.bti");
|
||||
field_0x2378 = new J2DPicture('PICT01', JGeometry::TBox2<f32>(0.0f, 608.0f, 0.0f, 448.0f), uVar20, NULL);
|
||||
field_0x2378 = new J2DPicture('PICT01', JGeometry::TBox2<f32>(0.0f, FB_WIDTH, 0.0f, FB_HEIGHT), uVar20, NULL);
|
||||
field_0x2378->setBlackWhite(black, white);
|
||||
field_0x2378->setAlpha(0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,11 +42,11 @@ void dDlst_Gameover_CAPTURE_c::draw() {
|
|||
GXTexObj tex_obj;
|
||||
Mtx44 m;
|
||||
|
||||
GXSetTexCopySrc(0, 0, 608, 448);
|
||||
GXSetTexCopyDst(304, 224, GX_TF_RGB565, 1);
|
||||
GXSetTexCopySrc(0, 0, FB_WIDTH, FB_HEIGHT);
|
||||
GXSetTexCopyDst(FB_WIDTH / 2, FB_HEIGHT / 2, GX_TF_RGB565, 1);
|
||||
GXCopyTex(mDoGph_gInf_c::mZbufferTex, 0);
|
||||
GXPixModeSync();
|
||||
GXInitTexObj(&tex_obj, mDoGph_gInf_c::mFrameBufferTex, 304, 224,
|
||||
GXInitTexObj(&tex_obj, mDoGph_gInf_c::mFrameBufferTex, FB_WIDTH / 2, FB_HEIGHT / 2,
|
||||
(GXTexFmt)mDoGph_gInf_c::mFrameBufferTimg->format, GX_CLAMP, GX_CLAMP, GX_FALSE);
|
||||
GXInitTexObjLOD(&tex_obj, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE,
|
||||
GX_ANISO_1);
|
||||
|
|
@ -469,7 +469,7 @@ void dDlst_GameOverScrnDraw_c::draw() {
|
|||
img_white.a = 255;
|
||||
|
||||
mpBackImg->setBlackWhite(img_black, img_white);
|
||||
mpBackImg->draw(0.0f, 0.0f, 608.0f, 448.0f, false, false, false);
|
||||
mpBackImg->draw(0.0f, 0.0f, FB_WIDTH, FB_HEIGHT, false, false, false);
|
||||
} else {
|
||||
JUtility::TColor img_black;
|
||||
JUtility::TColor img_white;
|
||||
|
|
@ -484,12 +484,12 @@ void dDlst_GameOverScrnDraw_c::draw() {
|
|||
img_white.b = l_HIO.mWhite.b;
|
||||
img_white.a = l_HIO.mWhite.a;
|
||||
|
||||
mpBackImg->draw(0.0f, 0.0f, 608.0f, 448.0f, false, false, false);
|
||||
mpBackImg->draw(0.0f, 0.0f, FB_WIDTH, FB_HEIGHT, false, false, false);
|
||||
|
||||
static f32 offset[8] = {-138.0f, -96.0f, -56.0f, -18.0f, 42.0f, 75.0f, 110.0f, 143.0f};
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
mpLight->draw(&field_0x10, offset[i] + 304.0f, 224.0f, l_HIO.mScale, l_HIO.mScale,
|
||||
mpLight->draw(&field_0x10, offset[i] + (FB_WIDTH / 2.0f), (FB_HEIGHT / 2), l_HIO.mScale, l_HIO.mScale,
|
||||
l_HIO.mAlpha, l_HIO.mAnimSpeed, img_black, img_white);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ void drawCallback(J2DOrthoGraph& param_0, void* param_1) {
|
|||
if (mDoGph_gInf_c::isWide()) {
|
||||
MTXOrtho(sp8, 228.0f, -228.0f, -416.0f, 416.0f, 0.0f, 500.0f);
|
||||
} else {
|
||||
MTXOrtho(sp8, 228.0f, -228.0f, -304.0f, 304.0f, 0.0f, 500.0f);
|
||||
MTXOrtho(sp8, 228.0f, -228.0f, -(FB_WIDTH / 2), (FB_WIDTH / 2), 0.0f, 500.0f);
|
||||
}
|
||||
|
||||
GXSetProjection(sp8, GX_ORTHOGRAPHIC);
|
||||
|
|
@ -179,8 +179,8 @@ int dHomeButton_c::execute() {
|
|||
// NONMATCHING
|
||||
void dHomeButton_c::drawCapture(u8 param_0, void (*param_1)(J2DOrthoGraph&, void*), void* param_2) {
|
||||
if (lbl_8053A725 == 0) {
|
||||
GXSetTexCopySrc(0, 0, 640, 456);
|
||||
GXSetTexCopyDst(640, 456, (GXTexFmt)mDoGph_gInf_c::m_fullFrameBufferTimg->format, GX_FALSE);
|
||||
GXSetTexCopySrc(0, 0, FB_WIDTH, FB_HEIGHT);
|
||||
GXSetTexCopyDst(FB_WIDTH, FB_HEIGHT, (GXTexFmt)mDoGph_gInf_c::m_fullFrameBufferTimg->format, GX_FALSE);
|
||||
GXCopyTex(mDoGph_gInf_c::m_fullFrameBufferTex, GX_FALSE);
|
||||
lbl_8053A725 = 1;
|
||||
}
|
||||
|
|
@ -190,7 +190,7 @@ void dHomeButton_c::drawCapture(u8 param_0, void (*param_1)(J2DOrthoGraph&, void
|
|||
GXSetAlphaUpdate(GX_DISABLE);
|
||||
j3dSys.drawInit();
|
||||
|
||||
J2DOrthoGraph sp30(0.0f, 0.0f, 640.0f, 456.0f, -1.0f, 1.0f);
|
||||
J2DOrthoGraph sp30(0.0f, 0.0f, FB_WIDTH, FB_HEIGHT, -1.0f, 1.0f);
|
||||
sp30.setOrtho(JGeometry::TBox2<f32>(mDoGph_gInf_c::getMinXF(), mDoGph_gInf_c::getMinYF(),
|
||||
mDoGph_gInf_c::getMinXF() + mDoGph_gInf_c::getWidthF(),
|
||||
mDoGph_gInf_c::getMinYF() + mDoGph_gInf_c::getHeightF()),
|
||||
|
|
|
|||
|
|
@ -113,8 +113,8 @@ void dInsect_c::CalcZBuffer(f32 param_0) {
|
|||
camera_trim_height = 0.0f;
|
||||
}
|
||||
|
||||
if (pos_projected.x > 0.0f && pos_projected.x < 608.0f &&
|
||||
pos_projected.y > camera_trim_height && pos_projected.y < 448.0f - camera_trim_height)
|
||||
if (pos_projected.x > 0.0f && pos_projected.x < FB_WIDTH &&
|
||||
pos_projected.y > camera_trim_height && pos_projected.y < FB_HEIGHT - camera_trim_height)
|
||||
{
|
||||
dComIfGd_peekZ(pos_projected.x, pos_projected.y, &field_0x578);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -8493,7 +8493,7 @@ void dKy_depth_dist_set(void* process_p) {
|
|||
if (var_f31 < 2000.0f && var_f31 < kankyo->field_0x1268) {
|
||||
mDoLib_project(&actor_p->eyePos, &sp30);
|
||||
|
||||
if ((sp30.x >= 0.0f && sp30.x < 608.0f) && (sp30.y >= 0.0f && sp30.y < 600.0f)) {
|
||||
if ((sp30.x >= 0.0f && sp30.x < FB_WIDTH) && (sp30.y >= 0.0f && sp30.y < 600.0f)) {
|
||||
cXyz sp18;
|
||||
cXyz spC;
|
||||
dKyr_get_vectle_calc(&camera_p->lookat.eye, &camera_p->lookat.center, &sp18);
|
||||
|
|
|
|||
|
|
@ -917,17 +917,17 @@ void dKydb_dungeonlight_draw() {
|
|||
proj.x -= 30.0f;
|
||||
}
|
||||
|
||||
if (proj.x < 0.0f || proj.x > 640.0f || proj.y < 0.0f || proj.y > 456.0f) {
|
||||
if (proj.x < 0.0f || proj.x > FB_WIDTH || proj.y < 0.0f || proj.y > FB_HEIGHT) {
|
||||
if (proj.x < 0.0f) {
|
||||
proj.x = 10.0f;
|
||||
}
|
||||
if (proj.x > 640.0f) {
|
||||
if (proj.x > FB_WIDTH) {
|
||||
proj.x = 560.0f;
|
||||
}
|
||||
if (proj.y < 0.0f) {
|
||||
proj.y = 40.0f;
|
||||
}
|
||||
if (proj.y > 456.0f) {
|
||||
if (proj.y > FB_HEIGHT) {
|
||||
proj.y = 404.0f;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -124,8 +124,8 @@ void dKyr_lenzflare_move() {
|
|||
cXyz center;
|
||||
mDoLib_project(lenz_packet->mPositions, &proj);
|
||||
|
||||
center.x = 304.0f;
|
||||
center.y = 224.0f;
|
||||
center.x = FB_WIDTH / 2;
|
||||
center.y = FB_HEIGHT / 2;
|
||||
center.z = 0.0f;
|
||||
dKyr_get_vectle_calc(¢er, &proj, &vect);
|
||||
|
||||
|
|
@ -239,7 +239,7 @@ void dKyr_sun_move() {
|
|||
chkpnt.x -= sun_chkpnt[i][0];
|
||||
chkpnt.y -= sun_chkpnt[i][1];
|
||||
|
||||
if (chkpnt.x > 0.0f && chkpnt.x < 608.0f && chkpnt.y > border_y && chkpnt.y < 458.0f - border_y) {
|
||||
if (chkpnt.x > 0.0f && chkpnt.x < FB_WIDTH && chkpnt.y > border_y && chkpnt.y < 458.0f - border_y) {
|
||||
if (sun_packet->field_0x44[i] >= 0xFFFFFF) {
|
||||
numPointsVisible++;
|
||||
if (i == 0) {
|
||||
|
|
@ -271,8 +271,8 @@ void dKyr_sun_move() {
|
|||
lenz_packet->field_0x90 = 0.0f;
|
||||
|
||||
cXyz center;
|
||||
center.x = 304.0f;
|
||||
center.y = 224.0f;
|
||||
center.x = FB_WIDTH / 2;
|
||||
center.y = FB_HEIGHT / 2;
|
||||
center.z = 0.0f;
|
||||
|
||||
lenz_packet->mDistFalloff = center.abs(proj);
|
||||
|
|
@ -4438,6 +4438,9 @@ void drawCloudShadow(Mtx drawMtx, u8** tex) {
|
|||
|
||||
f32 scale = 0.49f;
|
||||
C_MTXLightPerspective(sp120, window_cam->fovy, window_cam->aspect, scale, -scale, 0.5f, 0.5f);
|
||||
#if WIDESCREEN_SUPPORT
|
||||
mDoGph_gInf_c::setWideZoomLightProjection(sp120);
|
||||
#endif
|
||||
cMtx_concat(sp120, j3dSys.getViewMtx(), spF0);
|
||||
|
||||
rot += 2.0f;
|
||||
|
|
@ -4674,7 +4677,7 @@ void drawVrkumo(Mtx drawMtx, GXColor& color, u8** tex) {
|
|||
|
||||
if (g_env_light.daytime > 105.0f && g_env_light.daytime < 240.0f && !dComIfGp_event_runCheck() && sun_packet != NULL && sun_packet->mSunAlpha > 0.0f) {
|
||||
mDoLib_project(&sun_packet->mPos[0], &proj);
|
||||
if (proj.x > 0.0f && proj.x < 608.0f && proj.y > spC4 && proj.y < (458.0f - spC4)) {
|
||||
if (proj.x > 0.0f && proj.x < FB_WIDTH && proj.y > spC4 && proj.y < (458.0f - spC4)) {
|
||||
pass = 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -4940,7 +4943,7 @@ void drawVrkumo(Mtx drawMtx, GXColor& color, u8** tex) {
|
|||
z = 100.0f;
|
||||
mDoLib_project(&spF0, &proj);
|
||||
|
||||
if (proj.x > -x && proj.x < (608.0f + x) && proj.y > -y && proj.y < (458.0f + z)) {
|
||||
if (proj.x > -x && proj.x < (FB_WIDTH + x) && proj.y > -y && proj.y < (458.0f + z)) {
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -4990,7 +4993,7 @@ void drawVrkumo(Mtx drawMtx, GXColor& color, u8** tex) {
|
|||
z = 100.0f;
|
||||
mDoLib_project(&spE4, &proj);
|
||||
|
||||
if (proj.x > -x && proj.x < (608.0f + x) && proj.y > -y && proj.y < (458.0f + z)) {
|
||||
if (proj.x > -x && proj.x < (FB_WIDTH + x) && proj.y > -y && proj.y < (458.0f + z)) {
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -6040,7 +6043,7 @@ static void dKyr_evil_draw2(Mtx drawMtx, u8** tex) {
|
|||
|
||||
mDoLib_project(&sp7C, &proj);
|
||||
|
||||
if (!(proj.x > -sp34.x) || !(proj.x < (608.0f + sp34.x)) ||
|
||||
if (!(proj.x > -sp34.x) || !(proj.x < (FB_WIDTH + sp34.x)) ||
|
||||
!(proj.y > -sp34.y) || !(proj.y < (458.0f + sp34.z)))
|
||||
{
|
||||
continue;
|
||||
|
|
@ -6268,7 +6271,7 @@ void dKyr_evil_draw(Mtx drawMtx, u8** tex) {
|
|||
|
||||
mDoLib_project(&spA4, &proj);
|
||||
|
||||
if (!(proj.x > -sp44.x) || !(proj.x < (608.0f + sp44.x)) ||
|
||||
if (!(proj.x > -sp44.x) || !(proj.x < (FB_WIDTH + sp44.x)) ||
|
||||
!(proj.y > -sp44.y) || !(proj.y < (458.0f + sp44.z)))
|
||||
{
|
||||
continue;
|
||||
|
|
|
|||
|
|
@ -2584,7 +2584,7 @@ f32 dMenu_Collect3D_c::mViewOffsetY = -100.0f;
|
|||
|
||||
/* 801B75E8-801B7660 1B1F28 0078+00 0/0 1/1 0/0 .text setupItem3D__17dMenu_Collect3D_cFPA4_f */
|
||||
void dMenu_Collect3D_c::setupItem3D(Mtx param_0) {
|
||||
GXSetViewport(0.0f, mViewOffsetY, 608.0f, 448.0f, 0.0f, 1.0f);
|
||||
GXSetViewport(0.0f, mViewOffsetY, FB_WIDTH, FB_HEIGHT, 0.0f, 1.0f);
|
||||
mViewOffsetY = -100.0f;
|
||||
Mtx44 projection;
|
||||
C_MTXPerspective(projection, 45.0f, mDoGph_gInf_c::getAspect(), 1.0f, 100000.0f);
|
||||
|
|
|
|||
|
|
@ -850,14 +850,14 @@ void dMenu_DmapBg_c::draw() {
|
|||
grafContext->setup2D();
|
||||
|
||||
GXGetScissor(&scissor_left, &scissor_top, &scissor_width, &scissor_height);
|
||||
grafContext->scissor(field_0xd94, 0.0f, 608.0f, 448.0f);
|
||||
grafContext->scissor(field_0xd94, 0.0f, FB_WIDTH, FB_HEIGHT);
|
||||
grafContext->setScissor();
|
||||
|
||||
mBaseScreen->draw(field_0xd94, field_0xd98, grafContext);
|
||||
dMenu_Dmap_c::myclass->drawFloorScreenBack(mFloorScreen, field_0xd94, field_0xd98, grafContext);
|
||||
|
||||
f32 dVar21 = mDoGph_gInf_c::getWidthF() / 608.0f;
|
||||
f32 dVar16 = mDoGph_gInf_c::getHeightF() / 448.0f;
|
||||
f32 dVar21 = mDoGph_gInf_c::getWidthF() / FB_WIDTH;
|
||||
f32 dVar16 = mDoGph_gInf_c::getHeightF() / FB_HEIGHT;
|
||||
mMapScreen[0]->draw(field_0xd94, field_0xd98, grafContext);
|
||||
|
||||
if (mpBackTexture != NULL) {
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ void dMenu_Fishing_c::_draw() {
|
|||
if (mpArchive) {
|
||||
J2DGrafContext* grafPort = dComIfGp_getCurrentGrafPort();
|
||||
mpBlackTex->setAlpha(0xff);
|
||||
mpBlackTex->draw(0.0f, 0.0f, 608.0f, 448.0f, 0, 0, 0);
|
||||
mpBlackTex->draw(0.0f, 0.0f, FB_WIDTH, FB_HEIGHT, 0, 0, 0);
|
||||
mpScreen->draw(0.0f, 0.0f, grafPort);
|
||||
mpIconScreen->draw(0.0f, 0.0f, grafPort);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -194,9 +194,9 @@ dMenu_Fmap_c::dMenu_Fmap_c(JKRExpHeap* i_heap, STControl* i_stick, CSTControl* i
|
|||
|
||||
mProcess = PROC_REGION_MAP;
|
||||
strcpy(mMarkedStageName, "");
|
||||
if (g_fmapHIO.mpArchive != NULL && g_fmapHIO.mpArchive->isMounted()) {
|
||||
if (g_fmapHIO.mpArcData != NULL && g_fmapHIO.mpArcData->isMounted()) {
|
||||
mProcess = i_process;
|
||||
mpMapArchive = g_fmapHIO.mpArchive;
|
||||
mpMapArchive = g_fmapHIO.mpArcData;
|
||||
} else {
|
||||
mpMapArchive = dComIfGp_getFieldMapArchive2();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -282,7 +282,7 @@ void dMenu_Fmap2DBack_c::draw() {
|
|||
u32 scissorLeft, scissorTop, scissorWidth, scissorHeight;
|
||||
GXGetScissor(&scissorLeft, &scissorTop, &scissorWidth, &scissorHeight);
|
||||
|
||||
grafPort->scissor(mTransX, 0.0f, 608.0f, 448.0f);
|
||||
grafPort->scissor(mTransX, 0.0f, FB_WIDTH, FB_HEIGHT);
|
||||
grafPort->setScissor();
|
||||
|
||||
mpBackTex->setBlackWhite(field_0x1208, field_0x120c);
|
||||
|
|
@ -299,8 +299,8 @@ void dMenu_Fmap2DBack_c::draw() {
|
|||
|
||||
Vec vec2 = mpMapArea->getGlobalVtx(&mtx, 3, false, 0);
|
||||
|
||||
f32 width = mDoGph_gInf_c::getWidthF() / 608.0f;
|
||||
f32 height = mDoGph_gInf_c::getHeightF() / 448.0f;
|
||||
f32 width = mDoGph_gInf_c::getWidthF() / FB_WIDTH;
|
||||
f32 height = mDoGph_gInf_c::getHeightF() / FB_HEIGHT;
|
||||
|
||||
grafPort->scissor(mTransX + ((vec1.x - mDoGph_gInf_c::getMinXF()) / width),
|
||||
mTransZ + (vec1.y / height), (vec2.x - vec1.x) / width,
|
||||
|
|
@ -2489,7 +2489,7 @@ void dMenu_Fmap2DTop_c::draw() {
|
|||
J2DOrthoGraph* ctx = static_cast<J2DOrthoGraph*>(dComIfGp_getCurrentGrafPort());
|
||||
ctx->setup2D();
|
||||
GXGetScissor(&scissor_left, &scissor_top, &scissor_width, &scissor_height);
|
||||
ctx->scissor(mTransX, 0.0f, 608.0f, 448.0f);
|
||||
ctx->scissor(mTransX, 0.0f, FB_WIDTH, FB_HEIGHT);
|
||||
ctx->setScissor();
|
||||
mpTitleScreen->draw(mTransX, mTransY, ctx);
|
||||
ctx->scissor(scissor_left, scissor_top, scissor_width, scissor_height);
|
||||
|
|
|
|||
|
|
@ -166,12 +166,12 @@ void dMenu_Insect_c::_draw() {
|
|||
if (mpArchive != NULL) {
|
||||
J2DGrafContext* grafPort = dComIfGp_getCurrentGrafPort();
|
||||
mpBlackTex->setAlpha(0xff);
|
||||
mpBlackTex->draw(0.0f, 0.0f, 608.0f, 448.0f, 0, 0, 0);
|
||||
mpBlackTex->draw(0.0f, 0.0f, FB_WIDTH, FB_HEIGHT, 0, 0, 0);
|
||||
mpScreen->draw(0.0f, 0.0f, grafPort);
|
||||
mpDrawCursor->draw();
|
||||
field_0xfc = mpExpParent->getAlphaRate() * 150.0f;
|
||||
mpBlackTex->setAlpha(field_0xfc);
|
||||
mpBlackTex->draw(0.0f, 0.0f, 608.0f, 448.0f, 0, 0, 0);
|
||||
mpBlackTex->draw(0.0f, 0.0f, FB_WIDTH, FB_HEIGHT, 0, 0, 0);
|
||||
mpExpScreen->draw(0.0f, 0.0f, grafPort);
|
||||
mpSelect_c->setOffsetX(g_drawHIO.mInsectListScreen.mConfirmOptionPosX_4x3);
|
||||
mpSelect_c->translate(g_drawHIO.mInsectListScreen.mConfirmOptionPosX_4x3 + 486.0f,
|
||||
|
|
|
|||
|
|
@ -315,7 +315,7 @@ void dMenu_ItemExplain_c::draw(J2DOrthoGraph* i_graph) {
|
|||
mpLabel->scale(g_ringHIO.mItemDescTitleScale, g_ringHIO.mItemDescTitleScale);
|
||||
mpLabel->paneTrans(g_ringHIO.mItemDescTitlePosX, g_ringHIO.mItemDescTitlePosY);
|
||||
if (mpBackTex != NULL) {
|
||||
mpBackTex->draw(0.0f, 0.0f, 608.0f, 448.0f, false, false, false);
|
||||
mpBackTex->draw(0.0f, 0.0f, FB_WIDTH, FB_HEIGHT, false, false, false);
|
||||
}
|
||||
if (field_0xc8 != field_0xd0) {
|
||||
field_0xd0 = field_0xc8;
|
||||
|
|
|
|||
|
|
@ -233,8 +233,8 @@ void dMenu_Letter_c::_draw() {
|
|||
f32 y1 = local_178.y;
|
||||
Vec local_184;
|
||||
local_184 = afStack_138.getGlobalVtx(field_0x1ec, &mtx, 3, false, 0);
|
||||
f32 dVar17 = mDoGph_gInf_c::getWidthF() / 608.0f;
|
||||
f32 dVar16 = mDoGph_gInf_c::getHeightF() / 448.0f;
|
||||
f32 dVar17 = mDoGph_gInf_c::getWidthF() / FB_WIDTH;
|
||||
f32 dVar16 = mDoGph_gInf_c::getHeightF() / FB_HEIGHT;
|
||||
f32 fVar1 = (x1 - mDoGph_gInf_c::getMinXF()) / dVar17;
|
||||
f32 fVar2 = y1 / dVar16;
|
||||
grafContext->scissor(fVar1, fVar2,
|
||||
|
|
|
|||
|
|
@ -497,11 +497,11 @@ void dMenu_Option_c::_draw() {
|
|||
if (mpArchive != NULL) {
|
||||
J2DGrafContext* ctx = dComIfGp_getCurrentGrafPort();
|
||||
mpBlackTex->setAlpha(0xff);
|
||||
mpBlackTex->draw(0.0f, 0.0f, 608.0f, 448.0f, 0, 0, 0);
|
||||
mpBlackTex->draw(0.0f, 0.0f, FB_WIDTH, FB_HEIGHT, 0, 0, 0);
|
||||
mpBackScreen->draw(0.0f, 0.0f, ctx);
|
||||
f32 alpha = (f32)g_drawHIO.mOptionScreen.mBackgroundAlpha * (f32)field_0x374;
|
||||
mpBlackTex->setAlpha(alpha);
|
||||
mpBlackTex->draw(0.0f, 0.0f, 608.0f, 448.0f, 0, 0, 0);
|
||||
mpBlackTex->draw(0.0f, 0.0f, FB_WIDTH, FB_HEIGHT, 0, 0, 0);
|
||||
mpScreen->draw(0.0f, 0.0f, ctx);
|
||||
mpClipScreen->draw(0.0f, 0.0f, ctx);
|
||||
mpShadowScreen->draw(0.0f, 0.0f, ctx);
|
||||
|
|
|
|||
|
|
@ -148,12 +148,12 @@ void dMenu_Skill_c::_draw() {
|
|||
J2DGrafContext* context = dComIfGp_getCurrentGrafPort();
|
||||
u8 alpha = mpBlackTex->mAlpha;
|
||||
mpBlackTex->setAlpha(0xff);
|
||||
mpBlackTex->draw(0.0f, 0.0f, 608.0f, 448.0f, 0, 0, 0);
|
||||
mpBlackTex->draw(0.0f, 0.0f, FB_WIDTH, FB_HEIGHT, 0, 0, 0);
|
||||
mpBlackTex->setAlpha(alpha);
|
||||
mpMenuScreen->draw(mPosX, 0.0f, context);
|
||||
mpDrawCursor->draw();
|
||||
if (mProcess == 1 || mProcess == 2 || mProcess == 3) {
|
||||
mpBlackTex->draw(0.0f, 0.0f, 608.0f, 448.0f, 0, 0, 0);
|
||||
mpBlackTex->draw(0.0f, 0.0f, FB_WIDTH, FB_HEIGHT, 0, 0, 0);
|
||||
mpLetterScreen->draw(0.0f, 0.0f, context);
|
||||
if (mStringID != 0) {
|
||||
mpString->getString(mStringID, (J2DTextBox*)mpTextPane->getPanePtr(), NULL, NULL,
|
||||
|
|
|
|||
|
|
@ -32,13 +32,13 @@ public:
|
|||
if (getDrawFlag() == 1) {
|
||||
setDrawFlag();
|
||||
dComIfGp_onPauseFlag();
|
||||
GXSetTexCopySrc(0, 0, 608, 448);
|
||||
GXSetTexCopyDst(304, 224, (GXTexFmt)mDoGph_gInf_c::getFrameBufferTimg()->format, GX_ENABLE);
|
||||
GXSetTexCopySrc(0, 0, FB_WIDTH, FB_HEIGHT);
|
||||
GXSetTexCopyDst(FB_WIDTH / 2, FB_HEIGHT / 2, (GXTexFmt)mDoGph_gInf_c::getFrameBufferTimg()->format, GX_ENABLE);
|
||||
GXCopyTex(mDoGph_gInf_c::getFrameBufferTex(), GX_FALSE);
|
||||
GXPixModeSync();
|
||||
} else {
|
||||
GXTexObj tex;
|
||||
GXInitTexObj(&tex, mDoGph_gInf_c::getFrameBufferTex(), 304, 224,
|
||||
GXInitTexObj(&tex, mDoGph_gInf_c::getFrameBufferTex(), FB_WIDTH / 2, FB_HEIGHT / 2,
|
||||
(GXTexFmt)mDoGph_gInf_c::getFrameBufferTimg()->format, GX_CLAMP, GX_CLAMP, GX_FALSE);
|
||||
GXInitTexObjLOD(&tex, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1);
|
||||
GXLoadTexObj(&tex, GX_TEXMAP0);
|
||||
|
|
|
|||
|
|
@ -1,12 +1,6 @@
|
|||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d/d_meter_HIO
|
||||
//
|
||||
|
||||
#include "d/dolzel.h" // IWYU pragma: keep
|
||||
|
||||
#include "d/d_meter_HIO.h"
|
||||
#include "d/d_save.h"
|
||||
#include "JSystem/JKernel/JKRAramArchive.h"
|
||||
#include "JSystem/JKernel/JKRExpHeap.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
|
|
@ -16,6 +10,12 @@ dMeter_menuHIO_c::dMeter_menuHIO_c() {
|
|||
mGameover = 70;
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
void dMeter_menuHIO_c::genMessage(JORMContext* mctx) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 801FE348-801FE4EC 1F8C88 01A4+00 1/1 0/0 0/0 .text __ct__23dMeter_drawCollectHIO_cFv
|
||||
*/
|
||||
dMeter_drawCollectHIO_c::dMeter_drawCollectHIO_c() {
|
||||
|
|
@ -58,6 +58,12 @@ dMeter_drawCollectHIO_c::dMeter_drawCollectHIO_c() {
|
|||
mVesselFront[VESSEL_DECOR].set(200, 190, 100, 175);
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
void dMeter_drawCollectHIO_c::genMessage(JORMContext* mctx) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 801FE4EC-801FE5CC 1F8E2C 00E0+00 1/1 0/0 0/0 .text __ct__22dMeter_drawOptionHIO_cFv */
|
||||
dMeter_drawOptionHIO_c::dMeter_drawOptionHIO_c() {
|
||||
mBarScale[0] = 1.02f;
|
||||
|
|
@ -88,6 +94,12 @@ dMeter_drawOptionHIO_c::dMeter_drawOptionHIO_c() {
|
|||
mArrowOffsetX_4x3 = 4.0f;
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
void dMeter_drawOptionHIO_c::genMessage(JORMContext* mctx) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 801FE5CC-801FE730 1F8F0C 0164+00 1/1 0/0 0/0 .text __ct__22dMeter_drawLetterHIO_cFv */
|
||||
dMeter_drawLetterHIO_c::dMeter_drawLetterHIO_c() {
|
||||
for (int i = 0; i < 2; i++) {
|
||||
|
|
@ -126,6 +138,12 @@ dMeter_drawLetterHIO_c::dMeter_drawLetterHIO_c() {
|
|||
mLetterTextFront.set(65, 55, 30, 255);
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
void dMeter_drawLetterHIO_c::genMessage(JORMContext* mctx) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 801FE730-801FE8DC 1F9070 01AC+00 1/1 0/0 0/0 .text __ct__23dMeter_drawFishingHIO_cFv
|
||||
*/
|
||||
dMeter_drawFishingHIO_c::dMeter_drawFishingHIO_c() {
|
||||
|
|
@ -133,10 +151,27 @@ dMeter_drawFishingHIO_c::dMeter_drawFishingHIO_c() {
|
|||
static f32 const fipaPosX[6] = {1.3f, 6.6f, 0.0f, 3.96f, 4.0f, 27.5f};
|
||||
static f32 const fipaPosY[6] = {-9.2f, -27.5f, -11.7f, -9.2f, -30.1f, -17.9f};
|
||||
static f32 const finaScale[6] = {0.9f, 0.9f, 0.9f, 0.9f, 0.9f, 0.9f};
|
||||
|
||||
#if PLATFORM_SHIELD
|
||||
static f32 const finaPosX[6] = {0.0f, -4.0f, 0.0f, 0.0f, 0.0f, -4.0f};
|
||||
#else
|
||||
static f32 const finaPosX[6] = {-25.0f, -4.0f, 0.0f, 0.0f, 0.0f, -4.0f};
|
||||
#endif
|
||||
|
||||
#if PLATFORM_SHIELD
|
||||
static f32 const finaPosY[6] = {-14.4f, -40.6, -24.0f, -11.7f, -37.9f, -13.0f};
|
||||
#else
|
||||
static f32 const finaPosY[6] = {-16.0f, -40.6, -24.0f, -11.7f, -37.9f, -13.0f};
|
||||
#endif
|
||||
|
||||
static f32 const filiScale[6] = {0.65f, 0.65f, 0.65f, 0.65f, 0.65f, 0.65f};
|
||||
|
||||
#if PLATFORM_SHIELD
|
||||
static f32 const filiPosX[6] = {0.0f, -8.0f, 9.2f, 9.2f, 9.2f, -8.0f};
|
||||
#else
|
||||
static f32 const filiPosX[6] = {-28.0f, -8.0f, 9.2f, 9.2f, 9.2f, -8.0f};
|
||||
#endif
|
||||
|
||||
static f32 const filiPosY[6] = {-6.6f, -14.0f, -14.4f, 24.9f, -11.7f, 24.9f};
|
||||
static f32 const bboxScale[6] = {1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f};
|
||||
static f32 const bboxPosX[6] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
|
||||
|
|
@ -145,18 +180,22 @@ dMeter_drawFishingHIO_c::dMeter_drawFishingHIO_c() {
|
|||
static f32 const rboxPosX[6] = {1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
|
||||
static f32 const rboxPosY[6] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
|
||||
static f32 const finfoScale[6] = {0.87f, 0.87f, 0.88f, 0.87f, 0.87f, 0.87f};
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
static f32 const finfoPosX[6] = {-27.0f, 0.0f, -12.0f, 0.0f, -12.0f, -32.8f};
|
||||
#else
|
||||
static f32 const finfoPosX[6] = {-17.0f, 0.0f, -14.0f, 0.0f, -12.0f, -32.8f};
|
||||
#endif
|
||||
|
||||
static f32 const finfoPosY[6] = {6.6f, 0.0f, 0.0f, 0.0f, 1.3f, 0.0f};
|
||||
static f32 const fishnScale[6] = {1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f};
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
static f32 const fishnPosX[6] = {12.0f, -20.0f, 1.3f, 6.6f, 14.0f, -6.6f};
|
||||
#else
|
||||
static f32 const fishnPosX[6] = {4.0f, -20.0f, 1.3f, 6.6f, 1.3f, 9.2f};
|
||||
#endif
|
||||
|
||||
static f32 const fishnPosY[6] = {-72.1f, 129.6f, 0.0f, 6.6f, 32.8f, 11.7f};
|
||||
|
||||
mOpenFrames = 10;
|
||||
|
|
@ -198,6 +237,12 @@ dMeter_drawFishingHIO_c::dMeter_drawFishingHIO_c() {
|
|||
mCaughtNumPosX_4x3 = -188.0f;
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
void dMeter_drawFishingHIO_c::genMessage(JORMContext* mctx) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 801FE8DC-801FE954 1F921C 0078+00 1/1 0/0 0/0 .text __ct__22dMeter_drawInsectHIO_cFv */
|
||||
dMeter_drawInsectHIO_c::dMeter_drawInsectHIO_c() {
|
||||
mOpenFrame = 10;
|
||||
|
|
@ -225,6 +270,12 @@ dMeter_drawInsectHIO_c::dMeter_drawInsectHIO_c() {
|
|||
mConfirmOptionPosY = 119.0f;
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
void dMeter_drawInsectHIO_c::genMessage(JORMContext* mctx) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 801FE954-801FE990 1F9294 003C+00 1/1 0/0 0/0 .text __ct__27dMeter_drawCalibrationHIO_cFv */
|
||||
dMeter_drawCalibrationHIO_c::dMeter_drawCalibrationHIO_c() {
|
||||
mOpenFrames = 10;
|
||||
|
|
@ -235,6 +286,12 @@ dMeter_drawCalibrationHIO_c::dMeter_drawCalibrationHIO_c() {
|
|||
mCircleScale2 = 0.75f;
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
void dMeter_drawCalibrationHIO_c::genMessage(JORMContext* mctx) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 801FE990-801FEAF0 1F92D0 0160+00 1/1 0/0 0/0 .text __ct__21dMeter_drawSkillHIO_cFv */
|
||||
dMeter_drawSkillHIO_c::dMeter_drawSkillHIO_c() {
|
||||
for (int i = 0; i < 2; i++) {
|
||||
|
|
@ -271,21 +328,60 @@ dMeter_drawSkillHIO_c::dMeter_drawSkillHIO_c() {
|
|||
mSkillTitleScale = 1.1f;
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
void dMeter_drawSkillHIO_c::genMessage(JORMContext* mctx) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 801FEAF0-801FEFF0 1F9430 0500+00 1/1 0/0 0/0 .text __ct__25dMeter_drawEmpButtonHIO_cFv
|
||||
*/
|
||||
dMeter_drawEmpButtonHIO_c::dMeter_drawEmpButtonHIO_c() {
|
||||
mPikariScale = 2.5f;
|
||||
mPikariFrontInner.set(255, 255, 255, 185);
|
||||
mPikariFrontOuter.set(0, 155, 0, 0);
|
||||
mPikariBackInner.set(255, 255, 255, 87);
|
||||
mPikariBackOuter.set(0, 115, 0, 0);
|
||||
mPikariAnimSpeed = 0.772705f;
|
||||
|
||||
mPikariFrontInner.r = 255;
|
||||
mPikariFrontInner.g = 255;
|
||||
mPikariFrontInner.b = 255;
|
||||
mPikariFrontInner.a = 185;
|
||||
|
||||
mPikariFrontOuter.r = 0;
|
||||
mPikariFrontOuter.g = 155;
|
||||
mPikariFrontOuter.b = 0;
|
||||
mPikariFrontOuter.a = 0;
|
||||
|
||||
mPikariBackInner.r = 255;
|
||||
mPikariBackInner.g = 255;
|
||||
mPikariBackInner.b = 255;
|
||||
mPikariBackInner.a = 87;
|
||||
|
||||
mPikariBackOuter.r = 0;
|
||||
mPikariBackOuter.g = 115;
|
||||
mPikariBackOuter.b = 0;
|
||||
mPikariBackOuter.a = 0;
|
||||
|
||||
mPikariAnimSpeed = 0.772705f;
|
||||
mPikariFastScale = 3.0f;
|
||||
mPikariFastFrontInner.set(255, 255, 255, 255);
|
||||
mPikariFastFrontOuter.set(220, 220, 215, 0);
|
||||
mPikariFastBackInner.set(255, 255, 190, 255);
|
||||
mPikariFastBackOuter.set(200, 200, 210, 0);
|
||||
|
||||
mPikariFastFrontInner.r = 255;
|
||||
mPikariFastFrontInner.g = 255;
|
||||
mPikariFastFrontInner.b = 255;
|
||||
mPikariFastFrontInner.a = 255;
|
||||
|
||||
mPikariFastFrontOuter.r = 220;
|
||||
mPikariFastFrontOuter.g = 220;
|
||||
mPikariFastFrontOuter.b = 215;
|
||||
mPikariFastFrontOuter.a = 0;
|
||||
|
||||
mPikariFastBackInner.r = 255;
|
||||
mPikariFastBackInner.g = 255;
|
||||
mPikariFastBackInner.b = 190;
|
||||
mPikariFastBackInner.a = 255;
|
||||
|
||||
mPikariFastBackOuter.r = 200;
|
||||
mPikariFastBackOuter.g = 200;
|
||||
mPikariFastBackOuter.b = 210;
|
||||
mPikariFastBackOuter.a = 0;
|
||||
|
||||
mPikariFastAnimSpeed = 2.0f;
|
||||
|
||||
mPikariListenScale = 1.0f;
|
||||
|
|
@ -308,7 +404,12 @@ dMeter_drawEmpButtonHIO_c::dMeter_drawEmpButtonHIO_c() {
|
|||
mDebugDisplayButton[0] = 0;
|
||||
}
|
||||
|
||||
#if PLATFORM_SHIELD
|
||||
mDisplaySpace = 70.0f;
|
||||
#else
|
||||
mDisplaySpace = 35.0f;
|
||||
#endif
|
||||
|
||||
mEmpButtonPosX = 0.0f;
|
||||
mEmpButtonPosY = 175.0f;
|
||||
mEmpButtonScale = 1.0f;
|
||||
|
|
@ -405,12 +506,9 @@ dMeter_drawEmpButtonHIO_c::dMeter_drawEmpButtonHIO_c() {
|
|||
mViewChangePosY = 67.0f;
|
||||
mViewChangeScale = 1.0f;
|
||||
|
||||
mText2PosX = 2.0f;
|
||||
mText1PosX = 2.0f;
|
||||
mText2PosY = 3.0f;
|
||||
mText1PosY = 3.0f;
|
||||
mText2Scale = 1.0f;
|
||||
mText1Scale = 1.0f;
|
||||
mText1PosX = mText2PosX = 2.0f;
|
||||
mText1PosY = mText2PosY = 3.0f;
|
||||
mText1Scale = mText2Scale = 1.0f;
|
||||
|
||||
mItemPosX = 12.0f;
|
||||
mItemPosY = 0.0f;
|
||||
|
|
@ -435,11 +533,9 @@ dMeter_drawEmpButtonHIO_c::dMeter_drawEmpButtonHIO_c() {
|
|||
mHawkeyeZoomPosY = 25.0f;
|
||||
mHawkeyeZoomScale = 0.8f;
|
||||
mHawkeyeZoomScale_4x3 = 0.9f;
|
||||
// fake match, fix later
|
||||
for (int i = 0; i < 3; i++) {
|
||||
int* tmp = (int*)this + i;
|
||||
*(f32*)(tmp + 0x62) = 0.0f;
|
||||
*(f32*)(tmp + 0x6B) = 1.0f;
|
||||
mHawkeyeIconPosX[i] = 0.0f;
|
||||
mHawkeyeIconScale[i] = 1.0f;
|
||||
}
|
||||
mHawkeyeTextIconPosY = -6.0f;
|
||||
mHawkeyeZoomTextPosY = -8.0f;
|
||||
|
|
@ -460,6 +556,12 @@ dMeter_drawEmpButtonHIO_c::dMeter_drawEmpButtonHIO_c() {
|
|||
mPointerONAnimFrame = 30;
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
void dMeter_drawEmpButtonHIO_c::genMessage(JORMContext* mctx) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 801FEFF0-801FF31C 1F9930 032C+00 1/1 0/0 0/0 .text __ct__24dMeter_drawMiniGameHIO_cFv
|
||||
*/
|
||||
dMeter_drawMiniGameHIO_c::dMeter_drawMiniGameHIO_c() {
|
||||
|
|
@ -550,19 +652,53 @@ dMeter_drawMiniGameHIO_c::dMeter_drawMiniGameHIO_c() {
|
|||
mGetInTextAlphaFrames = 10;
|
||||
mGetInPikariAppearFrames = 30;
|
||||
mGetInPikariScale = 1.8f;
|
||||
mGetInPikariFrontInner.set(255, 255, 167, 80);
|
||||
mGetInPikariFrontOuter.set(220, 110, 30, 0);
|
||||
mGetInPikariBackInner.set(255, 255, 190, 90);
|
||||
mGetInPikariBackOuter.set(170, 110, 0, 0);
|
||||
|
||||
mGetInPikariFrontInner.r = 255;
|
||||
mGetInPikariFrontInner.g = 255;
|
||||
mGetInPikariFrontInner.b = 167;
|
||||
mGetInPikariFrontInner.a = 80;
|
||||
|
||||
mGetInPikariFrontOuter.r = 220;
|
||||
mGetInPikariFrontOuter.g = 110;
|
||||
mGetInPikariFrontOuter.b = 30;
|
||||
mGetInPikariFrontOuter.a = 0;
|
||||
|
||||
mGetInPikariBackInner.r = 255;
|
||||
mGetInPikariBackInner.g = 255;
|
||||
mGetInPikariBackInner.b = 190;
|
||||
mGetInPikariBackInner.a = 90;
|
||||
|
||||
mGetInPikariBackOuter.r = 170;
|
||||
mGetInPikariBackOuter.g = 110;
|
||||
mGetInPikariBackOuter.b = 0;
|
||||
mGetInPikariBackOuter.a = 0;
|
||||
|
||||
mGetInPikariAnimSpeed = 0.6f;
|
||||
mGetInTextLocation = 0;
|
||||
|
||||
mStartPikariAppearFrames = 30;
|
||||
mStartPikariScale = 1.8f;
|
||||
mStartPikariFrontInner.set(255, 255, 167, 80);
|
||||
mStartPikariFrontOuter.set(220, 110, 30, 0);
|
||||
mStartPikariBackInner.set(255, 255, 190, 90);
|
||||
mStartPikariBackOuter.set(170, 110, 0, 0);
|
||||
|
||||
mStartPikariFrontInner.r = 255;
|
||||
mStartPikariFrontInner.g = 255;
|
||||
mStartPikariFrontInner.b = 167;
|
||||
mStartPikariFrontInner.a = 80;
|
||||
|
||||
mStartPikariFrontOuter.r = 220;
|
||||
mStartPikariFrontOuter.g = 110;
|
||||
mStartPikariFrontOuter.b = 30;
|
||||
mStartPikariFrontOuter.a = 0;
|
||||
|
||||
mStartPikariBackInner.r = 255;
|
||||
mStartPikariBackInner.g = 255;
|
||||
mStartPikariBackInner.b = 190;
|
||||
mStartPikariBackInner.a = 90;
|
||||
|
||||
mStartPikariBackOuter.r = 170;
|
||||
mStartPikariBackOuter.g = 110;
|
||||
mStartPikariBackOuter.b = 0;
|
||||
mStartPikariBackOuter.a = 0;
|
||||
|
||||
mStartPikariAnimSpeed = 0.6f;
|
||||
mStartPikariDisplayFrames = 30;
|
||||
|
||||
|
|
@ -575,13 +711,36 @@ dMeter_drawMiniGameHIO_c::dMeter_drawMiniGameHIO_c() {
|
|||
field_0x172 = 10;
|
||||
mReadyFightPikariAppearFrames = 30;
|
||||
mReadyFightPikariScale = 1.8f;
|
||||
mReadyFightPikariFrontInner.set(255, 255, 167, 80);
|
||||
mReadyFightPikariFrontOuter.set(220, 110, 30, 0);
|
||||
mReadyFightPikariBackInner.set(255, 255, 190, 90);
|
||||
mReadyFightPikariBackOuter.set(170, 110, 0, 0);
|
||||
|
||||
mReadyFightPikariFrontInner.r = 255;
|
||||
mReadyFightPikariFrontInner.g = 255;
|
||||
mReadyFightPikariFrontInner.b = 167;
|
||||
mReadyFightPikariFrontInner.a = 80;
|
||||
|
||||
mReadyFightPikariFrontOuter.r = 220;
|
||||
mReadyFightPikariFrontOuter.g = 110;
|
||||
mReadyFightPikariFrontOuter.b = 30;
|
||||
mReadyFightPikariFrontOuter.a = 0;
|
||||
|
||||
mReadyFightPikariBackInner.r = 255;
|
||||
mReadyFightPikariBackInner.g = 255;
|
||||
mReadyFightPikariBackInner.b = 190;
|
||||
mReadyFightPikariBackInner.a = 90;
|
||||
|
||||
mReadyFightPikariBackOuter.r = 170;
|
||||
mReadyFightPikariBackOuter.g = 110;
|
||||
mReadyFightPikariBackOuter.b = 0;
|
||||
mReadyFightPikariBackOuter.a = 0;
|
||||
|
||||
mReadyFightPikariAnimSpeed = 0.6f;
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
void dMeter_drawMiniGameHIO_c::genMessage(JORMContext* mctx) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 801FF31C-801FF5B8 1F9C5C 029C+00 1/1 0/0 0/0 .text __ct__25dMeter_drawLightDropHIO_cFv
|
||||
*/
|
||||
dMeter_drawLightDropHIO_c::dMeter_drawLightDropHIO_c() {
|
||||
|
|
@ -624,10 +783,26 @@ dMeter_drawLightDropHIO_c::dMeter_drawLightDropHIO_c() {
|
|||
mPikariLoopBackOuter[1].set(126, 238, 218, 0);
|
||||
mPikariLoopBackStopFrame = 19.0f;
|
||||
|
||||
mDropPikariFrontInner.set(255, 255, 255, 255);
|
||||
mDropPikariFrontOuter.set(0, 0, 0, 0);
|
||||
mDropPikariBackInner.set(255, 255, 255, 255);
|
||||
mDropPikariBackOuter.set(126, 238, 218, 0);
|
||||
mDropPikariFrontInner.r = 255;
|
||||
mDropPikariFrontInner.g = 255;
|
||||
mDropPikariFrontInner.b = 255;
|
||||
mDropPikariFrontInner.a = 255;
|
||||
|
||||
mDropPikariFrontOuter.r = 0;
|
||||
mDropPikariFrontOuter.g = 0;
|
||||
mDropPikariFrontOuter.b = 0;
|
||||
mDropPikariFrontOuter.a = 0;
|
||||
|
||||
mDropPikariBackInner.r = 255;
|
||||
mDropPikariBackInner.g = 255;
|
||||
mDropPikariBackInner.b = 255;
|
||||
mDropPikariBackInner.a = 255;
|
||||
|
||||
mDropPikariBackOuter.r = 126;
|
||||
mDropPikariBackOuter.g = 238;
|
||||
mDropPikariBackOuter.b = 218;
|
||||
mDropPikariBackOuter.a = 0;
|
||||
|
||||
mDropPikariAnimSpeed = 0.1f;
|
||||
mDropPikariAnimSpeed_Completed = 0.6f;
|
||||
mPikariScaleNormal = 1.3f;
|
||||
|
|
@ -635,6 +810,12 @@ dMeter_drawLightDropHIO_c::dMeter_drawLightDropHIO_c() {
|
|||
mAnimDebug = 0;
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
void dMeter_drawLightDropHIO_c::genMessage(JORMContext* mctx) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 801FF5B8-802001AC 1F9EF8 0BF4+00 1/1 0/0 0/0 .text __ct__16dMeter_drawHIO_cFv */
|
||||
dMeter_drawHIO_c::dMeter_drawHIO_c() {
|
||||
#ifdef DEBUG
|
||||
|
|
@ -880,27 +1061,42 @@ dMeter_drawHIO_c::dMeter_drawHIO_c() {
|
|||
mButtonATextScale = 1.0f;
|
||||
mButtonATextPosX = 0.0f;
|
||||
mButtonATextPosY = 0.0f;
|
||||
mButtonATextColor.set(255, 255, 255, 255);
|
||||
mButtonATextColor.r = 255;
|
||||
mButtonATextColor.g = 255;
|
||||
mButtonATextColor.b = 255;
|
||||
mButtonATextColor.a = 255;
|
||||
|
||||
mButtonBFontScale = 1.0f;
|
||||
mButtonBFontPosX = -8.0f;
|
||||
mButtonBFontPosY = 4.0f;
|
||||
mButtonBFontColor.set(255, 255, 255, 255);
|
||||
mButtonBFontColor.r = 255;
|
||||
mButtonBFontColor.g = 255;
|
||||
mButtonBFontColor.b = 255;
|
||||
mButtonBFontColor.a = 255;
|
||||
|
||||
field_0x2e4 = 1.0f;
|
||||
field_0x2e8 = 0.0f;
|
||||
field_0x2ec = 0.0f;
|
||||
field_0x2f0.set(255, 255, 255, 255);
|
||||
field_0x2f0.r = 255;
|
||||
field_0x2f0.g = 255;
|
||||
field_0x2f0.b = 255;
|
||||
field_0x2f0.a = 255;
|
||||
|
||||
mButtonXYTextScale = 1.0f;
|
||||
mButtonXYTextPosX = 0.0f;
|
||||
mButtonXYTextPosY = 0.0f;
|
||||
mButtonXYTextColor.set(255, 255, 255, 255);
|
||||
mButtonXYTextColor.r = 255;
|
||||
mButtonXYTextColor.g = 255;
|
||||
mButtonXYTextColor.b = 255;
|
||||
mButtonXYTextColor.a = 255;
|
||||
|
||||
mButtonZFontScale = 1.0f;
|
||||
mButtonZFontPosX = 0.0f;
|
||||
mButtonZFontPosY = -4.7f;
|
||||
mButtonZFontColor.set(255, 255, 255, 255);
|
||||
mButtonZFontColor.r = 255;
|
||||
mButtonZFontColor.g = 255;
|
||||
mButtonZFontColor.b = 255;
|
||||
mButtonZFontColor.a = 255;
|
||||
|
||||
mRupeeKeyScale = 1.0f;
|
||||
mRupeeKeyPosX = 9.2f;
|
||||
|
|
@ -980,66 +1176,226 @@ dMeter_drawHIO_c::dMeter_drawHIO_c() {
|
|||
|
||||
mMaxSpurAmount = 6;
|
||||
|
||||
mSpurIconPikariFrontInner.set(255, 255, 255, 255);
|
||||
mSpurIconPikariFrontOuter.set(140, 232, 228, 0);
|
||||
mSpurIconPikariBackInner.set(255, 255, 190, 255);
|
||||
mSpurIconPikariBackOuter.set(55, 215, 90, 0);
|
||||
mSpurIconPikariFrontInner.r = 255;
|
||||
mSpurIconPikariFrontInner.g = 255;
|
||||
mSpurIconPikariFrontInner.b = 255;
|
||||
mSpurIconPikariFrontInner.a = 255;
|
||||
|
||||
mSpurIconPikariFrontOuter.r = 140;
|
||||
mSpurIconPikariFrontOuter.g = 232;
|
||||
mSpurIconPikariFrontOuter.b = 228;
|
||||
mSpurIconPikariFrontOuter.a = 0;
|
||||
|
||||
mSpurIconPikariBackInner.r = 255;
|
||||
mSpurIconPikariBackInner.g = 255;
|
||||
mSpurIconPikariBackInner.b = 190;
|
||||
mSpurIconPikariBackInner.a = 255;
|
||||
|
||||
mSpurIconPikariBackOuter.r = 55;
|
||||
mSpurIconPikariBackOuter.g = 215;
|
||||
mSpurIconPikariBackOuter.b = 90;
|
||||
mSpurIconPikariBackOuter.a = 0;
|
||||
|
||||
mSpurIconPikariAnimSpeed = 1.5f;
|
||||
|
||||
mSpurIconRevivePikariFrontInner.set(255, 255, 255, 255);
|
||||
mSpurIconRevivePikariFrontOuter.set(220, 110, 30, 0);
|
||||
mSpurIconRevivePikariBackInner.set(255, 255, 190, 255);
|
||||
mSpurIconRevivePikariBackOuter.set(170, 110, 0, 0);
|
||||
mSpurIconRevivePikariFrontInner.r = 255;
|
||||
mSpurIconRevivePikariFrontInner.g = 255;
|
||||
mSpurIconRevivePikariFrontInner.b = 255;
|
||||
mSpurIconRevivePikariFrontInner.a = 255;
|
||||
|
||||
mSpurIconRevivePikariFrontOuter.r = 220;
|
||||
mSpurIconRevivePikariFrontOuter.g = 110;
|
||||
mSpurIconRevivePikariFrontOuter.b = 30;
|
||||
mSpurIconRevivePikariFrontOuter.a = 0;
|
||||
|
||||
mSpurIconRevivePikariBackInner.r = 255;
|
||||
mSpurIconRevivePikariBackInner.g = 255;
|
||||
mSpurIconRevivePikariBackInner.b = 190;
|
||||
mSpurIconRevivePikariBackInner.a = 255;
|
||||
|
||||
mSpurIconRevivePikariBackOuter.r = 170;
|
||||
mSpurIconRevivePikariBackOuter.g = 110;
|
||||
mSpurIconRevivePikariBackOuter.b = 0;
|
||||
mSpurIconRevivePikariBackOuter.a = 0;
|
||||
|
||||
mSpurIconRevivePikariAnimSpeed = 0.5f;
|
||||
|
||||
mButtonZPikariFrontInner.set(255, 255, 255, 255);
|
||||
mButtonZPikariFrontOuter.set(0, 0, 0, 0);
|
||||
mButtonZPikariBackInner.set(255, 255, 255, 255);
|
||||
mButtonZPikariBackOuter.set(160, 160, 110, 0);
|
||||
mButtonZPikariFrontInner.r = 255;
|
||||
mButtonZPikariFrontInner.g = 255;
|
||||
mButtonZPikariFrontInner.b = 255;
|
||||
mButtonZPikariFrontInner.a = 255;
|
||||
|
||||
mButtonZPikariFrontOuter.r = 0;
|
||||
mButtonZPikariFrontOuter.g = 0;
|
||||
mButtonZPikariFrontOuter.b = 0;
|
||||
mButtonZPikariFrontOuter.a = 0;
|
||||
|
||||
mButtonZPikariBackInner.r = 255;
|
||||
mButtonZPikariBackInner.g = 255;
|
||||
mButtonZPikariBackInner.b = 255;
|
||||
mButtonZPikariBackInner.a = 255;
|
||||
|
||||
mButtonZPikariBackOuter.r = 160;
|
||||
mButtonZPikariBackOuter.g = 160;
|
||||
mButtonZPikariBackOuter.b = 110;
|
||||
mButtonZPikariBackOuter.a = 0;
|
||||
|
||||
mButtonZPikariAnimSpeed = 0.4f;
|
||||
|
||||
mButtonXYPikariFrontInner.set(255, 255, 255, 255);
|
||||
mButtonXYPikariFrontOuter.set(0, 0, 0, 0);
|
||||
mButtonXYPikariBackInner.set(255, 255, 255, 255);
|
||||
mButtonXYPikariBackOuter.set(160, 160, 110, 0);
|
||||
mButtonXYPikariFrontInner.r = 255;
|
||||
mButtonXYPikariFrontInner.g = 255;
|
||||
mButtonXYPikariFrontInner.b = 255;
|
||||
mButtonXYPikariFrontInner.a = 255;
|
||||
|
||||
mButtonXYPikariFrontOuter.r = 0;
|
||||
mButtonXYPikariFrontOuter.g = 0;
|
||||
mButtonXYPikariFrontOuter.b = 0;
|
||||
mButtonXYPikariFrontOuter.a = 0;
|
||||
|
||||
mButtonXYPikariBackInner.r = 255;
|
||||
mButtonXYPikariBackInner.g = 255;
|
||||
mButtonXYPikariBackInner.b = 255;
|
||||
mButtonXYPikariBackInner.a = 255;
|
||||
|
||||
mButtonXYPikariBackOuter.r = 160;
|
||||
mButtonXYPikariBackOuter.g = 160;
|
||||
mButtonXYPikariBackOuter.b = 110;
|
||||
mButtonXYPikariBackOuter.a = 0;
|
||||
|
||||
mButtonXYPikariAnimSpeed = 0.4f;
|
||||
|
||||
mButtonAPikariFrontInner.set(255, 255, 255, 160);
|
||||
mButtonAPikariFrontOuter.set(0, 0, 0, 0);
|
||||
mButtonAPikariBackInner.set(255, 255, 255, 128);
|
||||
mButtonAPikariBackOuter.set(0, 255, 0, 0);
|
||||
mButtonAPikariFrontInner.r = 255;
|
||||
mButtonAPikariFrontInner.g = 255;
|
||||
mButtonAPikariFrontInner.b = 255;
|
||||
mButtonAPikariFrontInner.a = 160;
|
||||
|
||||
mButtonAPikariFrontOuter.r = 0;
|
||||
mButtonAPikariFrontOuter.g = 0;
|
||||
mButtonAPikariFrontOuter.b = 0;
|
||||
mButtonAPikariFrontOuter.a = 0;
|
||||
|
||||
mButtonAPikariBackInner.r = 255;
|
||||
mButtonAPikariBackInner.g = 255;
|
||||
mButtonAPikariBackInner.b = 255;
|
||||
mButtonAPikariBackInner.a = 128;
|
||||
|
||||
mButtonAPikariBackOuter.r = 0;
|
||||
mButtonAPikariBackOuter.g = 255;
|
||||
mButtonAPikariBackOuter.b = 0;
|
||||
mButtonAPikariBackOuter.a = 0;
|
||||
|
||||
mButtonAPikariAnimSpeed = 0.4f;
|
||||
|
||||
mButtonBPikariFrontInner.set(255, 180, 180, 160);
|
||||
mButtonBPikariFrontOuter.set(0, 0, 0, 0);
|
||||
mButtonBPikariBackInner.set(255, 255, 255, 128);
|
||||
mButtonBPikariBackOuter.set(255, 0, 0, 0);
|
||||
mButtonBPikariFrontInner.r = 255;
|
||||
mButtonBPikariFrontInner.g = 180;
|
||||
mButtonBPikariFrontInner.b = 180;
|
||||
mButtonBPikariFrontInner.a = 160;
|
||||
|
||||
mButtonBPikariFrontOuter.r = 0;
|
||||
mButtonBPikariFrontOuter.g = 0;
|
||||
mButtonBPikariFrontOuter.b = 0;
|
||||
mButtonBPikariFrontOuter.a = 0;
|
||||
|
||||
mButtonBPikariBackInner.r = 255;
|
||||
mButtonBPikariBackInner.g = 255;
|
||||
mButtonBPikariBackInner.b = 255;
|
||||
mButtonBPikariBackInner.a = 128;
|
||||
|
||||
mButtonBPikariBackOuter.r = 255;
|
||||
mButtonBPikariBackOuter.g = 0;
|
||||
mButtonBPikariBackOuter.b = 0;
|
||||
mButtonBPikariBackOuter.a = 0;
|
||||
|
||||
mButtonBPikariAnimSpeed = 0.4f;
|
||||
|
||||
field_0x4a8.set(255, 180, 180, 160);
|
||||
field_0x4ac.set(0, 0, 0, 0);
|
||||
field_0x4b0.set(255, 255, 255, 128);
|
||||
field_0x4b4.set(255, 0, 0, 0);
|
||||
field_0x4a8.r = 255;
|
||||
field_0x4a8.g = 180;
|
||||
field_0x4a8.b = 180;
|
||||
field_0x4a8.a = 160;
|
||||
|
||||
field_0x4ac.r = 0;
|
||||
field_0x4ac.g = 0;
|
||||
field_0x4ac.b = 0;
|
||||
field_0x4ac.a = 0;
|
||||
|
||||
field_0x4b0.r = 255;
|
||||
field_0x4b0.g = 255;
|
||||
field_0x4b0.b = 255;
|
||||
field_0x4b0.a = 128;
|
||||
|
||||
field_0x4b4.r = 255;
|
||||
field_0x4b4.g = 0;
|
||||
field_0x4b4.b = 0;
|
||||
field_0x4b4.a = 0;
|
||||
|
||||
field_0x4b8 = 0.4f;
|
||||
|
||||
field_0x4bc.set(255, 180, 180, 160);
|
||||
field_0x4c0.set(0, 0, 0, 0);
|
||||
field_0x4c4.set(255, 255, 255, 128);
|
||||
field_0x4c8.set(255, 255, 255, 0);
|
||||
field_0x4bc.r = 255;
|
||||
field_0x4bc.g = 180;
|
||||
field_0x4bc.b = 180;
|
||||
field_0x4bc.a = 160;
|
||||
|
||||
field_0x4c0.r = 0;
|
||||
field_0x4c0.g = 0;
|
||||
field_0x4c0.b = 0;
|
||||
field_0x4c0.a = 0;
|
||||
|
||||
field_0x4c4.r = 255;
|
||||
field_0x4c4.g = 255;
|
||||
field_0x4c4.b = 255;
|
||||
field_0x4c4.a = 128;
|
||||
|
||||
field_0x4c8.r = 255;
|
||||
field_0x4c8.g = 255;
|
||||
field_0x4c8.b = 255;
|
||||
field_0x4c8.a = 0;
|
||||
|
||||
field_0x4cc = 0.4f;
|
||||
field_0x3d0 = 0.7f;
|
||||
|
||||
field_0x4d0.set(255, 180, 180, 160);
|
||||
field_0x4d4.set(0, 0, 0, 0);
|
||||
field_0x4d8.set(255, 255, 255, 128);
|
||||
field_0x4dc.set(255, 255, 255, 0);
|
||||
field_0x4d0.r = 255;
|
||||
field_0x4d0.g = 180;
|
||||
field_0x4d0.b = 180;
|
||||
field_0x4d0.a = 160;
|
||||
|
||||
field_0x4d4.r = 0;
|
||||
field_0x4d4.g = 0;
|
||||
field_0x4d4.b = 0;
|
||||
field_0x4d4.a = 0;
|
||||
|
||||
field_0x4d8.r = 255;
|
||||
field_0x4d8.g = 255;
|
||||
field_0x4d8.b = 255;
|
||||
field_0x4d8.a = 128;
|
||||
|
||||
field_0x4dc.r = 255;
|
||||
field_0x4dc.g = 255;
|
||||
field_0x4dc.b = 255;
|
||||
field_0x4dc.a = 0;
|
||||
|
||||
field_0x4e0 = 0.4f;
|
||||
field_0x3d4 = 0.7f;
|
||||
|
||||
mMidnaIconPikariFrontInner.set(200, 235, 255, 255);
|
||||
mMidnaIconPikariFrontOuter.set(0, 0, 0, 0);
|
||||
mMidnaIconPikariBackInner.set(255, 255, 255, 255);
|
||||
mMidnaIconPikariBackOuter.set(140, 200, 125, 0);
|
||||
mMidnaIconPikariFrontInner.r = 200;
|
||||
mMidnaIconPikariFrontInner.g = 235;
|
||||
mMidnaIconPikariFrontInner.b = 255;
|
||||
mMidnaIconPikariFrontInner.a = 255;
|
||||
|
||||
mMidnaIconPikariFrontOuter.r = 0;
|
||||
mMidnaIconPikariFrontOuter.g = 0;
|
||||
mMidnaIconPikariFrontOuter.b = 0;
|
||||
mMidnaIconPikariFrontOuter.a = 0;
|
||||
|
||||
mMidnaIconPikariBackInner.r = 255;
|
||||
mMidnaIconPikariBackInner.g = 255;
|
||||
mMidnaIconPikariBackInner.b = 255;
|
||||
mMidnaIconPikariBackInner.a = 255;
|
||||
|
||||
mMidnaIconPikariBackOuter.r = 140;
|
||||
mMidnaIconPikariBackOuter.g = 200;
|
||||
mMidnaIconPikariBackOuter.b = 125;
|
||||
mMidnaIconPikariBackOuter.a = 0;
|
||||
|
||||
mMidnaIconPikariAnimSpeed = 0.5f;
|
||||
mMidnaIconFlashRate = 50;
|
||||
|
||||
|
|
@ -1106,6 +1462,22 @@ dMeter_drawHIO_c::dMeter_drawHIO_c() {
|
|||
mLanternIconMeterSize = 1.0f;
|
||||
}
|
||||
|
||||
#if WIDESCREEN_SUPPORT
|
||||
void dMeter_drawHIO_c::updateOnWide() {}
|
||||
|
||||
void dMeter_drawHIO_c::updateOffWide() {}
|
||||
#endif
|
||||
|
||||
#if DEBUG
|
||||
void dMeter_drawHIO_c::genMessage(JORMContext* mctx) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
void dMeter_drawHIO_c::updateFMsgDebug() {
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 802001AC-802004B4 1FAAEC 0308+00 1/1 0/0 0/0 .text __ct__16dMeter_ringHIO_cFv */
|
||||
dMeter_ringHIO_c::dMeter_ringHIO_c() {
|
||||
mRingRadiusH = 175.0f;
|
||||
|
|
@ -1218,6 +1590,18 @@ dMeter_ringHIO_c::dMeter_ringHIO_c() {
|
|||
mDirectSelectWaitFrames = 4;
|
||||
}
|
||||
|
||||
#if WIDESCREEN_SUPPORT
|
||||
void dMeter_ringHIO_c::updateOnWide() {}
|
||||
|
||||
void dMeter_ringHIO_c::updateOffWide() {}
|
||||
#endif
|
||||
|
||||
#if DEBUG
|
||||
void dMeter_ringHIO_c::genMessage(JORMContext* mctx) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 802004B4-802006C8 1FADF4 0214+00 1/1 0/0 0/0 .text __ct__19dMeter_mapIconHIO_cFv */
|
||||
dMeter_mapIconHIO_c::dMeter_mapIconHIO_c() {
|
||||
mPortalCursorScale = 0.5f;
|
||||
|
|
@ -1311,7 +1695,7 @@ dMeter_mapIconHIO_c::dMeter_mapIconHIO_c() {
|
|||
mLV5DungeonItem = fpcNm_ITEM_NONE;
|
||||
mIconDebug = false;
|
||||
|
||||
for (int i = 0; i < ARRAY_SIZEU(mIconDisplay); i++) {
|
||||
for (int i = 0; i < ARRAY_SIZE(mIconDisplay); i++) {
|
||||
mIconDisplay[i] = true;
|
||||
}
|
||||
|
||||
|
|
@ -1326,11 +1710,21 @@ dMeter_mapIconHIO_c::dMeter_mapIconHIO_c() {
|
|||
mLightDropFlashFrameNum = 10;
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
void dMeter_mapIconHIO_c::genMessage(JORMContext* mctx) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 802006C8-80200BCC 1FB008 0504+00 1/1 0/0 0/0 .text __ct__16dMeter_fmapHIO_cFv */
|
||||
dMeter_fmapHIO_c::dMeter_fmapHIO_c() {
|
||||
field_0xc = NULL;
|
||||
field_0x10 = NULL;
|
||||
mpArchive = NULL;
|
||||
mpArcFile = NULL;
|
||||
mpDecompBuf = NULL;
|
||||
mpArcData = NULL;
|
||||
|
||||
#if DEBUG
|
||||
mpEvtCallBack = NULL;
|
||||
#endif
|
||||
|
||||
mDisplayFrameNum = 8;
|
||||
mUndisplayFrameNum = 6;
|
||||
|
|
@ -1362,17 +1756,18 @@ dMeter_fmapHIO_c::dMeter_fmapHIO_c() {
|
|||
mScrollSpeedSlowBound = 0.2f;
|
||||
mScrollSpeedFastBound = 1.0f;
|
||||
|
||||
// fake match
|
||||
for (int i = 0; i < 8; i++) {
|
||||
int* tmp = (int*)this + i;
|
||||
*(f32*)(tmp + 0x5B) = 0.0f;
|
||||
*(f32*)(tmp + 0x63) = 0.0f;
|
||||
*(f32*)(tmp + 0x6B) = 0.0f;
|
||||
*(f32*)(tmp + 0x73) = -300000.0f;
|
||||
*(f32*)(tmp + 0x7B) = -300000.0f;
|
||||
*(f32*)(tmp + 0x83) = 300000.0f;
|
||||
*(f32*)(tmp + 0x8B) = 300000.0f;
|
||||
mRegionImagePosX[i] = 0.0f;
|
||||
mRegionImagePosZ[i] = 0.0f;
|
||||
mRegionImageScale[i] = 0.0f;
|
||||
|
||||
mRegionScrollRangeMinX[i] = -300000.0f;
|
||||
mRegionScrollRangeMinZ[i] = -300000.0f;
|
||||
|
||||
mRegionScrollRangeMaxX[i] = 300000.0f;
|
||||
mRegionScrollRangeMaxZ[i] = 300000.0f;
|
||||
}
|
||||
|
||||
mScrollRangeDebugON = false;
|
||||
mScrollRangeDisplay = false;
|
||||
field_0x308 = true;
|
||||
|
|
@ -1500,30 +1895,59 @@ dMeter_fmapHIO_c::dMeter_fmapHIO_c() {
|
|||
mMapBlink[ZOOM_VIEW].field_0x20.set(0, 0, 0, 0);
|
||||
mMapBlink[ZOOM_VIEW].field_0x24.set(0, 0, 0, 255);
|
||||
|
||||
for (int i = 0; i < ARRAY_SIZEU(mDebugRegionBits); i++) {
|
||||
for (int i = 0; i < ARRAY_SIZE(mDebugRegionBits); i++) {
|
||||
mDebugRegionBits[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* 80200BCC-80200CD4 1FB50C 0108+00 2/1 0/0 0/0 .text __dt__16dMeter_fmapHIO_cFv */
|
||||
dMeter_fmapHIO_c::~dMeter_fmapHIO_c() {
|
||||
if (field_0xc != NULL) {
|
||||
mDoExt_getGameHeap()->free(field_0xc);
|
||||
field_0xc = NULL;
|
||||
if (mpArcFile != NULL) {
|
||||
mDoExt_getGameHeap()->free(mpArcFile);
|
||||
mpArcFile = NULL;
|
||||
}
|
||||
|
||||
if (field_0x10 != NULL) {
|
||||
mDoExt_getGameHeap()->free(field_0x10);
|
||||
field_0x10 = NULL;
|
||||
if (mpDecompBuf != NULL) {
|
||||
mDoExt_getGameHeap()->free(mpDecompBuf);
|
||||
mpDecompBuf = NULL;
|
||||
}
|
||||
|
||||
if (mpArchive != NULL) {
|
||||
mpArchive->unmount();
|
||||
delete mpArchive;
|
||||
mpArchive = NULL;
|
||||
if (mpArcData != NULL) {
|
||||
JKRUnmountArchive(mpArcData);
|
||||
delete mpArcData;
|
||||
mpArcData = NULL;
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
if (mpEvtCallBack != NULL) {
|
||||
delete mpEvtCallBack;
|
||||
mpEvtCallBack = NULL;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
void dMeter_fmapHIO_c::genMessage(JORMContext* mctx) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
void dMeter_fmapHIO_c::listenPropertyEvent(const JORPropertyEvent*) {
|
||||
|
||||
}
|
||||
|
||||
void dMeter_fmapHIO_c::createEvtCallBackObject() {
|
||||
|
||||
}
|
||||
|
||||
void dMeter_fmapHIO_c::deleteEvtCallBackObject() {
|
||||
|
||||
}
|
||||
|
||||
void dMeter_fmapHIO_c::update() {
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 80200CD4-80200D58 1FB614 0084+00 1/1 0/0 0/0 .text __ct__18dMeter_cursorHIO_cFv */
|
||||
dMeter_cursorHIO_c::dMeter_cursorHIO_c() {
|
||||
mShopCursorScale = 1.05f;
|
||||
|
|
@ -1538,6 +1962,12 @@ dMeter_cursorHIO_c::dMeter_cursorHIO_c() {
|
|||
mMagicArmorObjZoomAngleX = -500;
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
void dMeter_cursorHIO_c::genMessage(JORMContext* mctx) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 804510B0-804510B8 0005B0 0008+00 1/1 1/1 0/0 .sbss g_menuHIO */
|
||||
dMeter_menuHIO_c g_menuHIO;
|
||||
|
||||
|
|
|
|||
|
|
@ -1510,8 +1510,8 @@ void dMsgObject_c::fukiPosCalc(bool param_1) {
|
|||
temp = cStack_48.y;
|
||||
} else {
|
||||
mDoLib_project(&field_0x100->pos, &local_3c);
|
||||
if (local_3c.x >= 0.0f && local_3c.x <= 608.0f && local_3c.y >= 0.0f &&
|
||||
local_3c.y <= 448.0f)
|
||||
if (local_3c.x >= 0.0f && local_3c.x <= FB_WIDTH && local_3c.y >= 0.0f &&
|
||||
local_3c.y <= FB_HEIGHT)
|
||||
{
|
||||
temp = 0.5f * (cStack_48.y + local_3c.y);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -491,8 +491,8 @@ void dMsgScrnHowl_c::drawWave() {
|
|||
s32 local_94 = 0;
|
||||
Vec fVar12 = field_0x128;
|
||||
Vec this_02 = field_0x140;
|
||||
f32 fVar1 = mDoGph_gInf_c::getWidthF() / 608.0f;
|
||||
f32 fVar2 = mDoGph_gInf_c::getHeightF() / 448.0f;
|
||||
f32 fVar1 = mDoGph_gInf_c::getWidthF() / FB_WIDTH;
|
||||
f32 fVar2 = mDoGph_gInf_c::getHeightF() / FB_HEIGHT;
|
||||
grafContext->scissor(
|
||||
(fVar12.x - mDoGph_gInf_c::getMinXF()) / fVar1 - 16.0f,
|
||||
(fVar12.y / fVar2) / fVar2 - 16.0f,
|
||||
|
|
@ -596,8 +596,8 @@ void dMsgScrnHowl_c::drawGuide() {
|
|||
Vec local_b0 = field_0x128;
|
||||
Vec local_bc = field_0x140;
|
||||
grafContext->scissor(
|
||||
(local_b0.x - mDoGph_gInf_c::getMinXF()) / (mDoGph_gInf_c::getWidthF() / 608.0f),
|
||||
field_0x2118, (local_bc.x - local_b0.x) / (mDoGph_gInf_c::getWidthF() / 608.0f),
|
||||
(local_b0.x - mDoGph_gInf_c::getMinXF()) / (mDoGph_gInf_c::getWidthF() / FB_WIDTH),
|
||||
field_0x2118, (local_bc.x - local_b0.x) / (mDoGph_gInf_c::getWidthF() / FB_WIDTH),
|
||||
field_0x2120);
|
||||
grafContext->setScissor();
|
||||
f32 local_cc = mpLineH[0]->getGlobalPosX();
|
||||
|
|
@ -727,10 +727,10 @@ void dMsgScrnHowl_c::drawGuide2() {
|
|||
}
|
||||
Vec local_58 = field_0x128;
|
||||
Vec local_64 = field_0x140;
|
||||
f32 local_70 = mDoGph_gInf_c::getHeightF() / 448.0f;
|
||||
f32 local_70 = mDoGph_gInf_c::getHeightF() / FB_HEIGHT;
|
||||
grafContext->scissor(
|
||||
(local_58.x - mDoGph_gInf_c::getMinXF()) / (mDoGph_gInf_c::getWidthF() / 608.0f),
|
||||
field_0x2118, (local_64.x - local_58.x) / (mDoGph_gInf_c::getWidthF() / 608.0f),
|
||||
(local_58.x - mDoGph_gInf_c::getMinXF()) / (mDoGph_gInf_c::getWidthF() / FB_WIDTH),
|
||||
field_0x2118, (local_64.x - local_58.x) / (mDoGph_gInf_c::getWidthF() / FB_WIDTH),
|
||||
field_0x2120);
|
||||
grafContext->setScissor();
|
||||
f32 local_74 = mpLineH[0]->getGlobalPosX();
|
||||
|
|
@ -835,8 +835,8 @@ void dMsgScrnHowl_c::drawEffect() {
|
|||
Vec vec2 = field_0x140;
|
||||
mDoGph_gInf_c::getHeightF();
|
||||
grafContext->scissor(
|
||||
(vec1.x - mDoGph_gInf_c::getMinXF()) / (mDoGph_gInf_c::getWidthF() / 608.0f), field_0x2118,
|
||||
12.0f + ((vec2.x - vec1.x) / (mDoGph_gInf_c::getWidthF() / 608.0f)), field_0x2120);
|
||||
(vec1.x - mDoGph_gInf_c::getMinXF()) / (mDoGph_gInf_c::getWidthF() / FB_WIDTH), field_0x2118,
|
||||
12.0f + ((vec2.x - vec1.x) / (mDoGph_gInf_c::getWidthF() / FB_WIDTH)), field_0x2120);
|
||||
grafContext->setScissor();
|
||||
u8 timer = daAlink_getAlinkActorClass()->getWolfHowlMgrP()->getReleaseTimer();
|
||||
u8 screenAlpha = mpScreen->search('line00')->getAlpha();
|
||||
|
|
|
|||
|
|
@ -413,10 +413,14 @@ void dMsgScrnItem_c::drawSelf() {
|
|||
}
|
||||
|
||||
f32 globalPosX = mpTm_c[0]->getGlobalPosX();
|
||||
|
||||
#if WIDESCREEN_SUPPORT
|
||||
if (mDoGph_gInf_c::isWide()) {
|
||||
drawOutFont(g_MsgObject_HIO_c.mBoxItemTextPosX + 7.0f + YREG_F(2),
|
||||
g_MsgObject_HIO_c.mBoxItemTextPosY, 1.0f);
|
||||
} else {
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
drawOutFont(g_MsgObject_HIO_c.mBoxItemTextPosX - 2.0f + YREG_F(2),
|
||||
g_MsgObject_HIO_c.mBoxItemTextPosY, 1.0f);
|
||||
}
|
||||
|
|
@ -577,8 +581,8 @@ void dMsgScrnItem_c::fukiPosCalc(u8 param_1) {
|
|||
f3 = cStack_7c.y;
|
||||
} else {
|
||||
mDoLib_project(&iVar6->pos, &local_70);
|
||||
if (local_70.x >= 0.0f && local_70.x <= 608.0f && local_70.y >= 0.0f &&
|
||||
local_70.y <= 448.0f)
|
||||
if (local_70.x >= 0.0f && local_70.x <= FB_WIDTH && local_70.y >= 0.0f &&
|
||||
local_70.y <= FB_HEIGHT)
|
||||
{
|
||||
f3 = 0.5f * (cStack_7c.y + local_70.y);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@
|
|||
|
||||
/* 8025247C-80252990 24CDBC 0514+00 1/0 0/0 0/0 .text draw__15dOvlpFd2_dlst_cFv */
|
||||
void dOvlpFd2_dlst_c::draw() {
|
||||
GXSetViewport(0.0f, 0.0f, 608.0f, 448.0f, 0.0f, 1.0f);
|
||||
GXSetScissor(0, 0, 608, 448);
|
||||
GXSetViewport(0.0f, 0.0f, FB_WIDTH, FB_HEIGHT, 0.0f, 1.0f);
|
||||
GXSetScissor(0, 0, FB_WIDTH, FB_HEIGHT);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGB, GX_RGBA4, 0);
|
||||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
|
||||
|
|
@ -50,8 +50,8 @@ void dOvlpFd2_dlst_c::draw() {
|
|||
C_MTXPerspective(m, 60.0f, mDoGph_gInf_c::getWidthF() / mDoGph_gInf_c::getHeightF(), 100.0f,
|
||||
100000.0f);
|
||||
GXSetProjection(m, GX_PERSPECTIVE);
|
||||
GXInitTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), mDoGph_gInf_c::getFrameBufferTex(), 304,
|
||||
224, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP, GX_FALSE);
|
||||
GXInitTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), mDoGph_gInf_c::getFrameBufferTex(), FB_WIDTH / 2,
|
||||
FB_HEIGHT / 2, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP, GX_FALSE);
|
||||
GXInitTexObjLOD(mDoGph_gInf_c::getFrameBufferTexObj(), GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f,
|
||||
GX_FALSE, GX_FALSE, GX_ANISO_1);
|
||||
GXLoadTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), GX_TEXMAP0);
|
||||
|
|
|
|||
|
|
@ -14,16 +14,16 @@
|
|||
|
||||
/* 80252ED4-80252F28 24D814 0054+00 1/0 0/0 0/0 .text draw__16dDlst_snapShot_cFv */
|
||||
void dDlst_snapShot_c::draw() {
|
||||
GXSetTexCopySrc(0, 0, 608, 448);
|
||||
GXSetTexCopyDst(608 / 2, 448 / 2, GX_TF_RGBA8, GX_TRUE);
|
||||
GXSetTexCopySrc(0, 0, FB_WIDTH, FB_HEIGHT);
|
||||
GXSetTexCopyDst(FB_WIDTH / 2, FB_HEIGHT / 2, GX_TF_RGBA8, GX_TRUE);
|
||||
GXCopyTex(mDoGph_gInf_c::getFrameBufferTex(), GX_FALSE);
|
||||
GXPixModeSync();
|
||||
}
|
||||
|
||||
/* 80252F28-8025343C 24D868 0514+00 1/0 0/0 0/0 .text draw__15dOvlpFd3_dlst_cFv */
|
||||
void dOvlpFd3_dlst_c::draw() {
|
||||
GXSetViewport(0.0f, 0.0f, 608.0f, 448.0f, 0.0f, 1.0f);
|
||||
GXSetScissor(0, 0, 608, 448);
|
||||
GXSetViewport(0.0f, 0.0f, FB_WIDTH, FB_HEIGHT, 0.0f, 1.0f);
|
||||
GXSetScissor(0, 0, FB_WIDTH, FB_HEIGHT);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGB, GX_RGBA4, 0);
|
||||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
|
||||
|
|
@ -59,8 +59,8 @@ void dOvlpFd3_dlst_c::draw() {
|
|||
C_MTXPerspective(m, 60.0f, mDoGph_gInf_c::getWidthF() / mDoGph_gInf_c::getHeightF(), 100.0f,
|
||||
100000.0f);
|
||||
GXSetProjection(m, GX_PERSPECTIVE);
|
||||
GXInitTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), mDoGph_gInf_c::getFrameBufferTex(), 304,
|
||||
224, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP, GX_FALSE);
|
||||
GXInitTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), mDoGph_gInf_c::getFrameBufferTex(), FB_WIDTH / 2,
|
||||
FB_HEIGHT / 2, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP, GX_FALSE);
|
||||
GXInitTexObjLOD(mDoGph_gInf_c::getFrameBufferTexObj(), GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f,
|
||||
GX_FALSE, GX_FALSE, GX_ANISO_1);
|
||||
GXLoadTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), GX_TEXMAP0);
|
||||
|
|
|
|||
|
|
@ -391,7 +391,7 @@ Vec CPaneMgr::getGlobalVtx(J2DPane* p_pane, Mtx* param_1, u8 param_2, bool param
|
|||
MtxP mp = (MtxP)param_1;
|
||||
J2DPane* parent = p_pane->getParentPane();
|
||||
|
||||
J2DOrthoGraph ortho(0.0f, 0.0f, 608.0f, 448.0f, -1.0f, 1.0f);
|
||||
J2DOrthoGraph ortho(0.0f, 0.0f, FB_WIDTH, FB_HEIGHT, -1.0f, 1.0f);
|
||||
ortho.setOrtho(mDoGph_gInf_c::getMinXF(), mDoGph_gInf_c::getMinYF(), mDoGph_gInf_c::getWidthF(), mDoGph_gInf_c::getHeightF(), -1.0f, 1.0f);
|
||||
|
||||
if (parent != NULL) {
|
||||
|
|
|
|||
|
|
@ -18,6 +18,10 @@
|
|||
#include "m_Do/m_Do_graphic.h"
|
||||
#include "m_Do/m_Do_machine.h"
|
||||
|
||||
#if PLATFORM_WII
|
||||
#include "d/d_cursor_mng.h"
|
||||
#endif
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
#define LOGO_ARC "Logo"
|
||||
#define MSG_PATH "/res/Msgjp/bmgres.arc"
|
||||
|
|
@ -532,6 +536,10 @@ dScnLogo_c::~dScnLogo_c() {
|
|||
dDlst_shadowControl_c::setSimpleTex((ResTIMG*)dComIfG_getObjectRes("Always", 0x4A));
|
||||
dTres_c::createWork();
|
||||
dMpath_c::createWork();
|
||||
|
||||
#if PLATFORM_WII
|
||||
data_8053a730 = 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
/* 80257910-802579BC 252250 00AC+00 1/0 0/0 0/0 .text phase_0__FP10dScnLogo_c */
|
||||
|
|
@ -619,6 +627,10 @@ int dScnLogo_c::create() {
|
|||
return phase_state;
|
||||
}
|
||||
|
||||
#if PLATFORM_WII
|
||||
data_8053a730 = 1;
|
||||
#endif
|
||||
|
||||
mpHeap = mDoExt_setCurrentHeap(field_0x1d4);
|
||||
logoInitGC();
|
||||
mpHeap->becomeCurrentHeap();
|
||||
|
|
@ -730,10 +742,10 @@ void dScnLogo_c::logoInitGC() {
|
|||
};
|
||||
|
||||
ResTIMG* warningImg = (ResTIMG*)mpPalLogoResCommand->getArchive()->getResource('DAT ', warning[language]);
|
||||
mWarning = new dDlst_2D_c(warningImg, 0, 0, 608, 448, 255);
|
||||
mWarning = new dDlst_2D_c(warningImg, 0, 0, FB_WIDTH, FB_HEIGHT, 255);
|
||||
|
||||
ResTIMG* warnStartImg = (ResTIMG*)mpPalLogoResCommand->getArchive()->getResource('DAT ', warningPs[language]);
|
||||
mWarningStart = new dDlst_2D_c(warnStartImg, 0, 359, 608, 48, 255);
|
||||
mWarningStart = new dDlst_2D_c(warnStartImg, 0, 359, FB_WIDTH, 48, 255);
|
||||
|
||||
ResTIMG* progChoiceImg = (ResTIMG*)mpPalLogoResCommand->getArchive()->getResource('DAT ', choice[language]);
|
||||
mProgressiveChoice = new dDlst_2D_c(progChoiceImg, 113, 143, 416, 210, 255);
|
||||
|
|
@ -751,10 +763,10 @@ void dScnLogo_c::logoInitGC() {
|
|||
mProgressiveSel = new dDlst_2D_c(mProgressivePro, 153, 309, 336, 88, 255);
|
||||
#else
|
||||
ResTIMG* warningImg = (ResTIMG*)dComIfG_getObjectRes(LOGO_ARC, 10);
|
||||
mWarning = new dDlst_2D_c(warningImg, 0, 0, 608, 448, 255);
|
||||
mWarning = new dDlst_2D_c(warningImg, 0, 0, FB_WIDTH, FB_HEIGHT, 255);
|
||||
|
||||
ResTIMG* warnStartImg = (ResTIMG*)dComIfG_getObjectRes(LOGO_ARC, 11);
|
||||
mWarningStart = new dDlst_2D_c(warnStartImg, 0, 359, 608, 48, 255);
|
||||
mWarningStart = new dDlst_2D_c(warnStartImg, 0, 359, FB_WIDTH, 48, 255);
|
||||
|
||||
ResTIMG* progChoiceImg = (ResTIMG*)dComIfG_getObjectRes(LOGO_ARC, 5);
|
||||
mProgressiveChoice = new dDlst_2D_c(progChoiceImg, 113, 281, 416, 72, 255);
|
||||
|
|
|
|||
|
|
@ -27,6 +27,10 @@
|
|||
#include "d/actor/d_a_suspend.h"
|
||||
#include "d/actor/d_a_ykgr.h"
|
||||
|
||||
#if PLATFORM_WII
|
||||
#include "d/d_cursor_mng.h"
|
||||
#endif
|
||||
|
||||
static void dScnPly_Create(scene_class*);
|
||||
static int dScnPly_Delete(dScnPly_c*);
|
||||
static int dScnPly_IsDelete(dScnPly_c);
|
||||
|
|
@ -293,6 +297,11 @@ static int dScnPly_Delete(dScnPly_c* i_this) {
|
|||
}
|
||||
|
||||
dComIfGp_init();
|
||||
|
||||
#if PLATFORM_WII
|
||||
data_8053a730 = 0;
|
||||
#endif
|
||||
|
||||
JUTAssertion::setMessageCount(0);
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -345,6 +354,10 @@ static int phase_00(dScnPly_c* i_this) {
|
|||
if (!i_this->resetGame()) {
|
||||
return cPhs_INIT_e;
|
||||
} else {
|
||||
#if PLATFORM_WII
|
||||
data_8053a730 = 1;
|
||||
#endif
|
||||
|
||||
mDoGph_gInf_c::offBlure();
|
||||
return cPhs_NEXT_e;
|
||||
}
|
||||
|
|
@ -613,7 +626,7 @@ static int phase_4(dScnPly_c* i_this) {
|
|||
dComIfGp_setPlayerPtr(i, NULL);
|
||||
}
|
||||
|
||||
dComIfGp_setWindow(0, 0.0f, 0.0f, 608.0f, 448.0f, 0.0f, 1.0f, 0, 2);
|
||||
dComIfGp_setWindow(0, 0.0f, 0.0f, FB_WIDTH, FB_HEIGHT, 0.0f, 1.0f, 0, 2);
|
||||
dComIfGp_setCameraInfo(0, NULL, 0, 0, -1);
|
||||
dComIfGd_setWindow(NULL);
|
||||
dComIfGd_setViewport(NULL);
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -4,6 +4,7 @@
|
|||
*/
|
||||
|
||||
#include "m_Do/m_Do_lib.h"
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMatBlock.h"
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
|
|
@ -95,16 +96,16 @@ void mDoLib_project(Vec* src, Vec* dst) {
|
|||
float xSize;
|
||||
float ySize;
|
||||
if (viewPort->x_orig != 0.0f) {
|
||||
xOffset = (0.5f * ((2.0f * viewPort->x_orig) + viewPort->width)) - 304.0f;
|
||||
xSize = 608.0f;
|
||||
xOffset = (0.5f * ((2.0f * viewPort->x_orig) + viewPort->width)) - (FB_WIDTH / 2);
|
||||
xSize = FB_WIDTH;
|
||||
} else {
|
||||
xOffset = viewPort->x_orig;
|
||||
xSize = viewPort->width;
|
||||
}
|
||||
|
||||
if (viewPort->y_orig != 0.0f) {
|
||||
yOffset = (0.5f * ((2.0f * viewPort->y_orig) + viewPort->height)) - 224.0f;
|
||||
ySize = 448.0f;
|
||||
yOffset = (0.5f * ((2.0f * viewPort->y_orig) + viewPort->height)) - (FB_HEIGHT / 2);
|
||||
ySize = FB_HEIGHT;
|
||||
} else {
|
||||
yOffset = viewPort->y_orig;
|
||||
ySize = viewPort->height;
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ static int unknownHeapErrors;
|
|||
/* 80450C0C-80450C10 00010C 0004+00 1/1 0/0 0/0 .sbss heapErrors */
|
||||
static u32 heapErrors;
|
||||
|
||||
#if VERSION != VERSION_GCN_PAL
|
||||
#if VERSION == VERSION_GCN_USA || VERSION == VERSION_GCN_JPN
|
||||
/* 803A2F60-803A2F9C 000080 003C+00 1/0 0/0 0/0 .data g_ntscZeldaIntDf */
|
||||
GXRenderModeObj g_ntscZeldaIntDf = {
|
||||
VI_TVMODE_NTSC_INT,
|
||||
|
|
@ -119,7 +119,7 @@ GXRenderModeObj g_ntscZeldaProg = {
|
|||
{6, 6}},
|
||||
{0, 0, 21, 22, 21, 0, 0},
|
||||
};
|
||||
#else
|
||||
#elif VERSION == VERSION_GCN_PAL
|
||||
/* 803A2F60-803A2F9C 000080 003C+00 1/0 0/0 0/0 .data g_ntscZeldaIntDf */
|
||||
GXRenderModeObj g_ntscZeldaIntDf = {
|
||||
VI_TVMODE_PAL_INT,
|
||||
|
|
@ -175,6 +175,60 @@ GXRenderModeObj g_ntscZeldaProg = {
|
|||
{6, 6}},
|
||||
{8, 8, 10, 12, 10, 8, 8},
|
||||
};
|
||||
#else
|
||||
GXRenderModeObj g_ntscZeldaIntDf = {
|
||||
VI_TVMODE_NTSC_INT,
|
||||
640,
|
||||
456,
|
||||
456,
|
||||
25,
|
||||
12,
|
||||
670,
|
||||
456,
|
||||
VI_XFBMODE_DF,
|
||||
0,
|
||||
0,
|
||||
{{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6}},
|
||||
{8, 8, 10, 12, 10, 8, 8},
|
||||
};
|
||||
|
||||
GXRenderModeObj g_ntscZeldaProg = {
|
||||
VI_TVMODE_NTSC_PROG,
|
||||
640,
|
||||
456,
|
||||
456,
|
||||
25,
|
||||
12,
|
||||
670,
|
||||
456,
|
||||
VI_XFBMODE_SF,
|
||||
0,
|
||||
0,
|
||||
{{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6}},
|
||||
{0, 0, 21, 22, 21, 0, 0},
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
|
|
|
|||
Loading…
Reference in New Issue