For some reason, the executable contains the menu from a very old Direct3D test program.
APPMENU MENU
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
{
POPUP "&File"
{
MENUITEM "&About..\tF1", 1
MENUITEM SEPARATOR
MENUITEM "&Single Step\tSpc", 27
MENUITEM "&Go\tEnter", 28
MENUITEM "&Toggle Stats\tTab", 10
MENUITEM SEPARATOR
MENUITEM SEPARATOR
MENUITEM SEPARATOR
MENUITEM "E&xit\tESC", 2
}
POPUP "&Render"
{
MENUITEM "&Flat\tF2", 12
MENUITEM "&Gouraud\tF3", 13
MENUITEM "P&hong\tF4", 14
MENUITEM SEPARATOR
MENUITEM "&Point\tCtrl+P", 20
MENUITEM "&Wireframe\tCtrl+W", 21
MENUITEM "&Solid\tCtrl+S", 22
MENUITEM SEPARATOR
MENUITEM "&Dithering\tCtrl+D", 24
MENUITEM "&Anti-aliasing\tCtrl+A", 26
MENUITEM SEPARATOR
MENUITEM "&Z Buffer\tF5", 15
MENUITEM "&Clears\tF6", 19
}
POPUP "&Lighting"
{
MENUITEM "&Specular Highlights\tF7", 23
MENUITEM "&Fog\tCtrl+F", 25
}
POPUP "&Textures"
{
MENUITEM "&Textures On\tF8", 3
MENUITEM "&Swap Textures\tF9", 4
MENUITEM "Perspective &Correct\tF10", 16
MENUITEM SEPARATOR
MENUITEM "P&oint Filtering\tCtrl+O", 17
MENUITEM "Bi-&Linear Filtering\tCtrl+L", 18
MENUITEM SEPARATOR
}
POPUP "&Modes"
{
MENUITEM "&Fullscreen\tAlt+Enter", 7
MENUITEM "&Previous Mode\tAlt+PgUp", 9
MENUITEM "&Next Mode\tAlt+PgDown", 8
MENUITEM SEPARATOR
}
}
"About" Box#
The "About" dialogue box is still in the executable, and can be accessed with a resource hacker.
Network Mode#
|
This needs some investigation.
Discuss ideas and findings on the talk page.
Specifically: Does this work on LANs? With the patched version of the game? Would Serial/Modem modes work on systems with serial ports or modems?
|
Sonic R had a post-release patch that added networking support. (You know, because the game was going to be all the rage at LAN parties) As it turns out, an early version of this shipped in the retail game, accessible via memory editor. Obviously it suffers from a few shortcomings compared to the patched version.
Only TCP/IP works; IPX just dings at you. In addition, you cannot enter an IP address or have a name other than "Player".

Despite this, everything still works quite swimmingly. You can select a course and a character and play against a friend, so long as they happen to be on the same computer as you.

Unused Graphics#
There's unused menu graphics. They're not all that interesting, but they're there.
The "Player X In" labels went unused; the "Joystick/Keyboard X" labels were used instead.

The graphics for the network mode went unused as, of course, the entire network mode went unused. Curiously, the final build of the network patch went for a text-based interface.

These relatively non-descriptive letters for the menu models were replaced with actual icons. Also, there's a bunch of randomly placed palettes for whatever reason.

Some unused animated icons for the different time attack modes of Sonic R. These were replaced with smaller versions of the main menu models, which is a darn shame because these look really cool. Also, there's a couple of scribbles in the margins for good measure.

There's a placeholder "SAVE" menu option for the results screen along with its background. Surprisingly it's infinitely more readable than the actual choices, probably due to it not looking like it's behind an inch of solid ice.

