News: 11 March 2016 - Forum Rules

Author Topic: MegaED X, the Megaman X hacking tool (Now with MMX2 support)  (Read 194332 times)

azoreseuropa

  • Sr. Member
  • ****
  • Posts: 392
    • View Profile
Re: MegaED X, the Megaman X hacking tool (Now with MMX2 support)
« Reply #240 on: June 24, 2017, 06:54:19 am »
I didn't have anyone testing the game but I played through the game mulitple times with Mega and with Bass.
However, if anyone actually finds problems, I won't mind updating it (assuming the person knows German well though) :P

Hi. Yeah, you are using AGTP's version.

You should have notice that Title screen has a bug compare to SFC version. The splash is incorrect since SFC's splash is fine.

The title screen inset after selected the character is still in Japanese title screen.

And there is other bug in 100 DATA COLLECTION. Number 16 supposed to be WoodMan instead of WindMan and thats all.

You fix the discoloration in Title Screen! :)

I did mentioned that to AGTP about it. And he is aware of the problem and didn't say if he is looking into it just yet.

I can post the screenshot here if you want. However, I won't be back until tomorrow evening, thought.
« Last Edit: June 24, 2017, 08:42:49 am by azoreseuropa »

Ice Man

  • Jr. Member
  • **
  • Posts: 70
    • View Profile
Re: MegaED X, the Megaman X hacking tool (Now with MMX2 support)
« Reply #241 on: June 24, 2017, 12:52:32 pm »
Hi,
I fixed the database with WoodMan <-> WindMan already before releasing my translation as well as many other things... If you tested my translation, please provide me the SRAM or Screenshots.
If you're talking about AGTP's translation, I'm not the person to contact with. ;)

Also, what do you mean wth incorrect splash? I don't see anything wrong with my fixed title screen at all. O_o

Yes, please post screenshots, IF it applies TO MY GERMAN translation.

azoreseuropa

  • Sr. Member
  • ****
  • Posts: 392
    • View Profile
Re: MegaED X, the Megaman X hacking tool (Now with MMX2 support)
« Reply #242 on: June 26, 2017, 08:11:25 am »
Hi,
I fixed the database with WoodMan <-> WindMan already before releasing my translation as well as many other things... If you tested my translation, please provide me the SRAM or Screenshots.
If you're talking about AGTP's translation, I'm not the person to contact with. ;)

Also, what do you mean wth incorrect splash? I don't see anything wrong with my fixed title screen at all. O_o

Yes, please post screenshots, IF it applies TO MY GERMAN translation.

Yes, it applied TO YOUR GERMAN translation, of course. :)

LOL! I don't know what to called it but I use the word" Splash Title".

Splash Title Screen:

GERMAN:



NO "K" LOGO on It!

ORIGINAL:



An original "K" logo is there.

GERMAN:



NO "K" logo on it while shooting.

ORIGINAL:



An original "K" logo is there while shooting.

AGTP version has the same problem as yours.
« Last Edit: June 26, 2017, 08:39:00 am by azoreseuropa »

Ice Man

  • Jr. Member
  • **
  • Posts: 70
    • View Profile
Re: MegaED X, the Megaman X hacking tool (Now with MMX2 support)
« Reply #243 on: June 26, 2017, 01:00:33 pm »
Oh, you mean that. I didn't find it problematic at all but I will check it on the weekend. Thanks for mentioning it. :)

azoreseuropa

  • Sr. Member
  • ****
  • Posts: 392
    • View Profile
Re: MegaED X, the Megaman X hacking tool (Now with MMX2 support)
« Reply #244 on: June 28, 2017, 03:39:18 pm »
Oh, you mean that. I didn't find it problematic at all but I will check it on the weekend. Thanks for mentioning it. :)

You are welcome. Looking forward to your fix because I hope AGTP will fix it too and your version is actually AGTP version that I notice. ;)

Anther one for inset title untranslated:



That's all.

pianohombre

  • Sr. Member
  • ****
  • Posts: 336
    • View Profile
    • My personal website of short stories and comics
