Sonic and Sega Retro Message Board: Demo Converter - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help
Loading News Feed...
 

Demo Converter gmv2bin

#1 User is offline Mercury 

  Posted 13 September 2010 - 01:55 PM

  • His Name Is Sonic
  • Posts: 1605
  • Joined: 13-November 08
  • Gender:Not Telling
  • Location:Location Location
  • Project:AeStHete (Sonic Time Twisted engine)
  • Wiki edits:130
You may have heard of this programme I made to convert GMV files into demo data that can be used in a Sonic disasm, but wondered where the hell to find it.

Well, now that it's been tested and actually used for a hack, I thought it was time for a public release.

Go here for more info.

The download includes the source, so if you know GML and need to make modifications, go wild!

#2 User is offline Selbi 

Posted 13 September 2010 - 02:09 PM

  • Obligatory new year's avatar remake.
  • Posts: 1374
  • Joined: 12-May 08
  • Gender:Male
  • Location:Northern Germany
  • Project:Sonic ERaZor
  • Wiki edits:320
To be honest, at first I was jealous when you got the Tech Member status. However, now I get why you are where you are: This is mind-fucking-blowing awesome and you deserve every single pixel of your green banner. =D

#3 User is offline MarkeyJester 

Posted 13 September 2010 - 02:11 PM

  • A word in your shell-like, pal
  • Posts: 1306
  • Joined: 22-July 08
  • Gender:Male
  • Location:Japan
  • Wiki edits:16
This will no doubt save a lot of time for many people out there who wish to create demo plays, nice going!

#4 User is offline Mercury 

Posted 13 September 2010 - 02:32 PM

  • His Name Is Sonic
  • Posts: 1605
  • Joined: 13-November 08
  • Gender:Not Telling
  • Location:Location Location
  • Project:AeStHete (Sonic Time Twisted engine)
  • Wiki edits:130
QUOTE (Selbi @ Sep 13 2010, 07:09 PM)
To be honest, at first I was jealous when you got the Tech Member status. However, now I get why you are where you are: This is mind-fucking-blowing awesome and you deserve every single pixel of your green banner. =D

Thanks, man. =)

#5 User is offline Selbi 

Posted 13 September 2010 - 02:51 PM

  • Obligatory new year's avatar remake.
  • Posts: 1374
  • Joined: 12-May 08
  • Gender:Male
  • Location:Northern Germany
  • Project:Sonic ERaZor
  • Wiki edits:320
Maybe I shouldn't ask, but I'm interested: What excactly does this program (technically seen)?

#6 User is offline tokumaru 

Posted 13 September 2010 - 05:10 PM

  • Posts: 576
  • Joined: 17-June 07
  • Gender:Male
  • Location:Rio de Janeiro
  • Project:Platformer for the NES
QUOTE (Selbi @ Sep 13 2010, 04:51 PM)
Maybe I shouldn't ask, but I'm interested: What excactly does this program (technically seen)?

Emulator movies are just logs of what controller buttons are pressed each frame, as are the demos in Sonic games. I haven't looked at Mercury's converter yet, but technically it should be just a matter of converting from the emulator format to the game format. IIRC, Sonic games use a compressed format composed of buttons+duration pairs, so that the same combination of buttons can be reused for up to 256 frames if it doesn't change in that time (it's a kind of RLE compression).

Mercury, I have a question of my own: How does the game handle lag frames? I mean, the emulator will record buttons for all frames, but does the game read a new button combination even on lag frames? If it doesn't, there could be synchronization issues, right?


#7 User is offline E-122-Psi 

Posted 13 September 2010 - 06:26 PM

  • Posts: 1164
  • Joined: 29-December 09
  • Gender:Male
  • Wiki edits:41
I've already given you my two cents about this program Mercury, but it has helped give my project that extra professional touch and I'm sure it will come in useful for many others. I can see a few people having a lot of fun with this in projects.
This post has been edited by E-122-Psi: 13 September 2010 - 06:28 PM

#8 User is offline Irixion 

Posted 13 September 2010 - 10:06 PM

  • Posts: 1320
  • Joined: 30-December 04
  • Gender:Male
  • Location:Ontario, Canada
  • Project:Life
  • Wiki edits:152
Oh my, many thanks for this! smile.png Does this do 2P's controls as well? (I recon S1/S2's data is nearly the same, so is it possible to have two people playing in split screen mode)

#9 User is offline theocas 

Posted 13 September 2010 - 10:17 PM

  • Battery not included. Each set sold separately. Assembly required.
  • Posts: 343
  • Joined: 10-February 10
  • Gender:Male
  • Location:Austin, TX
  • Project:Mega CD PCM Sound Driver
  • Wiki edits:50
Wow... this is awesome! Forgive my ignorance, but where are the levels the demos are recorded for stored? I really want to show off different levels. Also, I get this strange error upon starting it:
http://cl.ly/4e1d55b82afdc5e36674
And once it finished starting, I get this screen instead of the programme:
http://cl.ly/2498d52ebdb8322bcf6a
It's a good idea to fix that smile.png

#10 User is offline Mercury 

Posted 14 September 2010 - 01:39 PM

  • His Name Is Sonic
  • Posts: 1605
  • Joined: 13-November 08
  • Gender:Not Telling
  • Location:Location Location
  • Project:AeStHete (Sonic Time Twisted engine)
  • Wiki edits:130
QUOTE (tokumaru @ Sep 13 2010, 10:10 PM)
QUOTE (Selbi @ Sep 13 2010, 04:51 PM)
Maybe I shouldn't ask, but I'm interested: What excactly does this program (technically seen)?

