(svn r1249) -Fix: new files in the last commit had double content
authortruelight
Thu, 23 Dec 2004 15:08:53 +0000
changeset 782 3c1414ad5fbc
parent 781 9717ff353c17
child 783 9b51f5714d15
(svn r1249) -Fix: new files in the last commit had double content
docs/Readme_OS2.txt
openttd.tgt
os/os2/openttd.wpj
os2.c
strgen/strgen.tgt
--- a/docs/Readme_OS2.txt	Thu Dec 23 14:46:16 2004 +0000
+++ b/docs/Readme_OS2.txt	Thu Dec 23 15:08:53 2004 +0000
@@ -46,51 +46,3 @@
 
 - Owen Rudge, 18th December 2004
 
-OpenTTD: OS/2 version  ** CURRENTLY INCOMPLETE **
-=====================
-
-OpenTTD has been ported to work on OS/2 4.x or later (including eComStation). At the moment, it does not work properly, but it
-can compile and work to an extent.
-
-Compiler
---------
-
-Open Watcom 1.3 was used to build OpenTTD (earlier versions will NOT work). See http://www.openwatcom.org/ to download it.
-It may also be possible to build OpenTTD under OS/2: I attempted this before using Open Watcom, but found the tools available
-for OS/2 at the time to be a bit more tricky to get working.
-
-Due to complexities in my set-up, I actually used the Win32 version of Open Watcom to initially compile OpenTTD for OS/2. There
-should be no reason of course why the OS/2 version cannot be used.
-
-Libraries Required
-------------------
-
-The following libraries are required. To build zlib and libpng, I simply added the required files (watch out for sample
-programs, etc) to an IDE project file and built a library:
-
-- zlib
-  http://www.zlib.org/ - contains a makefile for OS/2, but is out of date and uses EMX
-
-- libpng
-  http://www.libpng.org/ - contains an EMX/gcc makefile
-
-- SDL for OS/2
-  I used ftp://ftp.netlabs.org/pub/sdl/SDL-1.2.7-src-20040908a.zip - take SDL.dll and SDL.lib from the src/ directory.
-
-Note that to use the compiled program, you also need FSLib.dll (from src/ in the SDL zip) and a version of the Scitech
-Display Drivers or its later incarnation (see www.scitech.com).
-
-Compiling
----------
-
-To compile, open the os/os2/openttd.wpj file in the IDE and build the openttd.exe target.
-
-TODO: compilation of language files properly
-
-
-** THESE DOCS ARE INCOMPLETE FOR THE MOMENT, WILL BE COMPLETED SOON **
-
-If you have any questions, please contact me (owen@owenrudge.net) and I'll try to help you out
-
-- Owen Rudge, 18th December 2004
-
--- a/openttd.tgt	Thu Dec 23 14:46:16 2004 +0000
+++ b/openttd.tgt	Thu Dec 23 15:08:53 2004 +0000
@@ -2089,2094 +2089,3 @@
 1
 1
 0
