summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/Readme_OS2.txt48
-rw-r--r--openttd.tgt2091
-rw-r--r--os/os2/openttd.wpj63
-rw-r--r--os2.c531
-rw-r--r--strgen/strgen.tgt123
5 files changed, 0 insertions, 2856 deletions
diff --git a/docs/Readme_OS2.txt b/docs/Readme_OS2.txt
index 97b80fe2a..2ef9d0e18 100644
--- a/docs/Readme_OS2.txt
+++ b/docs/Readme_OS2.txt
@@ -46,51 +46,3 @@ If you have any questions, please contact me (owen@owenrudge.net) and I'll try t
- 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
-
diff --git a/openttd.tgt b/openttd.tgt
index 3676db4ff..775586d3a 100644
--- a/openttd.tgt
+++ b/openttd.tgt
@@ -2089,2094 +2089,3 @@ WVList
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
diff --git a/os/os2/openttd.wpj b/os/os2/openttd.wpj
index 3316eac8b..f363a28d8 100644
--- a/os/os2/openttd.wpj
+++ b/os/os2/openttd.wpj
@@ -61,66 +61,3 @@ WFileName
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
diff --git a/os2.c b/os2.c
index 4a486dda5..27c37a5e2 100644
--- a/os2.c
+++ b/os2.c
@@ -529,534 +529,3 @@ void DeterminePaths()
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);
-}
-
diff --git a/strgen/strgen.tgt b/strgen/strgen.tgt
index 40d549b60..1ef11fe0f 100644
--- a/strgen/strgen.tgt
+++ b/strgen/strgen.tgt
@@ -121,126 +121,3 @@ WVList
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