News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Reld

Pages: [1] 2 3 4 5
Personal Projects / Re: Mega Man X2 & X3 Wireframe Model Editor
« on: February 05, 2020, 03:49:30 pm »
I clicked "import from rom" and opened the mmx2 rom just cause i was curious, but yea nothing happened. did for some reason save to the ROM, i never clicked "write to rom" or anything. I double-checked in emulator, and nothing was overwritten or corruped at the title screen luckily.

I'm an idiot. I accidentally set it up so the import part of the file menu activated both the importing from AND writing to the ROM. If you use the little button that shows an arrow pointing from a cartridge to a piece of paper it should work. I didn't notice because I always use the button.

Edit: I should also mention that importing from the ROM might not work if the title screen X model has already been altered. I had a misconception about how the game read the data when I set up the importing, and I forgot to fix it. Basically if the new model has fewer vertices than the original model the progam won't know where to look for the vector data. I've already fixed this on my end and it should work whenever I upload a new version.

Personal Projects / Mega Man X2 & X3 Wireframe Model Editor
« on: February 02, 2020, 10:28:30 pm »
I'm working on a program for editing the wireframe models in Mega Man X2 and X3, inspired by falchion22's Mega Man Z2 project and DarkSamus993's disassembly of the model data.

There's a downloadable version of my first attempt available here.

It looks nicer than it actually is, I think. It's not super user-friendly (clicking in the viewports does nothing, you have to use the controls on the right to edit everything), and it probably has some bugs (the perspective rotation doesn't behave quite like you'd expect because I don't know jack about 3D math), but it does work. This version can only edit the title screen "X" model from MMX2. It comes with files for the "Z" model seen above, and a model of a cube.

Right now I'm working on adding support for the rest of the models in both games.

I've managed to get them importing alright for the most part, although the viewports are currently offset to place 149 on the Z axis near the center because that's where the center of the "X" model happened to be. That's a relatively easy fix. I've also run into a bit of a problem with the X3 models.

In X2 the models are all stored separately, with the vector data for the model first (which consists of a bunch of 16-bit pointers to the vertex data), followed immediately by the vertex data (X,Y,Z positions) for that model. In X3 the vector data for a bunch of the models is stored one right after the other, and then there's a big block of vertex data at the end that seems to be shared between them. This is throwing off my vertex count, but more importantly it means that editing one model might cause changes to another model if they happen to share vertex data.

I don't know for sure yet if any of the models actually do share data. I'm just guessing they do based on how the pointers jump around. It's possible the vertex data just happens to all be mixed up together, but none of it is actually shared between models.

I'm not sure why they did it this way. If some of the data actually is shared I would assume it was done to save space, but it looks to me like there's a bunch of empty space at the end anyway. I wonder if maybe I should try to split all of the models up and provide an IPS patch or something to apply before using the editor.

Personal Projects / Re: Megaman Z2
« on: January 27, 2020, 10:21:31 pm »
Nice work, DarkSamus! I don't think I would have been able to find those other models on my own. I haven't done any work on getting these loaded in my editor yet, but I've gone over the format and given it some thought. I don't think it should be too hard.

I suppose I should do a disassembly of the Mega Man X3 wireframe model data so we can get support for that game too. :thumbsup:

Definitely let me know if you do! Should I make a separate thread about this? I don't want to derail falchion's thread too much. There might not be that much to discuss about it so I don't know. I do intend to post here if I can get an edited X head working, since that's relevant to this project.

Personal Projects / Re: Megaman Z2
« on: January 26, 2020, 07:36:59 pm »

What do you think of this? It doesn't have the extra little cutouts that your Z has, but it has to be better than just blanking out the model completely. Here's a link to an IPS patch. It shouldn't change anything except the X model, so you should be able to apply it directly to your hack if you want.

I was kind of intrigued when I saw DarkSamus's post breaking down the model data and tried my hand at making a model editor (which is what I used to make that Z model).

It looks nicer than it actually is, I think. It's not super user-friendly (clicking in the viewports does nothing, you have to use the controls on the right to edit everything), and it probably has some bugs (the perspective rotation doesn't behave quite like you'd expect because I don't know jack about 3D math), but it does work.

