w of the dueck
Here is the collection of files that have been altered so far. Changes made: ' [ ' is an additional zoom in/zoom out key. Ctrl + Arrow keys introduced for loading previous/next town and for outdoor zones above/below/left/right. Added a comment about which Ctrl + Letter shortcuts were still available. Town menu was rearranged. Graying out of menus has been updated. Version date is now shown in the Help > About Blades Scenario Editor dialog. Three new hotkeys: "^A", 213, ASCII, "^B", 214, ASCII, "^V", 312, ASCII New scenario object write up: BoE Scenario Object data.txt regards Ishad Nha git-svn-id: http://openexile.googlecode.com/svn/trunk@129 4ebdad44-0ea0-11de-aab3-ff745001d230
This commit is contained in:
@@ -6,8 +6,6 @@
|
||||
#include "string.h"
|
||||
#include "stdio.h"
|
||||
#include "math.h"
|
||||
|
||||
|
||||
#include "Global.h"
|
||||
#include "graphics.h"
|
||||
#include "tactions.h"
|
||||
@@ -87,7 +85,7 @@ Boolean editing_town = FALSE;
|
||||
short town_type = 0; // 0 - big 1 - ave 2 - small
|
||||
char szWinName[] = "BoE for Win32 dialogs";
|
||||
char szAppName[] = "Classic BoE Scenario Editor";
|
||||
|
||||
extern void object_scenario_data_dump();
|
||||
char szBladBase[128];
|
||||
|
||||
void loadSettingsFromFile()
|
||||
@@ -721,6 +719,14 @@ Boolean handle_menu (short item, HMENU menu)
|
||||
case 304: frill_up_terrain(); break;
|
||||
case 305: unfrill_terrain(); break;
|
||||
case 306: edit_out_strs(); break;
|
||||
case 307: if (fancy_choice_dialog(875,0) == 2) // clear all special encounters
|
||||
break;
|
||||
for (i = 0; i < 18; i++) {
|
||||
current_terrain.special_locs[i].x = 100;
|
||||
current_terrain.special_locs[i].y = 0;
|
||||
current_terrain.special_id[i] = 255;
|
||||
}
|
||||
|
||||
case 311:
|
||||
lpsi.fMask = SIF_POS;
|
||||
lpsi.nPos = 0;
|
||||
@@ -733,13 +739,6 @@ Boolean handle_menu (short item, HMENU menu)
|
||||
SetScrollInfo(right_sbar,SB_CTL,&lpsi,TRUE);
|
||||
//SetScrollPos(right_sbar,SB_CTL,0,TRUE);
|
||||
start_string_editing(1,0); break;
|
||||
case 313: if (fancy_choice_dialog(875,0) == 2) // clear all special encounters
|
||||
break;
|
||||
for (i = 0; i < 18; i++) {
|
||||
current_terrain.special_locs[i].x = 100;
|
||||
current_terrain.special_locs[i].y = 0;
|
||||
current_terrain.special_id[i] = 255;
|
||||
}
|
||||
break;
|
||||
|
||||
case 401:
|
||||
@@ -874,6 +873,48 @@ Boolean handle_menu (short item, HMENU menu)
|
||||
}
|
||||
break;
|
||||
|
||||
case 412: // load outdoor zone above
|
||||
if (editing_town)
|
||||
break;
|
||||
if (cur_out.y > 0) {
|
||||
x = cur_out.x;
|
||||
y = cur_out.y - 1;
|
||||
}
|
||||
else {
|
||||
x = cur_out.x;
|
||||
y = scenario.out_height - 1;
|
||||
}
|
||||
spot_hit.x = x;
|
||||
spot_hit.y = y;
|
||||
load_outdoors(spot_hit,0);
|
||||
augment_terrain(spot_hit);
|
||||
start_out_edit();
|
||||
break;
|
||||
|
||||
case 413: // load outdoor zone below
|
||||
if (editing_town)
|
||||
break;
|
||||
if (cur_out.y == scenario.out_height - 1) {
|
||||
x = cur_out.x;
|
||||
y = 0;
|
||||
}
|
||||
else {
|
||||
x = cur_out.x;
|
||||
y = cur_out.y + 1;
|
||||
}
|
||||
spot_hit.x = x;
|
||||
spot_hit.y = y;
|
||||
load_outdoors(spot_hit,0);
|
||||
augment_terrain(spot_hit);
|
||||
start_out_edit();
|
||||
break;
|
||||
|
||||
case 414:
|
||||
if (fancy_choice_dialog(878,0) == 1)
|
||||
object_scenario_data_dump();
|
||||
break;
|
||||
|
||||
|
||||
// Extra Help
|
||||
case 801: // help file
|
||||
WinHelp(mainPtr,"Scenario Editor.hlp",HELP_CONTENTS,0L);
|
||||
|
@@ -71,17 +71,17 @@ Exile MENU
|
||||
MENUITEM "Set All Items Not Property", 209
|
||||
MENUITEM "Clear All Items", 210
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Clear All Monsters", 217
|
||||
MENUITEM "Clear All Placed Specials", 218
|
||||
MENUITEM "Clear All Preset Fields", 219
|
||||
MENUITEM "Clear All Stains", 220
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Advanced:", 212
|
||||
MENUITEM " Edit Special Nodes", 213
|
||||
MENUITEM " Edit Town Text", 214
|
||||
MENUITEM " Edit Special Nodes\tCtrl+A", 213
|
||||
MENUITEM " Edit Town Text\tCtrl+B", 214
|
||||
MENUITEM " Advanced Town Details", 215
|
||||
MENUITEM " Set Town Event Timers", 216
|
||||
MENUITEM " Concise Town Report",221
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM " Clear All Monsters", 217
|
||||
MENUITEM " Clear All Placed Specials", 218
|
||||
MENUITEM " Clear All Preset Fields", 219
|
||||
MENUITEM " Clear All Stains", 220
|
||||
MENUITEM " Concise Town Report",221
|
||||
}
|
||||
|
||||
POPUP "&Outdoors"
|
||||
@@ -92,11 +92,11 @@ Exile MENU
|
||||
MENUITEM "Frill Up Terrain", 304
|
||||
MENUITEM "Remove Terrain Frills", 305
|
||||
MENUITEM "Edit Area Descriptions", 306
|
||||
MENUITEM "Clear All Placed Specials", 307
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Advanced:", 310
|
||||
MENUITEM " Edit Special Nodes\tCtrl+U", 311
|
||||
MENUITEM " Edit Outdoor Text", 312
|
||||
MENUITEM " Delete All Placed Specials", 313
|
||||
MENUITEM " Edit Outdoor Text\tCtrl+V", 312
|
||||
}
|
||||
|
||||
POPUP "&Additional Features"
|
||||
@@ -106,16 +106,17 @@ Exile MENU
|
||||
MENUITEM "Edit Town\tCtrl+T", 401
|
||||
MENUITEM "Edit Outdoor\tCtrl+R", 402
|
||||
MENUITEM "Load Another Outdoor Zone/Town\tCtrl+L", 403
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Edit Terrain Types\tCtrl+E", 404
|
||||
MENUITEM "Edit Monsters\tCtrl+F", 405
|
||||
MENUITEM "Edit Items\tCtrl+G", 406
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Return to Main Screen\tCtrl+M", 407
|
||||
MENUITEM "Switch Viewing Mode\tCtrl+I", 408
|
||||
MENUITEM "Load Previous Outdoor Zone/Town\tCtrl+J", 409
|
||||
MENUITEM "Load Next Outdoor Zone/Town\tCtrl+K", 410
|
||||
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Scenario Object Data Dump", 414
|
||||
}
|
||||
|
||||
POPUP "&I1"
|
||||
@@ -209,7 +210,10 @@ ACCELERATORS_1 ACCELERATORS
|
||||
"^S", 2, ASCII
|
||||
"^N", 3, ASCII
|
||||
"^Q", 5, ASCII
|
||||
"^A", 213, ASCII
|
||||
"^B", 214, ASCII
|
||||
"^U", 311, ASCII
|
||||
"^V", 312, ASCII
|
||||
"^T", 401, ASCII
|
||||
"^R", 402, ASCII
|
||||
"^L", 403, ASCII
|
||||
@@ -220,6 +224,15 @@ ACCELERATORS_1 ACCELERATORS
|
||||
"^I", 408, ASCII
|
||||
"^J", 409, ASCII
|
||||
"^K", 410, ASCII
|
||||
VK_TAB, 408, VIRTKEY, CONTROL, NOINVERT
|
||||
VK_LEFT, 409, VIRTKEY, CONTROL, NOINVERT
|
||||
VK_RIGHT, 410, VIRTKEY, CONTROL, NOINVERT
|
||||
VK_UP, 412, VIRTKEY, CONTROL, NOINVERT
|
||||
VK_DOWN, 413, VIRTKEY, CONTROL, NOINVERT
|
||||
|
||||
// Defined elsewhere: D,L
|
||||
// Keys currently available: C,H,P,W,X,Y,Z
|
||||
|
||||
}
|
||||
|
||||
1 WAVE "snd0.wav"
|
||||
|
@@ -1882,7 +1882,17 @@ STYLE WS_POPUP | WS_DLGFRAME
|
||||
LTEXT "Lists of all the placed specials, signs, items and fields in the current town are about to be put into a file called 'BoE Concise Town Report.txt' in the editor folder. You can then use this file as a handy reference while designing your scenario.", 4, 49, 6, 271, 66
|
||||
LTEXT "It includes the locations and text strings too.", 5, 49, 95, 271, 29
|
||||
}
|
||||
|
||||
|
||||
878 DIALOG 10, 10, 356, 154
|
||||
STYLE WS_POPUP | WS_DLGFRAME
|
||||
{
|
||||
LTEXT "1_63", 1, 254, 129, 66, 20
|
||||
LTEXT "0_5", 2, 189, 129, 65, 20
|
||||
LTEXT "5_716", 3, 6, 6, 36, 36
|
||||
LTEXT "This creates a list of all the item placement shortcuts and specials in the scenario. Information is placed in a file called 'BoE Scenario Object data.txt' in the editor folder.", 4, 49, 6, 271, 66
|
||||
LTEXT "A list of the Special Items is included.", 5, 49, 95, 271, 29
|
||||
}
|
||||
|
||||
890 DIALOG 10, 10, 357, 114
|
||||
STYLE WS_POPUP | WS_DLGFRAME
|
||||
{
|
||||
@@ -1977,7 +1987,7 @@ STYLE WS_POPUP | WS_DLGFRAME
|
||||
{
|
||||
LTEXT "1_63", 1, 435, 295, 61, 20
|
||||
LTEXT "5_716", 2, 6, 6, 36, 36
|
||||
LTEXT "Classic Blades of Exile Scenario Editor version 1.0 | Copyright 1997, Spiderweb Software, Inc., All rights reserved.||Blades of Exile is distributed for free under GNU General Public License version 2.", 3, 50, 6, 420, 33
|
||||
LTEXT "Classic Blades of Exile Scenario Editor version 23.09.2009 | Copyright 1997, Spiderweb Software, Inc., All rights reserved.||Blades of Exile is distributed for free under GNU General Public License version 2.", 3, 50, 6, 420, 33
|
||||
LTEXT "CREDITS : Initial coding/32-bit porting by Ormus . Aesthetic touches by Ishad Nha.", 4, 50, 227, 424, 33
|
||||
LTEXT "Comments? Questions? Bugs? Post them at the Blades section of the Irony Central Board: www.ironycentral.com/forum/", 5, 50, 271, 354, 32
|
||||
LTEXT "Blades of Exile was brought to you by Spiderweb Software - | _Where our aberrations become your reality._ |_Blades of Exile_ and Spiderweb Software are trademarks of Spiderweb Software.", 7, 50, 154, 410, 51
|
||||
|
@@ -1308,7 +1308,7 @@ Boolean handle_keystroke(WPARAM wParam, LPARAM lParam)
|
||||
are_done = handle_action(pass_point,wParam,-1);
|
||||
break;
|
||||
|
||||
case'I':
|
||||
case'I': case'[':
|
||||
pass_point.x = RIGHT_AREA_UL_X + 6 + palette_buttons[0][1].left;
|
||||
pass_point.y = RIGHT_AREA_UL_Y + 6 + terrain_rects[255].bottom + palette_buttons[0][1].top;
|
||||
are_done = handle_action(pass_point,wParam,-1);
|
||||
@@ -3339,22 +3339,20 @@ void shut_down_menus(short mode)
|
||||
{
|
||||
HMENU menu;
|
||||
short i;
|
||||
short scen_items[20] = {101,103,104,105,106, 109,110,112,113,114, 115,116,117,118,119, 120,111,121,122,123};
|
||||
short town_items[17] = {201,202,203,204,205, 206,208,209,210,213, 214,215,216, 217,218,219,220};
|
||||
short out_items[10] = {301,302,303,304,305,306,308,311,312,313};
|
||||
menu = GetMenu(mainPtr);
|
||||
//menu[i] = GetSubMenu(big_menu,5 + i);
|
||||
|
||||
if (mode == 0) {
|
||||
EnableMenuItem(menu,2,MF_GRAYED | MF_BYCOMMAND);
|
||||
for (i = 0; i < 20; i++)
|
||||
EnableMenuItem(menu,scen_items[i],MF_GRAYED | MF_BYCOMMAND);
|
||||
for (i = 0; i < 17; i++)
|
||||
EnableMenuItem(menu,town_items[i],MF_GRAYED | MF_BYCOMMAND);
|
||||
for (i = 0; i < 10; i++)
|
||||
EnableMenuItem(menu,out_items[i],MF_GRAYED | MF_BYCOMMAND);
|
||||
for (i = 0; i < 10; i++)
|
||||
EnableMenuItem(menu,401+i,MF_GRAYED | MF_BYCOMMAND);
|
||||
if (mode == 0) {
|
||||
// Item 2 is Save Scenario
|
||||
EnableMenuItem(menu,2,MF_GRAYED | MF_BYCOMMAND);
|
||||
for (i = 101; i < 124; i++)
|
||||
EnableMenuItem(menu,i,MF_GRAYED | MF_BYCOMMAND);
|
||||
for (i = 201; i < 222; i++)
|
||||
EnableMenuItem(menu,i,MF_GRAYED | MF_BYCOMMAND);
|
||||
for (i = 301; i < 314; i++)
|
||||
EnableMenuItem(menu,i,MF_GRAYED | MF_BYCOMMAND);
|
||||
for (i = 401; i < 415; i++)
|
||||
EnableMenuItem(menu,i,MF_GRAYED | MF_BYCOMMAND);
|
||||
//for (i = 600; i < 1000; i++) {
|
||||
// EnableMenuItem(menu,i,MF_GRAYED | MF_BYCOMMAND);
|
||||
// }
|
||||
@@ -3362,40 +3360,42 @@ void shut_down_menus(short mode)
|
||||
// EnableMenuItem(menu,i,MF_GRAYED | MF_BYCOMMAND);
|
||||
// }
|
||||
}
|
||||
|
||||
if ((mode == 1) || (mode == 3)) {
|
||||
for (i = 201; i < 212; i++)
|
||||
EnableMenuItem(menu,i,MF_GRAYED | MF_BYCOMMAND);
|
||||
for (i = 217; i < 221; i++)
|
||||
EnableMenuItem(menu,i,MF_GRAYED | MF_BYCOMMAND);
|
||||
//for (i = 600; i < 1000; i++) {
|
||||
// EnableMenuItem(menu,i,MF_GRAYED | MF_BYCOMMAND);
|
||||
// }
|
||||
//for (i = 1000; i < 1256; i++) {
|
||||
// EnableMenuItem(menu,i,MF_GRAYED | MF_BYCOMMAND);
|
||||
// }
|
||||
}
|
||||
|
||||
if ((mode == 2) || (mode == 3)) {
|
||||
for (i = 301; i < 308; i++)
|
||||
EnableMenuItem(menu,i,MF_GRAYED | MF_BYCOMMAND);
|
||||
}
|
||||
|
||||
if (mode == 4) {
|
||||
EnableMenuItem(menu,1,MF_ENABLED | MF_BYCOMMAND);
|
||||
EnableMenuItem(menu,2,MF_ENABLED | MF_BYCOMMAND);
|
||||
EnableMenuItem(menu,3,MF_ENABLED | MF_BYCOMMAND);
|
||||
EnableMenuItem(menu,5,MF_ENABLED | MF_BYCOMMAND);
|
||||
for (i = 0; i < 20; i++)
|
||||
EnableMenuItem(menu,scen_items[i],MF_ENABLED | MF_BYCOMMAND);
|
||||
for (i = 0; i < 17; i++)
|
||||
EnableMenuItem(menu,town_items[i],MF_ENABLED | MF_BYCOMMAND);
|
||||
for (i = 0; i < 10; i++)
|
||||
EnableMenuItem(menu,out_items[i],MF_ENABLED | MF_BYCOMMAND);
|
||||
for (i = 0; i < 10; i++)
|
||||
EnableMenuItem(menu,401+i,MF_ENABLED | MF_BYCOMMAND);
|
||||
for (i = 1; i < 6; i++)
|
||||
EnableMenuItem(menu,i,MF_ENABLED | MF_BYCOMMAND);
|
||||
for (i = 101; i < 124; i++)
|
||||
EnableMenuItem(menu,i,MF_ENABLED | MF_BYCOMMAND);
|
||||
for (i = 201; i < 222; i++)
|
||||
EnableMenuItem(menu,i,MF_ENABLED | MF_BYCOMMAND);
|
||||
for (i = 301; i < 314; i++)
|
||||
EnableMenuItem(menu,i,MF_ENABLED | MF_BYCOMMAND);
|
||||
for (i = 401; i < 415; i++)
|
||||
EnableMenuItem(menu,i,MF_ENABLED | MF_BYCOMMAND);
|
||||
//for (i = 600; i < 1000; i++) {
|
||||
// EnableMenuItem(menu,i,MF_ENABLED | MF_BYCOMMAND);
|
||||
// }
|
||||
//for (i = 1000; i < 1256; i++) {
|
||||
// EnableMenuItem(menu,i,MF_ENABLED | MF_BYCOMMAND);
|
||||
// }
|
||||
|
||||
}
|
||||
if ((mode == 1) || (mode == 3)) {
|
||||
for (i = 0; i < 9; i++)
|
||||
EnableMenuItem(menu,town_items[i],MF_GRAYED | MF_BYCOMMAND);
|
||||
//for (i = 600; i < 1000; i++) {
|
||||
// EnableMenuItem(menu,i,MF_GRAYED | MF_BYCOMMAND);
|
||||
// }
|
||||
//for (i = 1000; i < 1256; i++) {
|
||||
// EnableMenuItem(menu,i,MF_GRAYED | MF_BYCOMMAND);
|
||||
// }
|
||||
}
|
||||
if ((mode == 2) || (mode == 3)) {
|
||||
for (i = 0; i < 7; i++)
|
||||
EnableMenuItem(menu,out_items[i],MF_GRAYED | MF_BYCOMMAND);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -51,6 +51,8 @@ Boolean cur_scen_is_win = TRUE;
|
||||
talking_record_type *dummy_talk_ptr;
|
||||
town_record_type *dummy_town_ptr;
|
||||
extern char file_path_name[256];
|
||||
void object_scenario_data_dump();
|
||||
extern item_storage_shortcut_type store_storage;
|
||||
|
||||
// Big waste!
|
||||
char last_load_file[63] = "newscen.exs";
|
||||
@@ -1240,7 +1242,7 @@ void start_town_data_dump()
|
||||
WriteFile(data_dump_file_id, get_text,strlen(get_text),&dwByteRead,NULL);
|
||||
|
||||
for (i = 0; i < 50; i++) {
|
||||
if (town.spec_id[i] < 255){
|
||||
if ((town.specials[i].type > 0) || (town.specials[i].jumpto >= 0)) {
|
||||
get_str(spec_name,22,town.specials[town.spec_id[i]].type + 1);
|
||||
sprintf(get_text," Placed special %d: x = %d, y = %d, state = %d, name = %s\r",i,town.special_locs[i].x,town.special_locs[i].y,town.spec_id[i],spec_name);
|
||||
WriteFile(data_dump_file_id, get_text,strlen(get_text),&dwByteRead,NULL);
|
||||
@@ -1311,7 +1313,7 @@ void start_town_data_dump()
|
||||
sprintf(get_text,"\r\r Town Special Nodes: [100]\r");
|
||||
WriteFile(data_dump_file_id, get_text,strlen(get_text),&dwByteRead,NULL);
|
||||
for (i = 0; i < 100; i++) {
|
||||
if (town.specials[i].type > 0) {
|
||||
if ((town.specials[i].type > 0) || (town.specials[i].jumpto >= 0)) {
|
||||
get_str(spec_name,22,town.specials[i].type + 1);
|
||||
sprintf(get_text," Town special %d: Type = %d, SD1 = %d, SD2 = %d, Pic = %d, M1 = %d, M2 = %d, Ex1a = %d, Ex1b = %d, Ex2a = %d, Ex2b = %d, JumpTo = %d, Name = %s\r",i,town.specials[i].type,town.specials[i].sd1,town.specials[i].sd2,town.specials[i].pic,town.specials[i].m1,town.specials[i].m2,town.specials[i].ex1a,town.specials[i].ex1b,town.specials[i].ex2a,town.specials[i].ex2b,town.specials[i].jumpto,spec_name);
|
||||
WriteFile(data_dump_file_id, get_text,strlen(get_text),&dwByteRead,NULL);
|
||||
@@ -1323,6 +1325,76 @@ void start_town_data_dump()
|
||||
CloseHandle(data_dump_file_id);
|
||||
}
|
||||
|
||||
|
||||
void object_scenario_data_dump()
|
||||
{
|
||||
short i,j;
|
||||
char get_text[280], spec_name[256];
|
||||
HANDLE data_dump_file_id;
|
||||
DWORD dwByteRead;
|
||||
|
||||
data_dump_file_id = CreateFile("BoE Scenario Object data.txt", GENERIC_WRITE, FILE_SHARE_READ, NULL,
|
||||
CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
|
||||
if (data_dump_file_id == INVALID_HANDLE_VALUE)
|
||||
{
|
||||
oops_error(28);
|
||||
beep();
|
||||
return;
|
||||
}
|
||||
sprintf(get_text,"\n\nConcise Scenario Object Data Printout for %s\n\n",scen_strs[0]);
|
||||
WriteFile(data_dump_file_id, get_text,strlen(get_text),&dwByteRead,NULL);
|
||||
sprintf(get_text," For rectangles: \"tl\" = the top and left corner of the rectangle while \"br\" = the bottom and right corner.\n\n Maximum number of any given type of town object is shown by \"[ # ]\".\n Null objects are frequently not listed.\n\n");
|
||||
WriteFile(data_dump_file_id, get_text,strlen(get_text),&dwByteRead,NULL);
|
||||
sprintf(get_text,"The Special Items [50]\n Special Item Properties: A value of 1 means that the Special Item can be used,\n while a value of 10 means that the party starts the scenario with the item. \n A value of 11 means that it can be used and the party starts with it.\n\n");
|
||||
WriteFile(data_dump_file_id, get_text,strlen(get_text),&dwByteRead,NULL);
|
||||
|
||||
for (short i = 0; i < 50; i++) {
|
||||
sprintf(get_text,"Special Item %d: Scenario Special Called = %d, Properties = %d, Name = \"%s\"\n",i,scenario.special_item_special[i],scenario.special_items[i],scen_strs[60 + i * 2]);
|
||||
WriteFile(data_dump_file_id, get_text,strlen(get_text),&dwByteRead,NULL);
|
||||
}
|
||||
sprintf(get_text,"\n\nItem Storage Shortcuts [10]\n");
|
||||
WriteFile(data_dump_file_id, get_text,strlen(get_text),&dwByteRead,NULL);
|
||||
|
||||
for (short i = 0; i < 10; i++) {
|
||||
sprintf(get_text,"Shortcut %d: All Items Property = %d, Terrain type = %d, Name = %s\n",i,scenario.storage_shortcuts[i].property,scenario.storage_shortcuts[i].ter_type,scen_item_list.ter_names[scenario.storage_shortcuts[i].ter_type]);
|
||||
WriteFile(data_dump_file_id, get_text,strlen(get_text),&dwByteRead,NULL);
|
||||
}
|
||||
sprintf(get_text,"\n\n Scenario Horse Records: [30]\n");
|
||||
WriteFile(data_dump_file_id, get_text,strlen(get_text),&dwByteRead,NULL);
|
||||
for (short i = 0; i < 30; i++) {
|
||||
if (scenario.scen_horses[i].which_town >= 0) {
|
||||
sprintf(get_text," Scenario Horse %d: Town = %d, X = %d, Y = %d, Property = %d\n",i,scenario.scen_horses[i].which_town,scenario.scen_horses[i].horse_loc.x,scenario.scen_horses[i].horse_loc.y,scenario.scen_horses[i].property);
|
||||
WriteFile(data_dump_file_id, get_text,strlen(get_text),&dwByteRead,NULL);
|
||||
}
|
||||
}
|
||||
|
||||
sprintf(get_text,"\n\n Scenario Boat Records: [30]\n");
|
||||
|
||||
WriteFile(data_dump_file_id, get_text,strlen(get_text),&dwByteRead,NULL);
|
||||
for (short i = 0; i < 30; i++) {
|
||||
if (scenario.scen_boats[i].which_town >= 0) {
|
||||
sprintf(get_text," Scenario Boat %d: Town = %d, X = %d, Y = %d, Property = %d\n",i,scenario.scen_boats[i].which_town,scenario.scen_boats[i].boat_loc.x,scenario.scen_boats[i].boat_loc.y,scenario.scen_boats[i].property);
|
||||
WriteFile(data_dump_file_id, get_text,strlen(get_text),&dwByteRead,NULL);
|
||||
}
|
||||
}
|
||||
|
||||
sprintf(get_text,"\n\n Scenario Special Nodes: [256]\n");
|
||||
WriteFile(data_dump_file_id, get_text,strlen(get_text),&dwByteRead,NULL);
|
||||
for (short i = 0; i < 256; i++) {
|
||||
if ((scenario.scen_specials[i].type > 0) || (scenario.scen_specials[i].jumpto >= 0)) {
|
||||
get_str(spec_name,22,town.specials[i].type + 1);
|
||||
sprintf(get_text," Scenario special %d: Type = %d, SD1 = %d, SD2 = %d, Pic = %d, M1 = %d, M2 = %d, Ex1a = %d, Ex1b = %d, Ex2a = %d, Ex2b = %d, JumpTo = %d, Name = %s\n",i,scenario.scen_specials[i].type,scenario.scen_specials[i].sd1,scenario.scen_specials[i].sd2,scenario.scen_specials[i].pic,scenario.scen_specials[i].m1,scenario.scen_specials[i].m2,scenario.scen_specials[i].ex1a,scenario.scen_specials[i].ex1b,scenario.scen_specials[i].ex2a,scenario.scen_specials[i].ex2b,scenario.scen_specials[i].jumpto,spec_name);
|
||||
WriteFile(data_dump_file_id, get_text,strlen(get_text),&dwByteRead,NULL);
|
||||
}
|
||||
}
|
||||
sprintf(get_text,"\n\n");
|
||||
WriteFile(data_dump_file_id, get_text,strlen(get_text),&dwByteRead,NULL);
|
||||
|
||||
CloseHandle(data_dump_file_id);
|
||||
|
||||
}
|
||||
|
||||
|
||||
void start_data_dump()
|
||||
{
|
||||
short i,j,last_town = cur_town;
|
||||
|
Reference in New Issue
Block a user