The International Simutrans Forum

 

Author Topic: r1447 and after versions - Cannot play GDI version on Windows 98SE  (Read 4675 times)

0 Members and 1 Guest are viewing this topic.

Offline z9999

  • Devotees (Inactive)
  • *
  • Posts: 848
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.)

Code: [Select]
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
 
 
« Last Edit: August 19, 2008, 03:36:34 AM by z9999 »

Offline prissi

  • Developer
  • Administrator
  • *
  • Posts: 11097
  • Languages: De,EN,JP
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

Offline z9999

  • Devotees (Inactive)
  • *
  • Posts: 848
Of course, I have it.

Offline z9999

  • Devotees (Inactive)
  • *
  • Posts: 848
Re: r1447 and after versions - Cannot play GDI version on Windows 98SE
« Reply #3 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.
« Last Edit: August 19, 2008, 03:43:43 AM by z9999 »

Offline prissi

  • Developer
  • Administrator
  • *
  • Posts: 11097
  • Languages: De,EN,JP
Re: r1447 and after versions - Cannot play GDI version on Windows 98SE
« Reply #4 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

Offline z9999

  • Devotees (Inactive)
  • *
  • Posts: 848
Re: r1447 and after versions - Cannot play GDI version on Windows 98SE
« Reply #5 on: August 19, 2008, 10:59:37 AM »
Thank you.

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