Capcom Releasing Fan-made Street Fighter x Megaman for Free

Rydian

Resident Furvert™
Member
Joined
Feb 4, 2010
Messages
27,880
Trophies
0
Age
36
Location
Cave Entrance, Watching Cyan Write Letters
Website
rydian.net
XP
9,111
Country
United States
I'm curious what it's made in, since people have such conflicting ideas.
  • It's not a ROM hack, let's just get that out of the way first.
    • It's 33MB (Mega Man 6 is 512KB, your average NES emulator is a few megs at max).
    • The game isn't in mapped memory.
    • It runs at a fluid 60FPS, versus the NTSC NES's 30/29.97 FPS.

  • The internals don't look like Game Maker fare either.
    • SFXMM_US.exe+2183DE - 89 50 04 - mov [eax+04],edx
      That's the function that modifies your health when you're hit. It's a standard memory/variable copy/move you'd expect to see in a game, and it modifies a single piece of memory each time it's called.

      However, compare that to what normally shows up in Game Maker when addresses are modified...
      AnUntitledStory.exe+2ABC - FD - std
      AnUntitledStory.exe+2ABD - F3 A5 - repe movsd
      Game Maker uses different functions to modify it's variables, and modifies a bunch with a single pass, each game tick.

    • The health in this game is addressed from a single-level pointer.
      ["SFXMM_US.exe"+00288C48]+4
      (And might actually be the entry point plus a static offset since it shows as static, but I'm too lazy to test this now.)

      Player/user variables in Game Maker are multi-level pointers, and don't show as static.
      [[["AnUntitledStory.exe"+001B0E14]+360]+14]+448

    • Health in the game does not appear to be a Double. I can't tell what exactly it is, but it's some sort of int.
      16450 = full
      16457 = hit once (3 or 4 bars off)
      16384 = one bar left

      However health and other general user variables in Game Maker are stored as Double (to make handling them easier, it doesn't need to deal with conversion).


And this is just info I gathered without even leaving the first room of the first level I played...

So either the latest version of Game Maker has greatly changed how it's been handling GML and designated actions for years... or this is using a different engine/framework.


EDIT: It's the first actually.

error.png


And before anybody jumps to conclusions, I caused that when hacking it. Anyways it seems game maker has greatly changed the way it deals with things, I suppose since they can't just have an .exe that interprets the script anymore since the stuff can be ported to Android and HTML5 and such, so they have to actually compile it.

Health was an int, but it was the only one, and IIRC it's a built-in global variable. All the custom variables are double.

Anyways if people want I'll make a small trainer for this, since I've been messing with the game already.
 

EMP Knightmare

Fixing GBATemp's Feng Shui Engine (using Win XP)
Member
Joined
May 3, 2010
Messages
644
Trophies
0
Age
44
Location
New York
XP
464
Country
United States
For those who don't know V2.0 of this game was released a short time ago, which has the following improvements:

-New password system
-Confirmation on ESC and Reset
-Fixed E-Tank Bug and other small issues
-Improved controller support
-Reset game with F12
-Additional sound improvements
-Controller defaults to keyboard on first launch
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: Its a shocking rack