Re: FileRead_findFirstのアーカイブ時の挙動 ( No.1 ) |
- 名前:管理人 日時:2018/01/27 01:02
 |
Re: FileRead_findFirstのアーカイブ時の挙動 ( No.2 ) |
- 名前:8127(解決) 日時:2018/01/27 01:23
管理人様
対応速すぎです(笑)
ゲームをリリースしようとしてアーカイブ圧縮したら突然動かなくなったので焦っていました。
音声ですが、できればoggがいいのは知っていますが素材サイト様の大量の素材を全部変換するのは
骨が折れるのでmp3のままで使わせていただきます。
これからもどうぞよろしくお願いいたします。
|
Re: FileRead_findFirstのアーカイブ時の挙動 ( No.3 ) |
- 名前:8127 日時:2018/01/27 01:58
すみません、前とほぼ同じようなバグがまだあるのですが、
data\script\1000,タイトル.scriというファイルを用意します。
・アーカイブにしない場合
FileRead_findFirst("data\script\*.scri"); で見つかります。
・scriptフォルダをscript.dxaにした場合
同様に見つかります。
しかし、
・dataフォルダを丸ごとdata.dxaにした場合
はファイルが見つからないと言われてしまいます。
|
Re: FileRead_findFirstのアーカイブ時の挙動 ( No.4 ) |
- 名前:管理人 日時:2018/01/27 23:29
うーん、手元で同じ状況を再現してみましたが、問題なく見つかりました
> FileRead_findFirst("data\script\*.scri"); で見つかります。
こちらは正しくは "data\\script\\*.scri" だと思うのですが、それが原因ということはないでしょうか?
|
Re: FileRead_findFirstのアーカイブ時の挙動 ( No.5 ) |
- 名前:8127 日時:2018/01/28 14:30
すみません、言及不足でした。
再現しましたが、かなり限定的な条件でしか発生しないようです。
まず、data\\script\\1000,タイトル.scri という空のファイルを用意します。
非アーカイブの状態を[A]、
scriptフォルダをアーカイブした状態(data\\script.dxa)を[B]、
dataフォルダをアーカイブした状態(data.dxa)を[C]とします。
(アーカイブは全て暗号化なし)
このときに以下のプログラムを実行すると[A][B]と[C]で挙動が変わります。
[A][B]:成功成功成功
[c] :成功成功失敗 と出力
ちなみに、search()で探しに行っているdata\\script\\storyフォルダは無くてかまいません。
#include "DxLib.h"
void init() {
ChangeWindowMode(true); //ウインドウモードにする
SetWindowSize(640, 480);
if (DxLib_Init() == -1) // DXライブラリ初期化処理
{
return; // エラーが起きたら直ちに終了
}
SetDrawScreen(DX_SCREEN_BACK); //描画先を裏画面に設定
}
void test() {
int handle = FileRead_open("data\\script\\1000,タイトル.scri");
if (handle == 0) {
printfDx("失敗\n");
}
else {
FileRead_close(handle);
printfDx("成功\n");
}
}
void search() {
FILEINFO fi;
int handle = FileRead_findFirst("data\\script\\story\\*,*.scri", &fi);
if (handle != -1) {
FileRead_findClose(handle);
}
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow) {
init();
//
test(); //成功するはず
test(); //二回連続でも成功するはず
search();
test(); //searchの後は?
ScreenFlip();
WaitKey();
DxLib_End(); // DXライブラリ使用の終了処理
return 0; // ソフトの終了
}
 |
Re: FileRead_findFirstのアーカイブ時の挙動 ( No.6 ) |
- 名前:管理人 日時:2018/01/29 01:13
|
Re: FileRead_findFirstのアーカイブ時の挙動 ( No.7 ) |
- 名前:8127(解決) 日時:2018/01/29 02:01
dataフォルダを圧縮したところ圧縮する前と同じ挙動になりました。
管理人様のおかげでゲームもリリースできそうです。
ありがとうございました。
|