Advertiser Content

Tool [Alpha] (MEH) Map Editor of Happiness Page 4

Started by Shiny Quagsire January 1st, 2014 12:18 AM
  • 126283 views
  • 367 replies

GoGoJJTech

(☞゚ヮ゚)☞ http://GoGoJJTech.com ☜(゚ヮ゚☜)

Age 20
Female
Earth
Seen December 9th, 2016
Posted December 5th, 2016
2,473 posts
6.9 Years
Spoiler:



This is all I get no matter what ROM I try to load. Loading banks in 0 seconds is impressive but it doesn't seem to be able to do anything with them :P
Double-click the banks word
I believe in Jesus Christ my Savior. If you do too, and aren't scared to admit it, then copy and paste this into your signature.
The HGSS Music Patch - The BW/2 Music Patch - ASM: Switch Music Based on Seasons
Romhack.me Profile - Pokecommunity Profile - Youtube Channel

Support me at my site!
Pokémon Platinum Red and Blue

pokenar

Lunatic Red Eyes

Age 24
Male
Seen February 28th, 2019
Posted November 26th, 2018
46 posts
11.7 Years
Wow, I can't believe I didn't think to do that! Your advice is astounding and helpful, kind gentleman.

edit: it does nothing
Yeah, I have the same problem, and the same person gave the same answer to me, so I don't why they'd give you the same response.
It's been so long since I was here I still had a ShinyGold sig

Shiny Quagsire

I'm Still Alive, Elsewhere

Age 21
Male
Hoenn Safari Zone
Seen March 10th, 2018
Posted April 17th, 2017
700 posts
10.3 Years
Yeah, I have the same problem, and the same person gave the same answer to me, so I don't why they'd give you the same response.
Spoiler:



This is all I get no matter what ROM I try to load. Loading banks in 0 seconds is impressive but it doesn't seem to be able to do anything with them :P
I'm trying to figure out why this happens. Currently I've tested it on OS X, Linux, and Windows 7 and they all work fine. If you're good with the command line and java happens to be in your executable path you might be able to use something like java -jar MEH-someversion.jar (obviously with the proper filename, I just can't remember it atm), and get a log of the command line. If not, I'll see about integrating a command line dump into MEH so we can get these problems sorted out.

Platinum Lucario

The Legendary Master of Light!

Age 26
Male
Warrnambool, Victoria, Australia.
Seen 2 Days Ago
Posted 3 Weeks Ago
1,595 posts
11.7 Years
Spoiler:



This is all I get no matter what ROM I try to load. Loading banks in 0 seconds is impressive but it doesn't seem to be able to do anything with them :P
I think I know why, it's because your ROM version and Game Code may be different. As such, it could be a different language, version number or anything like that. 'Cause games with different versions and game codes have different offsets in where the maps or banks are listed.

Try using AXVE (Pokémon Ruby US version), BPRE (Pokémon FireRed US version) or BPEE (Pokémon Emerald US version) on version 1.0. Not version 1.1.
[Platinum Lucario's Signature]
If you need to disable my signature, please give me advice on how to improve the CSS-DIV code. Thank you!
All credits for the avatar since 2008 goes to shorty-antics-27 (fanart account)! Thank you! ^^
Signature Status: Strikes: 1/3 | Infractions: 0/3
It's time to change the future...
to a positive direction!
Let's prevent things from getting bad!

I'm a ROM and ISO Researcher

Current Project: Researching Pokémon Mystery Dungeon Adventure Squad games (WiiWare)

pokenar

Lunatic Red Eyes

Age 24
Male
Seen February 28th, 2019
Posted November 26th, 2018
46 posts
11.7 Years
I'm trying to figure out why this happens. Currently I've tested it on OS X, Linux, and Windows 7 and they all work fine. If you're good with the command line and java happens to be in your executable path you might be able to use something like java -jar MEH-someversion.jar (obviously with the proper filename, I just can't remember it atm), and get a log of the command line. If not, I'll see about integrating a command line dump into MEH so we can get these problems sorted out.
I'll see what I can do about that, if it doesn't work, I'll test on my new Win-7 64 bit, I'm just avoiding it since I need it for school, and roms are dangerous things to work with.

