Pokemon ORAS advanced editing

Discussion in '3DS - ROM Hacking, Translations and Utilities' started by Daniel Sahr, Sep 19, 2015.

  1. Daniel Sahr
    OP

    Daniel Sahr GBAtemp Regular

    Member
    191
    25
    Apr 13, 2014
    United States
    New York
    Does anyone know of a way to edit things like trainer rematches and overworld items in ORAS. Thanks!
     
  2. Kaphotics

    Kaphotics badc0ded

    Member
    611
    460
    Sep 10, 2010
    United States
    Editing overworlds and scripts is currently not possible as that file has some validation checks which are not yet understood.
     
    Thelostrune and Daniel Sahr like this.
  3. Daniel Sahr
    OP

    Daniel Sahr GBAtemp Regular

    Member
    191
    25
    Apr 13, 2014
    United States
    New York
    Alright! Thanks for the quick reply! That's a bummer, but I guess that can't be helped.
    Edit: Also, another quick question. Is there any way to find out what all the unused stats and event flags are. It would be really cool to edit all of that!
     
    Last edited by Daniel Sahr, Sep 19, 2015
  4. Kaphotics

    Kaphotics badc0ded

    Member
    611
    460
    Sep 10, 2010
    United States
    PKHeX already lets you edit event flag values for your save file.

    As for finding out what each one does, not possible because the script format is not understood.
     
  5. Thelostrune

    Thelostrune GBAtemp Advanced Fan

    Member
    545
    128
    Aug 13, 2015
    Norway
    Is this also true for music ques, when and where music starts and such?
     
  6. Kaphotics

    Kaphotics badc0ded

    Member
    611
    460
    Sep 10, 2010
    United States
    Event soundsequences and calling for certain music can't be edited, same reason.
     
    Thelostrune likes this.
  7. B_E_P_I_S_M_A_N

    B_E_P_I_S_M_A_N I have graced this thread with my presence.

    Member
    827
    3,102
    Jun 7, 2016
    United States
    Hell
    @Kaphotics , I apologize for necroposting on an abandoned thread that's over a year old, but would you mind going into detail as to how this wouldn't work?

    How are these validation checks performed? Are the events stored in the .CRO files within the ROMFS? If so, shouldn't it be possible to modify said events using a CFW that patches such checks (i.e. Luma3DS)? Or is it an actual validation performed by the game itself? If so, has there been any progress, or at least, any documentation on this?

    I ask this now because I couldn't seem to find any documentation on this. Project Pokemon wasn't much help in this regard (it only featured a small little article that probably isn't the case for Gen 6), and searching "pokemon oras event structure" through the tubes only yields results pertaining to Pokemon Giveaway Events.

    I don't mind if the explanation may be a tad too technical; just give everything you know on event scripting for Gen 6.
     
  8. dradonhunter11

    dradonhunter11 French o-MEGA modder

    Member
    590
    332
    Oct 27, 2015
    Canada
    The Distorded and chaotic land
    I tried to look into that, I got thing from cro but what stop me is mostly Assembly code :/ I would really like to know how that work since I kinda want to add new pokemon and new type. Tough I did openned the cro, just can't figure hpw to edit and get proper offset (damn objdump that troll me)
     
  9. Kaphotics

    Kaphotics badc0ded

    Member
    611
    460
    Sep 10, 2010
    United States
    >How are these validation checks performed?
    nobody knows
    >Are the events stored in the .CRO files within the ROMFS?
    romfs, individual files have their own hashes or something
    >Or is it an actual validation performed by the game itself?
    ^this
    >If so, has there been any progress, or at least, any documentation on this?
    no

    You can try opening OWSE with pk3DS to see decompressed script codes, but how it actually works and how it is verified is still unknown.

    The more appropriate name is 'event scripting'
     
    Thelostrune likes this.
  10. B_E_P_I_S_M_A_N

    B_E_P_I_S_M_A_N I have graced this thread with my presence.

    Member
    827
    3,102
    Jun 7, 2016
    United States
    Hell
    Alright. Sorry for the time gap between posts, but is there any documentation in regards to the actual script codes? Also, a few questions regarding OWSE:

    Questions Regarding OWSE
     
  11. Kaphotics

    Kaphotics badc0ded

    Member
    611
    460
    Sep 10, 2010
    United States
    >is there any documentation in regards to the actual script codes?
    no

    >What is a leash, and how is it used? Also, what are the Move1 and Move2 Parameters?
    basically a dog leash for the NPC, how far it can walk
    Move1/2 params are probably movement patterns / rapidity for movement, idk.

    >Entity 01? This is also the case for the Trigger2 tab. Is it equivalent to a NULL declaration (i.e doesn't exist)? Also, what are Trigger1 and Trigger2 in the first place?
    -1 = no entity currently viewed
    no entities = no overworlds
    trigger1 and trigger2 are different types of floor pad triggers. No idea what differentiates them.

    >Master ZoneData Table?
    master is basically the 'all maps' zonedata table, each map also contains a subsection copy from the master.
    If edits are made, the entry in the Master should be updated along with the individual copy).

    Again, haven't been able to edit them successfully (some integrity checking is unknown), so visualization is all that was programmed into OWSE.
     
    Thelostrune and B_E_P_I_S_M_A_N like this.
  12. B_E_P_I_S_M_A_N

    B_E_P_I_S_M_A_N I have graced this thread with my presence.

    Member
    827
    3,102
    Jun 7, 2016
    United States
    Hell
    OK. I have two questions regarding warps. First off, are they validated, like event scripts? If so, how was SciresM able to edit the warps in XY, as shown here (watch?v=V1blzrhblqM)?

    Second off, how come some overworld locations, like from Route 1 to Santalune Forest, don't have any visible warps? Does this have anything to do with how the overworld is "stitched together", so to speak?

    Also, I have an idea of possibly bypassing the validation of scripted events, though I'm not sure if it would work or not. Would it be possible to inject edited event data into memory via an NTR Plugin after the default event data has been loaded and validated? If not, why not? Would it be too much for NTR to handle?

    Sorry for the gauntlet of questions as of late; I really want to get a deeper understanding of Gen VI ROM Hacking.
     
    Last edited by B_E_P_I_S_M_A_N, Nov 15, 2016