• 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?".
  • Forum moderator applications are now open! Click here for details.
  • 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.
wolfboyft
Reaction score
18

Profile posts Latest activity Postings About

  • I left the IRC channel, but what were you trying to say with some parts of disassembly being documented already that's common with crystal? I mean - does the disassembly already exist so that it would be 100% editable although it wouldn't be well documented and most functions would be just named "label_0x790A8" or such? It could be useful already that way, but if I had to put up the asm files from scratch for compiling the rom, wouldn't be worth it at all.

    Even then... not so sure if I need it. There is one thing in the end game though where I may want to hack some routines related to battle system. I may want to make the player fight a trainer instead of him using any pokemon. *Sounds weird but makes sense if I gave you more information.

    Other than that, I haven't planned anything that wouldn't be well implementable on my own by editing the rom file.
    The number 252 of course since the tables work so that you just have to make one new entry in each one related to this pokemon and it ought to work in the game properly. I don't think anything else should be done other than this.

    And like I said in my previous comment, the pokedex data for this pokemon no. 252 should work properly as well (which is not the case for any of the pokemon starting from 253) since the 8th bit of the last byte of the seen and caught is unused (or reserved this pokemon no. 252.
    I have no need to include all the 251 pokemon in the game so I just replaced it with one of them. I don't think it would have been difficult to add the 252th one in though since there is room for that in seen/caught data already, and the rest what comes to editing rom data would be just making room for a new entry in several tables.
    Quite the loaded question there, haha!

    I don't think it's as much of a problem as you make it out to be, as yes while a lot of people are still begging for tools / people to do everything for them, I don't think it's any worse than it was a few years back. If anything I think nowadays more than ever people are more receptive to learning the more nitty gritty aspects of dealing with ASM and more of the lower-level manipulation of the ROMs, and that's down to the information being made available. Now more than ever there are more open source tools, useful ASM tutorials / guides / templates / whatever, knizz's IDB for FireRed and the Emerald one, the C infrastructure that's been around for a while that FBI has recently popularised with his tutorial, etc.

    I honestly think the bigger problem is people still mystifying ASM when replying to people who ask how to do something ambitious. If the person replying doesn't know, instead of just not answering it tends to be the norm that they for some reason feel the need to post 'you can't do this without ASM'.
    Well no, I can't think of any myself :c but if anyone wants to ask something along the same lines they can. We don't tend to shut threads just because they're answered anyway haha.
    I'm going to leave your RH question thread open, just in case anyone has any similar/related questions to ask :). Glad you solved your problem, though.
    M
    Sadly, I do not have a commit that only adds the Physical/Special split, because that was one of the first things I added and I wasn't using Github yet at the time. It's extremely simple though.

    I have this routine stored somewhere in the rom (it can be in any bank, so as not to waste room with engine/battle/core.asm where all the important stuff is).

    Then inside engine/battle/core.asm, I have this tiny routine that I can call from inside the bank that gets everything setup and then calls the main check. (Originally, I had the whole routine here, but that was taking up too much room and so I had to move it).

    Then, you can search for PhysicalSpecialSplit inside engine/battle/core.asm to see the places to reference that. Basically, to do it like I did, you will need to:
    - Find the routine that wrote the word "TYPE/" on the move select menu in battle, and change it the way I did. So now it will check the move ID, and print "PHYSICAL/", "SPECIAL/", or "STATUS/" instead, based on what the move is.
    - You will need to find the routine that originally checked a move's type to see if it was Physical or Special, and modify it to now check a move's ID to see if it is physical or special. I think there were separate checks for the player and the opponent, but you'll find all of them if you search for the calls to that routine like I said.
    - I also modified the effect for Counter, so that instead of checking to see if the opponent used a Normal or Fighting type attack, it instead checks to see if it was a Physical attack, regardless of the move's elemental type.

    Hope this helps, and sorry I don't have an actual commit to link you to. Maybe one of these days I'll do what Danny-E33 has done and have a separate branch of vanilla Pokered that has commits for adding these features that I can use to show people, the way he has with things like adding new Pokémon. Anyways, hope this helps you at least know where to look.
    My own hack is pretty big, but the beginning of the hack doesn't really concentrate on story that much. The game starts on revolve on the story more later on.
    But this depends on what kind of story you have really. In Dark Energy, there are different things that have happened in the background before the game has even started and I want to make the player find out about all the necessary things during the gameplay (instead of making them read some background information in a thread) by learning something from scientists, archelogists, sidequests, and almost at the end, by traveling in time to the past to prevent someone from changing the history and so affect the present where you play in.

    This is just the way I happened to do this. If I had a story with less stuff going on, I would have probably tried to make a shorter game in general.
    The way I do this stuff myself is to keep plenty of different rom files on my pc naming them with version number starting from 0.01 like you have. Current version has version number something close to 10.00 :D, so 1000th version practically.

    Anyway, I plan out beforehand, what I'm going to include in the version I'm going to release in public next and make sure I just got all that stuff done for it (along with testing that everything should work out properly in the game after I'm done. At this phase, something will change because there ought to be a bug or two around which I haven't noticed, or have carelessly "put up" by re-changing a functionality or two which I had already implemented before and knew that that functionality worked back then). Once I'm done testing and bug fixing the game, I may even make another test run since I put up new releases very rarely. Once I'm done with another test run, I release that version I've got (let's say, v. 3.74) by name Beta 2, 3 or so on.
    And if I want to update that version with some new changes without changing the length of the gameplay that much, I may put up a new version by name Beta 2.1, 3.1 or so on (which could match to v. 3.92 for instance).

    What comes to version control as well, I've got a Github account, and in Github, I have put up a repository of all the necessary files I have in my pc. The file system I have is like this: /Dark Energy (newest rom files), /Dark Energy/Documents (all kinds of documents and tutorials I need. In case some stuff would be lost in hacking forums, I've still got it around), /Dark Energy/Edits (all kinds of files including information to what kind of stuff I have edited in the game that I wish to have information of. These for example include edits to some asm routines and where they are stored, trainers used in the game so I know straight which ones I haven't used for each Trainer Group, flags of all accessable in-game events (especially handy to have around at least in my case since I do all from scratch and don't use the events of original GS), and used wild pokemon entries for Johto, Kanto and water areas and so on...). Along with these, I've got backups folder where I store all, or most of the backups. I've still got very early version lying around but delete some in between because I'm not going to need all of them. The reason for keeping very early files is to make it simple to get rid of bugs that you notice in your current version that have existed way before already but just didn't notice it then until now. Bug fixing can be achieved with "forking method" by seeking, which version (for example 5.01) is the last one that doesn't have the bug and which version is the first one that has the bug (for example 5.02 in case I have kept backup lying around). Then I can make a patch file using unmodified file as 5.01 and modified as 5.02 and check what the patch file does. The smaller the size of the patch file, the easier it is to discover what causes the bug in version 5.02 and the same cause applies also for the current version you have (for example in this case, 5.41).

    Guess I explained way more than just replied to your message, but that happened - hahha :D Hopefully you'll find use of me writing more than I was meaning to at first. But the thing I was talking about Github there is that all this data is stored there as well. So in case my pc broke down, I would have backup of all the data in Github and I could just buy a new pc and download it from there. And Github is a software for version managing. You probably didn't mean to ask for advice with this kind of "version managing", but this came straight into my mind when I saw that word.
    Hahha :D
    Sure, no problem!

    I could try out your hack sometime later as well (unless I'm too lazy to do so). There are also other GB/C hacks I could try out but haven't felt like it that much. I'll much rather spend time hacking than playing, but taking a look at what others have done by looking at the threads is somewhat fun :)
    We won't make ban reasons public because they are between the staff and that member. Oftentimes their latest few posts won't be the sole issue, but you also don't see deleted posts or PMs, which can sometimes result in a ban as well.
  • Loading…
  • Loading…
  • Loading…
Back
Top