Jump to content

mikelan98

Member
  • Content Count

    7
  • Joined

  • Last visited

Community Reputation

10 Good

1 Follower

About mikelan98

  • Rank
    Member
  • Birthday 07/21/1998

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Did you stole my Drayano's SG/SS update? I inserted the Fairy type in Sacred Gold and Storm Silver 2 years ago, and I posted it. If you used my patch as base, please give credits. https://gbatemp.net/threads/pokémon-sacred-gold-storm-silver.327567/page-91
  2. Nope, those effects are in the Permission Editor in the SDSME BDHCs only affect to the height where the hero is at.
  3. It's been a loooong time, but finally, I've discovered how the BDHC files work. Please, if you are gonna copy this post in other site, give credits! First of all, I have to thank JayT, who discovered how is the file structured in different parts. Now, I'm gonna explain what does each part. Part P Sets the coordinates of certain points, used later to build rectangles or "plates" of different heights in the Part S. The structure of each element is the following one: 00 00 XX XX 00 00 YY YY XX XX are the coordinates in the X-axis, and YY YY the Y-axis ones. Keep in mind that the origin of coordinates is located at the midpoint of the map, not in a corner. This means that the lower right corner always use positive numbers, but the upper left corner instead must use negative numbers. Remember that FF FF = -1, FE FF = -2, FD FF = -3... The four tiles in the midpoint of the map are (FFFF, FFFF), (0000, FFFF), (FFFF, 0000) and (0000, 0000) respectively. Thus, the point of the upper left corner is: 00 00 F0 FF 00 00 F0 FF And the lower right corner: 00 00 10 00 00 00 10 00 Part Q It may be related to the stairs, but I need to investigate further. I've already solved this part, but I've still got to translate it to English Part R It sets the different heights where the hero can be in different rectangles or "plates". The structure of the elements of this part is: MM MM ZZ ZZ ZZ ZZ refers to the complete-tiles height, ie; for example if the character is at a neutral level, then ZZ ZZ = 00 00. If we climb some stairs and now we are in a height +1, then ZZ ZZ = FF FF (at higher height, instead of growing, it decreases) . If we were at a height +5, it would be FB FF. And if for example we were at -2; 02 00. MM MM measures, instead of full tiles, 65536-ths of tile. For not to talk complicated things; MM MM = 00 80 if the character is in a lake (it would be half a tile down, ie -0.5 tall) and MM MM = 00 00 if the character is anywhere else. For example, if we have: 00 80 FF FF it would mean: FF FF = Height +1 00 80 = Height -0.5 Total height = +0.5 Part S Link points of Part P to create the "plates" or rectangles, and assigns a height of an element of Part R. AA 00 BB 00 QQ 00 RR 00 AA is the number (in hex) of the Part P element where the point of the rectangle in the upper left corner is. Remember that the first element is 00, the second is 01, the third is 02... BB is the number (in hex) of the Part P element where the point of the rectangle in the lower right corner is. RR is the number (in hex) of the Part R element which establishes the height of the plate. If in Part P, for example, we have this: 00 00 F0 FF 00 00 F0 FF 00 00 10 00 00 00 10 00 And in the Part R we have: 00 00 FE 00 00 00 01 00 In the S part we have to write: 00 00 01 00 00 00 00 00 so we create a plate covering from (-16, -16) to (16, 16) (ie, the whole map) and setting a height in the Z axis +2. If instead out: 00 00 01 00 00 00 01 00 It would be the same as the previous one, but with a height of -1. Part T It divides the map in horizontal strips. Everything must be divided so if we move vertically (up or down) and thus we get in/out of a lake, stairs or similar, we must also be entering a new strip. It's hard to explain; the game can not detect when you enter an area with different height when you move vertically in the same strip (horizontally no problem) so you have to create a new separate strip. As I know it's hard to understand, here's a little picture: There is an element for each strip there. The structure of each element of Part T is: 00 00 YY YY NN NN UU UU Where YY YY is the Y-axis line where the lower limit of the strip is. NN is the number of elements of the Part U that are taken, and starting counting from element number UU UU. Do not worry, I'll explain later. For example, a map where there were two strips, one in the upper half and one in the lower half, would be: 00 00 00 00 NN NN UU UU 00 00 10 00 NN NN UU UU Part U It is a list or enumeration of adjacent plates/rectangles to the strip with which it is linked in Part T. That is, if I'm in the strip 00, Part T load a number of elements of the Part U where there are numbered all the plates where the player is or can access, from this strip. The structure of the elements of Part U is: SS 00 where SS is the number (in hex) of the Part S plate. Part U have many elements of these, and they are usually "segmented" in "zones". In Part T is loaded the number of items to be taken (NN NN) and the number it starts counting (UU UU). For example, in Part U we have: 00 00 01 00 02 00 04 00 00 00 03 00 04 00 And in the T part we are: 00 00 YY YY 04 00 00 00 00 00 YY YY 03 00 04 00 Then, from the first strip, we are or we can access the plates 00, 01, 02 and 04, while from the second strip we are or we can access the plates 00, 03 and 04. Remember they are all adjacent plates, ie, plates belonging to the strip and the ones which are in the limits but do not belong to it (ie, those plates whose height the game has to load while the player is in the strip).
  4. Actual version: 0.1.2 Lastest update: 2nd November, 2015 Summary Pokémon Light Platinum is a GBA hack launched in 2011 by the ROM hacker WesleyFG. Due to its success -partly because it was one of the few that managed to be completely finished- and that, in recent years, the NDS hacking has gained much more capabilities, I am now remaking this hack in this platform for people who have not played the GBA version yet, and partly to encourage people to start in this new platform; begin to investigate further and explore it. Changes Although the plot, locations, characters and other features are almost the same, there are many changes (some small, some more noticeable) with respect to the original version: There are 107 Pokémon more than in the original version. All those that appeared in the GBA version will appear in this version, these new Pokémon come from the six different generations. This leads to the Pokédex will be a little more difficult to complete, having a total of 493 Pokémon to capture from all generations. Due to these new Pokémon, now trainers have different Pokémon parties from the original game, and in the majority of cases, they will be much stronger. Similarly, the wild Pokémon will differ (although to a lesser extent) the original, with more variety in the different towns and routes and other ways to find wild Pokémon (such as honey trees, Headbutt, fishing...). Slight changes in the game's plot, although they are minor and the only reason they were made is to adapt the scripts to the capabilities of the base ROM. Fairy type inserted (with all its weaknesses and strengths). All Pokémon that in the sixth generation possess this kind, they will in the hack (Gardevoir, Sylveon...). In addition, the weaknesses and strengths of other types have also been updated to the sames they have in the sixth generation. Successfully introduced a new system of berries, that was lost in both original Light Platinum and HeartGold & SoulSilver. Now berry trees will be stationary on the different routes, and they will give one berry each day (at 00:00 everyday there are new berries on the trees which didn't have). The trees of all 64 different berries are hidden throughout the Zhery and Lauren regions, so you have to look very well to get them all. Other small changes, such as increasing the chance of finding a shiny Pokémon (from 1/8192 to 1/257), or changing the stats of some Pokémon that increase them in the sixth generation. Scans They will be updated every so often. http://i112.photobucket.com/albums/n172/mikelan98/compilacion_completo_ing_zpsxz3vvbag.png~original[/img] Credits and thanks :: Nex, Peyi, Kyledove, Zelda, GSC platinum, Alistair, Saurav, Shiny Lugia, Dewity, WesleyFG for all the tiles and graphics (both original game and this remake) :: WesleyFG for letting me remake his hack :: Spiky because I would never have achieved any of this without his help :: Rafa/Klein for always being there supporting me and being a good friend :: Trifindo because he was one of the few brave who dared with NDS hacking :: WaH, Hoko, NHD and PFG because due to these sites I am today the ROM hacker I am :: The music I listen to while I'm ROM hacking, because whatever happens, LODVG, Mecano, Amaral or ABBA will be with me forever Bugs, errors and possible changes The textures of the maps, and the game generally, works quite poorly in No$GBA. This emulator is not suitable to load homebrew or hack-ROMs, so if you're using an emulator to play the hack, please, use DeSmuME. Some flashcards give problems with the game, although they are only a minority. I'm still researching why it may be happening. As in the original HeartGold and SoulSilver, the game may freeze every so often or give graphical errors when entering a map. In the latter case, just open the Pokémon menu or the Pokédex and close it to fix the error. Neither the minisprite of the female character is changed, or the texts are adapted to differentiate between male or female. Please, select the male hero for the moment. If you pay attention, in some random points on the map you will be able to hear sea waves. This is something that, for now, is beyond my knowledge and I have no idea how to solve it, but I hope to be able to fix it in the future. Changelog Version 0.1.2 - 5th November 2015 - English version of the game, added some little things and the Esmerald City easter egg. Version 0.1.1 - 26th August 2015 - Inserted Pantem Town and Route 406 maps. - Fixed lots of bugs that were in the previous version. - Scripts and trainers of Route 405 are finished (now you can wake Snorlax up). Version 0.1.0 - 17th July 2015 - Version for testing and recording gameplay, filtered and with some bugs and errors. Download You can download the game and check out all new updates in the official page: http://goo.gl/RLR5H9
  5. I finally managed to repoint the second table, now the only thing I have to do is find the instruction which reads the table and shows the Pokémon in the Dex, but I think that this will be even hardest EDIT: Nevermind, I've been very lucky and I have found in stack an offset where I've found the rest of the instructions. HGSS with 721 Pokémon soon (?)
  6. After working hard and setting thousands of breakpoints, I managed to find the instructions which write the table (in random offset). They are in Overlay 18, and in RAM are located in 0x21F7EA0 (writes first table) and 0x21F8556 (writes second table). I'll see what I can do
  7. Hi everyone! Last week I managed to insert new Pokémon in HeartGold, but I have still to fix some things, like the Pokédex and the following overworlds. I've also managed to make the game to register the new Pokémon in the Pokédex (the game didn't allow to register Pokémon beyond the 493). There is a region in the RAM (around the address 022C0AB0) where there is a table of the registered Pokémon in the Pokédex. The first part is a list of the viewed/catched Pokémon, the second one, the proper table (4 bytes for each entry of the Pokédex). Format is PP PP TT 00, where PP PP is the index number of the Pokémon (2 bytes) and TT is the type of register of the Pokémon (00 = none, 01 = only seen, 02 = catched). But I have a problem, because if I see any Pokémon beyond Arceus, the table overruns other stuff in the RAM, making the game crash. The best solution is repointing the table (maybe to some free space from the Overlay 18 region), but there is also another problem. The table is stored in a different offset in the RAM every time I start the game. How could I find "something" to repoint the table to other region of the RAM?
×