RAM_ARM9:0200C3EC ; =============== S U B R O U T I N E ======================================= RAM_ARM9:0200C3EC RAM_ARM9:0200C3EC RAM_ARM9:0200C3EC ; void __fastcall setOneDaycarePoke(Daycare *d, int pos, void *pPkmBlk) RAM_ARM9:0200C3EC setOneDaycarePoke ; CODE XREF: sub_21BD314+2Ep RAM_ARM9:0200C3EC F0 B4 PUSH {R4-R7} RAM_ARM9:0200C3EE 06 1C MOVS R6, R0 RAM_ARM9:0200C3F0 00 29 CMP R1, #0 RAM_ARM9:0200C3F2 16 DB BLT loc_200C422 ; exit if -1 RAM_ARM9:0200C3F4 02 29 CMP R1, #2 RAM_ARM9:0200C3F6 14 DA BGE loc_200C422 ; exit if > number of daycare slots(0 and 1) RAM_ARM9:0200C3F8 E4 20 MOVS R0, #0xE4 ; 'S' RAM_ARM9:0200C3FA 0D 1C MOVS R5, R1 ; 0xe4 * slot# RAM_ARM9:0200C3FC 45 43 MULS R5, R0 RAM_ARM9:0200C3FE 70 59 LDR R0, [R6,R5] ; get daycare poke block status (full/empty) RAM_ARM9:0200C400 74 19 ADDS R4, R6, R5 ; status pos RAM_ARM9:0200C402 01 28 CMP R0, #1 RAM_ARM9:0200C404 0D D0 BEQ loc_200C422 ; exit if full RAM_ARM9:0200C406 23 1D ADDS R3, R4, #4 RAM_ARM9:0200C408 1B 27 MOVS R7, #0x1B RAM_ARM9:0200C40A RAM_ARM9:0200C40A loc_200C40A ; CODE XREF: setOneDaycarePoke+24j RAM_ARM9:0200C40A 03 CA LDMIA R2!, {R0,R1} ; this is a full block copy in of 1 daycare poke RAM_ARM9:0200C40C 03 C3 STMIA R3!, {R0,R1} RAM_ARM9:0200C40E 7F 1E SUBS R7, R7, #1 ; a decrementing loop. when did someone at gamefreak learn to program for ARM RAM_ARM9:0200C410 FB D1 BNE loc_200C40A RAM_ARM9:0200C412 10 68 LDR R0, [R2] ; load last word RAM_ARM9:0200C414 00 21 MOVS R1, #0 RAM_ARM9:0200C416 18 60 STR R0, [R3] ; copy last word RAM_ARM9:0200C418 01 20 MOVS R0, #1 RAM_ARM9:0200C41A 20 60 STR R0, [R4] ; set block full RAM_ARM9:0200C41C 70 19 ADDS R0, R6, R5 ; bool pos RAM_ARM9:0200C41E E0 30 ADDS R0, #0xE0 ; 'a' ; jump past pkm RAM_ARM9:0200C420 01 60 STR R1, [R0] ; zero the word after the block(usually seems to be 9x afterward) RAM_ARM9:0200C422 RAM_ARM9:0200C422 loc_200C422 ; CODE XREF: setOneDaycarePoke+6j RAM_ARM9:0200C422 ; setOneDaycarePoke+Aj ... RAM_ARM9:0200C422 F0 BC POP {R4-R7} RAM_ARM9:0200C424 70 47 BX LR RAM_ARM9:0200C424 ; End of function setOneDaycarePoke RAM_ARM9:0200C424