| 9821 | } |
| 9822 | |
| 9823 | void 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 | |
| 9872 | void cFodder::Service_Promotion_Loop() { |
| 9873 | Mouse_Setup(); |
nothing calls this directly
no test coverage detected