Right now the only model it can edit is the title screen X. I have no idea where any of the other model data is in the ROM. If DarkSamus (or anybody) knows the location for any of the other model data I might be able to make them all editable. For this hack in particular it might be nice to change the X head model from the intro.

Here's a link to the editor if anyone wants to mess around with it. It comes with the Z model, and a model of a cube.

EDIT: The IPS patch I linked originally didn't work. I should have tested it before uploading. I've edited that link to one that should work.

Personal Projects / Re: Go Go Ackman 3 Translation Hack
« on: January 14, 2020, 09:28:02 pm »
Good work on the VWF. If nothing else, it's good practice and perhaps something that can be reused on other games. Though that usually depends on the game etc.

Thanks. You're right about it being good practice. I had done a VWF before as part of a little homebrew experiment thing, but I had to think about this one a little differently since I needed to hook it into the existing dialogue system. I always feel like I learn a little something when I work on ASM stuff. I'm glad you suggested it.

Hey Reld,
Amazing what you did. I been waiting for someone to do that patch for years. So thank you so much.

Thanks. Have you tried out the gameplay patch by any chance? I'd be interested to know what you think about that one.

I'm sure you'll find somebody, but if nobody reaches out, I can ask around for you to all the various translators I know.
I'm fairly new to all that but I know people who are native japanese. Can't promise anything but will ask them and come back to you.

If either of you knows somebody who might be willing to give the script a look, that'd be awesome. How much work they actually want to put into it is up to them. I mostly just want to make sure I didn't totally mangle any of it.

Also I'm doing some graphic design so if you need to fixe some fonts or anything manualy for any go go ackman project i'm IN!.

Thanks again. Until fairly recently I was more of a graphics guy than a hacking/programming guy myself. That might be my favorite part, so I probably won't be looking for any graphics help. I'll definitely keep it in mind though, and I appreciate the offer.

Personal Projects / Re: Go Go Ackman 3 Translation Hack
« on: January 07, 2020, 06:19:39 am »
Sorry. I guess I got fixated on the part about expanding the ROM and placing it at the end, and I glossed over the part about changing the ASM.

January 12, 2020, 06:09:28 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
I finally managed to get a VWF working. Here's a shot for comparison:

Old fixed width version on the left. Variable width on the right.

I'll need to go through the script and move all of the line breaks around. I'll probably do some revision to the actual text while I'm at it. The shop text uses a separate routine so I'll need to reproduce what I've done here with some small changes for that. I'll also need to redo the continue screen and stage names to make everything consistent.

I haven't gotten any feedback on the script at all so far. I did make a help wanted post, but no replies yet. If anybody's tried out the hack or taken a look at the script file I'd like to hear your thoughts.

Personal Projects / Re: Go Go Ackman 3 Translation Hack
« on: January 06, 2020, 08:54:38 pm »
I'm currently looking into doing a VWF as Pennywise suggested. I did a little mockup for myself of what it would look like, and I have to admit it would look nicer. I have an idea for how to handle the shop issue I mentioned, so that shouldn't be a problem. So far I've just been documenting the existing routines for myself to make sure I understand everything that's going on, but I should start writing the new routines either tonight or tomorrow.

The compressed font is at 0x18000 (03:8000) and it gets decompressed whole, once, to the RAM at 7F:8000.
I expanded the ROM and included the decompressed copy in the end (30:8000), and did an ASM change to make the game load that copy. I didn't test it too much. Hopefully this is of some use: Link

With this, Go Go Ackman 2 should be doable. You still might want to look into the decompression routine used here just in case it's useful for other graphics.

I guess that makes sense. If that's the case it might be possible to squeeze the uncompressed English font in the same space as the compressed Japanese font and modify the ASM to skip the decompression entirely. Or just figure out how the compression works and replace the compressed Japanese font with a compressed English one. Like you said, it would probably be necessary to figure that out for other stuff anyway. I did take a quick look at the address you mentioned and it doesn't look like it uses the same type of compression as 3, sadly.

