Renamed things to be more clear

Also moved checkbox to under Alt Assets
This commit is contained in:
Patrick12115 2024-02-12 22:17:46 -05:00
parent 1b25d1a7eb
commit ba64556389
4 changed files with 172 additions and 182 deletions

View File

@ -1,107 +0,0 @@
#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;
// New Equipment System FPS Hand Basemodels
#define dgLinkAdultFPSHandDL "__OTR__objects/object_link_boy/gLinkAdultFPSHandDL"
static const ALIGN_ASSET(2) char gLinkAdultFPSHandDL[] = dgLinkAdultFPSHandDL;
#define dgLinkChildFPSHandDL "__OTR__objects/object_link_child/gLinkChildFPSHandDL"
static const ALIGN_ASSET(2) char gLinkChildFPSHandDL[] = dgLinkChildFPSHandDL;
#endif // OBJECTS_OBJECT_CUSTOM_H

View File

@ -0,0 +1,94 @@
#ifndef OBJECTS_OBJECT_CUSTOM_EQUIP_H
#define OBJECTS_OBJECT_CUSTOM_EQUIP 1
#include "align_asset_macro.h"
// Custom Equipment Display Lists
#define dgCustomBowDL "__OTR__objects/object_Custom_eq/gCustomBowDL"
static const ALIGN_ASSET(2) char gCustomBowDL[] = dgCustomBowDL;
#define dgCustomHammerDL "__OTR__objects/object_Custom_eq/gCustomHammerDL"
static const ALIGN_ASSET(2) char gCustomHammerDL[] = dgCustomHammerDL;
#define dgCustomHookshotDL "__OTR__objects/object_Custom_eq/gCustomHookshotDL"
static const ALIGN_ASSET(2) char gCustomHookshotDL[] = dgCustomHookshotDL;
#define dgCustomHookshotTipDL "__OTR__objects/object_Custom_eq/gCustomHookshotTipDL"
static const ALIGN_ASSET(2) char gCustomHookshotTipDL[] = dgCustomHookshotTipDL;
#define dgCustomHookshotChainDL "__OTR__objects/object_Custom_eq/gCustomHookshotChainDL"
static const ALIGN_ASSET(2) char gCustomHookshotChainDL[] = dgCustomHookshotChainDL;
#define dgCustomSlingshotDL "__OTR__objects/object_Custom_eq/gCustomSlingshotDL"
static const ALIGN_ASSET(2) char gCustomSlingshotDL[] = dgCustomSlingshotDL;
#define dgCustomFairyOcarinaDL "__OTR__objects/object_Custom_eq/gCustomFairyOcarinaDL"
static const ALIGN_ASSET(2) char gCustomFairyOcarinaDL[] = dgCustomFairyOcarinaDL;
#define dgCustomOcarinaOfTimeDL "__OTR__objects/object_Custom_eq/gCustomOcarinaOfTimeDL"
static const ALIGN_ASSET(2) char gCustomOcarinaOfTimeDL[] = dgCustomOcarinaOfTimeDL;
#define dgCustomBoomerangDL "__OTR__objects/object_Custom_eq/gCustomBoomerangDL"
static const ALIGN_ASSET(2) char gCustomBoomerangDL[] = dgCustomBoomerangDL;
#define dgCustomKokiriSwordDL "__OTR__objects/object_Custom_eq/gCustomKokiriSwordDL"
static const ALIGN_ASSET(2) char gCustomKokiriSwordDL[] = dgCustomKokiriSwordDL;
#define dgCustomKokiriSwordSheathDL "__OTR__objects/object_Custom_eq/gCustomKokiriSwordSheathDL"
static const ALIGN_ASSET(2) char gCustomKokiriSwordSheathDL[] = dgCustomKokiriSwordSheathDL;
#define dgCustomKokiriSwordInSheathDL "__OTR__objects/object_Custom_eq/gCustomKokiriSwordInSheathDL"
static const ALIGN_ASSET(2) char gCustomKokiriSwordInSheathDL[] = dgCustomKokiriSwordInSheathDL;
#define dgCustomMasterSwordDL "__OTR__objects/object_Custom_eq/gCustomMasterSwordDL"
static const ALIGN_ASSET(2) char gCustomMasterSwordDL[] = dgCustomMasterSwordDL;
#define dgCustomMasterSwordSheathDL "__OTR__objects/object_Custom_eq/gCustomMasterSwordSheathDL"
static const ALIGN_ASSET(2) char gCustomMasterSwordSheathDL[] = dgCustomMasterSwordSheathDL;
#define dgCustomMasterSwordInSheathDL "__OTR__objects/object_Custom_eq/gCustomMasterSwordInSheathDL"
static const ALIGN_ASSET(2) char gCustomMasterSwordInSheathDL[] = dgCustomMasterSwordInSheathDL;
#define dgCustomLongswordDL "__OTR__objects/object_Custom_eq/gCustomLongswordDL"
static const ALIGN_ASSET(2) char gCustomLongswordDL[] = dgCustomLongswordDL;
#define dgCustomBrokenLongswordDL "__OTR__objects/object_Custom_eq/gCustomBrokenLongswordDL"
static const ALIGN_ASSET(2) char gCustomBrokenLongswordDL[] = dgCustomBrokenLongswordDL;
#define dgCustomLongswordSheathDL "__OTR__objects/object_Custom_eq/gCustomLongswordSheathDL"
static const ALIGN_ASSET(2) char gCustomLongswordSheathDL[] = dgCustomLongswordSheathDL;
#define dgCustomLongswordInSheathDL "__OTR__objects/object_Custom_eq/gCustomLongswordInSheathDL"
static const ALIGN_ASSET(2) char gCustomLongswordInSheathDL[] = dgCustomLongswordInSheathDL;
#define dgCustomDekuShieldDL "__OTR__objects/object_Custom_eq/gCustomDekuShieldDL"
static const ALIGN_ASSET(2) char gCustomDekuShieldDL[] = dgCustomDekuShieldDL;
#define dgCustomDekuShieldOnBackDL "__OTR__objects/object_Custom_eq/gCustomDekuShieldOnBackDL"
static const ALIGN_ASSET(2) char gCustomDekuShieldOnBackDL[] = dgCustomDekuShieldOnBackDL;
#define dgCustomHylianShieldDL "__OTR__objects/object_Custom_eq/gCustomHylianShieldDL"
static const ALIGN_ASSET(2) char gCustomHylianShieldDL[] = dgCustomHylianShieldDL;
#define dgCustomHylianShieldOnBackDL "__OTR__objects/object_Custom_eq/gCustomHylianShieldOnBackDL"
static const ALIGN_ASSET(2) char gCustomHylianShieldOnBackDL[] = dgCustomHylianShieldOnBackDL;
#define dgCustomHylianShieldOnChildBackDL "__OTR__objects/object_Custom_eq/gCustomHylianShieldOnChildBackDL"
static const ALIGN_ASSET(2) char gCustomHylianShieldOnChildBackDL[] = dgCustomHylianShieldOnChildBackDL;
#define dgCustomMirrorShieldDL "__OTR__objects/object_Custom_eq/gCustomMirrorShieldDL"
static const ALIGN_ASSET(2) char gCustomMirrorShieldDL[] = dgCustomMirrorShieldDL;
#define dgCustomMirrorShieldOnBackDL "__OTR__objects/object_Custom_eq/gCustomMirrorShieldOnBackDL"
static const ALIGN_ASSET(2) char gCustomMirrorShieldOnBackDL[] = dgCustomMirrorShieldOnBackDL;
// Custom First Person Hand Display Lists
#define dgCustomAdultFPSHandDL "__OTR__objects/object_Custom_boy/gCustomAdultFPSHandDL"
static const ALIGN_ASSET(2) char gCustomAdultFPSHandDL[] = dgCustomAdultFPSHandDL;
#define dgCustomChildFPSHandDL "__OTR__objects/object_Custom_child/gCustomChildFPSHandDL"
static const ALIGN_ASSET(2) char gCustomChildFPSHandDL[] = dgCustomChildFPSHandDL;
#endif // OBJECTS_OBJECT_CUSTOM_EQUIP_H

