• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.
Nathan
Reaction score
418

Profile posts Latest activity Postings Media Albums About

  • Probably VisualBasic. You can make Windows Forms and other things that are algorithm-based, in a simple application. Especially of you have MS Visual Studio, which I highly recommend for any programmer.
    That's ok, 24 hours ago I wouldn't have either lol
    Well, it's late but read it over while I sleep. I read it over twice and look at what I accomplished already
    .text
    .align 2
    .thumb
    .thumb_func

    This is required for all ASM hacks.

    .global lesson1

    you put the name of the file after .global

    main:

    The main event

    push {r0-r1, lr}

    push takes the data stored and moves it away so you can use free space. In this case we are freeing r0 and r1. You MUST put lr after pushing.

    ldr r0, .PLAYER_DATA

    Loads PLAYER_DATA into r0. ldr=load r
    If you notice, at the bottom we define what exactly player_data is. It is the data stored at address 0x0300500C which IS the player's data.

    ldr r0, [r0]
    we are loading again but it's loading Itself? Yes, because 0x0300500C is a pointer, and if we load the pointer we load the data at the actual offset. so now r0 loads the actual data, instead of a pointer.

    ldr r1, .VAR

    We haven't used r1 yet, but now we load VAR into r1. r1 still has free space up until now. VAR is also a pointer, but it is a pointer to Variable 0x800D. So now, r1 IS Variable 0x800D.

    ldrh r0, [r0, #0xC]

    Now we use ldrh. It loads still, but a Half-word instead. If we used ldrb, it would load a byte, but that is too small. r0 still has our player data, but let's look for our secret ID #. our secret ID is 12 bytes away from the player data, and 12 in hex is 0xC. So we load the Half-word stored 12 bytes away from the player data, which is EXACTLY where our secret ID is stored. r0 now has our Player's secret ID.

    strh r0, [r1]

    str=store. strh=store half-word. It stores the data in r0 which is our secret ID into r1 which is Variable 0x8004. Now Variable 0x8004 has our secret ID!

    pop {r0-r1, pc}

    It is the opposite of push. push cleans r0 and r1, pop returns the previous data before we used the r's. Like push, you must always put pc when popping.
    First read this and tell me what you understand of it. It's ok if you don't, I'm gonna explain it anyway.

    .text
    .align 2
    .thumb
    .thumb_func
    .global lesson1

    main:
    push {r0-r1, lr}
    ldr r0, .PLAYER_DATA
    ldr r0, [r0]
    ldr r1, .VAR
    ldrh r0, [r0, #0xC]
    strh r0, [r1]
    pop {r0-r1, pc}


    .align 2
    .PLAYER_DATA:
    .word 0x0300500C
    .VAR:
    .word 0x020270B6 + (0x800D * 2)
    I'm going to try to work with forms now, though I don't know where the Pokemon's type is stored. I will get back to you
    P.s if you want to learn asm I can get you started now that I know it
    The problem is that the stats are not calculated to the right values, instead they stay the same.
    Asm is not hard really
    there will definitely be more from where that came from now on!
    Pretty much anything .NET, also some web design, scripting, and ASM/Binary.
    Yeah, I'll post the link on your VM in a few minutes. Canadian upload speed isn't too good... 100kb/sec max, and it's 101mb.
    Uploading. I don't know if the gradual ascent in levels is too much or too little... Just another thing to work out through alpha testing.
    Sure, Ill do it for a pal! I was gonna ask how you were doing. Just notice my mapping style is different from yours. Its gonna take a long time though.
  • Loading…
  • Loading…
  • Loading…
  • Loading…
  • Loading…
Back
Top