謝謝. 樓主, 我試過修改信賴度, 但也是閃退, 有辦法修改嗎?
.text:00825F98 ; _DWORD __fastcall MissionResultUnitInfo::addAffinityPoint(MissionResultUnitInfo *__hidden this, int)
.text:00825F98 EXPORT _ZN21MissionResultUnitInfo16addAffinityPointEi
.text:00825F98 _ZN21MissionResultUnitInfo16addAffinityPointEi
.text:00825F98 ; CODE XREF: MissionResultUnitInfo::skip(void)+E8p
.text:00825F98 ; MissionResultUnitInfo::updateEvent(void)+668p
.text:00825F98
.text:00825F98 var_20 = -0x20
.text:00825F98 var_14 = -0x14
.text:00825F98 var_4 = -4
.text:00825F98 arg_14 = 0x14
.text:00825F98 arg_4C = 0x4C
.text:00825F98 arg_3CC = 0x3CC
.text:00825F98
.text:00825F98 PUSH {R0-R6,LR}
.text:00825F9A MOV R4, R0
.text:00825F9C LDR R3, [R0,#0x1C]
.text:00825F9E MOV R5, R1
.text:00825FA0 CMP R3, #0
.text:00825FA2 BEQ locret_826064
.text:00825FA4 LDR.W R3, [R0,#0xE4]
.text:00825FA8 SUBS R3, R3, R1
.text:00825FAA STR.W R3, [R0,#0xE4]
.text:00825FAE LDR.W R0, [R0,#0x160]
.text:00825FB2 LDR R3, [R0]
.text:00825FB4 LDR.W R3, [R3,#0x144]
.text:00825FB8 BLX R3
.text:00825FBA MOV R6, R0
.text:00825FBC ADDS R5, R0, R5
.text:00825FBE LDR R0, [R4,#0x1C]
.text:00825FC0 LDR R3, [R0]
.text:00825FC2 LDR R3, [R3,#0xC]
.text:00825FC4 BLX R3
.text:00825FC6 CMP R5, R0
.text:00825FC8 IT GE
.text:00825FCA MOVGE R5, R0
.text:00825FCC CMP R6, R5
.text:00825FCE BGE locret_826064
.text:00825FD0 LDR R0, [R4,#0x1C]
.text:00825FD2 LDR R3, [R0]
.text:00825FD4 LDR R3, [R3,#0xC]
.text:00825FD6 BLX R3
.text:00825FD8 VMOV S13, R5
.text:00825FDC VCVT.F32.S32 S14, S13
.text:00825FE0 VMOV R1, S14
.text:00825FE4 VMOV S13, R0
.text:00825FE8 VCVT.F32.S32 S15, S13
.text:00825FEC ADD R0, SP, #0x20+var_14 ; this
.text:00825FEE VMOV R2, S15
.text:00825FF2 BL _ZN9GameUtils27getUnitAffinityPointRateStrEff ; GameUtils::getUnitAffinityPointRateStr(float,float)
.text:00825FF6 LDR R0, [R4,#0x34]
.text:00825FF8 ADD R1, SP, #0x20+arg_3CC
.text:00825FFA BL _ZN13BitmapLabelEx12updateStringERKSs ; BitmapLabelEx::updateString(std::string const&)
.text:00825FFE LDR R3, =0x3F28F5C3
.text:00826000 MOV.W R2, #0x3FC00000 ; float
.text:00826004 LDR R1, =0x3E4CCCCD ; BitmapLabelEx *
.text:00826006 LDR R0, [R4,#0x34]
.text:00826008 STR R3, [SP,#0x20+var_20]
.text:0082600A MOV R3, R1 ; float
.text:0082600C BL _ZN9GameUtils20setFinishLabelActionEP13BitmapLabelExffff ; GameUtils::setFinishLabelAction(BitmapLabelEx *,float,float,float,float)
.text:00826010 LDR R0, [R4,#0x34]
.text:00826012 LDR R1, =(byte_F05754 - 0x82601A)
.text:00826014 LDR R3, [R0]
.text:00826016 ADD R1, PC ; byte_F05754
.text:00826018 LDR.W R3, [R3,#0x1BC]
.text:0082601C BLX R3
.text:0082601E LDR.W R0, [R4,#0x160]
.text:00826022 MOV R1, R5
.text:00826024 LDR R3, [R0]
.text:00826026 LDR.W R3, [R3,#0x148]
.text:0082602A BLX R3
.text:0082602C LDR R0, [R4,#0x1C]
.text:0082602E LDR R3, [R0]
.text:00826030 LDR R3, [R3,#0xC]
.text:00826032 BLX R3
.text:00826034 CMP R5, R0
.text:00826036 ITE LT
.text:00826038 MOVLT R5, #0
.text:0082603A MOVGE R5, #1
.text:0082603C STRB.W R5, [R4,#0xE8]
.text:00826040 CBZ R5, loc_826052
.text:00826042 MOV R0, R4 ; this
.text:00826044 LDR.W R1, [R4,#0x12C] ; int
.text:00826048 BL _ZN21MissionResultUnitInfo23setAffinityMasterEffectEi ; MissionResultUnitInfo::setAffinityMasterEffect(int)
.text:0082604C MOVS R3, #0
.text:0082604E STR.W R3, [R4,#0xE4]
.text:00826052
.text:00826052 loc_826052 ; CODE XREF: MissionResultUnitInfo::addAffinityPoint(int)+A8j
.text:00826052 ADD R0, SP, #0x20+var_14
.text:00826054 BLX sub_B310EC
.text:00826058 B locret_826064
.text:0082605A ; ---------------------------------------------------------------------------
.text:0082605A ADD R0, SP, #0x20+var_14
.text:0082605C BLX sub_B310EC
.text:00826060 BLX __cxa_end_cleanup
.text:00826064 ; ---------------------------------------------------------------------------
.text:00826064
.text:00826064 locret_826064 ; CODE XREF: MissionResultUnitInfo::addAffinityPoint(int)+Aj
.text:00826064 ; MissionResultUnitInfo::addAffinityPoint(int)+36j ...
.text:00826064 POP {R0-R6,PC}
.text:00826064 ; End of function MissionResultUnitInfo::addAffinityPoint(int) |