void HlFont::RenderHeavy( const MtVector2 &v2Position, const BtChar *text, BtU32 sortOrder) { MtVector2 v2Scale( 1.0f, 1.0f ); m_pFont->Render(v2Position + MtVector2(-1, -1 ), v2Scale, RsColour::WhiteColour(), text, sortOrder); m_pFont->Render(v2Position + MtVector2( 0, 1 ), v2Scale, RsColour::WhiteColour(), text, sortOrder); m_pFont->Render(v2Position + MtVector2( 1, 0 ), v2Scale, RsColour::WhiteColour(), text, sortOrder); m_pFont->Render(v2Position + MtVector2( 1, 1 ), v2Scale, RsColour::WhiteColour(), text, sortOrder); m_pFont->Render(v2Position + MtVector2( 1, 1 ), v2Scale, RsColour::BlackColour(), text, sortOrder); }
static void X_Frame_f( void ) { if ( ! x_maze.bits || VAR_Changed( x_mazeWidth ) || VAR_Changed( x_mazeHeight ) ) { x_maze.size = x_view.size = c2xy( Clampf( VAR_Num( x_mazeWidth ), 64, 1024 ), Clampf( VAR_Num( x_mazeHeight ), 64, 1024 ) ); int numBytes = x_maze.size.x * x_maze.size.y; x_maze.bits = A_Realloc( x_maze.bits, numBytes * sizeof( *x_maze.bits ) ); x_view.bits = A_Realloc( x_view.bits, numBytes * sizeof( *x_view.bits ) ); GenerateTestMaze( x_maze.size, x_maze.bits ); R_BlitToTexture( x_maze.image, x_maze.bits, x_maze.size, 1 ); CON_Printf( "Changed size of the maze to %d,%d\n", x_maze.size.x, x_maze.size.y ); } if ( VAR_Changed( x_showCursor ) ) { R_ShowCursor( VAR_Num( x_showCursor ) ); } v2_t windowSize = R_GetWindowSize(); x_pixelScale = windowSize.y / ( float )x_maze.size.y; v2_t mouse = I_GetMousePositionV(); v2_t origin = v2Scale( mouse, 1 / x_pixelScale ); memset( x_view.bits, 0, sizeof( *x_view.bits ) * x_view.size.x * x_view.size.y ); if ( ! VAR_Num( x_skipMaze ) ) { // draw the textures before rasterizing // so we can draw debug stuff in the raster routine R_ColorC( colorScaleRGB( colGreen, 0.5f ) ); R_BlendPic( 0, 0, x_maze.size.x * x_pixelScale, windowSize.y, 0, 0, 1, 1, x_maze.image ); } R_Color( 1, 1, 1, 0.5 ); R_BlendPic( 0, 0, x_view.size.x * x_pixelScale, windowSize.y, 0, 0, 1, 1, x_view.image ); for ( int i = 0; i < Clampi( VAR_Num( x_numOctants ), 0, 8 ); i++ ) { RasterizeFOVOctant( origin.x, origin.y, Clampf( VAR_Num( x_losRadius ), 0, 1024 ), x_maze.size.x, x_maze.size.y, i, VAR_Num( x_skipAttenuation ), VAR_Num( x_skipClipToRadius ), VAR_Num( x_darkWalls ), x_maze.bits, x_view.bits ); } R_BlitToTexture( x_view.image, x_view.bits, x_view.size, 1 ); //X_DrawCursor( x_cp437Texture, x_cp437TextureSize, mouse ); }