After some time I decided to give the cvs another shot with gcc 3.4 so I downloaded the sources of CS, CEL and CB CVS today again.
Part I: the patches
The compile attempt gave me the same errors as the last time. But now I decided to make diff files to document the changes:
src/common/util/genqueue.cpp: this corrects a spelling error
56,57c56,57
< qstart = others.qstart;
< qend = others.qend;
---
> qstart = other.qstart;
> qend = other.qend;
src/common/util/genqueue.h: same as above
87c87
< return ((qend + 1) % size) == qstart;
---
> return ((qend + 1) % qsize) == qstart;
src/client/modehandler.cpp: this is a fix for gcc 3.4 since it doesnt allow variables as case events
907c907
< case event.COMBAT_BLOCK:
---
> case 1:
913c913
< case event.COMBAT_DAMAGE:
---
> case 2:
919c919
< case event.COMBAT_DEATH:
---
> case 5:
925c925
< case event.COMBAT_DODGE:
---
> case 0:
931c931
< case event.COMBAT_MISS:
---
> case 3:
937c937
< case event.COMBAT_OUTOFRANGE:
---
> case 4:
949c949
< case event.COMBAT_BLOCK:
---
> case 1:
955c955
< case event.COMBAT_DAMAGE:
---
> case 2:
961c961
< case event.COMBAT_DEATH:
---
> case 5:
967c967
< case event.COMBAT_DODGE:
---
> case 0:
973c973
< case event.COMBAT_MISS:
---
> case 3:
979c979
< case event.COMBAT_OUTOFRANGE:
---
> case 4:
991c991
< case event.COMBAT_BLOCK:
---
> case 1:
997c997
< case event.COMBAT_DAMAGE:
---
> case 2:
1003c1003
< case event.COMBAT_DEATH:
---
> case 5:
1009c1009
< case event.COMBAT_DODGE:
---
> case 0:
1015c1015
< case event.COMBAT_MISS:
---
> case 3:
1021c1021
< case event.COMBAT_OUTOFRANGE:
---
> case 4:
src/server/npcmanager.cpp: same as above
327c327
< case list.CMD_DRDATA:
---
> case 1:
368c368
< case list.CMD_ATTACK:
---
> case 2:
Now PS compiled with a bunch of warnings, most of them about boolean operations always being false
Part II: the bugs
After I started the client it froze at the splash screen. But I discovered that you need to click into the window to let the main menu appear. And here is the next bug: If you click on a (invisible) edit field, the screen freezes too including the cursor. You can enter the values like name and password, but the game window shows no reaction. You have to click next to the edit field to unlock the it again. Same goes for the server select list and it\'s scroll arrows.
Then after logging in and entering the npcroom I noticed that this issue continues if you click in the text display area of the chat window or the edit field where you enter the text. Most other widgets or windows are not affected by this, but I didn\'t test them all.
Then there is the info window, which doesnt fade if you enter it with the cursor. Same for the inventory window, but there is only the title bar fading.
Edit:removed some typos