diff options
author | NieDzejkob <niedzejkob@gmail.com> | 2017-05-21 14:28:59 +0200 |
---|---|---|
committer | NieDzejkob <niedzejkob@gmail.com> | 2017-05-21 19:33:00 +0200 |
commit | 5847cceee4656ca5ffd08eb57d90e2cccdaaea60 (patch) | |
tree | 14ec35329187bca9cea4aecceb580ec3e6ab498d | |
parent | 80dd8f3f41ebe3bdbc5b12b9db4e4fbed1baec04 (diff) |
Fix tabs - it's 4 spaces
-rw-r--r-- | src/daycare.c | 598 |
1 files changed, 299 insertions, 299 deletions
diff --git a/src/daycare.c b/src/daycare.c index b1bafa6f4..92be45cfa 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -7,243 +7,243 @@ extern u8 gLastFieldPokeMenuOpened; u8 *GetMonNick(struct Pokemon *mon, u8 *dest) { - s8 nickname[POKEMON_NAME_LENGTH * 2]; + s8 nickname[POKEMON_NAME_LENGTH * 2]; - GetMonData(mon, MON_DATA_NICKNAME, nickname); - return StringCopy10(dest, nickname); + GetMonData(mon, MON_DATA_NICKNAME, nickname); + return StringCopy10(dest, nickname); } u8 *GetBoxMonNick(struct BoxPokemon *mon, u8 *dest) { - s8 nickname[POKEMON_NAME_LENGTH * 2]; + s8 nickname[POKEMON_NAME_LENGTH * 2]; - GetBoxMonData(mon, MON_DATA_NICKNAME, nickname); - return StringCopy10(dest, nickname); + GetBoxMonData(mon, MON_DATA_NICKNAME, nickname); + return StringCopy10(dest, nickname); } u8 Daycare_CountPokemon(struct BoxPokemon *daycare_data) { - u8 i, count; - count = 0; + u8 i, count; + count = 0; - for(i = 0;i <= 1;i++) - if(GetBoxMonData(daycare_data + i, MON_DATA_SPECIES) != 0) - count++; + for(i = 0;i <= 1;i++) + if(GetBoxMonData(daycare_data + i, MON_DATA_SPECIES) != 0) + count++; - return count; + return count; } #ifndef ASDF __attribute__((naked)) void sub_8041324(struct BoxPokemon * box_pokemon, void * void_pointer) { - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - mov r9, r0\n\ - mov r10, r1\n\ - movs r7, 0\n\ - movs r5, 0\n\ - mov r6, r10\n\ - adds r6, 0x74\n\ - movs r0, 0x1\n\ - mov r8, r0\n\ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + mov r9, r0\n\ + mov r10, r1\n\ + movs r7, 0\n\ + movs r5, 0\n\ + mov r6, r10\n\ + adds r6, 0x74\n\ + movs r0, 0x1\n\ + mov r8, r0\n\ _0804133E:\n\ - lsls r0, r5, 2\n\ - adds r0, r5\n\ - lsls r0, 4\n\ - mov r1, r9\n\ - adds r4, r1, r0\n\ - adds r0, r4, 0\n\ - movs r1, 0xB\n\ - bl GetBoxMonData\n\ - cmp r0, 0\n\ - beq _0804136E\n\ - adds r0, r7, 0x1\n\ - lsls r0, 24\n\ - lsrs r7, r0, 24\n\ - adds r0, r4, 0\n\ - movs r1, 0xC\n\ - bl GetBoxMonData\n\ - adds r1, r0, 0\n\ - cmp r1, 0\n\ - bne _0804136E\n\ - lsls r0, r5, 1\n\ - adds r0, r6, r0\n\ - b _08041374\n\ + lsls r0, r5, 2\n\ + adds r0, r5\n\ + lsls r0, 4\n\ + mov r1, r9\n\ + adds r4, r1, r0\n\ + adds r0, r4, 0\n\ + movs r1, 0xB\n\ + bl GetBoxMonData\n\ + cmp r0, 0\n\ + beq _0804136E\n\ + adds r0, r7, 0x1\n\ + lsls r0, 24\n\ + lsrs r7, r0, 24\n\ + adds r0, r4, 0\n\ + movs r1, 0xC\n\ + bl GetBoxMonData\n\ + adds r1, r0, 0\n\ + cmp r1, 0\n\ + bne _0804136E\n\ + lsls r0, r5, 1\n\ + adds r0, r6, r0\n\ + b _08041374\n\ _0804136E:\n\ - lsls r0, r5, 1\n\ - adds r0, r6, r0\n\ - mov r1, r8\n\ + lsls r0, r5, 1\n\ + adds r0, r6, r0\n\ + mov r1, r8\n\ _08041374:\n\ - strh r1, [r0]\n\ - adds r0, r5, 0x1\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - cmp r5, 0x1\n\ - bls _0804133E\n\ - mov r0, r10\n\ - str r7, [r0, 0x70]\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .syntax divided\n"); + strh r1, [r0]\n\ + adds r0, r5, 0x1\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + cmp r5, 0x1\n\ + bls _0804133E\n\ + mov r0, r10\n\ + str r7, [r0, 0x70]\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .syntax divided\n"); } #endif s8 Daycare_FindEmptySpot(struct BoxPokemon * daycare_data) { - u8 i; + u8 i; - for(i = 0;i <= 1;i++) - if(GetBoxMonData(daycare_data + i, MON_DATA_SPECIES) == 0) - return i; + for(i = 0;i <= 1;i++) + if(GetBoxMonData(daycare_data + i, MON_DATA_SPECIES) == 0) + return i; - return -1; + return -1; } /*void Daycare_SendPokemon(struct Pokemon * mon, struct BoxPokemon * daycare_data){ // unfinished - s8 empty_slot; + s8 empty_slot; - empty_slot = Daycare_FindEmptySpot(daycare_data); - if(MonHasMail(mon) != 0){ // if the mon holds a mail? - u8 empty_slot_times_56 = empty_slot * 56; - u8 * something2 = ((u8 *) (daycare_data + 2)) + empty_slot_times_56 + 36; - StringCopy(something2, gSaveBlock2.playerName); - PadNameString(something2, 0xFC); - something2 += 8; - GetMonNick(mon, something2); - u8 pokerus = GetMonData(mon, MON_DATA_64); - something1 += (u8 * daycare_data) + empty_slot = Daycare_FindEmptySpot(daycare_data); + if(MonHasMail(mon) != 0){ // if the mon holds a mail? + u8 empty_slot_times_56 = empty_slot * 56; + u8 * something2 = ((u8 *) (daycare_data + 2)) + empty_slot_times_56 + 36; + StringCopy(something2, gSaveBlock2.playerName); + PadNameString(something2, 0xFC); + something2 += 8; + GetMonNick(mon, something2); + u8 pokerus = GetMonData(mon, MON_DATA_64); + something1 += (u8 * daycare_data) }*/ __attribute__((naked)) void Daycare_SendPokemon() { - // strange stack usage - happens because THUMB ARM only allows R0-R7 to be pushed/popped: - // all registers in reglist must be Lo registers, except that PUSH can include the LR, and POP can include the PC - // the ldm/stm section probably copies some struct, but I'm not sure how the code would look - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r9\n\ - mov r6, r8\n\ - push {r6,r7}\n\ - adds r7, r0, 0\n\ - mov r8, r1\n\ - mov r0, r8\n\ - bl Daycare_FindEmptySpot\n\ - lsls r0, 24\n\ - lsrs r4, r0, 24\n\ - mov r9, r4\n\ - adds r0, r7, 0\n\ - bl MonHasMail\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - beq _0804144A\n\ - lsls r0, r4, 24\n\ - asrs r0, 24\n\ - lsls r4, r0, 3\n\ - subs r4, r0\n\ - lsls r4, 3\n\ - adds r5, r4, 0\n\ - adds r5, 0xA0\n\ - add r5, r8\n\ - adds r6, r5, 0\n\ - adds r6, 0x24\n\ - ldr r1, _08041490 @ =gSaveBlock2\n\ - adds r0, r6, 0\n\ - bl StringCopy\n\ - adds r0, r6, 0\n\ - movs r1, 0xFC\n\ - bl PadNameString\n\ - adds r6, 0x8\n\ - adds r0, r7, 0\n\ - adds r1, r6, 0\n\ - bl GetMonNick\n\ - adds r0, r7, 0\n\ - movs r1, 0x40\n\ - bl GetMonData\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - add r4, r8\n\ - ldr r2, _08041494 @ =gSaveBlock1\n\ - lsls r1, r0, 3\n\ - adds r1, r0\n\ - lsls r1, 2\n\ - adds r1, r2\n\ - adds r4, 0xA0\n\ - ldr r0, _08041498 @ =0x00002b4c\n\ - adds r1, r0\n\ - ldm r1!, {r0,r2,r3}\n\ - stm r4!, {r0,r2,r3}\n\ - ldm r1!, {r0,r2,r3}\n\ - stm r4!, {r0,r2,r3}\n\ - ldm r1!, {r0,r2,r3}\n\ - stm r4!, {r0,r2,r3}\n\ - adds r0, r7, 0\n\ - bl TakeMailFromMon\n\ + // strange stack usage - happens because THUMB ARM only allows R0-R7 to be pushed/popped: + // all registers in reglist must be Lo registers, except that PUSH can include the LR, and POP can include the PC + // the ldm/stm section probably copies some struct, but I'm not sure how the code would look + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r9\n\ + mov r6, r8\n\ + push {r6,r7}\n\ + adds r7, r0, 0\n\ + mov r8, r1\n\ + mov r0, r8\n\ + bl Daycare_FindEmptySpot\n\ + lsls r0, 24\n\ + lsrs r4, r0, 24\n\ + mov r9, r4\n\ + adds r0, r7, 0\n\ + bl MonHasMail\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _0804144A\n\ + lsls r0, r4, 24\n\ + asrs r0, 24\n\ + lsls r4, r0, 3\n\ + subs r4, r0\n\ + lsls r4, 3\n\ + adds r5, r4, 0\n\ + adds r5, 0xA0\n\ + add r5, r8\n\ + adds r6, r5, 0\n\ + adds r6, 0x24\n\ + ldr r1, _08041490 @ =gSaveBlock2\n\ + adds r0, r6, 0\n\ + bl StringCopy\n\ + adds r0, r6, 0\n\ + movs r1, 0xFC\n\ + bl PadNameString\n\ + adds r6, 0x8\n\ + adds r0, r7, 0\n\ + adds r1, r6, 0\n\ + bl GetMonNick\n\ + adds r0, r7, 0\n\ + movs r1, 0x40\n\ + bl GetMonData\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + add r4, r8\n\ + ldr r2, _08041494 @ =gSaveBlock1\n\ + lsls r1, r0, 3\n\ + adds r1, r0\n\ + lsls r1, 2\n\ + adds r1, r2\n\ + adds r4, 0xA0\n\ + ldr r0, _08041498 @ =0x00002b4c\n\ + adds r1, r0\n\ + ldm r1!, {r0,r2,r3}\n\ + stm r4!, {r0,r2,r3}\n\ + ldm r1!, {r0,r2,r3}\n\ + stm r4!, {r0,r2,r3}\n\ + ldm r1!, {r0,r2,r3}\n\ + stm r4!, {r0,r2,r3}\n\ + adds r0, r7, 0\n\ + bl TakeMailFromMon\n\ _0804144A:\n\ - mov r2, r9\n\ - lsls r4, r2, 24\n\ - asrs r4, 24\n\ - lsls r5, r4, 2\n\ - adds r4, r5, r4\n\ - lsls r4, 4\n\ - add r4, r8\n\ - adds r0, r4, 0\n\ - adds r1, r7, 0\n\ - movs r2, 0x50\n\ - bl memcpy\n\ - adds r0, r4, 0\n\ - bl BoxMonRestorePP\n\ - movs r0, 0x88\n\ - lsls r0, 1\n\ - add r0, r8\n\ - adds r0, r5\n\ - movs r1, 0\n\ - str r1, [r0]\n\ - adds r0, r7, 0\n\ - bl ZeroMonData\n\ - bl party_compaction\n\ - bl CalculatePlayerPartyCount\n\ - pop {r3,r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ + mov r2, r9\n\ + lsls r4, r2, 24\n\ + asrs r4, 24\n\ + lsls r5, r4, 2\n\ + adds r4, r5, r4\n\ + lsls r4, 4\n\ + add r4, r8\n\ + adds r0, r4, 0\n\ + adds r1, r7, 0\n\ + movs r2, 0x50\n\ + bl memcpy\n\ + adds r0, r4, 0\n\ + bl BoxMonRestorePP\n\ + movs r0, 0x88\n\ + lsls r0, 1\n\ + add r0, r8\n\ + adds r0, r5\n\ + movs r1, 0\n\ + str r1, [r0]\n\ + adds r0, r7, 0\n\ + bl ZeroMonData\n\ + bl party_compaction\n\ + bl CalculatePlayerPartyCount\n\ + pop {r3,r4}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ _08041490: .4byte gSaveBlock2\n\ _08041494: .4byte gSaveBlock1\n\ _08041498: .4byte 0x00002b4c\n\ - .syntax divided\n"); + .syntax divided\n"); } void Daycare_SendPokemon_Special() { - Daycare_SendPokemon(gPlayerParty + gLastFieldPokeMenuOpened, gSaveBlock1.daycareData); + Daycare_SendPokemon(gPlayerParty + gLastFieldPokeMenuOpened, gSaveBlock1.daycareData); } void sub_80417F4(u8 *); void sub_80414C0(struct BoxPokemon * daycare_data) { - u32 second_species; - if((GetBoxMonData(&daycare_data[1], MON_DATA_SPECIES) != 0) && ((second_species = GetBoxMonData(&daycare_data[0], MON_DATA_SPECIES)) == 0)){ - daycare_data[0] = daycare_data[1]; - ZeroBoxMonData(&daycare_data[1]); - memcpy(daycare_data + 2, (u8 *) (daycare_data + 1) + 0x88, 0x38); - *((u32 *)(daycare_data) + 68) = *((u32 *)(daycare_data) + 69); - *((u32 *)(daycare_data) + 69) = second_species; - sub_80417F4((u8 *) (daycare_data + 1) + 0x88); - } + u32 second_species; + if((GetBoxMonData(&daycare_data[1], MON_DATA_SPECIES) != 0) && ((second_species = GetBoxMonData(&daycare_data[0], MON_DATA_SPECIES)) == 0)){ + daycare_data[0] = daycare_data[1]; + ZeroBoxMonData(&daycare_data[1]); + memcpy(daycare_data + 2, (u8 *) (daycare_data + 1) + 0x88, 0x38); + *((u32 *)(daycare_data) + 68) = *((u32 *)(daycare_data) + 69); + *((u32 *)(daycare_data) + 69) = second_species; + sub_80417F4((u8 *) (daycare_data + 1) + 0x88); + } } u8 TryIncrementMonLevel(struct Pokemon *); @@ -251,138 +251,138 @@ extern u16 word_2024E82; void sub_804151C(struct Pokemon * mon) { - s32 i; - u8 r6; - u16 temp; + s32 i; + u8 r6; + u16 temp; - for(i = 0; i < 100; i++){ - if(TryIncrementMonLevel(mon) == FALSE) goto end; + for(i = 0; i < 100; i++){ + if(TryIncrementMonLevel(mon) == FALSE) goto end; - r6 = 1; - while((temp = sub_803B7C8(mon, r6)) != 0){ - r6 = 0; - if(temp == 0xffff){ - DeleteFirstMoveAndGiveMoveToMon(mon, word_2024E82); - } - } - } + r6 = 1; + while((temp = sub_803B7C8(mon, r6)) != 0){ + r6 = 0; + if(temp == 0xffff){ + DeleteFirstMoveAndGiveMoveToMon(mon, word_2024E82); + } + } + } - end: + end: - CalculateMonStats(mon); + CalculateMonStats(mon); } __attribute__((naked)) u16 sub_8041570(struct BoxPokemon * daycare_data, u8 a2){ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r9\n\ - mov r6, r8\n\ - push {r6,r7}\n\ - sub sp, 0x68\n\ - adds r5, r0, 0\n\ - lsls r1, 24\n\ - lsrs r4, r1, 24\n\ - lsls r7, r4, 2\n\ - adds r0, r7, r4\n\ - lsls r0, 4\n\ - adds r6, r5, r0\n\ - ldr r1, _08041640 @ =gStringVar1\n\ - adds r0, r6, 0\n\ - bl GetBoxMonNick\n\ - adds r0, r6, 0\n\ - movs r1, 0xB\n\ - bl GetBoxMonData\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - mov r9, r0\n\ - adds r0, r6, 0\n\ - mov r1, sp\n\ - bl sub_803B4B4\n\ - mov r0, sp\n\ - movs r1, 0x38\n\ - bl GetMonData\n\ - cmp r0, 0x64\n\ - beq _080415D8\n\ - mov r0, sp\n\ - movs r1, 0x19\n\ - bl GetMonData\n\ - movs r2, 0x88\n\ - lsls r2, 1\n\ - adds r1, r5, r2\n\ - adds r1, r7\n\ - ldr r1, [r1]\n\ - adds r0, r1\n\ - str r0, [sp, 0x64]\n\ - add r2, sp, 0x64\n\ - mov r0, sp\n\ - movs r1, 0x19\n\ - bl SetMonData\n\ - mov r0, sp\n\ - bl sub_804151C\n\ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r9\n\ + mov r6, r8\n\ + push {r6,r7}\n\ + sub sp, 0x68\n\ + adds r5, r0, 0\n\ + lsls r1, 24\n\ + lsrs r4, r1, 24\n\ + lsls r7, r4, 2\n\ + adds r0, r7, r4\n\ + lsls r0, 4\n\ + adds r6, r5, r0\n\ + ldr r1, _08041640 @ =gStringVar1\n\ + adds r0, r6, 0\n\ + bl GetBoxMonNick\n\ + adds r0, r6, 0\n\ + movs r1, 0xB\n\ + bl GetBoxMonData\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + mov r9, r0\n\ + adds r0, r6, 0\n\ + mov r1, sp\n\ + bl sub_803B4B4\n\ + mov r0, sp\n\ + movs r1, 0x38\n\ + bl GetMonData\n\ + cmp r0, 0x64\n\ + beq _080415D8\n\ + mov r0, sp\n\ + movs r1, 0x19\n\ + bl GetMonData\n\ + movs r2, 0x88\n\ + lsls r2, 1\n\ + adds r1, r5, r2\n\ + adds r1, r7\n\ + ldr r1, [r1]\n\ + adds r0, r1\n\ + str r0, [sp, 0x64]\n\ + add r2, sp, 0x64\n\ + mov r0, sp\n\ + movs r1, 0x19\n\ + bl SetMonData\n\ + mov r0, sp\n\ + bl sub_804151C\n\ _080415D8:\n\ - ldr r0, _08041644 @ =gPlayerParty\n\ - movs r1, 0xFA\n\ - lsls r1, 1\n\ - adds r1, r0\n\ - mov r8, r1\n\ - mov r0, r8\n\ - mov r1, sp\n\ - movs r2, 0x64\n\ - bl memcpy\n\ - lsls r0, r4, 3\n\ - subs r0, r4\n\ - lsls r1, r0, 3\n\ - adds r0, r5, r1\n\ - adds r0, 0xC0\n\ - ldrh r0, [r0]\n\ - cmp r0, 0\n\ - beq _08041610\n\ - adds r4, r1, 0\n\ - adds r4, 0xA0\n\ - adds r4, r5, r4\n\ - mov r0, r8\n\ - adds r1, r4, 0\n\ - bl GiveMailToMon2\n\ - adds r0, r4, 0\n\ - bl sub_80417F4\n\ + ldr r0, _08041644 @ =gPlayerParty\n\ + movs r1, 0xFA\n\ + lsls r1, 1\n\ + adds r1, r0\n\ + mov r8, r1\n\ + mov r0, r8\n\ + mov r1, sp\n\ + movs r2, 0x64\n\ + bl memcpy\n\ + lsls r0, r4, 3\n\ + subs r0, r4\n\ + lsls r1, r0, 3\n\ + adds r0, r5, r1\n\ + adds r0, 0xC0\n\ + ldrh r0, [r0]\n\ + cmp r0, 0\n\ + beq _08041610\n\ + adds r4, r1, 0\n\ + adds r4, 0xA0\n\ + adds r4, r5, r4\n\ + mov r0, r8\n\ + adds r1, r4, 0\n\ + bl GiveMailToMon2\n\ + adds r0, r4, 0\n\ + bl sub_80417F4\n\ _08041610:\n\ - bl party_compaction\n\ - adds r0, r6, 0\n\ - bl ZeroBoxMonData\n\ - movs r2, 0x88\n\ - lsls r2, 1\n\ - adds r0, r5, r2\n\ - adds r0, r7\n\ - movs r1, 0\n\ - str r1, [r0]\n\ - adds r0, r5, 0\n\ - bl sub_80414C0\n\ - bl CalculatePlayerPartyCount\n\ - mov r0, r9\n\ - add sp, 0x68\n\ - pop {r3,r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4-r7}\n\ - pop {r1}\n\ - bx r1\n\ - .align 2, 0\n\ + bl party_compaction\n\ + adds r0, r6, 0\n\ + bl ZeroBoxMonData\n\ + movs r2, 0x88\n\ + lsls r2, 1\n\ + adds r0, r5, r2\n\ + adds r0, r7\n\ + movs r1, 0\n\ + str r1, [r0]\n\ + adds r0, r5, 0\n\ + bl sub_80414C0\n\ + bl CalculatePlayerPartyCount\n\ + mov r0, r9\n\ + add sp, 0x68\n\ + pop {r3,r4}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + pop {r4-r7}\n\ + pop {r1}\n\ + bx r1\n\ + .align 2, 0\n\ _08041640: .4byte gStringVar1\n\ _08041644: .4byte gPlayerParty\n\ - .syntax divided"); + .syntax divided"); } extern u8 gSpecialVar_0x8004; u16 sub_8041648() { - return sub_8041570(gSaveBlock1.daycareData, gSpecialVar_0x8004); + return sub_8041570(gSaveBlock1.daycareData, gSpecialVar_0x8004); } u8 Daycare_GetLevelAfterSteps(struct BoxPokemon * mon, u32 steps){ - struct BoxPokemon temp = *mon; - u32 new_exp = GetBoxMonData(mon, MON_DATA_EXP) + steps; - SetBoxMonData(&temp, MON_DATA_EXP, (u8 *) &new_exp); - return GetLevelFromBoxMonExp(&temp); + struct BoxPokemon temp = *mon; + u32 new_exp = GetBoxMonData(mon, MON_DATA_EXP) + steps; + SetBoxMonData(&temp, MON_DATA_EXP, (u8 *) &new_exp); + return GetLevelFromBoxMonExp(&temp); } |