Merge pull request #217 from Pheenoh/d_a_player

d_a_player matches
This commit is contained in:
TakaRikka 2022-12-22 16:15:03 -08:00 committed by GitHub
commit cdbc2775b7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 33 additions and 23 deletions

View File

@ -441,7 +441,7 @@ public:
static void setLookPos(cXyz*);
static void setPlayerSe(u32);
static bool linkGrabSubjectNoDraw(fopAc_ac_c*);
void wolfGrabSubjectNoDraw(fopAc_ac_c*);
static bool wolfGrabSubjectNoDraw(fopAc_ac_c*);
static bool checkRoomRestartStart();
static u32 checkCarryStartLightBallA();
static u32 checkCarryStartLightBallB();

View File

@ -513,6 +513,19 @@ static asm void daE_YC_Draw(e_yc_class* param_0) {
#pragma pop
/* 807F00BC-807F01AC 0002DC 00F0+00 1/1 0/0 0/0 .text damage_check__FP10e_yc_class */
#ifdef NONMATCHING
static void damage_check(e_yc_class* param_0) {
param_0->mCcD_GStts.Move();
fopAc_ac_c* player = dComIfGp_getPlayer(0);
if (param_0->field_0x6AA == 0 && !param_0->mCcD_GObjInf.ChkTgHit()) {
param_0->mpTgHitObj = param_0->mCcD_GObjInf.GetTgHitObj();
if (((daAlink_c*)player)->getCutType() != 0x2c) {
return;
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@ -521,6 +534,7 @@ static asm void damage_check(e_yc_class* param_0) {
#include "asm/rel/d/a/e/d_a_e_yc/d_a_e_yc/damage_check__FP10e_yc_class.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 807F2878-807F287C 000014 0004+00 0/2 0/0 0/0 .rodata @3859 */

View File

@ -303,14 +303,9 @@ BOOL daPy_py_c::checkFishingRodItem(int i_itemNo) {
}
/* 8015EA48-8015EA88 159388 0040+00 0/0 3/3 0/0 .text checkBombItem__9daPy_py_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL daPy_py_c::checkBombItem(int param_0) {
nofralloc
#include "asm/d/a/d_a_player/checkBombItem__9daPy_py_cFi.s"
BOOL daPy_py_c::checkBombItem(int param_0) {
return param_0 == NORMAL_BOMB || param_0 == WATER_BOMB || param_0 == POKE_BOMB;
}
#pragma pop
/* 8015EA88-8015EAD8 1593C8 0050+00 0/0 5/5 0/0 .text checkBottleItem__9daPy_py_cFi */
// is there a way to write this with a switch?
@ -560,7 +555,7 @@ SECTION_SDATA2 static u32 lit_4668 = 0xFF8000FF;
SECTION_SDATA2 static u32 lit_4669 = 0x321400FF;
/* 8015F1A0-8015F2FC 159AE0 015C+00 1/0 1/1 0/0 .text draw__18daPy_sightPacket_cFv */
// dumb instruction block out of order
// matches with literals
#ifdef NONMATCHING
void daPy_sightPacket_c::draw() {
GXTexObj texObj;
@ -578,9 +573,11 @@ void daPy_sightPacket_c::draw() {
GXSetTevColor(GX_TEVREG0, reg0);
GXSetTevColor(GX_TEVREG1, reg1);
u8 tmp2 = mpImg->mipmapCount;
tmp2 = tmp2 > 1;
GXInitTexObj(&texObj, mpData, mpImg->width, mpImg->height, (GXTexFmt)mpImg->format,
(GXTexWrapMode)mpImg->wrapS, (GXTexWrapMode)mpImg->wrapT,
(GXBool)(mpImg->mipmapCount > 1));
(GXBool)(tmp2));
GXInitTexObjLOD(&texObj, GX_LINEAR, GX_LINEAR, 0.0, 0.0, 0.0, GX_FALSE, GX_FALSE, GX_ANISO_1);
GXLoadTexObj(&texObj, GX_TEXMAP0);
GXLoadPosMtxImm(field_0x14, GX_PNMTX0);
@ -632,14 +629,11 @@ BOOL daPy_py_c::checkMasterSwordEquip() {
/* 8015F3C4-8015F3FC 159D04 0038+00 0/0 4/4 0/0 .text checkWoodShieldEquip__9daPy_py_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL daPy_py_c::checkWoodShieldEquip() {
nofralloc
#include "asm/d/a/d_a_player/checkWoodShieldEquip__9daPy_py_cFv.s"
BOOL daPy_py_c::checkWoodShieldEquip() {
u16 equipShield = dComIfGs_getSelectEquipShield();
return equipShield == WOOD_SHIELD || equipShield == SHIELD;
}
#pragma pop
BOOL daPy_py_c::checkNowWolf() {
return dComIfGp_getLinkPlayer()->i_checkWolf();
@ -727,13 +721,15 @@ asm bool daPy_py_c::linkGrabSubjectNoDraw(fopAc_ac_c* param_0) {
/* 8015F60C-8015F660 159F4C 0054+00 0/0 0/0 2/2 .text
* wolfGrabSubjectNoDraw__9daPy_py_cFP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daPy_py_c::wolfGrabSubjectNoDraw(fopAc_ac_c* param_0){nofralloc
#include "asm/d/a/d_a_player/wolfGrabSubjectNoDraw__9daPy_py_cFP10fopAc_ac_c.s"
bool daPy_py_c::wolfGrabSubjectNoDraw(fopAc_ac_c* param_0){
bool ret = false;
if (checkNowWolf()) {
if (linkGrabSubjectNoDraw(param_0)) {
ret = true;
}
}
return ret;
}
#pragma pop
u32 daPy_py_c::getLastSceneMode() {
return dComIfGs_getLastSceneMode() & 0xF;