I wouldn't mind doing 2 when I'm done with 3. If the text routines are similar enough (I haven't really looked at them yet) It would be pretty easy.

Help Wanted Ads / [Japanese to English] Go Go Ackman 3
« on: January 05, 2020, 11:26:03 am »
On the hacking side of things this game is basically done (see my project thread here.) I tried my best to translate the game myself, but I don't really know what I'm doing in that regard. I'm pretty sure I got the basic story right, but I wouldn't be shocked if there are individual lines that I totally botched. I'm looking for a translator to at least go over my script looking for anything I got obviously wrong. I'm also open to rewording things just to make it flow better. I just figured I should take it as far as I could by myself before asking for help.

Here's a link to a zip file with two patches and my current script file.

gga3_script.txt is my script file with both the original Japanese and my attempts at English translation.

Go Go Ackman 3 (English).ips is the full English patch.

Go Go Ackman 3 Improvement.ips is a small optional gameplay improvement patch. See the other thread for more details.

Personal Projects / Re: Go Go Ackman 3 Translation Hack
« on: January 05, 2020, 11:02:14 am »
Great news, and great timing - I just played through the first game in the series. :) The English patch for GGA1 dates back to 1999 and it's somewhat crude, but I enjoyed it even so.

Your patch looks rather polished, and I look forward to checking it out. GGA3 is supposed to be a lot better than GGA2, so I'll skip the latter for now.

Thanks! Definitely let me know what you think.

Why start with 3 when there are 2 other games before it?

I had tried all three of these games out a looong time ago, but only briefly. Something got me thinking about them again recently, so I wanted to give them another shot. For some reason in my head all three had already been translated, but when I went to look I realized only the first one had. I started playing the third one because I'd read that it was the best one, then I started getting some ideas and poking around in a debugger and it just kind of escalated from there.

Also, I might as well throw this out there, but if you're looking for an additional challenge or something else to learn, you could add a VWF aka proportional font to the game. Probably wouldn't be that hard given the nature of the game.

Hmm... I've though about this, but I'm not sure it's worth it. I know how to do it in theory, but I don't really need the extra space on screen, and it would break the item shops a little bit.

The item name on the upper left and the price on the upper right are both just one long line of text with a bunch of spaces in between. If I were to use a VWF I'd have to come up with some other way to position the price at least. Maybe a custom control code or something. It could be done, but like I said I'm not sure it's worth it. I'll give it some more thought I guess.

Anyhow, you might have better luck making a post in the help wanted section of the forum. Not everyone who's a translator probably doesn't check this section. You do seem to know what you're doing, so the chances are probably pretty good that you'd find a translator.

Thanks. I'll give it a shot.

I believe 2 has text compression? 1 was translated, but that patch is very old. Could probably use an updated version or something. 3 is supposedly the best though, so if you look at it that way, might not be a bad idea to get it done first.

I think 1 probably could use another look. I suspect the script had to be trimmed down/simplified quite a bit to get it all to fit. If it were me doing it I'd save that one for last though. The existing translation gets the job done just fine.

I did take a very quick look at 2 shortly after I got the script for 3 dumped. The text itself seems to be uncompressed and use almost exactly the same encoding (with some possible kanji differences I think). It seems like the font is compressed though, which strikes me as an odd choice since the font graphics are loaded one character at a time as needed. I think that would mean the game is constantly decompressing text characters on the fly. I might be missing some key detail there though.

Personal Projects / Go Go Ackman 3 Translation Hack
« on: January 04, 2020, 08:22:06 pm »

I have foolishly decided to attempt another translation hack, despite not knowing much Japanese. I was never able to find an interested translator last time, so this time I tried to take things as far as I possibly could by myself. Here's a link to a zip file with two patches and my current script file.

gga3_script.txt is my script file with both the original Japanese and my attempts at English translation. I would love it if somebody who actually knows Japanese could go over it and point out any places where I've gotten anything obviously wrong. I tried my best, and I'm pretty confident I got the gist of the story right, but I really don't know what I'm doing when it comes to this part.

Go Go Ackman 3 (English).ips is the full English patch. Even if you don't know Japanese it would be good to get some feedback on the English script itself, since up to this point literally nobody but me has seen it.

Go Go Ackman 3 Improvement.ips is a small gameplay improvement patch that I figured I should make optional. It will work with or without the translation patch. In the unmodified game if you attack in mid-air and you hit the ground before the attack animation is over it just gets cancelled in favor of the standing animation. For me at least this was causing all kinds of frustration as I'd be jumping around attacking enemies and maybe 20% of my attacks just... didn't happen. This patch prevents the animation from changing until the attack is finished, which in my opinion makes the game FAR more enjoyable to play. I highly recommend at least trying it out.

