diff --git a/osx/Scenario Editor/Blades of Exile Graphics b/osx/Scenario Editor/Blades of Exile Graphics index 659e38b3..a7ae0556 100644 Binary files a/osx/Scenario Editor/Blades of Exile Graphics and b/osx/Scenario Editor/Blades of Exile Graphics differ diff --git a/osx/Scenario Editor/scen.core.cpp b/osx/Scenario Editor/scen.core.cpp index ab61c7e4..558592ad 100644 --- a/osx/Scenario Editor/scen.core.cpp +++ b/osx/Scenario Editor/scen.core.cpp @@ -1158,7 +1158,7 @@ bool save_monst_info() { } } else { - if (cre(store_monst.picture_num,0,174,"Non-customized monster pic must be from 0 to 173.","",814) > 0) return false; + if (cre(store_monst.picture_num,0,PICT_N_MONST,"Non-customized monster pic must be from 0 to 173.","",814) > 0) return false; store_monst.x_width = m_pic_index[store_monst.picture_num].x; store_monst.y_width = m_pic_index[store_monst.picture_num].y; @@ -1246,7 +1246,7 @@ void edit_monst_type_event_filter (short item_hit) { if (save_monst_info() == false) break; i = choose_graphic(/*400,572*/0,PICT_N_MONST,store_monst.picture_num/* + 400*/,PICT_MONST,814); if (i >= 0) { - store_monst.picture_num = i - 400; + store_monst.picture_num = i; } else break; store_monst.x_width = m_pic_index[i].x; diff --git a/osx/Scenario Editor/scen.graphics.cpp b/osx/Scenario Editor/scen.graphics.cpp index 21f82098..9c057b98 100644 --- a/osx/Scenario Editor/scen.graphics.cpp +++ b/osx/Scenario Editor/scen.graphics.cpp @@ -64,7 +64,7 @@ extern location cur_out; short num_ir[3] = {12,10,4}; -GWorldPtr monst_gworld[10]; +GWorldPtr monst_gworld[11]; GWorldPtr terrain_gworld[7]; GWorldPtr editor_mixed; GWorldPtr terrain_buttons_gworld; @@ -424,7 +424,7 @@ void load_graphics(){ for (i = 0; i < 25; i++) map_pat[i] = GetPixPat (200 + i); - for (i = 0; i < 10; i++) + for (i = 0; i < 11; i++) monst_gworld[i] = load_pict(1100 + i); for (i = 0; i < 7; i++) terrain_gworld[i] = load_pict(800 + i); diff --git a/osx/boe.graphics.cpp b/osx/boe.graphics.cpp index d09f502f..a9377f6c 100644 --- a/osx/boe.graphics.cpp +++ b/osx/boe.graphics.cpp @@ -149,7 +149,7 @@ GWorldPtr dlogpics_gworld; GWorldPtr anim_gworld; GWorldPtr talkfaces_gworld; GWorldPtr pc_gworld; -GWorldPtr monst_gworld[10]; +GWorldPtr monst_gworld[11]; GWorldPtr terrain_gworld[7]; // Startup graphics, will die when play starts @@ -816,7 +816,7 @@ void Set_up_win () dlogpics_gworld = load_pict(850); // possibly not ideal place for this, but... - for (i = 0; i < 10; i++) + for (i = 0; i < 11; i++) monst_gworld[i] = load_pict(1100 + i); for (i = 0; i < 7; i++) terrain_gworld[i] = load_pict(800 + i); diff --git a/osx/classes/monster.cpp b/osx/classes/monster.cpp index 9d735795..05767a02 100644 --- a/osx/classes/monster.cpp +++ b/osx/classes/monster.cpp @@ -52,6 +52,7 @@ cMonster& cMonster::operator = (legacy::monster_record_type& old){ res2 = old.res2; res3 = old.res3; picture_num = old.picture_num; + if(picture_num = 122) picture_num = 119; return *this; } diff --git a/osx/classes/terrain.cpp b/osx/classes/terrain.cpp index ed240414..08af33b1 100644 --- a/osx/classes/terrain.cpp +++ b/osx/classes/terrain.cpp @@ -98,11 +98,13 @@ cTerrain& cTerrain::operator = (legacy::terrain_type_type& old){ special = TER_SPEC_NONE; flag1 = 23; flag2 = flag3 = 0; - }else if(picture == 215){ + }else if(picture == 215 || (picture >= 218 && picture <= 221)){ + picture = 215; special = TER_SPEC_NONE; flag1 = 3; flag2 = flag3 = 0; - }else if(picture == 216){ + }else if(picture == 216 || (picture >= 222 && picture <= 225)){ + picture = 215; special = TER_SPEC_NONE; flag1 = 2; flag2 = flag3 = 0; @@ -219,7 +221,7 @@ cTerrain& cTerrain::operator = (legacy::terrain_type_type& old){ break; case 23: special = TER_SPEC_CALL_SPECIAL_WHEN_USED; - flag2 = 0; + flag2 = 3; // global special, always (2 would be local if outdoors, global if in town) flag3 = 255; break; } @@ -276,9 +278,6 @@ cTerrain& cTerrain::operator = (legacy::terrain_type_type& old){ obj_size.x = 2; obj_size.y = 1; break; - case 233: - picture = 137; - break; case 247: obj_num = 3; obj_pos.x = 0; @@ -332,6 +331,15 @@ cTerrain& cTerrain::operator = (legacy::terrain_type_type& old){ picture = 32; i = 3000; break; + // Misc + case 216: + case 218: case 219: case 220: case 221: + case 222: case 223: case 224: case 225: + picture = 215; + break; + case 233: + picture = 137; + break; }; return *this; } diff --git a/osx/tools/dlgconsts.h b/osx/tools/dlgconsts.h index 46558467..11dbd32f 100644 --- a/osx/tools/dlgconsts.h +++ b/osx/tools/dlgconsts.h @@ -49,10 +49,10 @@ #define PICT_WIDE_MONSTER 20 #define PICT_TALL_MONSTER 40 // These constants are the total number of preset graphics of each type. -#define PICT_N_TER 252 // 336 -#define PICT_N_TER_ANIM 13 // 18 -#define PICT_N_MONST 172 -#define PICT_N_DLG 32 // 44 +#define PICT_N_TER 336 // was 252 +#define PICT_N_TER_ANIM 18 // was 13 +#define PICT_N_MONST 180 // was 172 +#define PICT_N_DLG 44 // was 33 #define PICT_N_TALK 83 #define PICT_N_SCEN 29 #define PICT_N_ITEM 122 diff --git a/osx/tools/graphtool.cpp b/osx/tools/graphtool.cpp index 93d66a1d..604dfbe2 100644 --- a/osx/tools/graphtool.cpp +++ b/osx/tools/graphtool.cpp @@ -942,14 +942,14 @@ m_pic_index_t m_pic_index[] = { {197, 1, 1}, {198, 1, 1}, {0, 1, 1}, - {0, 1, 1}, - {0, 1, 1}, - {0, 1, 1}, - {0, 1, 1}, - {0, 1, 1}, - {0, 1, 1}, + {45, 1, 1}, + {199, 1, 1}, + {200, 1, 1}, + {201, 1, 1}, + {202, 1, 1}, + {203, 1, 1}, //180 - {0, 1, 1}, + {204, 1, 1}, {0, 1, 1}, {0, 1, 1}, {0, 1, 1}, diff --git a/osx/tools/viewdlog.cpp b/osx/tools/viewdlog.cpp index b5a74adf..dada0429 100644 --- a/osx/tools/viewdlog.cpp +++ b/osx/tools/viewdlog.cpp @@ -14,7 +14,7 @@ void Initialize(); void init_dialogs(); void display_strings(char *text1, char *text2, char *title,short graphic_num,short graphic_type,short parent_num); -GWorldPtr anim_gworld, talkfaces_gworld, items_gworld, tiny_obj_gworld, pc_gworld, dlog_gworld, monst_gworld[10], ter_gworld[7], small_ter_gworld, fields_gworld, pc_stats_gworld, item_stats_gworld, mixed_gworld; +GWorldPtr anim_gworld, talkfaces_gworld, items_gworld, tiny_obj_gworld, pc_gworld, dlog_gworld, monst_gworld[11], ter_gworld[7], small_ter_gworld, fields_gworld, pc_stats_gworld, item_stats_gworld, mixed_gworld; ResFileRefNum graphicsRef, soundsRef, boeRef, scenRef, pcRef; bool All_Done = false; WindowPtr mainPtr = (WindowPtr) -1; @@ -268,7 +268,7 @@ void init_dialogs(){ tiny_obj_gworld = load_pict(900); pc_gworld = load_pict(902); dlog_gworld = load_pict(850); - for(int i = 0; i < 10; i++) + for(int i = 0; i < 11; i++) monst_gworld[i] = load_pict(1100 + i); for(int i = 0; i < 7; i++) ter_gworld[i] = load_pict(800 + i);