diff --git a/gfx/drivers_font/xdk360_fonts.cpp b/gfx/drivers_font/xdk360_fonts.cpp
deleted file mode 100644
index 6794358afd..0000000000
--- a/gfx/drivers_font/xdk360_fonts.cpp
+++ /dev/null
@@ -1,684 +0,0 @@
-/* RetroArch - A frontend for libretro.
- * Copyright (C) 2010-2014 - Hans-Kristian Arntzen
- * Copyright (C) 2011-2017 - Daniel De Matteis
- *
- * RetroArch is free software: you can redistribute it and/or modify it under the terms
- * of the GNU General Public License as published by the Free Software Found-
- * ation, either version 3 of the License, or (at your option) any later version.
- *
- * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with RetroArch.
- * If not, see .
- */
-
-#ifdef _XBOX
-#include
-#include
-#endif
-
-#include
-
-#include "../common/d3d_common.h"
-#include "../common/d3d9_common.h"
-#include "../font_driver.h"
-
-#include "../drivers/d3d_shaders/font.hlsl.d3d9.h"
-
-#define XPR0_MAGIC_VALUE 0x30525058
-#define XPR1_MAGIC_VALUE 0x31525058
-#define XPR2_MAGIC_VALUE 0x58505232
-
-#define FONT_SCALE(d3d) ((d3d->resolution_hd_enable) ? 2 : 1)
-#define CALCFONTFILEHEADERSIZE(x) ( sizeof(uint32_t) + (sizeof(float)* 4) + sizeof(uint16_t) + (sizeof(wchar_t)*(x)) )
-#define FONTFILEVERSION 5
-
-#ifdef _XBOX360
-struct XPR_HEADER
-{
- DWORD dwMagic;
- DWORD dwHeaderSize;
- DWORD dwDataSize;
-};
-#endif
-
-/* structure member offsets matter */
-struct XBRESOURCE
-{
- DWORD dwType;
- DWORD dwOffset;
- DWORD dwSize;
- char *strName;
-};
-
-enum
-{
- RESOURCETYPE_USERDATA = ( ( 'U' << 24 ) | ( 'S' << 16 ) | ( 'E' << 8 ) | ( 'R' ) ),
- RESOURCETYPE_TEXTURE = ( ( 'T' << 24 ) | ( 'X' << 16 ) | ( '2' << 8 ) | ( 'D' ) ),
- RESOURCETYPE_VERTEXBUFFER = ( ( 'V' << 24 ) | ( 'B' << 16 ) | ( 'U' << 8 ) | ( 'F' ) ),
- RESOURCETYPE_INDEXBUFFER = ( ( 'I' << 24 ) | ( 'B' << 16 ) | ( 'U' << 8 ) | ( 'F' ) ),
- RESOURCETYPE_EOF = 0xffffffff
-};
-
-class PackedResource
-{
- protected:
- BYTE* m_pSysMemData; /* Allocated memory for resource headers etc. */
- DWORD m_dwSysMemDataSize;
-
- BYTE* m_pVidMemData; /* Allocated memory for resource data, etc. */
- DWORD m_dwVidMemDataSize;
-
- XBRESOURCE* m_pResourceTags; /* Tags to associate names with the resources */
- DWORD m_dwNumResourceTags; /* Number of resource tags */
-
- public:
- /* Loads the resources out of the specified bundle */
- HRESULT Create(const char *strFilename, DWORD dwNumResourceTags,
- void *pResourceTags);
-
- void Destroy();
-
- BOOL m_bInitialized; /* Resource is fully initialized */
-
- /* Functions to retrieve resources by their name */
- void *GetData( const char* strName );
- LPDIRECT3DTEXTURE9 *GetTexture(const char* strName);
-
- /* Constructor/destructor */
- PackedResource();
- ~PackedResource();
-};
-
-LPDIRECT3DTEXTURE9 *PackedResource::GetTexture(const char* strName)
-{
- LPDIRECT3DRESOURCE9 pResource = (LPDIRECT3DRESOURCE9)GetData(strName);
- return (LPDIRECT3DTEXTURE9*)pResource;
-}
-
-PackedResource::PackedResource()
-{
- m_pSysMemData = NULL;
- m_pVidMemData = NULL;
- m_pResourceTags = NULL;
- m_dwSysMemDataSize = 0L;
- m_dwVidMemDataSize = 0L;
- m_dwNumResourceTags = 0L;
- m_bInitialized = false;
-}
-
-PackedResource::~PackedResource()
-{
- Destroy();
-}
-
-void *PackedResource::GetData(const char *strName)
-{
- if (!m_pResourceTags || !strName)
- return NULL;
-
- for (DWORD i = 0; i < m_dwNumResourceTags; i++)
- {
- if (string_is_equal_noncase(strName, m_pResourceTags[i].strName))
- return &m_pSysMemData[m_pResourceTags[i].dwOffset];
- }
-
- return NULL;
-}
-
-static INLINE void* AllocateContiguousMemory(DWORD Size, DWORD Alignment)
-{
- return XMemAlloc(Size, MAKE_XALLOC_ATTRIBUTES(0, 0, 0, 0, eXALLOCAllocatorId_GameMax,
- Alignment, XALLOC_MEMPROTECT_WRITECOMBINE, 0, XALLOC_MEMTYPE_PHYSICAL));
-}
-
-static INLINE void FreeContiguousMemory(void* pData)
-{
- return XMemFree(pData, MAKE_XALLOC_ATTRIBUTES(0, 0, 0, 0, eXALLOCAllocatorId_GameMax,
- 0, 0, 0, XALLOC_MEMTYPE_PHYSICAL));
-}
-
-HRESULT PackedResource::Create(const char *strFilename,
- DWORD dwNumResourceTags, void* pResourceTags)
-{
- unsigned i;
- DWORD dwNumBytesRead;
- XPR_HEADER xprh;
- HANDLE hFile = CreateFile(strFilename, GENERIC_READ, FILE_SHARE_READ, NULL,
- OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, NULL);
-
- if (hFile == INVALID_HANDLE_VALUE)
- return E_FAIL;
-
- if (!ReadFile(hFile, &xprh, sizeof(XPR_HEADER), &dwNumBytesRead, NULL) ||
- xprh.dwMagic != XPR2_MAGIC_VALUE)
- {
- CloseHandle(hFile);
- return E_FAIL;
- }
-
- /* Compute memory requirements */
- m_dwSysMemDataSize = xprh.dwHeaderSize;
- m_dwVidMemDataSize = xprh.dwDataSize;
-
- /* Allocate memory */
- m_pSysMemData = (BYTE*)malloc(m_dwSysMemDataSize);
-
- if (!m_pSysMemData)
- {
- m_dwSysMemDataSize = 0;
- return E_FAIL;
- }
-
- m_pVidMemData = (BYTE*)AllocateContiguousMemory(m_dwVidMemDataSize,
- XALLOC_PHYSICAL_ALIGNMENT_4K
- );
-
- if(!m_pVidMemData)
- {
- m_dwSysMemDataSize = 0;
- m_dwVidMemDataSize = 0;
- free(m_pSysMemData);
- m_pSysMemData = NULL;
- return E_FAIL;
- }
-
- /* Read in the data from the file */
- if( !ReadFile( hFile, m_pSysMemData, m_dwSysMemDataSize, &dwNumBytesRead, NULL) ||
- !ReadFile( hFile, m_pVidMemData, m_dwVidMemDataSize, &dwNumBytesRead, NULL))
- {
- CloseHandle( hFile);
- return E_FAIL;
- }
-
- /* Done with the file */
- CloseHandle( hFile);
-
- /* Extract resource table from the header data */
- m_dwNumResourceTags = *(DWORD*)(m_pSysMemData + 0);
- m_pResourceTags = (XBRESOURCE*)(m_pSysMemData + 4);
-
- /* Patch up the resources */
-
- for(i = 0; i < m_dwNumResourceTags; i++)
- {
- m_pResourceTags[i].strName = (char*)(m_pSysMemData + (DWORD)m_pResourceTags[i].strName);
- if((m_pResourceTags[i].dwType & 0xffff0000) == (RESOURCETYPE_TEXTURE & 0xffff0000))
- {
- D3DTexture *pTexture = (D3DTexture*)&m_pSysMemData[m_pResourceTags[i].dwOffset];
- XGOffsetBaseTextureAddress(pTexture, m_pVidMemData, m_pVidMemData);
- }
- }
-
- m_bInitialized = true;
-
- return S_OK;
-}
-
-void PackedResource::Destroy()
-{
- free(m_pSysMemData);
-
- if (m_pVidMemData != NULL)
- FreeContiguousMemory(m_pVidMemData);
-
- m_pSysMemData = NULL;
- m_pVidMemData = NULL;
- m_pResourceTags = NULL;
- m_dwSysMemDataSize = 0L;
- m_dwVidMemDataSize = 0L;
- m_dwNumResourceTags = 0L;
-
- m_bInitialized = false;
-}
-
-typedef struct GLYPH_ATTR
-{
- uint16_t tu1, tv1, tu2, tv2; /* Texture coordinates for the image. */
- int16_t wOffset; /* Pixel offset for glyph start. */
- int16_t wWidth; /* Pixel width of the glyph. */
- int16_t wAdvance; /* Pixels to advance after the glyph. */
- uint16_t wMask;
-} GLYPH_ATTR;
-
-typedef struct
-{
- D3DVertexDeclaration *m_pFontVertexDecl;
- D3DVertexShader *m_pFontVertexShader;
- D3DPixelShader *m_pFontPixelShader;
-} Font_Locals_t;
-
-typedef struct
-{
- Font_Locals_t s_FontLocals;
- d3d9_video_t *d3d;
- uint32_t m_dwSavedState;
- uint32_t m_cMaxGlyph; /* Number of entries in the translator table. */
- uint32_t m_dwNumGlyphs; /* Number of valid glyphs. */
- float m_fFontHeight; /* Height of the font strike in pixels. */
- float m_fFontTopPadding; /* Padding above the strike zone. */
- float m_fFontBottomPadding; /* Padding below the strike zone. */
- float m_fFontYAdvance; /* Number of pixels to move the cursor for a line feed. */
- wchar_t * m_TranslatorTable; /* ASCII to glyph lookup table. */
- LPDIRECT3DTEXTURE9 m_pFontTexture;
- const GLYPH_ATTR* m_Glyphs; /* Array of glyphs. */
-} xdk360_video_font_t;
-
-typedef struct
-{
- uint32_t m_dwFileVersion; /* Version of the font file (Must match FONTFILEVERSION). */
- float m_fFontHeight; /* Height of the font strike in pixels. */
- float m_fFontTopPadding; /* Padding above the strike zone. */
- float m_fFontBottomPadding; /* Padding below the strike zone. */
- float m_fFontYAdvance; /* Number of pixels to move the cursor for a line feed. */
- uint16_t m_cMaxGlyph; /* Number of font characters (Should be an odd number to maintain DWORD Alignment). */
- wchar_t m_TranslatorTable[1]; /* ASCII to Glyph lookup table, NOTE: It's m_cMaxGlyph+1 in size. */
-} FontFileHeaderImage_t;
-
-typedef struct
-{
- uint32_t m_dwNumGlyphs; /* Size of font strike array (First entry is the unknown glyph). */
- GLYPH_ATTR m_Glyphs[1]; /* Array of font strike uv's etc... NOTE: It's m_dwNumGlyphs in size. */
-} FontFileStrikesImage_t;
-
-static PackedResource m_xprResource;
-
-static bool xdk360_video_font_create_shaders(xdk360_video_font_t * font, LPDIRECT3DDEVICE9 dev)
-{
- ID3DXBuffer* pShaderCode = NULL;
-
- static const D3DVERTEXELEMENT9 decl[] =
- {
- { 0, 0, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0 },
- { 0, 8, D3DDECLTYPE_USHORT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0 },
- { 0, 12, D3DDECLTYPE_D3DCOLOR, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 1 },
- D3DDECL_END()
- };
-
- if (font->s_FontLocals.m_pFontVertexDecl)
- {
- font->s_FontLocals.m_pFontVertexDecl->AddRef();
- font->s_FontLocals.m_pFontVertexShader->AddRef();
- font->s_FontLocals.m_pFontPixelShader->AddRef();
- return true;
- }
-
- if (!d3d9_vertex_declaration_new(dev, decl, (void**)&font->s_FontLocals.m_pFontVertexDecl))
- goto error;
-
- if (!d3d9x_compile_shader( font_hlsl_d3d9_program, sizeof(font_hlsl_d3d9_program)-1 ,
- NULL, NULL, "main_vertex", "vs.2.0", 0, &pShaderCode, NULL, NULL ))
- goto error;
-
- if (!d3d9_create_vertex_shader(dev, (const DWORD*)pShaderCode->GetBufferPointer(),
- (void**)&font->s_FontLocals.m_pFontVertexShader ))
- goto error;
-
- d3d9x_buffer_release(pShaderCode);
-
- if (!d3d9x_compile_shader(font_hlsl_d3d9_program, sizeof(font_hlsl_d3d9_program)-1 ,
- NULL, NULL, "main_fragment", "ps.2.0", 0,&pShaderCode, NULL, NULL ))
- goto error;
-
- if (!d3d9_create_pixel_shader(dev, (DWORD*)pShaderCode->GetBufferPointer(),
- (void**)&font->s_FontLocals.m_pFontPixelShader))
- goto error;
-
- d3d9x_buffer_release(pShaderCode);
-
- return true;
-
-error:
- if (pShaderCode)
- d3d9x_buffer_release(pShaderCode);
- d3d9_free_pixel_shader((LPDIRECT3DDEVICE9)font->d3d->dev, font->s_FontLocals.m_pFontPixelShader);
- d3d9_free_vertex_shader((LPDIRECT3DDEVICE9)font->d3d->dev, font->s_FontLocals.m_pFontVertexShader);
- d3d9_vertex_declaration_free(font->s_FontLocals.m_pFontVertexDecl);
- font->s_FontLocals.m_pFontPixelShader = NULL;
- font->s_FontLocals.m_pFontVertexShader = NULL;
- font->s_FontLocals.m_pFontVertexDecl = NULL;
-
- return false;
-}
-
-static void *xdk360_init_font(void *video_data,
- const char *font_path, float font_size,
- bool is_threaded)
-{
- uint32_t dwFileVersion;
- const void *pFontData = NULL;
- void *pFontTexture = NULL;
- const uint8_t * pData = NULL;
- xdk360_video_font_t *font = (xdk360_video_font_t*)calloc(1, sizeof(*font));
-
- if (!font)
- return NULL;
-
- (void)font_size;
-
- font->d3d = (d3d9_video_t*)video_data;
-
- font->m_pFontTexture = NULL;
- font->m_dwNumGlyphs = 0L;
- font->m_Glyphs = NULL;
- font->m_cMaxGlyph = 0;
- font->m_TranslatorTable = NULL;
-
- /* Create the font. */
- if (FAILED( m_xprResource.Create(font_path, 0, NULL)))
- goto error;
-
- pFontTexture = (LPDIRECT3DTEXTURE9)m_xprResource.GetTexture( "FontTexture" );
- pFontData = m_xprResource.GetData( "FontData");
-
- /* Save a copy of the texture. */
- font->m_pFontTexture = (LPDIRECT3DTEXTURE9)pFontTexture;
-
- /* Check version of file (to make sure it matches up with the FontMaker tool). */
- pData = (const uint8_t*)pFontData;
- dwFileVersion = ((const FontFileHeaderImage_t *)pData)->m_dwFileVersion;
-
- if (dwFileVersion != FONTFILEVERSION)
- {
- RARCH_ERR("Incorrect version number on font file.\n");
- goto error;
- }
-
- font->m_fFontHeight = ((const FontFileHeaderImage_t *)pData)->m_fFontHeight;
- font->m_fFontTopPadding = ((const FontFileHeaderImage_t *)pData)->m_fFontTopPadding;
- font->m_fFontBottomPadding = ((const FontFileHeaderImage_t *)pData)->m_fFontBottomPadding;
- font->m_fFontYAdvance = ((const FontFileHeaderImage_t *)pData)->m_fFontYAdvance;
-
- /* Point to the translator string which immediately follows the 4 floats. */
- font->m_cMaxGlyph = ((const FontFileHeaderImage_t *)pData)->m_cMaxGlyph;
- font->m_TranslatorTable = const_cast((const FontFileHeaderImage_t *)pData)->m_TranslatorTable;
-
- pData += CALCFONTFILEHEADERSIZE(font->m_cMaxGlyph + 1);
-
- /* Read the glyph attributes from the file. */
- font->m_dwNumGlyphs = ((const FontFileStrikesImage_t *)pData)->m_dwNumGlyphs;
- font->m_Glyphs = ((const FontFileStrikesImage_t *)pData)->m_Glyphs;
-
- /* Create the vertex and pixel shaders for rendering the font */
- if (!xdk360_video_font_create_shaders(font, (LPDIRECT3DDEVICE9)font->d3d->dev))
- {
- RARCH_ERR( "Could not create font shaders.\n" );
- goto error;
- }
-
- RARCH_LOG("Successfully initialized D3D9 HLSL fonts.\n");
- return font;
-error:
- RARCH_ERR("Could not initialize D3D9 HLSL fonts.\n");
- if (font)
- free(font);
- return NULL;
-}
-
-static void xdk360_free_font(void *data, bool is_threaded)
-{
- xdk360_video_font_t *font = (xdk360_video_font_t*)data;
-
- if (!font)
- return;
-
- /* Destroy the font */
- font->m_pFontTexture = NULL;
- font->m_dwNumGlyphs = 0L;
- font->m_Glyphs = NULL;
- font->m_cMaxGlyph = 0;
- font->m_TranslatorTable = NULL;
-
- d3d9_free_pixel_shader((LPDIRECT3DDEVICE9)font->d3d->dev, font->s_FontLocals.m_pFontPixelShader);
- d3d9_free_vertex_shader((LPDIRECT3DDEVICE9)font->d3d->dev, font->s_FontLocals.m_pFontVertexShader);
- d3d9_vertex_declaration_free(font->s_FontLocals.m_pFontVertexDecl);
-
- font->s_FontLocals.m_pFontPixelShader = NULL;
- font->s_FontLocals.m_pFontVertexShader = NULL;
- font->s_FontLocals.m_pFontVertexDecl = NULL;
-
- if (m_xprResource.m_bInitialized)
- m_xprResource.Destroy();
-
- free(font);
- font = NULL;
-}
-
-static void xdk360_render_msg_post(xdk360_video_font_t * font)
-{
- LPDIRECT3DDEVICE9 dev;
- if (!font || !font->d3d)
- return;
- dev = (LPDIRECT3DDEVICE9)font->d3d->dev;
-
- if (!dev)
- return;
-
- d3d9_set_texture(dev, 0, NULL);
- d3d9_set_vertex_declaration(dev, NULL);
- d3d9_set_vertex_shader(dev, NULL);
- d3d9_set_pixel_shader(dev, NULL);
- d3d9_set_render_state(dev, D3DRS_VIEWPORTENABLE, font->m_dwSavedState);
-}
-
-static void xdk360_render_msg_pre(xdk360_video_font_t * font)
-{
- float vTexScale[4];
- D3DSURFACE_DESC TextureDesc;
- LPDIRECT3DDEVICE9 dev;
-
- if (!font || !font->d3d)
- return;
-
- dev = (LPDIRECT3DDEVICE9)font->d3d->dev;
-
- if (!dev)
- return;
-
- /* Save state. */
- d3d9_get_render_state(font->d3d->dev, D3DRS_VIEWPORTENABLE,
- (DWORD*)&font->m_dwSavedState );
-
- /* Set the texture scaling factor as a vertex shader constant. */
- /* Get the description */
- d3d9_texture_get_level_desc(font->m_pFontTexture, 0, &TextureDesc);
-
- /* Set render state. */
- d3d9_set_texture(dev, 0, font->m_pFontTexture);
-
- vTexScale[0] = 1.0f / TextureDesc.Width;
- vTexScale[1] = 1.0f / TextureDesc.Height;
- vTexScale[2] = 0.0f;
- vTexScale[3] = 0.0f;
-
- d3d9_set_render_state(dev, D3DRS_VIEWPORTENABLE, FALSE);
- d3d9_set_vertex_declaration(dev, font->s_FontLocals.m_pFontVertexDecl);
- d3d9_set_vertex_shader(dev, font->s_FontLocals.m_pFontVertexShader);
- d3d9_set_pixel_shader(dev, font->s_FontLocals.m_pFontPixelShader);
- d3d9_set_vertex_shader_constantf(dev, 2, vTexScale, 1);
-}
-
-static void xdk360_draw_text(xdk360_video_font_t *font,
- float x, float y, const wchar_t * strText)
-{
- uint32_t dwNumChars;
- float vColor[4], m_fCursorX, m_fCursorY;
- volatile float *pVertex = NULL;
- LPDIRECT3DDEVICE9 dev = (LPDIRECT3DDEVICE9)font->d3d->dev;
-
- /* Set the color as a vertex shader constant. */
- vColor[0] = ((0xffffffff & 0x00ff0000) >> 16L) / 255.0f;
- vColor[1] = ((0xffffffff & 0x0000ff00) >> 8L) / 255.0f;
- vColor[2] = ((0xffffffff & 0x000000ff) >> 0L) / 255.0f;
- vColor[3] = ((0xffffffff & 0xff000000) >> 24L) / 255.0f;
-
- d3d9_set_vertex_shader_constantf(dev, 1, vColor, 1);
-
- m_fCursorX = floorf(x);
- m_fCursorY = floorf(y);
-
- /* Adjust for padding. */
- y -= font->m_fFontTopPadding;
-
- /* Begin drawing the vertices
- * Declared as volatile to force writing in ascending
- * address order.
- *
- * It prevents out of sequence writing in write combined
- * memory.
- */
-
- dwNumChars = wcslen(strText);
-#ifdef __cplusplus
- dev->BeginVertices(D3DPT_QUADLIST, 4 * dwNumChars,
- sizeof(XMFLOAT4), (void**)&pVertex);
-#else
- D3DDevice_BeginVertices(dev, D3DPT_QUADLIST, 4 * dwNumChars,
- sizeof(XMFLOAT4), (void**)&pVertex);
-#endif
-
- /* Draw four vertices for each glyph. */
- while (*strText)
- {
- float fOffset, fAdvance, fWidth, fHeight;
-#ifdef MSB_FIRST
- uint32_t tu1, tu2, tv1, tv2;
-#endif
- const GLYPH_ATTR *pGlyph;
- wchar_t letter = *strText++; /* Get the current letter in the string */
-
- /* Handle the newline character. */
- if (letter == L'\n')
- {
- m_fCursorX = x;
- m_fCursorY += font->m_fFontYAdvance * FONT_SCALE(font->d3d);
- continue;
- }
-
- /* Translate unprintable characters. */
- if (letter <= font->m_cMaxGlyph)
- pGlyph = &font->m_Glyphs[font->m_TranslatorTable[letter]];
- else
- pGlyph = &font->m_Glyphs[0];
-
- fOffset = FONT_SCALE(font->d3d) * (float)pGlyph->wOffset;
- fAdvance = FONT_SCALE(font->d3d) * (float)pGlyph->wAdvance;
- fWidth = FONT_SCALE(font->d3d) * (float)pGlyph->wWidth;
- fHeight = FONT_SCALE(font->d3d) * font->m_fFontHeight;
-
- m_fCursorX += fOffset;
-
- /* Add the vertices to draw this glyph. */
-
-#ifdef MSB_FIRST
- /* Convert shorts to 32 bit longs for in register merging */
- tu1 = pGlyph->tu1;
- tv1 = pGlyph->tv1;
- tu2 = pGlyph->tu2;
- tv2 = pGlyph->tv2;
-#endif
-
- /* NOTE: The vertexes are 2 floats for the screen coordinates,
- * followed by two USHORTS for the u/vs of the character,
- * terminated with the ARGB 32 bit color.
- *
- * This makes for 16 bytes per vertex data (Easier to read)
- *
- * Second NOTE: The U/V coordinates are merged and written
- * using a DWORD due to the write combining hardware
- * being only able to handle 32, 64 and 128 writes.
- *
- * Never store to write combined memory with 8 or 16bit
- * instructions. You've been warned.
- */
-
- /* Setup the vertex/screen coordinates */
- pVertex[0] = m_fCursorX;
- pVertex[1] = m_fCursorY;
- pVertex[3] = 0;
- pVertex[4] = m_fCursorX + fWidth;
- pVertex[5] = m_fCursorY;
- pVertex[7] = 0;
- pVertex[8] = m_fCursorX + fWidth;
- pVertex[9] = m_fCursorY + fHeight;
- pVertex[11] = 0;
- pVertex[12] = m_fCursorX;
- pVertex[13] = m_fCursorY + fHeight;
-#ifdef MSB_FIRST
- ((volatile uint32_t *)pVertex)[2] = (tu1 << 16) | tv1; /* Merged using big endian rules */
- ((volatile uint32_t *)pVertex)[6] = (tu2 << 16) | tv1; /* Merged using big endian rules */
- ((volatile uint32_t*)pVertex)[10] = (tu2 << 16) | tv2; /* Merged using big endian rules */
- ((volatile uint32_t*)pVertex)[14] = (tu1 << 16) | tv2; /* Merged using big endian rules */
-#endif
- pVertex[15] = 0;
- pVertex += 16;
-
- m_fCursorX += fAdvance;
-
- dwNumChars--;
- }
-
- /* Since we allocated vertex data space
- * based on the string length, we now need to
- * add some dummy verts for any skipped
- * characters (like newlines, etc.)
- */
- while (dwNumChars)
- {
- unsigned i;
- for (i = 0; i < 16; i++)
- pVertex[i] = 0;
-
- pVertex += 16;
- dwNumChars--;
- }
-
-#ifdef __cplusplus
- dev->EndVertices();
-#else
- D3DDevice_EndVertices(dev);
-#endif
-}
-
-static void xdk360_render_msg(
- video_frame_info_t *video_info,
- void *data, const char *str_msg,
- const struct font_params *params)
-{
- float x, y;
- wchar_t msg[PATH_MAX_LENGTH];
- xdk360_video_font_t *font = (xdk360_video_font_t*)data;
-
- if (params)
- {
- x = params->x;
- y = params->y;
- }
- else
- {
- x = font->d3d->resolution_hd_enable ? 160 : 100;
- y = 120;
- }
-
- mbstowcs(msg, str_msg, sizeof(msg) / sizeof(wchar_t));
-
- if (msg || msg[0] != L'\0')
- {
- xdk360_render_msg_pre(font);
- xdk360_draw_text(font, x, y, msg);
- xdk360_render_msg_post(font);
- }
-}
-
-font_renderer_t d3d_xbox360_font = {
- xdk360_init_font,
- xdk360_free_font,
- xdk360_render_msg,
- "xdk360_fonts",
- NULL, /* get_glyph */
- NULL, /* bind_block */
- NULL, /* flush */
- NULL /* get_message_width */
-};
diff --git a/gfx/font_driver.c b/gfx/font_driver.c
index d449f3c2ee..baee07d0ee 100644
--- a/gfx/font_driver.c
+++ b/gfx/font_driver.c
@@ -119,9 +119,7 @@ static bool d3d8_font_init_first(
#ifdef HAVE_D3D9
static const font_renderer_t *d3d9_font_backends[] = {
-#if defined(_XBOX)
- &d3d_xbox360_font,
-#elif defined(_WIN32) && defined(HAVE_D3DX)
+#if defined(_WIN32) && defined(HAVE_D3DX)
&d3d_win32_font,
#endif
NULL
diff --git a/gfx/font_driver.h b/gfx/font_driver.h
index 780905ac5d..22d878b625 100644
--- a/gfx/font_driver.h
+++ b/gfx/font_driver.h
@@ -162,7 +162,6 @@ int font_driver_get_line_height(void *font_data, float scale);
extern font_renderer_t gl_raster_font;
extern font_renderer_t gl_core_raster_font;
extern font_renderer_t gl1_raster_font;
-extern font_renderer_t d3d_xbox360_font;
extern font_renderer_t d3d_xdk1_font;
extern font_renderer_t d3d_win32_font;
extern font_renderer_t ps2_font;
diff --git a/griffin/griffin_cpp.cpp b/griffin/griffin_cpp.cpp
index 7e659defef..1c1425374c 100644
--- a/griffin/griffin_cpp.cpp
+++ b/griffin/griffin_cpp.cpp
@@ -123,10 +123,6 @@ VIDEO DRIVER
/*============================================================
FONTS
============================================================ */
-#if defined(_XBOX360)
-#include "../gfx/drivers_font/xdk360_fonts.cpp"
-#endif
-
#ifdef WANT_GLSLANG
#ifdef _WIN32
#include "../deps/glslang/glslang/glslang/OSDependent/Windows/ossource.cpp"