Things the English Patch Changes:
  • 16x16 Japanese font replaced with 8x16 English font.
  • Text routines modified to use 8x16 characters, and to only read one byte per character instead of two (effectively doubling script space).
  • Text speed increased to compensate for generally longer dialogue.
  • All Japanese background graphics have been translated.
  • All stage names (which are actually made of 16x16 sprites) have been translated.
  • Game Over/Continue screen has been translated.
  • Minor formatting/spelling issues corrected in end credits
    • "GOGO ACKMAN3" changed to "GO GO ACKMAN 3"
    • "SUPER VISOR" changed to "SUPERVISOR"

I also created some compression/decompression tools for the graphics and tile maps. I'll probably try to clean those up and submit them when I'm done with the hack. There's an additional form of compression I had to figure out to fix "EXECTIVE" in the credits, but I did that one by hand so I don't have a tool for it.

Uhh... I guess that's it for now. I never know how to end these posts  :D

Help Wanted Ads / Re: [Technical] [SNES] Simcity main menu and text boxes
« on: December 20, 2019, 11:07:22 pm »
It's not a very elegant process. I use BSNES Plus's sprite viewer and memory editor to figure out where in OAM the sprite I'm looking for is defined. Then I set a write breakpoint to one of those values and run a trace log from a little before I think the sprites get loaded. A lot of the time there's an OAM buffer somewhere in work RAM that gets copied during V-Blank via DMA. In that case I figure out where that buffer is by checking the values written to the DMA registers in my trace log, then I set another write breakpoint to some value in that buffer and run yet another trace. Then I just read back through the log to find out where the values are coming from. From there it's usually pretty easy to see patterns in the data and confirm suspicions with a little trial and error in a hex editor.

If there was no DMA involved and the values were just being written directly to OAM I'd just read back through that first trace log to see where they were coming from.

I should mention that the X and Y position values in the ROM are often different from what you see in OAM, so doing a search for those values usually won't work. There's usually some math that happens involving an overall X and Y offset that applies to multiple sprites. Sort of a meta-sprite "hotspot". That did apply in this case, but I didn't bother to look for those values because it wasn't really necessary.

Help Wanted Ads / Re: [Technical] [SNES] Simcity main menu
« on: December 17, 2019, 09:06:12 pm »
The menu text is stored as 16x16 sprites, not background tiles, so you're not really looking for a tile map. What you want is this:

Code: [Select]
ADDRESS: $0023A9
39 E4 64 30 "TY"
29 E4 62 30 "CI"
19 E4 4A 30 "D"
09 E4 48 30 "VE"
F9 E4 46 30 "SA"
E1 E4 44 30 "ME"
D1 E4 42 30 "SU"
C1 E4 40 30 "RE"
55 55

2B 2C E6 30 "IO"
1B 2C E4 30 "AR"
0B 2C E2 30 "EN"
FB 2C E0 30 "SC"
F2 FC 6C 30 "CE"
E2 FC 6A 30 "TI"
D2 FC 68 30 "AC"
C2 FC 66 30 "PR"
22 14 64 30 "TY"
12 14 62 30 "CI"
02 14 C8 30 "W"
F2 14 C6 30 "NE"
E2 14 C4 30 "T"
D2 14 6E 30 "AR"
C2 14 22 30 "ST"
E2 2C CE 30 "CT"
5F 55
D2 2C CC 30 "LE"
C2 2C CA 30 "SE"

The sprites are set up like this:
Code: [Select]
39 = X position
E4 = Y position
64 = tile number
30 = tile attribute (palette, x-flip, y-flip, etc.)

I don't know what the "AA FF", "EA FF", "55 55", "5F 55" bytes do. You can probably just leave those alone. I think the 00 bytes indicate the end of each group of sprites.

Ugh. :banghead: I uploaded the right one, but I copied the wrong link. It should be fixed now.

Here's a patch that fixes all of the bugs that have been mentioned so far: Link

For that last one it turns out I'd accidentally overwritten the instructions that tell the demo to move the blocks down faster as if the player was pressing down on the D-pad with the tail end of the VS screen name tile maps. Took me a while to figure out, but it was an easy fix once I did.

