this is super helpful. got the wiki updated, thanks Now here's a question: Which versions of the Sonic R soundtrack use the actual in-game mixes?
I don't know how to link to an Instagram story, but Sega rebuilt their Silver The Hedgehog Statue from E3 2006. https://www.instagram.com/sonicthehedgehog?igsh=MXp0eDE4OXB0cW96 This guys has not been seen for nearly 20 years. Twitter embed. https://x.com/DaveLuty/status/1836175077513015362
I yearn for the day they give us some kind of "Sonic Aughts Mega Pack Collection" with Heroes, Shadow, '06, Unleashed, and the first two Riders games. I could go with or without the Storybook games. Maybe add cutscene collections for those, like Square did for that one KH game where Sora does KH1 again but inside a computer.
I mean, in-game references to 06 have never not been normal. From the Soleanna Hotel in Unleashed to Kingdom Valley in Shadow Generations, they're at least straight-up in hat regard. And the rebuild of this statue is one of the few social media mentions wherein they don't take a dig at the game either.
For those excited about the upcoming Sonic Hacking Content, Sega is currently having a publisher sale on Steam, meaning all of the PC Sonic games are discounted! I personally will be picking up Sonic Origins Plus to use with the Ultrafix mod, but other might want to pick up other games for projects like Colors Re-Rainbow, the Mania decomp, or the upcoming Frontiers custom levels. https://store.steampowered.com/sale/SEGAPublisherSale2024?snr=1_4_4__100_1
As you might know, there is a "full" set of Sonic the Comic issues online... except it's not a very good set. The covers are watermarked, the scans themselves are fairly low resolution and most importantly, anything deemed "uninteresting" was cut out... which means adverts, repeats and in some cases legitimate Sonic-related content, all because they didn't feature brand new stories. Well good news: I just spotted a couple of recans on archive.org. And I can present something you've all been missing: the most 90s thing ever: https://archive.org/details/137_20240919/[email protected]/page/n23/mode/1up a) 4/5 Spice Girls - this was printed in August 1998 after Geri left b) Sending in answers on a postcard c) The UK introduction of Cheetos and because I know too much, I know this campaign failed spectacularly! In the 1990s, PepsiCo bought out what was then a fairly small-time Walkers Crisps, turning it into the biggest crisp brand in the UK (for the Americans - Walkers is the equivalent to Lays, except Lays is probably more inspired than Walkers than the other way around. Also crisps not chips). The main competitor, and previous champion was Golden Wonder - Walkers spent much of the 90s destroying everybody, but there was one snack they had no answer to: the Wotsit. Luckily PepsiCo already had a cheese puff snack in the US: Cheetos. So Cheetos was launched in the UK by Walkers to compete, and after a couple of weeks of success... everyone went back to Wotsits and Cheetos was killed off. After trying and failing to bring Cheetos to the UK, Walkers did the only thing one does in this situation: they bought Wotsits from Golden Wonder and won the crisp war. And because of this, you won't find Cheetos in the UK or Europe. Except for when you do. And also the European Union considers Yellow #6 food colouring toxic so American Cheetos is effectively banned anyway. Except for when it isn't. The answer is Chester Cheetah.
My wife has been playing Vampire Survivors and just made it to Bat Country. I thought the foreground in some parts of the level looked familiar, so I looked up the level and welp eventually the background changes into the foreground of the very first Blue Spheres stage! The game makes references to other franchises, but I never thought it would reference our favorite blue Hedgehog!
Before someone gets a heart attack: I did a thing! Pages for the Sonic Channel goodies: https://info.sonicretro.org/Sonic_Channel/Calendars https://info.sonicretro.org/Sonic_Channel/Wallpapers https://info.sonicretro.org/Sonic_Channel/Sonic_Pict https://info.sonicretro.org/Sonic_Channel/Nurie_(Coloring_Book) https://info.sonicretro.org/Sonic_Channel/Lettersets_etc https://info.sonicretro.org/Sonic_Channel/Icons Also, I managed to find the links to all the tweets where they posted the Sonic Picts. They're referenced in the files now. I bet it can be done more elegantly, but for the start it's OK. (?) Edit: If someone wants to pick it up from here and make it "less sloppy", that'd be great!
I love Cheetos... they're one of my favourite snacks... I can never get enough of them... they're so tasty...
Sonic 1 has a small bug with the bubbles that come out of Sonic's mouth when he drowns. Each bubble spawned is randomly set to be small or a bit larger. If any bubble goes past the water, it'll pop... except that the larger bubbles end up with an invalid pop animation ID. This was fixed in Sonic 2 (and by extension, Sonic 3K), but, it still exists in Sonic CD. In fact, it's even more obvious in CD. This is due to the way the animations are set up. First are the ones for the small bubbles and numbers, and then the "popping" ones (small bubbles disappear and numbers start flashing). The larger bubbles are just placed at the end, but still have that logic applied to it. Code (ASM): Drown_ChkWater: ; Routine 4 move.w (v_waterpos1).w,d0 cmp.w obY(a0),d0 ; has bubble reached the water surface? blo.s .wobble ; if not, branch move.b #id_Drown_Display,obRoutine(a0) ; goto Drown_Display next addq.b #7,obAnim(a0) cmpi.b #$D,obAnim(a0) beq.s Drown_Display bra.s Drown_Display Sonic 2 fixes this by capping the animation ID when applying the logic. Code (ASM): Obj0A_ChkWater: move.w (Water_Level_1).w,d0 cmp.w y_pos(a0),d0 ; has bubble reached the water surface? blo.s Obj0A_Wobble ; if not, branch ; pop the bubble: move.b #6,routine(a0) ; Obj0A_Display addq.b #7,anim(a0) cmpi.b #$D,anim(a0) beq.s Obj0A_Display blo.s Obj0A_Display move.b #$D,anim(a0) bra.s Obj0A_Display Now, while Sonic 2 fixed that, it introduced another bug (and also a bug here that I will explain after): First off, if you noticed before, the countdown numbers that come out of Sonic's mouth have the "popping" logic applied to it. However, there is an oversight in regards to how the countdown graphics are loaded. In Sonic 2, to save VRAM, each number loads its individual graphics on the fly, instead of loading them all at once like Sonic 1 and CD do. It uses the same area as the dust and splash. This is why the dust is disabled when drowning. When a number is spawned, a timer is set, and once it runs out, the number stops moving, and then, in Obj0A_AirLeft, it loads the frame graphics into VRAM. Code (ASM): Obj0A_BecomeNumberMaybe: tst.w obj0a_timer(a0) beq.s return_1D4BE subq.w #1,obj0a_timer(a0) bne.s return_1D4BE cmpi.b #7,anim(a0) bhs.s return_1D4BE ; Turn this bubble into a number. move.w #15,obj0a_timer(a0) clr.w y_vel(a0) move.b #$80,render_flags(a0) move.w x_pos(a0),d0 sub.w (Camera_X_pos).w,d0 addi.w #$80,d0 move.w d0,x_pixel(a0) move.w y_pos(a0),d0 sub.w (Camera_Y_pos).w,d0 addi.w #$80,d0 move.w d0,y_pixel(a0) move.b #$C,routine(a0) ; Obj0A_AirLeft <-- RIGHT HERE return_1D4BE: rts Code (ASM): Obj0A_AirLeft: movea.l obj0a_character(a0),a2 ; a2=character cmpi.b #12,air_left(a2) ; check air remaining bhi.s JmpTo6_DeleteObject ; if higher than $C, branch subq.w #1,obj0a_timer(a0) bne.s Obj0A_Display2 move.b #$E,routine(a0) ; Obj0A_DisplayNumber <-- RIGHT HERE addq.b #7,anim(a0) bra.s Obj0A_Display ; =========================================================================== ; loc_1D452: Obj0A_Display2: lea (Ani_obj0A).l,a1 jsr (AnimateSprite).l bsr.w Obj0A_LoadCountdownArt ; <-- RIGHT HERE tst.b render_flags(a0) bpl.s JmpTo6_DeleteObject jmp (DisplaySprite).l ; =========================================================================== JmpTo6_DeleteObject ; JmpTo jmp (DeleteObject).l However, if the number bubble reaches the water surface before it can properly become a number, then it'll have the "popping" logic applied, and it'll be set to a different routine that doesn't load the frame graphics. This explains the corrupted graphics. Code (ASM): Obj0A_ChkWater: move.w (Water_Level_1).w,d0 cmp.w y_pos(a0),d0 ; has bubble reached the water surface? blo.s Obj0A_Wobble ; if not, branch ; pop the bubble: move.b #6,routine(a0) ; Obj0A_Display <-- RIGHT HERE addq.b #7,anim(a0) cmpi.b #$D,anim(a0) beq.s Obj0A_Display blo.s Obj0A_Display move.b #$D,anim(a0) bra.s Obj0A_Display Code (ASM): Obj0A_Display: bsr.s Obj0A_BecomeNumberMaybe lea (Ani_obj0A).l,a1 jsr (AnimateSprite).l jmp (DisplaySprite).l This was fixed in Sonic 3. For the bug at the end, this is because the leaf generator that was placed there was erroneously marked as having its sprite visible. Normally, this would not matter, as the object doesn't call the draw function, but when objects are paused after death, it ends up getting drawn. Code (ASM): Obj2C_Init: addq.b #2,routine(a0) moveq #0,d0 move.b subtype(a0),d0 move.b Obj2C_CollisionFlags(pc,d0.w),collision_flags(a0) move.l #Obj31_MapUnc_20E74,mappings(a0) move.w #make_art_tile(ArtTile_ArtNem_Powerups,0,1),art_tile(a0) ; The high bit of 'render_flags' should not be set here: this causes ; this object to become visible when the player dies, because of how ; 'RunObjectsWhenPlayerIsDead' works. move.b #$84,render_flags(a0) move.b #$80,width_pixels(a0) move.b #4,priority(a0) move.b subtype(a0),mapping_frame(a0) Code (ASM): RunObjectDisplayOnly: moveq #0,d0 ; This check prevent objects that don't exist from being displayed. move.b id(a0),d0 ; get the object's ID beq.s + ; if it's obj00, skip it ; This check prevents objects that do exist, but haven't been initialised yet, from being displayed. tst.b render_flags(a0) ; was the object displayed on the previous frame? bpl.s + ; if not, skip it bsr.w DisplaySprite + lea next_object(a0),a0 ; load 0bj address dbf d7,RunObjectDisplayOnly rts Interestingly, the leaf generator does not appear when you go into debug mode. It only appears if you die and its on screen. The question marks are there to indicate the area in which the leaf generator covers, which is usually visible in debug mode. They simply forgot to add a check in this case. The Sonic 2 disassembly already provides fixes for these, by the way.
Yes! That is the post. Thank you very much. I'll archive the tweet and image: https://archive.ph/oivCn https://web.archive.org/web/2023030...m/media/FpazxBkX0AADtF8?format=jpg&name=large The next thing I want to know is the exact source for where that magazine page comes from. I used reverse image search and there were no results found. I even asked the account for a source but they never responded back. https://web.archive.org/web/2024092.../media/GVXYSuHW8AAUxIP?format=jpg&name=medium That page comes from a bonus supplemental magazine that came from Marukatsu Mega Drive Here is a PDF of that magazine: https://retrocdn.net/images/9/97/MarukatsuMegaDrive_JP_Supplement_07.pdf (Page 13 on the PDF) It is great to see another source mentioning the sneezing sense ability. I was hoping since they are showing shots from the opening that they were referencing the part where he does sneeze as he looks at Little Planet but when I put the page through Google Translate it is mentioning the part where Amy gets kidnapped in Collision Chaos. It makes me wonder if the unused sneezing sprite animation was possibly going to be used in that part. Oh that was my tweet that Yamaguchi answered to. That Sega World promotional artwork did look very identical to that special stage background so I decided to finally ask Yamaguchi if he could confirm the connection. It is always better to have an actual confirmation than to just assume.
Moreso a theory than anything confirmed, but I brought it up in the changes and fixes for Sonic 1 thread. We know now that the final version of Sonic 1 does still have trace amounts of TTS' parallax system still in the code. And I believe there to be another piece to that puzzle. In Sonic 1, when it loads a layout, it references a list that contains 3 elements per level; The foreground, the background, and an unused element. Most levels point to a null layout, some are just duplicate pointers to their background layouts. I believe these pointers to have originally been for the nearest parallax layer's layout, or the Z plane as referred to in the source code. But we also know of course that the near parallax used sprite objects to overlap some areas since the Z plane was technically just the B plane but with high priority, and we do see the same thing in the object position index too, with it having pointers to the object positions for the stage, and then a null pointer: Just goes to show that the TTS was inside us all along
I wasn't sure whether to create a topic for this or not, but I'm looking for a certain OST in Sonic OVA that doesn't seem to be part of the released tracks. The track I've been trying to find for ages is when Tails is preparing his Tornado for take-off (time-stamp 6:29), then again at 33:35 when Metal Sonic is catching up to Sonic - and delivered the knock-out blow.
Further clarification from him He wasn't the main Tails mascot at the event, he was simply given the opportunity to wear the costume for a while, to which he happily obliged.
Littlebigplanet 3 and all Littlebigplanet DLC is getting pulled from PSN at the end of the month. So I guess that means that Sonic pack is done for. Surprising all the costume packs they've managed to keep up all these years. Must've been one hell of a contract.
Holy shit I hadn't thought of that in over a decade. When I played that Sonic pack, DeviantArt was still celadon!
Damn. Every DLC pack? That kinda stinks. The games were already on my mind before hearing about this. Oh, well. They're all probably already archived.