Discussion in 'Discussion & Q&A' started by Malevolence, Jul 7, 2009.
I got a suggestion for you. Use mid2smps. It's way better.
Does exist a tutorial?
Because i don't understand how xm3smps work, so mid2mps...
There is a thread here somewhere. Also there should be a tutorial made by @amphobius on youtube.
Quick question: How do you put in your own custom SEGA sound in Sonic 1?
Can't remember the details exactly, but, IIRC, you need to format a wave file to a specific bit rate and frequency, and then strip the RIFF header. The headerless wave file can only be so many kilobytes large, and you might need to Fix the Sega Sound afterwards. I'm sure another forum member remembers the exact format and details. (I personally use the awesome Windows XP version of Sndrec32.exe to convert the audio file to the proper bit rate/frequency, and a command-line tool called RIFFStrip).
Alternatively, you could implement the Sonic 1 MegaPCM sound driver, which not only allows for high quality, custom DAC samples of any size, but also a custom Sega PCM sample of any size (within max ROM size limits of course)
Oh, yeah, MegaPCM! I wanted a link to it, but all of the ones I could find, they were broken. I'll give it a shot now!
EDIT: Well, now, I screwed up everything. I got MegaPCM installed correctly, but whenever I put in the PlaySample routine, it crashes every time the "Sega" sound is played. Now what?
Is it impossible to edit the level order?
I've try to edit lvl_ord.bin but don't understand anything.
So i've see this topic: http://sonicresearch.org/community/index.php?threads/sonic-1-changing-level-order.3791/
And i've this:
lvlord_sega = $0000
green_hill_act_1 = $0000
green_hill_act_2 = $0001
green_hill_act_3 = $0002
marble_act_1 = $0200
marble_act_2 = $0201
marble_act_3 = $0202
spring_yard_act_1 = $0400
spring_yard_act_2 = $0401
spring_yard_act_3 = $0402
labyrinth_act_1 = $0100
labyrinth_act_2 = $0101
labyrinth_act_3 = $0102
scrap_brain_act_3 = $0103
star_light_act_1 = $0300
star_light_act_2 = $0301
star_light_act_3 = $0302
scrap_brain_act_1 = $0500
scrap_brain_act_2 = $0501
final_zone = $0502
I want to switch the Marble Zone with Labyrinth Zone.
MZ is actually the 2nd zone, and LZ is 3rd zone.
But i want LZ is 2nd zone and marble the 3rd.
I've try everything but the order is always in the end:
GHZ - LZ - SLZ - SBZ (Marble and Spring Yard are missing i think.
So if someone have an issue, i need his help!
Changing level order?
First off, my opinion, if some bin files are short, I delete the incbin to replace it with DC.w ing it
If you want to change it in this way, as I've explained in the link, is easier to do.
However having marble as $0100 which is time consuming, is search up GHZ, you'll see stuff like
BGSCROLL data, DEFORM data, (I think there's another, not on my computer right now), and switch LZ & MZ. However you'd have to edit scrap brain data cause SBZ2 goes to LZ4 which is SBZ3, & to FINAL ZONE.
Good luck to me
So if i want Marble to $100, i have to change BGScroll, Deform and another (i will search), and just switch LZ & MZ?
I don't care if SBZ3 is Final Zone, i don't want LZ4 anymore in fact.
This is just because my GHZ is a winter zone, and Marble a desert zone, and i want a transition (LZ) between.
I've found the solution:
I've open a random Sonic 1 rom in Esrael Sonic Editor II.
There is a level order editor yet, so i made this and i save the rom.
I've split the rom on a disassembly and copy/paste the lvl_ord.bin file into my hack, i've build and test my rom hack and: IT'S WORKING!
(sorry if my english is bad )
Well OK, congratulations I guess. Be warned though, if you want to change the order later on, you might not be able to use the same method again.
Actually, it's still possible but as soon as he adds another level, then it becomes impossible...
I can use the same method, i have a backup/copy of my original lvl_ord.bin file, i have just to copy/paste the original in my misc folder, build, and use the same method (ESEII + s1 = split up = copy/paste lvl_ord.bin)
Yes i know it. I want to add a unique act after the ending sequence and i'ts still impossible or i'm just a noob.
You should still try and understand how to do it with a hex editor. So next time you run into something that requires it, you won't be stuck.
Uh, stuff like level orders, sizes, etc. should not even be on external binary files. Very few files from Misc folder seem to fit in. Otherwise all it unnecessarily does is add extra mental work.
Should I expect this to be ever addressed on the github disassembly?
Maybe. In all the time I've been maintaining the thing, I haven't seen anyone else step in to do it. I probably will, but I'd need to take a look at it first.
Try using TranslHEXtion. If you prefer using a .bin file
How would I make an object load different art in different zones? I've seen this done with badniks in some hacks and I think it would be quite awesome to have it in Warped World.
Put a zone check to skip the objects original mappings, and art tile location(if needed) and have it point to different ones, and just add the new art into that zones art load cue. For a little insight you could even load a different object using the same slot with this method. It's what I did when I ran out of object slots in ROS.
Just a curious question: I'm thinking of adding the animals with the properties that came from the ending sequence in Sonic 1 (which is in Object 28's coding in the Sonic 2 Disassembly) and I'm currently experimenting on the idea. But I have to ask (just to make sure, and I know that property $1 in Object 28 makes the game crash when placed), which property does the S1 ending behaviors for the animals start at?
EDIT: I've already ported the Sonic 1 version of Object 28 and it works fine.
Separate names with a comma.