Thanks Masaru. That's an easy one too, thankfully. Looks like I accidentally pointed two pointers at the same address when I was moving things around.

Keep the bug reports coming! Unless there aren't any more bugs, of course.

Nice find Svenge. It only seems to happen when there's a zero in the tens place in the top score specifically, so I probably never would have seen it. I believe I've fixed it, but I'd like to wait just a little bit to see if any other bugs crop up before releasing a bugfix patch. If you're impatient and know your way around a hex editor just change the byte at $0218B7 in the ROM from $05 to $02 and that seems to fix it.

SuperStarFox: Assuming you're talking about the text that looks like cartoon cursing (a bunch of shapes and punctuation) Svenge is right. That's supposed to be like that.

Edit: I meant to say this in whatever my next post was, but I got distracted with bug hunting. Big thanks to Dana for letting me help out with this, and generally being a pleasure to work with! It's been a lot of fun, and I feel like I learned some things.

As far as SuperStarFox's question about what's next I can't speak for Dana, but for myself I have another project (Shounen Ninja Sasuke) that stalled out due to a lack of a translator. Check my post history if you want to see where I was at with that. I basically just need to find someone to translate the script. I don't have anything else planned for the moment.

Here's the patch for the six-letter names, finally: Link
Apply over beta 16.

I don't think there should be any bugs, but you never know. Changing the way names were written caused the numbers for scores and times to be written with 8 pixel wide characters as well, so I had to do a bunch of reformatting of a bunch of different screens.

You may have noticed from the above screenshots that I changed the character names at the bottom of the VS screen too.

Man that was a pain! :laugh: I moved the portraits and selector sprites over and expanded the green background boxes to make room for 7 tile wide names instead of 6. Most of the text graphics in the game are 2bp and can only use 3 colors plus transparency, but these are stored with the character portraits so they're 4bp and can use 15 colors plus transparency. The original game didn't really take advantage of that. I changed it so that the name graphics use the same palette as the green background, which had three unused black color entries that I modified to be the main brownish font color plus two transition colors. Combined with the darker greens that were already in the palette that gave me a lot of shades for some decent antialiasing. Because the new graphics used more colors they didn't compress as well though. I rearranged the tiles to be as efficient as I could, but it was still roughly 2000 bytes bigger than the original so I ended up moving and repointing a ton of stuff to make room. I think the end result was worth it, but oh boy was it more work than it looks!

Sorry I'm taking so long. I haven't been able to put as much time into it as I'd like, and there are just a lot of little things to change. I am still working on it though. I should be done with it some time this week.

Is there some graphic you're looking at that isnt antialiased? I think most of them are at this point.


I have the foundation work for six-letter names done. Editing them works perfectly on the naming screen, and they save properly. No patch yet because every other screen that displays names shows garbled nonsense at the moment, but this was the major hurdle. I'm fairly confident now that I can make it work. Just giving a little update.

Any chance you could share notes and compression tools that made this possible, to help the chances of other translations happening? The 8x16 font that's now included is one such major hurdle.

My personal notes are an absolute mess. Think randomly scribbling things on a napkin, but in text file form. I don't think they would be very useful to anyone.

The compression tools (exhal/inhal) already existed and are freely available. They're more general purpose tools for Hal games.

Then there's the game-specific tools that Dana was using for ripping/inserting the "script". Those are also freely available. The thing about the "script" though is that it isn't really a script in the traditional sense. I think the tutorial text might actually be stored as strings (I haven't looked at it at all) but pretty much everything else is stored as background tile maps. If you look back at some of the snippets of "script" that have been posted in this thread you'll see that each letter is broken into multiple parts (A1, A2, etc.) interspersed with hex values in brackets. The letter parts are references to a table file full of tile IDs, and the hex values in brackets are the tile attribute data (palette, x-flip, etc.). The script dumping/insertion tools just make the tile maps a little more human-readable. Personally I found it a little cumbersome and did most of my editing in a hex editor.

Edit: My point with all that stuff about the script being tile maps is that there isn't actually anything special about the 8x16 font. It's literally just a matter of placing two tiles in the tile map instead of four. No crazy ASM or anything. What I'm doing now with the names is a different story though.

Pages: [1] 2 3 4 5