(My face after reading your post) Well.. That was awkward..m Anyways, since THAT doesn't work, I guess I'll have to screw around with sonic 1's code instead of 2' s. Thank you for letting me know how it "works" in-game. I'll contribute at least SOMETHING to this wonderful thread when I finally have something that works. Thank You!
Here's Splats. Recreated by us folks at the Sonic 1 Beta Research Station. This is based on actual code and info gathered from Sonic 2 prototypes. More info below: Some info is wrong (Eg the symbol leak was actually a source leak by drx), but it's the general idea. You will have to add Splats to the PLCs (And tinker with 2(a0)) yourself and make your own mappings, but that's easy enough. Edit: Fixes added n stuff.
One of the major flaws of Sonic 3&k is that Sonic has inconsistent arm lenth, so, I'm working on fix it. Welp, It's not my fault if Sega doesn't know how important is to give a proper and consistent arm lenth for sonic :T Currently, I only have the walking sprites done, but I'll update you guys when I complete it. I considered Sonic's idle sprite to do this, since It has the perfect arm lenth for sonic. feel free if you want to use this in your hack, considering that a major part of people who played S3K agree that Sonic's inconsistent arm lenth ruined one of another bad sonic games that had potential to be good. also, have a great february 30th!
I do apologise regarding the thread being bumped but I believe what I'm about to show is a no-brainer. In Sonic (3) and Knuckles, when you hit a monitor from below, you hit it rather than it bouncing to the floor like in Sonic 1, 2 and 3. I'll demostrate it for you: Sonic 3 and Knuckles allows you to hit the monitor from below. This is not the case for Sonic 1 (applies to its sequel) If you want to make the monitor behave like S3K in Sonic 1 and 2, it's pretty simple to do. In Sonic 1 (Hivebrain), locate Touch_Monitor and this is what you will get: Code: Touch_Monitor: tst.w $12(a0) ; is Sonic moving upwards? bpl.s loc_1AF1E ; if not, branch move.w $C(a0),d0 subi.w #$10,d0 cmp.w $C(a1),d0 bcs.s locret_1AF2E neg.w $12(a0) ; reverse Sonic's y-motion move.w #-$180,$12(a1) tst.b $25(a1) bne.s locret_1AF2E addq.b #4,$25(a1) ; advance the monitor's routine counter rts If you look in the last 6 lines of code, it makes sure it reverses Sonic's y-motion in order for the monitor to fall. In S3K, the code is removed in order for this behaviour to occur, so remove the last 6 lines of code. In Sonic 2 (GitHub), locate Touch_Monitor and you will see this: Code: Touch_Monitor: btst #1,status(a0) beq.s loc_3F768 tst.w y_vel(a0) ; is Sonic moving upwards? bpl.s loc_3F768 ; if not, branch move.w y_pos(a0),d0 subi.w #$10,d0 cmp.w y_pos(a1),d0 blo.s return_3F78A neg.w y_vel(a0) ; reverse Sonic's y-motion move.w #-$180,y_vel(a1) tst.b routine_secondary(a1) bne.s return_3F78A move.b #4,routine_secondary(a1) ; set the monitor's routine counter rts As I previously said, the last 6 lines reverses Sonic's y-motion in order for the monitor to fall. We don't want that so remove it. Now save, build and let's test it! And there we go, it behaves as intended! Enjoy!
For those who imported the Sonic 1 prototype's Sega screen (courtesy of DeltaWooloo) to their disassembly: ...an easy yet obvious way to put a jingle there is to go to loc_24BC (which only exists if you port that Sega screen) and add the following code just after the $C00004 line: move.b #$96,d0; play Sega screen music bsr.w PlaySound_Special The 96 can be a different jingle like the Chaos Emerald one (mainly if you didn't expand the music index), so 93 can be typed instead. Here's a video of the code in action: Of course I'll supply the custom jingle, which can be functional if the music index acknowledges it: https://mega.nz/file/zXxiFA7R#xyj0M_tnk511xCnTqsvQhoKsJ_2GsvKEXirlH3bn5cI No credit/permission is needed as this is a very simple thing to do with Delta's addition. Cheers!
I present to you... the Sonic 2 Chaos Emeralds for Sonic 1! I'm sure these will eventually get overused and wear out their welcome eventually, but I still wanted to give these designs some appreciation. It's also to finally make this odd aesthetic change available for most hackers, newcomers or veterans. Plop the files from the folder to artnem in your disassembly, and you're ready to go. GitHub's disassembly may require renaming for the files. These are self-ported by me using Flex 2 with the sprites directly from Sonic 2 with enough palette alterations to work. Please credit me if you use them. The Yamaguchi shades of blue are not included obviously. Be aware this is not compatible for any hacking that requires a 7th emerald unless you modify the files here to make it work.
Had a spare font lying around in my workspace, and hey it fits into Sonic 1 just fine. A pre-made Nemesis compressed art file you can just drop into your project? Here you go! Credit is appreciated.
S1D has code for a standalone FG object, in contrast to the pylon. I am happy to provide this, but you will have to adjust it yourself for mappings, art, etc. Made for Github disasm, should be easy enough to port to Hivebrain with enough knowledge. Should work in vanilla S1: Code: FGObject: moveq #0,d0 move.b obRoutine(a0),d0 move.w FGObject_Index(pc,d0.w),d1 jmp FGObject_Index(pc,d1.w) ; =========================================================================== FGObject_Index: dc.w FGObject_Main-FGObject_Index dc.w FGObject_Display-FGObject_Index ; =========================================================================== FGObject_Main: addq.b #2,obRoutine(a0) move.l #Map_FGObject,obMap(a0) ; Add mappings here! move.w #$C000,obGfx(a0) ; Tweak this to change VRAM location tied to object! move.b #$14,obRender(a0) ; This must always be at least $10! The $10 in this ensures it displays in front of all level art. move.b #32,obActWid(a0) move.b #$40,obHeight(a0) move.b #0,obPriority(a0) ; This ensures it displays in front of almost ALL sprites. move.w obX(a0), $30(a0) ; Move this here to ensure proper sprite deletion. FGObject_Display: ;-- Thank you based pylon -- move.w $30(a0), d1 ; Store the original X position in d1.... move.w d1,d2 ; ... and make sure to allow us to readd it in d2 so we don't assume we are at X = 0. subi.w #$A0,d1 ; Subtract A0 from d1. sub.w (v_screenposx).w,d1 ; Subtract the current screen position from d1. asr.w #1,d1 ; Divide d1 by 2. (Tweak this to get different scroll rates!) add.w d2, d1 ; Add the base X position to our offset. move.w d1, obX(a0) ; Here's our new X position! @displaydelete: jsr DisplaySprite out_of_range @delete,$30(a0) rts @delete: jmp DeleteObject
I wanna present here my recreation of Sonic 2 Nick arcade prototype's Emerald hill zone act 1 & 2 layout for realization in final game (GitHub disasm) It's part of my (at this moment) cancelled hack of S2, which was recreated some content from prototypes. At that moment, when i start it- i hasn't assets from proto, so, i made it using SonEd2 and SonLVL I spend for this 3 MONTHS!!1! So, you can use it. I wanna place it here, because it can be lost media. Once- i accidentally delete this from my another disasm, and THIS was preserved purely by chance. P.S.: nameoffile(O).bin- objects; nameoffile(R).bin- rings P.P.S: If you want to make a hack with restoring of proto features- write me. I really can help with things
Hey remember that font I posted a year ago? It was pretty neat to see it used in hacks in the Hacking Contest, so to add some more variety I dug deeper into my archives to make some more... 5 more, in fact! Click the image to download a pre-compressed file that can be dropped into a Sonic 1 hack project.
Is there a version of the round one but for the SONIC TEAM PRESENTS & credits font? The original seems overused and I kinda want a change for it. It would be appreciated!
Yeah, I just whipped one up, here's the file. However it isn't completely ready to use, you will need to use a sprite mappings editor to reorganize the credits layout where the letter "M" is used, since the one in this font is narrower than the original (and trying to make it wider made it look like arse).
Okay, since someone asked for a link different from the user-exclusive Retro one, here is my Sand Shower level assets (Amy not included). Okay fine, it's not the REAL Sand Shower assets, but I tried making as plausible replica as I could of the mockup art. You also get a sneak peak of the new animated tiles I've yet to implement into Pink Edition. The scroll data is still incredibly primitive but it's programmed to work in 2 Player mode if you want an extra level to race in. (Also I'm afraid the ASM data is all in Xenowhirl, though this kind soul made a Github translation.)
So I am happy to give you guys smps' of stuff I did over the past week and so that I think are good. First one is Jungle Zone as well as another version with a different instrumentation[named Jungle Zone.1 obviously =P]. A GHZ Night smps thingy. Let me know what you think of these. I hope you enjoy these smps'. Take Care.
Yo guys. Yesterday I tried to improve Slot Machine icons in S&K for my hack/translation, to make it looks more like prototype. I found, that S3 alone uses the same palette as Nov.3 proto, and tried to recreate it with needs of final S&K Palette doesn't makes another graphics looks like trash (I hope, that I have checked all, but if there will be problems- say me) Btw, it uses only one palette line, because idk, lol Options alt.bin- graphics (should be renamed to Options.bin) Main.bin- palette file (Shouldn't be renamed )
This post contains outdated assets. For the updated version, please look at the next post. The original text is preserved below. This zip folder contains a bunch of blocks and tiles that you should be able to easily add to Marble zone, allowing you to create a curved slope of size equal to that used in GHZ. The tiles can be added right after all of the art of MZ, with no issue as far as VRAM is concerned. As far as blocks go, there is a convenient seven block long row list of blank blocks, but feel free to add them wherever you get no issues. You will need to set up collision yourself (the slope in question uses collision entries $6D-$73, by default), and making the chunk(s) is up to you. The art is in stock MZ palette. EDIT: As of now, the graphics only come in their "facing left" variant, and are not designed to be mirrored. The facing right variant will be made available soon.
Apologies for the double post, but I felt this update may have been missed if I just edited the main post. I went ahead and created some additional tiles. Now you can create more slopes in Marble Zone! In the zip folder included below, you'll find tiles and blocks for the following: - Left facing curved slope ($6D-$73) - Right facing curved slope ($6D-$73) - Left facing 22.5° straight slope ($1C-$1D) - Right facing 22.5° straight slope ($1C-$1D) The numbers to the right are the collision pieces the blocks need to use. The individual tiles can be safely imported right after all of the MZ art, without VRAM concerns. The individual blocks can be added anywhere that does not cause conflicts. The art uses the standard MZ palette.
Have some free HUD maps! (If you're using Hivebrain, go to _maps/obj21.asm) Spoiler: Code Map_282c: Map_282c_0: dc.w Map_282c_8-Map_282c Map_282c_2: dc.w Map_282c_2C-Map_282c Map_282c_4: dc.w Map_282c_50-Map_282c Map_282c_6: dc.w Map_282c_74-Map_282c Map_282c_8: dc.b $7 dc.b $F, $D, $80, $20, $28 dc.b $1F, $D, $80, $10, $0 dc.b $1F, $D, $80, $28, $28 dc.b $2F, $D, $80, $8, $0 dc.b $2F, $9, $80, $30, $30 dc.b $40, $5, $81, $A, $0 dc.b $40, $D, $81, $E, $10 Map_282c_2C: dc.b $7 dc.b $F, $D, $80, $20, $28 dc.b $1F, $D, $80, $10, $0 dc.b $1F, $D, $80, $28, $28 dc.b $2F, $D, $A0, $8, $0 dc.b $2F, $9, $80, $30, $30 dc.b $40, $5, $81, $A, $0 dc.b $40, $D, $81, $E, $10 Map_282c_50: dc.b $7 dc.b $F, $D, $80, $20, $28 dc.b $1F, $D, $A0, $10, $0 dc.b $1F, $D, $80, $28, $28 dc.b $2F, $D, $80, $8, $0 dc.b $2F, $9, $80, $30, $30 dc.b $40, $5, $81, $A, $0 dc.b $40, $D, $81, $E, $10 Map_282c_74: dc.b $7 dc.b $F, $D, $80, $20, $28 dc.b $1F, $D, $A0, $10, $0 dc.b $1F, $D, $80, $28, $28 dc.b $2F, $D, $A0, $8, $0 dc.b $2F, $9, $80, $30, $30 dc.b $40, $5, $81, $A, $0 dc.b $40, $D, $81, $E, $10 even