mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2024-12-28 13:21:10 +00:00
148 lines
3.3 KiB
C
148 lines
3.3 KiB
C
// Emacs style mode select -*- C++ -*-
|
|
//-----------------------------------------------------------------------------
|
|
//
|
|
// Copyright (C) 1993-1996 by id Software, Inc.
|
|
// Portions Copyright (C) 1998-2000 by DooM Legacy Team.
|
|
//
|
|
// This program 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 Foundation; either version 2
|
|
// of the License, or (at your option) any later version.
|
|
//
|
|
// This program 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.
|
|
//-----------------------------------------------------------------------------
|
|
/// \file
|
|
/// \brief SRB2 graphics stuff for NDS
|
|
|
|
|
|
#include "../doomdef.h"
|
|
#include "../command.h"
|
|
#include "../i_video.h"
|
|
|
|
#include "../hardware/hw_drv.h"
|
|
#include "../hardware/hw_main.h"
|
|
#include "r_nds3d.h"
|
|
|
|
rendermode_t rendermode = render_opengl;
|
|
|
|
boolean highcolor = false;
|
|
|
|
boolean allow_fullscreen = false;
|
|
|
|
consvar_t cv_vidwait = {"vid_wait", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
|
|
|
void I_StartupGraphics(void)
|
|
{
|
|
vid.width = 256;
|
|
vid.height = 192;
|
|
vid.bpp = 1;
|
|
vid.rowbytes = vid.width * vid.bpp;
|
|
vid.recalc = true;
|
|
|
|
HWD.pfnInit = NDS3D_Init;
|
|
HWD.pfnShutdown = NDS3D_Shutdown;
|
|
HWD.pfnFinishUpdate = NDS3D_FinishUpdate;
|
|
HWD.pfnDraw2DLine = NDS3D_Draw2DLine;
|
|
HWD.pfnDrawPolygon = NDS3D_DrawPolygon;
|
|
HWD.pfnSetBlend = NDS3D_SetBlend;
|
|
HWD.pfnClearBuffer = NDS3D_ClearBuffer;
|
|
HWD.pfnSetTexture = NDS3D_SetTexture;
|
|
HWD.pfnReadRect = NDS3D_ReadRect;
|
|
HWD.pfnGClipRect = NDS3D_GClipRect;
|
|
HWD.pfnClearMipMapCache = NDS3D_ClearMipMapCache;
|
|
HWD.pfnSetSpecialState = NDS3D_SetSpecialState;
|
|
HWD.pfnSetPalette = NDS3D_SetPalette;
|
|
HWD.pfnGetTextureUsed = NDS3D_GetTextureUsed;
|
|
HWD.pfnDrawMD2 = NDS3D_DrawMD2;
|
|
HWD.pfnDrawMD2i = NDS3D_DrawMD2i;
|
|
HWD.pfnSetTransform = NDS3D_SetTransform;
|
|
HWD.pfnGetRenderVersion = NDS3D_GetRenderVersion;
|
|
|
|
videoSetMode(MODE_0_3D);
|
|
vramSetBankA(VRAM_A_TEXTURE);
|
|
vramSetBankB(VRAM_B_TEXTURE);
|
|
vramSetBankC(VRAM_C_TEXTURE);
|
|
vramSetBankD(VRAM_D_TEXTURE);
|
|
vramSetBankE(VRAM_E_TEX_PALETTE);
|
|
|
|
glInit();
|
|
|
|
glEnable(GL_TEXTURE_2D);
|
|
|
|
glClearColor(16,16,16,31);
|
|
glClearPolyID(63);
|
|
glClearDepth(0x7FFF);
|
|
|
|
glViewport(0, 0, vid.width - 1, vid.height - 1);
|
|
|
|
glMatrixMode(GL_PROJECTION);
|
|
glLoadIdentity();
|
|
|
|
gluPerspective(fov, ASPECT_RATIO, NEAR_CLIPPING_PLANE, FAR_CLIPPING_PLANE);
|
|
|
|
glMatrixMode(GL_MODELVIEW);
|
|
glLoadIdentity();
|
|
glScalef(1.0f, 1.0f, -1.0f);
|
|
|
|
HWD.pfnInit(I_Error);
|
|
HWR_Startup();
|
|
}
|
|
|
|
void I_ShutdownGraphics(void){}
|
|
|
|
void I_SetPalette(RGBA_t *palette)
|
|
{
|
|
(void)palette;
|
|
}
|
|
|
|
INT32 VID_NumModes(void)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
INT32 VID_GetModeForSize(INT32 w, INT32 h)
|
|
{
|
|
(void)w;
|
|
(void)h;
|
|
return 0;
|
|
}
|
|
|
|
void VID_PrepareModeList(void){}
|
|
|
|
INT32 VID_SetMode(INT32 modenum)
|
|
{
|
|
(void)modenum;
|
|
return 0;
|
|
}
|
|
|
|
const char *VID_GetModeName(INT32 modenum)
|
|
{
|
|
(void)modenum;
|
|
return NULL;
|
|
}
|
|
|
|
void I_UpdateNoBlit(void){}
|
|
|
|
void I_FinishUpdate(void)
|
|
{
|
|
HWD.pfnFinishUpdate(true);
|
|
}
|
|
|
|
void I_UpdateNoVsync(void) {}
|
|
|
|
void I_WaitVBL(INT32 count)
|
|
{
|
|
(void)count;
|
|
}
|
|
|
|
void I_ReadScreen(UINT8 *scr)
|
|
{
|
|
(void)scr;
|
|
}
|
|
|
|
void I_BeginRead(void){}
|
|
|
|
void I_EndRead(void){}
|