Recent content by Touched

  1. Touched

    [ASM & Hex] Extracting Map Tile Animations

    The game copies directly to the VRAM to do the animation. In the overworld, almost all of the background VRAM is used for the tilesets, which are basically the tilesets from both the primary and secondary blocksets concatenated together. The first tile in this combined tileset (which you can...
  2. Touched

    [ASM & Hex] Extracting Map Tile Animations

    The animation format isn't data, it's actually a pointer to a function which is run every frame. This function edits the tile data directly in VRAM to animate the block. Lu-Ho's animation editor edits this routine to allow custom block animations, so you could disassemble the function that the...
  3. Touched

    [ASM & Hex] Problems with Surf

    Point One You should be able to remove the badge check by nopping the cmp at 0809C7FE (put two 00 bytes). The actual flag in question is at 0809C81C. This is the badge check for the normal overworld check. The party effect is actually a bit more complicated, and requires you to repoint two...
  4. Touched

    [ASM & Hex] porting scripting commands from EM to FR?

    There are multiple limiters. They basically are just a pointer to the last command in the script command table. You'd have to change the pointers at 08069AA0, 08069B20, 08069B7C to point to a nop at end of your repointed table (they currently point to 0815FD08).
  5. Touched

    Managing free space and cleaning the old data

    You're not going to be able to find out the compressed size of the image without decompressing it (i.e write custom software), which is probably why no tool cleans up after itself. The compression algorithm just keeps reading bytes until it has decompressed the number of bytes that appear in...
  6. Touched

    Managing free space and cleaning the old data

    The size of an image depends on a number of factors, including its dimensions, format and whether it is compressed or not. You won't be able to see how much space a PNG should take up, since PNG is a compressed format completely different to that of the GBA format, so the size will obviously...
  7. Touched

    [Tool] Starting with pokemon help

    It definitely won't be. First, Pokemon are encrypted using a value that depends on your trainer ID, so while you might be able to write a Pokemon with a specific OT, you'd never get to write a Pokemon that belongs to the current trainer. Second, you can't write to the PC since that exists in the...
  8. Touched

    [ASM & Hex✓] Allow the Player to Run on Fortree/Pacifidlog Walkways in Emerald?

    My mistake. You need to place eight zero bytes at 0808AF94 (08AF94), not four. IDA is commercial software, so it would be against the rules to give you a link, but I can tell you that IDA 6.8 (with the HEX-Rays Decompiler plugin) was leaked, which is perfect for opening the IDBs (IDA...
  9. Touched

    [ASM & Hex] Making VBA-SDL-H break on write at a certain value?

    There is a function called "player_step_by_keypad" (0805B4D4 in fire red) which is called every frame by the main overworld callback handler. It eventually calls 080BD100 (walkrun_accelerate2) which checks if B is pressed 080BD14E, and if so, sets some values in the structure at 02037078. Set...
  10. Touched

    [ASM & Hex] How exactly is the trainer/secret id stored on a pokemon?

    The TID is not contained within the checksum, as the TID field itself is not encrypted. The checksum is made up of only the sum of the unencrypted half words in the encrypted block. pokemon_setattr automatically calls pokemon_calc_checksum and pokemon_encrypt for the attributes that require it...
  11. Touched

    [ASM & Hex] Asm help?

    You can't use C++ because the standard libraries and other built ins (e.g. libstdc++) are not linked into the ROM, meaning you can't use even the most basic of C++ features (new, delete, etc.). Because the ROM was linked as a C application, you'd be unable to use features like exceptions. Since...
  12. Touched

    [ASM & Hex✓] Allow the Player to Run on Fortree/Pacifidlog Walkways in Emerald?

    I used IDA with the Emerald database (which I got from Dizzy). Basically there is a function that reads the behaviour byte for a given tile. I just figured out where that was and checked for places it was called and then compared the result to those behaviour bytes I listed (which I got from...
  13. Touched

    [ASM & Hex✓] Allow the Player to Run on Fortree/Pacifidlog Walkways in Emerald?

    If you nop out the function call (i.e. put 00 00 00 00) at 0808AF94 then there should be no restrictions on running anywhere. More specifically, putting four zeroes at 08119F2C should disable the Fortree platform running restriction (behaviour 0x78) and putting four zeroes at 080899E2 should...
  14. Touched

    [ASM & Hex] How exactly is the trainer/secret id stored on a pokemon?

    You should use the pokemon_getattr/setattr functions already built into the game as the OTID (as mentioned on Bulbapedia) is part of the XOR encryption key and changing it will result in a bad egg. To modify the TID with these functions you should use the attribute ID 1 (REQUEST_TID) which...
  15. Touched

    [ASM & Hex] Making VBA-SDL-H break on write at a certain value?

    That is called a conditional breakpoint and I don't think it is supported by VBA-SDL-H. I'm pretty sure mGBA has support for these, but I'm not sure if you can get the console debugger to do it (it might only be via GDB, which is complex to set up) That being said I think you're going about...
Back
Top