don't click here

General Project Screenshot/Video Thread

Discussion in 'Engineering & Reverse Engineering' started by Tweaker, Jun 26, 2008.

  1. Unlimited Trees

    Unlimited Trees

    we Do a Little Mischief, Mischief... Member
    95
    73
    18
    When
    UNITRES, Project Time, etc.
    After becoming a trial member at SSRG again, I kinda forgot that Retro was still a thing, so have these images I already posted at SSRG but I'm sharing here anyways.

    [​IMG]
    Green Hill remake: Now with tree and totem pole. Don't ask about the tree trunk and how big it is.
    [​IMG]
    Now it's time for me to copy-paste from SSRG:

    A mockup of art I worked on last weekend for the same hack as the one I showed screenshots of earlier. I'm not sure if I'll be able to get a lot finished in time for Christmas, so I'll just show it now. Besides ring and HUD, everything is original and made from scratch. Sonic's art I know won't be in the planned demo, as it is very unfinished, but whatever.

    Anyways, onto the level itself. It's called Marble City (as it's built on top of Marble :v) and it's basically Not Studiopolis Zone... But with Lava. At the moment the only progress I did so far besides the art itself is that I imported most of the art (still need to import a few tiles I forgot) into the game, and I finished a few blocks and like one chunk. Ugh, this is gonna be a pain to make...

    Now it's time for me to disappear for 2-3 weeks until I get the demo for this ready.
     
  2. Kyuu

    Kyuu

    Memory Access Violation Member
    So, I have no idea if I'm actually going to get back to this hack properly (last worked on sometime last year, i.e. September 2015) and do something with it, and this might not be the right thread for this in the first place (in which case, if a moderator wants to move it or trash it or what-have-you, go ahead), but I feel like a goddamn moron and want to share this little story. Maybe it'll help someone else avoid similar embarrassment, who knows :v:

    [​IMG]

    (I know, window caps are ugly, but Regen's screenshot function isn't working for me right now and I'm too tired to figure out why)

    So I've (partially) imported HPZ into my Sonic 1 hack, in part for Reasons™, and in part to make sure I had at least some idea of what I was doing with non-Hivebrain assemblies. I forget exactly what happened at the time, but something went horribly wrong at first - I think the game ended up trying to read the compressed art as instructions? It was pretty disastrous - but thanks to Regen Debug, I was able to track that down and fix it.

    Just to be sure everything was fine, I threw together a small layout with a few rings, monitors, and a spring. Now, while I've used Regen before, I'm much more used to using Gens+, though I'm fully aware it's not hardware-accurate. As a result, I gravitated towards that for the first test.

    Load up the level in-game, everything seems to be working fine... for the most part. I must've screwed up the spring's settings when putting the layout together (I still used SonED2 at the time), because jumping on it would just make Sonic clip into the wall next to it. Weird. I just kinda shrugged it off, figuring I'd fix that once it came time to actually finish the layout.

    To make sure everything was working, though, I gave the ROM a spin in Regen as well. Load up HPZ, walk to the right a bit, and... the game locks up horribly. Uh-oh.

    Fortunately, it didn't crash as such - it gave an address error and an illegal instruction, but pressing C a few times would clear the messages and let me run around again. Unfortunately, I had no idea where to even begin with tracking down the problem. I poked around with Regen's debugger and jumped around a bit in-game to see if I could figure out any pattern to where things went wrong, and only found that if I went far enough back to the left then ran right again, it'd happen again. At some points, unpredictably, the game would suddenly even go into demo mode for whatever reason - Sonic would run around and jump on his own, and pressing start would kick me back to the title screen.

    In case it wasn't clear, while I know what the ASM instructions do, I have no idea how to use them. The game's inner workings are still extremely enigmatic to me, even if I understand the theory to an extent. As a result, my "debugging" process was basically "flailing around with Regen and hoping something worked out."

    It didn't. At some point, I just gave up for a while and moved onto something else. Forward to now. I'm bored out of my mind, and for some reason I suddenly remembered this whole debacle. I figured, hey, I don't have anything to do, why not take a look and see if I can figure something out now, with a fresh perspective?

    So I spend an hour and a half or so basically repeating the same process - mess around with the debugger, try tracing a few addresses, attempt to understand what's making the game freak out as much as it is. No dice, but then it finally occurs to me, "Hey, maybe I should take a look at the addresses the game's spitting at me." I'm not sure how it took me over a year to figure that part out.

    I go searching for one of the addresses it gives me, and I'm led to a line in sonic.asm that looks remarkably similar to one of the lines I've noticed in the debugger:

    Code (Text):
    1. move.w  Spring_Powers(pc,d0.w),spring_pow(a0)


    "The spring code? How the hell could that be causing address errors?" And then it hit me. I open SonED2, load up the HPZ project, delete the spring, then immediately rebuild and test again.

    Lo and behold, everything works fine. One yellow spring with an invalid bit had me stumped for well over a year. Moral of the story: Don't rule out anything when debugging errors.



    TL;DR - i gave a spring invalid settings and it lashed out at me and my hack in anger and it took me a year and three months to figure out why :flunked:
     
  3. AURORA☆FIELDS

    AURORA☆FIELDS

    The cute one here Tech Member
    216
    24
    18
    Finland
    AMPS
    Hah! This is hilarious. Indeed, the spring code, for whatever reason, tries to keep the value in d0, in this case the subtype, to a reasonable range. However, this code not only allows for odd numbers, but numbers way beyond the spring power list. A lot of Sonic Team's code is actually like this. Just half-assed together. Never assume the code is safe to use, EVER. It's not, you have to be delicate with it.
     
  4. jubbalub

    jubbalub

    #1 Sonic Superstars defender Member
    1,003
    1,237
    93
    [​IMG]
     
  5. Sparks

    Sparks

    Member
    3,145
    183
    43
    Sondro Gomez / Kyle & Lucy
    That's some good looking level blocks, with a nice background color contrast too.
     
  6. SonicBurst

    SonicBurst

    That one guy Member
    5
    0
    1
    Germany
    Damn, that looks beautiful! I like the foreground and the background. It looks so great!

    (This is an comment to the Sonic screenshot by jubbalub. Page-Break happenend.)
     
  7. DarkVDee

    DarkVDee

    Duke Of Palettes Member
    362
    59
    28
    California
    Sonic DVD [CD2]
    Don't forget to credit Xtuart please.
     
  8. lordxernom

    lordxernom

    Hail Darkness Member
    56
    7
    8
    Kielce
    Tails Adventure LX, Tails Adventure X-L, Sonic Limbo, Tails Advent
    Merry Christmas!

    http://www.youtube.com/watch?v=2SPPlc_yXgI
     
  9. SonicBurst

    SonicBurst

    That one guy Member
    5
    0
    1
    Germany
    Sonic and Tails are going to an adventure to defeat Dr. Virus which wants to delete the entire world with the help of Dr. Robotnik. I like what you have done! Keep working on it!
     
  10. Devon

    Devon

    I'm a loser, baby, so why don't you kill me? Tech Member
    1,245
    1,415
    93
    your mom
    [​IMG] [​IMG]

    I'm a pr0 modeler.

    This is running in Virtua Racing, by the way.
     
  11. jubbalub

    jubbalub

    #1 Sonic Superstars defender Member
    1,003
    1,237
    93
    [​IMG]

    foreground art by MASTERestlib, can't link rn because SSRG is down

    yes I know this was used in SFactor I found that out after the fact
     
  12. Devon

    Devon

    I'm a loser, baby, so why don't you kill me? Tech Member
    1,245
    1,415
    93
    your mom
    Yoooooo! I got the Sega Virtua Processor to work on a Sonic 1 ROM!



    Don't believe me? Have a ROM!
     
  13. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    19,234
    969
    93
    Long-term happiness
    That's pretty neat - I'm assuming it's a straight port of the Sega logo code from Virtua Racing, then the routine tweaked a bit? Just how much can you do with this?
     
  14. Devon

    Devon

    I'm a loser, baby, so why don't you kill me? Tech Member
    1,245
    1,415
    93
    your mom
    All I really did was rip a model from Virtua Racing and made my own code to make it rotate. You can rotate and move each loaded model and so far, I've encountered 2 drawing "modes". 1 mode was made specifically for the SEGA screen in Virtua Racing, which doesn't have a camera (or should I say, a fixed camera in which you cannot move), and models can only really rotate on 1 axis, and relies on a single value to do the rest of the movement of the models. The other mode that allows for a movable camera and a world model, and free movement of each model. The mode I used for this build was the one with the camera and free movement.

    The only code that I stole borrowed from Virtua Racing was the code to set up the SVP for rendering, and of course, the actual SVP code and debug functions.

    The model format is also very simple, it just has a count of polygons in the model and then for each polygon, it starts off with the "texture rendering" flags, which allows you to draw a checker board style texture with each checker having custom size and colors, and then what follows are the positions of each point in the polygon. Each polygon is a triangle.

    It also seems you can also do sprite rotation in a 3D space, but I haven't gotten to knowing how that works just yet.
     
  15. MarkeyJester

    MarkeyJester

    Original, No substitute Resident Jester
    2,201
    431
    63
    Japan
    Oh my god! jealous~

    That's fantastic Ralakimus! I hope you intend to use it in a project of some kind. I would love to see a special stage or bonus round or something made out of this~

    Keep it up!
     
  16. Devon

    Devon

    I'm a loser, baby, so why don't you kill me? Tech Member
    1,245
    1,415
    93
    your mom
    Thanks, I do plan on making a tech demo and a Sonic hack with a 3D special stage (contest entry maybe?) once I have more info on the chip.

    An in-depth overview of how to work with it will also come out, too~
     
  17. Cooljerk

    Cooljerk

    NotEqual Tech, Inc - VR & Game Dev Oldbie
    4,505
    201
    43
    After sitting on my butt for a couple of months, I went ahead and migrated the rendering portion of the PC port of my game engine from SDL2 to OpenGL:

    [​IMG]

    This gets around a big bottle neck in SDL2 which prevented me from speedily using more than one palette on screen at once. Here's how it works:

    [​IMG]

    :D
     
  18. Devon

    Devon

    I'm a loser, baby, so why don't you kill me? Tech Member
    1,245
    1,415
    93
    your mom
     
  19. lordxernom

    lordxernom

    Hail Darkness Member
    56
    7
    8
    Kielce
    Tails Adventure LX, Tails Adventure X-L, Sonic Limbo, Tails Advent
    When Tails went Super to destroy enemies inside Windows...

    http://www.youtube.com/watch?v=LWiG4Ae64nM
     
  20. Black Squirrel

    Black Squirrel

    no reverse gear Wiki Sysop
    8,585
    2,481
    93
    Northumberland, UK
    steamboat wiki
    What's your reaction when I say "Yoshi vs. Windows"?