fill out some of the doom implementation
This commit is contained in:
parent
777d766035
commit
0e7eb1f5b8
3 changed files with 31 additions and 3 deletions
|
@ -214,8 +214,8 @@ elseif(BACKEND STREQUAL "SDL2")
|
||||||
elseif(BACKEND STREQUAL "nng")
|
elseif(BACKEND STREQUAL "nng")
|
||||||
target_sources(dp_doom PRIVATE
|
target_sources(dp_doom PRIVATE
|
||||||
"linuxdoom-1.10/ib_sound/sdl.c"
|
"linuxdoom-1.10/ib_sound/sdl.c"
|
||||||
"linuxdoom-1.10/ib_system/nng.c"
|
"linuxdoom-1.10/ib_system/ib_system_nng.c"
|
||||||
"linuxdoom-1.10/ib_video/nng.c"
|
"linuxdoom-1.10/ib_video/ib_video_nng.c"
|
||||||
)
|
)
|
||||||
|
|
||||||
find_package(SDL2 REQUIRED)
|
find_package(SDL2 REQUIRED)
|
||||||
|
|
|
@ -20,7 +20,7 @@ int IB_GetTime (void)
|
||||||
//
|
//
|
||||||
void IB_Init (void)
|
void IB_Init (void)
|
||||||
{
|
{
|
||||||
SDL_Init(0);
|
SDL_Init(SDL_INIT_TIMER);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,9 @@
|
||||||
//
|
//
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#include <signal.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
#include <stdint.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
@ -36,6 +38,12 @@
|
||||||
|
|
||||||
#include "../ib_video.h"
|
#include "../ib_video.h"
|
||||||
|
|
||||||
|
#define BYTES_PER_PIXEL 3
|
||||||
|
|
||||||
|
//uint8_t frameBuffer[SCREENWIDTH * SCREENHEIGHT * BYTES_PER_PIXEL];
|
||||||
|
static uint8_t *g_frameBuffer;
|
||||||
|
static size_t g_pitch;
|
||||||
|
|
||||||
//
|
//
|
||||||
// IB_StartTic
|
// IB_StartTic
|
||||||
//
|
//
|
||||||
|
@ -45,6 +53,8 @@ void IB_StartTic (void)
|
||||||
|
|
||||||
void IB_GetFramebuffer(unsigned char **pixels, size_t *pitch)
|
void IB_GetFramebuffer(unsigned char **pixels, size_t *pitch)
|
||||||
{
|
{
|
||||||
|
*pixels = g_frameBuffer;
|
||||||
|
*pitch = g_pitch;
|
||||||
}
|
}
|
||||||
|
|
||||||
void IB_FinishUpdate (void)
|
void IB_FinishUpdate (void)
|
||||||
|
@ -53,16 +63,34 @@ void IB_FinishUpdate (void)
|
||||||
|
|
||||||
void IB_GetColor(unsigned char *bytes, unsigned char red, unsigned char green, unsigned char blue)
|
void IB_GetColor(unsigned char *bytes, unsigned char red, unsigned char green, unsigned char blue)
|
||||||
{
|
{
|
||||||
|
bytes[0] = red;
|
||||||
|
bytes[1] = green;
|
||||||
|
bytes[2] = blue;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void I_Quit_Wrapper(int dummy)
|
||||||
|
{
|
||||||
|
(void)dummy;
|
||||||
|
|
||||||
|
I_Quit();
|
||||||
}
|
}
|
||||||
|
|
||||||
void IB_InitGraphics(const char *title, size_t screen_width, size_t screen_height, size_t *bytes_per_pixel)
|
void IB_InitGraphics(const char *title, size_t screen_width, size_t screen_height, size_t *bytes_per_pixel)
|
||||||
{
|
{
|
||||||
|
(void) title;
|
||||||
|
g_frameBuffer = malloc(screen_width * screen_height * BYTES_PER_PIXEL);
|
||||||
|
g_pitch = screen_width * BYTES_PER_PIXEL;
|
||||||
|
*bytes_per_pixel = BYTES_PER_PIXEL;
|
||||||
|
|
||||||
|
signal(SIGINT, I_Quit_Wrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
void IB_ShutdownGraphics(void)
|
void IB_ShutdownGraphics(void)
|
||||||
{
|
{
|
||||||
|
free(g_frameBuffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
void IB_GrabMouse(boolean grab)
|
void IB_GrabMouse(boolean grab)
|
||||||
{
|
{
|
||||||
|
(void) grab;
|
||||||
}
|
}
|
Loading…
Reference in a new issue