@@ -228,6 +228,18 @@ const char* szCameraModes[TOTAL_CUSTOM_CAMERAS] = {
228
228
" Head Perspective"
229
229
};
230
230
231
+ const char * szAI[] = {
232
+ " AI_ButtonMasher.mko" ,
233
+ " AI_DebugOnlineButtonMasher.mko" ,
234
+ " AI_Dummy.mko" ,
235
+ " AI_Flying.mko" ,
236
+ " AI_Normal.mko" ,
237
+ " AI_SingleMove.mko" ,
238
+ " AI_Test.mko" ,
239
+ " AI_Training.mko" ,
240
+ " AI_Verifier.mko" ,
241
+ };
242
+
231
243
int GetCamMode (const char * mode)
232
244
{
233
245
for (int i = 0 ; i < TOTAL_CUSTOM_CAMERAS; i++)
@@ -271,6 +283,8 @@ void MK10Menu::Initialize()
271
283
sprintf (szPlayer2Trait, szTraits[0 ]);
272
284
sprintf (szPlayer1Bone, szBones[0 ]);
273
285
sprintf (szPlayer2Bone, szBones[0 ]);
286
+ sprintf (szPlayer1AI, szAI[0 ]);
287
+ sprintf (szPlayer2AI, szAI[0 ]);
274
288
}
275
289
276
290
void MK10Menu::Process ()
@@ -301,32 +315,32 @@ void MK10Menu::Draw()
301
315
302
316
if (ImGui::BeginTabBar (" ##tabs" ))
303
317
{
304
- if (ImGui::BeginTabItem (" Character Modifier " ))
318
+ if (ImGui::BeginTabItem (" Character" ))
305
319
{
306
320
DrawCharacterTab ();
307
321
ImGui::EndTabItem ();
308
322
}
309
- if (ImGui::BeginTabItem (" Variation Manager " ))
323
+ if (ImGui::BeginTabItem (" Variation" ))
310
324
{
311
325
DrawVariationsTab ();
312
326
ImGui::EndTabItem ();
313
327
}
314
- if (ImGui::BeginTabItem (" Stage Modifier " ))
328
+ if (ImGui::BeginTabItem (" Stage" ))
315
329
{
316
330
DrawStageTab ();
317
331
ImGui::EndTabItem ();
318
332
}
319
- if (ImGui::BeginTabItem (" Player Control " ))
333
+ if (ImGui::BeginTabItem (" Player" ))
320
334
{
321
335
DrawPlayerTab ();
322
336
ImGui::EndTabItem ();
323
337
}
324
- if (ImGui::BeginTabItem (" Speed Modifier " ))
338
+ if (ImGui::BeginTabItem (" Speed" ))
325
339
{
326
340
DrawSpeedTab ();
327
341
ImGui::EndTabItem ();
328
342
}
329
- if (ImGui::BeginTabItem (" Camera Control " ))
343
+ if (ImGui::BeginTabItem (" Camera" ))
330
344
{
331
345
DrawCameraTab ();
332
346
ImGui::EndTabItem ();
@@ -341,6 +355,11 @@ void MK10Menu::Draw()
341
355
DrawScriptTab ();
342
356
ImGui::EndTabItem ();
343
357
}
358
+ if (ImGui::BeginTabItem (" AI" ))
359
+ {
360
+ DrawAITab ();
361
+ ImGui::EndTabItem ();
362
+ }
344
363
if (ImGui::BeginTabItem (" Misc." ))
345
364
{
346
365
DrawMiscTab ();
@@ -764,7 +783,6 @@ void MK10Menu::DrawCameraTab()
764
783
765
784
void MK10Menu::DrawCheatsTab ()
766
785
{
767
- ImGui::Separator ();
768
786
ImGui::Columns (2 );
769
787
ImGui::SetColumnWidth (0 , 11 .5f * ImGui::GetFontSize ());
770
788
@@ -798,9 +816,31 @@ void MK10Menu::DrawCheatsTab()
798
816
ImGui::Checkbox (" P2##super" , &m_bInfiniteMeterP2);
799
817
ImGui::NextColumn ();
800
818
819
+ ImGui::Text (" Zero Meter\n " );
820
+ ImGui::NextColumn ();
821
+ ImGui::Checkbox (" P1##0super" , &m_bZeroMeterP1);
822
+ ImGui::SameLine ();
823
+ ImGui::Checkbox (" P2##0super" , &m_bZeroMeterP2);
824
+ ImGui::NextColumn ();
825
+
826
+
827
+ ImGui::Text (" Infinite Energy\n " );
828
+ ImGui::NextColumn ();
829
+ ImGui::Checkbox (" P1##run" , &m_bInfiniteRunP1);
830
+ ImGui::SameLine ();
831
+ ImGui::Checkbox (" P2##run" , &m_bInfiniteRunP2);
832
+ ImGui::NextColumn ();
833
+
834
+ ImGui::Text (" Zero Energy\n " );
835
+ ImGui::NextColumn ();
836
+ ImGui::Checkbox (" P1##nrun" , &m_bNoRunP1);
837
+ ImGui::SameLine ();
838
+ ImGui::Checkbox (" P2##nrun" , &m_bNoRunP2);
839
+ ImGui::NextColumn ();
840
+
801
841
ImGui::Text (" Freeze Timer\n " );
802
842
ImGui::NextColumn ();
803
- ImGui::Checkbox (" Enable ##time" , &m_bStopTimer);
843
+ ImGui::Checkbox (" ##time" , &m_bStopTimer);
804
844
ImGui::NextColumn ();
805
845
806
846
ImGui::Columns (1 );
@@ -832,6 +872,11 @@ void MK10Menu::DrawMiscTab()
832
872
Notifications->SetNotificationTime (5500 );
833
873
Notifications->PushNotification (" Costumes should be unlocked now, check costumes list in select screen." );
834
874
}
875
+ else
876
+ {
877
+ Notifications->SetNotificationTime (3500 );
878
+ Notifications->PushNotification (" Execute this option in the Crypt." );
879
+ }
835
880
836
881
}
837
882
@@ -912,6 +957,43 @@ void MK10Menu::DrawScriptTab()
912
957
m_vKeyBinds.clear ();
913
958
}
914
959
960
+ void MK10Menu::DrawAITab ()
961
+ {
962
+ ImGui::Checkbox (" Change Player 1 AI" , &m_bAIDroneModifierP1);
963
+
964
+ if (ImGui::BeginCombo (" Player 1 AI" , szPlayer1AI))
965
+ {
966
+ for (int n = 0 ; n < IM_ARRAYSIZE (szAI); n++)
967
+ {
968
+ bool is_selected = (szPlayer1AI == szAI[n]);
969
+ if (ImGui::Selectable (szAI[n], is_selected))
970
+ sprintf (szPlayer1AI, szAI[n]);
971
+ if (is_selected)
972
+ ImGui::SetItemDefaultFocus ();
973
+
974
+ }
975
+ ImGui::EndCombo ();
976
+ }
977
+
978
+ ImGui::Separator ();
979
+ ImGui::Checkbox (" Change Player 2 AI" , &m_bAIDroneModifierP2);
980
+
981
+ if (ImGui::BeginCombo (" Player 2 AI" , szPlayer2AI))
982
+ {
983
+ for (int n = 0 ; n < IM_ARRAYSIZE (szAI); n++)
984
+ {
985
+ bool is_selected = (szPlayer2AI == szAI[n]);
986
+ if (ImGui::Selectable (szAI[n], is_selected))
987
+ sprintf (szPlayer2AI, szAI[n]);
988
+ if (is_selected)
989
+ ImGui::SetItemDefaultFocus ();
990
+
991
+ }
992
+ ImGui::EndCombo ();
993
+ }
994
+ ImGui::Separator ();
995
+ }
996
+
915
997
void MK10Menu::DrawSettings ()
916
998
{
917
999
ImGui::SetNextWindowPos ({ ImGui::GetIO ().DisplaySize .x / 2 .0f , ImGui::GetIO ().DisplaySize .y / 2 .0f }, ImGuiCond_Once, { 0 .5f , 0 .5f });
0 commit comments