View File

@ -25,7 +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"
#include "objects/object_custom/object_custom_equip.h"
extern "C" {
#include <z64.h>
@ -695,6 +695,17 @@ void RegisterMirrorModeHandler() {
void UpdatePatchHand() {
if ((CVarGetInteger("gEnhancements.EquimentAlwaysVisible", 0)) && LINK_IS_CHILD) {
if ((CVarGetInteger("gEnhancements.EquimentAlwaysVisible", 0)) && LINK_IS_CHILD && Player_IsCustomLinkModel) {
ResourceMgr_PatchCustomGfxByName(gLinkAdultLeftHandClosedNearDL, "customChildHand1", 0, gsSPDisplayListOTRFilePath(gLinkChildLeftFistNearDL));
ResourceMgr_PatchCustomGfxByName(gLinkAdultLeftHandClosedNearDL, "customChildHand2", 1, gsSPEndDisplayList());
ResourceMgr_PatchCustomGfxByName(gLinkAdultRightHandClosedNearDL, "customChildHand3", 0, gsSPDisplayListOTRFilePath(gLinkChildRightHandClosedNearDL));
ResourceMgr_PatchCustomGfxByName(gLinkAdultRightHandClosedNearDL, "customChildHand4", 1, gsSPEndDisplayList());
} else {
ResourceMgr_UnpatchGfxByName(gLinkAdultLeftHandClosedNearDL, "customChildHand1");
ResourceMgr_UnpatchGfxByName(gLinkAdultLeftHandClosedNearDL, "customChildHand2");
ResourceMgr_UnpatchGfxByName(gLinkAdultRightHandClosedNearDL, "customChildHand3");
ResourceMgr_UnpatchGfxByName(gLinkAdultRightHandClosedNearDL, "customChildHand4");
}
ResourceMgr_PatchGfxByName(gLinkAdultLeftHandHoldingHammerNearDL, "childHammer1", 92, gsSPDisplayListOTRFilePath(gLinkChildLeftFistNearDL));
ResourceMgr_PatchGfxByName(gLinkAdultLeftHandHoldingHammerNearDL, "childHammer2", 93, gsSPEndDisplayList());
ResourceMgr_PatchGfxByName(gLinkAdultRightHandHoldingHookshotNearDL, "childHookshot1", 84, gsSPDisplayListOTRFilePath(gLinkChildRightHandClosedNearDL));
@ -744,17 +755,7 @@ void UpdatePatchHand() {
ResourceMgr_UnpatchGfxByName(gLinkChildRightHandClosedNearDL, "customAdultHand3");
ResourceMgr_UnpatchGfxByName(gLinkChildRightHandClosedNearDL, "customAdultHand4");
}
if ((CVarGetInteger("gEnhancements.EquimentAlwaysVisible", 0)) && LINK_IS_CHILD && Player_IsCustomLinkModel) {
ResourceMgr_PatchCustomGfxByName(gLinkAdultLeftHandClosedNearDL, "customChildHand1", 0, gsSPDisplayListOTRFilePath(gLinkChildLeftFistNearDL));
ResourceMgr_PatchCustomGfxByName(gLinkAdultLeftHandClosedNearDL, "customChildHand2", 1, gsSPEndDisplayList());
ResourceMgr_PatchCustomGfxByName(gLinkAdultRightHandClosedNearDL, "customChildHand3", 0, gsSPDisplayListOTRFilePath(gLinkChildRightHandClosedNearDL));
ResourceMgr_PatchCustomGfxByName(gLinkAdultRightHandClosedNearDL, "customChildHand4", 1, gsSPEndDisplayList());
} else {
ResourceMgr_UnpatchGfxByName(gLinkAdultLeftHandClosedNearDL, "customChildHand1");
ResourceMgr_UnpatchGfxByName(gLinkAdultLeftHandClosedNearDL, "customChildHand2");
ResourceMgr_UnpatchGfxByName(gLinkAdultRightHandClosedNearDL, "customChildHand3");
ResourceMgr_UnpatchGfxByName(gLinkAdultRightHandClosedNearDL, "customChildHand4");
}
}
void RegisterPatchHandHandler() {
@ -767,7 +768,7 @@ void PatchOrUnpatch(const char* resource, const char* gfx, const char* dlist1, c
if (resource == NULL || gfx == NULL || dlist1 == NULL || dlist2 == NULL)
return;
if (ResourceGetIsCustomByName(gfx) && CVarGetInteger("gEnhancements.CustomDlists", 0)) {
if (ResourceGetIsCustomByName(gfx) && CVarGetInteger("gEnhancements.CustomEquipDlists", 0)) {
if (alternateDL == NULL || ResourceGetIsCustomByName(alternateDL)) {
ResourceMgr_PatchCustomGfxByName(resource, dlist1, 0, gsSPDisplayListOTRFilePath(gfx));
if (dlist3 == NULL) {
@ -789,81 +790,82 @@ void PatchOrUnpatch(const char* resource, const char* gfx, const char* dlist1, c
void UpdatePatchCustomEquipmentDlists() {
if (gSaveContext.equips.buttonItems[0] == ITEM_SWORD_KOKIRI) {
PatchOrUnpatch(gLinkChildSheathNearDL, gLinkKokiriSwordSheathDL, "customKokiriSheath1", "customKokiriSheath2", NULL, NULL);
PatchOrUnpatch(gLinkChildSwordAndSheathNearDL, gLinkKokiriSwordInSheathDL, "customKokiriSwordSheath1", "customKokiriSwordSheath2", NULL, NULL);
PatchOrUnpatch(gLinkChildDekuShieldSwordAndSheathNearDL, gLinkKokiriSwordInSheathDL, "customDekuShieldSword1", "customDekuShieldSword2", "customDekuShieldSword3", gLinkDekuShieldOnBackDL);
PatchOrUnpatch(gLinkChildDekuShieldAndSheathNearDL, gLinkKokiriSwordSheathDL, "customDekuShieldSheath1", "customDekuShieldSheath2", "customDekuShieldSheath3", gLinkDekuShieldOnBackDL);
PatchOrUnpatch(gLinkChildHylianShieldSwordAndSheathNearDL, gLinkKokiriSwordInSheathDL, "customChildHylianShieldSword1", "customChildHylianShieldSword2", "customChildHylianShieldSword3", gLinkHylianShieldOnChildBackDL);
PatchOrUnpatch(gLinkChildHylianShieldAndSheathNearDL, gLinkKokiriSwordSheathDL, "customChildHylianShieldSheath1", "customChildHylianShieldSheath2", "customChildHylianShieldSheath3", gLinkHylianShieldOnChildBackDL);
PatchOrUnpatch(gLinkAdultSheathNearDL, gLinkKokiriSwordSheathDL, "customSheath1", "customSheath2", NULL, NULL);
PatchOrUnpatch(gLinkAdultHylianShieldSwordAndSheathNearDL, gLinkHylianShieldOnBackDL, "customHylianShieldSword1", "customHylianShieldSword2", "customHylianShieldSword3", gLinkKokiriSwordInSheathDL);
PatchOrUnpatch(gLinkAdultMasterSwordAndSheathNearDL, gLinkKokiriSwordInSheathDL, "customMasterSwordSheath1", "customMasterSwordSheath2", NULL, NULL);
PatchOrUnpatch(gLinkAdultHylianShieldAndSheathNearDL, gLinkKokiriSwordSheathDL, "customHylianShieldSheath1", "customHylianShieldSheath2", "customHylianShieldSheath3", gLinkHylianShieldOnBackDL);
PatchOrUnpatch(gLinkAdultMirrorShieldSwordAndSheathNearDL, gLinkMirrorShieldOnBackDL, "customMirrorShieldSword1", "customMirrorShieldSword2", "customMirrorShieldSword3", gLinkKokiriSwordInSheathDL);
PatchOrUnpatch(gLinkChildSheathNearDL, gCustomKokiriSwordSheathDL, "customKokiriSheath1", "customKokiriSheath2", NULL, NULL);
PatchOrUnpatch(gLinkChildSwordAndSheathNearDL, gCustomKokiriSwordInSheathDL, "customKokiriSwordSheath1", "customKokiriSwordSheath2", NULL, NULL);
PatchOrUnpatch(gLinkChildDekuShieldSwordAndSheathNearDL, gCustomKokiriSwordInSheathDL, "customDekuShieldSword1", "customDekuShieldSword2", "customDekuShieldSword3", gCustomDekuShieldOnBackDL);
PatchOrUnpatch(gLinkChildDekuShieldAndSheathNearDL, gCustomKokiriSwordSheathDL, "customDekuShieldSheath1", "customDekuShieldSheath2", "customDekuShieldSheath3", gCustomDekuShieldOnBackDL);
PatchOrUnpatch(gLinkChildHylianShieldSwordAndSheathNearDL, gCustomKokiriSwordInSheathDL, "customChildHylianShieldSword1", "customChildHylianShieldSword2", "customChildHylianShieldSword3", gCustomHylianShieldOnChildBackDL);
PatchOrUnpatch(gLinkChildHylianShieldAndSheathNearDL, gCustomKokiriSwordSheathDL, "customChildHylianShieldSheath1", "customChildHylianShieldSheath2", "customChildHylianShieldSheath3", gCustomHylianShieldOnChildBackDL);
PatchOrUnpatch(gLinkAdultSheathNearDL, gCustomKokiriSwordSheathDL, "customSheath1", "customSheath2", NULL, NULL);
PatchOrUnpatch(gLinkAdultHylianShieldSwordAndSheathNearDL, gCustomHylianShieldOnBackDL, "customHylianShieldSword1", "customHylianShieldSword2", "customHylianShieldSword3", gCustomKokiriSwordInSheathDL);
PatchOrUnpatch(gLinkAdultMasterSwordAndSheathNearDL, gCustomKokiriSwordInSheathDL, "customMasterSwordSheath1", "customMasterSwordSheath2", NULL, NULL);
PatchOrUnpatch(gLinkAdultHylianShieldAndSheathNearDL, gCustomKokiriSwordSheathDL, "customHylianShieldSheath1", "customHylianShieldSheath2", "customHylianShieldSheath3", gCustomHylianShieldOnBackDL);
PatchOrUnpatch(gLinkAdultMirrorShieldSwordAndSheathNearDL, gCustomMirrorShieldOnBackDL, "customMirrorShieldSword1", "customMirrorShieldSword2", "customMirrorShieldSword3", gCustomKokiriSwordInSheathDL);
}
if (gSaveContext.equips.buttonItems[0] == ITEM_SWORD_MASTER) {
PatchOrUnpatch(gLinkChildSheathNearDL, gLinkMasterSwordSheathDL, "customKokiriSheath1", "customKokiriSheath2", NULL, NULL);
PatchOrUnpatch(gLinkChildSwordAndSheathNearDL, gLinkMasterSwordInSheathDL, "customKokiriSwordSheath1", "customKokiriSwordSheath2", NULL, NULL);
PatchOrUnpatch(gLinkChildDekuShieldSwordAndSheathNearDL, gLinkMasterSwordInSheathDL, "customDekuShieldSword1", "customDekuShieldSword2", "customDekuShieldSword3", gLinkDekuShieldOnBackDL);
PatchOrUnpatch(gLinkChildDekuShieldWithMatrixDL, gLinkDekuShieldOnBackDL, "customDekuShieldBack1", "customDekuShieldBack2", "customDekuShieldBack2", gLinkMasterSwordInSheathDL);
PatchOrUnpatch(gLinkChildDekuShieldAndSheathNearDL, gLinkMasterSwordSheathDL, "customDekuShieldSheath1", "customDekuShieldSheath2", "customDekuShieldSheath3", gLinkDekuShieldOnBackDL);
PatchOrUnpatch(gLinkChildHylianShieldSwordAndSheathNearDL, gLinkMasterSwordInSheathDL, "customChildHylianShieldSword1", "customChildHylianShieldSword2", "customChildHylianShieldSword3", gLinkHylianShieldOnChildBackDL);
PatchOrUnpatch(gLinkChildHylianShieldAndSheathNearDL, gLinkMasterSwordSheathDL, "customChildHylianShieldSheath1", "customChildHylianShieldSheath2", "customChildHylianShieldSheath3", gLinkHylianShieldOnChildBackDL);
PatchOrUnpatch(gLinkAdultSheathNearDL, gLinkMasterSwordSheathDL, "customSheath1", "customSheath2", NULL, NULL);
PatchOrUnpatch(gLinkAdultHylianShieldSwordAndSheathNearDL, gLinkMasterSwordInSheathDL, "customHylianShieldSword1", "customHylianShieldSword2", "customHylianShieldSword3", gLinkHylianShieldOnBackDL);
PatchOrUnpatch(gLinkAdultMasterSwordAndSheathNearDL, gLinkMasterSwordInSheathDL, "customMasterSwordSheath1", "customMasterSwordSheath2", NULL, NULL);
PatchOrUnpatch(gLinkAdultHylianShieldAndSheathNearDL, gLinkMasterSwordSheathDL, "customHylianShieldSheath1", "customHylianShieldSheath2", "customHylianShieldSheath3", gLinkHylianShieldOnBackDL);
PatchOrUnpatch(gLinkAdultMirrorShieldSwordAndSheathNearDL, gLinkMirrorShieldOnBackDL, "customMirrorShieldSword1", "customMirrorShieldSword2", "customMirrorShieldSword3", gLinkMasterSwordInSheathDL);
PatchOrUnpatch(gLinkChildSheathNearDL, gCustomMasterSwordSheathDL, "customKokiriSheath1", "customKokiriSheath2", NULL, NULL);
PatchOrUnpatch(gLinkChildSwordAndSheathNearDL, gCustomMasterSwordInSheathDL, "customKokiriSwordSheath1", "customKokiriSwordSheath2", NULL, NULL);
PatchOrUnpatch(gLinkChildDekuShieldSwordAndSheathNearDL, gCustomMasterSwordInSheathDL, "customDekuShieldSword1", "customDekuShieldSword2", "customDekuShieldSword3", gCustomDekuShieldOnBackDL);
PatchOrUnpatch(gLinkChildDekuShieldWithMatrixDL, gCustomDekuShieldOnBackDL, "customDekuShieldBack1", "customDekuShieldBack2", "customDekuShieldBack2", gCustomMasterSwordInSheathDL);
PatchOrUnpatch(gLinkChildDekuShieldAndSheathNearDL, gCustomMasterSwordSheathDL, "customDekuShieldSheath1", "customDekuShieldSheath2", "customDekuShieldSheath3", gCustomDekuShieldOnBackDL);
PatchOrUnpatch(gLinkChildHylianShieldSwordAndSheathNearDL, gCustomMasterSwordInSheathDL, "customChildHylianShieldSword1", "customChildHylianShieldSword2", "customChildHylianShieldSword3", gCustomHylianShieldOnChildBackDL);
PatchOrUnpatch(gLinkChildHylianShieldAndSheathNearDL, gCustomMasterSwordSheathDL, "customChildHylianShieldSheath1", "customChildHylianShieldSheath2", "customChildHylianShieldSheath3", gCustomHylianShieldOnChildBackDL);
PatchOrUnpatch(gLinkAdultSheathNearDL, gCustomMasterSwordSheathDL, "customSheath1", "customSheath2", NULL, NULL);
PatchOrUnpatch(gLinkAdultHylianShieldSwordAndSheathNearDL, gCustomMasterSwordInSheathDL, "customHylianShieldSword1", "customHylianShieldSword2", "customHylianShieldSword3", gCustomHylianShieldOnBackDL);
PatchOrUnpatch(gLinkAdultMasterSwordAndSheathNearDL, gCustomMasterSwordInSheathDL, "customMasterSwordSheath1", "customMasterSwordSheath2", NULL, NULL);
PatchOrUnpatch(gLinkAdultHylianShieldAndSheathNearDL, gCustomMasterSwordSheathDL, "customHylianShieldSheath1", "customHylianShieldSheath2", "customHylianShieldSheath3", gCustomHylianShieldOnBackDL);
PatchOrUnpatch(gLinkAdultMirrorShieldSwordAndSheathNearDL, gCustomMirrorShieldOnBackDL, "customMirrorShieldSword1", "customMirrorShieldSword2", "customMirrorShieldSword3", gCustomMasterSwordInSheathDL);
}
if (gSaveContext.equips.buttonItems[0] == ITEM_SWORD_BGS) {
PatchOrUnpatch(gLinkChildSheathNearDL, gLinkLongswordSheathDL, "customKokiriSheath1", "customKokiriSheath2", NULL, NULL);
PatchOrUnpatch(gLinkChildSwordAndSheathNearDL, gLinkLongswordInSheathDL, "customKokiriSwordSheath1", "customKokiriSwordSheath2", NULL, NULL);
PatchOrUnpatch(gLinkChildDekuShieldSwordAndSheathNearDL, gLinkLongswordInSheathDL, "customDekuShieldSword1", "customDekuShieldSword2", "customDekuShieldSword3", gLinkDekuShieldOnBackDL);
PatchOrUnpatch(gLinkChildSheathNearDL, gCustomLongswordSheathDL, "customKokiriSheath1", "customKokiriSheath2", NULL, NULL);
PatchOrUnpatch(gLinkChildSwordAndSheathNearDL, gCustomLongswordInSheathDL, "customKokiriSwordSheath1", "customKokiriSwordSheath2", NULL, NULL);
PatchOrUnpatch(gLinkChildDekuShieldSwordAndSheathNearDL, gCustomLongswordInSheathDL, "customDekuShieldSword1", "customDekuShieldSword2", "customDekuShieldSword3", gCustomDekuShieldOnBackDL);
if (gPlayState != nullptr && GET_PLAYER(gPlayState)->sheathType == PLAYER_MODELTYPE_SHEATH_19) {
PatchOrUnpatch(gLinkChildDekuShieldWithMatrixDL, gLinkDekuShieldOnBackDL, "customDekuShieldBack1", "customDekuShieldBack2", "customDekuShieldBack2", gLinkLongswordSheathDL);
PatchOrUnpatch(gLinkChildDekuShieldWithMatrixDL, gCustomDekuShieldOnBackDL, "customDekuShieldBack1", "customDekuShieldBack2", "customDekuShieldBack2", gCustomLongswordSheathDL);
} else {
PatchOrUnpatch(gLinkChildDekuShieldWithMatrixDL, gLinkDekuShieldOnBackDL, "customDekuShieldBack1", "customDekuShieldBack2", "customDekuShieldBack2", gLinkLongswordInSheathDL);
PatchOrUnpatch(gLinkChildDekuShieldWithMatrixDL, gCustomDekuShieldOnBackDL, "customDekuShieldBack1", "customDekuShieldBack2", "customDekuShieldBack2", gCustomLongswordInSheathDL);
}
PatchOrUnpatch(gLinkChildDekuShieldAndSheathNearDL, gLinkLongswordSheathDL, "customDekuShieldSheath1", "customDekuShieldSheath2", "customDekuShieldSheath3", gLinkDekuShieldOnBackDL);
PatchOrUnpatch(gLinkChildHylianShieldSwordAndSheathNearDL, gLinkLongswordInSheathDL, "customChildHylianShieldSword1", "customChildHylianShieldSword2", "customChildHylianShieldSword3", gLinkHylianShieldOnChildBackDL);
PatchOrUnpatch(gLinkChildHylianShieldAndSheathNearDL, gLinkLongswordSheathDL, "customChildHylianShieldSheath1", "customChildHylianShieldSheath2", "customChildHylianShieldSheath3", gLinkHylianShieldOnChildBackDL);
PatchOrUnpatch(gLinkAdultSheathNearDL, gLinkLongswordSheathDL, "customSheath1", "customSheath2", NULL, NULL);
PatchOrUnpatch(gLinkAdultHylianShieldSwordAndSheathNearDL, gLinkHylianShieldOnBackDL, "customHylianShieldSword1", "customHylianShieldSword2", "customHylianShieldSword3", gLinkLongswordInSheathDL);
PatchOrUnpatch(gLinkAdultMasterSwordAndSheathNearDL, gLinkLongswordInSheathDL, "customMasterSwordSheath1", "customMasterSwordSheath2", NULL, NULL);
PatchOrUnpatch(gLinkAdultHylianShieldAndSheathNearDL, gLinkLongswordSheathDL, "customHylianShieldSheath1", "customHylianShieldSheath2", "customHylianShieldSheath3", gLinkHylianShieldOnBackDL);
PatchOrUnpatch(gLinkAdultMirrorShieldSwordAndSheathNearDL, gLinkMirrorShieldOnBackDL, "customMirrorShieldSword1", "customMirrorShieldSword2", "customMirrorShieldSword3", gLinkLongswordInSheathDL);
PatchOrUnpatch(gLinkAdultMirrorShieldAndSheathNearDL, gLinkLongswordSheathDL, "customMirrorShieldSheath1", "customMirrorShieldSheath2", "customMirrorShieldSheath3", gLinkMirrorShieldOnBackDL);
PatchOrUnpatch(gLinkChildDekuShieldAndSheathNearDL, gCustomLongswordSheathDL, "customDekuShieldSheath1", "customDekuShieldSheath2", "customDekuShieldSheath3", gCustomDekuShieldOnBackDL);
PatchOrUnpatch(gLinkChildHylianShieldSwordAndSheathNearDL, gCustomLongswordInSheathDL, "customChildHylianShieldSword1", "customChildHylianShieldSword2", "customChildHylianShieldSword3", gCustomHylianShieldOnChildBackDL);
PatchOrUnpatch(gLinkChildHylianShieldAndSheathNearDL, gCustomLongswordSheathDL, "customChildHylianShieldSheath1", "customChildHylianShieldSheath2", "customChildHylianShieldSheath3", gCustomHylianShieldOnChildBackDL);
PatchOrUnpatch(gLinkAdultSheathNearDL, gCustomLongswordSheathDL, "customSheath1", "customSheath2", NULL, NULL);
PatchOrUnpatch(gLinkAdultHylianShieldSwordAndSheathNearDL, gCustomHylianShieldOnBackDL, "customHylianShieldSword1", "customHylianShieldSword2", "customHylianShieldSword3", gCustomLongswordInSheathDL);
PatchOrUnpatch(gLinkAdultMasterSwordAndSheathNearDL, gCustomLongswordInSheathDL, "customMasterSwordSheath1", "customMasterSwordSheath2", NULL, NULL);
PatchOrUnpatch(gLinkAdultHylianShieldAndSheathNearDL, gCustomLongswordSheathDL, "customHylianShieldSheath1", "customHylianShieldSheath2", "customHylianShieldSheath3", gCustomHylianShieldOnBackDL);
PatchOrUnpatch(gLinkAdultMirrorShieldSwordAndSheathNearDL, gCustomMirrorShieldOnBackDL, "customMirrorShieldSword1", "customMirrorShieldSword2", "customMirrorShieldSword3", gCustomLongswordInSheathDL);
PatchOrUnpatch(gLinkAdultMirrorShieldAndSheathNearDL, gCustomLongswordSheathDL, "customMirrorShieldSheath1", "customMirrorShieldSheath2", "customMirrorShieldSheath3", gCustomMirrorShieldOnBackDL);
}
PatchOrUnpatch(gLinkAdultLeftHandHoldingMasterSwordNearDL, gLinkMasterSwordDL, "customMasterSword1", "customMasterSword2", "customMasterSword3", gLinkAdultLeftHandClosedNearDL);
PatchOrUnpatch(gLinkAdultRightHandHoldingHylianShieldNearDL, gLinkHylianShieldDL, "customHylianShield1", "customHylianShield2", "customHylianShield3", gLinkAdultRightHandClosedNearDL);
PatchOrUnpatch(gLinkAdultRightHandHoldingMirrorShieldNearDL, gLinkMirrorShieldDL, "customMirrorShield1", "customMirrorShield2", "customMirrorShield3", gLinkAdultRightHandClosedNearDL);
PatchOrUnpatch(gLinkAdultLeftHandHoldingBgsNearDL, gLinkLongswordDL, "customBGS1", "customBGS2", "customBGS3", gLinkAdultLeftHandClosedNearDL);
PatchOrUnpatch(gLinkChildLeftFistAndKokiriSwordNearDL, gLinkKokiriSwordDL, "customKokiriSword1", "customKokiriSword2", "customKokiriSword3", gLinkChildLeftFistNearDL);
PatchOrUnpatch(gLinkChildRightFistAndDekuShieldNearDL, gLinkDekuShieldDL, "customDekuShield1", "customDekuShield2", "customDekuShield3", gLinkChildRightHandClosedNearDL);
PatchOrUnpatch(gLinkAdultRightHandHoldingHookshotNearDL, gLinkHookshotDL, "customHookshot1", "customHookshot2", "customHookshot3", gLinkAdultRightHandClosedNearDL);
PatchOrUnpatch(gLinkAdultRightHandHoldingHookshotFarDL, gLinkHookshotDL, "customHookshotFPS1", "customHookshotFPS2", "customHookshotFPS3", gLinkAdultFPSHandDL);// add chain and tip back
PatchOrUnpatch(gLinkAdultHookshotTipDL, gLinkHookshotTipDL, "customHookshotTip1", "customHookshotTip2", NULL, NULL);
PatchOrUnpatch(gLinkAdultHookshotChainDL, gLinkHookshotChainDL, "customHookshotChain1", "customHookshotChain2", NULL, NULL);
PatchOrUnpatch(gLinkAdultLeftHandHoldingMasterSwordNearDL, gCustomMasterSwordDL, "customMasterSword1", "customMasterSword2", "customMasterSword3", gLinkAdultLeftHandClosedNearDL);
PatchOrUnpatch(gLinkAdultRightHandHoldingHylianShieldNearDL, gCustomHylianShieldDL, "customHylianShield1", "customHylianShield2", "customHylianShield3", gLinkAdultRightHandClosedNearDL);
PatchOrUnpatch(gLinkAdultRightHandHoldingMirrorShieldNearDL, gCustomMirrorShieldDL, "customMirrorShield1", "customMirrorShield2", "customMirrorShield3", gLinkAdultRightHandClosedNearDL);
PatchOrUnpatch(gLinkAdultLeftHandHoldingBgsNearDL, gCustomLongswordDL, "customBGS1", "customBGS2", "customBGS3", gLinkAdultLeftHandClosedNearDL);
PatchOrUnpatch(gLinkAdultHandHoldingBrokenGiantsKnifeDL, gCustomBrokenLongswordDL, "customBrokenBGS1", "customBrokenBGS2", "customBrokenBGS3", gLinkAdultLeftHandClosedNearDL);
PatchOrUnpatch(gLinkChildLeftFistAndKokiriSwordNearDL, gCustomKokiriSwordDL, "customKokiriSword1", "customKokiriSword2", "customKokiriSword3", gLinkChildLeftFistNearDL);
PatchOrUnpatch(gLinkChildRightFistAndDekuShieldNearDL, gCustomDekuShieldDL, "customDekuShield1", "customDekuShield2", "customDekuShield3", gLinkChildRightHandClosedNearDL);
PatchOrUnpatch(gLinkAdultRightHandHoldingHookshotNearDL, gCustomHookshotDL, "customHookshot1", "customHookshot2", "customHookshot3", gLinkAdultRightHandClosedNearDL);
PatchOrUnpatch(gLinkAdultRightHandHoldingHookshotFarDL, gCustomHookshotDL, "customHookshotFPS1", "customHookshotFPS2", "customHookshotFPS3", gCustomAdultFPSHandDL);// add chain and tip back
PatchOrUnpatch(gLinkAdultHookshotTipDL, gCustomHookshotTipDL, "customHookshotTip1", "customHookshotTip2", NULL, NULL);
PatchOrUnpatch(gLinkAdultHookshotChainDL, gCustomHookshotChainDL, "customHookshotChain1", "customHookshotChain2", NULL, NULL);
if (INV_CONTENT(ITEM_OCARINA_FAIRY) == ITEM_OCARINA_FAIRY) {
PatchOrUnpatch(gLinkAdultRightHandHoldingOotNearDL, gLinkFairyOcarinaDL, "customOcarina1", "customOcarina2", "customOcarina3", gLinkAdultRightHandNearDL);
PatchOrUnpatch(gLinkAdultRightHandHoldingOotNearDL, gCustomFairyOcarinaDL, "customOcarina1", "customOcarina2", "customOcarina3", gLinkAdultRightHandNearDL);
}
if (INV_CONTENT(ITEM_OCARINA_TIME) == ITEM_OCARINA_TIME) {
PatchOrUnpatch(gLinkAdultRightHandHoldingOotNearDL, gLinkOcarinaOfTimeDL, "customOcarina1", "customOcarina2", "customOcarina3", gLinkAdultRightHandNearDL);
PatchOrUnpatch(gLinkAdultRightHandHoldingOotNearDL, gCustomOcarinaOfTimeDL, "customOcarina1", "customOcarina2", "customOcarina3", gLinkAdultRightHandNearDL);
}
PatchOrUnpatch(gLinkChildRightHandHoldingFairyOcarinaNearDL, gLinkFairyOcarinaDL, "customFairyOcarina1", "customFairyOcarina2", "customFairyOcarina3", gLinkChildRightHandNearDL);
PatchOrUnpatch(gLinkChildRightHandAndOotNearDL, gLinkOcarinaOfTimeDL, "customChildOcarina1", "customChildOcarina2", "customChildOcarina3", gLinkChildRightHandNearDL);
PatchOrUnpatch(gLinkAdultRightHandHoldingBowNearDL, gLinkBowDL, "customBow1", "customBow2", "customBow3", gLinkAdultRightHandClosedNearDL);
PatchOrUnpatch(gLinkAdultRightHandHoldingBowFirstPersonDL, gLinkBowDL, "customBowFPS1", "customBowFPS2", "customBowFPS3", gLinkAdultFPSHandDL);
PatchOrUnpatch(gLinkAdultLeftHandHoldingHammerNearDL, gLinkHammerDL, "customHammer1", "customHammer2", "customHammer3", gLinkAdultLeftHandClosedNearDL);
PatchOrUnpatch(gLinkChildLeftFistAndBoomerangNearDL, gLinkBoomerangDL, "customBoomerang1", "customBoomerang2", "customBoomerang3", gLinkChildLeftFistNearDL);
PatchOrUnpatch(gLinkChildRightHandHoldingSlingshotNearDL, gLinkSlingshotDL, "customSlingshot1", "customSlingshot2", "customSlingshot3", gLinkChildRightHandClosedNearDL);
PatchOrUnpatch(gLinkChildRightArmStretchedSlingshotDL, gLinkSlingshotDL, "customSlingshotFPS1", "customSlingshotFPS2", "customSlingshotFPS3", gLinkChildFPSHandDL);
PatchOrUnpatch(gLinkChildRightHandHoldingFairyOcarinaNearDL, gCustomFairyOcarinaDL, "customFairyOcarina1", "customFairyOcarina2", "customFairyOcarina3", gLinkChildRightHandNearDL);
PatchOrUnpatch(gLinkChildRightHandAndOotNearDL, gCustomOcarinaOfTimeDL, "customChildOcarina1", "customChildOcarina2", "customChildOcarina3", gLinkChildRightHandNearDL);
PatchOrUnpatch(gLinkAdultRightHandHoldingBowNearDL, gCustomBowDL, "customBow1", "customBow2", "customBow3", gLinkAdultRightHandClosedNearDL);
PatchOrUnpatch(gLinkAdultRightHandHoldingBowFirstPersonDL, gCustomBowDL, "customBowFPS1", "customBowFPS2", "customBowFPS3", gCustomAdultFPSHandDL);
PatchOrUnpatch(gLinkAdultLeftHandHoldingHammerNearDL, gCustomHammerDL, "customHammer1", "customHammer2", "customHammer3", gLinkAdultLeftHandClosedNearDL);
PatchOrUnpatch(gLinkChildLeftFistAndBoomerangNearDL, gCustomBoomerangDL, "customBoomerang1", "customBoomerang2", "customBoomerang3", gLinkChildLeftFistNearDL);
PatchOrUnpatch(gLinkChildRightHandHoldingSlingshotNearDL, gCustomSlingshotDL, "customSlingshot1", "customSlingshot2", "customSlingshot3", gLinkChildRightHandClosedNearDL);
PatchOrUnpatch(gLinkChildRightArmStretchedSlingshotDL, gCustomSlingshotDL, "customSlingshotFPS1", "customSlingshotFPS2", "customSlingshotFPS3", gCustomChildFPSHandDL);
if (LINK_IS_CHILD && CVarGetInteger("gEnhancements.EquimentAlwaysVisible", 0)) {
PatchOrUnpatch(gLinkAdultFPSHandDL, gLinkChildFPSHandDL, "patchChildFPSHand1", "patchChildFPSHand2", NULL, NULL);
PatchOrUnpatch(gCustomAdultFPSHandDL, gCustomChildFPSHandDL, "patchChildFPSHand1", "patchChildFPSHand2", NULL, NULL);
}
if (LINK_IS_ADULT && CVarGetInteger("gEnhancements.EquimentAlwaysVisible", 0)) {
PatchOrUnpatch(gLinkChildFPSHandDL, gLinkAdultFPSHandDL, "patchAdultFPSHand1", "patchAdultFPSHand2", NULL, NULL);
PatchOrUnpatch(gCustomChildFPSHandDL, gCustomAdultFPSHandDL, "patchAdultFPSHand1", "patchAdultFPSHand2", NULL, NULL);
}
}

View File

@ -1033,6 +1033,10 @@ void DrawEnhancementsMenu() {
ToggleAltAssetsAtEndOfFrame = true;
}
UIWidgets::Tooltip("Toggle between standard assets and alternate assets. Usually mods will indicate if this setting has to be used or not.");
if (UIWidgets::PaddedEnhancementCheckbox("Use Custom Equipment", "gEnhancements.CustomEquipDlists", true, false)) {
UpdatePatchCustomEquipmentDlists();
}
UIWidgets::Tooltip("Toggle between standard equipment and custom equipment. Usually mods will indicate if this setting has to be used or not.");
UIWidgets::PaddedEnhancementCheckbox("Disable Bomb Billboarding", "gDisableBombBillboarding", true, false);
UIWidgets::Tooltip("Disables bombs always rotating to face the camera. To be used in conjunction with mods that want to replace bombs with 3D objects.");
UIWidgets::PaddedEnhancementCheckbox("Disable Grotto Fixed Rotation", "gDisableGrottoRotation", true, false);
@ -1114,9 +1118,6 @@ 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)) {
UpdatePatchCustomEquipmentDlists();
}
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);