Tile World 2 64-bit patch
#1
I recently tried looking at Tile World 2, and noticed that its 64-bit build would not handle TWS files properly. I tried to port a Tile World patch to fix this, because this bug was present in the last upstream Tile World release as well. I had been using the patch on TW 1 for a while and helped it get into the Debian Linux package for TW. My patched TW2 seems to handle TWS files fine now but has a lot of other problems including interface lockups that I'm not entirely sure is not due to the patch. I would suspect that it isn't though.

Another issue I had was a build failure on my system in one of the C++ files regarding a const cast. It compiled cleanly when I added the -fpermissive flag to g++ and the patch includes a change to add that flag to the build commands. I'm not entirely sure that this flag will work if you build using a different compiler or an old version of g++ though since I do not have an alternative to test it on.

Overall though, I do like the interface changes to Tile World 2 and would use it if the aforementioned bugs did not bedevil me. I am sure that once it has been fixed that it will be superior. Kudos to Madhav!

I'd include the patch in here but I'm not sure how to add an attachment...
Reply
#2
"It's already on my list."

I'm getting tired of saying that, so am thinking of releasing TW 2.0.1 sometime soon with the following fixes:-

TW2-specific:-

- "Stuck Alt" after Alt+Tab on Windows 7

- "Stuck arrow key" after level completion on Linux

- Additional console window on Windows

- Possible UI color issues when using some desktop themes

- const_cast problem in code which somehow compiled with GCC 3.4.x

TW1 + TW2:-

- TWS handling in 64-bit builds

- Toggle wall initialization bug in Lynx mode

- Potentially advantageous incorrectness in mouse emulation in MS mode

- Package with CCLP2 and CCLP3 included

... which is what I intended to do one year ago. But catching up with real-life after spending a lot of time on CCLP3 and TW2 took its toll, and I never got around to it. It's been such a long time since then, that I keep thinking that now it's time enough for a TW 2.1 with larger improvements. On the other hand, it's been such a long time since then, that I should be realistic and stop sitting on easy fixes which people are asking for.

@tensorpudding, let me know if there's anything else you found that's not on the list above.

Thanks.

- Madhav.
Reply
#3
Just to mention two little things that might not take a lot of effort to change:

-pressing pgdn / pgup / enter / esc to get rid of the ccx story pages

-more great death messages (perhaps have a thread here asking for suggestions). Some could even be rarer than others.
Reply
#4
If you already have addressed the TWS problem and the const_cast issue in your own builds, the other problems I've had thusfar are:

- In the levelset selection and solution selection screens, the text seems to inherit the white from the rest of the interface but the background is also white, so you can't read the text. I tried fiddling with the .ui in QtDesigner but I do not understand Qt or QtDesign much, my experience is with GTK+.

- I had another issue that looked like UI freezeups but it actually seems to go away if I hit alt. I'll have to work longer with it to make sure that it's not something else.

- There's also the keyboard shortcuts that are in the menus but don't seem to work, like L for levelsets in the Game menu. Since it doesn't work and there is no way to open the menu from the keyboard because Alt is captured by the SDL bits, it is pretty inconvenient.
Reply
#5
Quote:Just to mention two little things that might not take a lot of effort to change:

-pressing pgdn / pgup / enter / esc to get rid of the ccx story pages

-more great death messages (perhaps have a thread here asking for suggestions). Some could even be rarer than others.
"Already on my list." Tongue

But I will refrain for now - to avoid going back into that loop of: "just one more thing" <-> procrastination.

The messages will eventually be moved out into a file that people can edit and share.

- Madhav.
Reply
#6
Quote:- In the levelset selection and solution selection screens, the text seems to inherit the white from the rest of the interface but the background is also white, so you can't read the text.
That's the "UI color issues when using some desktop themes" issue listed above. I should mention here that this and the const_cast issue were first brought to my attention by Sebastian Hungerecker.

Quote:- I had another issue that looked like UI freezeups but it actually seems to go away if I hit alt. I'll have to work longer with it to make sure that it's not something else.
Should be fixed by the other "stuck key" changes...

Quote:- There's also the keyboard shortcuts that are in the menus but don't seem to work, like L for levelsets in the Game menu. Since it doesn't work and there is no way to open the menu from the keyboard because Alt is captured by the SDL bits, it is pretty inconvenient.
Not sure if this is related to the above as well...



- Madhav.
Reply
#7
I've experienced the "stuck arrow key" in Windows. Do not know exactly what the circumstances are, but I have to close and reopen TW in order to fix it.

Also, if a death message comes up, and I don't hit Space to make it go away, but Alt (I think) it brings up the window control message, which I can make go away with Esc. However, after that I can never get TW to respond to any keystrokes; I have to close with the mouse and reopen. Not sure if this is the same Alt key problem you mentioned.

I also personally prefer the stderr.txt method rather than putting messages to the command window.

All work is very appreciated! Let me know if I can help with the background color calculations.
"Bad news, bad news came to me where I sleep / Turn turn turn again" - Bob Dylan
Reply
#8
I think the major fault in TW2 is the lack of a password system... Since I'll soon have to switch to a 64 bit O.S. I'm really looking forward to a new version of TW with it! Wink

Quote:The messages will eventually be moved out into a file that people can edit and share.


That's a great idea! I also think that having different messages for different situations (just like in MSCC - i.e. one message if Chip dies on a bomb, one if Chip steps on a fire tile without boots and so on) would be even greater.

Thanks for all your great work on updating TW!
ChipHome5


Exploring π is like exploring the universe....
Reply
#9
Some more for the list:

When the window has been resized, the playing area moves once the level begins. This doesn't happen when watching a replay. Not a big deal, but affects recording avis sometimes.

When playing in lynx, could the cursor disappear?

And sometimes a key gets stuck, even though I don't use Linux.

And, just for the record, concerning "potentially advantageous incorrectness in mouse emulation", the first time I scored 78 on Annoying Wall, it was using the mouse and a route that doesn't work in actual CC, so there are practical cases where this potential is fulfilled.

-Miika
Reply
#10
Here's a more complete list of what I would like to see in the next version of TW:

Important Features

-Passwords (when you open the 'Go To...' dialog you are asked for a password which is not displayed anywhere!)

-Keystroke buffer (for MS ruleset) - and this makes the difference for an MSCC-only player like I was. Pressing an arrow key and being able to release it knowing Chip will make one move further away simplify the gameplay a lot. When you pass to TW you have to press arrow keys longer in order to make multi-tiles moves.

-Package for Mac OSX (which is actually missing).

Secondary Features

-Full data reset emulation for MS ruleset (somewhat related also to keystroke buffer).

-Ability to add MIDI or MP3 files as background music.

-Death messages like the ones in MSCC.

Enhancements

-Ability to save TWS directly into AVI.

Bugs

-(Minor) The game menu should remain active also when you've started to play the level.

Thanks again for what you've done so far on TW 2!
ChipHome5


Exploring π is like exploring the universe....
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)