| |
spider-j
Registered: Oct 2004 Posts: 498 |
Release id #216054 : GTUltra V1.0.3
Better take this to discussions to not flood the comments.
Quote:Can you run it from the win32 folder?
Running the exe through WINE works fine. I'd prefer a native linux build though. |
|
... 159 posts hidden. Click here to view all posts.... |
| |
Jason Page
Registered: Sep 2015 Posts: 87 |
>Yes, windows is usually resisting development activities. :)
I'm a bit of a dick. I piped the output to a file, and I can see printf's... I'll be doing that more from now on!
I'm a bit confused!...
>But, point being is that appFileName is not used as appFileName, it is used as cfgFileName, hence you will search the palettes relative to where the configuration file is located.
Yes - the gtpalette folder should be within the same folder as gtUltra.exe AND the .cfg file.. Which is why the createfile code removes the gtultra.cfg and replaces it with gtpalette.. And then from there it adds "/"+filename of palette[n] to load each one..
That's what should happen - and it does under windows. |
| |
tlr
Registered: Sep 2003 Posts: 1787 |
Quoting Jason PageYes - the gtpalette folder should be within the same folder as gtUltra.exe AND the .cfg file.. Which is why the createfile code removes the gtultra.cfg and replaces it with gtpalette.. And then from there it adds "/"+filename of palette[n] to load each one..
That's what should happen - and it does under windows.
The config file is under $HOME/.goattrk/ on linux as it has always been. The binary isn't in the same directory. dirname(cfgFileName) != dirname(appFileName) for all platforms.
But, it still doesn't work if I copy it there. There are several issues. You still got a "\\" in loadPalettes(). You do "rb" of the palette (a text file) in loadPalette() and the hand parse that in readPaletteData() which is bound to fail on some configurations (CR/LF vs LF for instance). |
| |
Jason Page
Registered: Sep 2015 Posts: 87 |
I wasn't aware that the cfg wasn't in the same location as the exe in linux...hmm
I do rb, as the default file is stored as binary in the large datafile. So reading the text file should be taken care of, once it actually loads into RAM.
I do a check for LF, etc - it's the code that I use to parse the default palette, which I modified to work with the binary data (it doesn't check for "\n", for example - it checks for 0xd... But we're going off track, I think.. take a look at sgets - I added a comment when I wrote it:
/*
Had to modify this to handle \n manually due to not being able to open "rt".
I add a 0 at the end of the loaded file buffer as a terminator.
I then check for <=0xd for a carriage return to cover 0xd,0xa combinations, rather than =='\n'
*/
This is what I get when running on windows: So the parsing of the binary works.
https://www.dropbox.com/s/ks63dxl2hx1q159/GoatTracker%20Ultra%2.. |
| |
theK
Registered: Oct 2020 Posts: 46 |
For linux to get to folders there is "./gtpalettes/0_default.gtp". |
| |
tlr
Registered: Sep 2003 Posts: 1787 |
Quote: I wasn't aware that the cfg wasn't in the same location as the exe in linux...hmm
I do rb, as the default file is stored as binary in the large datafile. So reading the text file should be taken care of, once it actually loads into RAM.
I do a check for LF, etc - it's the code that I use to parse the default palette, which I modified to work with the binary data (it doesn't check for "\n", for example - it checks for 0xd... But we're going off track, I think.. take a look at sgets - I added a comment when I wrote it:
/*
Had to modify this to handle \n manually due to not being able to open "rt".
I add a 0 at the end of the loaded file buffer as a terminator.
I then check for <=0xd for a carriage return to cover 0xd,0xa combinations, rather than =='\n'
*/
This is what I get when running on windows: So the parsing of the binary works.
https://www.dropbox.com/s/ks63dxl2hx1q159/GoatTracker%20Ultra%2..
I did see the comment, but I'm thinking unless you tested it on the relevant configurations, there are many things that can go wrong.
When I put the gtpalettes dir with the config file and fixed the "\\" it seemed to do loadPalette() on all files, but no palettes appeared in the gui. No error messages. |
| |
Jason Page
Registered: Sep 2015 Posts: 87 |
@theK
Thanks. I'll change the code to do this path... But are you seeing the same problem as tlr - the palette's still aren't changing?
Possibly worth seeing if the actual palette load is failing in loadPalette() (it also has a nice comment saying that I knew the RT thing was going to be a pain..:-) )
FILE *handle = fopen(paletteName, "rb"); // Have to use RB instead of RT as the default file is within the binary wad..grrr
if (handle == NULL)
{ |
| |
tlr
Registered: Sep 2003 Posts: 1787 |
After some more printf() debugging I can see that it's sgets() that does not work correctly with LF line endings.
If I crudely change this:
if (**strp == 0xd){
s[i] = '\n';
into this:
if (**strp == 0xa){
s[i] = '\n'; it works with LF (but of course not with CR/LF anymore).
Should be easy enough to verify on your platform with an LF only file as you do a binary read. |
| |
theK
Registered: Oct 2020 Posts: 46 |
Yeah, as tlr, I get the "/gtultra
Unable to read directory: No such file or directory"
This indicates that it's searching in the wrong folders. :-( |
| |
Jason Page
Registered: Sep 2015 Posts: 87 |
what confuses me is that I know that these files have 0xd,0xa as LF,CF - I can see it in a hex editor, and I'm loading in binary, so this should stay the same. So the code that is there already should handle this correctly...What have I missed here?! |
| |
tlr
Registered: Sep 2003 Posts: 1787 |
Quote: what confuses me is that I know that these files have 0xd,0xa as LF,CF - I can see it in a hex editor, and I'm loading in binary, so this should stay the same. So the code that is there already should handle this correctly...What have I missed here?!
You are missing that they are text files. git cloning text files will yield native line endings on the platform the clone is performed on. |
Previous - 1 | ... | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 - Next |