The International Simutrans Forum

Development => Patches & Projects => Topic started by: z9999 on August 18, 2008, 08:48:51 PM

Title: r1447 and after versions - Cannot play GDI version on Windows 98SE
Post by: z9999 on August 18, 2008, 08:48:51 PM
Well, I reported this in the old forum.

99.16 and after versions - Can I play GDI version on Windows 98SE  ?
http://archive.forum.simutrans.com/topic/07775.0/index.html

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)
   SOURCES += simsys_w32_png.cc
   OS_OPT   ?= -mno-cygwin -DPNG_STATIC -DZLIB_STATIC -march=pentium
-  STD_LIBS ?= -lz -lmingw32 -lgdi32 -lwinmm
+  STD_LIBS ?=  -lunicows -lz -lmingw32 -lgdi32 -lwinmm
endif

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



Title: Re: r1447 and after versions - Cannot play GDI version on Windows 98SE (VPC)
Post by: prissi on August 18, 2008, 09:24:52 PM
Simutrans works well on Windows98 using unicows.dll (which is reqired for japanese etc.) Find it from Microsoft: http://www.microsoft.com/downloads/details.aspx?FamilyId=73BA7BD7-ED06-4F0D-80A4-2A7EEAEE17E2&displaylang=en
Title: Re: r1447 and after versions - Cannot play GDI version on Windows 98SE (VPC)
Post by: z9999 on August 18, 2008, 09:36:07 PM
Of course, I have it.
Title: Re: r1447 and after versions - Cannot play GDI version on Windows 98SE
Post by: z9999 on August 19, 2008, 03:39:36 AM
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.
http://en.wikipedia.org/wiki/Microsoft_Layer_for_Unicode
Quote
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.
Title: Re: r1447 and after versions - Cannot play GDI version on Windows 98SE
Post by: prissi on August 19, 2008, 09:51:43 AM
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
Title: Re: r1447 and after versions - Cannot play GDI version on Windows 98SE
Post by: z9999 on August 19, 2008, 10:59:37 AM
Thank you.

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