@@ -51,6 +51,7 @@ BEGIN_EVENT_TABLE(cFrameOFED,wxFrame)
5151 EVT_MENU(ID_MNU_SOLDIER_1017, cFrameOFED::MnuBarracksSoldier1017Click)
5252 EVT_MENU(ID_MNU_SOLDIER_1015, cFrameOFED::MnuBunkerSoldier1015Click)
5353 EVT_MENU(ID_MNU_SOLDIERREINFORCED_1016, cFrameOFED::MnuBunkerSoldierReinforced1016Click)
54+ EVT_MENU(ID_MNU_CLIFF_1018, cFrameOFED::Mnucliff1018Click)
5455END_EVENT_TABLE()
5556// //Event Table End
5657
@@ -104,13 +105,14 @@ void cFrameOFED::CreateGUIControls()
104105 ID_MNU_MENUITEM10_1010_Mnu_Obj->Append (ID_MNU_SOLDIER_1015, _ (" Soldier" ), _ (" " ), wxITEM_NORMAL);
105106 ID_MNU_MENUITEM10_1010_Mnu_Obj->Append (ID_MNU_SOLDIERREINFORCED_1016, _ (" Soldier Reinforced" ), _ (" " ), wxITEM_NORMAL);
106107 ID_MNU_INSERT_1008_Mnu_Obj->Append (ID_MNU_MENUITEM10_1010, _ (" Bunker" ), ID_MNU_MENUITEM10_1010_Mnu_Obj);
108+ ID_MNU_INSERT_1008_Mnu_Obj->Append (ID_MNU_CLIFF_1018, _ (" Cliff" ), _ (" " ), wxITEM_NORMAL);
107109 WxMenuBar1->Append (ID_MNU_INSERT_1008_Mnu_Obj, _ (" Insert" ));
108110 SetMenuBar (WxMenuBar1);
109111
110- WxSaveFileDialog1 = new wxFileDialog (this , _ (" Choose a file" ), _ (" " ), _ (" " ), _ (" *.map" ), wxFD_SAVE);
111-
112112 WxOpenFileDialog1 = new wxFileDialog (this , _ (" Choose a file" ), _ (" " ), _ (" " ), _ (" *.map" ), wxFD_OPEN);
113113
114+ WxSaveFileDialog1 = new wxFileDialog (this , _ (" Choose a file" ), _ (" " ), _ (" " ), _ (" *.map" ), wxFD_SAVE);
115+
114116 SetTitle (_ (" Open Fodder Editor" ));
115117 SetIcon (wxNullIcon);
116118 SetSize (8 ,8 ,800 ,600 );
@@ -322,7 +324,7 @@ sTiles cFrameOFED::SetupBarracks( cSurface **pSurface ) {
322324 Tiles.mTiles .push_back ( sRangeTile ( 2 , 2 , 286 ) );
323325 Tiles.mTiles .push_back ( sRangeTile ( 3 , 2 , 287 ) );
324326
325- *pSurface = new cSurface ( 16 * 3 , 16 * 4 );
327+ *pSurface = new cSurface ( 16 * 4 , 16 * 3 );
326328 }
327329
328330 if (g_OFED.mMapTileType == eTileTypes_Desert) {
@@ -338,7 +340,7 @@ sTiles cFrameOFED::SetupBarracks( cSurface **pSurface ) {
338340 Tiles.mTiles .push_back ( sRangeTile ( 1 , 2 , 237 ) );
339341 Tiles.mTiles .push_back ( sRangeTile ( 2 , 2 , 238 ) );
340342
341- *pSurface = new cSurface ( 16 * 3 , 16 * 4 );
343+ *pSurface = new cSurface ( 16 * 3 , 16 *3 );
342344 }
343345
344346 if (g_OFED.mMapTileType == eTileTypes_Moors) {
@@ -357,14 +359,14 @@ sTiles cFrameOFED::SetupBarracks( cSurface **pSurface ) {
357359 Tiles.mTiles .push_back ( sRangeTile ( 1 , 3 , 395 ) );
358360 Tiles.mTiles .push_back ( sRangeTile ( 2 , 3 , 396 ) );
359361
360- *pSurface = new cSurface ( 16 * 4 , 16 * 4 );
362+ *pSurface = new cSurface ( 16 * 3 , 16 * 4 );
361363 }
362364
363365 if (g_OFED.mMapTileType == eTileTypes_Int) {
364366 Tiles.mTiles .push_back ( sRangeTile ( 0 , 0 , 246 ) );
365367 Tiles.mTiles .push_back ( sRangeTile ( 0 , 1 , 266 ) );
366368
367- *pSurface = new cSurface ( 16 * 3 , 16 * 3 );
369+ *pSurface = new cSurface ( 16 * 1 , 16 * 2 );
368370 }
369371
370372 return Tiles;
@@ -386,7 +388,7 @@ sTiles cFrameOFED::SetupHut( cSurface **pSurface ) {
386388 Tiles.mTiles .push_back ( sRangeTile ( 1 , 2 , 296 ) );
387389 Tiles.mTiles .push_back ( sRangeTile ( 2 , 2 , 297 ) );
388390
389- *pSurface = new cSurface ( 16 * 4 , 16 * 4 );
391+ *pSurface = new cSurface ( 16 * 3 , 16 * 3 );
390392 }
391393
392394 if (g_OFED.mMapTileType == eTileTypes_Desert) {
@@ -410,7 +412,7 @@ sTiles cFrameOFED::SetupHut( cSurface **pSurface ) {
410412 Tiles.mTiles .push_back ( sRangeTile ( 2 , 3 , 119 ) );
411413 Tiles.mTiles .push_back ( sRangeTile ( 3 , 3 , 78 ) );
412414
413- *pSurface = new cSurface ( 16 * 5 , 16 * 5 );
415+ *pSurface = new cSurface ( 16 * 4 , 16 * 4 );
414416 }
415417
416418 if (g_OFED.mMapTileType == eTileTypes_Ice) {
@@ -429,7 +431,7 @@ sTiles cFrameOFED::SetupHut( cSurface **pSurface ) {
429431 Tiles.mTiles .push_back ( sRangeTile ( 2 , 2 , 282 ) );
430432 Tiles.mTiles .push_back ( sRangeTile ( 3 , 2 , 283 ) );
431433
432- *pSurface = new cSurface ( 16 * 5 , 16 * 5 );
434+ *pSurface = new cSurface ( 16 * 4 , 16 * 3 );
433435 }
434436
435437 if (g_OFED.mMapTileType == eTileTypes_Moors) {
@@ -459,15 +461,15 @@ sTiles cFrameOFED::SetupHut( cSurface **pSurface ) {
459461 Tiles.mTiles .push_back ( sRangeTile ( 2 , 4 , 322 ) );
460462 Tiles.mTiles .push_back ( sRangeTile ( 3 , 4 , 323 ) );
461463
462- *pSurface = new cSurface ( 16 * 5 , 16 * 5 );
464+ *pSurface = new cSurface ( 16 * 4 , 16 * 5 );
463465 }
464466
465467 if (g_OFED.mMapTileType == eTileTypes_Int) {
466468 Tiles.mTiles .push_back ( sRangeTile ( 0 , 0 , 246 ) );
467469 Tiles.mTiles .push_back ( sRangeTile ( 0 , 1 , 266 ) );
468470
469471
470- *pSurface = new cSurface ( 16 * 3 , 16 * 3 );
472+ *pSurface = new cSurface ( 16 * 1 , 16 * 2 );
471473 }
472474
473475 return Tiles;
@@ -489,7 +491,7 @@ sTiles cFrameOFED::SetupBunker( cSurface **pSurface ) {
489491 Tiles.mTiles .push_back ( sRangeTile ( 1 , 2 , 308 ) );
490492 Tiles.mTiles .push_back ( sRangeTile ( 2 , 2 , 309 ) );
491493
492- *pSurface = new cSurface ( 16 * 5 , 16 * 5 );
494+ *pSurface = new cSurface ( 16 * 3 , 16 * 3 );
493495 }
494496
495497 if (g_OFED.mMapTileType == eTileTypes_Desert) {
@@ -505,7 +507,7 @@ sTiles cFrameOFED::SetupBunker( cSurface **pSurface ) {
505507 Tiles.mTiles .push_back ( sRangeTile ( 1 , 2 , 50 ) );
506508 Tiles.mTiles .push_back ( sRangeTile ( 2 , 2 , 51 ) );
507509
508- *pSurface = new cSurface ( 16 * 5 , 16 * 5 );
510+ *pSurface = new cSurface ( 16 * 3 , 16 * 3 );
509511 }
510512
511513 if (g_OFED.mMapTileType == eTileTypes_Ice ) {
@@ -521,7 +523,7 @@ sTiles cFrameOFED::SetupBunker( cSurface **pSurface ) {
521523 Tiles.mTiles .push_back ( sRangeTile ( 1 , 2 , 348 ) );
522524 Tiles.mTiles .push_back ( sRangeTile ( 2 , 2 , 349 ) );
523525
524- *pSurface = new cSurface ( 16 * 5 , 16 * 5 );
526+ *pSurface = new cSurface ( 16 * 3 , 16 * 3 );
525527 }
526528
527529 if (g_OFED.mMapTileType == eTileTypes_Moors) {
@@ -537,15 +539,15 @@ sTiles cFrameOFED::SetupBunker( cSurface **pSurface ) {
537539 Tiles.mTiles .push_back ( sRangeTile ( 1 , 2 , 201 ) );
538540 Tiles.mTiles .push_back ( sRangeTile ( 2 , 2 , 202 ) );
539541
540- *pSurface = new cSurface ( 16 * 4 , 16 * 4 );
542+ *pSurface = new cSurface ( 16 * 3 , 16 * 3 );
541543 }
542544
543545
544546 if (g_OFED.mMapTileType == eTileTypes_Int) {
545547 Tiles.mTiles .push_back ( sRangeTile ( 0 , 0 , 331 ) );
546548 Tiles.mTiles .push_back ( sRangeTile ( 0 , 1 , 351 ) );
547549
548- *pSurface = new cSurface ( 16 * 3 , 16 * 3 );
550+ *pSurface = new cSurface ( 16 * 1 , 16 * 2 );
549551 }
550552
551553 return Tiles;
@@ -760,10 +762,68 @@ void cFrameOFED::MnuBarracksSoldier1017Click(wxCommandEvent& event) {
760762 SetupCursorForDraw ( Surface, Tiles );
761763}
762764
765+ void cFrameOFED::Mnucliff1018Click ( wxCommandEvent& event ) {
766+
767+ if (g_OFED.mMapTileType != eTileTypes_Ice)
768+ return ;
769+
770+ sTiles Tiles;
771+ cSurface *Surface = 0 ;
772+
773+ Tiles.mTiles .push_back ( sRangeTile ( 0 , 0 , 120 ) );
774+ Tiles.mTiles .push_back ( sRangeTile ( 1 , 0 , 121 ) );
775+ Tiles.mTiles .push_back ( sRangeTile ( 2 , 0 , 122 ) );
776+ Tiles.mTiles .push_back ( sRangeTile ( 3 , 0 , 123 ) );
777+ Tiles.mTiles .push_back ( sRangeTile ( 4 , 0 , 124 ) );
778+ Tiles.mTiles .push_back ( sRangeTile ( 5 , 0 , 125 ) );
779+ Tiles.mTiles .push_back ( sRangeTile ( 6 , 0 , 126 ) );
780+ Tiles.mTiles .push_back ( sRangeTile ( 7 , 0 , 127 ) );
781+
782+ Tiles.mTiles .push_back ( sRangeTile ( 0 , 1 , 140 ) );
783+ Tiles.mTiles .push_back ( sRangeTile ( 1 , 1 , 141 ) );
784+ Tiles.mTiles .push_back ( sRangeTile ( 2 , 1 , 142 ) );
785+ Tiles.mTiles .push_back ( sRangeTile ( 3 , 1 , 143 ) );
786+ Tiles.mTiles .push_back ( sRangeTile ( 4 , 1 , 144 ) );
787+ Tiles.mTiles .push_back ( sRangeTile ( 5 , 1 , 145 ) );
788+ Tiles.mTiles .push_back ( sRangeTile ( 6 , 1 , 146 ) );
789+ Tiles.mTiles .push_back ( sRangeTile ( 7 , 1 , 147 ) );
790+
791+ Tiles.mTiles .push_back ( sRangeTile ( 0 , 2 , 160 ) );
792+ Tiles.mTiles .push_back ( sRangeTile ( 1 , 2 , 161 ) );
793+ Tiles.mTiles .push_back ( sRangeTile ( 2 , 2 , 162 ) );
794+ Tiles.mTiles .push_back ( sRangeTile ( 3 , 2 , 163 ) );
795+ Tiles.mTiles .push_back ( sRangeTile ( 4 , 2 , 164 ) );
796+ Tiles.mTiles .push_back ( sRangeTile ( 5 , 2 , 165 ) );
797+ Tiles.mTiles .push_back ( sRangeTile ( 6 , 2 , 166 ) );
798+ Tiles.mTiles .push_back ( sRangeTile ( 7 , 2 , 167 ) );
799+
800+ Tiles.mTiles .push_back ( sRangeTile ( 0 , 3 , 180 ) );
801+ Tiles.mTiles .push_back ( sRangeTile ( 1 , 3 , 181 ) );
802+ Tiles.mTiles .push_back ( sRangeTile ( 2 , 3 , 182 ) );
803+ Tiles.mTiles .push_back ( sRangeTile ( 3 , 3 , 183 ) );
804+ Tiles.mTiles .push_back ( sRangeTile ( 4 , 3 , 184 ) );
805+ Tiles.mTiles .push_back ( sRangeTile ( 5 , 3 , 185 ) );
806+ Tiles.mTiles .push_back ( sRangeTile ( 6 , 3 , 186 ) );
807+ Tiles.mTiles .push_back ( sRangeTile ( 7 , 3 , 187 ) );
808+
809+ Tiles.mTiles .push_back ( sRangeTile ( 0 , 4 , 200 ) );
810+ Tiles.mTiles .push_back ( sRangeTile ( 1 , 4 , 201 ) );
811+ Tiles.mTiles .push_back ( sRangeTile ( 2 , 4 , 202 ) );
812+ Tiles.mTiles .push_back ( sRangeTile ( 3 , 4 , 203 ) );
813+ Tiles.mTiles .push_back ( sRangeTile ( 4 , 4 , 204 ) );
814+ Tiles.mTiles .push_back ( sRangeTile ( 5 , 4 , 205 ) );
815+ Tiles.mTiles .push_back ( sRangeTile ( 6 , 4 , 206 ) );
816+ Tiles.mTiles .push_back ( sRangeTile ( 7 , 4 , 207 ) );
817+
818+ Surface = new cSurface ( 16 * 8 , 16 * 5 );
819+
820+ SetupCursorForDraw ( Surface, Tiles );
821+ }
822+
763823void cFrameOFED::SetupCursorForDraw ( cSurface *pSurface, sTiles & pTiles ) {
764824
765825 for (std::vector<sRangeTile >::const_iterator TileIT = pTiles.mTiles .begin (); TileIT != pTiles.mTiles .end (); ++TileIT) {
766- g_OFED.DrawTile ( pSurface, TileIT->mTileID , (TileIT->mX + 1 ), TileIT->mY );
826+ g_OFED.DrawTile ( pSurface, TileIT->mTileID , (TileIT->mX ), TileIT->mY );
767827 }
768828
769829 g_OFED.LoadPalette ( pSurface );
0 commit comments