Terrain Map Icons - A terrain map icon is 12x12 pixels, and each slot on the
custom graphic sheet can hold six of them. Within a single slot, the terrain map icons are
-numbered 1 through 6, from left to right, top to bottom. Multiply that number by 1000,
+numbered 1 through 6, from top to bottom, left to right. Multiply that number by 1000,
then add it to the number of the slot the icons are in. Put the resulting number in the
map icon text field in the Editing Terrain window. Example: Suppose you have map icons in
the slot at row 5, column 3 of sheet 2, and you want to use the left middle icon in that
-slot for a terrain. The number you put in the map icon text field would be 3253.
+slot for a terrain. The number you put in the map icon text field would be 2253.
For examples of using custom graphics, look at the scenarios that came with Blades of
Exile. The three Blades of Exile scenarios, between them, contain examples of Custom
diff --git a/rsrc/dialogs/edit-terrain.xml b/rsrc/dialogs/edit-terrain.xml
index 11db7637..8b2f78cd 100644
--- a/rsrc/dialogs/edit-terrain.xml
+++ b/rsrc/dialogs/edit-terrain.xml
@@ -53,30 +53,30 @@
Special properties:
- None
- Change when step on
- Damaging terrain
- Is a bridge
- Change while occupied
- Dangerous terrain
- Reserved
- Crumbling terrain
- Lockable terrain
- Unlockable terrain
- Reserved
- Is a sign
- Call special when step
- Reserved
- Is a container
- Wilderness (Caves)
- Wilderness (Surface)
- Waterfall (Caves)
- Waterfall (Surface)
- Conveyor Belt
- Blocked to monsters
- Town entrance
- Change when used
- Call special when used
+ None
+ Change when step on
+ Damaging terrain
+ Is a bridge
+ Change while occupied
+ Dangerous terrain
+ Reserved
+ Crumbling terrain
+ Lockable terrain
+ Unlockable terrain
+ Reserved
+ Is a sign
+ Call special when step
+ Reserved
+ Is a container
+ Wilderness (Caves)
+ Wilderness (Surface)
+ Waterfall (Caves)
+ Waterfall (Surface)
+ Conveyor Belt
+ Blocked to monsters
+ Town entrance
+ Change when used
+ Call special when usedExtra values:*flag1
@@ -95,13 +95,15 @@
- Map icon:
-
-
+ Map icon:
+
+
+
+ (Enter -1 to scale down the large picture)
- Enter properties for this terrain type. For a detailed description of the fields, see the documentation. Note that, for terrain types 90 and below, only changes to the picture and shortcut key will be recorded.
+ Enter properties for this terrain type. For a detailed description of the fields, see the documentation.
\ No newline at end of file
diff --git a/src/boe.town.cpp b/src/boe.town.cpp
index 7f1c1351..8cb29cc6 100644
--- a/src/boe.town.cpp
+++ b/src/boe.town.cpp
@@ -1446,9 +1446,9 @@ void draw_map(bool need_refresh) {
if(pic >= 1000) {
if(spec_scen_g) {
//print_nums(0,99,pic);
- pic = pic % 1000;
sf::Texture* src_gw;
if(drawLargeIcon) {
+ pic = pic % 1000;
graf_pos_ref(src_gw, custom_from) = spec_scen_g.find_graphic(pic);
rect_draw_some_item(*src_gw,custom_from,map_gworld,draw_rect);
} else {
diff --git a/src/dialogxml/field.cpp b/src/dialogxml/field.cpp
index dc5201a5..fc98a84f 100644
--- a/src/dialogxml/field.cpp
+++ b/src/dialogxml/field.cpp
@@ -201,7 +201,7 @@ void cTextField::draw(){
size_t ip_offset = 0;
hilite_t hilite = {insertionPoint, selectionPoint};
if(selectionPoint < insertionPoint) std::swap(hilite.first,hilite.second);
- if(haveFocus && contents.length() > 1 && changeMade) {
+ if(haveFocus && contents.length() >= 1 && changeMade) {
text_rect = frame;
text_rect.inset(2,2);
// Determine which line the insertion and selection points are on
diff --git a/src/dialogxml/pict.cpp b/src/dialogxml/pict.cpp
index e0505b38..48f926f3 100644
--- a/src/dialogxml/pict.cpp
+++ b/src/dialogxml/pict.cpp
@@ -122,9 +122,9 @@ void cPict::setPict(pic_num_t num, ePicType type){
picNum -= 10000;
picType += PIC_PARTY;
} else {
+ picType += PIC_CUSTOM;
if(picType != PIC_CUSTOM_TER_MAP)
picNum %= 1000;
- picType += PIC_CUSTOM;
}
}
recalcRect();
diff --git a/src/scenedit/scen.core.cpp b/src/scenedit/scen.core.cpp
index 1c704418..c7619b9c 100644
--- a/src/scenedit/scen.core.cpp
+++ b/src/scenedit/scen.core.cpp
@@ -538,6 +538,7 @@ void edit_ter_type(ter_num_t which) {
ter_dlg["pict"].attachFocusHandler(std::bind(check_range,_1,_2,_3,0,2999,"terrain graphic"));
ter_dlg["pickpict"].attachClickHandler(std::bind(pick_picture,PIC_TER,_1,"pict","graphic"));
ter_dlg["pickanim"].attachClickHandler(std::bind(pick_picture,PIC_TER_ANIM,_1,"pict","graphic"));
+ ter_dlg["pickmap"].attachClickHandler(std::bind(pick_picture,PIC_TER_MAP,_1,"map","seemap"));
ter_dlg["light"].attachFocusHandler(std::bind(check_range,_1,_2,_3,0,10,"light radius"));
ter_dlg["trans"].attachFocusHandler(std::bind(check_range,_1,_2,_3,0,scenario.ter_types.size() - 1,"\"transform to what?\""));
ter_dlg["ground"].attachFocusHandler(std::bind(check_range,_1,_2,_3,0,255,"ground type"));