Re: MegaED X, the Megaman X hacking tool (Now with MMX2 support)
« Reply #245 on: July 14, 2017, 04:05:34 pm »
Mega Man Maker program.
https://mega-maker.com/about.html

This basically mimmicks Mario Maker, but using classic 8-bit Megaman. I really like the idea for this, where you can just edit one level at a time using resources from MM1-6 or such, and then upload it to their servers. This is sort of what I wanted to do for Mega Ed X editor, when I saw it was closed source, and also what I've seen people do for level editors for the MMX series, using Game Maker, but most projects have only released teaser trailers and were abandoned most of the way through. It looks like this editor uses abilities up to MM4, so you can slide and you get a charge shot, but I don't see Rush or Beat anywhere in the samples played.

One of the setbacks for this program/editor is that it's mainly a rom hack so it doesn't really change the location in the rom where the graphics are stored, so if for example you want to edit stage 5 in MMX you have to use the resources for stage 5, unless you meticulously redraw each graphic for that stage, or copy/paste graphics from other stages/games. And if you only wanted to edit one stage for this game, rather than the entire 10 levels, because it's too big of a project to re-do it all, the game is still going to have all the original stages in there, the boss fight, and the long intro. So to even get to play your custom stage you will have to beat the long introduction scene, or enter a password to skip it all.

Also, one thing to note is that since it's a rom hack it requires the original rom so copyright issues are jeopardized for every fan that even wants to play that one stage that was edited, or who wants to edit that one stage, rather than these fan-made level designs that basically rip all the same material but do not require the original NES rom. It's also cool that there is a dedicated server, with a rating system for each level. I mean how many hacks are out there, where you have to manually apply all these patches, only to get a crummy game? Or where you just get a bunch of dead and broken links because someone uploaded their levels to geocities or wordpress then canceled their web hosting plan, or website so it's hard/impossible to find.
"Programming in itself is beauty,
whether or not the operating system actually functions." - Linus Torvalds

Ness

  • Full Member
  • ***
  • Posts: 119
    • View Profile
Re: MegaED X, the Megaman X hacking tool (Now with MMX2 support)
« Reply #246 on: July 15, 2017, 01:15:22 pm »
I don't want to derail the thread, but since you started on this topic.. Everything you pointed out, like changing graphics or enemies etc can be done in romhacks.
Also nothing prevents you from releasing hacks consisting of just a few stages and even making sure only those new stages can be played. It takes more involvment through romhacking, but you'll simply have more control over everything.

Also the "copyrights issues" romhacks can have apply to MM Maker as well, except ten fold for them. For romhacks officialy you need the game, but not for MM Maker.

The advantage of something like MM Maker are that it's more userfriendly, faster, and that you have more enemies at your disposal (because importing enemy AI from one game to the other for a romhack isn't as simple as importing graphics), everything else you simply have more freedom with romhacking. Even something as simple as foreground graphics, in MM maker you can't manually choose and connect each single 16*16 block's graphics, the program does it automatically, leading to unfitting looking graphics everywhere (their example stages are full of it), also you can't make or modify your backgrounds either, etc etc

MM Maker is nice for what it is, but it doesn't replace romhacking (it doesn't aim to), and if anything I'm sure it'll bring more people to MM hacking because they'll want to edit the actual games and have freedom on all the little things and details.

pianohombre

  • Sr. Member
  • ****
  • Posts: 336
    • View Profile
    • My personal website of short stories and comics
Re: MegaED X, the Megaman X hacking tool (Now with MMX2 support)
« Reply #247 on: July 15, 2017, 06:59:13 pm »
also you can't make or modify your backgrounds either, etc etc

I'm not really entirely sure how to edit backgrounds through MMX editor. They are disabled when you load the levels. So it doesn't surprise me, in MMX Generation, for example, that there is a solid purple background for the intro/highway stage. I'm working on a patch for the roms that will make it a little easier to test the game.

