GAE map editor ported to megaglest
This commit is contained in:
parent
73be43d6ad
commit
acf4bebba6
|
@ -0,0 +1,88 @@
|
|||
// ==============================================================
|
||||
// This file is part of Glest (www.glest.org)
|
||||
//
|
||||
// Copyright (C) 2010 Frank Tetzel
|
||||
//
|
||||
// You can redistribute this code and/or modify it under
|
||||
// the terms of the GNU General Public License as published
|
||||
// by the Free Software Foundation; either version 2 of the
|
||||
// License, or (at your option) any later version
|
||||
// ==============================================================
|
||||
|
||||
#ifndef _MAPEDITOR_ICONS_H_
|
||||
#define _MAPEDITOR_ICONS_H_
|
||||
|
||||
#include "icons/radius_1.xpm"
|
||||
#include "icons/radius_2.xpm"
|
||||
#include "icons/radius_3.xpm"
|
||||
#include "icons/radius_4.xpm"
|
||||
#include "icons/radius_5.xpm"
|
||||
#include "icons/radius_6.xpm"
|
||||
#include "icons/radius_7.xpm"
|
||||
#include "icons/radius_8.xpm"
|
||||
#include "icons/radius_9.xpm"
|
||||
|
||||
#include "icons/brush_surface_custom.xpm"
|
||||
#include "icons/brush_surface_grass1.xpm"
|
||||
#include "icons/brush_surface_grass2.xpm"
|
||||
#include "icons/brush_surface_road.xpm"
|
||||
#include "icons/brush_surface_stone.xpm"
|
||||
|
||||
#include "icons/brush_none.xpm"
|
||||
#include "icons/brush_object_bush.xpm"
|
||||
#include "icons/brush_object_dead-tree.xpm"
|
||||
#include "icons/brush_object_stone.xpm"
|
||||
#include "icons/brush_object_tree.xpm"
|
||||
#include "icons/brush_object_water-object.xpm"
|
||||
#include "icons/brush_object_c1-bigtree.xpm"
|
||||
#include "icons/brush_object_c2-hanged.xpm"
|
||||
#include "icons/brush_object_c4-bigrock.xpm"
|
||||
#include "icons/brush_object_c5-blocking.xpm"
|
||||
#include "icons/brush_object_c3-statue.xpm"
|
||||
|
||||
#include "icons/brush_gradient_0.xpm"
|
||||
#include "icons/brush_gradient_n1.xpm"
|
||||
#include "icons/brush_gradient_n2.xpm"
|
||||
#include "icons/brush_gradient_n3.xpm"
|
||||
#include "icons/brush_gradient_n4.xpm"
|
||||
#include "icons/brush_gradient_n5.xpm"
|
||||
#include "icons/brush_gradient_p1.xpm"
|
||||
#include "icons/brush_gradient_p2.xpm"
|
||||
#include "icons/brush_gradient_p3.xpm"
|
||||
#include "icons/brush_gradient_p4.xpm"
|
||||
#include "icons/brush_gradient_p5.xpm"
|
||||
#include "icons/brush_height_0.xpm"
|
||||
#include "icons/brush_height_n1.xpm"
|
||||
#include "icons/brush_height_n2.xpm"
|
||||
#include "icons/brush_height_n3.xpm"
|
||||
#include "icons/brush_height_n4.xpm"
|
||||
#include "icons/brush_height_n5.xpm"
|
||||
#include "icons/brush_height_p1.xpm"
|
||||
#include "icons/brush_height_p2.xpm"
|
||||
#include "icons/brush_height_p3.xpm"
|
||||
#include "icons/brush_height_p4.xpm"
|
||||
#include "icons/brush_height_p5.xpm"
|
||||
|
||||
#include "icons/brush_players_blue.xpm"
|
||||
#include "icons/brush_players_player.xpm"
|
||||
#include "icons/brush_players_green.xpm"
|
||||
#include "icons/brush_players_yellow.xpm"
|
||||
#include "icons/brush_players_red.xpm"
|
||||
#include "icons/brush_players_white.xpm"
|
||||
#include "icons/brush_players_cyan.xpm"
|
||||
#include "icons/brush_players_orange.xpm"
|
||||
#include "icons/brush_players_pink.xpm"
|
||||
|
||||
#include "icons/brush_resource_1-gold.xpm"
|
||||
#include "icons/brush_resource_2-stone.xpm"
|
||||
#include "icons/brush_resource_3.xpm"
|
||||
#include "icons/brush_resource_4.xpm"
|
||||
#include "icons/brush_resource_5.xpm"
|
||||
|
||||
#include "icons/edit_randomize-heights.xpm"
|
||||
#include "icons/edit_randomize.xpm"
|
||||
#include "icons/edit_redo.xpm"
|
||||
#include "icons/edit_switch-surfaces.xpm"
|
||||
#include "icons/edit_undo.xpm"
|
||||
|
||||
#endif
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_gradient_0[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #FF0000",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXX XX X",
|
||||
"XXXXXXXXXXX XX X",
|
||||
"XXXXXXXXXXX XX X",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
" ",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_gradient_n1[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #FF0000",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXX XX",
|
||||
"XXXXXXXXXXXXX XX",
|
||||
"XXXXXXXXX X XX",
|
||||
"XXXXXXXXXXXXX XX",
|
||||
"XXXXXXXXXXXXX XX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
" XXXXXXX ",
|
||||
"... ......",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_gradient_n2[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #FF0000",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXX X",
|
||||
"XXXXXXX X X",
|
||||
"XXXXXXXXXXX XXXX",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
" XXXXXXXXX ",
|
||||
".. XXXXXXX .....",
|
||||
"... ......",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_gradient_n3[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #FF0000",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXX X",
|
||||
"XXXXXXX X X",
|
||||
"XXXXXXXXXXXXXX X",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
" XXXXXXXXX ",
|
||||
".. XXXXXXX .....",
|
||||
"... XXXXX ......",
|
||||
".... .......",
|
||||
"................",
|
||||
"................",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_gradient_n4[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #FF0000",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXX XX X",
|
||||
"XXXXXXXXXXX XX X",
|
||||
"XXXXXXX X X",
|
||||
"XXXXXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
" XXXXXXXXXXX ",
|
||||
". XXXXXXXXX ....",
|
||||
".. XXXXXXX .....",
|
||||
"... XXXXX ......",
|
||||
".... .......",
|
||||
"................",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_gradient_n5[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #FF0000",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXX XXXX",
|
||||
"XXXXXXX X X",
|
||||
"XXXXXXXXXXXXXX X",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
" XXXXXXXXXXX ",
|
||||
". XXXXXXXXX ....",
|
||||
".. XXXXXXX .....",
|
||||
"... XXXXX ......",
|
||||
".... XXX .......",
|
||||
"..... ........",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_gradient_p1[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #FF0000",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXX XX",
|
||||
"XXXXXXXXXXXXX XX",
|
||||
"XXXXXXXXXXXXX XX",
|
||||
"XXXXXXXXXXXXX XX",
|
||||
"XXXXXXXXXXXXX XX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXX XXXXXX",
|
||||
" ....... ",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_gradient_p2[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #FF0000",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXX X",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXX XXXX",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXX XXXXXX",
|
||||
"XX ....... XXXXX",
|
||||
" ......... ",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_gradient_p3[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #FF0000",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXX X",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXX X",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXX XXXXXXX",
|
||||
"XXX ..... XXXXXX",
|
||||
"XX ....... XXXXX",
|
||||
" ......... ",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_gradient_p4[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #FF0000",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXX XX X",
|
||||
"XXXXXXXXXXX XX X",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXX X",
|
||||
"XXXX XXXXX X",
|
||||
"XXX ..... XXXXXX",
|
||||
"XX ....... XXXXX",
|
||||
"X ......... XXXX",
|
||||
" ........... ",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_gradient_p5[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #FF0000",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXX XXXX",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXX XXXXXX X",
|
||||
"XXXX ... XX X",
|
||||
"XXX ..... XXXXXX",
|
||||
"XX ....... XXXXX",
|
||||
"X ......... XXXX",
|
||||
" ........... ",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_height_0[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #0000FF",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXX XX X",
|
||||
"XXXXXXXXXXX XX X",
|
||||
"XXXXXXXXXXX XX X",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
" ",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_height_n1[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #0000FF",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXX XX",
|
||||
"XXXXXXXXXXXXX XX",
|
||||
"XXXXXXXXX X XX",
|
||||
"XXXXXXXXXXXXX XX",
|
||||
"XXXXXXXXXXXXX XX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
" XXXXXXX ",
|
||||
"... ......",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_height_n2[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #0000FF",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXX X",
|
||||
"XXXXXXX X X",
|
||||
"XXXXXXXXXXX XXXX",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
" XXXXXXX ",
|
||||
"...XXXXXXX......",
|
||||
"... ......",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_height_n3[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #0000FF",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXX X",
|
||||
"XXXXXXX X X",
|
||||
"XXXXXXXXXXXXXX X",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
" XXXXXXX ",
|
||||
"...XXXXXXX......",
|
||||
"...XXXXXXX......",
|
||||
"... ......",
|
||||
"................",
|
||||
"................",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_height_n4[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #0000FF",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXX XX X",
|
||||
"XXXXXXXXXXX XX X",
|
||||
"XXXXXXX X X",
|
||||
"XXXXXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
" XXXXXXX ",
|
||||
"...XXXXXXX......",
|
||||
"...XXXXXXX......",
|
||||
"...XXXXXXX......",
|
||||
"... ......",
|
||||
"................",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_height_n5[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #0000FF",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXX XXXX",
|
||||
"XXXXXXX X X",
|
||||
"XXXXXXXXXXXXXX X",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
" XXXXXXX ",
|
||||
"...XXXXXXX......",
|
||||
"...XXXXXXX......",
|
||||
"...XXXXXXX......",
|
||||
"...XXXXXXX......",
|
||||
"... ......",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_height_p1[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #0000FF",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXX XX",
|
||||
"XXXXXXXXXXXXX XX",
|
||||
"XXXXXXXXXXXXX XX",
|
||||
"XXXXXXXXXXXXX XX",
|
||||
"XXXXXXXXXXXXX XX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXX XXXXXX",
|
||||
" ....... ",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_height_p2[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #0000FF",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXX X",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXX XXXX",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXX XXXXXX",
|
||||
"XXX.......XXXXXX",
|
||||
" ....... ",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_height_p3[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #0000FF",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXX X",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXX X",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXX XXXXXX",
|
||||
"XXX.......XXXXXX",
|
||||
"XXX.......XXXXXX",
|
||||
" ....... ",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_height_p4[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #0000FF",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXX XX X",
|
||||
"XXXXXXXXXXX XX X",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXXXXX X",
|
||||
"XXX XXXX X",
|
||||
"XXX.......XXXXXX",
|
||||
"XXX.......XXXXXX",
|
||||
"XXX.......XXXXXX",
|
||||
" ....... ",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_height_p5[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #0000FF",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXXXXXXXXXX XXXX",
|
||||
"XXXXXXXXXXX X",
|
||||
"XXX XXXX X",
|
||||
"XXX.......X X",
|
||||
"XXX.......XXXXXX",
|
||||
"XXX.......XXXXXX",
|
||||
"XXX.......XXXXXX",
|
||||
" ....... ",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,26 @@
|
|||
/* XPM */
|
||||
static const char *brush_none[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 4 1",
|
||||
" c #FF0000",
|
||||
". c #008000",
|
||||
"X c #000080",
|
||||
"o c None",
|
||||
/* pixels */
|
||||
"oo oooXXooo oo",
|
||||
"oo oXXXXo oo",
|
||||
"ooo XXXX ooo",
|
||||
"oooo XX oooo",
|
||||
"ooooo ooooo",
|
||||
"oooooo oooooo",
|
||||
"oooooo oooooo",
|
||||
"ooooo ooooo",
|
||||
"oooo XX oooo",
|
||||
"ooo XXXX ooo",
|
||||
"oo oXXXXo oo",
|
||||
"oo ooXXXXoo oo",
|
||||
"ooooo......ooooo",
|
||||
"................",
|
||||
"................",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_object_bush[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #008000",
|
||||
". c #00FF00",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXX . X XXXXX",
|
||||
"XXXXX . . ..XXXX",
|
||||
"XXXXX. . . .XXXX",
|
||||
"XXXX .X X X XXX",
|
||||
"XXXX. . . X XXX",
|
||||
"XXXX . X .. XXXX",
|
||||
"XXXXX X . .XXXX",
|
||||
"X X",
|
||||
"XXXXXXXXXXXXXXXX"
|
||||
};
|
|
@ -0,0 +1,26 @@
|
|||
/* XPM */
|
||||
static const char *brush_object_c1_bigtree[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 4 1",
|
||||
" c #800000",
|
||||
". c #008000",
|
||||
"X c #808000",
|
||||
"o c None",
|
||||
/* pixels */
|
||||
"ooooooXX.Xoooooo",
|
||||
"oooo.XXXXX.Xoooo",
|
||||
"oooXXX.X.XXX.ooo",
|
||||
"oooX.XX.XX.XXooo",
|
||||
"ooXXXXXXXXXX.Xoo",
|
||||
"ooX..X.XX...X.oo",
|
||||
"oooXXXX.XXXXXooo",
|
||||
"oooXX.XXX..X.ooo",
|
||||
"ooooXXXX.XXXoooo",
|
||||
"oooooo.XXXoooooo",
|
||||
"oooooo oooooo",
|
||||
"oooooo oooooo",
|
||||
"oooooo oooooo",
|
||||
"oooooo oooooo",
|
||||
"ooooo ooooo",
|
||||
"oooo ooo"
|
||||
};
|
|
@ -0,0 +1,29 @@
|
|||
/* XPM */
|
||||
static const char *brush_object_c2_hanged[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 7 1",
|
||||
" c #800000",
|
||||
". c #008000",
|
||||
"X c #FFFF00",
|
||||
"o c #0000FF",
|
||||
"O c #808080",
|
||||
"+ c #C0C0C0",
|
||||
"@ c None",
|
||||
/* pixels */
|
||||
"@@@@@@@ @@@@@@@@",
|
||||
"@@@ @@@@",
|
||||
"@@@+@ @ @ @+@@@@",
|
||||
"@@OO@@ @@+@@@@",
|
||||
"@@+++@@ @@OOO@@@",
|
||||
"@+O+O+@ @O@+@O@@",
|
||||
"@++O++@ @O +@O@@",
|
||||
"@X+++X@ @O + O@@",
|
||||
"@@oXo@@ @O + O@@",
|
||||
"@@oXo@@ @O@+ O@@",
|
||||
"@@+++@@ @OOO O @",
|
||||
"@@+@+@@ @@@@ @ @",
|
||||
"@@@@@@@ @@@@@@@@",
|
||||
"@@@@@@@ @@@@@@@@",
|
||||
"@@@@@@. O@@@@@@@",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,27 @@
|
|||
/* XPM */
|
||||
static const char *brush_object_c3_statue[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 5 1",
|
||||
" c #008000",
|
||||
". c #808000",
|
||||
"X c #808080",
|
||||
"o c #C0C0C0",
|
||||
"O c None",
|
||||
/* pixels */
|
||||
"OOOOOOOOOOOOOOOO",
|
||||
"OOOOOoOOOOOOOOOO",
|
||||
"OOOOOOoXXOOOOOOO",
|
||||
"OOOOOOOoXOOOOOOO",
|
||||
"OOOOO...oXOOOOOO",
|
||||
"OOOOO.o.XoXOOOOO",
|
||||
"OOOOO...XOOOOOOO",
|
||||
"OOOOOOXXXOOOOOOO",
|
||||
"OOOOOOXXXOOOOOOO",
|
||||
"OOOOOOXOXOOOOOOO",
|
||||
"OOOOOOXOOXOOOOOO",
|
||||
"OOOOOOXOOXOOOOOO",
|
||||
"OOOOOooooooOOOOO",
|
||||
"OOOOOOXXXXOOOOOO",
|
||||
"OOOOOOXXXXOOOOOO",
|
||||
" "
|
||||
};
|
|
@ -0,0 +1,26 @@
|
|||
/* XPM */
|
||||
static const char *brush_object_c4_bigrock[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 4 1",
|
||||
" c #008000",
|
||||
". c #808080",
|
||||
"X c #C0C0C0",
|
||||
"o c None",
|
||||
/* pixels */
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"ooooo.Xooooooooo",
|
||||
"ooooX...ooo.Xooo",
|
||||
"oooo...X ..ooo",
|
||||
"oooo.X.X ..ooo",
|
||||
"oooX....X .ooo",
|
||||
"ooo..X.X. .Xoo",
|
||||
"ooo.. ... ..oo",
|
||||
"ooo.X ....X..oo",
|
||||
"ooX.. .X..X.Xoo",
|
||||
"oo.... .. ..oo",
|
||||
"oo.X...... oo",
|
||||
"oo..... ....oo",
|
||||
" "
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_object_c5_blocking[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #008000",
|
||||
". c #C0C0C0",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XX............XX",
|
||||
"XX.XXXXXXXXXX.XX",
|
||||
"XX.XXXXXXXXXX.XX",
|
||||
"XX.XXXXXXXXXX.XX",
|
||||
"XX.XXXXXXXXXX.XX",
|
||||
"XX.XXXXXXXXXX.XX",
|
||||
"XX.XXXXXXXXXX.XX",
|
||||
"XX.XXXXXXXXXX.XX",
|
||||
"XX.XXXXXXXXXX.XX",
|
||||
"XX.XXXXXXXXXX.XX",
|
||||
"XX.XXXXXXXXXX.XX",
|
||||
"XX.XXXXXXXXXX.XX",
|
||||
"XX.XXXXXXXXXX.XX",
|
||||
"XX.XXXXXXXXXX.XX",
|
||||
" "
|
||||
};
|
|
@ -0,0 +1,24 @@
|
|||
/* XPM */
|
||||
static const char *brush_object_dead_tree[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 2 1",
|
||||
" c #800000",
|
||||
". c None",
|
||||
/* pixels */
|
||||
"................",
|
||||
".. .. ..........",
|
||||
"... . ... . ....",
|
||||
".... ..... ....",
|
||||
".. .. .. . ..",
|
||||
"..... ... ...",
|
||||
"... .. .. ...",
|
||||
"... .. ... ..",
|
||||
".. .. ......",
|
||||
"..... .. ..",
|
||||
"...... ....",
|
||||
"...... ......",
|
||||
"...... ......",
|
||||
"...... ......",
|
||||
"..... .....",
|
||||
".... ..."
|
||||
};
|
|
@ -0,0 +1,26 @@
|
|||
/* XPM */
|
||||
static const char *brush_object_stone[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 4 1",
|
||||
" c #008000",
|
||||
". c #808080",
|
||||
"X c #C0C0C0",
|
||||
"o c None",
|
||||
/* pixels */
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooo.Xoooooooooo",
|
||||
"ooo...X..ooooooo",
|
||||
"oooX....X.Xooooo",
|
||||
"oo.........Xoooo",
|
||||
"oo...X.....XXooo",
|
||||
"ooo......X..XXoo",
|
||||
"ooo.X........Xoo",
|
||||
"o o",
|
||||
"oooooooooooooooo"
|
||||
};
|
|
@ -0,0 +1,26 @@
|
|||
/* XPM */
|
||||
static const char *brush_object_tree[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 4 1",
|
||||
" c #800000",
|
||||
". c #008000",
|
||||
"X c #00FF00",
|
||||
"o c None",
|
||||
/* pixels */
|
||||
"ooooooo..ooooooo",
|
||||
"ooooo......ooooo",
|
||||
"oooo....X...oooo",
|
||||
"oooo........oooo",
|
||||
"ooo.X..XX..X.ooo",
|
||||
"ooo......X...ooo",
|
||||
"oooo...X....oooo",
|
||||
"oooo........oooo",
|
||||
"ooooo......ooooo",
|
||||
"oooooo .. oooooo",
|
||||
"oooooo oooooo",
|
||||
"oooooo oooooo",
|
||||
"oooooo oooooo",
|
||||
"oooooo oooooo",
|
||||
"ooooo ooooo",
|
||||
"oooo ooo"
|
||||
};
|
|
@ -0,0 +1,26 @@
|
|||
/* XPM */
|
||||
static const char *brush_object_water_object[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 4 1",
|
||||
" c #008000",
|
||||
". c #0000FF",
|
||||
"X c #00FFFF",
|
||||
"o c None",
|
||||
/* pixels */
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"ooooooo oooooooo",
|
||||
"ooooooo ooo oooo",
|
||||
"ooooo o o o oooo",
|
||||
"ooooo o o ooooo",
|
||||
"ooooo oo o ooooo",
|
||||
"oooooo o oooooo",
|
||||
"XXXXXXX XXXXXXX",
|
||||
"X.XXX.XXX.XXX.XX",
|
||||
".X.X.X.X.X.X.X.X",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,26 @@
|
|||
/* XPM */
|
||||
static const char *brush_players_blue[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 4 1",
|
||||
" c #000000",
|
||||
". c #000080",
|
||||
"X c #0000FF",
|
||||
"o c None",
|
||||
/* pixels */
|
||||
"oo oo",
|
||||
"oo .......... oo",
|
||||
"oo XXXXXXXXXX oo",
|
||||
"oo XX.XXXX.XX oo",
|
||||
"oo X...XX...X oo",
|
||||
"oo XX.XXXX.XX oo",
|
||||
"oo XXXXXXXXXX oo",
|
||||
"oo XXXXXXXXXX oo",
|
||||
"oo X........X oo",
|
||||
"oo XXXXXXXXXX oo",
|
||||
"oo XXXXXXXXXX oo",
|
||||
"oo XXXX..XXXX oo",
|
||||
"ooo XX....XX ooo",
|
||||
"ooo X......X ooo",
|
||||
"oooo .... oooo",
|
||||
"oooooo oooooo"
|
||||
};
|
|
@ -0,0 +1,26 @@
|
|||
/* XPM */
|
||||
static const char *brush_players_cyan[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 4 1",
|
||||
" c #000000",
|
||||
". c #008080",
|
||||
"X c #00FFFF",
|
||||
"o c None",
|
||||
/* pixels */
|
||||
"oo oo",
|
||||
"oo .......... oo",
|
||||
"oo ....XX.... oo",
|
||||
"oo ...XXXX... oo",
|
||||
"oo ...XXXX... oo",
|
||||
"oo ....XX.... oo",
|
||||
"oo .......... oo",
|
||||
"oo .XX....XX. oo",
|
||||
"oo ..XXXXXX.. oo",
|
||||
"oo ...XXXX... oo",
|
||||
"oo .......... oo",
|
||||
"oo .......... oo",
|
||||
"ooo ........ ooo",
|
||||
"ooo ........ ooo",
|
||||
"oooo .... oooo",
|
||||
"oooooo oooooo"
|
||||
};
|
|
@ -0,0 +1,26 @@
|
|||
/* XPM */
|
||||
static const char *brush_players_green[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 4 1",
|
||||
" c #000000",
|
||||
". c #008000",
|
||||
"X c #00FF00",
|
||||
"o c None",
|
||||
/* pixels */
|
||||
"oo oo",
|
||||
"oo .X.X..X.X. oo",
|
||||
"oo .X.X..X.X. oo",
|
||||
"oo .X.X..X.X. oo",
|
||||
"oo .X.X..X.X. oo",
|
||||
"oo .X.X..X.X. oo",
|
||||
"oo .X.X..X.X. oo",
|
||||
"oo .X.X..X.X. oo",
|
||||
"oo .X.X..X.X. oo",
|
||||
"oo .......... oo",
|
||||
"oo .XXX..XXX. oo",
|
||||
"oo ...X..X... oo",
|
||||
"ooo ..XXXX.. ooo",
|
||||
"ooo ........ ooo",
|
||||
"oooo .... oooo",
|
||||
"oooooo oooooo"
|
||||
};
|
|
@ -0,0 +1,26 @@
|
|||
/* XPM */
|
||||
static const char *brush_players_orange[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 4 1",
|
||||
" c #000000",
|
||||
". c #804000",
|
||||
"X c #FF8000",
|
||||
"o c None",
|
||||
/* pixels */
|
||||
"oo oo",
|
||||
"oo XXXX.X.XXX oo",
|
||||
"oo XXX.X.XXXX oo",
|
||||
"oo XX.X.XXXXX oo",
|
||||
"oo X.X.XXXXXX oo",
|
||||
"oo .X.XXXXXXX oo",
|
||||
"oo X.XXXXX..X oo",
|
||||
"oo .XXXXX...X oo",
|
||||
"oo XXXXX...XX oo",
|
||||
"oo XXX....XXX oo",
|
||||
"oo XXXX..XXXX oo",
|
||||
"oo XXX.X.XXXX oo",
|
||||
"ooo XXXXXXXX ooo",
|
||||
"ooo XXXXXXXX ooo",
|
||||
"oooo XXXX oooo",
|
||||
"oooooo oooooo"
|
||||
};
|
|
@ -0,0 +1,26 @@
|
|||
/* XPM */
|
||||
static const char *brush_players_pink[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 4 1",
|
||||
" c #000000",
|
||||
". c #800080",
|
||||
"X c #FF00FF",
|
||||
"o c None",
|
||||
/* pixels */
|
||||
"oo oo",
|
||||
"oo ..X....X.. oo",
|
||||
"oo X...XX...X oo",
|
||||
"oo XX.XXXX.XX oo",
|
||||
"oo X...XX...X oo",
|
||||
"oo ..X....X.. oo",
|
||||
"oo X...XX...X oo",
|
||||
"oo XX.XXXX.XX oo",
|
||||
"oo X...XX...X oo",
|
||||
"oo ..X....X.. oo",
|
||||
"oo X...XX...X oo",
|
||||
"oo XX.XXXX.XX oo",
|
||||
"ooo ...XX... ooo",
|
||||
"ooo .X....X. ooo",
|
||||
"oooo .XX. oooo",
|
||||
"oooooo oooooo"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_players_player[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #FFFF00",
|
||||
". c #008080",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXX......XXXXX",
|
||||
"XXX..........XXX",
|
||||
"XX............XX",
|
||||
"X..............X",
|
||||
"X.... ....X",
|
||||
"...... .. ....",
|
||||
"...... .. ....",
|
||||
"...... .. ....",
|
||||
"...... .....",
|
||||
"...... ........",
|
||||
"...... ........",
|
||||
"X..... .......X",
|
||||
"X.... ......X",
|
||||
"XX............XX",
|
||||
"XXX..........XXX",
|
||||
"XXXXX......XXXXX"
|
||||
};
|
|
@ -0,0 +1,26 @@
|
|||
/* XPM */
|
||||
static const char *brush_players_red[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 4 1",
|
||||
" c #000000",
|
||||
". c #800000",
|
||||
"X c #FF0000",
|
||||
"o c None",
|
||||
/* pixels */
|
||||
"oo oo",
|
||||
"oo .......... oo",
|
||||
"oo .......... oo",
|
||||
"oo .......... oo",
|
||||
"oo XXXXXXXXXX oo",
|
||||
"oo .......... oo",
|
||||
"oo .......... oo",
|
||||
"oo XXXXXXXXXX oo",
|
||||
"oo XXXXXXXXXX oo",
|
||||
"oo .......... oo",
|
||||
"oo .......... oo",
|
||||
"oo XXXXXXXXXX oo",
|
||||
"ooo ........ ooo",
|
||||
"ooo ........ ooo",
|
||||
"oooo .... oooo",
|
||||
"oooooo oooooo"
|
||||
};
|
|
@ -0,0 +1,26 @@
|
|||
/* XPM */
|
||||
static const char *brush_players_white[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 4 1",
|
||||
" c #000000",
|
||||
". c #808080",
|
||||
"X c #C0C0C0",
|
||||
"o c None",
|
||||
/* pixels */
|
||||
"oo oo",
|
||||
"oo XXXXXXXXXX oo",
|
||||
"oo ....XX.... oo",
|
||||
"oo X.X.XX.X.X oo",
|
||||
"oo ....XX.... oo",
|
||||
"oo XXXXXXXXXX oo",
|
||||
"oo XX..XX..XX oo",
|
||||
"oo XXXXXXXXXX oo",
|
||||
"oo .......... oo",
|
||||
"oo XXXXXXXXXX oo",
|
||||
"oo .......... oo",
|
||||
"oo XXXXXXXXXX oo",
|
||||
"ooo XXXXXXXX ooo",
|
||||
"ooo XXXXXXXX ooo",
|
||||
"oooo XXXX oooo",
|
||||
"oooooo oooooo"
|
||||
};
|
|
@ -0,0 +1,26 @@
|
|||
/* XPM */
|
||||
static const char *brush_players_yellow[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 4 1",
|
||||
" c #000000",
|
||||
". c #808000",
|
||||
"X c #FFFF00",
|
||||
"o c None",
|
||||
/* pixels */
|
||||
"oo oo",
|
||||
"oo .........X oo",
|
||||
"oo .XXX....X. oo",
|
||||
"oo .XXX...X.. oo",
|
||||
"oo .XXX..X..X oo",
|
||||
"oo .....X..X. oo",
|
||||
"oo ....X..X.. oo",
|
||||
"oo ...X..X..X oo",
|
||||
"oo ..X..X..X. oo",
|
||||
"oo .X..X..X.. oo",
|
||||
"oo X..X..X... oo",
|
||||
"oo ..X..X.... oo",
|
||||
"ooo X..X.... ooo",
|
||||
"ooo ..X..... ooo",
|
||||
"oooo .... oooo",
|
||||
"oooooo oooooo"
|
||||
};
|
|
@ -0,0 +1,24 @@
|
|||
/* XPM */
|
||||
static const char *brush_resource_1_gold[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 2 1",
|
||||
" c #808000",
|
||||
". c None",
|
||||
/* pixels */
|
||||
"................",
|
||||
". .......... .",
|
||||
". ........ .",
|
||||
".. ...... ..",
|
||||
"... .... ...",
|
||||
".... .. ....",
|
||||
"..... .....",
|
||||
"...... ......",
|
||||
"...... ......",
|
||||
"..... .....",
|
||||
".... .. ....",
|
||||
"... .... ...",
|
||||
".. ...... ..",
|
||||
". ........ .",
|
||||
". .......... .",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,24 @@
|
|||
/* XPM */
|
||||
static const char *brush_resource_2_stone[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 2 1",
|
||||
" c #808080",
|
||||
". c None",
|
||||
/* pixels */
|
||||
"................",
|
||||
". .......... .",
|
||||
". ........ .",
|
||||
".. ...... ..",
|
||||
"... .... ...",
|
||||
".... .. ....",
|
||||
"..... .....",
|
||||
"...... ......",
|
||||
"...... ......",
|
||||
"..... .....",
|
||||
".... .. ....",
|
||||
"... .... ...",
|
||||
".. ...... ..",
|
||||
". ........ .",
|
||||
". .......... .",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,24 @@
|
|||
/* XPM */
|
||||
static const char *brush_resource_3[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 2 1",
|
||||
" c #FF0000",
|
||||
". c None",
|
||||
/* pixels */
|
||||
"................",
|
||||
". .......... .",
|
||||
". ........ .",
|
||||
".. ...... ..",
|
||||
"... .... ...",
|
||||
".... .. ....",
|
||||
"..... .....",
|
||||
"...... ......",
|
||||
"...... ......",
|
||||
"..... .....",
|
||||
".... .. ....",
|
||||
"... .... ...",
|
||||
".. ...... ..",
|
||||
". ........ .",
|
||||
". .......... .",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,24 @@
|
|||
/* XPM */
|
||||
static const char *brush_resource_4[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 2 1",
|
||||
" c #0000FF",
|
||||
". c None",
|
||||
/* pixels */
|
||||
"................",
|
||||
". .......... .",
|
||||
". ........ .",
|
||||
".. ...... ..",
|
||||
"... .... ...",
|
||||
".... .. ....",
|
||||
"..... .....",
|
||||
"...... ......",
|
||||
"...... ......",
|
||||
"..... .....",
|
||||
".... .. ....",
|
||||
"... .... ...",
|
||||
".. ...... ..",
|
||||
". ........ .",
|
||||
". .......... .",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,24 @@
|
|||
/* XPM */
|
||||
static const char *brush_resource_5[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 2 1",
|
||||
" c #008080",
|
||||
". c None",
|
||||
/* pixels */
|
||||
"................",
|
||||
". .......... .",
|
||||
". ........ .",
|
||||
".. ...... ..",
|
||||
"... .... ...",
|
||||
".... .. ....",
|
||||
"..... .....",
|
||||
"...... ......",
|
||||
"...... ......",
|
||||
"..... .....",
|
||||
".... .. ....",
|
||||
"... .... ...",
|
||||
".. ...... ..",
|
||||
". ........ .",
|
||||
". .......... .",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_surface_custom[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #808000",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
" ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" ",
|
||||
"XXXXXXXXXXXXXXXX"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_surface_grass1[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #00FF00",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
" ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" ",
|
||||
"XXXXXXXXXXXXXXXX"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_surface_grass2[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #008000",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
" ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" ",
|
||||
"XXXXXXXXXXXXXXXX"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_surface_road[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #800000",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
" ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" ",
|
||||
"XXXXXXXXXXXXXXXX"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *brush_surface_stone[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #808080",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
" ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" .............. ",
|
||||
" ",
|
||||
"XXXXXXXXXXXXXXXX"
|
||||
};
|
|
@ -0,0 +1,24 @@
|
|||
/* XPM */
|
||||
static const char *edit_randomize_heights[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 2 1",
|
||||
" c #008000",
|
||||
". c None",
|
||||
/* pixels */
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"................",
|
||||
"...... ..... .",
|
||||
"... . .",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *edit_randomize[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #008000",
|
||||
". c #00FF00",
|
||||
"X c #00FFFF",
|
||||
/* pixels */
|
||||
" ",
|
||||
" XX XX ",
|
||||
" XX XX . ",
|
||||
" XXXX ",
|
||||
" XX ",
|
||||
" XXXX .",
|
||||
" XX XX .",
|
||||
" XX XX ..",
|
||||
" . ",
|
||||
" .",
|
||||
" . ",
|
||||
" ... . ",
|
||||
" . ",
|
||||
" .",
|
||||
" . .... ",
|
||||
" ...... "
|
||||
};
|
|
@ -0,0 +1,24 @@
|
|||
/* XPM */
|
||||
static const char *edit_redo[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 2 1",
|
||||
" c #000000",
|
||||
". c None",
|
||||
/* pixels */
|
||||
"................",
|
||||
"........ .....",
|
||||
"......... ....",
|
||||
".......... ...",
|
||||
"........... ..",
|
||||
".... .",
|
||||
"... .",
|
||||
".. ...... ..",
|
||||
". ...... ...",
|
||||
". ...... ....",
|
||||
". ..... .....",
|
||||
". .............",
|
||||
". .............",
|
||||
".. .............",
|
||||
"................",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,24 @@
|
|||
/* XPM */
|
||||
static const char *edit_switch_surfaces[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 2 1",
|
||||
" c #008000",
|
||||
". c #00FF00",
|
||||
/* pixels */
|
||||
"........ ",
|
||||
"........ ",
|
||||
"........ ",
|
||||
"........ ",
|
||||
"........ ",
|
||||
"..... .. . ",
|
||||
".... .. .. ",
|
||||
"... ..... ",
|
||||
"... ..... ",
|
||||
".... .. .. ",
|
||||
"..... .. . ",
|
||||
"........ ",
|
||||
"........ ",
|
||||
"........ ",
|
||||
"........ ",
|
||||
"........ "
|
||||
};
|
|
@ -0,0 +1,24 @@
|
|||
/* XPM */
|
||||
static const char *edit_undo[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 2 1",
|
||||
" c #000000",
|
||||
". c None",
|
||||
/* pixels */
|
||||
"................",
|
||||
"..... ........",
|
||||
".... .........",
|
||||
"... ..........",
|
||||
".. ...........",
|
||||
". ....",
|
||||
". ...",
|
||||
".. ...... ..",
|
||||
"... ...... .",
|
||||
".... ...... .",
|
||||
"..... ..... .",
|
||||
"............. .",
|
||||
"............. .",
|
||||
"............. ..",
|
||||
"................",
|
||||
"................"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *radius_1[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #C0C0C0",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXX..XXXXXXX",
|
||||
"XXXXXX. .XXXXXX",
|
||||
"XXXXXX. .XXXXXX",
|
||||
"XXXXXXX..XXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX"
|
||||
};
|
|
@ -0,0 +1,26 @@
|
|||
/* XPM */
|
||||
static const char *radius_2[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 4 1",
|
||||
" c #000000",
|
||||
". c #808080",
|
||||
"X c #C0C0C0",
|
||||
"o c None",
|
||||
/* pixels */
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooXXooooooo",
|
||||
"oooooo. .oooooo",
|
||||
"oooooX Xooooo",
|
||||
"oooooX Xooooo",
|
||||
"oooooo. .oooooo",
|
||||
"oooooooXXooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *radius_3[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #808080",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXX. .XXXXXX",
|
||||
"XXXXX. .XXXXX",
|
||||
"XXXXX XXXXX",
|
||||
"XXXXX XXXXX",
|
||||
"XXXXX. .XXXXX",
|
||||
"XXXXXX. .XXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX"
|
||||
};
|
|
@ -0,0 +1,26 @@
|
|||
/* XPM */
|
||||
static const char *radius_4[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 4 1",
|
||||
" c #000000",
|
||||
". c #808080",
|
||||
"X c #C0C0C0",
|
||||
"o c None",
|
||||
/* pixels */
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"ooooooX..Xoooooo",
|
||||
"ooooo. .ooooo",
|
||||
"ooooX Xoooo",
|
||||
"oooo. .oooo",
|
||||
"oooo. .oooo",
|
||||
"ooooX Xoooo",
|
||||
"ooooo. .ooooo",
|
||||
"ooooooX..Xoooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo"
|
||||
};
|
|
@ -0,0 +1,26 @@
|
|||
/* XPM */
|
||||
static const char *radius_5[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 4 1",
|
||||
" c #000000",
|
||||
". c #808080",
|
||||
"X c #C0C0C0",
|
||||
"o c None",
|
||||
/* pixels */
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooXXooooooo",
|
||||
"oooooX. .Xooooo",
|
||||
"ooooX Xoooo",
|
||||
"oooo. .oooo",
|
||||
"oooX Xooo",
|
||||
"oooX Xooo",
|
||||
"oooo. .oooo",
|
||||
"ooooX Xoooo",
|
||||
"oooooX. .Xooooo",
|
||||
"oooooooXXooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo"
|
||||
};
|
|
@ -0,0 +1,26 @@
|
|||
/* XPM */
|
||||
static const char *radius_6[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 4 1",
|
||||
" c #000000",
|
||||
". c #808080",
|
||||
"X c #C0C0C0",
|
||||
"o c None",
|
||||
/* pixels */
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"ooooooX..Xoooooo",
|
||||
"ooooo. .ooooo",
|
||||
"oooo. .oooo",
|
||||
"oooX Xooo",
|
||||
"ooo. .ooo",
|
||||
"ooo. .ooo",
|
||||
"oooX Xooo",
|
||||
"oooo. .oooo",
|
||||
"ooooo. .ooooo",
|
||||
"ooooooX..Xoooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo"
|
||||
};
|
|
@ -0,0 +1,26 @@
|
|||
/* XPM */
|
||||
static const char *radius_7[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 4 1",
|
||||
" c #000000",
|
||||
". c #808080",
|
||||
"X c #C0C0C0",
|
||||
"o c None",
|
||||
/* pixels */
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooXXooooooo",
|
||||
"ooooo. .ooooo",
|
||||
"oooo oooo",
|
||||
"ooo. .ooo",
|
||||
"ooo ooo",
|
||||
"ooX Xoo",
|
||||
"ooX Xoo",
|
||||
"ooo ooo",
|
||||
"ooo. .ooo",
|
||||
"oooo oooo",
|
||||
"ooooo. .ooooo",
|
||||
"oooooooXXooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo"
|
||||
};
|
|
@ -0,0 +1,26 @@
|
|||
/* XPM */
|
||||
static const char *radius_8[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 4 1",
|
||||
" c #000000",
|
||||
". c #808080",
|
||||
"X c #C0C0C0",
|
||||
"o c None",
|
||||
/* pixels */
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooo. .oooooo",
|
||||
"ooooX Xoooo",
|
||||
"oooX Xooo",
|
||||
"ooo ooo",
|
||||
"oo. .oo",
|
||||
"oo oo",
|
||||
"oo oo",
|
||||
"oo. .oo",
|
||||
"ooo ooo",
|
||||
"oooX Xooo",
|
||||
"ooooX Xoooo",
|
||||
"oooooo. .oooooo",
|
||||
"oooooooooooooooo",
|
||||
"oooooooooooooooo"
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static const char *radius_9[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 3 1",
|
||||
" c #000000",
|
||||
". c #808080",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXX",
|
||||
"XXXXXXX..XXXXXXX",
|
||||
"XXXXX. .XXXXX",
|
||||
"XXXX XXXX",
|
||||
"XXX XXX",
|
||||
"XX. .XX",
|
||||
"XX XX",
|
||||
"X. .X",
|
||||
"X. .X",
|
||||
"XX XX",
|
||||
"XX. .XX",
|
||||
"XXX XXX",
|
||||
"XXXX XXXX",
|
||||
"XXXXX. .XXXXX",
|
||||
"XXXXXXX..XXXXXXX",
|
||||
"XXXXXXXXXXXXXXXX"
|
||||
};
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,288 @@
|
|||
// ==============================================================
|
||||
// This file is part of Glest (www.glest.org)
|
||||
//
|
||||
// Copyright (C) 2001-2008 Marti<74>o Figueroa
|
||||
//
|
||||
// You can redistribute this code and/or modify it under
|
||||
// the terms of the GNU General Public License as published
|
||||
// by the Free Software Foundation; either version 2 of the
|
||||
// License, or (at your option) any later version
|
||||
// ==============================================================
|
||||
|
||||
#ifndef _MAPEDITOR_MAIN_H_
|
||||
#define _MAPEDITOR_MAIN_H_
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include <wx/wx.h>
|
||||
#include <wx/glcanvas.h>
|
||||
|
||||
#include "program.h"
|
||||
|
||||
#include "util.h"
|
||||
|
||||
using std::string;
|
||||
using std::vector;
|
||||
using std::pair;
|
||||
|
||||
namespace MapEditor {
|
||||
|
||||
class GlCanvas;
|
||||
|
||||
enum BrushType {
|
||||
btHeight,
|
||||
btGradient,
|
||||
btSurface,
|
||||
btObject,
|
||||
btResource,
|
||||
btStartLocation
|
||||
};
|
||||
|
||||
enum StatusItems {
|
||||
siNULL_ENTRY,
|
||||
siFILE_NAME,
|
||||
siFILE_TYPE,
|
||||
siCURR_OBJECT,
|
||||
siBRUSH_TYPE,
|
||||
siBRUSH_VALUE,
|
||||
siBRUSH_RADIUS,
|
||||
siCOUNT
|
||||
};
|
||||
|
||||
const char *object_descs[] = {
|
||||
"None (Erase)",
|
||||
"Tree",
|
||||
"Dead Tree",
|
||||
"Stone",
|
||||
"Bush",
|
||||
"Water Object",
|
||||
"Big/Dead Tree",
|
||||
"Trophy Corpse",
|
||||
"Statues",
|
||||
"Big Rock",
|
||||
"Invisible Blocking"
|
||||
};
|
||||
|
||||
const char *resource_descs[] = {
|
||||
"None (Erase)", "Gold", "Stone", "Custom", "Custom", "Custom"
|
||||
};
|
||||
|
||||
|
||||
const char *surface_descs[] = {
|
||||
"Grass", "Alt. Grass", "Road", "Stone", "Ground"
|
||||
};
|
||||
|
||||
// =====================================================
|
||||
// class MainWindow
|
||||
// =====================================================
|
||||
|
||||
class MainWindow: public wxFrame {
|
||||
private:
|
||||
DECLARE_EVENT_TABLE()
|
||||
|
||||
private:
|
||||
static const string versionString;
|
||||
static const string winHeader;
|
||||
static const int heightCount = 11;
|
||||
static const int surfaceCount = 5;
|
||||
static const int objectCount = 11;
|
||||
static const int resourceCount = 6;
|
||||
static const int startLocationCount = 8;
|
||||
static const int radiusCount = 9;
|
||||
|
||||
private:
|
||||
enum MenuId {
|
||||
miFileLoad,
|
||||
miFileSave,
|
||||
miFileSaveAs,
|
||||
miFileExit,
|
||||
|
||||
miEditUndo,
|
||||
miEditRedo,
|
||||
miEditReset,
|
||||
miEditResetPlayers,
|
||||
miEditResize,
|
||||
miEditFlipX,
|
||||
miEditFlipY,
|
||||
miEditRandomizeHeights,
|
||||
miEditRandomize,
|
||||
miEditSwitchSurfaces,
|
||||
miEditInfo,
|
||||
miEditAdvanced,
|
||||
|
||||
miMiscResetZoomAndPos,
|
||||
miMiscAbout,
|
||||
miMiscHelp,
|
||||
|
||||
toolPlayer,
|
||||
|
||||
miBrushHeight,
|
||||
miBrushGradient = miBrushHeight + heightCount + 1,
|
||||
miBrushSurface = miBrushGradient + heightCount + 1,
|
||||
miBrushObject = miBrushSurface + surfaceCount + 1,
|
||||
miBrushResource = miBrushObject + objectCount + 1,
|
||||
miBrushStartLocation = miBrushResource + resourceCount + 1,
|
||||
|
||||
miRadius = miBrushStartLocation + startLocationCount + 1
|
||||
};
|
||||
|
||||
private:
|
||||
GlCanvas *glCanvas;
|
||||
Program *program;
|
||||
int lastX, lastY;
|
||||
|
||||
wxPanel *panel;
|
||||
|
||||
wxTimer *timer;
|
||||
|
||||
wxMenuBar *menuBar;
|
||||
wxMenu *menuFile;
|
||||
wxMenu *menuEdit;
|
||||
wxMenu *menuMisc;
|
||||
wxMenu *menuBrush;
|
||||
wxMenu *menuBrushHeight;
|
||||
wxMenu *menuBrushGradient;
|
||||
|
||||
wxMenu *menuBrushSurface;
|
||||
wxMenu *menuBrushObject;
|
||||
wxMenu *menuBrushResource;
|
||||
wxMenu *menuBrushStartLocation;
|
||||
wxMenu *menuRadius;
|
||||
|
||||
string currentFile;
|
||||
|
||||
BrushType currentBrush;
|
||||
int height;
|
||||
int surface;
|
||||
int radius;
|
||||
int object;
|
||||
int resource;
|
||||
int startLocation;
|
||||
int resourceUnderMouse;
|
||||
int objectUnderMouse;
|
||||
|
||||
ChangeType enabledGroup;
|
||||
|
||||
string fileName;
|
||||
bool fileModified;
|
||||
|
||||
public:
|
||||
MainWindow();
|
||||
~MainWindow();
|
||||
|
||||
void init(string fname);
|
||||
|
||||
void onClose(wxCloseEvent &event);
|
||||
|
||||
void onMouseDown(wxMouseEvent &event, int x, int y);
|
||||
void onMouseMove(wxMouseEvent &event, int x, int y);
|
||||
|
||||
void onPaint(wxPaintEvent &event);
|
||||
void onKeyDown(wxKeyEvent &e);
|
||||
|
||||
void onMenuFileLoad(wxCommandEvent &event);
|
||||
void onMenuFileSave(wxCommandEvent &event);
|
||||
void onMenuFileSaveAs(wxCommandEvent &event);
|
||||
void onMenuFileExit(wxCommandEvent &event);
|
||||
|
||||
void onMenuEditUndo(wxCommandEvent &event);
|
||||
void onMenuEditRedo(wxCommandEvent &event);
|
||||
void onMenuEditReset(wxCommandEvent &event);
|
||||
void onMenuEditResetPlayers(wxCommandEvent &event);
|
||||
void onMenuEditResize(wxCommandEvent &event);
|
||||
void onMenuEditFlipX(wxCommandEvent &event);
|
||||
void onMenuEditFlipY(wxCommandEvent &event);
|
||||
void onMenuEditRandomizeHeights(wxCommandEvent &event);
|
||||
void onMenuEditRandomize(wxCommandEvent &event);
|
||||
void onMenuEditSwitchSurfaces(wxCommandEvent &event);
|
||||
void onMenuEditInfo(wxCommandEvent &event);
|
||||
void onMenuEditAdvanced(wxCommandEvent &event);
|
||||
|
||||
void onMenuMiscResetZoomAndPos(wxCommandEvent &event);
|
||||
void onMenuMiscAbout(wxCommandEvent &event);
|
||||
void onMenuMiscHelp(wxCommandEvent &event);
|
||||
|
||||
void onMenuBrushHeight(wxCommandEvent &event);
|
||||
void onMenuBrushGradient(wxCommandEvent &event);
|
||||
void onMenuBrushSurface(wxCommandEvent &event);
|
||||
void onMenuBrushObject(wxCommandEvent &event);
|
||||
void onMenuBrushResource(wxCommandEvent &event);
|
||||
void onMenuBrushStartLocation(wxCommandEvent &event);
|
||||
void onMenuRadius(wxCommandEvent &event);
|
||||
|
||||
void onToolPlayer(wxCommandEvent &event);
|
||||
|
||||
void onTimer(wxTimerEvent &event);
|
||||
|
||||
void change(int x, int y);
|
||||
|
||||
void uncheckBrush();
|
||||
void uncheckRadius();
|
||||
|
||||
private:
|
||||
bool isDirty() const { return fileModified; }
|
||||
void setDirty(bool val=true);
|
||||
void setExtension();
|
||||
};
|
||||
|
||||
// =====================================================
|
||||
// class GlCanvas
|
||||
// =====================================================
|
||||
|
||||
class GlCanvas: public wxGLCanvas {
|
||||
private:
|
||||
DECLARE_EVENT_TABLE()
|
||||
|
||||
public:
|
||||
GlCanvas(MainWindow *mainWindow, wxWindow *parent, int *args);
|
||||
|
||||
void onMouseDown(wxMouseEvent &event);
|
||||
void onMouseMove(wxMouseEvent &event);
|
||||
void onKeyDown(wxKeyEvent &event);
|
||||
|
||||
private:
|
||||
MainWindow *mainWindow;
|
||||
};
|
||||
|
||||
// =====================================================
|
||||
// class SimpleDialog
|
||||
// =====================================================
|
||||
|
||||
class SimpleDialog: public wxDialog {
|
||||
private:
|
||||
typedef vector<pair<string, string> > Values;
|
||||
|
||||
private:
|
||||
Values values;
|
||||
|
||||
public:
|
||||
void addValue(const string &key, const string &value);
|
||||
string getValue(const string &key);
|
||||
|
||||
void show();
|
||||
};
|
||||
|
||||
// =====================================================
|
||||
// class App
|
||||
// =====================================================
|
||||
|
||||
// =====================================================
|
||||
// class App
|
||||
// =====================================================
|
||||
|
||||
class App: public wxApp {
|
||||
private:
|
||||
MainWindow *mainWindow;
|
||||
|
||||
public:
|
||||
virtual bool OnInit();
|
||||
virtual int MainLoop();
|
||||
virtual int OnExit();
|
||||
};
|
||||
|
||||
}// end namespace
|
||||
|
||||
DECLARE_APP(MapEditor::App)
|
||||
|
||||
#endif
|
|
@ -122,7 +122,9 @@ void Map::pirateChangeHeight(int x, int y, int height, int radius) {
|
|||
|
||||
// If the radius is 1 don't bother doing any calculations
|
||||
if (radius == 1) {
|
||||
cells[x][y].height = goalAlt;
|
||||
if(inside(x, y)){
|
||||
cells[x][y].height = goalAlt;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -583,7 +585,7 @@ void Map::loadFromFile(const string &path) {
|
|||
|
||||
//read header
|
||||
MapFileHeader header;
|
||||
size_t readBytes = fread(&header, sizeof(MapFileHeader), 1, f1);
|
||||
fread(&header, sizeof(MapFileHeader), 1, f1);
|
||||
|
||||
altFactor = header.altFactor;
|
||||
waterLevel = header.waterLevel;
|
||||
|
@ -594,22 +596,22 @@ void Map::loadFromFile(const string &path) {
|
|||
//read start locations
|
||||
resetFactions(header.maxFactions);
|
||||
for (int i = 0; i < maxFactions; ++i) {
|
||||
readBytes = fread(&startLocations[i].x, sizeof(int32), 1, f1);
|
||||
readBytes = fread(&startLocations[i].y, sizeof(int32), 1, f1);
|
||||
fread(&startLocations[i].x, sizeof(int32), 1, f1);
|
||||
fread(&startLocations[i].y, sizeof(int32), 1, f1);
|
||||
}
|
||||
|
||||
//read Heights
|
||||
reset(header.width, header.height, 10, 1);
|
||||
for (int j = 0; j < h; ++j) {
|
||||
for (int i = 0; i < w; ++i) {
|
||||
readBytes = fread(&cells[i][j].height, sizeof(float), 1, f1);
|
||||
fread(&cells[i][j].height, sizeof(float), 1, f1);
|
||||
}
|
||||
}
|
||||
|
||||
//read surfaces
|
||||
for (int j = 0; j < h; ++j) {
|
||||
for (int i = 0; i < w; ++i) {
|
||||
readBytes = fread(&cells[i][j].surface, sizeof(int8), 1, f1);
|
||||
fread(&cells[i][j].surface, sizeof(int8), 1, f1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -617,7 +619,7 @@ void Map::loadFromFile(const string &path) {
|
|||
for (int j = 0; j < h; ++j) {
|
||||
for (int i = 0; i < w; ++i) {
|
||||
int8 obj;
|
||||
readBytes = fread(&obj, sizeof(int8), 1, f1);
|
||||
fread(&obj, sizeof(int8), 1, f1);
|
||||
if (obj <= 10) {
|
||||
cells[i][j].object = obj;
|
||||
} else {
|
||||
|
|
|
@ -0,0 +1,342 @@
|
|||
// ==============================================================
|
||||
// This file is part of Glest (www.glest.org)
|
||||
//
|
||||
// Copyright (C) 2001-2008 Marti<74>o Figueroa
|
||||
//
|
||||
// You can redistribute this code and/or modify it under
|
||||
// the terms of the GNU General Public License as published
|
||||
// by the Free Software Foundation; either version 2 of the
|
||||
// License, or (at your option) any later version
|
||||
// ==============================================================
|
||||
|
||||
|
||||
#include "program.h"
|
||||
|
||||
#include "util.h"
|
||||
|
||||
using namespace Shared::Util;
|
||||
|
||||
namespace MapEditor {
|
||||
|
||||
////////////////////////////
|
||||
// class UndoPoint
|
||||
////////////////////////////
|
||||
int UndoPoint::w = 0;
|
||||
int UndoPoint::h = 0;
|
||||
|
||||
UndoPoint::UndoPoint()
|
||||
: change(ctNone)
|
||||
, surface(0)
|
||||
, object(0)
|
||||
, resource(0)
|
||||
, height(0) {
|
||||
w = Program::map->getW();
|
||||
h = Program::map->getH();
|
||||
}
|
||||
/*
|
||||
UndoPoint::UndoPoint(ChangeType change) {
|
||||
w = Program::map->getW();
|
||||
h = Program::map->getH();
|
||||
|
||||
init(change);
|
||||
}*/
|
||||
|
||||
void UndoPoint::init(ChangeType change) {
|
||||
this->change = change;
|
||||
switch (change) {
|
||||
// Back up everything
|
||||
case ctAll:
|
||||
// Back up heights
|
||||
case ctHeight:
|
||||
case ctGradient:
|
||||
// Build an array of heights from the map
|
||||
//std::cout << "Building an array of heights to use for our UndoPoint" << std::endl;
|
||||
height = new float[w * h];
|
||||
for (int i = 0; i < w; ++i) {
|
||||
for (int j = 0; j < h; ++j) {
|
||||
height[j * w + i] = Program::map->getHeight(i, j);
|
||||
}
|
||||
}
|
||||
//std::cout << "Built the array" << std::endl;
|
||||
if (change != ctAll) break;
|
||||
// Back up surfaces
|
||||
case ctSurface:
|
||||
surface = new int[w * h];
|
||||
for (int i = 0; i < w; ++i) {
|
||||
for (int j = 0; j < h; ++j) {
|
||||
surface[j * w + i] = Program::map->getSurface(i, j);
|
||||
}
|
||||
}
|
||||
if (change != ctAll) break;
|
||||
// Back up both objects and resources if either changes
|
||||
case ctObject:
|
||||
case ctResource:
|
||||
object = new int[w * h];
|
||||
for (int i = 0; i < w; ++i) {
|
||||
for (int j = 0; j < h; ++j) {
|
||||
object[j * w + i] = Program::map->getObject(i, j);
|
||||
}
|
||||
}
|
||||
resource = new int[w * h];
|
||||
for (int i = 0; i < w; ++i) {
|
||||
for (int j = 0; j < h; ++j) {
|
||||
resource[j * w + i] = Program::map->getResource(i, j);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
UndoPoint::~UndoPoint() {
|
||||
delete [] height;
|
||||
delete [] resource;
|
||||
delete [] object;
|
||||
delete [] surface;
|
||||
}
|
||||
|
||||
void UndoPoint::revert() {
|
||||
//std::cout << "attempting to revert last changes to " << undoID << std::endl;
|
||||
switch (change) {
|
||||
// Revert Everything
|
||||
case ctAll:
|
||||
// Revert Heights
|
||||
case ctHeight:
|
||||
case ctGradient:
|
||||
// Restore the array of heights to the map
|
||||
//std::cout << "attempting to restore the height array" << std::endl;
|
||||
for (int i = 0; i < w; i++) {
|
||||
for (int j = 0; j < h; j++) {
|
||||
Program::map->setHeight(i, j, height[j * w + i]);
|
||||
}
|
||||
}
|
||||
if (change != ctAll) break;
|
||||
// Revert surfaces
|
||||
case ctSurface:
|
||||
//std::cout << "attempting to restore the surface array" << std::endl;
|
||||
for (int i = 0; i < w; i++) {
|
||||
for (int j = 0; j < h; j++) {
|
||||
Program::map->setSurface(i, j, surface[j * w + i]);
|
||||
}
|
||||
}
|
||||
if (change != ctAll) break;
|
||||
// Revert objects and resources
|
||||
case ctObject:
|
||||
case ctResource:
|
||||
for (int i = 0; i < w; i++) {
|
||||
for (int j = 0; j < h; j++) {
|
||||
Program::map->setObject(i, j, object[j * w + i]);
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < w; i++) {
|
||||
for (int j = 0; j < h; j++) {
|
||||
Program::map->setResource(i, j, resource[j * w + i]);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
//std::cout << "reverted changes (we hope)" << std::endl;
|
||||
}
|
||||
|
||||
// ===============================================
|
||||
// class Program
|
||||
// ===============================================
|
||||
|
||||
Map *Program::map = NULL;
|
||||
|
||||
Program::Program(int w, int h) {
|
||||
cellSize = 6;
|
||||
ofsetX = 0;
|
||||
ofsetY = 0;
|
||||
map = new Map();
|
||||
renderer.init(w, h);
|
||||
}
|
||||
|
||||
Program::~Program() {
|
||||
delete map;
|
||||
}
|
||||
|
||||
int Program::getObject(int x, int y) {
|
||||
int i=(x - ofsetX) / cellSize;
|
||||
int j= (y + ofsetY) / cellSize;
|
||||
if (map->inside(i, j)) {
|
||||
map->getObject(i,j);
|
||||
}
|
||||
else{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
int Program::getResource(int x, int y) {
|
||||
int i=(x - ofsetX) / cellSize;
|
||||
int j= (y + ofsetY) / cellSize;
|
||||
if (map->inside(i, j)) {
|
||||
map->getResource(i,j);
|
||||
}
|
||||
else{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
void Program::glestChangeMapHeight(int x, int y, int Height, int radius) {
|
||||
map->glestChangeHeight((x - ofsetX) / cellSize, (y + ofsetY) / cellSize, Height, radius);
|
||||
}
|
||||
|
||||
void Program::pirateChangeMapHeight(int x, int y, int Height, int radius) {
|
||||
map->pirateChangeHeight((x - ofsetX) / cellSize, (y + ofsetY) / cellSize, Height, radius);
|
||||
}
|
||||
|
||||
void Program::changeMapSurface(int x, int y, int surface, int radius) {
|
||||
map->changeSurface((x - ofsetX) / cellSize, (y + ofsetY) / cellSize, surface, radius);
|
||||
}
|
||||
|
||||
void Program::changeMapObject(int x, int y, int object, int radius) {
|
||||
map->changeObject((x - ofsetX) / cellSize, (y + ofsetY) / cellSize, object, radius);
|
||||
}
|
||||
|
||||
void Program::changeMapResource(int x, int y, int resource, int radius) {
|
||||
map->changeResource((x - ofsetX) / cellSize, (y + ofsetY) / cellSize, resource, radius);
|
||||
}
|
||||
|
||||
void Program::changeStartLocation(int x, int y, int player) {
|
||||
map->changeStartLocation((x - ofsetX) / cellSize, (y + ofsetY) / cellSize, player);
|
||||
}
|
||||
|
||||
void Program::setUndoPoint(ChangeType change) {
|
||||
if (change == ctLocation) return;
|
||||
|
||||
undoStack.push(UndoPoint());
|
||||
undoStack.top().init(change);
|
||||
|
||||
redoStack.clear();
|
||||
}
|
||||
|
||||
bool Program::undo() {
|
||||
if (undoStack.empty()) {
|
||||
return false;
|
||||
}
|
||||
// push current state onto redo stack
|
||||
redoStack.push(UndoPoint());
|
||||
redoStack.top().init(undoStack.top().getChange());
|
||||
|
||||
undoStack.top().revert();
|
||||
undoStack.pop();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Program::redo() {
|
||||
if (redoStack.empty()) {
|
||||
return false;
|
||||
}
|
||||
// push current state onto undo stack
|
||||
undoStack.push(UndoPoint());
|
||||
undoStack.top().init(redoStack.top().getChange());
|
||||
|
||||
redoStack.top().revert();
|
||||
redoStack.pop();
|
||||
return true;
|
||||
}
|
||||
|
||||
void Program::renderMap(int w, int h) {
|
||||
renderer.renderMap(map, ofsetX, ofsetY, w, h, cellSize);
|
||||
}
|
||||
|
||||
void Program::setRefAlt(int x, int y) {
|
||||
map->setRefAlt((x - ofsetX) / cellSize, (y + ofsetY) / cellSize);
|
||||
}
|
||||
|
||||
void Program::flipX() {
|
||||
map->flipX();
|
||||
}
|
||||
|
||||
void Program::flipY() {
|
||||
map->flipY();
|
||||
}
|
||||
|
||||
void Program::randomizeMapHeights() {
|
||||
map->randomizeHeights();
|
||||
}
|
||||
|
||||
void Program::randomizeMap() {
|
||||
map->randomize();
|
||||
}
|
||||
|
||||
void Program::switchMapSurfaces(int surf1, int surf2) {
|
||||
map->switchSurfaces(surf1, surf2);
|
||||
}
|
||||
|
||||
void Program::reset(int w, int h, int alt, int surf) {
|
||||
undoStack.clear();
|
||||
redoStack.clear();
|
||||
map->reset(w, h, (float) alt, surf);
|
||||
}
|
||||
|
||||
void Program::resize(int w, int h, int alt, int surf) {
|
||||
map->resize(w, h, (float) alt, surf);
|
||||
}
|
||||
|
||||
void Program::resetFactions(int maxFactions) {
|
||||
map->resetFactions(maxFactions);
|
||||
}
|
||||
|
||||
bool Program::setMapTitle(const string &title) {
|
||||
if (map->getTitle() != title) {
|
||||
map->setTitle(title);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Program::setMapDesc(const string &desc) {
|
||||
if (map->getDesc() != desc) {
|
||||
map->setDesc(desc);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Program::setMapAuthor(const string &author) {
|
||||
if (map->getAuthor() != author) {
|
||||
map->setAuthor(author);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void Program::setOfset(int x, int y) {
|
||||
ofsetX += x;
|
||||
ofsetY -= y;
|
||||
}
|
||||
|
||||
void Program::incCellSize(int i) {
|
||||
|
||||
int minInc = 2 - cellSize;
|
||||
|
||||
if (i < minInc) {
|
||||
i = minInc;
|
||||
}
|
||||
cellSize += i;
|
||||
ofsetX -= (map->getW() * i) / 2;
|
||||
ofsetY += (map->getH() * i) / 2;
|
||||
}
|
||||
|
||||
void Program::resetOfset() {
|
||||
ofsetX = 0;
|
||||
ofsetY = 0;
|
||||
cellSize = 6;
|
||||
}
|
||||
|
||||
void Program::setMapAdvanced(int altFactor, int waterLevel) {
|
||||
map->setAdvanced(altFactor, waterLevel);
|
||||
}
|
||||
|
||||
void Program::loadMap(const string &path) {
|
||||
undoStack.clear();
|
||||
redoStack.clear();
|
||||
map->loadFromFile(path);
|
||||
}
|
||||
|
||||
void Program::saveMap(const string &path) {
|
||||
map->saveToFile(path);
|
||||
}
|
||||
|
||||
}// end namespace
|
Loading…
Reference in New Issue