diff --git a/conf/mapflag/nobranch.txt b/conf/mapflag/nobranch.txt index f9eea48903..cc2c571e13 100644 --- a/conf/mapflag/nobranch.txt +++ b/conf/mapflag/nobranch.txt @@ -201,13 +201,13 @@ force_1-2 mapflag nobranch force_1-3 mapflag nobranch ordeal_1-1 mapflag nobranch ordeal_1-2 mapflag nobranch -ordeal_1-3 mapflag nobranch +//ordeal_1-3 mapflag nobranch ordeal_2-1 mapflag nobranch ordeal_2-2 mapflag nobranch -ordeal_2-3 mapflag nobranch +//ordeal_2-3 mapflag nobranch ordeal_3-1 mapflag nobranch ordeal_3-2 mapflag nobranch -ordeal_3-3 mapflag nobranch +//ordeal_3-3 mapflag nobranch pvp_2vs2 mapflag nobranch pvp_c_room mapflag nobranch quiz_00 mapflag nobranch diff --git a/conf/mapflag/nomemo.txt b/conf/mapflag/nomemo.txt index 12321f7c12..e4487155e6 100644 --- a/conf/mapflag/nomemo.txt +++ b/conf/mapflag/nomemo.txt @@ -496,13 +496,13 @@ force_4-1 mapflag nomemo force_5-1 mapflag nomemo ordeal_1-1 mapflag nomemo ordeal_1-2 mapflag nomemo -ordeal_1-3 mapflag nomemo +//ordeal_1-3 mapflag nomemo ordeal_2-1 mapflag nomemo ordeal_2-2 mapflag nomemo -ordeal_2-3 mapflag nomemo +//ordeal_2-3 mapflag nomemo ordeal_3-1 mapflag nomemo ordeal_3-2 mapflag nomemo -ordeal_3-3 mapflag nomemo +//ordeal_3-3 mapflag nomemo pvp_c_room mapflag nomemo quiz_00 mapflag nomemo quiz_01 mapflag nomemo diff --git a/conf/maps_athena.conf b/conf/maps_athena.conf index 9820bce44e..5e3b250087 100644 --- a/conf/maps_athena.conf +++ b/conf/maps_athena.conf @@ -195,9 +195,6 @@ map: pay_fild08 map: pay_fild09 map: pay_fild10 map: pay_fild11 -//map: payon //moved down to new maps -//map: payon_in01 //moved down to new maps -//map: payon_in02 //moved down to new maps //map: priest_1-1 //map: priest_2-1 //map: priest_3-1 @@ -996,10 +993,10 @@ map: evt_mobroom // ??? map: dic_dun03 //map: mjolnir_04_1 -//map: evt_swar_b -//map: evt_swar_r -//map: evt_swar_s -//map: evt_swar_t +map: evt_swar_b +map: evt_swar_r +map: evt_swar_s +map: evt_swar_t // Lighthalzen Dungeon F4, Wolfchev's Laboratory // -- 2011-03-16rdata_x.gpf @@ -1008,27 +1005,28 @@ map: lhz_dun04 map: que_lhz // Hall Of Abyss -// -- 2011-06-15data_x.gpf -map: gld_dun01_2 -map: gld_dun02_2 -map: gld_dun03_2 -map: gld_dun04_2 +// -- 2011-06-15rdata_x.gpf map: gld2_ald map: gld2_gef map: gld2_pay map: gld2_prt +map: gld_dun01_2 +map: gld_dun02_2 +map: gld_dun03_2 +map: gld_dun04_2 -// Malaya Port -// -- 2011-08-30data_x.gpf +// Port Malaya +// -- 2011-08-30rdata_j.gpf map: malaya -map: ma_fild01 -map: ma_fild02 +map: job_ko map: ma_scene01 +map: 1@ma_b +map: 1@ma_c +map: 1@ma_h map: ma_in01 map: ma_dun01 -map: 1@ma_h -map: 1@ma_c -map: 1@ma_b +map: ma_fild01 +map: ma_fild02 map: ma_zif01 map: ma_zif02 map: ma_zif03 @@ -1038,26 +1036,101 @@ map: ma_zif06 map: ma_zif07 map: ma_zif08 map: ma_zif09 -map: job_ko + +// -- 2011-11-30data_j3.gpf +map: new_event // 14.2 Eclage -// -- 2011-11-30data_x.gpf +// -- 2011-11-30rdata_j.gpf map: eclage map: ecl_fild01 -map: ecl_in01 -map: ecl_in02 -map: ecl_in03 -map: ecl_in04 -map: 1@ecl map: ecl_tdun01 map: ecl_tdun02 map: ecl_tdun03 map: ecl_tdun04 -map: ecl_hub01 map: que_avan01 +map: 1@ecl +map: ecl_in01 +map: ecl_in02 +map: ecl_in03 +map: ecl_in04 +map: ecl_hub01 + +// Pyramids Basement Nightmare Mode +// -- 2011-11-30rdata_j2.gpf map: moc_prydn1 map: moc_prydn2 +// Izlude Novice Tutorials +// -- 2012-03-07aDataSak_sc.gpf +map: iz_ac01 +map: iz_ac02 +map: treasure_n1 +map: treasure_n2 +map: iz_int +map: iz_ng01 +map: iz_int01 +map: iz_int02 +map: iz_int03 +map: iz_int04 + +// War of Emperium TE +// -- 2012-04-18aData_sc.gpf +map: iz_ac01_a +map: iz_ac02_a +map: iz_ac01_b +map: iz_ac02_b +map: iz_ac01_c +map: iz_ac02_c +map: iz_ac01_d +map: iz_ac02_d +map: te_prtcas01 +map: te_prtcas02 +map: te_prtcas03 +map: te_prtcas04 +map: te_prtcas05 +map: te_aldecas1 +map: te_aldecas2 +map: te_aldecas3 +map: te_aldecas4 +map: te_aldecas5 +map: prt_fild08a +map: prt_fild08b +map: prt_fild08c +map: prt_fild08d +map: izlude_a +map: izlude_b +map: izlude_c +map: izlude_d +map: te_prt_gld +map: te_alde_gld +map: teg_dun01 +map: teg_dun02 + +// Glast Heim Memorial Dungeon / Nightmare Mode +// -- 2012-05-16rData_sc.gpf +map: 1@gl_k +map: 2@gl_k +map: gl_chyard_ +map: gl_cas02_ + +// -- 2012-06-13rData_sc.gpf +map: evt_bomb + +// Wave Mode Memorial Dungeon +// -- 2012-07-25rData_sc.gpf +map: 1@def01 +map: 1@def02 +map: 1@def03 + +// Heroes' Trails - Part 1 +// -- 2012-08-08rData_sc.gpf +map: 1@gef +map: 1@face +map: 1@sara +map: 1@gef_in +map: dali + //------------------------- Clone Maps --------------------------- //------------------------- Extra Maps --------------------------- diff --git a/db/map_index.txt b/db/map_index.txt index 088d0105ac..84a7d835e2 100644 --- a/db/map_index.txt +++ b/db/map_index.txt @@ -168,16 +168,16 @@ orcsdun01 orcsdun02 ordeal_1-1 ordeal_1-2 -ordeal_1-3 -ordeal_1-4 +//ordeal_1-3 +//ordeal_1-4 ordeal_2-1 ordeal_2-2 -ordeal_2-3 -ordeal_2-4 +//ordeal_2-3 +//ordeal_2-4 ordeal_3-1 ordeal_3-2 -ordeal_3-3 -ordeal_3-4 +//ordeal_3-3 +//ordeal_3-4 pay_arche pay_dun00 pay_dun01 @@ -783,14 +783,12 @@ dic_dun02 job3_gen01 s_atelier job3_sha01 - //evt_zombie //evt_coke //ac_sl_area //ac_cl_hall //ac_cl_room //jp_s_dun11 - mora bif_fild01 bif_fild02 @@ -813,30 +811,31 @@ evt_mobroom alde_tt03 dic_dun03 //mjolnir_04_1 -//evt_swar_b -//evt_swar_r -//evt_swar_s -//evt_swar_t 1@lhz lhz_dun04 que_lhz -gld_dun01_2 -gld_dun02_2 -gld_dun03_2 -gld_dun04_2 +evt_swar_b +evt_swar_r +evt_swar_s +evt_swar_t gld2_ald gld2_gef gld2_pay gld2_prt +gld_dun01_2 +gld_dun02_2 +gld_dun03_2 +gld_dun04_2 malaya -ma_fild01 -ma_fild02 +job_ko ma_scene01 +1@ma_b +1@ma_c +1@ma_h ma_in01 ma_dun01 -1@ma_h -1@ma_c -1@ma_b +ma_fild01 +ma_fild02 ma_zif01 ma_zif02 ma_zif03 @@ -846,22 +845,75 @@ ma_zif06 ma_zif07 ma_zif08 ma_zif09 -job_ko +new_event eclage ecl_fild01 -ecl_in01 -ecl_in02 -ecl_in03 -ecl_in04 -1@ecl ecl_tdun01 ecl_tdun02 ecl_tdun03 ecl_tdun04 -ecl_hub01 que_avan01 +1@ecl +ecl_in01 +ecl_in02 +ecl_in03 +ecl_in04 +ecl_hub01 moc_prydn1 moc_prydn2 +iz_ac01 +iz_ac02 +treasure_n1 +treasure_n2 +iz_int +iz_ng01 +iz_int01 +iz_int02 +iz_int03 +iz_int04 +iz_ac01_a +iz_ac02_a +iz_ac01_b +iz_ac02_b +iz_ac01_c +iz_ac02_c +iz_ac01_d +iz_ac02_d +te_prtcas01 +te_prtcas02 +te_prtcas03 +te_prtcas04 +te_prtcas05 +te_aldecas1 +te_aldecas2 +te_aldecas3 +te_aldecas4 +te_aldecas5 +prt_fild08a +prt_fild08b +prt_fild08c +prt_fild08d +izlude_a +izlude_b +izlude_c +izlude_d +te_prt_gld +te_alde_gld +teg_dun01 +teg_dun02 +1@gl_k +2@gl_k +gl_chyard_ +gl_cas02_ +evt_bomb +1@def01 +1@def02 +1@def03 +1@gef +1@face +1@sara +1@gef_in +dali // Only add maps under this line if they are not standard maps! diff --git a/db/pre-re/map_cache.dat b/db/pre-re/map_cache.dat index 96650c31bb..7dc318e683 100644 Binary files a/db/pre-re/map_cache.dat and b/db/pre-re/map_cache.dat differ diff --git a/db/re/map_cache.dat b/db/re/map_cache.dat index 96650c31bb..7dc318e683 100644 Binary files a/db/re/map_cache.dat and b/db/re/map_cache.dat differ diff --git a/src/common/grfio.c b/src/common/grfio.c index 8f430cfb9b..cc2f866f7e 100644 --- a/src/common/grfio.c +++ b/src/common/grfio.c @@ -393,12 +393,12 @@ void* grfio_reads(const char* fname, int* size) FILELIST* entry = filelist_find(fname); if( entry == NULL || entry->gentry <= 0 ) {// LocalFileCheck char lfname[256]; - int declen; FILE* in; grfio_localpath_create(lfname, sizeof(lfname), ( entry && entry->fnd ) ? entry->fnd : fname); in = fopen(lfname, "rb"); if( in != NULL ) { + int declen; fseek(in,0,SEEK_END); declen = ftell(in); fseek(in,0,SEEK_SET); @@ -475,14 +475,14 @@ static char* decode_filename(unsigned char* buf, int len) /// @return true if the file should undergo full mode 0 decryption, and true otherwise. static bool isFullEncrypt(const char* fname) { - static const char extensions[4][5] = { ".gnd", ".gat", ".act", ".str" }; - size_t i; - const char* ext = strrchr(fname, '.'); - if( ext != NULL ) + if( ext != NULL ) { + static const char extensions[4][5] = { ".gnd", ".gat", ".act", ".str" }; + size_t i; for( i = 0; i < ARRAYLENGTH(extensions); ++i ) if( strcmpi(ext, extensions[i]) == 0 ) return false; + } return true; } @@ -492,7 +492,7 @@ static bool isFullEncrypt(const char* fname) /// @param gentry index of the grf file name in the gentry_table static int grfio_entryread(const char* grfname, int gentry) { - long grf_size,list_size; + long grf_size; unsigned char grf_header[0x2e]; int entry,entrys,ofs,grf_version; unsigned char *grf_filelist; @@ -518,6 +518,7 @@ static int grfio_entryread(const char* grfname, int gentry) grf_version = getlong(grf_header+0x2a) >> 8; if( grf_version == 0x01 ) {// ****** Grf version 01xx ****** + long list_size; list_size = grf_size - ftell(fp); grf_filelist = (unsigned char *) aMalloc(list_size); if(fread(grf_filelist,1,list_size,fp) != list_size) { ShowError("Couldn't read all grf_filelist element of %s \n", grfname); } @@ -678,7 +679,7 @@ static bool grfio_parse_restable_row(const char* row) static void grfio_resourcecheck(void) { char restable[256]; - char *ptr, *buf; + char *buf; int size; FILE* fp; int i = 0; @@ -705,6 +706,7 @@ static void grfio_resourcecheck(void) buf = (char *)grfio_reads("data\\resnametable.txt", &size); if( buf != NULL ) { + char *ptr; buf[size] = '\0'; ptr = buf;