UPDATE:
I completed the patch over the weekend, specifically for this editor in mind. It's real simple it just skips over the introduction/highway stage and goes directly to the stage select screen like classic NES Megaman. I also included the assembly file with the instructions I used. So technically, if someone wanted they could have the game load directly into stage 3 for example, skipping the intro. This is useful if someone wanted to edit only one level with the Mega Ed X editor and thought it was pointless to load all the other junk. It can infinite loop on that level too. I just uploaded the rom hack today so it should be up on the site soon. So far it's only for MMX, but I have the address locations for MMX2 & X3 so I'll upload those next, after I create asm and patch files for those games.

I'll probably end up creating one or two levels for this game then, since it's a lot easier to just edit one level, than do all ten plus sigma stages and highway. Not sure if I will also hack the rom to give X some upgrades, plus one weapon, or have him just start out with the basics.

July 21, 2017, 02:34:53 am - (Auto Merged - Double Posts are not allowed before 7 days.)
Another thing I'm working on for the program, while I figure out how to get Undo done properly is I wanted to add the enemy names underneath the box, when in the event editor and the cursor has selected the enemy.

Example image:


Spiky is one of the better examples. I initially wanted to latch onto the GfxId variable, but it is grayed out many times when the box has selected an enemy. So for the majority of the images it will list the enemy name and no graphic. EventId is a unique variable name that is different for each enemy sprite. Most of the programming for this has been pretty straight-forward, just a few road-blocks. For the most part it's just grinding to add all the EventId's and Enemy names to separate arrays. I already have the highway stage complete, but there's approx 10 unique enemies on each stage for each game so that's 10 levels per game * 10 enemies * 3 games = approx 300 values OUCH!!

I'm going to upload a pre-compiled executable to github once I complete this part. This will include the other changes I made such as fixing Overdrive Ostrich compression in the layout, and a couple other levels that had bugs. I actually accidentally discovered how to use the program a little better. For example, the background for each stage is stored in TileSet Editor so you can edit the backgrounds there. I also was going to try and upload a how-to video on youtube approx 10-15 minutes long that shows how to use each part of the program, since some people have complained it's a little hard to understand how to use. That's all the updates for now. Thanks!
« Last Edit: July 21, 2017, 02:34:53 am by pianohombre »
"Programming in itself is beauty,
whether or not the operating system actually functions." - Linus Torvalds

justin3009

  • Hero Member
  • *****
  • Posts: 1659
  • Welp
    • View Profile
Re: MegaED X, the Megaman X hacking tool (Now with MMX2 support)
« Reply #248 on: July 23, 2017, 02:56:44 pm »
That'll be awesome! Thank you for doing a few things on this editor! Every little bit helps IMMENSELY!
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

pianohombre

  • Sr. Member
  • ****
  • Posts: 336
    • View Profile
    • My personal website of short stories and comics
Re: MegaED X, the Megaman X hacking tool (Now with MMX2 support)
« Reply #249 on: July 23, 2017, 09:14:19 pm »
Hi justin, thanks for the encouragement. Actually, that image I posted above is not accurate. As I've worked more with this caption stuff I realized type=2 is not actually an enemy. It's a trigger event that spawns the enemy in the next screen. type=3 means enemy, so the bounding box will be over the enemy in most cases, but it will not display the enemy in Event Editor window. The reason I want to do this is to make it more user-friendly. Unfortunately, many times in the editor it will not display the sprite of an enemy. At least if you have a text caption you will know, for example, this is where Utuboros spawns on Launch Octopus, without having to second guess by testing the game or watch someone play the level on youtube.

One cool little feature is the event editor also locks onto items, such as heart tanks, sub tanks, extra lives, and the capsules to upgrade X. Adding text is easy enough, but I'd really like to display the graphics for these objects (sans the capsules). Fortunately, the heart tank graphics are already done in X1&X2. X2 has the graphics for extra lives. I just need to find the address and palette information for the sub tanks. Although, I may just use a gif of those objects in the program. That would probably be a lot easier than trying to find addresses of all those things, re-arranging the tiles, and then having to match the palette.
"Programming in itself is beauty,
whether or not the operating system actually functions." - Linus Torvalds

Ness

  • Full Member
  • ***
  • Posts: 119
    • View Profile
