Skip to content

Commit 927e248

Browse files
committed
Fix dev F1/F2 scene switching
1 parent ada5e98 commit 927e248

5 files changed

Lines changed: 31 additions & 15 deletions

File tree

RSDKv5/RSDK/Graphics/DX11/DX11RenderDevice.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1499,8 +1499,9 @@ void RenderDevice::ProcessEvent(MSG Msg)
14991499
case VK_F1:
15001500
if (engine.devMenu) {
15011501
sceneInfo.listPos--;
1502-
if (sceneInfo.listPos < sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetStart
1503-
|| sceneInfo.listPos >= sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetEnd) {
1502+
while (sceneInfo.listPos < sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetStart
1503+
|| sceneInfo.listPos > sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetEnd
1504+
|| !sceneInfo.listCategory[sceneInfo.activeCategory].sceneCount) {
15041505
sceneInfo.activeCategory--;
15051506
if (sceneInfo.activeCategory >= sceneInfo.categoryCount) {
15061507
sceneInfo.activeCategory = sceneInfo.categoryCount - 1;
@@ -1524,7 +1525,9 @@ void RenderDevice::ProcessEvent(MSG Msg)
15241525
case VK_F2:
15251526
if (engine.devMenu) {
15261527
sceneInfo.listPos++;
1527-
if (sceneInfo.listPos >= sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetEnd || sceneInfo.listPos == 0) {
1528+
while (sceneInfo.listPos < sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetStart
1529+
|| sceneInfo.listPos > sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetEnd
1530+
|| !sceneInfo.listCategory[sceneInfo.activeCategory].sceneCount) {
15281531
sceneInfo.activeCategory++;
15291532
if (sceneInfo.activeCategory >= sceneInfo.categoryCount) {
15301533
sceneInfo.activeCategory = 0;

RSDKv5/RSDK/Graphics/DX9/DX9RenderDevice.cpp

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1174,13 +1174,14 @@ void RenderDevice::ProcessEvent(MSG Msg)
11741174
case VK_F1:
11751175
if (engine.devMenu) {
11761176
sceneInfo.listPos--;
1177-
if (sceneInfo.listPos < sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetStart
1178-
|| sceneInfo.listPos >= sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetEnd) {
1177+
while (sceneInfo.listPos < sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetStart
1178+
|| sceneInfo.listPos > sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetEnd
1179+
|| !sceneInfo.listCategory[sceneInfo.activeCategory].sceneCount) {
11791180
sceneInfo.activeCategory--;
11801181
if (sceneInfo.activeCategory >= sceneInfo.categoryCount) {
11811182
sceneInfo.activeCategory = sceneInfo.categoryCount - 1;
11821183
}
1183-
sceneInfo.listPos = sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetEnd - 1;
1184+
sceneInfo.listPos = sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetEnd;
11841185
}
11851186

11861187
#if RETRO_REV0U
@@ -1201,7 +1202,9 @@ void RenderDevice::ProcessEvent(MSG Msg)
12011202
case VK_F2:
12021203
if (engine.devMenu) {
12031204
sceneInfo.listPos++;
1204-
if (sceneInfo.listPos >= sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetEnd || sceneInfo.listPos == 0) {
1205+
while (sceneInfo.listPos < sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetStart
1206+
|| sceneInfo.listPos > sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetEnd
1207+
|| !sceneInfo.listCategory[sceneInfo.activeCategory].sceneCount) {
12051208
sceneInfo.activeCategory++;
12061209
if (sceneInfo.activeCategory >= sceneInfo.categoryCount) {
12071210
sceneInfo.activeCategory = 0;

RSDKv5/RSDK/Graphics/GLFW/GLFWRenderDevice.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1075,8 +1075,9 @@ void RenderDevice::ProcessKeyEvent(GLFWwindow *, int32 key, int32 scancode, int3
10751075
case GLFW_KEY_F1:
10761076
if (engine.devMenu) {
10771077
sceneInfo.listPos--;
1078-
if (sceneInfo.listPos < sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetStart
1079-
|| sceneInfo.listPos >= sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetEnd) {
1078+
while (sceneInfo.listPos < sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetStart
1079+
|| sceneInfo.listPos > sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetEnd
1080+
|| !sceneInfo.listCategory[sceneInfo.activeCategory].sceneCount) {
10801081
sceneInfo.activeCategory--;
10811082
if (sceneInfo.activeCategory >= sceneInfo.categoryCount) {
10821083
sceneInfo.activeCategory = sceneInfo.categoryCount - 1;
@@ -1100,7 +1101,9 @@ void RenderDevice::ProcessKeyEvent(GLFWwindow *, int32 key, int32 scancode, int3
11001101
case GLFW_KEY_F2:
11011102
if (engine.devMenu) {
11021103
sceneInfo.listPos++;
1103-
if (sceneInfo.listPos >= sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetEnd || sceneInfo.listPos == 0) {
1104+
while (sceneInfo.listPos < sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetStart
1105+
|| sceneInfo.listPos > sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetEnd
1106+
|| !sceneInfo.listCategory[sceneInfo.activeCategory].sceneCount) {
11041107
sceneInfo.activeCategory++;
11051108
if (sceneInfo.activeCategory >= sceneInfo.categoryCount) {
11061109
sceneInfo.activeCategory = 0;

RSDKv5/RSDK/Graphics/SDL2/SDL2RenderDevice.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -861,8 +861,9 @@ void RenderDevice::ProcessEvent(SDL_Event event)
861861
case SDL_SCANCODE_F1:
862862
if (engine.devMenu) {
863863
sceneInfo.listPos--;
864-
if (sceneInfo.listPos < sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetStart
865-
|| sceneInfo.listPos >= sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetEnd) {
864+
while (sceneInfo.listPos < sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetStart
865+
|| sceneInfo.listPos > sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetEnd
866+
|| !sceneInfo.listCategory[sceneInfo.activeCategory].sceneCount) {
866867
sceneInfo.activeCategory--;
867868
if (sceneInfo.activeCategory >= sceneInfo.categoryCount) {
868869
sceneInfo.activeCategory = sceneInfo.categoryCount - 1;
@@ -886,7 +887,9 @@ void RenderDevice::ProcessEvent(SDL_Event event)
886887
case SDL_SCANCODE_F2:
887888
if (engine.devMenu) {
888889
sceneInfo.listPos++;
889-
if (sceneInfo.listPos >= sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetEnd || sceneInfo.listPos == 0) {
890+
while (sceneInfo.listPos < sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetStart
891+
|| sceneInfo.listPos > sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetEnd
892+
|| !sceneInfo.listCategory[sceneInfo.activeCategory].sceneCount) {
890893
sceneInfo.activeCategory++;
891894
if (sceneInfo.activeCategory >= sceneInfo.categoryCount) {
892895
sceneInfo.activeCategory = 0;

RSDKv5/RSDK/Graphics/Vulkan/VulkanRenderDevice.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2195,7 +2195,9 @@ void RenderDevice::ProcessKeyEvent(GLFWwindow *, int32 key, int32 scancode, int3
21952195
case GLFW_KEY_F1:
21962196
if (engine.devMenu) {
21972197
sceneInfo.listPos--;
2198-
if (sceneInfo.listPos < sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetStart) {
2198+
while (sceneInfo.listPos < sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetStart
2199+
|| sceneInfo.listPos > sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetEnd
2200+
|| !sceneInfo.listCategory[sceneInfo.activeCategory].sceneCount) {
21992201
sceneInfo.activeCategory--;
22002202
if (sceneInfo.activeCategory >= sceneInfo.categoryCount) {
22012203
sceneInfo.activeCategory = sceneInfo.categoryCount - 1;
@@ -2219,7 +2221,9 @@ void RenderDevice::ProcessKeyEvent(GLFWwindow *, int32 key, int32 scancode, int3
22192221
case GLFW_KEY_F2:
22202222
if (engine.devMenu) {
22212223
sceneInfo.listPos++;
2222-
if (sceneInfo.listPos >= sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetEnd) {
2224+
while (sceneInfo.listPos < sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetStart
2225+
|| sceneInfo.listPos > sceneInfo.listCategory[sceneInfo.activeCategory].sceneOffsetEnd
2226+
|| !sceneInfo.listCategory[sceneInfo.activeCategory].sceneCount) {
22232227
sceneInfo.activeCategory++;
22242228
if (sceneInfo.activeCategory >= sceneInfo.categoryCount) {
22252229
sceneInfo.activeCategory = 0;

0 commit comments

Comments
 (0)