mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-03-03 10:11:51 -05:00
First pass for shields, swords, and sheaths
This commit is contained in:
parent
be8dcfda05
commit
1533650969
99
soh/assets/objects/object_custom/object_custom.h
Normal file
99
soh/assets/objects/object_custom/object_custom.h
Normal file
@ -0,0 +1,99 @@
|
||||
#ifndef OBJECTS_OBJECT_CUSTOM_H
|
||||
#define OBJECTS_OBJECT_CUSTOM 1
|
||||
|
||||
#include "align_asset_macro.h"
|
||||
|
||||
// New Equipment System Basemodels
|
||||
#define dgLinkBowDL "__OTR__objects/object_link_eq/gLinkBowDL"
|
||||
static const ALIGN_ASSET(2) char gLinkBowDL[] = dgLinkBowDL;
|
||||
|
||||
#define dgLinkHammerDL "__OTR__objects/object_link_eq/gLinkHammerDL"
|
||||
static const ALIGN_ASSET(2) char gLinkHammerDL[] = dgLinkHammerDL;
|
||||
|
||||
#define dgLinkHookshotDL "__OTR__objects/object_link_eq/gLinkHookshotDL"
|
||||
static const ALIGN_ASSET(2) char gLinkHookshotDL[] = dgLinkHookshotDL;
|
||||
|
||||
#define dgLinkHookshotTipDL "__OTR__objects/object_link_eq/gLinkHookshotTipDL"
|
||||
static const ALIGN_ASSET(2) char gLinkHookshotTipDL[] = dgLinkHookshotTipDL;
|
||||
|
||||
#define dgLinkHookshotSmallTipDL "__OTR__objects/object_link_eq/gLinkHookshotSmallTipDL"
|
||||
static const ALIGN_ASSET(2) char gLinkHookshotSmallTipDL[] = dgLinkHookshotSmallTipDL;
|
||||
|
||||
#define dgLinkHookshotChainDL "__OTR__objects/object_link_eq/gLinkHookshotChainDL"
|
||||
static const ALIGN_ASSET(2) char gLinkHookshotChainDL[] = dgLinkHookshotChainDL;
|
||||
|
||||
#define dgLinkHookshotSmallChainDL "__OTR__objects/object_link_eq/gLinkHookshotSmallChainDL"
|
||||
static const ALIGN_ASSET(2) char gLinkHookshotSmallChainDL[] = dgLinkHookshotSmallChainDL;
|
||||
|
||||
#define dgLinkSlingshotDL "__OTR__objects/object_link_eq/gLinkSlingshotDL"
|
||||
static const ALIGN_ASSET(2) char gLinkSlingshotDL[] = dgLinkSlingshotDL;
|
||||
|
||||
#define dgLinkFairyOcarinaDL "__OTR__objects/object_link_eq/gLinkFairyOcarinaDL"
|
||||
static const ALIGN_ASSET(2) char gLinkFairyOcarinaDL[] = dgLinkFairyOcarinaDL;
|
||||
|
||||
#define dgLinkOcarinaOfTimeDL "__OTR__objects/object_link_eq/gLinkOcarinaOfTimeDL"
|
||||
static const ALIGN_ASSET(2) char gLinkOcarinaOfTimeDL[] = dgLinkOcarinaOfTimeDL;
|
||||
|
||||
#define dgLinkBoomerangDL "__OTR__objects/object_link_eq/gLinkBoomerangDL"
|
||||
static const ALIGN_ASSET(2) char gLinkBoomerangDL[] = dgLinkBoomerangDL;
|
||||
|
||||
#define dgLinkKokiriSwordDL "__OTR__objects/object_link_eq/gLinkKokiriSwordDL"
|
||||
static const ALIGN_ASSET(2) char gLinkKokiriSwordDL[] = dgLinkKokiriSwordDL;
|
||||
|
||||
#define dgLinkKokiriSwordSheathDL "__OTR__objects/object_link_eq/gLinkKokiriSwordSheathDL"
|
||||
static const ALIGN_ASSET(2) char gLinkKokiriSwordSheathDL[] = dgLinkKokiriSwordSheathDL;
|
||||
|
||||
#define dgLinkKokiriSwordInSheathDL "__OTR__objects/object_link_eq/gLinkKokiriSwordInSheathDL"
|
||||
static const ALIGN_ASSET(2) char gLinkKokiriSwordInSheathDL[] = dgLinkKokiriSwordInSheathDL;
|
||||
|
||||
#define dgLinkMasterSwordDL "__OTR__objects/object_link_eq/gLinkMasterSwordDL"
|
||||
static const ALIGN_ASSET(2) char gLinkMasterSwordDL[] = dgLinkMasterSwordDL;
|
||||
|
||||
#define dgLinkMasterSwordSheathDL "__OTR__objects/object_link_eq/gLinkMasterSwordSheathDL"
|
||||
static const ALIGN_ASSET(2) char gLinkMasterSwordSheathDL[] = dgLinkMasterSwordSheathDL;
|
||||
|
||||
#define dgLinkMasterSwordInSheathDL "__OTR__objects/object_link_eq/gLinkMasterSwordInSheathDL"
|
||||
static const ALIGN_ASSET(2) char gLinkMasterSwordInSheathDL[] = dgLinkMasterSwordInSheathDL;
|
||||
|
||||
#define dgLinkLongswordDL "__OTR__objects/object_link_eq/gLinkLongswordDL"
|
||||
static const ALIGN_ASSET(2) char gLinkLongswordDL[] = dgLinkLongswordDL;
|
||||
|
||||
#define dgLinkBrokenLongswordDL "__OTR__objects/object_link_eq/gLinkBrokenLongswordDL"
|
||||
static const ALIGN_ASSET(2) char gLinkBrokenLongswordDL[] = dgLinkBrokenLongswordDL;
|
||||
|
||||
#define dgLinkLongswordSheathDL "__OTR__objects/object_link_eq/gLinkLongswordSheathDL"
|
||||
static const ALIGN_ASSET(2) char gLinkLongswordSheathDL[] = dgLinkLongswordSheathDL;
|
||||
|
||||
#define dgLinkLongswordInSheathDL "__OTR__objects/object_link_eq/gLinkLongswordInSheathDL"
|
||||
static const ALIGN_ASSET(2) char gLinkLongswordInSheathDL[] = dgLinkLongswordInSheathDL;
|
||||
|
||||
#define dgLinkDekuShieldDL "__OTR__objects/object_link_eq/gLinkDekuShieldDL"
|
||||
static const ALIGN_ASSET(2) char gLinkDekuShieldDL[] = dgLinkDekuShieldDL;
|
||||
|
||||
#define dgLinkDekuShieldOnBackDL "__OTR__objects/object_link_eq/gLinkDekuShieldOnBackDL"
|
||||
static const ALIGN_ASSET(2) char gLinkDekuShieldOnBackDL[] = dgLinkDekuShieldOnBackDL;
|
||||
|
||||
#define dgLinkHylianShieldDL "__OTR__objects/object_link_eq/gLinkHylianShieldDL"
|
||||
static const ALIGN_ASSET(2) char gLinkHylianShieldDL[] = dgLinkHylianShieldDL;
|
||||
|
||||
#define dgLinkHylianShieldOnBackDL "__OTR__objects/object_link_eq/gLinkHylianShieldOnBackDL"
|
||||
static const ALIGN_ASSET(2) char gLinkHylianShieldOnBackDL[] = dgLinkHylianShieldOnBackDL;
|
||||
|
||||
#define dgLinkHylianShieldOnChildBackDL "__OTR__objects/object_link_eq/gLinkHylianShieldOnChildBackDL"
|
||||
static const ALIGN_ASSET(2) char gLinkHylianShieldOnChildBackDL[] = dgLinkHylianShieldOnChildBackDL;
|
||||
|
||||
#define dgLinkMirrorShieldDL "__OTR__objects/object_link_eq/gLinkMirrorShieldDL"
|
||||
static const ALIGN_ASSET(2) char gLinkMirrorShieldDL[] = dgLinkMirrorShieldDL;
|
||||
|
||||
#define dgLinkMirrorShieldOnBackDL "__OTR__objects/object_link_eq/gLinkMirrorShieldOnBackDL"
|
||||
static const ALIGN_ASSET(2) char gLinkMirrorShieldOnBackDL[] = dgLinkMirrorShieldOnBackDL;
|
||||
|
||||
// Bottle
|
||||
#define dgLinkBottleDL "__OTR__objects/object_link_eq/gLinkBottleDL"
|
||||
static const ALIGN_ASSET(2) char gLinkBottleDL[] = dgLinkBottleDL;
|
||||
|
||||
#define dgLinkBottleContentsDL "__OTR__objects/object_link_eq/gLinkBottleContentsDL"
|
||||
static const ALIGN_ASSET(2) char gLinkBottleContentsDL[] = dgLinkBottleContentsDL;
|
||||
|
||||
|
||||
#endif // OBJECTS_OBJECT_CUSTOM_H
|
@ -25,6 +25,7 @@
|
||||
#include "src/overlays/actors/ovl_En_Xc/z_en_xc.h"
|
||||
#include "objects/object_link_boy/object_link_boy.h"
|
||||
#include "objects/object_link_child/object_link_child.h"
|
||||
#include "objects/object_custom/object_custom.h"
|
||||
|
||||
extern "C" {
|
||||
#include <z64.h>
|
||||
@ -35,7 +36,9 @@ extern "C" {
|
||||
#include "functions.h"
|
||||
void ResourceMgr_PatchGfxByName(const char* path, const char* patchName, int index, Gfx instruction);
|
||||
void ResourceMgr_UnpatchGfxByName(const char* path, const char* patchName);
|
||||
|
||||
uint8_t ResourceMgr_FileAltExists(const char* resName);
|
||||
uint8_t ResourceGetIsCustomByName(const char* name);
|
||||
uint8_t Player_IsCustomLinkModel();
|
||||
extern SaveContext gSaveContext;
|
||||
extern PlayState* gPlayState;
|
||||
extern void Overlay_DisplayText(float duration, const char* text);
|
||||
@ -690,7 +693,7 @@ void RegisterMirrorModeHandler() {
|
||||
}
|
||||
|
||||
void UpdatePatchHand() {
|
||||
if ((CVarGetInteger("gEnhancements.EquimentAlwaysVisible", 0)) && LINK_IS_CHILD) {
|
||||
/*if ((CVarGetInteger("gEnhancements.EquimentAlwaysVisible", 0)) && LINK_IS_CHILD && (!Player_IsCustomLinkModel())) {
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultLeftHandHoldingHammerNearDL, "childHammer1", 92, gsSPDisplayListOTRFilePath(gLinkChildLeftFistNearDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultLeftHandHoldingHammerNearDL, "childHammer2", 93, gsSPEndDisplayList());
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultRightHandHoldingHookshotNearDL, "childHookshot1", 84, gsSPDisplayListOTRFilePath(gLinkChildRightHandClosedNearDL));
|
||||
@ -728,7 +731,7 @@ void UpdatePatchHand() {
|
||||
ResourceMgr_UnpatchGfxByName(gLinkChildRightHandHoldingSlingshotNearDL, "adultSlingshot");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkChildLeftFistAndBoomerangNearDL, "adultBoomerang");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkChildRightFistAndDekuShieldNearDL, "adultDekuShield");
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
void RegisterPatchHandHandler() {
|
||||
@ -737,6 +740,195 @@ void RegisterPatchHandHandler() {
|
||||
});
|
||||
}
|
||||
|
||||
void UpdatePatchCustomDlists() {
|
||||
if (CVarGetInteger("gEnhancements.CustomDlists", 0)) {
|
||||
if (ResourceGetIsCustomByName(gLinkMasterSwordDL)) {
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultLeftHandHoldingMasterSwordNearDL, "customDlist1", 0, gsSPDisplayListOTRFilePath(gLinkMasterSwordDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultLeftHandHoldingMasterSwordNearDL, "customDlist2", 1, gsSPDisplayListOTRFilePath(gLinkAdultLeftHandClosedNearDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultLeftHandHoldingMasterSwordNearDL, "customDlist3", 2, gsSPEndDisplayList());
|
||||
} else {
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultLeftHandHoldingMasterSwordNearDL, "customDlist1");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultLeftHandHoldingMasterSwordNearDL, "customDlist2");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultLeftHandHoldingMasterSwordNearDL, "customDlist3");
|
||||
}
|
||||
if (ResourceGetIsCustomByName(gLinkHylianShieldDL)) {
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultRightHandHoldingHylianShieldNearDL, "customDlist4", 0, gsSPDisplayListOTRFilePath(gLinkHylianShieldDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultRightHandHoldingHylianShieldNearDL, "customDlist5", 1, gsSPDisplayListOTRFilePath(gLinkAdultRightHandClosedNearDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultRightHandHoldingHylianShieldNearDL, "customDlist6", 2, gsSPEndDisplayList());
|
||||
} else {
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultRightHandHoldingHylianShieldNearDL, "customDlist4");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultRightHandHoldingHylianShieldNearDL, "customDlist5");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultRightHandHoldingHylianShieldNearDL, "customDlist6");
|
||||
}
|
||||
if (ResourceGetIsCustomByName(gLinkMasterSwordSheathDL)) {
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultSheathNearDL, "customDlist7", 0, gsSPDisplayListOTRFilePath(gLinkMasterSwordSheathDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultSheathNearDL, "customDlist8", 1, gsSPEndDisplayList());
|
||||
} else {
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultSheathNearDL, "customDlist7");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultSheathNearDL, "customDlist8");
|
||||
}
|
||||
if (ResourceGetIsCustomByName(gLinkHylianShieldOnBackDL) && ResourceGetIsCustomByName(gLinkMasterSwordInSheathDL)) {
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultHylianShieldSwordAndSheathNearDL, "customDlist9", 0, gsSPDisplayListOTRFilePath(gLinkHylianShieldOnBackDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultHylianShieldSwordAndSheathNearDL, "customDlist10", 1, gsSPDisplayListOTRFilePath(gLinkMasterSwordInSheathDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultHylianShieldSwordAndSheathNearDL, "customDlist11", 2, gsSPEndDisplayList());
|
||||
} else {
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultHylianShieldSwordAndSheathNearDL, "customDlist9");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultHylianShieldSwordAndSheathNearDL, "customDlist10");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultHylianShieldSwordAndSheathNearDL, "customDlist11");
|
||||
}
|
||||
if (ResourceGetIsCustomByName(gLinkMasterSwordInSheathDL)) {
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultMasterSwordAndSheathNearDL, "customDlist12", 0, gsSPDisplayListOTRFilePath(gLinkMasterSwordInSheathDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultMasterSwordAndSheathNearDL, "customDlist13", 1, gsSPEndDisplayList());
|
||||
} else {
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultMasterSwordAndSheathNearDL, "customDlist12");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultMasterSwordAndSheathNearDL, "customDlist13");
|
||||
}
|
||||
if (ResourceGetIsCustomByName(gLinkHylianShieldOnBackDL) && ResourceGetIsCustomByName(gLinkMasterSwordSheathDL)) {
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultHylianShieldAndSheathNearDL, "customDlist14", 0, gsSPDisplayListOTRFilePath(gLinkMasterSwordSheathDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultHylianShieldAndSheathNearDL, "customDlist15", 1, gsSPDisplayListOTRFilePath(gLinkHylianShieldOnBackDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultHylianShieldAndSheathNearDL, "customDlist16", 2, gsSPEndDisplayList());
|
||||
} else {
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultHylianShieldAndSheathNearDL, "customDlist14");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultHylianShieldAndSheathNearDL, "customDlist15");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultHylianShieldAndSheathNearDL, "customDlist16");
|
||||
}
|
||||
if (ResourceGetIsCustomByName(gLinkMirrorShieldDL)) {
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultRightHandHoldingMirrorShieldNearDL, "customDlist20", 0, gsSPDisplayListOTRFilePath(gLinkMirrorShieldDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultRightHandHoldingMirrorShieldNearDL, "customDlist21", 1, gsSPDisplayListOTRFilePath(gLinkAdultRightHandClosedNearDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultRightHandHoldingMirrorShieldNearDL, "customDlist22", 2, gsSPEndDisplayList());
|
||||
} else {
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultRightHandHoldingMirrorShieldNearDL, "customDlist20");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultRightHandHoldingMirrorShieldNearDL, "customDlist21");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultRightHandHoldingMirrorShieldNearDL, "customDlist22");
|
||||
}
|
||||
if (ResourceGetIsCustomByName(gLinkMirrorShieldOnBackDL) && ResourceGetIsCustomByName(gLinkMasterSwordInSheathDL)) {
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultMirrorShieldSwordAndSheathNearDL, "customDlist23", 0, gsSPDisplayListOTRFilePath(gLinkMirrorShieldOnBackDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultMirrorShieldSwordAndSheathNearDL, "customDlist24", 1, gsSPDisplayListOTRFilePath(gLinkMasterSwordInSheathDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultMirrorShieldSwordAndSheathNearDL, "customDlist25", 2, gsSPEndDisplayList());
|
||||
} else {
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultMirrorShieldSwordAndSheathNearDL, "customDlist23");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultMirrorShieldSwordAndSheathNearDL, "customDlist24");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultMirrorShieldSwordAndSheathNearDL, "customDlist25");
|
||||
}
|
||||
if (ResourceGetIsCustomByName(gLinkLongswordDL)) {
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultLeftHandHoldingBgsNearDL, "customDlist17", 0, gsSPDisplayListOTRFilePath(gLinkLongswordDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultLeftHandHoldingBgsNearDL, "customDlist18", 1, gsSPDisplayListOTRFilePath(gLinkAdultLeftHandClosedNearDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultLeftHandHoldingBgsNearDL, "customDlist19", 2, gsSPEndDisplayList());
|
||||
} else {
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultLeftHandHoldingBgsNearDL, "customDlist17");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultLeftHandHoldingBgsNearDL, "customDlist18");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultLeftHandHoldingBgsNearDL, "customDlist19");
|
||||
}
|
||||
if (ResourceGetIsCustomByName(gLinkKokiriSwordDL)) {
|
||||
ResourceMgr_PatchGfxByName(gLinkChildLeftFistAndKokiriSwordNearDL, "customDlist41", 0, gsSPDisplayListOTRFilePath(gLinkKokiriSwordDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkChildLeftFistAndKokiriSwordNearDL, "customDlist42", 1, gsSPDisplayListOTRFilePath(gLinkChildLeftFistNearDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkChildLeftFistAndKokiriSwordNearDL, "customDlist43", 2, gsSPEndDisplayList());
|
||||
} else {
|
||||
ResourceMgr_UnpatchGfxByName(gLinkChildLeftFistAndKokiriSwordNearDL, "customDlist41");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkChildLeftFistAndKokiriSwordNearDL, "customDlist42");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkChildLeftFistAndKokiriSwordNearDL, "customDlist43");
|
||||
}
|
||||
if (ResourceGetIsCustomByName(gLinkDekuShieldDL)) {
|
||||
ResourceMgr_PatchGfxByName(gLinkChildRightFistAndDekuShieldNearDL, "customDlist44", 0, gsSPDisplayListOTRFilePath(gLinkDekuShieldDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkChildRightFistAndDekuShieldNearDL, "customDlist45", 1, gsSPDisplayListOTRFilePath(gLinkChildRightHandClosedNearDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkChildRightFistAndDekuShieldNearDL, "customDlist46", 2, gsSPEndDisplayList());
|
||||
} else {
|
||||
ResourceMgr_UnpatchGfxByName(gLinkChildRightFistAndDekuShieldNearDL, "customDlist44");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkChildRightFistAndDekuShieldNearDL, "customDlist45");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkChildRightFistAndDekuShieldNearDL, "customDlist46");
|
||||
}
|
||||
if (ResourceGetIsCustomByName(gLinkKokiriSwordSheathDL)) {
|
||||
ResourceMgr_PatchGfxByName(gLinkChildSheathNearDL, "customDlist47", 0, gsSPDisplayListOTRFilePath(gLinkKokiriSwordSheathDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkChildSheathNearDL, "customDlist48", 1, gsSPEndDisplayList());
|
||||
} else {
|
||||
ResourceMgr_UnpatchGfxByName(gLinkChildSheathNearDL, "customDlist47");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkChildSheathNearDL, "customDlist48");
|
||||
}
|
||||
if (ResourceGetIsCustomByName(gLinkKokiriSwordInSheathDL)) {
|
||||
ResourceMgr_PatchGfxByName(gLinkChildSwordAndSheathNearDL, "customDlist55", 0, gsSPDisplayListOTRFilePath(gLinkKokiriSwordInSheathDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkChildSwordAndSheathNearDL, "customDlist56", 1, gsSPEndDisplayList());
|
||||
} else {
|
||||
ResourceMgr_UnpatchGfxByName(gLinkChildSwordAndSheathNearDL, "customDlist55");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkChildSwordAndSheathNearDL, "customDlist56");
|
||||
}
|
||||
if (ResourceGetIsCustomByName(gLinkKokiriSwordInSheathDL) && ResourceGetIsCustomByName(gLinkDekuShieldOnBackDL)) {
|
||||
ResourceMgr_PatchGfxByName(gLinkChildDekuShieldSwordAndSheathNearDL, "customDlist49", 0, gsSPDisplayListOTRFilePath(gLinkDekuShieldOnBackDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkChildDekuShieldSwordAndSheathNearDL, "customDlist50", 1, gsSPDisplayListOTRFilePath(gLinkKokiriSwordInSheathDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkChildDekuShieldSwordAndSheathNearDL, "customDlist51", 2, gsSPEndDisplayList());
|
||||
} else {
|
||||
ResourceMgr_UnpatchGfxByName(gLinkChildDekuShieldSwordAndSheathNearDL, "customDlist49");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkChildDekuShieldSwordAndSheathNearDL, "customDlist50");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkChildDekuShieldSwordAndSheathNearDL, "customDlist51");
|
||||
}
|
||||
if (ResourceGetIsCustomByName(gLinkDekuShieldOnBackDL) && ResourceGetIsCustomByName(gLinkKokiriSwordSheathDL)) {
|
||||
ResourceMgr_PatchGfxByName(gLinkChildDekuShieldAndSheathNearDL, "customDlist52", 0, gsSPDisplayListOTRFilePath(gLinkKokiriSwordSheathDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkChildDekuShieldAndSheathNearDL, "customDlist53", 1, gsSPDisplayListOTRFilePath(gLinkDekuShieldOnBackDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkChildDekuShieldAndSheathNearDL, "customDlist54", 2, gsSPEndDisplayList());
|
||||
} else {
|
||||
ResourceMgr_UnpatchGfxByName(gLinkChildDekuShieldAndSheathNearDL, "customDlist52");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkChildDekuShieldAndSheathNearDL, "customDlist53");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkChildDekuShieldAndSheathNearDL, "customDlist54");
|
||||
}
|
||||
if (gSaveContext.equips.buttonItems[0] == ITEM_SWORD_BGS) {
|
||||
if (ResourceGetIsCustomByName(gLinkLongswordSheathDL)) {
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultSheathNearDL, "customDlist7", 0, gsSPDisplayListOTRFilePath(gLinkLongswordSheathDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultSheathNearDL, "customDlist8", 1, gsSPEndDisplayList());
|
||||
} else {
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultSheathNearDL, "customDlist7");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultSheathNearDL, "customDlist8");
|
||||
}
|
||||
if (ResourceGetIsCustomByName(gLinkLongswordInSheathDL) && ResourceGetIsCustomByName(gLinkHylianShieldOnBackDL)) {
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultHylianShieldSwordAndSheathNearDL, "customDlist9", 0, gsSPDisplayListOTRFilePath(gLinkHylianShieldOnBackDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultHylianShieldSwordAndSheathNearDL, "customDlist10", 1, gsSPDisplayListOTRFilePath(gLinkLongswordInSheathDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultHylianShieldSwordAndSheathNearDL, "customDlist11", 2, gsSPEndDisplayList());
|
||||
} else {
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultHylianShieldSwordAndSheathNearDL, "customDlist9");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultHylianShieldSwordAndSheathNearDL, "customDlist10");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultHylianShieldSwordAndSheathNearDL, "customDlist11");
|
||||
}
|
||||
if (ResourceGetIsCustomByName(gLinkLongswordInSheathDL)) {
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultMasterSwordAndSheathNearDL, "customDlist12", 0, gsSPDisplayListOTRFilePath(gLinkLongswordInSheathDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultMasterSwordAndSheathNearDL, "customDlist13", 1, gsSPEndDisplayList());
|
||||
} else {
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultMasterSwordAndSheathNearDL, "customDlist12");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultMasterSwordAndSheathNearDL, "customDlist13");
|
||||
}
|
||||
if (ResourceGetIsCustomByName(gLinkLongswordSheathDL) && ResourceGetIsCustomByName(gLinkHylianShieldOnBackDL)) {
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultHylianShieldAndSheathNearDL, "customDlist14", 0, gsSPDisplayListOTRFilePath(gLinkLongswordSheathDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultHylianShieldAndSheathNearDL, "customDlist15", 1, gsSPDisplayListOTRFilePath(gLinkHylianShieldOnBackDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultHylianShieldAndSheathNearDL, "customDlist16", 2, gsSPEndDisplayList());
|
||||
} else {
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultHylianShieldAndSheathNearDL, "customDlist14");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultHylianShieldAndSheathNearDL, "customDlist15");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultHylianShieldAndSheathNearDL, "customDlist16");
|
||||
}
|
||||
if (ResourceGetIsCustomByName(gLinkLongswordInSheathDL) && ResourceGetIsCustomByName(gLinkMirrorShieldOnBackDL)) {
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultMirrorShieldSwordAndSheathNearDL, "customDlist33", 0, gsSPDisplayListOTRFilePath(gLinkMirrorShieldOnBackDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultMirrorShieldSwordAndSheathNearDL, "customDlist34", 1, gsSPDisplayListOTRFilePath(gLinkLongswordInSheathDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultMirrorShieldSwordAndSheathNearDL, "customDlist35", 2, gsSPEndDisplayList());
|
||||
} else {
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultMirrorShieldSwordAndSheathNearDL, "customDlist33");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultMirrorShieldSwordAndSheathNearDL, "customDlist34");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultMirrorShieldSwordAndSheathNearDL, "customDlist35");
|
||||
}
|
||||
if (ResourceGetIsCustomByName(gLinkLongswordSheathDL) && ResourceGetIsCustomByName(gLinkMirrorShieldOnBackDL)) {
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultMirrorShieldAndSheathNearDL, "customDlist38", 0, gsSPDisplayListOTRFilePath(gLinkLongswordSheathDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultMirrorShieldAndSheathNearDL, "customDlist39", 1, gsSPDisplayListOTRFilePath(gLinkMirrorShieldOnBackDL));
|
||||
ResourceMgr_PatchGfxByName(gLinkAdultMirrorShieldAndSheathNearDL, "customDlist40", 2, gsSPEndDisplayList());
|
||||
} else {
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultMirrorShieldAndSheathNearDL, "customDlist38");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultMirrorShieldAndSheathNearDL, "customDlist39");
|
||||
ResourceMgr_UnpatchGfxByName(gLinkAdultMirrorShieldAndSheathNearDL, "customDlist40");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void RegisterPatchCustomDlistsHandler() {
|
||||
GameInteractor::Instance->RegisterGameHook<GameInteractor::OnGameFrameUpdate>([]() {
|
||||
UpdatePatchCustomDlists(); });
|
||||
}
|
||||
|
||||
void RegisterResetNaviTimer() {
|
||||
GameInteractor::Instance->RegisterGameHook<GameInteractor::OnSceneInit>([](int32_t sceneNum) {
|
||||
if (CVarGetInteger("gEnhancements.ResetNaviTimer", 0)) {
|
||||
@ -1340,4 +1532,5 @@ void InitMods() {
|
||||
NameTag_RegisterHooks();
|
||||
RegisterPatchHandHandler();
|
||||
RegisterHurtContainerModeHandler();
|
||||
RegisterPatchCustomDlistsHandler();
|
||||
}
|
||||
|
@ -14,6 +14,7 @@ void PatchToTMedallions();
|
||||
void UpdatePermanentHeartLossState();
|
||||
void InitMods();
|
||||
void UpdatePatchHand();
|
||||
void UpdatePatchCustomDlists();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@ -1114,6 +1114,9 @@ void DrawEnhancementsMenu() {
|
||||
UIWidgets::PaddedEnhancementCheckbox("Scale Adult Equipment as Child", "gEnhancements.ScaleAdultEquimentAsChild", true, false);
|
||||
UIWidgets::Tooltip("Scales all of the Adult Equipment, as well and moving some a bit, to fit on Child Link Better. May not work properly with some mods.");
|
||||
}
|
||||
if (UIWidgets::PaddedEnhancementCheckbox("Show Custom Equipment", "gEnhancements.CustomDlists", true, false)) {
|
||||
UpdatePatchCustomDlists();
|
||||
}
|
||||
UIWidgets::PaddedEnhancementCheckbox("N64 Mode", "gLowResMode", true, false);
|
||||
UIWidgets::Tooltip("Sets aspect ratio to 4:3 and lowers resolution to 240p, the N64's native resolution");
|
||||
UIWidgets::PaddedEnhancementCheckbox("Glitch line-up tick", "gDrawLineupTick", true, false);
|
||||
|
Loading…
x
Reference in New Issue
Block a user