What have you found for these years?

2012-06-22

LoL and case sensitivity

Yet again, yes, yet again the problem is case sensitivity.

The story is that, I am convinced to try League of Legends,
but failed badly to run it on my mac. First I tried CrossOver Games,
and it doesn't run. It's known not to work on the website.

And later I found a mac wrapper built by boompje, which although
needs to run a few scripts to patch it like forever, but well, sort of
work, at least I can login without problem now.

But the problem is, I can never see some of the icons, and once
launching a game, it would say that some language or locale file
cannot be opened, and then the game enters another loading
dialog, lastly, crashed with a bug report dialog.

Finally I decided to click on send the report. Good, failed to send.
Then I tried to look into the log files. ok, here's some of the error
messages:

ALWAYS| Attempting to load fontconfig file for EN_US (DATA/Menu/fontconfig_EN_US.txt).
ERROR| RADS::Common::CRT::fopen_s: No such file or directory

Heck! The file is called fontconfig_en_US.txt, ok? And WTF is this?

ERROR| RADS::Common::CRT::fopen_s: ("C:/rads/projects/lol_game_client/releases/0.0.0.103/deploy/data/menu/IMEConfig.xml", "rb") failed: No such file or directory

Perfect, now the program tries to load data/menu/IMEConfig.xml, in
LOWER case. Actually, the program cannot work to here before I fixed
some problems. I found there's DATA and Data in my directory. I have
no choice, so I moved the contents in Data to DATA, because that's the
name the program tried to read in the first place. Then I made two
symlinks from DATA to Data and data. Also one from Menu to menu.

Still no luck. I guess some files are decompressed from other places.
It would be tough to find out where they are and decompress them and
rename them properly and compress back. I am not going to try to fix
that unless LoL is an open source product, which would ease the pain
to fix such bugs.

My last attempt. It seems I really want to try LoL, since usually I would
give up here, considering I've already put too much effort to make it run.

That is create a disk image which is *case insensitive*, and put LoL there.
First I created a 2.2G disk because I don't have more space left, even
though I've already deleted mongodb which is 4.4G and I don't know why.
Then I failed because the entire LoL needs more than 2.2G. Then I created
a 3G disk image... that really hurts, maybe I should try 2.5G first, but anyway.

This time, still no luck!

But I do remember there's a "repair client" button in the launcher, which
*might* help here, because I guess the launcher can run a number of scripts
to fix this broken LoL implementation.

Finally, it works!

Though there's some problems regarding rendering. I guess I can accept
that given it seems it's really quite hard to make it run on a mac! And I'm
too tired to try tweaking Wine configuration by myself....

One issue though. I put my left-bottom hot corner as for entering screen
savor. Whenever I'm trying to move back to home, I move my cursor to
that end, and then screen savor would be triggered. Argggghhh..
I guess I need to turn it off whenever I want to play LoL. Since there's no
full screen support at the moment it seems.

Anyway, now it works... by creating a disk image, eating up a lot of space.
Hope this could be improved. I am not sure if the developers would take
my concern into consideration though. They might say:

You're not the majority!

* * *

So here's my list for applications that known NOT TO WORK in a *real*
(case-sensitive) file system:

0. Adobe Flash (no known way to fix this)
1. Dungeons of Dredmor (from Humble Indie Bundle) (could be fixed)
2. Cave Story+ (from Humble Indie Bundle) (hard to fix!)
3. League of Legends (extremely hard to fix!)

Programmers! Please keep your cases consistent! There's no point to
make portability hard by randomly choosing upper or lower cases!

Thank you for the consideration!!

Cheers,

0 retries:

Post a Comment

All texts are licensed under CC Attribution 3.0