Jump to content

kleenexfeu

Member
  • Posts

    18
  • Joined

  • Last visited

Posts posted by kleenexfeu

  1. Great tool and design :)

    May I suggest something ? Could you implement the setting obediance/disobediance ?

    And is it possible to make it support extended moves/abilities/items ? Like if I added a new item in my rom it just display "item 226", or if my pokémon have a new move it display "move 368" instead of a blank thing. Could be very, very useful :)

    Thank's in advance, and good job for what you already done anyway

  2. So, I was wondering.

    What would be the most important thing to research/invest time in out of those ?:

    * Props sprites support for GFXUtil.

    * Font support for GFXUtil.

    * UI sprite/effects support for GFXUtil

    * Dungeon tiles support for GFXUtil

    * Item stats support for StatsUtil

    * Random dungeon param support for StatsUtil.

    * Music/Sound effects support with a new utility.

    * Researching what each missing fields in the pokemon stats and items stats are for.

    * Or something else ?

    I'm lacking focus right now, and I need a clear goal to focus on and to help getting a sense of progress. But given everything I could currently do seems just equally important, its kinda hard to decide..

    I'd also love to get more feedback if possible. Feedback is pretty much what keeps me going. Otherwise it feels like I'm just stumbling aimlessly in the dark, and not actually making anything useful..

    Yop. I recently found an interest in genIII hacking so that's why I'm not getting news

    To me, the most important in any game is the possibility to manipulate stats pokemon, and for mystery dungeon, there's one thing more that is missing in PMD2: being able to catch arceus. So, possibility to insert sprite/icon would be cool.

    For the music/sound etc I don't care at all because I always played without sound x)

    As you said almost everything is important so.. I would say stats Pokemon first

  3. Do you mean that it works fine when you edit another move that your pokemon learns naturally, or do you mean it works fine when you play the game with the modified move, but without giving it to your pokemon ?

    Also, you do not need to edit the ram to give your poke the move. You can just replace its first move ID in its level-up move list with the move ID you want to try out.

    Second one. And yes I know but I wanted that only mine has the move x)

    I'll test by giving the move with lvl up though, to see whether the move itself is buggy or editing RAM after changing data in break the ROM.

    EDIT:

    Also, on the topic of research and the progress with the tools, I found out that the pokemon data in Explorers of Time/Darkness is stored in a slightly different format than in EoS, so that's gonna take a while to figure out.. -_-

    EoT/D pokemon data is 76 bytes per entry, while EoS is 68..

    I might just drop EoT/D support for now, and actually get some more progress done on other areas of the game for EoS.. There are so many quirks that I have to adapt the code for to support those, and frankly, I'm not too motivated to do all that research twice, especially since I still got a lot of trial and error to do to figure out the missing field names for the pokemon and item data.. And I don't really see why someone would make a romhack of Explorers of Time/Darkness over Explorers of Sky anyways..

    Why do you even think about hacking EoT/EoD ? It's like hacking ruby/saphir while you have Emerald to deal with. It's a nonsense xD

    I never played EoT/EoD but AFAIK they are just EoT without many things. Or perhaps it was just for "the sport" ? xD

  4. This time I just put 125 accuracy, 80 power, 96 for unknown 4 if I remember (make hit the whole floor), didn't change the name, but I had to use ram editing to use the move. Huge bug, my screen turns greeny + freeze. Don't know what I'm doing wrong, all this values have already been used by the game. Except for the power perhaps.

    It's interesting because it's another kind of freeze xD

    EDIT : Seems to be the RAM editing that cause freezing. Perhaps because the move is not "legal" or perhaps because of the editing of the move. Don't know. But when I don't edit RAM it seems to works fine

  5. Ok I understand, no problem.

    But if by any chance you have time to do that, the task could be more simple than input every single move one by one. Don't know if it could be that easy but I have an idea :

    Implement a condition "if more than 354 moves; then name of move 355 = move 355, name of move 356 = move 356" and so on.. Same for the pokemon's name. I think Everyone could deal with it, since it would be the only save editor that support expanded hack.

    As I said, just an idea, if you're too busy I understand, thank's for what you've already done :)

  6. I'm really not sure unk12 is the critical hit ratio. I mean, I just thought it matched the value of the critical field in BRT most of the time, but I'm not sure it only does critical hit ratio.. setting the value to either signed max, or unsigned max doesn't seem to let you land criticals every times, which is kinda puzzling.. Just by curiosity, have you tried any higher values than 55 ?

    For example, look at this video : https://dl.dropboxusercontent.com/u/13343993/my_pmd_research_files/Test_IronTail_BasePower0_TypeGrass_PP255_Acc124_crit255.avi

    I changed the type of iron tail to grass, set the base power to 0, set accuracy to 124 and set unk12 to 255.

    Crit would not happen all the time.

    I didn't ever even think to look hexa number as binary number...Good idea x). So I can't answer your question but I learned when I was looking in Pok conquest NARC files that putting the highest or lowest values was almost never good. I was gropping and I've always make what I wanted even if it took awhile. Here is the same thing. I seen your work, how to interpret data and I thought "Mhhh, good, what if I set this value in this place ?" xD

    And from what I seen in other game, I think I'm not able to find out why exactly that works how it works. The way the moves (and other stuffs) are coded is not that simple, I can only make tests as of yet ^^

    That's interesting.. That bitflag has a different effects with each different bit toggled on.

    0011 0000 => 48 (Hit every enemies in the room)

    0110 0000 => 96

    And they both share a common bit.

    And then if you look at this:

    0010 0000 => 32 (Hit every enemy 360 deg around user)

    ..it seems like bit 6 has something to do with hitting anything within the area of effect..

    But this brings the question, what's the difference between 96 and 48 then?

    Because I've seen healing and status move have much different values than offensive move do, and I'm not sure why. Like, 115 for example, was taken from a boosting move for the user.

    0111 0011 => 115 (Hit user)

    This makes even offensive moves hit yourself. And it has also bit 6 toggled on.. And the lower nybble contains a value too.

    Same answer as above ^^ I know (more or less) what 32/48/96/115 do, so I'll use it x)

    You know, I'm not 100% sure Neutral is a legit type xD It looks to me its only a string, and possibly an enum value, but there is probably no data for it.

    Its possible the game tries to read the damage multiplier outside the type table, and it just multiply the damage with whatever it read there.. Which would explains the insanely high values!

    Makes sense x)

    (Now, I wonder if we can't use this to find the type effectiveness table or the type data table?)

    If you have a boring way to find it out, perhaps I can help you, otherwise... Don't know x)

    I can't really tell.. Have you tried just running the game normally, without the cheat, and without having the move on your shinx ?

    Or maybe you could try modifying a more common move instead, restoring move #467 to default, and see what happens ?

    I'll try do redo some test to compare the results (if I change the name, if I don't, with or without cheat, and so on..)

    Its all good. ( Tu parlerais pas Français par hasard ? Il me semble que j'ai lu le mot "Ordinateur" plus haut xD )

    Yes I'm french, I didn't notice that you come from Quebec, it would be a great help because sometimes I feel like I'm not clear x)

    I guess Neutral type is probably not really implemented. Its probably just a string.

    I had no idea it was possible to get that much damage though. during testing, setting the field at a int16's limit values only resulted in these:

    https://dl.dropboxusercontent.com/u/13343993/my_pmd_research_files/Test_IronTail_BasePower32767_TypeGrass_PP66.avi

    https://dl.dropboxusercontent.com/u/13343993/my_pmd_research_files/Test_IronTail_BasePower-32767_TypeGrass_PP66.avi

    More test to do

    The type and whether the attack is physical or not is written in the description string of the move, its not replaced at runtime like the rest for some really weird reason.. So if you wanted to change the type that's displayed in the description, you need to modify the description string in the XML data directly.

    That was really headache inducing when I was trying to figure out if the move data contained the actual type of the move.. -_-

    It had to be so funny xD

    If you manually edited the ram without using a pre-made cheat, and you know what you're doing, it should be fine.

    Btw, do you have any more hints on how to reproduce the bugs you've been having ?

    More test x)

    That's so weird... Why compute the damage value as a 32bits integer, before truncating it like that ? :/

    I wonder if the NDS9 has some kind of overflow protection...

    I honestly don't know. And I'm wondering what are the effective damage ? 30232 or 17 XXX XXX ? Because if we suppose that the damages are something like (in binary)

    10000000000000000000000000 or something, the foe would take 0 damage ? XXX XXX XXX damages ? 0 + XXX XXX XXX damages ? xD Something else ? Have fun with these questions x)

  7. The thing on XML I didn't post weren't changed, that's why I didn't post these

    96 make hitting the whole floor (I've just looked at perish song to know it)

    255 make the move never miss (as in the main series, actually in the mains series there is a "move effect" that permit this but just putting accuracy at 255 makes the same thing)

    EDIT : Ok I just understood what you said. But I don't think it's signed since it always hit, perhaps it's simply 125 or more = always hit. But yeah it was not a good idea to set it to 255 without even check the other moves x)

    unk12 is critical hit ratio but I confess I took a random value higher than 8 xD (and 55 makes it always critical by the way)

    Next time I'll post a before/after to make it more practical to analyze ^^

    The high damages was done when I setted my pokemon in unknown type ( 0x12 ) and I didn't writed something accurate, but it was just huge, very huge, I'll try to post a screenshot

    For the cheat I understand but, this time I've just used it to make shinx have my "custum" attack so.. Do you think the problem may comes from it ?

    Oh and one thing, If you don't understand what I mean or if it isn't clear, just tell me please. My english REALLY need to be improved, as you can see, so.. I understand if you don't understand xD

    Just tell me and I'll make my best for making better explanations

    EDIT : Ok I have a screenshot :

    4273 - Pokemon Mystery Dungeon - Explorers of Sky (US)(XenoPhobia)_28_5022 capture ecran.png

    If it's not an attack worthy of Arceus... xD

    Weird, it says 1876.... damage, but we can see that Kabuto taking "only" 30232. Surely something to do with what you said

    EDIT 2 : The other attacks make usual damage, perhaps it's pokemon neutral + attack neutral that make something that huge

    EDIT 3 : Ok the neutral type is cheated xD. The damages are enormous no matter the type of the user. I put quick attack to neutral type and the damages become suddenly huge. Something weird : when I change the type of the attack, (quick attack for exemple) it stills display "Normal" type. But if I change accuracy to 255, it displays "Always hit". Is it because there is a check on the move for accuracy and not for the type ?

    EDIT 4 : Oh and it wasn't exactly cheats. I edited RAM, I don't know if it changes something

    583dd03737ffd_4273-PokemonMysteryDungeon

  8. I used cheat in my party before. Like rise IQ or rise stats, I used it one or twice. I also used RAM modification like move slop, PP slot, or fulfill belly. But that's not the first time I complete the game (maybe 3 or 4) and nothing like this happened before. But since I'm not very skilled to use your tool, the problem might came from me (and I hope it does).

    The thing is I've seen your post about the length of pokemon names, I thought it may be connected.

    I changed the move 467, wich is originaly called $$$ (but it's the judgment attack), I renamed it Judgment, wich is longer.

    Here is the only changes :

    <Name>Judgment</Name>
    	<Description>[M:D1]$$$\n\n\n\nBasic Information:[CLUM_SET:100][M:B20]</Description>
    </Strings>
    <!--Move data from waza_p.bin-->
    <Data>
    	<BasePower>80</BasePower>
    	<Type>1</Type>
    	<Category>1</Category>
    	<Unk4>96</Unk4>
    	<Unk5>48</Unk5>
    	<BasePP>7</BasePP>
    	<Unk6>30</Unk6>
    	<Unk7>125</Unk7>
    	<Accuracy>255</Accuracy>
    	<Unk9>75</Unk9>
    	<Unk10>1</Unk10>
    	<Unk11>99</Unk11>
    	<Unk12>55</Unk12>
    	<Unk13>0</Unk13>
    	<Unk14>0</Unk14>
    	<Unk15>0</Unk15>
    	<Unk16>1</Unk16>
    	<Unk17>1</Unk17>
    	<Unk18>15</Unk18>
    	<MoveID>467</MoveID>
    	<Unk19>0</Unk19>

    I'll edit when I know how to use spoiler. My Emulator is Desmume 9.9 -JIT x64, I am under windows 7, 64 bits.

    Again, I hope it's because of my cheat, but I usually use MANY cheats, and this time I only used a couple of them (and not the biggest). If you sure the freeze doesn't come from your tool, don't bother with it, I will survive x)

    EDIT : I also changed mismagius IQ groupe and his base stats, and used sky Editor to make it my leader, I mean, the principle character

    <BaseStats>
    		<HP>46</HP>
    		<Attack>14</Attack>
    		<SpAttack>25</SpAttack>
    		<Defense>15</Defense>
    		<SpDefense>15</SpDefense>

    EDIT 2 : I'm going to start a new party but with the same rom and without cheat (except the use of sky editor, at least to have judgment).

    EDIT 3 : Now I'm sure, Judgment take the type of the user, and if user is unknown type, the damage are tremendeous, like 85000000, don't know why (tested it on another ROM).

    EDIT 4 : I started a new adventure, the only thing I changed was the move judgment on my shinx. I made 7 - 8 dungeon, and there in the waterfall cave (or whatever) I used charge (power up electric move + up def spe) several times, it worked fine. But just now it begun to charge electric move again and again, it doesn't stop, I'm not able to move or make anything. Perhaps the only problem is changing the length of the move as you said earlier. I'll test it later.

  9. Hi,

    I think I found an issue, I don't know whether it's what you was talking about though

    I've changed the $$$'s name attack for Judgment, made 2 - 3 edits (power, accuracy) and everything was working fine, I even completed several dungeons.

    But at some point of the mystery jungle (I think it would be any other) my game froze

    Thankfully I made a savestate, so I reboot and retry, froze again. I tried like 10 times and it's always the same floor (5th), with cloudy-weather, always after 5 - 10 steps.

    Hope it can help :)

    EDIT : I used the disassembly to see what' happened (even if I don't understand precisely how it works)

    Usually in the dungeon (I would say 99 frames per 100) :

    R0 to R12 are 00 00 00 00, except for R1 which sometimes is 00 00 00 1F

    SP = 02 2B 98 78

    LR = 02 07 9C 10

    PC = 02 07 9C 10

    When the game freeze

    R0 = CA 70 22 6C (and becomes CF 00 14 A8 if I let the game playing)

    RA = E3 9A C6 86 (becomes E5 E2 BF A4)

    R2 = 0A 00 00 01

    R6 = 00 46 C6 86 (and becomes 02 8E BF A4)

    R10 = 02 34 C1 D8

    R11 = 00 00 00 01

    R12 = 02 24 67 3C

    SP = 02 7E 36 DC (becomes 02 7E 3F 7C)

    LR = 02 01 AB 78 (becomes 01 FF 80 C8)

    PC = 01 FF 80 C4 (and becomes FF FF 14 90)

    R7, R8 and R11 becomes 00 00 00 01

    Everething else is 00 00 00 00

    And it's weird because when I writed this things, the game has to wait, and then the freezing was far later, I mean the end of the dungeon for exemple

    I don't know if it means something or if it can help but it's all I have ^^

  10. When you say extracted you mean a .nds file ? In this case yes, I did. I exctracted the waza_p.bin too, with nitro explorer. I tried exportations command with C:/.../PMD2/Root/BALANCE/waza_p.bin, C:/.../PMD2/Root/BALANCE, C:/.../PMD2/Root, C:/.../PMD2, or just PMD2/Root/BALANCE/waza_p.bin, PMD2/Root/BALANCE and so on. Nothing works.

    But perhaps there's something wrong with my computer because even if I download the 0.1.1 version, the drag and drop doesn't work either

    EDIT : I had always the same error "Error while parsing...", and it's strange because whatever the path I've put, the same error appears, as if every single paths I tried was wrong. Then I tried Ordinateur/C:/... and I had "<!>-POCO exception : Exception<123> mypath"

    EDIT 2 : Progress (I hope) I have the error "Exception : Cannot determine the desired operation" when i writed ppmd11.exe -e -mv inputpath outputpath

    EDIT 3 : My inputpath was C:\Users\Public\ppmd11\PMD2.nds, and if I put C:\Users\Public\ppmd11\PMD2.nds\BALANCE I have Error parsing again. Sorry to be a dumb, whatever I try it doesn't work x)

  11. Ok I've done what you said, and I've made progress lol

    But there still is a problem, perhaps because I haven't type the good path, sorry if I've misunderstood, english is not my native language x)

    So, I've put waza_p, my rom and ppm_statsutil together to make it simple, I've writed "ppmd_statsutil.exe -e -mv C:/Utilisateurs/Public/Raph.../ppmd_statsutil_0_1 C:/Utilisateurs.../ppmd_statsutil_0_1/newdatamv

    Edit : I've tried with different things in the end of the path like .../wazap_p.bin , ../Myrom, I have the same error

    I'me pretty sure I've done something wrong but I don't know what ^^

    I have this error "Exception : Error while parsing "C/Users/Public/...." as parameter "input path"

    Oh and thank's to you two, I'm learning how to use my computer just because I want to hack PMD2, great :)

  12. Hi, I've not read the whole thread but I want to say a big THANKS for you psy_commando and for all of those who contribuate to the research on PMD :)

    However I've barely download your ppmd_statutil and I have a problem when I try to run it. It simply open un close immediately, I don't know what to do to solve this :/

    Thank's in advance for your help, and thank's again for your research (un edited judgment attack hitting the whole floor is really awesome :P)

×
×
  • Create New...