Emulator movies are just logs of what controller buttons are pressed each frame, as are the demos in Sonic games. I haven't looked at Mercury's converter yet, but technically it should be just a matter of converting from the emulator format to the game format. IIRC, Sonic games use a compressed format composed of buttons+duration pairs, so that the same combination of buttons can be reused for up to 256 frames if it doesn't change in that time (it's a kind of RLE compression).

Spot on. You remember correctly.

QUOTE
Mercury, I have a question of my own: How does the game handle lag frames? I mean, the emulator will record buttons for all frames, but does the game read a new button combination even on lag frames? If it doesn't, there could be synchronization issues, right?

To my knowledge, Gens Rerecording doesn't record during dropped frames.

There are a few times that I'm familiar with in the Sonic games when frames are dropped that don't accept input. (Most annoying is the Sonic CD title screen, because it makes entering the codes a pain.) At these times, the Gens Rerecording frame counter turns red and I don't think it records input. I could be wrong - but everything I tested synched up fine.

QUOTE (Irixion @ Sep 14 2010, 03:06 AM)
Oh my, many thanks for this! smile.png Does this do 2P's controls as well? (I recon S1/S2's data is nearly the same, so is it possible to have two people playing in split screen mode)

No, it doesn't. I basically forgot about player 2. If you give me a couple of days I can add the feature, though.

QUOTE (theocas @ Sep 14 2010, 03:17 AM)
Wow... this is awesome! Forgive my ignorance, but where are the levels the demos are recorded for stored? I really want to show off different levels. Also, I get this strange error upon starting it:
http://cl.ly/4e1d55b82afdc5e36674
And once it finished starting, I get this screen instead of the programme:
http://cl.ly/2498d52ebdb8322bcf6a
It's a good idea to fix that smile.png

My programme was made in Game Maker (which I suppose I should have mentioned earlier.) That looks like a compatibility issue with GM and your system; can you play any other GM games on your system? If so, then the error's on my end and I'll look into it.

#11 User is offline theocas 

Posted 14 September 2010 - 07:20 PM

  • Battery not included. Each set sold separately. Assembly required.
  • Posts: 343
  • Joined: 10-February 10
  • Gender:Male
  • Location:Austin, TX
  • Project:Mega CD PCM Sound Driver
  • Wiki edits:50
QUOTE (Mercury @ Sep 14 2010, 11:39 AM)
QUOTE (theocas @ Sep 14 2010, 03:17 AM)
Wow... this is awesome! Forgive my ignorance, but where are the levels the demos are recorded for stored? I really want to show off different levels. Also, I get this strange error upon starting it:
http://cl.ly/4e1d55b82afdc5e36674
And once it finished starting, I get this screen instead of the programme:
http://cl.ly/2498d52ebdb8322bcf6a
It's a good idea to fix that smile.png

My programme was made in Game Maker (which I suppose I should have mentioned earlier.) That looks like a compatibility issue with GM and your system; can you play any other GM games on your system? If so, then the error's on my end and I'll look into it.

A few ones, but there are only one or two that work. May I ask why Game Maker was chosen to code this app in?

#12 User is offline Mercury 

Posted 15 September 2010 - 12:07 AM

  • His Name Is Sonic
  • Posts: 1605
  • Joined: 13-November 08
  • Gender:Not Telling
  • Location:Location Location
  • Project:AeStHete (Sonic Time Twisted engine)
  • Wiki edits:130
QUOTE (theocas @ Sep 15 2010, 01:20 AM)
May I ask why Game Maker was chosen to code this app in?

I use it for everything, so it was convenient. Come to think of it, that's rather pathetic, because a GM game is over a megabyte, which is just overkill for something like this. Plus, the compatibility issues, blah blah blah. I guess I'm just lazy.


#13 User is offline Impish 

Posted 15 September 2010 - 01:15 AM

  • Posts: 606
  • Joined: 22-February 08
  • Gender:Male
  • Location:New Zealand
  • Wiki edits:7
Bwahaha I love that! You use game maker for hacking tools, thats great Mercury! Game maker is so versatile and easy to use, if inly it was faster and worked on linux.

#14 User is offline SonicVaan 

Posted 16 September 2010 - 10:20 AM

  • The probably one and only cybergoth in this community. '_'
  • Posts: 362
  • Joined: 16-May 08
  • Gender:Male
  • Location:Germany, Cologne
  • Project:Betatesting, Various hacking projects, programming synthesizers, music production
  • Wiki edits:52
Just a question, but how do I record when the level starts, when Gens Rerecording takes me back to the start of the game?

#15 User is offline nineko 

Posted 16 September 2010 - 10:29 AM

  • I am the Holy Cat
  • Posts: 5238
  • Joined: 17-August 06
  • Gender:Male
  • Location:italy
  • Project:I... don't even know anymore :U
  • Wiki edits:5,251
QUOTE (SonicVaan @ Sep 16 2010, 05:20 PM)
Just a question, but how do I record when the level starts, when Gens Rerecording takes me back to the start of the game?
Record from now and make a savestate

(Then ignore the savestate)

Though I have to ask, during the private tech release it was mentioned that the recording must start at a precise moment or it won't sync. Given that I didn't try this yet, how is that handled? Should people manually keep an eye on a certain memory location in Gens Rerecording and wait until it reaches a certain value? (not leaking the ram address nor the value, sorry, this is up to Mercury and/or Marc)
This post has been edited by nineko: 16 September 2010 - 10:34 AM

  • 2 Pages +
  • 1
  • 2
    Locked
    Locked Forum

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users