|
|
|
@ -286,7 +286,7 @@ handleMouseDown(SDL_MouseButtonEvent& e, bool gooey_wants) |
|
|
|
handleEntityMouseDown(e); |
|
|
|
handleEntityMouseDown(e); |
|
|
|
} |
|
|
|
} |
|
|
|
} else if (e.button == SDL_BUTTON_RIGHT) { |
|
|
|
} else if (e.button == SDL_BUTTON_RIGHT) { |
|
|
|
gs->is_camera_rotate = true; |
|
|
|
gs->movement.is_camera_rotate = true; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -300,7 +300,7 @@ handleMouseUp(SDL_MouseButtonEvent& e, bool gooey_wants) |
|
|
|
if (e.button == SDL_BUTTON_LEFT && gs->select_mode == HEX_SELECT) |
|
|
|
if (e.button == SDL_BUTTON_LEFT && gs->select_mode == HEX_SELECT) |
|
|
|
gs->grid.is_selecting = false; |
|
|
|
gs->grid.is_selecting = false; |
|
|
|
else if (e.button == SDL_BUTTON_RIGHT) |
|
|
|
else if (e.button == SDL_BUTTON_RIGHT) |
|
|
|
gs->is_camera_rotate = false; |
|
|
|
gs->movement.is_camera_rotate = false; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -312,7 +312,7 @@ handleMouseMove(SDL_MouseMotionEvent& e, bool gooey_wants) |
|
|
|
if (!gooey_wants) { |
|
|
|
if (!gooey_wants) { |
|
|
|
if (gs->select_mode == HEX_SELECT && gs->grid.is_selecting) |
|
|
|
if (gs->select_mode == HEX_SELECT && gs->grid.is_selecting) |
|
|
|
handleHexMouseMove(e); |
|
|
|
handleHexMouseMove(e); |
|
|
|
else if(gs->is_camera_rotate) |
|
|
|
else if(gs->movement.is_camera_rotate) |
|
|
|
cameraRotate(g_render_state->cam, e.xrel, e.yrel); |
|
|
|
cameraRotate(g_render_state->cam, e.xrel, e.yrel); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -334,26 +334,26 @@ processSDLEvents() |
|
|
|
case SDL_KEYDOWN: |
|
|
|
case SDL_KEYDOWN: |
|
|
|
switch (e.key.keysym.sym) { |
|
|
|
switch (e.key.keysym.sym) { |
|
|
|
case SDLK_ESCAPE: run = false; break; |
|
|
|
case SDLK_ESCAPE: run = false; break; |
|
|
|
case SDLK_e: gs->is_moveforward = true; break; |
|
|
|
case SDLK_e: gs->movement.is_moveforward = true; break; |
|
|
|
case SDLK_s: gs->is_moveleft = true; break; |
|
|
|
case SDLK_s: gs->movement.is_moveleft = true; break; |
|
|
|
case SDLK_d: gs->is_movebackward = true; break; |
|
|
|
case SDLK_d: gs->movement.is_movebackward = true; break; |
|
|
|
case SDLK_f: gs->is_moveright = true; break; |
|
|
|
case SDLK_f: gs->movement.is_moveright = true; break; |
|
|
|
case SDLK_SPACE: gs->is_moveup = true; break; |
|
|
|
case SDLK_SPACE: gs->movement.is_moveup = true; break; |
|
|
|
case SDLK_c: gs->is_movedown = true; break; |
|
|
|
case SDLK_c: gs->movement.is_movedown = true; break; |
|
|
|
case SDLK_r: gs->is_rotateCW = true; break; |
|
|
|
case SDLK_r: gs->movement.is_rotateCW = true; break; |
|
|
|
case SDLK_w: gs->is_rotateCCW = true; break; |
|
|
|
case SDLK_w: gs->movement.is_rotateCCW = true; break; |
|
|
|
} |
|
|
|
} |
|
|
|
break; |
|
|
|
break; |
|
|
|
case SDL_KEYUP: |
|
|
|
case SDL_KEYUP: |
|
|
|
switch (e.key.keysym.sym) { |
|
|
|
switch (e.key.keysym.sym) { |
|
|
|
case SDLK_e: gs->is_moveforward = false; break; |
|
|
|
case SDLK_e: gs->movement.is_moveforward = false; break; |
|
|
|
case SDLK_s: gs->is_moveleft = false; break; |
|
|
|
case SDLK_s: gs->movement.is_moveleft = false; break; |
|
|
|
case SDLK_d: gs->is_movebackward = false; break; |
|
|
|
case SDLK_d: gs->movement.is_movebackward = false; break; |
|
|
|
case SDLK_f: gs->is_moveright = false; break; |
|
|
|
case SDLK_f: gs->movement.is_moveright = false; break; |
|
|
|
case SDLK_SPACE: gs->is_moveup = false; break; |
|
|
|
case SDLK_SPACE: gs->movement.is_moveup = false; break; |
|
|
|
case SDLK_c: gs->is_movedown = false; break; |
|
|
|
case SDLK_c: gs->movement.is_movedown = false; break; |
|
|
|
case SDLK_r: gs->is_rotateCW = false; break; |
|
|
|
case SDLK_r: gs->movement.is_rotateCW = false; break; |
|
|
|
case SDLK_w: gs->is_rotateCCW = false; break; |
|
|
|
case SDLK_w: gs->movement.is_rotateCCW = false; break; |
|
|
|
} |
|
|
|
} |
|
|
|
break; |
|
|
|
break; |
|
|
|
case SDL_MOUSEBUTTONDOWN: |
|
|
|
case SDL_MOUSEBUTTONDOWN: |
|
|
|
@ -428,8 +428,14 @@ int main(int argc, char* argv[]) |
|
|
|
game_state* gs = g_game_state; |
|
|
|
game_state* gs = g_game_state; |
|
|
|
render_state* rs = g_render_state; |
|
|
|
render_state* rs = g_render_state; |
|
|
|
|
|
|
|
|
|
|
|
cameraMove(rs->cam, gs->is_moveup, gs->is_moveleft, gs->is_movedown, gs->is_moveright, |
|
|
|
cameraMove( |
|
|
|
gs->is_moveforward, gs->is_movebackward); |
|
|
|
rs->cam, |
|
|
|
|
|
|
|
gs->movement.is_moveup, |
|
|
|
|
|
|
|
gs->movement.is_moveleft, |
|
|
|
|
|
|
|
gs->movement.is_movedown, |
|
|
|
|
|
|
|
gs->movement.is_moveright, |
|
|
|
|
|
|
|
gs->movement.is_moveforward, |
|
|
|
|
|
|
|
gs->movement.is_movebackward); |
|
|
|
|
|
|
|
|
|
|
|
renRenderFrame(rs, gs->grid, gs->entities, gs->entity_count); |
|
|
|
renRenderFrame(rs, gs->grid, gs->entities, gs->entity_count); |
|
|
|
|
|
|
|
|
|
|
|
|