the cutting room mirror

es

Restos del menú de pruebas de Direct3D#

Por alguna razón, el ejecutable contiene el menú de una versión antigua del programa de pruebas de Direct3D.

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

Caja "Acerca de"#

La caja de diálogo de "Acerca de" aún está en el ejecutable, y se puede acceder hackeando el juego.

Modo Network#

This needs some investigation.
Discuss ideas and findings on the talk page.
Specifically: ¿Funciona con modo LAN? ¿Con la versión parcheada del juego?

Sonic R tuvo un parche post-lanzamiento que añadió un soporte online (Porque el juego terminaría mal si lo dejaban en solo modo LAN). Resulta que hay una versión temprana que aún se mantiene en el juego, accesible a través de un editor de memoria. Obviamente tiene varios errores comparada con al versión parcheada.

Solo funcionan el modo TCP/IP; IPX solo reproduce un sonido. Además, no puedes ingresar una dirección IP, ni tener un nombre que no sea "Player".

SonicR-NetworkMenu.png SonicR-NetworkProtocol.png

A pesar de esto, todo aún parece funcionar bien. Puedes seleccionar una pista, elegir personaje, y jugar con un amigo, siempre y cuando esté en la misma computadora que tu.

SonicR-NetworkChat.png SonicR-NetworkStart.png

Gráficos sin usar#

Hay algunos gráficos de menú sin usar. No son tan interesantes, pero al menos es algo. SonicR-MP00.png The "Player X In" labels went unused; the "Joystick/Keyboard X" labels were used instead.

SonicR-NET00.png

Los gráficos para el modo Network quedan sin usar ya que, por supuesto, todo el modo Network quedó sin usar. Curiosamente, la versión final con el parche con el modo Network decidió usar una interfaz basada en texto.

SonicR-OPTION00.png

Hay unas letras no muy descriptivas para los modelos de los menús, las cuales fueron reemplazadas con iconos. También, por alguna razón, hay algunas paletas colocadas aleatoriamente.

SonicR-RANK00.png

Algunos iconos animados sin usar para los diferentes modos del Time Attack de Sonic R. Estos fueron reemplazados con versiones más pequeñas de los modelos del menú principal, lo cual es una pena porque se veían bastante épicos. También, hay unos garabatos que quizás sirvieron para hacer márgenes.

SonicR-RES00.png

Hay una opción de placeholder de guardar para la pantalla de resultados junto a un fondo. Sorprendentemente, es muchísimo más legible que las opciones que si son usables, quizás debido a que no parece que está detrás de un bloque de hielo.

SonicR-SMODE00.png

Los gráficos del menú principal contienen un icono para el modo sin usar del modo Network. Ciertamente es más informativo que usar un montón de signos de pregunta. Al final si fue usada con el parche del Network.

Rarezas#

Texto de la ventana#

Si se fuerza le modo ventana usando D3DWND u otro programa de ventana de DirectX y escoges Direct3D, se puede ver que la ventana se llama SonicR by Traveler's Tales, pero si escoges DirectDraw, está dira BackBuffer.

Esto no se puede ver normalmente debido a que el juego siempre corre en pantalla completa.

Objetos fuera de los límites#

Por alguna razón, todos los niveles tienen globos colocados fuera de pantalla.

To do:
Encontrar el globo de Regal Ruin. Es muy posible que exista, pero no la podemos encontrar.

SonicR-EmeraldBalloon.png SonicR-FactoryBalloon.png

Esto también se aplica para varios de los objetos.

Curiosamente, las versiones de GameCube y PC parecen diferir en donde están localizados estos globos.

PC

GameCube

Desafío Vs. Tails#

SonicR-EmeraldVsTails.png

Si de algún modo obtienes cinco monedas Sonic en Radiant Emerald (cosa imposible de hacer sin trucos porque este nivel no tiene dichas monedas), serás retado a competir contra Tails.

Error con la textura del EggRobo#

SonicR-Eggroboerror.png

Por alguna razón, la pistola del EggRobo tuvo un error en la conversión de Saturn a PC. La textura de la parte cerca del gatillo fue erróneamente reemplazada con la parte superior del ojo de Tails.

Esto fue llevado a la versión de Gems Collection, lo cual sería sorprendente de no ser porque a ninguna persona le interesa lo suficiente el EggRobo como para notarlo.

Líneas de depuración#

Hay un montón de líneas de código de depuración dejadas en el juego. Estas líneas son cargadas en varias partes del código que van antes de un null sub. En algunas revisiones del parche de Network, este null sub fue reemplazado por una rutina de printf que devuelve la información de depuración en un archivo de texto.

Esto es usualmente útil durante la inicialización de los gráficos: (Este es un pequeño extracto de un archivo de log más grande.)

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

También anuncia cada vez que se llama a una subrutina mayor, lo cual hace el des-ensamblaje ligeramente más fácil. Es chistoso saber que los programadores se referían a los archivos que componen la pantalla del título como "cositas" (Literalmente "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)

Intentar listar todas las líneas de código no sería fácil, ya que hay demasiadas.

Líneas sin usar#

Hay algunas líneas de código que no parecen ser usadas, o por lo menos nunca son referidas directamente en ningún código. Hay una cantidad notable de ellas que refieren a características que directamente no están. (Estas no son todas ellas, ya que hay demasiadas como para ponerlas acá, pero igual es una porción notable.)

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:
Hay algunas líneas que refieren a código que aún está en el ejecutable pero que nunca es llamado. Hay que investigar eso.