diff --git a/src/fileio.cpp b/src/fileio.cpp index 99d2f17..d442b59 100644 --- a/src/fileio.cpp +++ b/src/fileio.cpp @@ -6,6 +6,8 @@ #include "fileio.h" +_TCHAR g_root[_MAX_PATH]; + FILEIO::FILEIO() { // 初期化 @@ -20,25 +22,28 @@ FILEIO::~FILEIO(void) } } -bool FILEIO::Fopen(_TCHAR *filename, int mode) +bool FILEIO::Fopen(const _TCHAR *filename, int mode) { + _TCHAR path[_MAX_PATH]; + _stprintf_s(path, _MAX_PATH, _T("%s%s"), filename, g_root); + if(fp != NULL) { Fclose(); } fp = NULL; if(mode == FILEIO_READ_BINARY) { - fp = fopen(filename, _T("rb")); + fp = fopen(path, _T("rb")); } else if(mode == FILEIO_WRITE_BINARY) { - fp = fopen(filename, _T("wb")); + fp = fopen(path, _T("wb")); } else if(mode == FILEIO_READ_WRITE_BINARY) { - fp = fopen(filename, _T("r+b")); + fp = fopen(path, _T("r+b")); } else if(mode == FILEIO_READ_ASCII) { - fp = fopen(filename, _T("r")); + fp = fopen(path, _T("r")); } else if(mode == FILEIO_WRITE_ASCII) { - fp = fopen(filename, _T("w")); + fp = fopen(path, _T("w")); } else if(mode == FILEIO_READ_WRITE_ASCII) { - fp = fopen(filename, _T("r+w")); + fp = fopen(path, _T("r+w")); } return (fp != NULL); } diff --git a/src/fileio.h b/src/fileio.h index 37d994a..363c76d 100644 --- a/src/fileio.h +++ b/src/fileio.h @@ -29,7 +29,7 @@ public: FILEIO(); ~FILEIO(); - bool Fopen(_TCHAR *filename, int mode); + bool Fopen(const _TCHAR *filename, int mode); void Fclose(); uint32 Fseek(long offset, int origin); uint32 Ftell(); diff --git a/src/sdlmain.cpp b/src/sdlmain.cpp index d3ee81e..bc4c198 100644 --- a/src/sdlmain.cpp +++ b/src/sdlmain.cpp @@ -5,7 +5,6 @@ extern "C" { void ags_setAntialiasedStringMode(int on); } -_TCHAR g_root[_MAX_PATH]; SDL_Window* g_window; int main(int argc, char *argv[]) diff --git a/src/sys/ags.cpp b/src/sys/ags.cpp index 834e651..3a8cfa6 100644 --- a/src/sys/ags.cpp +++ b/src/sys/ags.cpp @@ -8,7 +8,6 @@ #include "crc32.h" #include "../fileio.h" -extern _TCHAR g_root[_MAX_PATH]; extern SDL_Window* g_window; #define SET_TEXT(n, x1, y1, x2, y2, f) { \ @@ -76,10 +75,7 @@ AGS::AGS(NACT* parent) : nact(parent) memset(gaiji, 0, sizeof(gaiji)); FILEIO* fio = new FILEIO(); - _TCHAR file_path[_MAX_PATH]; - _stprintf_s(file_path, _MAX_PATH, _T("%sGAIJI.DAT"), g_root); - - if(fio->Fopen(file_path, FILEIO_READ_BINARY)) { + if(fio->Fopen(_T("GAIJI.DAT"), FILEIO_READ_BINARY)) { int d1, d2; while((d1 = fio->Fgetc()) != EOF) { d2 = fio->Fgetc(); diff --git a/src/sys/dri.cpp b/src/sys/dri.cpp index 7169b0e..b2dd9e1 100644 --- a/src/sys/dri.cpp +++ b/src/sys/dri.cpp @@ -8,20 +8,17 @@ #include "crc32.h" #include "../fileio.h" -extern _TCHAR g_root[_MAX_PATH]; - uint8* DRI::load(_TCHAR path[], int page, int* size) { - _TCHAR base_path[_MAX_PATH], file_path[_MAX_PATH]; + _TCHAR base_path[_MAX_PATH]; _tcscpy_s(base_path, _MAX_PATH, path); FILEIO* fio = new FILEIO(); // ページの位置を取得 base_path[0] = _T('A'); - _stprintf_s(file_path, _MAX_PATH, _T("%s%s"), g_root, base_path); - if(!fio->Fopen(file_path, FILEIO_READ_BINARY)) { + if(!fio->Fopen(base_path, FILEIO_READ_BINARY)) { delete fio; return NULL; } @@ -52,9 +49,8 @@ uint8* DRI::load(_TCHAR path[], int page, int* size) // A??.DAT以外にリンクされている場合はファイルを開き直す if(disk_index != 1) { base_path[0] = _T('A') + disk_index - 1; - _stprintf_s(file_path, _MAX_PATH, _T("%s%s"), g_root, base_path); fio->Fclose(); - if(!fio->Fopen(file_path, FILEIO_READ_BINARY)) { + if(!fio->Fopen(base_path, FILEIO_READ_BINARY)) { delete fio; return NULL; } diff --git a/src/sys/nact.cpp b/src/sys/nact.cpp index f3bf142..bc343db 100644 --- a/src/sys/nact.cpp +++ b/src/sys/nact.cpp @@ -10,8 +10,6 @@ #include "dri.h" #include "../fileio.h" -extern _TCHAR g_root[_MAX_PATH]; - // 初期化 NACT::NACT() @@ -28,10 +26,7 @@ NACT::NACT() // AG00.DAT読み込み FILEIO* fio = new FILEIO(); - _TCHAR file_path[_MAX_PATH]; - _stprintf_s(file_path, _MAX_PATH, _T("%sAG00.DAT"), g_root); - - if(fio->Fopen(file_path, FILEIO_READ_BINARY)) { + if(fio->Fopen(_T("AG00.DAT"), FILEIO_READ_BINARY)) { int d0, d1, d2, d3; char string[MAX_CAPTION]; fio->Fgets(string); diff --git a/src/sys/nact_crc32.cpp b/src/sys/nact_crc32.cpp index e11d07c..fb7afbe 100644 --- a/src/sys/nact_crc32.cpp +++ b/src/sys/nact_crc32.cpp @@ -8,17 +8,11 @@ #include "crc32.h" #include "../fileio.h" -extern _TCHAR g_root[_MAX_PATH]; - uint32 NACT::calc_crc32() { uint32 crc = 0; FILEIO* fio = new FILEIO(); - - _TCHAR file_path[_MAX_PATH]; - _stprintf_s(file_path, _MAX_PATH, _T("%sADISK.DAT"), g_root); - - if(fio->Fopen(file_path, FILEIO_READ_BINARY)) { + if(fio->Fopen(_T("ADISK.DAT"), FILEIO_READ_BINARY)) { uint32 table[256]; for(int i = 0; i < 256; i++) { uint32 c = i; @@ -43,9 +37,7 @@ uint32 NACT::calc_crc32() #if defined(_SYSTEM2) if(crc == CRC32_SDPS) { // Super D.P.S縺ョ蝣エ蜷医�ッBDISK.DAT縺ョCRC繧貞叙繧� - _stprintf_s(file_path, _MAX_PATH, _T("%sBDISK.DAT"), g_root); - - if(fio->Fopen(file_path, FILEIO_READ_BINARY)) { + if(fio->Fopen(_T("BDISK.DAT"), FILEIO_READ_BINARY)) { uint32 table[256]; for(int i = 0; i < 256; i++) { uint32 c = i; diff --git a/src/sys/nact_sys1.cpp b/src/sys/nact_sys1.cpp index 810093c..6b4b3f8 100644 --- a/src/sys/nact_sys1.cpp +++ b/src/sys/nact_sys1.cpp @@ -67,7 +67,6 @@ } \ } -extern _TCHAR g_root[_MAX_PATH]; extern HWND g_hwnd; void NACT::opening() @@ -953,13 +952,12 @@ void NACT::cmd_l() if(1 <= index && index <= 26) { // ASLEEP_A.DAT - ASLEEP_Z.DAT - _TCHAR path[_MAX_PATH], file_path[_MAX_PATH]; + _TCHAR path[_MAX_PATH]; _tcscpy_s(path, _MAX_PATH, _T("ASLEEP_A.DAT")); path[7] = _T('A') + index - 1; - _stprintf_s(file_path, _MAX_PATH, _T("%s%s"), g_root, path); FILEIO* fio = new FILEIO(); - if(fio->Fopen(file_path, FILEIO_READ_BINARY)) { + if(fio->Fopen(path, FILEIO_READ_BINARY)) { fio->Fseek(112, FILEIO_SEEK_SET); int next_page = fio->Fgetw() - 1; @@ -1108,13 +1106,12 @@ void NACT::cmd_q() if(1 <= index && index <= 26) { // ASLEEP_A.DAT - ASLEEP_Z.DAT - _TCHAR path[_MAX_PATH], file_path[_MAX_PATH]; + _TCHAR path[_MAX_PATH]; _tcscpy_s(path, _MAX_PATH, _T("ASLEEP_A.DAT")); path[7] = _T('A') + index - 1; - _stprintf_s(file_path, _MAX_PATH, _T("%s%s"), g_root, path); FILEIO* fio = new FILEIO(); - if(fio->Fopen(file_path, FILEIO_WRITE_BINARY)) { + if(fio->Fopen(path, FILEIO_WRITE_BINARY)) { uint8 buffer[9510]; int p = 0; diff --git a/src/sys/nact_sys2.cpp b/src/sys/nact_sys2.cpp index be0a4ab..81eb9da 100644 --- a/src/sys/nact_sys2.cpp +++ b/src/sys/nact_sys2.cpp @@ -55,7 +55,6 @@ } \ } -extern _TCHAR g_root[_MAX_PATH]; extern HWND g_hwnd; void NACT::cmd_calc() @@ -1024,13 +1023,12 @@ void NACT::cmd_l() if(1 <= index && index <= 26) { // ASLEEP_A.DAT - ASLEEP_Z.DAT - _TCHAR path[_MAX_PATH], file_path[_MAX_PATH]; + _TCHAR path[_MAX_PATH]; _tcscpy_s(path, _MAX_PATH, _T("ASLEEP_A.DAT")); path[7] = _T('A') + index - 1; - _stprintf_s(file_path, _MAX_PATH, _T("%s%s"), g_root, path); FILEIO* fio = new FILEIO(); - if(fio->Fopen(file_path, FILEIO_READ_BINARY)) { + if(fio->Fopen(path, FILEIO_READ_BINARY)) { fio->Fseek(112, FILEIO_SEEK_SET); int next_page = fio->Fgetw() - 1; @@ -1221,13 +1219,12 @@ void NACT::cmd_q() if(1 <= index && index <= 26) { // ASLEEP_A.DAT - ASLEEP_Z.DAT - _TCHAR path[_MAX_PATH], file_path[_MAX_PATH]; + _TCHAR path[_MAX_PATH]; _tcscpy_s(path, _MAX_PATH, _T("ASLEEP_A.DAT")); path[7] = _T('A') + index - 1; - _stprintf_s(file_path, _MAX_PATH, _T("%s%s"), g_root, path); FILEIO* fio = new FILEIO(); - if(fio->Fopen(file_path, FILEIO_WRITE_BINARY)) { + if(fio->Fopen(path, FILEIO_WRITE_BINARY)) { uint8 buffer[9510]; int p = 0; diff --git a/src/sys/nact_sys3.cpp b/src/sys/nact_sys3.cpp index afae9ed..69cb3ae 100644 --- a/src/sys/nact_sys3.cpp +++ b/src/sys/nact_sys3.cpp @@ -919,11 +919,8 @@ void NACT::cmd_l() if(index == 0) { // 特殊セーブ - _TCHAR file_path[_MAX_PATH]; - _stprintf_s(file_path, _MAX_PATH, _T("%sASLEEP.DAT"), g_root); - FILEIO* fio = new FILEIO(); - if(fio->Fopen(file_path, FILEIO_READ_BINARY)) { + if(fio->Fopen(_T("ASLEEP.DAT"), FILEIO_READ_BINARY)) { // U01 - U20 for(int i = 21; i <= 40; i++) { var[i] = fio->Fgetw(); @@ -937,13 +934,12 @@ void NACT::cmd_l() delete fio; } else if(1 <= index && index <= 26) { // ASLEEP_A.DAT - ASLEEP_Z.DAT - _TCHAR path[_MAX_PATH], file_path[_MAX_PATH]; + _TCHAR path[_MAX_PATH]; _tcscpy_s(path, _MAX_PATH, _T("ASLEEP_A.DAT")); path[7] = _T('A') + index - 1; - _stprintf_s(file_path, _MAX_PATH, _T("%s%s"), g_root, path); FILEIO* fio = new FILEIO(); - if(fio->Fopen(file_path, FILEIO_READ_BINARY)) { + if(fio->Fopen(path, FILEIO_READ_BINARY)) { fio->Fseek(112, FILEIO_SEEK_SET); int next_page = fio->Fgetw() - 1; @@ -1031,13 +1027,12 @@ void NACT::cmd_l() delete fio; } else if(101 <= index && index <= 126) { // ASLEEP_A.DAT - ASLEEP_Z.DAT - _TCHAR path[_MAX_PATH], file_path[_MAX_PATH]; + _TCHAR path[_MAX_PATH]; _tcscpy_s(path, _MAX_PATH, _T("ASLEEP_A.DAT")); path[7] = _T('A') + index - 101; - _stprintf_s(file_path, _MAX_PATH, _T("%s%s"), g_root, path); FILEIO* fio = new FILEIO(); - if(fio->Fopen(file_path, FILEIO_READ_BINARY)) { + if(fio->Fopen(path, FILEIO_READ_BINARY)) { fio->Fseek(112 + 16, FILEIO_SEEK_SET); var[0] = fio->Fgetw(); fio->Fclose(); @@ -1211,11 +1206,8 @@ void NACT::cmd_q() if(index == 0) { // 特殊セーブ - _TCHAR file_path[_MAX_PATH]; - _stprintf_s(file_path, _MAX_PATH, _T("%sASLEEP.DAT"), g_root); - FILEIO* fio = new FILEIO(); - if(fio->Fopen(file_path, FILEIO_WRITE_BINARY)) { + if(fio->Fopen(_T("ASLEEP.DAT"), FILEIO_WRITE_BINARY)) { // U01 - U20 for(int i = 21; i <= 40; i++) { fio->Fputw(var[i]); @@ -1229,13 +1221,12 @@ void NACT::cmd_q() delete fio; } else if(1 <= index && index <= 26) { // ASLEEP_A.DAT - ASLEEP_Z.DAT - _TCHAR path[_MAX_PATH], file_path[_MAX_PATH]; + _TCHAR path[_MAX_PATH]; _tcscpy_s(path, _MAX_PATH, _T("ASLEEP_A.DAT")); path[7] = _T('A') + index - 1; - _stprintf_s(file_path, _MAX_PATH, _T("%s%s"), g_root, path); FILEIO* fio = new FILEIO(); - if(fio->Fopen(file_path, FILEIO_WRITE_BINARY)) { + if(fio->Fopen(path, FILEIO_WRITE_BINARY)) { uint8 buffer[9510]; int p = 0;