some work on skeleton; fixed mesh bug

This commit is contained in:
aap
2017-10-20 22:38:28 +02:00
parent 2ba2258b06
commit 7273afb9a3
6 changed files with 111 additions and 0 deletions

View File

@ -31,6 +31,21 @@ TerminateRW(void)
rw::Engine::term();
}
void
CameraSize(Camera *cam, Rect *r)
{
if(cam->frameBuffer){
cam->frameBuffer->destroy();
cam->frameBuffer = nil;
}
if(cam->zBuffer){
cam->zBuffer->destroy();
cam->zBuffer = nil;
}
cam->frameBuffer = Raster::create(r->w, r->h, 0, Raster::CAMERA);
cam->zBuffer = Raster::create(r->w, r->h, 0, Raster::ZBUFFER);
}
EventStatus
EventHandler(Event e, void *param)
{

View File

@ -69,6 +69,7 @@ enum Event
PLUGINATTACH,
KEYDOWN,
KEYUP,
RESIZE,
IDLE,
QUIT
};
@ -91,6 +92,7 @@ extern Args args;
bool InitRW(void);
void TerminateRW(void);
void CameraSize(Camera *cam, Rect *r);
EventStatus EventHandler(Event e, void *param);
}

View File

@ -63,6 +63,8 @@ static void KeyDown(int key) { EventHandler(KEYDOWN, &key); }
LRESULT CALLBACK
WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
static int resizing = 0;
switch(msg){
case WM_DESTROY:
PostQuitMessage(0);
@ -98,6 +100,15 @@ WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
KeyUp(keymap[wParam]);
break;
case WM_SIZE:
rw::Rect r;
r.x = 0;
r.y = 0;
r.w = LOWORD(lParam);
r.h = HIWORD(lParam);
EventHandler(RESIZE, &r);
break;
case WM_CLOSE:
DestroyWindow(hwnd);
break;