@@ -120,13 +120,6 @@ void cOFED::OpenFodder_Prepare() {
120120
121121 LoadMap ();
122122
123- g_Fodder->Phase_Goals_Set ();
124-
125- g_Fodder->Phase_Soldiers_Count ();
126- g_Fodder->mGame_Data .Soldier_Sort ();
127- g_Fodder->Phase_Soldiers_Prepare (false );
128- g_Fodder->Phase_Soldiers_AttachToSprites ();
129-
130123 g_Fodder->mPhase_Aborted = false ;
131124
132125 g_Fodder->MapTiles_Draw ();
@@ -137,10 +130,6 @@ void cOFED::OpenFodder_Prepare() {
137130 g_Fodder->Mouse_Inputs_Get ();
138131 g_Fodder->Sprite_Frame_Modifier_Update ();
139132
140- g_Fodder->mCamera_Start_Adjust = 1 ;
141- g_Fodder->mCamera_StartPosition_X = g_Fodder->mSprites [0 ].field_0 ;
142- g_Fodder->mCamera_StartPosition_Y = g_Fodder->mSprites [0 ].field_4 ;
143-
144133 g_Fodder->mInput_Enabled = -1 ;
145134 g_Fodder->sub_11CAD ();
146135
@@ -1055,6 +1044,7 @@ void cOFED::Create_NewMap(const std::string& pTileSet, const std::string& pTileS
10551044}
10561045
10571046void cOFED::LoadMap () {
1047+ sSprite * Sprite = 0 ;
10581048
10591049 if (g_Fodder->mGame_Data .mMission_Current ) {
10601050 auto MissionName = " Mission: " + g_Fodder->mGame_Data .mMission_Current ->mName ;
@@ -1066,22 +1056,57 @@ void cOFED::LoadMap() {
10661056 mPhaseLabel ->setText (QString::fromStdString (PhaseName));
10671057 }
10681058
1059+
10691060 g_Fodder->Map_Load ();
10701061 g_Fodder->Map_Load_Sprites ();
10711062
1072- g_Fodder->MapTiles_Draw ();
1073- g_Fodder->Sprite_Handle_Loop ();
1063+ g_Fodder->Phase_Soldiers_Count ();
1064+ g_Fodder->mGame_Data .Soldier_Sort ();
1065+ g_Fodder->Phase_Soldiers_Prepare (false );
1066+ g_Fodder->Phase_Soldiers_AttachToSprites ();
10741067
1075- g_Fodder->mGraphics ->PaletteSet ();
1076- g_Fodder->mSurface ->surfaceSetToPaletteNew ();
1068+ g_Fodder->Squad_Troops_Count ();
10771069
1078- g_Fodder->mWindow ->FrameEnd ();
1070+ g_Fodder->mSquad_Selected = 0 ;
1071+ g_Fodder->sub_305D5 (Sprite);
1072+ g_Fodder->Sprite_Handle_Loop ();
10791073
1080- if (mToolboxSprites )
1074+ g_Fodder->MapTiles_Draw ();
1075+
1076+ // THis has to happen now, as the map tiles x/y is currently 0
1077+ if (mToolboxSprites )
10811078 mToolboxSprites ->RenderSprites ();
10821079
1083- if (mToolboxTiles )
1080+ if (mToolboxTiles )
10841081 mToolboxTiles ->RenderTiles ();
1082+
1083+ g_Fodder->mCamera_SquadLeaderX = 0 ;
1084+ g_Fodder->mCamera_SquadLeaderY = 0 ;
1085+
1086+ g_Fodder->mCamera_Panning_ToTarget = true ;
1087+ g_Fodder->Camera_PanTarget_AdjustToward_SquadLeader ();
1088+ g_Fodder->mCamera_Speed_Reset_X = false ;
1089+ g_Fodder->mCamera_Speed_Reset_Y = false ;
1090+ g_Fodder->mCamera_AccelerationX &= 0x0000FFFF ;
1091+ g_Fodder->mCamera_AccelerationY &= 0x0000FFFF ;
1092+ g_Fodder->mCamera_Reached_Target = true ;
1093+ g_Fodder->mCamera_Start_Adjust = 1 ;
1094+
1095+ for (;;) {
1096+ g_Fodder->Camera_Pan_To_Target ();
1097+ g_Fodder->Camera_Pan_To_Target ();
1098+
1099+ if (!g_Fodder->mCamera_Reached_Target )
1100+ break ;
1101+ }
1102+
1103+ g_Fodder->mGraphics ->PaletteSet ();
1104+ g_Fodder->mSurface ->surfaceSetToPaletteNew ();
1105+
1106+ g_Fodder->mGraphics ->MapTiles_Draw ();
1107+ g_Fodder->Mission_Sprites_Handle ();
1108+ g_Fodder->mWindow ->FrameEnd ();
1109+
10851110}
10861111
10871112/* *
0 commit comments