Hi! I'm getting very odd behavior. I think it might be a bug.
I'm using this script for calling FileOpenDialog, Lite-C;
OPENFILENAME ofd;
STRING FileName = str_create(#255);
FileName.chars=0; VERY IMPORTANT
FillMemory(&ofd,sizeof(ofd),0);
ofd.Flags=OFN_PATHMUSTEXISTOFN_FILEMUSTEXIST;
ofd.lStructSize=sizeof(ofd);
ofd.hwndOwner=hWnd;
ofd.lpstrFilter =All Files0.00;
ofd.lpstrInitialDir = _chr(work_dir);
ofd.lpstrFile=FileName.chars;
ofd.nMaxFile=255;
ofd.lpstrTitle=Open;
if (GetOpenFileName(&ofd))
{
process_entry(ofd.lpstrFile);
}
Now, I have this load-level script.
if (key_f6) // Quick Save Level map data
{
var filehandle;
int j = 0;
STRING* temp = "#255";
str_cpy(save_dir,"");
filehandle = file_open_write("objects\\lab.txt"); // opens the file address.txt to read
and bla bla bla
If I load file, WITHOUT USING FILE DIALOG TO OPEN SOME FILE PRIOR TO IT, file "lab.txt" is loaded from root directory.
If I load file, BY LOADING SOME FILE WITH FILE DIALOG FROM FOLDER "objects", file "lab.txt" is loaded from "objects" directory.
Now, changing save_dir does absolutely nothing. I may delete it, or change to some value. It looks like absolutely irrelevant?
Also, I have this at script start:
#define PRAGMA_PATH "D:\quntummist\lab\game";
#define PRAGMA_PATH "D:\quntummist\objects\props";
#define PRAGMA_PATH "D:\quntummist\objects\walls";
#define PRAGMA_PATH "objects";
#define PRAGMA_PATH "D:\quntummist\objects";