|
Goombert
|
|
Reply #1 Posted on: January 01, 2014, 10:47:06 pm |
|
|
Location: Cappuccino, CA Joined: Jan 2013
Posts: 2993
|
Hey slayer, this looks like the XP bug, sometimes I get this error myself too. C:/enigma/ProgramData.eobjs should be C:/ProgramData/Roaming/ENIGMA/.eobjs Try closing and restarting from enigma.exe, and build an empty game first, this ensures the engine gets compiled safely so you don't take a chance and have to do it all over. If it still errors the same, please locate the file enigma-dev/CompilerSource/workdir.cpp and visit http://www.pastie.org and send me the contents so that I can examine it to make sure you have the correct version, and if not I'll give you a patch to fix it, hopefully.
|
|
|
Logged
|
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.
|
|
|
slayer 64
|
|
Reply #2 Posted on: January 02, 2014, 05:38:08 pm |
|
|
Joined: Jan 2014
Posts: 7
|
i read another topic and the solution was to change something in workdir.cpp. i did that and a game compiled further than before. how do i know everything is being reset? i close lateral gm and reopen it so i think that's doing it. all my enigma stuff is in C:/enigma/ here's the workdir.cpp file http://pastie.org/8594719
|
|
|
Logged
|
|
|
|
Goombert
|
|
Reply #3 Posted on: January 02, 2014, 06:04:35 pm |
|
|
Location: Cappuccino, CA Joined: Jan 2013
Posts: 2993
|
That is partially because you changed it wrong, it should be the following.
std::string workdir = "C:/ProgramData/ENIGMA"; ProgramData is known as the %ALLUSERSPROFILE% on Windows Vista and later, on XP we just emulate this by manually creating that path. But you do not set it to C:/enigma or it will overwrite parts of ENIGMA. This ProgramData path is only meant to be a user directory where the binaries are outputted to.
The only reason this issue exists is because GNU make does not like spaces in its path, and they refuse to fix it. This is caused by %ALLUSERSPROFILE% directing to "Documents SPACE and SPACE Settings" on Windows XP.
|
|
« Last Edit: January 02, 2014, 06:07:05 pm by Robert B Colton »
|
Logged
|
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.
|
|
|
|
Goombert
|
|
Reply #5 Posted on: January 02, 2014, 07:18:48 pm |
|
|
Location: Cappuccino, CA Joined: Jan 2013
Posts: 2993
|
As I said the issue is only on XP, and is entirely GNU make's fault. http://stackoverflow.com/questions/9838384/can-gnu-make-handle-filenames-with-spacesTry the process again but make sure it does not end up writing any binaries into C:/ENIGMA or wherever ENIGMA's source is, otherwise it will get confused. You can also try setting it to this. std::string workdir = "./"; But I do not know if that will work. However I was just able to get it working for someone over IRC who is also on XP, and having the same issue, following the steps you just took a second ago.
|
|
|
Logged
|
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.
|
|
|
Goombert
|
|
Reply #6 Posted on: January 02, 2014, 07:37:45 pm |
|
|
Location: Cappuccino, CA Joined: Jan 2013
Posts: 2993
|
Wait hold up, I am sorry we still encountered the same issue as you, the problem was every file was prefixed ENIGMALIBINCLUDE.h, the reason is because the code I told you didn't include the final backslash.
std::string workdir = "C:/ProgramData/ENIGMA"; Should be...
std::string workdir = "C:/ProgramData/ENIGMA/"; Try that and it should work.
Edit: We finally got it all the way through now and he is able to build a game when the final backslash is added, should work for you too now.
|
|
« Last Edit: January 02, 2014, 07:46:08 pm by Robert B Colton »
|
Logged
|
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.
|
|
|
|
Goombert
|
|
Reply #8 Posted on: January 02, 2014, 08:32:20 pm |
|
|
Location: Cappuccino, CA Joined: Jan 2013
Posts: 2993
|
Please try as I said in the last post, not "./" but the following instead, I guarantee you it will work.
std::string workdir = "C:/ProgramData/ENIGMA/";
|
|
|
Logged
|
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.
|
|
|
|
|
Goombert
|
|
Reply #11 Posted on: January 03, 2014, 03:37:02 am |
|
|
Location: Cappuccino, CA Joined: Jan 2013
Posts: 2993
|
That... should not be happening. Where did you download ENIGMA from? That version appears out of date. Because that line of code does not exist in the latest download on our site. switch (sound_resources[i]->loaded) Is line 194 in ALsystem.cpp I was the one who coded that PS: Also, I am very sorry I had you going in circles there over a missing backslash, really really sorry, I hate this bug and there is just nothing to do about it.
|
|
« Last Edit: January 03, 2014, 03:52:09 am by Robert B Colton »
|
Logged
|
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.
|
|
|
|