Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
No maps are available in the "new game" dialogue
#11
I have went ahead and attempted some compiler flags to see if it will fix inode64 support with 32bit binaries. However if it breaks the 32bit support in any way (or is unable to compile the game) I will not ship the changes out and you'll be left with the proposed second partition solution.

It'll be a couple of hours, then I'll link you to the binary.
"great writers are indecent people, they live unfairly, saving the best part for paper.
good human beings save the world, so that bastards like me can keep creating art, become immortal.
if you read this after I am dead it means I made it." ― Charles Bukowski
Reply
#12
(04-29-2018, 05:10 PM)Eric.B Wrote: I have went ahead and attempted some compiler flags to see if it will fix inode64 support with 32bit binaries. However if it breaks the 32bit support in any way (or is unable to compile the game) I will not ship the changes out and you'll be left with the proposed second partition solution.

It'll be a couple of hours, then I'll link you to the binary.

Eric, since you already use stat64() for the calls where you care about the return values, I have a feeling it will probably work.

Thanks for looking into this!
Reply
#13
(04-29-2018, 04:44 PM)Eric.B Wrote: I am assuming you're using XFS or something similar? If so then most likely the 64bit Inode is the issue. And it will be for any 32bit game/program you use that uses dirent's readdir.

Yes, this is a recurring problem.  It is not really practical to have 32 bit inodes on a modern system due to the size of filesystems Sad

To fix these kinds of problems, you can either set a compiler flag to make readdir() return 64 bit values, or call readdir64 from a 32 bit program.

Gear City would not be the first game on Steam against which I filed a bug on 64 bit inodes
Reply
#14
(04-29-2018, 07:46 PM)toaster maven Wrote: Yes, this is a recurring problem.  It is not really practical to have 32 bit inodes on a modern system due to the size of filesystems Sad
Well, for a single partition correct. Creating a specific partition using 32bit inodes for these 32bit programs would solve your issue though.


Quote:To fix these kinds of problems, you can either set a compiler flag to make readdir() return 64 bit values,
Which I already have done, I have not tested it yet however to make sure it works: http://gearcity.info/Downloads/Beta/GearCityStart2 Just overwrite the current GearCityStart file.

The main concern is that it doesn't break all the other stuff implemented in the game for everyone else. Hence why I will need to do some testing. I will get it some in the next couple of days. But at the very least you can let me know if that resolves the issues for you.


Quote:or call readdir64 from a 32 bit program.
This won't happen.

Quote:
Gear City would not be the first game on Steam against which I filed a bug on 64 bit inodes
Well, as I mentioned previously, I will be working on a 64bit version post release due to apple completely gutting 32bit support from their OS. I have to rewrite much of the engine anyway due to this because I will lose access to about half my libraries on that platform.
"great writers are indecent people, they live unfairly, saving the best part for paper.
good human beings save the world, so that bastards like me can keep creating art, become immortal.
if you read this after I am dead it means I made it." ― Charles Bukowski
Reply
#15
Eric, I attempted both fixes.

Mounting a small loopback filesystem just for GearCity does indeed resolve my problem. So we have confirmation that 64 bit inodes are the issue.

Unfortunately, the updated GearCityStart2 binary did not improve the behavior on the normal filesystem. Still no maps appear.

I guess I will just have to muddle along with the loopback until you have a 64 bit version out. Thanks a lot for looking into this!
Reply
#16
Glad you got it working. Just makes the OSX revamp even more important since 64bit Inodes are slowly becoming more of a thing now.
"great writers are indecent people, they live unfairly, saving the best part for paper.
good human beings save the world, so that bastards like me can keep creating art, become immortal.
if you read this after I am dead it means I made it." ― Charles Bukowski
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)