NATIONALITY
VANILLA TRACKS
CARS
CARS PERFORMANCE
CARS TIRES
TEAMS
DRIVERS SKILL
MANAGER
General Functioning
The game automatically loads all DLLs located in <RBR root>\Plugins\
RBR calls this function at startup, passes it an IRBRGame* pointer (the interface to the engine), and expects an instance of your plugin in return
IPlugin Interface — The 7 Mandatory Callbacks
const char* GetName()
// Called every frame while on the plugin page in the frontend
void DrawFrontEndPage() // your custom UI (text, boxes, selection)
void HandleFrontEndEvents( // keyboard/controller navigation
char txtKeyboard,
bool bUp, bDown, bLeft, bRight, bSelect )
void TickFrontEndPage( float fTimeDelta ) // delta-time per frame
// Called in-game
void StageStarted( int iMap, const char* ptxtPlayerName, bool bWasFalseStart )
void CheckPoint( float fCheckPointTime, int iCheckPointID, const char* ptxtPlayerName )
void HandleResults( float fCheckPoint1, float fCheckPoint2,
float fFinishTime, const char* ptxtPlayerName )
// fFinishTime = 0.0f if DNF
IRBRGame Interface — What You Can Do From the Plugin
Launch a Stage:
int iMap, // track number (10–71 in stock)
int iCar, // 0=Citroen Xsara, 1=Hyundai, 2=MG ZR,
// 3=Mitsubishi EvoVII, 4=Peugeot 206,
// 5=Subaru 2003, 6=Toyota, 7=Subaru 2000
ERBRWeatherType eWeather, // GOOD_WEATHER, RANDOM_WEATHER, BAD_WEATHER
ERBRTyreTypes eTyre, // TYRE_TARMAC_DRY/WET/INT, TYRE_GRAVEL_DRY/WET/INT, TYRE_SNOW
const char* ptxtCarSetupFileName // NULL = default setup
)
In-Race Display:
// fDuration = 0.0f → displayed until next call
Drawing in the Frontend:
pGame->SetMenuColor( MENU_TEXT | MENU_HEADING | MENU_SELECTION | MENU_BKGROUND | MENU_ICON )
pGame->SetColor( r, g, b, a ) // arbitrary RGBA color
pGame->WriteText( x, y, "text" )
pGame->DrawBlackOut( x, y, w, h ) // black background with transparent window
pGame->DrawSelection( x, y, w, h=21 ) // red selection bar
pGame->DrawBox( iBox, x, y ) // predefined 2D box (Gendef.h)
pGame->DrawFlatBox( x, y, w, h ) // flat color rectangle
pGame->DrawCarIcon( x, y, iCar ) // car icon
pGame->SetDrawMode( flags ) // GFX_DRAW_CENTER_X/Y, ALIGN_RIGHT/BOTTOM, FLIP_X/Y, TEXT_SHADOW
Information:
Screen Coordinate Grid
Based on the TestPlugin code: x=73 = left column, x=130 = slightly indented, y=49 = title, y=68+ = start of item list, y increments by 21.0f per line640×480
What This Opens Up For Your BTB Modding
With this SDK, you can create a DLL that:
Controls the launch of your BTB tracks —
StartGame()with your custom track map numbers, weather selection, and tyre choice. Displays custom info in-race —
WriteGameMessage()during the stage, for example corner names, warnings, etc. Creates a complete selection menu — customized frontend to list your BTB tracks, with navigation, name preview, and weather/tyre choices
. Logs times and checkpoints —
HandleResults()andCheckPoint()give you all raw times in seconds; you can save them to a file or display them inDrawResultsUI().
To compile: Visual C++ project (MSVC 2003/2005), Win32 DLL target, export RBR_CreatePlugin via the .def file<RBR>\Plugins\MyPlugin.dll
pfXXXX.acm => controls configuration