+ if (BorderElement == EL_LEERRAUM)
+ {
+ SBX_Left = 0;
+ SBX_Right = lev_fieldx - SCR_FIELDX;
+ SBY_Upper = 0;
+ SBY_Lower = lev_fieldy - SCR_FIELDY;
+ }
+ else
+ {
+ SBX_Left = -1;
+ SBX_Right = lev_fieldx - SCR_FIELDX + 1;
+ SBY_Upper = -1;
+ SBY_Lower = lev_fieldy - SCR_FIELDY + 1;
+ }
+
+ if (lev_fieldx < SCR_FIELDX)
+ {
+ SBX_Left = SBX_Right = -1 * (SCR_FIELDX - lev_fieldx) / 2;
+
+ /*
+ SBX_Left -= (SCR_FIELDX - lev_fieldx) / 2;
+ SBX_Right -= (SCR_FIELDX - lev_fieldx) / 2;
+ */
+ }
+
+ if (lev_fieldy < SCR_FIELDY)
+ {
+ SBY_Upper = SBY_Lower = -1 * (SCR_FIELDY - lev_fieldy) / 2;
+
+ /*
+ SBY_Upper -= (SCR_FIELDY - lev_fieldy) / 2;
+ SBY_Lower -= (SCR_FIELDY - lev_fieldy) / 2;
+ */
+ }
+
+#if 1
+ scroll_x = SBX_Left;
+ scroll_y = SBY_Upper;
+ if (local_player->jx >= SBX_Left + MIDPOSX)
+ scroll_x = (local_player->jx <= SBX_Right + MIDPOSX ?
+ local_player->jx - MIDPOSX :
+ SBX_Right);
+ if (local_player->jy >= SBY_Upper + MIDPOSY)
+ scroll_y = (local_player->jy <= SBY_Lower + MIDPOSY ?
+ local_player->jy - MIDPOSY :
+ SBY_Lower);
+#else