If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
This article has a talk page!

Sonic R (Windows)

From The Cutting Room Floor
Jump to navigation Jump to search
This page contains changes which are not marked for translation.
Other languages:
English • ‎русский • ‎한국어

Title Screen

Sonic R

Developer: Traveller's Tales
Publisher: Sega
Platform: Windows
Released in JP: December 11, 1998
Released in US: November 11, 1998
Released in EU: November 15, 1998


CodeIcon.png This game has unused code.
DevTextIcon.png This game has hidden development-related text.
MinigameIcon.png This game has unused modes / minigames.
GraphicsIcon.png This game has unused graphics.
TextIcon.png This game has unused text.
Carts.png This game has revisional differences.


The PC version of Sonic R was notably improved over the Saturn original, and was later included in Sonic Gems Collection. Regardless, it still made people feel like they were pushing a cinder block across a rubber floor using a pen cap.

Also, Tails Doll.

Sub-Pages

Carts.png
2004 Release Differences
Sonic R is known to be a very crash-prone game on newer systems. Here's its leaner, meaner, and much less crashy-er counterpart.

Leftover Direct3D Test Menu

Elementary, my dear Cactus.
This needs some investigation.
Discuss ideas and findings on the talk page.
Specifically: Is there a way to enable this menu? The executable file contains a reference to it. The accelerator keys don't work: has the code been removed, or is something else intercepting the inputs?

SonicR-PC-menu.png

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
}
}

And some accelerator keys for these functions:

APPACCEL ACCELERATORS
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
{
	VK_F1, 1, NOINVERT, VIRTKEY
	VK_F2, 12, NOINVERT, VIRTKEY
	VK_F3, 13, NOINVERT, VIRTKEY
	VK_F4, 14, NOINVERT, VIRTKEY
	VK_F5, 15, NOINVERT, VIRTKEY
	VK_F6, 19, NOINVERT, VIRTKEY
	VK_F7, 23, NOINVERT, VIRTKEY
	VK_F8, 3, NOINVERT, VIRTKEY
	VK_F9, 4, NOINVERT, VIRTKEY
	VK_F10, 16, NOINVERT, VIRTKEY
	VK_P, 20, NOINVERT, CONTROL, VIRTKEY
	VK_W, 21, NOINVERT, CONTROL, VIRTKEY
	VK_S, 22, NOINVERT, CONTROL, VIRTKEY
	VK_D, 24, NOINVERT, CONTROL, VIRTKEY
	VK_A, 26, NOINVERT, CONTROL, VIRTKEY
	VK_F, 25, NOINVERT, CONTROL, VIRTKEY
	VK_O, 17, NOINVERT, CONTROL, VIRTKEY
	VK_L, 18, NOINVERT, CONTROL, VIRTKEY
	VK_ESCAPE, 2, NOINVERT, VIRTKEY
	VK_SPACE, 27, NOINVERT, VIRTKEY
	VK_RETURN, 28, NOINVERT, VIRTKEY
	VK_RETURN, 7, NOINVERT, ALT, VIRTKEY
	VK_TAB, 10, NOINVERT, VIRTKEY
	VK_NEXT, 8, NOINVERT, ALT, VIRTKEY
	VK_PRIOR, 9, NOINVERT, ALT, VIRTKEY
	VK_K, 36, NOINVERT, VIRTKEY
	VK_P, 123, NOINVERT, VIRTKEY
	VK_O, 124, NOINVERT, VIRTKEY
}

"About" Box

SonicR-PC-about.png

The "About" dialogue box is still in the executable, and can be accessed with a resource hacker.

Network Mode

Elementary, my dear Cactus.
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".

SonicR-NetworkMenu.png SonicR-NetworkProtocol.png

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.

SonicR-NetworkChat.png SonicR-NetworkStart.png

Unused Graphics

There's unused menu graphics. They're not all that interesting, but they're there.

SonicR-MP00.png

The "Player X In" labels went unused; the "Joystick/Keyboard X" labels were used instead.

SonicR-NET00.png

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.

SonicR-OPTION00.png

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.

SonicR-RANK00.png

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.

SonicR-RES00.png

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.

SonicR-SMODE00.png

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.

Hmmm...
To do:
Find the balloon in Regal Ruin. It most likely exists, I just can't find it.

SonicR-EmeraldBalloon.png SonicR-FactoryBalloon.png

This also applies to most other objects as well.

SonicR-RuinObjectsOOB.png

Strangely, the GameCube and PC versions seem to differ in where these balloons are located.

PC GameCube
SonicR-IslandBalloon.png SonicR-Hidden-balloon-on-resort-island.png
SonicR-CityBalloon.png SonicR-RadicalCityBalloon.png

Challenge Race Vs. Tails

SonicR-EmeraldVsTails.png

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.

If you were playing as Tails, it would be Sonic instead. This is because the game never sets the opponent for Radiant Emerald, so it just reuses whoever the second player was during the Grand Prix race.

EggRobo Texture Goof

SonicR-Eggroboerror.png

For whatever reason, the texture on EggRobo's gun 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' 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.

Ready, Set, Go!

In English, at the start of a game, the words "Ready", "Set", and "Go" are displayed. For some reason, in French, German, Spanish, and Italian, these words are not translated and the process is instead represented by "traffic lights".

English French, German, Spanish, and Italian
SonicRReadySetGo.png SonicRLights.png

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
Hmmm...
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.

Disc Building Readme

Found only on the German "Green Pepper" release in the readme.txt file is a changelog detailing some of the changes in the 2004 release, as well as instructions meant for whoever is in charge of placing the files on the disc. Humorously, part of these instructions was to not include this file.

SonicR - PC Build 24/08/04
==========================

New Additions
=============
Remembered to include the autorun.inf this time!
Changes to installer, the user can now choose a custom install option which allows them to pick the
install location and optionally install DirectX9

Building a CD
=============
To make the complete disc, use the contents of this zip file (excluding this readme - obviously!).
In addition, you will need to add the music directory you already have. So the top level directory on
your final CD should should look like;

MUSIC
Setup.exe
sonicr.ico
autorun.inf


SonicR - PC Build 23/08/04
==========================

New Additions
=============
The environmental SFX in the game are now positioned in 3D (as they were on the Saturn version)
Fixed several oddities in the SFX/Music test options
Fixed links in English HTML help files
Added Help shortcut to installer

Building a CD
=============
To make the complete disc, use the contents of this zip file (excluding this readme - obviously!).
In addition, you will need to add the music directory you already have. So the top level directory on
your final CD should should look like;

MUSIC
Setup.exe
sonicr.ico
autorun.inf