donut-decomp/asm/libnw4r_g3d/g3d_dcc.s

73 lines
4.1 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260
.global CalcTexMtx__Q24nw4r3g3dFPQ34nw4r4math5MTX34bRCQ34nw4r3g3d6TexSrtQ44nw4r3g3d6TexSrt4FlagQ44nw4r3g3d13TexSrtTypedef13TexMatrixMode
CalcTexMtx__Q24nw4r3g3dFPQ34nw4r4math5MTX34bRCQ34nw4r3g3d6TexSrtQ44nw4r3g3d6TexSrt4FlagQ44nw4r3g3d13TexSrtTypedef13TexMatrixMode:
/* 800E3060 000DEEA0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800E3064 000DEEA4 7C 08 02 A6 */ mflr r0
/* 800E3068 000DEEA8 2C 07 00 00 */ cmpwi r7, 0
/* 800E306C 000DEEAC 90 01 00 14 */ stw r0, 0x14(r1)
/* 800E3070 000DEEB0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800E3074 000DEEB4 7C 9F 23 78 */ mr r31, r4
/* 800E3078 000DEEB8 93 C1 00 08 */ stw r30, 8(r1)
/* 800E307C 000DEEBC 7C 7E 1B 78 */ mr r30, r3
/* 800E3080 000DEEC0 40 82 00 14 */ bne lbl_800E3094
/* 800E3084 000DEEC4 48 00 47 2D */ bl CalcTexMtx_Maya__Q44nw4r3g3d6detail3dccFPQ34nw4r4math5MTX34bRCQ34nw4r3g3d6TexSrtQ44nw4r3g3d6TexSrt4Flag
/* 800E3088 000DEEC8 7C 60 00 34 */ cntlzw r0, r3
/* 800E308C 000DEECC 54 00 D9 7E */ srwi r0, r0, 5
/* 800E3090 000DEED0 48 00 00 28 */ b lbl_800E30B8
lbl_800E3094:
/* 800E3094 000DEED4 2C 07 00 01 */ cmpwi r7, 1
/* 800E3098 000DEED8 40 82 00 14 */ bne lbl_800E30AC
/* 800E309C 000DEEDC 48 00 53 15 */ bl CalcTexMtx_Xsi__Q44nw4r3g3d6detail3dccFPQ34nw4r4math5MTX34bRCQ34nw4r3g3d6TexSrtQ44nw4r3g3d6TexSrt4Flag
/* 800E30A0 000DEEE0 7C 60 00 34 */ cntlzw r0, r3
/* 800E30A4 000DEEE4 54 00 D9 7E */ srwi r0, r0, 5
/* 800E30A8 000DEEE8 48 00 00 10 */ b lbl_800E30B8
lbl_800E30AC:
/* 800E30AC 000DEEEC 48 00 5F C5 */ bl CalcTexMtx_3dsmax__Q44nw4r3g3d6detail3dccFPQ34nw4r4math5MTX34bRCQ34nw4r3g3d6TexSrtQ44nw4r3g3d6TexSrt4Flag
/* 800E30B0 000DEEF0 7C 60 00 34 */ cntlzw r0, r3
/* 800E30B4 000DEEF4 54 00 D9 7E */ srwi r0, r0, 5
lbl_800E30B8:
/* 800E30B8 000DEEF8 2C 00 00 00 */ cmpwi r0, 0
/* 800E30BC 000DEEFC 41 82 00 14 */ beq lbl_800E30D0
/* 800E30C0 000DEF00 2C 1F 00 00 */ cmpwi r31, 0
/* 800E30C4 000DEF04 41 82 00 0C */ beq lbl_800E30D0
/* 800E30C8 000DEF08 7F C3 F3 78 */ mr r3, r30
/* 800E30CC 000DEF0C 4B F4 D4 15 */ bl PSMTXIdentity
lbl_800E30D0:
/* 800E30D0 000DEF10 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800E30D4 000DEF14 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800E30D8 000DEF18 83 C1 00 08 */ lwz r30, 8(r1)
/* 800E30DC 000DEF1C 7C 08 03 A6 */ mtlr r0
/* 800E30E0 000DEF20 38 21 00 10 */ addi r1, r1, 0x10
/* 800E30E4 000DEF24 4E 80 00 20 */ blr
/* 800E30E8 000DEF28 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
/* 800E30EC 000DEF2C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
.global CalcTexMtx__Q24nw4r3g3dFPQ34nw4r4math5MTX34bRCQ34nw4r3g3d6TexSrtQ44nw4r3g3d6TexSrt4Flag
CalcTexMtx__Q24nw4r3g3dFPQ34nw4r4math5MTX34bRCQ34nw4r3g3d6TexSrtQ44nw4r3g3d6TexSrt4Flag:
/* 800E30F0 000DEF30 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800E30F4 000DEF34 7C 08 02 A6 */ mflr r0
/* 800E30F8 000DEF38 90 01 00 14 */ stw r0, 0x14(r1)
/* 800E30FC 000DEF3C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800E3100 000DEF40 7C 9F 23 78 */ mr r31, r4
/* 800E3104 000DEF44 93 C1 00 08 */ stw r30, 8(r1)
/* 800E3108 000DEF48 7C 7E 1B 78 */ mr r30, r3
/* 800E310C 000DEF4C 48 00 39 05 */ bl CalcTexMtx_Basic__Q44nw4r3g3d6detail3dccFPQ34nw4r4math5MTX34bRCQ34nw4r3g3d6TexSrtQ44nw4r3g3d6TexSrt4Flag
/* 800E3110 000DEF50 7C 60 00 34 */ cntlzw r0, r3
/* 800E3114 000DEF54 54 00 D9 7F */ rlwinm. r0, r0, 0x1b, 5, 0x1f
/* 800E3118 000DEF58 41 82 00 14 */ beq lbl_800E312C
/* 800E311C 000DEF5C 2C 1F 00 00 */ cmpwi r31, 0
/* 800E3120 000DEF60 41 82 00 0C */ beq lbl_800E312C
/* 800E3124 000DEF64 7F C3 F3 78 */ mr r3, r30
/* 800E3128 000DEF68 4B F4 D3 B9 */ bl PSMTXIdentity
lbl_800E312C:
/* 800E312C 000DEF6C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800E3130 000DEF70 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800E3134 000DEF74 83 C1 00 08 */ lwz r30, 8(r1)
/* 800E3138 000DEF78 7C 08 03 A6 */ mtlr r0
/* 800E313C 000DEF7C 38 21 00 10 */ addi r1, r1, 0x10
/* 800E3140 000DEF80 4E 80 00 20 */ blr
/* 800E3144 000DEF84 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
/* 800E3148 000DEF88 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
/* 800E314C 000DEF8C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */