MCPcopy Create free account
hub / github.com/OpenFodder/openfodder / Service_KIA_Loop

Method Service_KIA_Loop

Source/Fodder.cpp:9823–9870  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9821}
9822
9823void cFodder::Service_KIA_Loop() {
9824 Mouse_Setup();
9825 mService_Promotion_Exit_Loop = 0;
9826
9827 if (Service_KIA_Troop_Prepare() < 0)
9828 return;
9829
9830 mSurface->clearBuffer();
9831
9832 if (mVersionCurrent->isPC()) {
9833 GUI_Draw_Frame_8(5, 0, 0x34, 0);
9834 GUI_Draw_Frame_16(7, 0, 0, 0x31);
9835 GUI_Draw_Frame_16(7, 0, 0xF0, 0x31);
9836 }
9837 else {
9838 GetGraphics<cGraphics_Amiga>()->Service_Draw(8, 0x30, 0);
9839 GetGraphics<cGraphics_Amiga>()->Service_Draw(0, 0, 0x40);
9840 GetGraphics<cGraphics_Amiga>()->Service_Draw(4, 0xF0, 0x40);
9841 }
9842
9843 mMouse_Exit_Loop = false;
9844 mService_ExitLoop = 0;
9845 mGraphics->PaletteSet();
9846 mSurface->Save();
9847
9848 mInterruptCallback = [this]() {
9849 Service_Draw_List();
9850 if (mInterruptTick % 2 == 0)
9851 Service_ScrollUp_DrawList();
9852 };
9853
9854 do {
9855 Video_Sleep();
9856 Video_Sleep();
9857
9858 if (mService_Promotion_Exit_Loop == -1 || mMouse_Exit_Loop) {
9859 mMouse_Exit_Loop = false;
9860 mSurface->paletteNew_SetToBlack();
9861 mService_ExitLoop = 1;
9862 }
9863
9864 if (mSurface->isPaletteAdjusting())
9865 mSurface->palette_FadeTowardNew();
9866
9867 } while (mSurface->isPaletteAdjusting() || mService_ExitLoop == 0);
9868
9869 mInterruptCallback = nullptr;
9870}
9871
9872void cFodder::Service_Promotion_Loop() {
9873 Mouse_Setup();

Callers

nothing calls this directly

Calls 8

clearBufferMethod · 0.80
isPCMethod · 0.80
Service_DrawMethod · 0.80
SaveMethod · 0.80
paletteNew_SetToBlackMethod · 0.80
isPaletteAdjustingMethod · 0.80
palette_FadeTowardNewMethod · 0.80
PaletteSetMethod · 0.45

Tested by

no test coverage detected