Re: MegaED X, the Megaman X hacking tool (Now with MMX2 support)
« Reply #250 on: July 24, 2017, 03:23:20 am »
Using in-game graphics for those things is more complicated, but it has an advantage : if someone decides to change them, they'll appear changed in the editor as well.
For instance in MegaFLE X I was pleasantly surprised to find out that if you change the graphics of things like 1up etc, and even the default palette, the editor detects and shows that.

pianohombre

  • Sr. Member
  • ****
  • Posts: 336
    • View Profile
    • My personal website of short stories and comics
Re: MegaED X, the Megaman X hacking tool (Now with MMX2 support)
« Reply #251 on: July 25, 2017, 05:22:35 pm »
Good suggestion, Ness. I hadn't thought of that. That will have to be something for after I add the info text to all the sprites and items. (I'm about 60% complete). I was briefly looking into that graphic, but for example there's 165 graphics for MMX2. And even after decompression many times the tiles are not arranged properly. That plus the fact I had no palette. I think I can manually copy/paste a palette in TLP so I could detect which graphic it is by color.

I also noticed that checkpoints have a unique ID I could add.

Yesterday/today I've been fiddling around with adding/removing enemies. I previously thought it was near impossible to move enemies from different levels, and tried editing the C++ to compensate, but you don't need to edit the C++ at all. You just have to adjust the palettes and make sure there are not too many enemies in one screen. I got this one to load about 90% correctly. If anyone else has had success with switching sprites around and knows what could be the issue let me know.
"Programming in itself is beauty,
whether or not the operating system actually functions." - Linus Torvalds

justin3009

  • Hero Member
  • *****
  • Posts: 1659
  • Welp
    • View Profile
Re: MegaED X, the Megaman X hacking tool (Now with MMX2 support)
« Reply #252 on: July 25, 2017, 05:25:39 pm »
Pretty much any enemy can be used anywhere as long as their ID is set and the levels VRAM setup for enemies gets changed. Not sure why it's not just independent with the enemy itself but it works I guess.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

pianohombre

  • Sr. Member
  • ****
  • Posts: 336
    • View Profile
    • My personal website of short stories and comics
Re: MegaED X, the Megaman X hacking tool (Now with MMX2 support)
« Reply #253 on: July 26, 2017, 09:13:12 pm »


The messed up graphic is part of the ball and chain. This is a snapshot of the VRAM from bsnes. I deleted two enemies on the screen, Spiky and Gun Volt, and replaced them with one Hoganmer. I only changed one value in the Event Editor window for the loading event, and left the rest as default.
VRAM location: 1000
Palette Offset: 3E -> 4 (changed from 3e for spiky to 4 for hoganmer)
Palette Slot: 40

I've experimented changing the VRAM location. Usually it just makes the sprite super buggy.
Update: I figured that Hoganmer was pulling some tiles/graphics from Gun Volt, but didn't know how to fix it. By changing the Hoganmer's VRAM slot to less than 1000 it screwed up X's sprite. I left his VRAM location to 1000 and changed Gun Volt's to 1650 and all the sprites loaded correctly. Took some fiddling with, because initially changing GV's VRAM to 1620 wasn't enough. I'm not sure what the max value for VRAM is. That would be helpful to know.

On a separate note I've found the graphic number,address info for the sub tank. I was having a lot of trouble finding that before. There's 3 values used for loading these items graphics: graphic number, palette number, and assembly number. Program is usually able to load palette fine from graphic, but you need to enter assembly number manually. I'm assuming this number is near the graphic pointer table somewhere. It's able to find this number no problem for enemy sprite graphics, but for these special items there must be a different algorithm. I can probably get that working in the next week.

 
« Last Edit: July 27, 2017, 06:57:37 pm by pianohombre »
"Programming in itself is beauty,
whether or not the operating system actually functions." - Linus Torvalds

justin3009

  • Hero Member
  • *****
  • Posts: 1659
  • Welp
    • View Profile
Re: MegaED X, the Megaman X hacking tool (Now with MMX2 support)
« Reply #254 on: July 27, 2017, 08:35:23 pm »
There's two sections of VRAM for sprites.

X/Zero, health bars, weapon graphics, explosion graphics, health pellets, sub-weapon pellets, etc.. are in the first chunk of VRAM. Enemies use the entire 2nd chunk of VRAM so it's best if they stay there.