-40
-targetIdent
-0
-MProject
-1
-MComponent
-0
-2
-WString
-4
-OEXE
-3
-WString
-5
-op2en
-1
-0
-0
-4
-MCommand
-0
-5
-MCommand
-0
-6
-MItem
-11
-openttd.exe
-7
-WString
-4
-OEXE
-8
-WVList
-8
-9
-MRState
-10
-WString
-7
-OS2LINK
-11
-WString
-25
-?????No debug information
-1
-1
-12
-MRState
-13
-WString
-7
-OS2LINK
-14
-WString
-14
-?????Debug All
-1
-0
-15
-MVState
-16
-WString
-7
-OS2LINK
-17
-WString
-11
-?????Stack:
-1
-18
-WString
-7
-2097152
-0
-19
-MVState
-20
-WString
-7
-OS2LINK
-21
-WString
-18
-?????Libraries(,):
-1
-22
-WString
-24
-png.lib zlib.lib sdl.lib
-0
-23
-MCState
-24
-WString
-7
-OS2LINK
-25
-WString
-13
-?????Map file
-0
-0
-26
-MVState
-27
-WString
-7
-OS2LINK
-28
-WString
-11
-?????Stack:
-0
-29
-WString
-7
-4194304
-0
-30
-MVState
-31
-WString
-7
-OS2LINK
-32
-WString
-18
-?????Libraries(,):
-0
-33
-WString
-24
-png.lib zlib.lib sdl.lib
-0
-34
-MVState
-35
-WString
-7
-OS2LINK
-36
-WString
-17
-o????Description:
-0
-37
-WString
-7
-OpenTTD
-0
-38
-WVList
-4
-39
-ActionStates
-40
-WString
-5
-&Make
-41
-WVList
-0
-42
-ActionStates
-43
-WString
-4
-&Run
-44
-WVList
-0
-45
-ActionStates
-46
-WString
-6
-&Debug
-47
-WVList
-0
-48
-ActionStates
-49
-WString
-7
-Sam&ple
-50
-WVList
-0
--1
-1
-1
-0
-51
-WPickList
-95
-52
-MItem
-3
-*.c
-53
-WString
-4
-COBJ
-54
-WVList
-14
-55
-MVState
-56
-WString
-3
-WCC
-57
-WString
-28
-?????Disable Warning message
-1
-58
-WString
-3
-202
-0
-59
-MVState
-60
-WString
-3
-WCC
-61
-WString
-23
-?????Macro definitions:
-1
-62
-WString
-50
-ENABLE_NETWORK=1 WITH_ZLIB=1 WITH_PNG=1 WITH_SDL=1
-0
-63
-MRState
-64
-WString
-3
-WCC
-65
-WString
-20
-?????Pack structures
-1
-0
-66
-MRState
-67
-WString
-3
-WCC
-68
-WString
-21
-?????4 byte alignment
-1
-1
-69
-MRState
-70
-WString
-3
-WCC
-71
-WString
-21
-?????No optimizations
-1
-0
-72
-MRState
-73
-WString
-3
-WCC
-74
-WString
-24
-?????Space optimizations
-1
-1
-75
-MRState
-76
-WString
-3
-WCC
-77
-WString
-29
-?????No debugging information
-1
-1
-78
-MRState
-79
-WString
-3
-WCC
-80
-WString
-24
-?????Full debugging info
-1
-0
-81
-MVState
-82
-WString
-3
-WCC
-83
-WString
-28
-?????Disable Warning message
-0
-84
-WString
-3
-202
-0
-85
-MVState
-86
-WString
-3
-WCC
-87
-WString
-23
-?????Macro definitions:
-0
-88
-WString
-50
-ENABLE_NETWORK=1 WITH_ZLIB=1 WITH_PNG=1 WITH_SDL=1
-0
-89
-MRState
-90
-WString
-3
-WCC
-91
-WString
-20
-?????Pack structures
-0
-0
-92
-MRState
-93
-WString
-3
-WCC
-94
-WString
-21
-?????4 byte alignment
-0
-1
-95
-MRState
-96
-WString
-3
-WCC
-97
-WString
-29
-?????No debugging information
-0
-1
-98
-MRState
-99
-WString
-3
-WCC
-100
-WString
-28
-?????Line number information
-0
-0
-101
-WVList
-0
--1
-1
-1
-0
-102
-MItem
-4
-ai.c
-103
-WString
-4
-COBJ
-104
-WVList
-0
-105
-WVList
-0
-52
-1
-1
-0
-106
-MItem
-10
-ai_build.c
-107
-WString
-4
-COBJ
-108
-WVList
-0
-109
-WVList
-0
-52
-1
-1
-0
-110
-MItem
-8
-ai_new.c
-111
-WString
-4
-COBJ
-112
-WVList
-0
-113
-WVList
-0
-52
-1
-1
-0
-114
-MItem
-15
-ai_pathfinder.c
-115
-WString
-4
-COBJ
-116
-WVList
-0
-117
-WVList
-0
-52
-1
-1
-0
-118
-MItem
-11
-ai_shared.c
-119
-WString
-4
-COBJ
-120
-WVList
-0
-121
-WVList
-0
-52
-1
-1
-0
-122
-MItem
-14
-aircraft_cmd.c
-123
-WString
-4
-COBJ
-124
-WVList
-0
-125
-WVList
-0
-52
-1
-1
-0
-126
-MItem
-14
-aircraft_gui.c
-127
-WString
-4
-COBJ
-128
-WVList
-0
-129
-WVList
-0
-52
-1
-1
-0
-130
-MItem
-9
-airport.c
-131
-WString
-4
-COBJ
-132
-WVList
-0
-133
-WVList
-0
-52
-1
-1
-0
-134
-MItem
-13
-airport_gui.c
-135
-WString
-4
-COBJ
-136
-WVList
-0
-137
-WVList
-0
-52
-1
-1
-0
-138
-MItem
-8
-aystar.c
-139
-WString
-4
-COBJ
-140
-WVList
-0
-141
-WVList
-0
-52
-1
-1
-0
-142
-MItem
-12
-bridge_gui.c
-143
-WString
-4
-COBJ
-144
-WVList
-0
-145
-WVList
-0
-52
-1
-1
-0
-146
-MItem
-16
-callback_table.c
-147
-WString
-4
-COBJ
-148
-WVList
-0
-149
-WVList
-0
-52
-1
-1
-0
-150
-MItem
-11
-clear_cmd.c
-151
-WString
-4
-COBJ
-152
-WVList
-0
-153
-WVList
-0
-52
-1
-1
-0
-154
-MItem
-9
-command.c
-155
-WString
-4
-COBJ
-156
-WVList
-0
-157
-WVList
-0
-52
-1
-1
-0
-158
-MItem
-9
-console.c
-159
-WString
-4
-COBJ
-160
-WVList
-0
-161
-WVList
-0
-52
-1
-1
-0
-162
-MItem
-14
-console_cmds.c
-163
-WString
-4
-COBJ
-164
-WVList
-0
-165
-WVList
-0
-52
-1
-1
-0
-166
-MItem
-11
-dedicated.c
-167
-WString
-4
-COBJ
-168
-WVList
-0
-169
-WVList
-0
-52
-1
-1
-0
-170
-MItem
-14
-disaster_cmd.c
-171
-WString
-4
-COBJ
-172
-WVList
-0
-173
-WVList
-0
-52
-1
-1
-0
-174
-MItem
-10
-dock_gui.c
-175
-WString
-4
-COBJ
-176
-WVList
-0
-177
-WVList
-0
-52
-1
-1
-0
-178
-MItem
-12
-dummy_land.c
-179
-WString
-4
-COBJ
-180
-WVList
-0
-181
-WVList
-0
-52
-1
-1
-0
-182
-MItem
-9
-economy.c
-183
-WString
-4
-COBJ
-184
-WVList
-0
-185
-WVList
-0
-52
-1
-1
-0
-186
-MItem
-8
-engine.c
-187
-WString
-4
-COBJ
-188
-WVList
-0
-189
-WVList
-0
-52
-1
-1
-0
-190
-MItem
-12
-engine_gui.c
-191
-WString
-4
-COBJ
-192
-WVList
-0
-193
-WVList
-0
-52
-1
-1
-0
-194
-MItem
-8
-fileio.c
-195
-WString
-4
-COBJ
-196
-WVList
-0
-197
-WVList
-0
-52
-1
-1
-0
-198
-MItem
-5
-gfx.c
-199
-WString
-4
-COBJ
-200
-WVList
-0
-201
-WVList
-0
-52
-1
-1
-0
-202
-MItem
-11
-graph_gui.c
-203
-WString
-4
-COBJ
-204
-WVList
-0
-205
-WVList
-0
-52
-1
-1
-0
-206
-MItem
-14
-industry_cmd.c
-207
-WString
-4
-COBJ
-208
-WVList
-0
-209
-WVList
-0
-52
-1
-1
-0
-210
-MItem
-14
-industry_gui.c
-211
-WString
-4
-COBJ
-212
-WVList
-0
-213
-WVList
-0
-52
-1
-1
-0
-214
-MItem
-11
-intro_gui.c
-215
-WString
-4
-COBJ
-216
-WVList
-0
-217
-WVList
-0
-52
-1
-1
-0
-218
-MItem
-11
-landscape.c
-219
-WString
-4
-COBJ
-220
-WVList
-0
-221
-WVList
-0
-52
-1
-1
-0
-222
-MItem
-10
-main_gui.c
-223
-WString
-4
-COBJ
-224
-WVList
-0
-225
-WVList
-0
-52
-1
-1
-0
-226
-MItem
-5
-map.c
-227
-WString
-4
-COBJ
-228
-WVList
-0
-229
-WVList
-0
-52
-1
-1
-0
-230
-MItem
-5
-md5.c
-231
-WString
-4
-COBJ
-232
-WVList
-0
-233
-WVList
-0
-52
-1
-1
-0
-234
-MItem
-9
-minilzo.c
-235
-WString
-4
-COBJ
-236
-WVList
-0
-237
-WVList
-0
-52
-1
-1
-0
-238
-MItem
-6
-misc.c
-239
-WString
-4
-COBJ
-240
-WVList
-0
-241
-WVList
-0
-52
-1
-1
-0
-242
-MItem
-10
-misc_cmd.c
-243
-WString
-4
-COBJ
-244
-WVList
-0
-245
-WVList
-0
-52
-1
-1
-0
-246
-MItem
-10
-misc_gui.c
-247
-WString
-4
-COBJ
-248
-WVList
-0
-249
-WVList
-0
-52
-1
-1
-0
-250
-MItem
-11
-music_gui.c
-251
-WString
-4
-COBJ
-252
-WVList
-0
-253
-WVList
-0
-52
-1
-1
-0
-254
-MItem
-9
-namegen.c
-255
-WString
-4
-COBJ
-256
-WVList
-0
-257
-WVList
-0
-52
-1
-1
-0
-258
-MItem
-9
-network.c
-259
-WString
-4
-COBJ
-260
-WVList
-0
-261
-WVList
-0
-52
-1
-1
-0
-262
-MItem
-16
-network_client.c
-263
-WString
-4
-COBJ
-264
-WVList
-0
-265
-WVList
-0
-52
-1
-1
-0
-266
-MItem
-14
-network_data.c
-267
-WString
-4
-COBJ
-268
-WVList
-0
-269
-WVList
-0
-52
-1
-1
-0
-270
-MItem
-18
-network_gamelist.c
-271
-WString
-4
-COBJ
-272
-WVList
-0
-273
-WVList
-0
-52
-1
-1
-0
-274
-MItem
-13
-network_gui.c
-275
-WString
-4
-COBJ
-276
-WVList
-0
-277
-WVList
-0
-52
-1
-1
-0
-278
-MItem
-16
-network_server.c
-279
-WString
-4
-COBJ
-280
-WVList
-0
-281
-WVList
-0
-52
-1
-1
-0
-282
-MItem
-13
-network_udp.c
-283
-WString
-4
-COBJ
-284
-WVList
-0
-285
-WVList
-0
-52
-1
-1
-0
-286
-MItem
-8
-newgrf.c
-287
-WString
-4
-COBJ
-288
-WVList
-0
-289
-WVList
-0
-52
-1
-1
-0
-290
-MItem
-10
-news_gui.c
-291
-WString
-4
-COBJ
-292
-WVList
-0
-293
-WVList
-0
-52
-1
-1
-0
-294
-MItem
-11
-oldloader.c
-295
-WString
-4
-COBJ
-296
-WVList
-0
-297
-WVList
-0
-52
-1
-1
-0
-298
-MItem
-11
-order_cmd.c
-299
-WString
-4
-COBJ
-300
-WVList
-0
-301
-WVList
-0
-52
-1
-1
-0
-302
-MItem
-11
-order_gui.c
-303
-WString
-4
-COBJ
-304
-WVList
-0
-305
-WVList
-0
-52
-1
-1
-0
-306
-MItem
-5
-os2.c
-307
-WString
-4
-COBJ
-308
-WVList
-0
-309
-WVList
-0
-52
-1
-1
-0
-310
-MItem
-10
-pathfind.c
-311
-WString
-4
-COBJ
-312
-WVList
-0
-313
-WVList
-0
-52
-1
-1
-0
-314
-MItem
-12
-player_gui.c
-315
-WString
-4
-COBJ
-316
-WVList
-0
-317
-WVList
-0
-52
-1
-1
-0
-318
-MItem
-9
-players.c
-319
-WString
-4
-COBJ
-320
-WVList
-0
-321
-WVList
-0
-52
-1
-1
-0
-322
-MItem
-7
-queue.c
-323
-WString
-4
-COBJ
-324
-WVList
-0
-325
-WVList
-0
-52
-1
-1
-0
-326
-MItem
-10
-rail_cmd.c
-327
-WString
-4
-COBJ
-328
-WVList
-0
-329
-WVList
-0
-52
-1
-1
-0
-330
-MItem
-10
-rail_gui.c
-331
-WString
-4
-COBJ
-332
-WVList
-0
-333
-WVList
-0
-52
-1
-1
-0
-334
-MItem
-10
-road_cmd.c
-335
-WString
-4
-COBJ
-336
-WVList
-0
-337
-WVList
-0
-52
-1
-1
-0
-338
-MItem
-10
-road_gui.c
-339
-WString
-4
-COBJ
-340
-WVList
-0
-341
-WVList
-0
-52
-1
-1
-0
-342
-MItem
-13
-roadveh_cmd.c
-343
-WString
-4
-COBJ
-344
-WVList
-0
-345
-WVList
-0
-52
-1
-1
-0
-346
-MItem
-13
-roadveh_gui.c
-347
-WString
-4
-COBJ
-348
-WVList
-0
-349
-WVList
-0
-52
-1
-1
-0
-350
-MItem
-10
-saveload.c
-351
-WString
-4
-COBJ
-352
-WVList
-0
-353
-WVList
-0
-52
-1
-1
-0
-354
-MItem
-12
-screenshot.c
-355
-WString
-4
-COBJ
-356
-WVList
-0
-357
-WVList
-0
-52
-1
-1
-0
-358
-MItem
-5
-sdl.c
-359
-WString
-4
-COBJ
-360
-WVList
-0
-361
-WVList
-0
-52
-1
-1
-0
-362
-MItem
-10
-settings.c
-363
-WString
-4
-COBJ
-364
-WVList
-0
-365
-WVList
-0
-52
-1
-1
-0
-366
-MItem
-14
-settings_gui.c
-367
-WString
-4
-COBJ
-368
-WVList
-0
-369
-WVList
-0
-52
-1
-1
-0
-370
-MItem
-10
-ship_cmd.c
-371
-WString
-4
-COBJ
-372
-WVList
-0
-373
-WVList
-0
-52
-1
-1
-0
-374
-MItem
-10
-ship_gui.c
-375
-WString
-4
-COBJ
-376
-WVList
-0
-377
-WVList
-0
-52
-1
-1
-0
-378
-MItem
-14
-smallmap_gui.c
-379
-WString
-4
-COBJ
-380
-WVList
-0
-381
-WVList
-0
-52
-1
-1
-0
-382
-MItem
-7
-sound.c
-383
-WString
-4
-COBJ
-384
-WVList
-0
-385
-WVList
-0
-52
-1
-1
-0
-386
-MItem
-8
-sprite.c
-387
-WString
-4
-COBJ
-388
-WVList
-0
-389
-WVList
-0
-52
-1
-1
-0
-390
-MItem
-13
-spritecache.c
-391
-WString
-4
-COBJ
-392
-WVList
-0
-393
-WVList
-0
-52
-1
-1
-0
-394
-MItem
-13
-station_cmd.c
-395
-WString
-4
-COBJ
-396
-WVList
-0
-397
-WVList
-0
-52
-1
-1
-0
-398
-MItem
-13
-station_gui.c
-399
-WString
-4
-COBJ
-400
-WVList
-0
-401
-WVList
-0
-52
-1
-1
-0
-402
-MItem
-8
-StdAfx.c
-403
-WString
-4
-COBJ
-404
-WVList
-0
-405
-WVList
-0
-52
-1
-1
-0
-406
-MItem
-9
-strings.c
-407
-WString
-4
-COBJ
-408
-WVList
-0
-409
-WVList
-0
-52
-1
-1
-0
-410
-MItem
-13
-subsidy_gui.c
-411
-WString
-4
-COBJ
-412
-WVList
-0
-413
-WVList
-0
-52
-1
-1
-0
-414
-MItem
-15
-terraform_gui.c
-415
-WString
-4
-COBJ
-416
-WVList
-0
-417
-WVList
-0
-52
-1
-1
-0
-418
-MItem
-9
-texteff.c
-419
-WString
-4
-COBJ
-420
-WVList
-0
-421
-WVList
-0
-52
-1
-1
-0
-422
-MItem
-10
-town_cmd.c
-423
-WString
-4
-COBJ
-424
-WVList
-0
-425
-WVList
-0
-52
-1
-1
-0
-426
-MItem
-10
-town_gui.c
-427
-WString
-4
-COBJ
-428
-WVList
-0
-429
-WVList
-0
-52
-1
-1
-0
-430
-MItem
-11
-train_cmd.c
-431
-WString
-4
-COBJ
-432
-WVList
-0
-433
-WVList
-0
-52
-1
-1
-0
-434
-MItem
-11
-train_gui.c
-435
-WString
-4
-COBJ
-436
-WVList
-0
-437
-WVList
-0
-52
-1
-1
-0
-438
-MItem
-10
-tree_cmd.c
-439
-WString
-4
-COBJ
-440
-WVList
-0
-441
-WVList
-0
-52
-1
-1
-0
-442
-MItem
-5
-ttd.c
-443
-WString
-4
-COBJ
-444
-WVList
-0
-445
-WVList
-0
-52
-1
-1
-0
-446
-MItem
-18
-tunnelbridge_cmd.c
-447
-WString
-4
-COBJ
-448
-WVList
-0
-449
-WVList
-0
-52
-1
-1
-0
-450
-MItem
-15
-unmovable_cmd.c
-451
-WString
-4
-COBJ
-452
-WVList
-0
-453
-WVList
-0
-52
-1
-1
-0
-454
-MItem
-9
-vehicle.c
-455
-WString
-4
-COBJ
-456
-WVList
-0
-457
-WVList
-0
-52
-1
-1
-0
-458
-MItem
-13
-vehicle_gui.c
-459
-WString
-4
-COBJ
-460
-WVList
-0
-461
-WVList
-0
-52
-1
-1
-0
-462
-MItem
-10
-viewport.c
-463
-WString
-4
-COBJ
-464
-WVList
-0
-465
-WVList
-0
-52
-1
-1
-0
-466
-MItem
-11
-water_cmd.c
-467
-WString
-4
-COBJ
-468
-WVList
-0
-469
-WVList
-0
-52
-1
-1
-0
-470
-MItem
-8
-widget.c
-471
-WString
-4
-COBJ
-472
-WVList
-0
-473
-WVList
-0
-52
-1
-1
-0
-474
-MItem
-8
-window.c
-475
-WString
-4
-COBJ
-476
-WVList
-0
-477
-WVList
-0
-52
-1
-1
-0
--- a/os/os2/openttd.wpj	Thu Dec 23 14:46:16 2004 +0000
+++ b/os/os2/openttd.wpj	Thu Dec 23 15:08:53 2004 +0000
@@ -61,66 +61,3 @@
 0
 2
 8
