Change camera view in debug to the previous/next kart (#3158)
* Change camera view from one kart to the previous/next with F5-6 keys or with menu buttons * Simplify code The kart_num/real_num distinction was part of the base code Benau did ; but it is completely redundant after the changes I did to the way kart_num is calculated (it was previously a static int, it's now an unsigned int).
This commit is contained in:
parent
db3399500f
commit
a27dd674a0
@ -122,6 +122,7 @@ enum DebugMenuCommand
|
|||||||
DEBUG_GUI_CAM_NORMAL,
|
DEBUG_GUI_CAM_NORMAL,
|
||||||
DEBUG_GUI_CAM_SMOOTH,
|
DEBUG_GUI_CAM_SMOOTH,
|
||||||
DEBUG_GUI_CAM_ATTACH,
|
DEBUG_GUI_CAM_ATTACH,
|
||||||
|
DEBUG_VIEW_KART_PREVIOUS,
|
||||||
DEBUG_VIEW_KART_ONE,
|
DEBUG_VIEW_KART_ONE,
|
||||||
DEBUG_VIEW_KART_TWO,
|
DEBUG_VIEW_KART_TWO,
|
||||||
DEBUG_VIEW_KART_THREE,
|
DEBUG_VIEW_KART_THREE,
|
||||||
@ -130,6 +131,7 @@ enum DebugMenuCommand
|
|||||||
DEBUG_VIEW_KART_SIX,
|
DEBUG_VIEW_KART_SIX,
|
||||||
DEBUG_VIEW_KART_SEVEN,
|
DEBUG_VIEW_KART_SEVEN,
|
||||||
DEBUG_VIEW_KART_EIGHT,
|
DEBUG_VIEW_KART_EIGHT,
|
||||||
|
DEBUG_VIEW_KART_NEXT,
|
||||||
DEBUG_HIDE_KARTS,
|
DEBUG_HIDE_KARTS,
|
||||||
DEBUG_THROTTLE_FPS,
|
DEBUG_THROTTLE_FPS,
|
||||||
DEBUG_VISUAL_VALUES,
|
DEBUG_VISUAL_VALUES,
|
||||||
@ -244,6 +246,7 @@ LightNode* findNearestLight()
|
|||||||
|
|
||||||
bool handleContextMenuAction(s32 cmd_id)
|
bool handleContextMenuAction(s32 cmd_id)
|
||||||
{
|
{
|
||||||
|
unsigned int kart_num = Camera::getActiveCamera()->getKart()->getWorldKartId();
|
||||||
|
|
||||||
World *world = World::getWorld();
|
World *world = World::getWorld();
|
||||||
Physics *physics = Physics::getInstance();
|
Physics *physics = Physics::getInstance();
|
||||||
@ -603,6 +606,19 @@ bool handleContextMenuAction(s32 cmd_id)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case DEBUG_VIEW_KART_PREVIOUS:
|
||||||
|
{
|
||||||
|
if (kart_num == 0)
|
||||||
|
{
|
||||||
|
kart_num += World::getWorld()->getNumKarts() - 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
kart_num--;
|
||||||
|
}
|
||||||
|
Camera::getActiveCamera()->setKart(World::getWorld()->getKart(kart_num));
|
||||||
|
break;
|
||||||
|
}
|
||||||
case DEBUG_VIEW_KART_ONE:
|
case DEBUG_VIEW_KART_ONE:
|
||||||
changeCameraTarget(1);
|
changeCameraTarget(1);
|
||||||
break;
|
break;
|
||||||
@ -627,6 +643,20 @@ bool handleContextMenuAction(s32 cmd_id)
|
|||||||
case DEBUG_VIEW_KART_EIGHT:
|
case DEBUG_VIEW_KART_EIGHT:
|
||||||
changeCameraTarget(8);
|
changeCameraTarget(8);
|
||||||
break;
|
break;
|
||||||
|
case DEBUG_VIEW_KART_NEXT:
|
||||||
|
{
|
||||||
|
if (kart_num == World::getWorld()->getNumKarts() - 1)
|
||||||
|
{
|
||||||
|
kart_num = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
kart_num++;
|
||||||
|
}
|
||||||
|
Camera::getActiveCamera()->setKart(World::getWorld()->getKart(kart_num));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case DEBUG_PRINT_START_POS:
|
case DEBUG_PRINT_START_POS:
|
||||||
if (!world) return false;
|
if (!world) return false;
|
||||||
for (unsigned int i = 0; i<world->getNumKarts(); i++)
|
for (unsigned int i = 0; i<world->getNumKarts(); i++)
|
||||||
@ -893,6 +923,7 @@ bool onEvent(const SEvent &event)
|
|||||||
|
|
||||||
mnu->addItem(L"Change camera target >",-1,true, true);
|
mnu->addItem(L"Change camera target >",-1,true, true);
|
||||||
sub = mnu->getSubMenu(5);
|
sub = mnu->getSubMenu(5);
|
||||||
|
sub->addItem(L"To previous kart (Ctrl + F5)", DEBUG_VIEW_KART_PREVIOUS);
|
||||||
sub->addItem(L"To kart one", DEBUG_VIEW_KART_ONE);
|
sub->addItem(L"To kart one", DEBUG_VIEW_KART_ONE);
|
||||||
sub->addItem(L"To kart two", DEBUG_VIEW_KART_TWO);
|
sub->addItem(L"To kart two", DEBUG_VIEW_KART_TWO);
|
||||||
sub->addItem(L"To kart three", DEBUG_VIEW_KART_THREE);
|
sub->addItem(L"To kart three", DEBUG_VIEW_KART_THREE);
|
||||||
@ -901,6 +932,7 @@ bool onEvent(const SEvent &event)
|
|||||||
sub->addItem(L"To kart six", DEBUG_VIEW_KART_SIX);
|
sub->addItem(L"To kart six", DEBUG_VIEW_KART_SIX);
|
||||||
sub->addItem(L"To kart seven", DEBUG_VIEW_KART_SEVEN);
|
sub->addItem(L"To kart seven", DEBUG_VIEW_KART_SEVEN);
|
||||||
sub->addItem(L"To kart eight", DEBUG_VIEW_KART_EIGHT);
|
sub->addItem(L"To kart eight", DEBUG_VIEW_KART_EIGHT);
|
||||||
|
sub->addItem(L"To next kart (Ctrl + F6)", DEBUG_VIEW_KART_NEXT);
|
||||||
|
|
||||||
mnu->addItem(L"Font >",-1,true, true);
|
mnu->addItem(L"Font >",-1,true, true);
|
||||||
sub = mnu->getSubMenu(6);
|
sub = mnu->getSubMenu(6);
|
||||||
@ -970,6 +1002,7 @@ bool onEvent(const SEvent &event)
|
|||||||
|
|
||||||
bool handleStaticAction(int key)
|
bool handleStaticAction(int key)
|
||||||
{
|
{
|
||||||
|
unsigned int kart_num = Camera::getActiveCamera()->getKart()->getWorldKartId();
|
||||||
if (key == IRR_KEY_F1)
|
if (key == IRR_KEY_F1)
|
||||||
{
|
{
|
||||||
handleContextMenuAction(DEBUG_GUI_CAM_FREE);
|
handleContextMenuAction(DEBUG_GUI_CAM_FREE);
|
||||||
@ -985,6 +1018,32 @@ bool handleStaticAction(int key)
|
|||||||
#endif
|
#endif
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
else if (key == IRR_KEY_F5)
|
||||||
|
{
|
||||||
|
if (kart_num == 0)
|
||||||
|
{
|
||||||
|
kart_num += World::getWorld()->getNumKarts() - 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
kart_num--;
|
||||||
|
}
|
||||||
|
Camera::getActiveCamera()->setKart(World::getWorld()->getKart(kart_num));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if (key == IRR_KEY_F6)
|
||||||
|
{
|
||||||
|
if (kart_num == World::getWorld()->getNumKarts() - 1)
|
||||||
|
{
|
||||||
|
kart_num = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
kart_num++;
|
||||||
|
}
|
||||||
|
Camera::getActiveCamera()->setKart(World::getWorld()->getKart(kart_num));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
// TODO: create more keyboard shortcuts
|
// TODO: create more keyboard shortcuts
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
Reference in New Issue
Block a user