The main menu graphics contain an icon for the unused Network mode, cobbled together from the default Windows 95 graphics. It's certainly more informative than the bunch of question marks, anyways. It did go used in the Network patch.
Oddities#
Window Caption#
If you force windowed mode using D3DWND or another DirectX windowing program and choose Direct3D, the caption will read SonicR by Traveler's Tales, but if you choose DirectDraw it will read BackBuffer.
This cannot be seen normally because the game always runs at fullscreen.
Out of Bounds Objects#
For whatever reason all the levels have balloons placed out-of-bounds.
|
To do:
Find the balloon in Regal Ruin. It most likely exists, I just can't find it.
|

This also applies to most other objects as well.
Strangely, the GameCube and PC versions seem to differ in where these balloons are located.
Challenge Race Vs. Tails#

If you somehow get five Sonic tokens on Radiant Emerald (impossible without cheating due to it lacking said tokens), you get challenged to race against Tails.
EggRobo Texture Goof#

For whatever reason the texture on EggRobo's gun (assuming that's his name) got botched in the conversion between the Saturn and the PC. The texture of the part next to the trigger was erroneously replaced with the top of Tails's eye.
This was carried over to the Gems Collection release, which would be surprising if it weren't for the fact that not a single person cared about EggRobo, let alone knew what his name was.
Debugging Strings#
There are a lot of debugging strings littered about Sonic R. These strings are loaded in various parts in key subroutines in the code right before a null sub. In some revisions of the Network Patch this null sub is replaced by a printf-like routine that outputs the debug info to a text log.
This is mostly useful during graphics initialization: (this is a small excerpt of a large log.)
----
BEGIN SELECT DRIVERS
INFO DirectDraw - Default driver >>>display,Primary Display Driver<<< selected.
INFO DirectDraw - Device has no hardware acceleration.
INFO Direct3D - No suitable hardware drivers found, scanning software renderers.
INFO DirectDraw - Resetting to default driver >>>display,Primary Display Driver<<<.
INFO Direct3D - Not using any drivers, resetting to native software renderer.
INFO No available Direct3D devices.
INFO Fullscreen mode is TRUE.
INFO Native software render mode is TRUE.
INFO RenderMode set to native software render mode.
INFO Screen mode 320x200x8 selected.
ExamineProc
ExamineProc
ExamineProc
ExamineProc
ExamineProc
ExamineProc
END SELECT DRIVERS
----
It also announces every time it calls a major subroutine, which makes making a disassembly slightly easier. It's oddly nice to know that even the programmers just called all the files that make up the title screen "stuff".
LoadTPageRAW(0)
S3D_LoadWallpaper->0...1
InitTitleStuff
LoadTrack3(bin\titles\titles3.bin)
TintTrackGourauds
LoadTPageRAW(0)
LoadTPageRAW(1)
S3D_LoadTextureIntoTPageRAW
LoadTPageRAW(2)
LoadTPageRAW(3)
S3D_LoadWallpaper->0...1
RenderMode=RENDER_SOFT
(SWIDTH=320,SHEIGHT=200,SBPP=16,TWIDTH=320)
(pRender->Sprite3D=4787308)
TitleScreen
FindSonicRCD...yes
PlayCD(2)
InitOptionStuff
LoadTrack3(bin\option\option3.bin)
Attempting to list every single such string would not be easy, as there are a lot.
Unused strings#
There are strings that do not appear to be used, or at least are never referred to directly by any active code. A weird amount of these refer to features or files that no longer exist. (This is not all of them, as there are simply too many strings to sort through, but it's a sizable portion nevertheless.)
Active debris @
Active homing rings @
Active bombs @
EM Sonic visible? @
YES@
EM_Sonic.raduis #w%i@
Objects drawn #w%i#g/#w%i@
F6-trackvisnum #w%i@
F7-STARTSPLINEPOINTCOUNT #w%i@
F8-STARTBOXPOINTCOUNT
F9-positionnum #w%i@
F10-PODIUMPOINTCOUNT #w%i@
F11-camposnum #w%i@
F12-WARPSPLINECOUNT #w%i@
000x000x00 (MONO) 0000
000.00 fps 00000000.00 tps 0000.00 mppps
balloon.dat
emerald.dat
|
To do:
Some of these lost strings refer to code that is still in the executable but is never directly called by anything. Research that.
|
|
|
|
Genesis
|
Sonic the Hedgehog (Prototype) • Sonic the Hedgehog 2 (Prototypes) • Sonic the Hedgehog 3 (Prototype) • Sonic & Knuckles (Prototypes) • Sonic 3 & Knuckles • Sonic 3D Blast (Prototypes) • Sonic the Hedgehog 3 (film)
|
|
Sega Master System
|
Sonic the Hedgehog (Prototype) • Sonic the Hedgehog 2 (Prototype) • Sonic Chaos (Prototypes) • Sonic Blast
|
|
Game Gear
|
Sonic the Hedgehog (Prototype) • Sonic the Hedgehog 2 (Prototype) • Sonic Chaos (Prototypes) • Sonic Triple Trouble (Prototypes) • Sonic Labyrinth • Sonic Blast (Prototypes)
|
|
Arcade
|
SegaSonic the Hedgehog (Prototype)
|
|
Sega CD
|
Sonic the Hedgehog CD (Prototypes)
|
|
32X
|
Knuckles' Chaotix (Prototypes)
|
|
Windows
|
Sonic the Hedgehog CD (1996) • Sonic 3D Blast • Sonic Heroes (Prototypes) • Sonic Adventure DX: Director's Cut (2004) (Demo) • Sonic the Hedgehog 4: Episode I (Prototypes) • Sonic the Hedgehog CD (2011) (Demo) • Sonic Adventure DX: Director's Cut (2011) • Sonic Generations (Demos) • Sonic the Hedgehog 4: Episode II (Prototype) • Sonic Adventure 2 (Prototype) • Sonic Lost World • Sonic Mania • Sonic Forces • Sonic Colors: Ultimate • Sonic Frontiers • Sonic Superstars • Sonic X Shadow Generations
|
|
Sega Saturn
|
Sonic X-treme • Sonic 3D Blast (Prototype)
|
|
Dreamcast
|
Sonic Adventure (Prototypes) • Sonic Adventure 2 (Prototypes)
|
|
Neo Geo Pocket Color
|
Sonic the Hedgehog Pocket Adventure (Prototypes)
|
|
GameCube
|
Sonic Adventure 2: Battle (Demo) • Sonic Adventure DX: Director's Cut (Prototypes) • Sonic Heroes (Prototypes) • Shadow the Hedgehog (Prototypes)
|
|
Game Boy Advance
|
Sonic Advance (Prototype) • Sonic Advance 2 (Prototype) • Sonic Advance 3 (Prototype) • Sonic the Hedgehog Genesis
|
|
PlayStation 2
|
Sonic Heroes (Prototypes) • Shadow the Hedgehog (Prototype) • Sonic Unleashed
|
|
Xbox
|
Sonic Heroes (Prototypes) • Shadow the Hedgehog (Prototype)
|
|
DoJa, BREW
|
Sonic the Hedgehog • Sonic the Hedgehog 2
|
|
J2ME
|
Sonic the Hedgehog • Sonic the Hedgehog 2 • Sonic Unleashed • Sonic Advance
|
|
N-Gage
|
Sonic N
|
|
Nintendo DS
|
Sonic Rush (Demo) • Sonic Rush Adventure • Sonic Colors (Demo)
|
|
Xbox 360
|
Sonic the Hedgehog (Prototypes) • Sonic Unleashed (Prototypes) • Sonic Adventure DX: Director's Cut (Prototypes) • Sonic the Hedgehog 4: Episode I (Prototypes) • Sonic Generations (Demos) • Sonic the Hedgehog CD (2011) (Demos) • Sonic the Hedgehog 4: Episode II (Prototype) • Sonic Adventure 2 (Prototype)
|
|
Wii
|
Sonic and the Secret Rings • Sonic Unleashed • Sonic and the Black Knight • Sonic the Hedgehog 4: Episode I (Prototypes) • Sonic Colors
|
|
PlayStation 3
|
Sonic the Hedgehog (Prototypes) • Sonic Unleashed (Prototypes) • Sonic the Hedgehog 4: Episode I (Prototypes) • Sonic Generations (Demos) • Sonic the Hedgehog CD (2011) (Demo) • Sonic the Hedgehog 4: Episode II (Prototype) • Sonic Adventure 2 (Prototype)
|
|
Nintendo 3DS
|
Sonic Generations • Sonic Lost World
|
|
Wii U
|
Sonic Lost World
|
|
PlayStation 4, Xbox One, Nintendo Switch
|
Sonic Mania • Sonic Forces (Demo) • Sonic Colors: Ultimate • Sonic Frontiers • Sonic Superstars • Sonic X Shadow Generations
|
|
Amazon Luna
|
Sonic Mania • Sonic Colors: Ultimate • Sonic Frontiers • Sonic Superstars
|
|
PlayStation 5, Xbox Series X
|
Sonic Frontiers • Sonic Superstars • Sonic X Shadow Generations
|
|
Nintendo Switch 2
|
Sonic X Shadow Generations • Sonic Frontiers Definitive Edition
|
|
iOS, Android, tvOS
|
Sonic Advance (2011) • Sonic the Hedgehog 4: Episode I (Prototypes) • Sonic the Hedgehog 4: Episode II (Prototype) • Sonic the Hedgehog • Sonic the Hedgehog 2 • Sonic the Hedgehog CD (Demo) • Sonic Advance (2014)
|
|
Ouya, NVIDIA Shield
|
Sonic the Hedgehog 4: Episode I (Prototypes) • Sonic the Hedgehog 4: Episode II (Prototype) • Sonic the Hedgehog CD (Demo)
|
|
|
|
Racing Games
|
|
Game Gear
|
Sonic Drift (Demo) • Sonic Drift 2
|
|
Windows
|
Sonic R • Sonic Riders (Prototype) • Sonic & SEGA All-Stars Racing • Sonic & All-Stars Racing Transformed • Team Sonic Racing • Sonic Racing: CrossWorlds (Prototypes)
|
|
Sega Saturn
|
Sonic R (Preview)
|
|
PlayStation 2
|
Sonic Riders (Prototypes) • Sonic Riders: Zero Gravity (Prototypes)
|
|
GameCube, Xbox
|
Sonic Riders (Prototypes)
|
|
Nintendo DS
|
Sonic & SEGA All-Stars Racing
|
|
PlayStation Portable
|
Sonic Rivals • Sonic Rivals 2
|
|
PlayStation 3
|
Sonic & SEGA All-Stars Racing • Sonic & All-Stars Racing Transformed
|
|
Xbox 360
|
Sonic & SEGA All-Stars Racing • Sonic & All-Stars Racing Transformed • Sonic Free Riders
|
|
Wii
|
Sonic & SEGA All-Stars Racing • Sonic Riders: Zero Gravity
|
|
Wii U
|
Sonic & All-Stars Racing Transformed
|
|
Nintendo 3DS
|
Sonic & All-Stars Racing Transformed
|
|
PlayStation 4, Xbox One, Nintendo Switch
|
Team Sonic Racing • Sonic Racing: CrossWorlds (Prototypes)
|
|
PlayStation 5, Xbox Series, Nintendo Switch 2
|
Sonic Racing: CrossWorlds (Prototypes)
|
|
Amazon Luna
|
Team Sonic Racing
|
|
Adobe Flash
|
Sonic Rivals Dash
|
|
|
|
Sports/Fighting Games
|
|
Genesis
|
Sonic the Hedgehog Spinball (Prototypes)
|
|
Sega Master System, Game Gear
|
Sonic Spinball (Prototypes)
|
|
Arcade
|
Sonic Championship • Mario & Sonic at the Rio 2016 Olympic Games
|
|
Game Boy Advance
|
Sonic Pinball Party • Sonic Battle
|
|
Nintendo DS
|
Mario & Sonic at the Olympic Games • Mario & Sonic at the Olympic Winter Games
|
|
Xbox 360
|
Sonic the Fighters
|
|
Wii
|
Mario & Sonic at the Olympic Games • Mario & Sonic at the Olympic Winter Games (Prototypes) • Mario & Sonic at the London 2012 Olympic Games
|
|
Nintendo 3DS
|
Mario & Sonic at the London 2012 Olympic Games
|
|
Wii U
|
Mario & Sonic at the Sochi 2014 Olympic Winter Games • Mario & Sonic at the Rio 2016 Olympic Games
|
|
Nintendo Switch
|
Mario & Sonic at the Olympic Games: Tokyo 2020
|
|
J2ME
|
Sonic the Hedgehog Golf • Sonic at the Olympic Games • Sonic Spinball
|
|
BREW
|
Sonic at the Olympic Games • Sonic Spinball
|
|
|
|
Puzzle Games
|
|
Genesis
|
Sonic Eraser • Dr. Robotnik's Mean Bean Machine (Prototypes)
|
|
Sega Master System, Game Gear
|
Dr. Robotnik's Mean Bean Machine
|
|
Arcade
|
SegaSonic Bros.
|
|
Adobe Flash
|
Sonic Jigsaw 2
|
|
|
|
Educational
|
|
Sega Master System
|
Sonic's Edusoft
|
|
Genesis
|
Wacky Worlds
|
|
Windows
|
Sonic's Schoolhouse (Prototype)
|
|
Sega Pico
|
Sonic the Hedgehog's Gameworld (Prototypes) • Tails and the Music Maker (Prototypes)
|
|
Leapster
|
Sonic X
|
|
LeapFrog Didj
|
Sonic the Hedgehog
|
|
|
|
Sonic Boom
|
|
Wii U
|
Rise of Lyric (Prototype)
|
|
Nintendo 3DS
|
Shattered Crystal • Fire & Ice
|
|
Adobe Flash
|
Link 'n Smash
|
|
|
|
Compilations
|
|
Genesis
|
Sonic Classics
|
|
Sega Saturn
|
Sonic Jam (Demo)
|
|
Windows
|
Sonic & Knuckles Collection • Sonic Mega Collection Plus • Sonic Origins
|
|
GameCube
|
Sonic Mega Collection (Prototype) • Sonic Gems Collection
|
|
PlayStation 2
|
Sonic Mega Collection Plus • Sonic Gems Collection
|
|
Xbox
|
Sonic Mega Collection Plus
|
|
Game Boy Advance
|
Combo Pack
|
|
Nintendo DS
|
Sonic Classic Collection
|
|
Xbox One, Xbox Series X, PlayStation 4, PlayStation 5, Nintendo Switch
|
Sonic Origins
|
|
Game.com
|
Sonic Jam
|
|
Plug & Play
|
Super Sonic Gold
|
|
|
|
Other
|
|
Game Gear
|
Tails' Skypatrol • Tails Adventures
|
|
Arcade
|
SegaSonic Popcorn Shop • SegaSonic Cosmo Fighter
|
|
Sega Saturn
|
Sonic the Hedgehog into Dreams...
|
|
Dreamcast
|
Sonic Shuffle (Prototype)
|
|
Game Boy Advance
|
Tiny Chao Garden
|
|
Nintendo DS
|
Sonic Chronicles: The Dark Brotherhood
|
|
Windows, Mac OS X
|
The Murder of Sonic the Hedgehog
|
|
J2ME
|
Sonic Jump (2005) • Sonic Jump (2007)
|
|
Adobe Flash
|
Sonic the Broad Jump • Sonic and the Black Knight: Knight in Training
|
|
iOS, Android
|
Sonic Jump • Sonic Dash • Sonic Runners • Sonic Runners Adventure (Prototype) • Sonic Rumble • Sonic Blitz
|
|
|
|
See Also
|
|
Flicky • Ristar
|