I think I know why, it's because your ROM version and Game Code may be different. As such, it could be a different language, version number or anything like that. 'Cause games with different versions and game codes have different offsets in where the maps or banks are listed.

Try using AXVE (Pokémon Ruby US version), BPRE (Pokémon FireRed US version) or BPEE (Pokémon Emerald US version) on version 1.0. Not version 1.1.
if it helps, the version I am using is the "U" version of FR.

I just tested it on Win7 home premium 64bit and it opens the maps fine with both clean emerald and fire red roms.

Maybe there is some file missing or you edited the .ini?
I know the rom is clean as its a backup of the base rom I used to patch on THPP in the first place.
It's been so long since I was here I still had a ShinyGold sig

Platinum Lucario

The Legendary Master of Light!

Age 26
Male
Warrnambool, Victoria, Australia.
Seen 2 Days Ago
Posted 3 Weeks Ago
1,595 posts
11.7 Years
if it helps, the version I am using is the "U" version of FR.
If it is, then the game code should say "BPRE01". To check the game code, open the ROM up with a hex editor, the text should say something like "POKEMON FIREBPRE01" at the beginning of the ROM.
[Platinum Lucario's Signature]
If you need to disable my signature, please give me advice on how to improve the CSS-DIV code. Thank you!
All credits for the avatar since 2008 goes to shorty-antics-27 (fanart account)! Thank you! ^^
Signature Status: Strikes: 1/3 | Infractions: 0/3
It's time to change the future...
to a positive direction!
Let's prevent things from getting bad!

I'm a ROM and ISO Researcher

Current Project: Researching Pokémon Mystery Dungeon Adventure Squad games (WiiWare)

Golden Warrior

Pokemon Professor

Age 21
Male
Hoenn
Seen August 30th, 2014
Posted May 30th, 2014
375 posts
8.3 Years
I just saw this thread for the first time and I have to say... This is going somewhere. For now I'll keep using AM thanks to some of the other features not implemented here yet, BUT looking at the plans you guys have... I think I'll be using this over AM real soon. (Also once it's out of open alpha, of course.) Keep up the good work guys! You have my hacking team's full support!

(Also, is this the same interdpth that created Double Helix and ZeroFission? If so, I just wanted to say you have my respect as a map-maker...-maker. XD)
Current Pokemon re-play through: XD: Gale of Darkness

3DS/Pokemon Y FC: 5300 - 9087 - 1138
I'll be up to battle or trade, I'll also always be up to multibattle. PM me if you add me here, give me a reason that you're adding me, and I'll be sure to add you back!

Friend Safari: Bug Type
Pokemon: Paras, Beautifly, and Pinsir.

karatekid552

What happens if I push it?....

Male
Do you really want to know? Really?
Seen January 12th, 2015
Posted December 14th, 2014
1,766 posts
6.9 Years
I'm trying to figure out why this happens. Currently I've tested it on OS X, Linux, and Windows 7 and they all work fine. If you're good with the command line and java happens to be in your executable path you might be able to use something like java -jar MEH-someversion.jar (obviously with the proper filename, I just can't remember it atm), and get a log of the command line. If not, I'll see about integrating a command line dump into MEH so we can get these problems sorted out.
I have had this exact same issue on Ubuntu. I have tried double-clicking and i know I am working on BPRE. I think we have talked about this before.

Paired with Simba

DoesntKnowHowToPlay

Tiny Umbrella with Lots and Lots of Good

Seen February 12th, 2019
Posted June 15th, 2017
258 posts
7.6 Years
Not sure if this will help anyone, but I was able to fix the issue I was having by manually adding java to the PATH variable and running MEH from within the MEH's directory instead of Java's. (that is, what I should've done and should've been able to do in the first place but java is absolutely terrible about being easy to use)

Shiny Quagsire

I'm Still Alive, Elsewhere

Age 21
Male
Hoenn Safari Zone
Seen March 10th, 2018
Posted April 17th, 2017
700 posts
10.3 Years
I have had this exact same issue on Ubuntu. I have tried double-clicking and i know I am working on BPRE. I think we have talked about this before.
Ah, that makes sense. I'll have to figure out a way to fix that. iirc I had a similar issue with something else before so this isn't an entirely new problem per-se. I'll just have to mess with some of the file IO to get it to read from there the JAR is instead of where it's started.

Renegade

Time for real life...

Male
United States
Seen January 8th, 2015
Posted December 31st, 2014
997 posts
7.8 Years
I just download this after a break from hacking for a while. I was looking at the different tabs and eventually this happened when I viewed my map:
Spoiler:

The box of colors in the top left isn't supposed to be there O_o
Any ideas? Also, I can't "color" over the mess for some reason. It's okay for me because I have a backup, but I just don't want to use the Alpha if this is a common occurance.

Shiny Quagsire

I'm Still Alive, Elsewhere

Age 21
Male
Hoenn Safari Zone
Seen March 10th, 2018
Posted April 17th, 2017
700 posts
10.3 Years
I just download this after a break from hacking for a while. I was looking at the different tabs and eventually this happened when I viewed my map:
Spoiler:

The box of colors in the top left isn't supposed to be there O_o
Any ideas? Also, I can't "color" over the mess for some reason. It's okay for me because I have a backup, but I just don't want to use the Alpha if this is a common occurance.
Those colors are the debugging palettes. They are activated/deavitvated with the two blank buttons to the right of the "Save Map" button. It's overlayed so that is why you can't color over it. And yes, this editor is in no way shape or form to be used as a replacement for A-Map quite yet, but it's getting very close. All that's really left is proper repointing support, bugfixes, a Block Editor, and a Worldmap Editor. And from there the MEH-exclusive features begin like Day/Night pokemon, easy tile animations and all that jazz.

Shiny Quagsire

I'm Still Alive, Elsewhere

Age 21
Male
Hoenn Safari Zone
Seen March 10th, 2018
Posted April 17th, 2017
700 posts
10.3 Years
It's that time again. Time for another weekly(ish) update!

(My computer's been giving me issues so it defaulted to the usual Java look and feel >.<)

So if it wasn't obvious already from the screenshot above, I finally managed to finish adding repointing support. Now in case you're wondering what this means for you, it means that you can finally add events as well as remove them, which for a map editor is quite huge. The reason why I say I added repointing support is because when you add events you have to quite literally move all the data to another place where there's more room for the expanded data. Currently I haven't found any quirks outside of one from the Warp editor which causes some nasty stuff to happen (aka your warps are screwy after removing one of them) so I added a warning dialog until I fix it.

And to make things a bit easier, here's a list of things added in this weekly(ish) update:
  • Adding/Removing Events
  • You can now double-click events to edit their scripts.
  • Moving events now updates their position in realtime (ie the block follows the cursor instead of waiting for a mouse release) ala A-Map

And some things that aren't quite in there yet:
  • Better search paths for INI files, including a global ini stored in your AppData directory
  • A dialog notifying you of your missing INI as well as automagic INI extraction (probably via a dialog asking you if you'd like to generate one)
  • MEH actually remembering your script editor in the INI
  • Still need to test if XSE accepts the arguments given (if someone could test this that would be great since XSE refuses to work on Linux
  • Other executable extensions such as .sh and support to manually input a command to execute when selecting a script editor
  • Proper argument support for SEA (not really MEH related but still important)

Now as for what to expect next, you can expect quite a lot of changes. Since I'm done with most of the internal infrastructure, there's going to be a lot more features rolling in, including Day/Night pokemon support as well as a proper block editor, bringing MEH one step closer to being a suitable replacement for AdvanceMap. As always, suggestions are welcome, and I actually got a good suggestion for an image overlay feature a while back, where you can overlay an image over your map so that you can recreate different maps from something like RSE, DPPt, or for porting existing maps in the event of ROM corruption or switching ROM Bases. Let me know what you guys think of the idea or if you have anything you'd like to add. :)

pokenar

Lunatic Red Eyes

Age 24
Male
Seen February 28th, 2019
Posted November 26th, 2018
46 posts
11.7 Years
It's that time again. Time for another weekly(ish) update!

(My computer's been giving me issues so it defaulted to the usual Java look and feel >.<)

So if it wasn't obvious already from the screenshot above, I finally managed to finish adding repointing support. Now in case you're wondering what this means for you, it means that you can finally add events as well as remove them, which for a map editor is quite huge. The reason why I say I added repointing support is because when you add events you have to quite literally move all the data to another place where there's more room for the expanded data. Currently I haven't found any quirks outside of one from the Warp editor which causes some nasty stuff to happen (aka your warps are screwy after removing one of them) so I added a warning dialog until I fix it.

And to make things a bit easier, here's a list of things added in this weekly(ish) update:
  • Adding/Removing Events
  • You can now double-click events to edit their scripts.
  • Moving events now updates their position in realtime (ie the block follows the cursor instead of waiting for a mouse release) ala A-Map

And some things that aren't quite in there yet:
  • Better search paths for INI files, including a global ini stored in your AppData directory
  • A dialog notifying you of your missing INI as well as automagic INI extraction (probably via a dialog asking you if you'd like to generate one)
  • MEH actually remembering your script editor in the INI
  • Still need to test if XSE accepts the arguments given (if someone could test this that would be great since XSE refuses to work on Linux
  • Other executable extensions such as .sh and support to manually input a command to execute when selecting a script editor
  • Proper argument support for SEA (not really MEH related but still important)

Now as for what to expect next, you can expect quite a lot of changes. Since I'm done with most of the internal infrastructure, there's going to be a lot more features rolling in, including Day/Night pokemon support as well as a proper block editor, bringing MEH one step closer to being a suitable replacement for AdvanceMap. As always, suggestions are welcome, and I actually got a good suggestion for an image overlay feature a while back, where you can overlay an image over your map so that you can recreate different maps from something like RSE, DPPt, or for porting existing maps in the event of ROM corruption or switching ROM Bases. Let me know what you guys think of the idea or if you have anything you'd like to add. :)
It is now able to read both the clean FR and the patched FR "properly" and loads the maps (I will admit however, that I am now testing on my Win-7 64-bit computer,) however the wild pokemon editor fails to load pre-existing wild pokemon data, this applies to both the clean rom and the patched rom. I'll also ask the following since its why I was checking wild data specifically in the first place; Does MEH read the identity of the pokemon from its ini files or from the rom itself? since what I'm working with changes pokemon to something else.
It's been so long since I was here I still had a ShinyGold sig

Shiny Quagsire

I'm Still Alive, Elsewhere

Age 21
Male
Hoenn Safari Zone
Seen March 10th, 2018
Posted April 17th, 2017
700 posts
10.3 Years
It is now able to read both the clean FR and the patched FR "properly" and loads the maps (I will admit however, that I am now testing on my Win-7 64-bit computer,) however the wild pokemon editor fails to load pre-existing wild pokemon data, this applies to both the clean rom and the patched rom. I'll also ask the following since its why I was checking wild data specifically in the first place; Does MEH read the identity of the pokemon from its ini files or from the rom itself? since what I'm working with changes pokemon to something else.
Ah, I knew I had to have broken something with that repointing stuff. I did find a bug in the latest build that prevented wild pokemon from loading. I just fixed the issue and it should be up within a few minutes of this post (the buildbot takes a while to recognize that I pushed my changes). As for where it reads the data, I have everything set up to read from an in-game pointer, ie the value in the ini is a pointer to the pointer to the wild data. So it works on patched and unpatched ROMs.

EDIT: Fixed build is up, give that one a go and let me know if the problem persists.

pokenar

Lunatic Red Eyes

Age 24
Male
Seen February 28th, 2019
Posted November 26th, 2018
46 posts
11.7 Years
Ah, I knew I had to have broken something with that repointing stuff. I did find a bug in the latest build that prevented wild pokemon from loading. I just fixed the issue and it should be up within a few minutes of this post (the buildbot takes a while to recognize that I pushed my changes). As for where it reads the data, I have everything set up to read from an in-game pointer, ie the value in the ini is a pointer to the pointer to the wild data. So it works on patched and unpatched ROMs.

EDIT: Fixed build is up, give that one a go and let me know if the problem persists.
http://imgur.com/4ghbcoQ It seems to be working fine now, though it claims there is no rom loaded when there clearly is.
It's been so long since I was here I still had a ShinyGold sig

Shiny Quagsire

I'm Still Alive, Elsewhere

Age 21
Male
Hoenn Safari Zone
Seen March 10th, 2018
Posted April 17th, 2017
700 posts
10.3 Years
http://imgur.com/4ghbcoQ It seems to be working fine now, though it claims there is no rom loaded when there clearly is.
I still can't believe I haven't fixed that yet. XD
But this is normal, I haven't actually added that yet.

Also, I've added Day/Night pokemon support to MEH, so you can add different Pokemon to different times of day. Currently it requires primaldialga's DNS although a different system may or may not be released at a later time. Also, the tool currently doesn't auto-inject the ASM, so it's kinda useless for the general public at the moment. But for those who want to try it out, here's the ASM:
Spoiler:

.text /*Basic THUMB Headers, should be included in all ASM Routines*/
.align 2
.thumb
.thumb_func
.global daynightlevelswitch
@.org 0x08800000
 
main:
sub r0, r0, r4 /*Subtracts the value of R4 from R0, giving us a clean pointer to use*/
ldr r2, statusbyte /*Loads the ram offset 0x03005542 to R2*/
ldrb r2, [r2] /*Loads the byte contained in the offset*/
ldr r1, timetable
ldrb r2, [r1, r2]
add r2, r0, r2
b check
night:
add r2, r0, #0x0
add r2, #0x10
check: ldrb r1, [r2, #0x3] /*Loads the byte stored at the pointer's location plus 3 for checking*/
cmp r1, #0xFF
beq nodata
cmp r1, #0x8 /*Compares R2 with 0x08, the tell tale sign of a rom pointer, which is what should be stored here if you are using this hack*/
bne nextnormal /*If not equal, load as usual - Thanks Shiny Quagsire!*/
ldr r0, [r2, #0x0] /*Loads the word stored at the location pointed to in R2, the pointer to the wild data*/

nextnormal: add r0, r4, r0 /*Adds the number of bytes from the start of the table that the wild Pokémon slot the game has selected is*/
add r4, r0, #0x0 /*Adds the contents of R0 into R4*/
ldrb r0, [r4, #0x1] /*Loads the upper level limit for the Pokémon if they're stored systematically*/
ldrb r1, [r4, #0x0] /*Loads the lower level limit*/
cmp r0, r1 /*Compares the levels*/
bcc here /*If R0 < R1 goto "here"*/
ldrb r5, [r4, #0x0] /*Loads the lower level limit into R5*/
b here2

here: ldrb r5, [r4, #0x1] /*Reverses the lower and upper level limits to*/
ldrb r0, [r4, #0x0] /*avoid bugs if R0 was smaller than R1 above*/

here2: sub r4, r0, r5 /*Subtracts upper and lower level limits and stores results into R4*/
add r4, #0x1 /*Not entirely sure why, but it's from the original code, and is important for level loading, as leaving it out leads to odd bugs*/
lsl r4, r4, #0x18 /*This line and the next line make sure that you are only passing a byte to the next part of the routine, so it doesn't bug out*/
lsr r4, r4, #0x18
ldr r2, return /*Loads the return offset to R2*/
bx r2 /*Executes a Branch and Exchange goto to the offset contained within the register, ensuring it remains in THUMB mode by being 1 greater than the wanted location*/
nodata: sub r2, r2, r0
cmp r2, #0xC
beq night
add r2, r0, #0x0
b check



.align
statusbyte: .word 0x0203C000
return: .word 0x08082915
timetable: .word timetable2
timetable2: .byte 0x10 /*Amount to add to pointer per timezone*/
.byte 0x0
.byte 0x4
.byte 0x8
.byte 0x10
.byte 0x10
.text
.align 2
.thumb
.thumb_func
.global daynightwildswitch
@.org 0x08800060
main:
ldr r0, [r7, #0x4]
push {r0}
ldrb r0, enable_swarming
cmp r0, #0x0
beq noswarm
ldr r0, var_4fff
bl var_decrypt
ldrh r0, [r0, #0x0]
cmp r0, #0x1
bge swarm

noswarm:
pop {r0}
push {r2}
daynight: ldr r2, statusbyte
ldrb r2, [r2]
ldr r1, timetable
ldrb r2, [r1, r2]
add r2, r0, r2
b check

night:
add r2, r0, #0x0
add r2, #0x10
check: ldrb r1, [r2, #0x3]
cmp r1, #0xFF
beq nodata
cmp r1, #0x8
bne nextnormal
ldr r0, [r2, #0x0]

nextnormal: add r0, r4, r0
ldrh r0, [r0, #0x2]
back: ldr r1, lastpokemon
strh r0, [r1, #0x0]
add r1, r5, #0x0
pop {r2}
ldr r3, Back
bx r3

swarm: pop {r0}
ldr r0, var_4ffe
bl var_decrypt
sub r2, r0, #0x2
ldr r1, currentmap
ldr r1, [r1]
ldrb r1, [r1, #0x4]
ldrb r3, [r1, #0x6]
lsl r3, #0x8
add r1, r1, r3
ldrh r2, [r2, #0x0]
cmp r1, r2
bne daynightone
ldrh r0, [r0, #0x0]
b back

var_decrypt: ldr r1, vardecrypt
bx r1

daynightone: ldr r0, [r7, #0x4]
push {r0}
b daynight

nodata: sub r2, r2, r0
cmp r2, #0xC
beq night
add r2, r0, #0x0
b check


.align
Back: .word 0x08082b51
lastpokemon: .word 0x0300555C
statusbyte: .word 0x0203C000
vardecrypt: .word 0x0806E455
var_4fff: .word 0x00004FFF /*Replace this with whatever variable you would like to use*/
var_4ffe: .word 0x00004FFE /*Replace this with whatever variable you would like to use*/
currentmap: .word 0x03005008 /*Save block for maps. Here it contains a pointer to the actual map header and player position*/
timetable: .word timetable2
timetable2: .byte 0x10 /*Amount to add to pointer per timezone*/
.byte 0x0
.byte 0x4
.byte 0x8
.byte 0x10
.byte 0x10
.align 2
enable_swarming: .byte 0x0

These are for Fire Red and replace the two routines in this thread. Insertion is exactly the same and only those two routines are required. It also supports swarming although it's disabled by default, but can be activated using the flag at the bottom called "enable_swarming". The how-to on this is also in the thread, although the variable for the map operates slightly different. To change the map, set the variable 0x4FFE with the top byte as the bank and the bottom one as the map. So if I wanted a swarm on Route 1 I'd set variable 0x4FFE to 0x0313, since it's bank 3 and map 0x13 (19 in decimal).

Konekodemon

The Master of Pokemon Breeding

Age 34
Female
NC
Seen 2 Weeks Ago
Posted 2 Weeks Ago
2,051 posts
12.5 Years
What I've always had trouble with is the coding. You should make this as simple as possible for those who are beginners at coding and don't know anything about it.

Please check out my InuYasha fanfiction and tell me what you think.
Sign up for the Tokyo Crate and get tons of Japanese Snacks delivered straight to your door monthly, mostly Pokemon snacks: http://fbuy.me/mc6Yk
Advertiser Content