-40
-projectIdent
-0
-VpeMain
-1
-WRect
-0
-40
-10320
-9920
-2
-MProject
-3
-MCommand
-0
-4
-MCommand
-0
-2
-5
-WFileName
-17
-..\..\openttd.tgt
-6
-WFileName
-23
-..\..\strgen\strgen.tgt
-7
-WVList
-2
-8
-VComponent
-9
-WRect
-0
-0
-5700
-4240
-0
-0
-10
-WFileName
-17
-..\..\openttd.tgt
-51
-52
-11
-VComponent
-12
-WRect
-690
-680
-5700
-4240
-0
-0
-13
-WFileName
-23
-..\..\strgen\strgen.tgt
-0
-2
-8
--- a/os2.c	Thu Dec 23 14:46:16 2004 +0000
+++ b/os2.c	Thu Dec 23 15:08:53 2004 +0000
@@ -529,534 +529,3 @@
 	mkdir(_path.scenario_dir);
 }
 
-#include "stdafx.h"
-#include "ttd.h"
-#include "table/strings.h"
-#include "hal.h"
-
-#include <direct.h>
-#include <unistd.h>
-#include <sys/stat.h>
-#include <time.h>
-#include <dos.h>
-
-#include <os2.h>
-
-#if defined(WITH_SDL)
-#include <SDL.h>
-#endif
-
-static char *_fios_path;
-static char *_fios_save_path;
-static char *_fios_scn_path;
-static FiosItem *_fios_items;
-static int _fios_count, _fios_alloc;
-
-static FiosItem *FiosAlloc()
-{
-	if (_fios_count == _fios_alloc) {
-		_fios_alloc += 256;
-		_fios_items = realloc(_fios_items, _fios_alloc * sizeof(FiosItem));
-	}
-	return &_fios_items[_fios_count++];
-}
-
-int compare_FiosItems (const void *a, const void *b) {
-	const FiosItem *da = (const FiosItem *) a;
-	const FiosItem *db = (const FiosItem *) b;
-	int r;
-
-	if (_savegame_sort_order < 2) // sort by date
-	r = da->mtime < db->mtime ? -1 : 1;
-	else
-		r = stricmp(da->title[0] ? da->title : da->name, db->title[0] ? db->title : db->name);
-
-	if (_savegame_sort_order & 1) r = -r;
-	return r;
-}
-
-
-// Get a list of savegames
-FiosItem *FiosGetSavegameList(int *num, int mode)
-{
-	FiosItem *fios;
-	DIR *dir;
-	struct dirent *dirent;
-	struct stat sb;
-	int sort_start;
-	char filename[MAX_PATH];
-
-	if (_fios_save_path == NULL) {
-		_fios_save_path = malloc(MAX_PATH);
-		strcpy(_fios_save_path, _path.save_dir);
-	}
-
-	if(_game_mode==GM_EDITOR)
-		_fios_path = _fios_scn_path;
-	else
-		_fios_path = _fios_save_path;
-
-	// Parent directory, only if not in root already.
-	if (_fios_path[1] != 0) {
-		fios = FiosAlloc();
-		fios->type = FIOS_TYPE_PARENT;
-		fios->mtime = 0;
-		sprintf(fios->title, ".. (Parent directory)");
-	}
-
-	// Show subdirectories first
-	dir = opendir(_fios_path[0] ? _fios_path : "C:\\");
-	if (dir != NULL) {
-		while ((dirent = readdir(dir))) {
-			sprintf (filename, "%s\\%s", _fios_path, dirent->d_name);
-			if (!stat(filename, &sb)) {
-				if (S_ISDIR(sb.st_mode)) {
-					if (dirent->d_name[0] != '.') {
-						fios = FiosAlloc();
-						fios->mtime = 0;
-						fios->type = FIOS_TYPE_DIR;
-						fios->title[0] = 0;
-						sprintf(fios->name, "%s\\ (Directory)", dirent->d_name);
-					}
-				}
-			}
-		}
-		closedir(dir);
-	}
-
-	{
-		/* XXX ugly global variables ... */
-		byte order = _savegame_sort_order;
-		_savegame_sort_order = 2; // sort ascending by name
-		qsort(_fios_items, _fios_count, sizeof(FiosItem), compare_FiosItems);
-		_savegame_sort_order = order;
-	}
-
-	// this is where to start sorting
-	sort_start = _fios_count;
-
-	/*      Show savegame files
-	 *      .SAV    OpenTTD saved game
-	 *      .SS1    Transport Tycoon Deluxe preset game
-	 *      .SV1    Transport Tycoon Deluxe (Patch) saved game
-	 *      .SV2    Transport Tycoon Deluxe (Patch) saved 2-player game
-	 */
-	dir = opendir(_fios_path[0] ? _fios_path : "C:\\");
-	if (dir != NULL) {
-		while ((dirent = readdir(dir))) {
-			sprintf (filename, "%s\\%s", _fios_path, dirent->d_name);
-			if (!stat(filename, &sb)) {
-				if (!S_ISDIR(sb.st_mode)) {
-					char *t = strrchr(dirent->d_name, '.');
-					if (t && !stricmp(t, ".sav")) { // OpenTTD
-						*t = 0; // cut extension
-						fios = FiosAlloc();
-						fios->type = FIOS_TYPE_FILE;
-						fios->mtime = sb.st_mtime;
-						fios->title[0] = 0;
-						ttd_strlcpy(fios->name, dirent->d_name, sizeof(fios->name));
-					} else if (mode == SLD_LOAD_GAME || mode == SLD_LOAD_SCENARIO) {
-						int ext = 0; // start of savegame extensions in _old_extensions[]
-						if (t && ((ext++, !stricmp(t, ".ss1")) || (ext++, !stricmp(t, ".sv1")) || (ext++, !stricmp(t, ".sv2"))) ) { // TTDLX(Patch)
-							*t = 0; // cut extension
-							fios = FiosAlloc();
-							fios->old_extension = ext-1;
-							fios->type = FIOS_TYPE_OLDFILE;
-							fios->mtime = sb.st_mtime;
-							ttd_strlcpy(fios->name, dirent->d_name, sizeof(fios->name));
-							GetOldSaveGameName(fios->title, filename);
-						}
-					}
-				}
-			}
-		}
-		closedir(dir);
-	}
-
-	qsort(_fios_items + sort_start, _fios_count - sort_start, sizeof(FiosItem), compare_FiosItems);
-
-	// Drives
-	{
-		unsigned save, disk, disk2, total;
-
-		/* save original drive */
-		_dos_getdrive(&save);
-
-		/* get available drive letters */
-
-		for (disk = 1; disk < 27; ++disk)
-		{
-			_dos_setdrive(disk, &total);
-			_dos_getdrive(&disk2);
-			
-			if (disk == disk2)
-			{
-				fios = FiosAlloc();
-				fios->type = FIOS_TYPE_DRIVE;
-				fios->title[0] = disk + 'A'-1;
-				fios->title[1] = ':';
-				fios->title[2] = 0;
-			}
-		}
-
-		_dos_setdrive(save, &total);
-	}
-
-	*num = _fios_count;
-	return _fios_items;
-}
-
-// Get a list of scenarios
-FiosItem *FiosGetScenarioList(int *num, int mode)
-{
-	FiosItem *fios;
-	DIR *dir;
-	struct dirent *dirent;
-	struct stat sb;
-	int sort_start;
-	char filename[MAX_PATH];
-
-	if (_fios_scn_path == NULL) {
-		_fios_scn_path = malloc(MAX_PATH);
-		strcpy(_fios_scn_path, _path.scenario_dir);
-	}
-	_fios_path = _fios_scn_path;
-
-	// Show subdirectories first
-	dir = opendir(_fios_path[0] ? _fios_path : "C:\\");
-	if (dir != NULL) {
-		while ((dirent = readdir(dir))) {
-			sprintf (filename, "%s\\%s", _fios_path, dirent->d_name);
-			if (!stat(filename, &sb)) {
-				if (S_ISDIR(sb.st_mode)) {
-					if (dirent->d_name[0] != '.') {
-						fios = FiosAlloc();
-						fios->mtime = 0;
-						fios->type = FIOS_TYPE_DIR;
-						fios->title[0] = 0;
-						sprintf(fios->name, "%s\\ (Directory)", dirent->d_name);
-					}
-				}
-			}
-		}
-		closedir(dir);
-	}
-
-	// this is where to start sorting
-	sort_start = _fios_count;
-
-	/*      Show scenario files
-	 *      .SCN    OpenTTD style scenario file
-	 *      .SV0    Transport Tycoon Deluxe (Patch) scenario
-	 *      .SS0    Transport Tycoon Deluxe preset scenario
-	 */
-	dir = opendir(_fios_path[0] ? _fios_path : "C:\\");
-	if (dir != NULL) {
-		while ((dirent = readdir(dir))) {
-			sprintf (filename, "%s\\%s", _fios_path, dirent->d_name);
-			if (!stat(filename, &sb)) {
-				if (!S_ISDIR(sb.st_mode)) {
-					char *t = strrchr(dirent->d_name, '.');
-					if (t && !stricmp(t, ".scn")) { // OpenTTD
-						*t = 0; // cut extension
-						fios = FiosAlloc();
-						fios->type = FIOS_TYPE_SCENARIO;
-						fios->mtime = sb.st_mtime;
-						fios->title[0] = 0;
-						ttd_strlcpy(fios->name, dirent->d_name, sizeof(fios->name)-3);
-					} else if (mode == SLD_LOAD_GAME || mode == SLD_LOAD_SCENARIO || mode == SLD_NEW_GAME) {
-						int ext = 3; // start of scenario extensions in _old_extensions[]
-						if (t && ((ext++, !stricmp(t, ".sv0")) || (ext++, !stricmp(t, ".ss0"))) ) { // TTDLX(Patch)
-							*t = 0; // cut extension
-							fios = FiosAlloc();
-							fios->old_extension = ext-1;
-							fios->type = FIOS_TYPE_OLD_SCENARIO;
-							fios->mtime = sb.st_mtime;
-							GetOldScenarioGameName(fios->title, filename);
-							ttd_strlcpy(fios->name, dirent->d_name, sizeof(fios->name)-3);
-						}
-					}
-				}
-			}
-		}
-		closedir(dir);
-	}
-
-	qsort(_fios_items + sort_start, _fios_count - sort_start, sizeof(FiosItem), compare_FiosItems);
-
-	// Drives
-	if (mode != SLD_NEW_GAME)
-	{
-		unsigned save, disk, disk2, total;
-
-		/* save original drive */
-		_dos_getdrive(&save);
-
-		/* get available drive letters */
-
-		for (disk = 1; disk < 27; ++disk)
-		{
-			_dos_setdrive(disk, &total);
-			_dos_getdrive(&disk2);
-			
-			if (disk == disk2)
-			{
-				fios = FiosAlloc();
-				fios->type = FIOS_TYPE_DRIVE;
-				fios->title[0] = disk + 'A'-1;
-				fios->title[1] = ':';
-				fios->title[2] = 0;
-			}
-		}
-
-		_dos_setdrive(save, &total);
-	}
-
-	*num = _fios_count;
-	return _fios_items;
-}
-
-
-// Free the list of savegames
-void FiosFreeSavegameList()
-{
-	free(_fios_items);
-	_fios_items = NULL;
-	_fios_alloc = _fios_count = 0;
-}
-
-// Browse to
-char *FiosBrowseTo(const FiosItem *item)
-{
-	char *path = _fios_path;
-	char *s;
-
-	switch(item->type) {
-	case FIOS_TYPE_PARENT:
-		s = strrchr(path, '\\');
-		if (s != NULL) *s = 0;
-		break;
-
-	case FIOS_TYPE_DIR:
-		s = strchr((char*)item->name, '\\');
-		if (s) *s = 0;
-		while (*path) path++;
-		*path++ = '\\';
-		strcpy(path, item->name);
-		break;
-
-	case FIOS_TYPE_FILE:
-		FiosMakeSavegameName(str_buffr, item->name);
-		return str_buffr;
-
-	case FIOS_TYPE_OLDFILE:
-		sprintf(str_buffr, "%s\\%s.%s", _fios_path, item->name, _old_extensions[item->old_extension]);
-		return str_buffr;
-
-	case FIOS_TYPE_SCENARIO:
-		sprintf(str_buffr, "%s\\%s.scn", path, item->name);
-		return str_buffr;
-
-	case FIOS_TYPE_OLD_SCENARIO:
-		sprintf(str_buffr, "%s\\%s.%s", path, item->name, _old_extensions[item->old_extension]);
-		return str_buffr;
-	}
-
-	return NULL;
-}
-
-// Get descriptive texts.
-// Returns a path as well as a
-//  string describing the path.
-StringID FiosGetDescText(const char **path)
-{
-	struct diskfree_t free;
-	char drive;
-	
-	*path = _fios_path[0] ? _fios_path : "C:\\";
-	drive = 'B' - *path[0];
-
-	_getdiskfree(drive, &free);
-		
-	SetDParam(0, free.avail_clusters * free.sectors_per_cluster * free.bytes_per_sector);
-	return STR_4005_BYTES_FREE;
-}
-
-void FiosMakeSavegameName(char *buf, const char *name)
-{
-	if(_game_mode==GM_EDITOR)
-		sprintf(buf, "%s\\%s.scn", _fios_path, name);
-	else
-		sprintf(buf, "%s\\%s.sav", _fios_path, name);
-}
-
-void FiosDelete(const char *name)
-{
-	char *path = str_buffr;
-	FiosMakeSavegameName(path, name);
-	unlink(path);
-}
-
-const DriverDesc _video_driver_descs[] = {
-	{"null",	"Null Video Driver",    &_null_video_driver,    0},
-#if defined(WITH_SDL)
-	{ "sdl",	"SDL Video Driver",	     &_sdl_video_driver,	     1},
-#endif
-	{ "dedicated", "Dedicated Video Driver", &_dedicated_video_driver, 0},
-	{ NULL,	 NULL,								   NULL,								   0}
-};
-
-const DriverDesc _sound_driver_descs[] = {
-	{"null",	"Null Sound Driver",    &_null_sound_driver,	    0},
-#if defined(WITH_SDL)
-	{ "sdl",	"SDL Sound Driver",	     &_sdl_sound_driver,		     1},
-#endif
-	{ NULL,	 NULL,								   NULL,									   0}
-};
-
-const DriverDesc _music_driver_descs[] = {
-	{   "null",     "Null Music Driver",	    &_null_music_driver,	    0},
-	{     NULL,     NULL,									   NULL,									   0}
-};
-
-/* GetOSVersion returns the minimal required version of OS to be able to use that driver.
-	 Not needed for *nix. */
-byte GetOSVersion()
-{
-	return 2;  // any arbitrary number bigger then 0
-				// numbers lower than 2 breaks default music selection on mac
-}
-
-bool FileExists(const char *filename)
-{
-	return access(filename, 0) == 0;
-}
-
-static int LanguageCompareFunc(const void *a, const void *b)
-{
-	return strcmp(*(const char* const *)a, *(const char* const *)b);
-}
-
-int GetLanguageList(char **languages, int max)
-{
-	DIR *dir;
-	struct dirent *dirent;
-	int num = 0;
-
-	dir = opendir(_path.lang_dir);
-	if (dir != NULL) {
-		while ((dirent = readdir(dir))) {
-			char *t = strrchr(dirent->d_name, '.');
-			if (t && !strcmp(t, ".lng")) {
-				languages[num++] = strdup(dirent->d_name);
-				if (num == max) break;
-			}
-		}
-		closedir(dir);
-	}
-
-	qsort(languages, num, sizeof(char*), LanguageCompareFunc);
-	return num;
-}
-
-static void ChangeWorkingDirectory(char *exe)
-{
-	char *s = strrchr(exe, '\\');
-	if (s != NULL) {
-		*s = 0;
-		chdir(exe);
-		*s = '\\';
-	}
-}
-
-void ShowInfo(const char *str)
-{
-	puts(str);
-}
-
-void ShowOSErrorBox(const char *buf)
-{
-	WinMessageBox(HWND_DESKTOP, HWND_DESKTOP, buf, "OpenTTD", 263, MB_OK | MB_APPLMODAL | MB_MOVEABLE | MB_ERROR);
-// TODO: FIX, doesn't always appear
-}
-
-int CDECL main(int argc, char* argv[])
-{
-	// change the working directory to enable doubleclicking in UIs
-	ChangeWorkingDirectory(argv[0]);
-
-	_random_seeds[0][1] = _random_seeds[0][0] = time(NULL);
-
-
-	return ttd_main(argc, argv);
-}
-
-void DeterminePaths()
-{
-	char *s;
-
-	_path.game_data_dir = malloc( MAX_PATH );
-	ttd_strlcpy(_path.game_data_dir, GAME_DATA_DIR, MAX_PATH);
-	#if defined SECOND_DATA_DIR
-	_path.second_data_dir = malloc( MAX_PATH );
-	ttd_strlcpy( _path.second_data_dir, SECOND_DATA_DIR, MAX_PATH);
-	#endif
-
-#if defined(USE_HOMEDIR)
-	{
-		char *homedir;
-		homedir = getenv("HOME");
-
-		if(!homedir) {
-			struct passwd *pw = getpwuid(getuid());
-			if (pw) homedir = pw->pw_dir;
-		}
-
-		_path.personal_dir = str_fmt("%s" PATHSEP "%s", homedir, PERSONAL_DIR);
-	}
-
-#else /* not defined(USE_HOMEDIR) */
-
-	_path.personal_dir = malloc( MAX_PATH );
-	ttd_strlcpy(_path.personal_dir, PERSONAL_DIR, MAX_PATH);
-
-	// check if absolute or relative path
-	s = strchr(_path.personal_dir, '\\');
-
-	// add absolute path
-	if (s==NULL || _path.personal_dir != s) {
-		getcwd(_path.personal_dir, MAX_PATH);
-		s = strchr(_path.personal_dir, 0);
-		*s++ = '\\';
-		ttd_strlcpy(s, PERSONAL_DIR, MAX_PATH);
-	}
-
-#endif /* defined(USE_HOMEDIR) */
-
-	s = strchr(_path.personal_dir, 0);
-
-	// append a / ?
-	if (s[-1] != '\\') { s[0] = '\\'; s[1] = 0; }
-
-	_path.save_dir = str_fmt("%ssave", _path.personal_dir);
-	_path.autosave_dir = str_fmt("%s\\autosave", _path.save_dir);
-	_path.scenario_dir = str_fmt("%sscenario", _path.personal_dir);
-	_path.gm_dir = str_fmt("%sgm\\", _path.game_data_dir);
-	_path.data_dir = str_fmt("%sdata\\", _path.game_data_dir);
-	_config_file = str_fmt("%sopenttd.cfg", _path.personal_dir);
-	
-#if defined CUSTOM_LANG_DIR
-	// sets the search path for lng files to the custom one
-	_path.lang_dir = malloc( MAX_PATH );
-	ttd_strlcpy( _path.lang_dir, CUSTOM_LANG_DIR, MAX_PATH);
-#else
-	_path.lang_dir = str_fmt("%slang\\", _path.game_data_dir);
-#endif
-
-	// create necessary folders
-	mkdir(_path.personal_dir);
-	mkdir(_path.save_dir);
-	mkdir(_path.autosave_dir);
-	mkdir(_path.scenario_dir);
-}
-
--- a/strgen/strgen.tgt	Thu Dec 23 14:46:16 2004 +0000
+++ b/strgen/strgen.tgt	Thu Dec 23 15:08:53 2004 +0000
@@ -121,126 +121,3 @@
 1
 1
 0
-40
-targetIdent
-0
-MProject
-1
-MComponent
-0
-2
-WString
-4
-OEXE
-3
-WString
-5
-oc2en
-1
-0
-1
-4
-MCommand
-0
-5
-MCommand
-0
-6
-MItem
-10
-strgen.exe
-7
-WString
-4
-OEXE
-8
-WVList
-2
-9
-MRState
-10
-WString
-7
-OS2LINK
-11
-WString
-25
-?????No debug information
-1
-1
-12
-MRState
-13
-WString
-7
-OS2LINK
-14
-WString
-14
-?????Debug All
-1
-0
-15
-WVList
-0
--1
-1
-1
-0
-16
-WPickList
-3
-17
-MItem
-3
-*.c
-18
-WString
-4
-COBJ
-19
-WVList
-0
-20
-WVList
-0
--1
-1
-1
-0
-21
-MItem
-8
-stdafx.c
-22
-WString
-4
-COBJ
-23
-WVList
-0
-24
-WVList
-0
-17
-1
-1
-0
-25
-MItem
-8
-strgen.c
-26
-WString
-4
-COBJ
-27
-WVList
-0
-28
-WVList
-0
-17
-1
-1
-0