X1 and X2 might be different though. I know X2 sometimes used the first chunk with X/Zero and them for very small sprite objects or enemies at points, but generally the 2nd half was for enemies and objects only. X3 went with the method with the enemies strictly being in the 2nd half due to Zero being playable.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

pianohombre

  • Sr. Member
  • ****
  • Posts: 336
    • View Profile
    • My personal website of short stories and comics
Re: MegaED X, the Megaman X hacking tool (Now with MMX2 support)
« Reply #255 on: July 28, 2017, 01:21:39 am »
Yea, I saw Zero's VRAM tiles when messing around with values. I wonder if there's a way to change the sprites between X and Zero, without having to write new Assembly routines.

Anyways, looking through the project I saw that the collision editor works fine for Rockman&Forte, it just isn't loading up the graphics. I'm not sure how many values need to be changed so that it will load the majority of the enemy sprites. Maybe 7-10 address locations need to be swapped? 20? Anyways, I was thinking of looking into it as a little project after I finish this. Redguyy said he would check these forums periodically. He'd probably know more than me about it.

Any comments Redguyy?
"Programming in itself is beauty,
whether or not the operating system actually functions." - Linus Torvalds

andrewclunn

  • Sr. Member
  • ****
  • Posts: 288
    • View Profile
Re: MegaED X, the Megaman X hacking tool (Now with MMX2 support)
« Reply #256 on: July 28, 2017, 02:02:48 am »
Question, considering the on the fly loading of graphics into vram, would the possibility of holding level data in an external file and then accessing it via MSU-1 even be a remote possibility?

pianohombre

  • Sr. Member
  • ****
  • Posts: 336
    • View Profile
    • My personal website of short stories and comics
Re: MegaED X, the Megaman X hacking tool (Now with MMX2 support)
« Reply #257 on: July 29, 2017, 04:15:13 pm »
Question, considering the on the fly loading of graphics into vram, would the possibility of holding level data in an external file and then accessing it via MSU-1 even be a remote possibility?

Andrew, I'm not sure who you're asking, but I don't know how MSU-1 works. I've only seen videos on youtube of upgraded audio using MSU-1. As far as I know bsnes is the only emulator that even supports MSU-1. If you're looking to work with multiple files the layout (level data) can be decompressed in a giant directory of .bin files, using a separate program. But if you work with files that way the palettes aren't loaded in your tile editing software.
"Programming in itself is beauty,
whether or not the operating system actually functions." - Linus Torvalds

andrewclunn

  • Sr. Member
  • ****
  • Posts: 288
    • View Profile
Re: MegaED X, the Megaman X hacking tool (Now with MMX2 support)
« Reply #258 on: July 29, 2017, 09:05:54 pm »
SNES9X has it in the dev branch.  I've been experimenting with loading game assets in Super Mario World from the MSU-1.  Sort of got ahead of myself.

pianohombre

  • Sr. Member
  • ****
  • Posts: 336
    • View Profile
    • My personal website of short stories and comics
Re: MegaED X, the Megaman X hacking tool (Now with MMX2 support)
« Reply #259 on: July 30, 2017, 09:09:13 am »


I've just finished adding all the captions for sprites/objects for MMX1-X3 in the program. I've been testing the last couple days to try to get rid of any last-minute bugs. I have been making sure to get the correct enemy names off of wiki websites for these games. It includes rare enemies such as Batton M-501 in Armored Armadillo, and many of the chip upgrades in MMX3. It also gives info when the event editor locks onto a checkpoint, sub tank, weapon tank, energy tank, and extra life. The correct palette now loads for energy tanks in the game, and graphics show for weapon tank, sub tank, and extra life (except in MMX3).

Also included is the bug fix for Overdrive Ostrich during layout compression, which caused issues when saving. All the changes can be seen on github.

Source code:
https://github.com/rbrummett/megaedx_v1.2

Executable:
https://www.dropbox.com/s/p17cazs3t3352wv/MegaEdXv1.2.zip?dl=0
"Programming in itself is beauty,
whether or not the operating system actually functions." - Linus Torvalds