Beta test the new forum at
Simutrans Sites
Know our official sites. Find tools and resources for Simutrans.

r1447 and after versions - Cannot play GDI version on Windows 98SE

Started by z9999, August 18, 2008, 08:48:51 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


Well, I reported this in the old forum.

99.16 and after versions - Can I play GDI version on Windows 98SE  ?

I checked the version again, and I found that r1446 works but r1447 doesn't work.
The difference is makefile.

So, I changed makefile of r1956 a little and compiled it with MinGW.
Yes, it works on Windows 98SE , again.  :)

How do you think about this ? 
Will VC++ version also work again ? ( Sorry, I can't test this.)

Index: Makefile
--- Makefile(r1956)
+++ Makefile(copy)
@@ -51,7 +51,7 @@
ifeq ($(OSTYPE),mingw)
   OS_OPT   ?= -mno-cygwin -DPNG_STATIC -DZLIB_STATIC -march=pentium
-  STD_LIBS ?= -lz -lmingw32 -lgdi32 -lwinmm
+  STD_LIBS ?=  -lunicows -lz -lmingw32 -lgdi32 -lwinmm

ALLEGRO_CONFIG ?= allegro-config
@@ -326,7 +326,6 @@
   SOURCES += simsys_w$(COLOUR_DEPTH).cc
   SOURCES += music/
   SOURCES += sound/
-  STD_LIBS ?=  -lunicows



Well, I tested on real Windows 98SE machine, the result is the same.
( So, I deleted "VPC" from title. )

Release version:
- 99.15 and before versions ... work
- 99.16 and after versions ... don't work
Trunk versions:
- r1446 and before versions ... work
- r1447 and after versions ... don't work

And this is from wikipedia. It says.
By adding the UNICOWS.LIB to the link command-line before KERNEL32.LIB, ADVAPI32.LIB, or any other supported Win32 system link library, the linker will resolve referenced symbols with the one provided by UNICOWS.LIB instead.

And another strange thing is 99.16 and after versions start without unicows.dll.
( Of cause,  as I said I can't play these versions, even if there was unicows.dll. )

But my patched version and 99.15 and before versions don't start without unicows.dll.
It says "Error while loading DLL 'unicows.dll'! The application will terminate now".

So, I think that 99.16 and after versions don't call unicows.dll.


Ok, when I tested it, I was also compiling under Win98 and then things went smooth. However, my Mingw on Win98SE (actually a japanese version) was old, perhaps this helped.

I understand the problem, but unicows linking always caused in my fast test the libSDL to fail. I will add an extra if before testing for mingw/cygwin


Thank you.

Then, will next official release version work on Windows 98 again ?