projects/generate.vbs
author peter1138
Mon, 04 Aug 2008 05:59:28 +0000
changeset 9843 96b2f22e54da
parent 9051 d9469b3f0e05
permissions -rwxr-xr-x
(svn r13987) -Codechange: Resize small map legend dynamically on window resize and when switching small map types, so that the legend is taller only on the industry type and only when the legend will not fit in the available space.
8545
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
     1
Option Explicit
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
     2
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
     3
Dim FSO
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
     4
Set FSO = CreateObject("Scripting.FileSystemObject")
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
     5
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
     6
' openttd_vs90.sln    is for MSVC 2008
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
     7
' openttd_vs90.vcproj is for MSVC 2008
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
     8
' langs_vs90.vcproj   is for MSVC 2008
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
     9
' strgen_vs90.vcproj  is for MSVC 2008
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    10
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    11
' openttd_vs80.sln    is for MSVC 2005
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    12
' openttd_vs80.vcproj is for MSVC 2005
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    13
' langs_vs80.vcproj   is for MSVC 2005
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    14
' strgen_vs80.vcproj  is for MSVC 2005
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    15
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    16
Sub safety_check(filename)
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    17
	Dim file, line, regexp, list
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    18
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    19
	' Define regexp
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    20
	Set regexp = New RegExp
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    21
	regexp.Pattern = "#|ottdres.rc|win32.cpp|win32_v.cpp"
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    22
	regexp.Global = True
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    23
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    24
	' We use a dictionary to check duplicates
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    25
	Set list = CreateObject("Scripting.Dictionary")
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    26
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    27
	Set file = FSO.OpenTextFile(filename, 1, 0, 0)
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    28
	While Not file.AtEndOfStream
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    29
		line = Replace(file.ReadLine, Chr(9), "") ' Remove tabs
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    30
		If Len(line) > 0 And Not regexp.Test(line) Then
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    31
			line = FSO.GetFileName(line)
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    32
			if list.Exists(line) Then
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    33
				WScript.Echo " !! ERROR !!" _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    34
				& vbCrLf & "" _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    35
				& vbCrLf & "The filename '" & line & "' is already used in this project." _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    36
				& vbCrLf & "Because MSVC uses one single directory for all object files, it" _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    37
				& vbCrLf & "cannot handle filenames with the same name inside the same project." _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    38
				& vbCrLf & "Please rename either one of the file and try generating again." _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    39
				& vbCrLf & "" _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    40
				& vbCrLf & " !! ERROR !!"
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    41
				WScript.Quit(1)
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    42
			End If
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    43
			list.Add line, line
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    44
		End If
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    45
	Wend
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    46
	file.Close
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    47
End Sub
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
    48
8978
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    49
Sub get_files(srcdir, dir, list)
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    50
	Dim file, filename
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    51
	Dim rekeep, reskip
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    52
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    53
	' pattern for files to keep
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    54
	Set rekeep = New RegExp
9051
d9469b3f0e05 (svn r12881) -Fix (r12770): the check for missing header files could find more files than needed
glx
parents: 8978
diff changeset
    55
	rekeep.Pattern = "\.h(pp)?$"
8978
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    56
	rekeep.Global = True
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    57
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    58
	' pattern for files to exclude
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    59
	Set reskip = New RegExp
9051
d9469b3f0e05 (svn r12881) -Fix (r12770): the check for missing header files could find more files than needed
glx
parents: 8978
diff changeset
    60
	reskip.Pattern = "\.svn"
8978
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    61
	reskip.Global = True
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    62
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    63
	For Each file in dir.Files
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    64
		filename = Replace(file.path, srcdir, "") ' Remove */src/
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    65
		filename = Replace(filename, "\", "/") ' Replace separators
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    66
		If rekeep.Test(filename) And Not reskip.Test(filename) Then
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    67
			list.Add filename, filename
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    68
		End If
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    69
	Next
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    70
End Sub
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    71
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    72
Sub get_dir_files(srcdir, dir, list)
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    73
	Dim folder
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    74
	' Get files
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    75
	get_files srcdir, dir, list
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    76
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    77
	' Recurse in subfolders
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    78
	For Each folder in dir.SubFolders
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    79
		get_dir_files srcdir, folder, list
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    80
	Next
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    81
End Sub
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    82
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    83
Sub headers_check(filename, dir)
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    84
	Dim source_list_headers, src_dir_headers, regexp, line, file, str
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    85
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    86
	' Define regexp for source.list parsing
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    87
	Set regexp = New RegExp
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    88
	regexp.Pattern = "\.h"
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    89
	regexp.Global = True
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    90
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    91
	' Parse source.list and store headers in a dictionary
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    92
	Set source_list_headers = CreateObject("Scripting.Dictionary")
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    93
	Set file = FSO.OpenTextFile(filename, 1, 0, 0)
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    94
	While Not file.AtEndOfStream
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    95
		line = Replace(file.ReadLine, Chr(9), "") ' Remove tabs
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    96
		If Len(line) > 0 And regexp.Test(line) And line <> "../objs/langs/table/strings.h" Then
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    97
			source_list_headers.Add line, line
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    98
		End If
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
    99
	Wend
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   100
	file.Close()
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   101
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   102
	' Get header files in /src/
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   103
	Set src_dir_headers = CreateObject("Scripting.Dictionary")
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   104
	get_dir_files dir, FSO.GetFolder(dir), src_dir_headers
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   105
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   106
	' Finding files in source.list but not in /src/
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   107
	For Each line In source_list_headers
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   108
		If Not src_dir_headers.Exists(line) Then
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   109
			str = str & "< " & line & vbCrLf
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   110
		End If
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   111
	Next
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   112
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   113
	' Finding files in /src/ but not in source.list
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   114
	For Each line In src_dir_headers
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   115
		If Not source_list_headers.Exists(line) Then
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   116
			str = str & "> " & line & vbCrLf
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   117
		End If
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   118
	Next
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   119
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   120
	' Display the missing files if any
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   121
	If str <> "" Then
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   122
		str = "The following headers are missing in source.list and not in /src/ or vice versa." _
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   123
		& vbCrLf & str
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   124
		WScript.Echo str
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   125
	End If
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   126
End Sub
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   127
8545
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   128
Function load_main_data(filename)
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   129
	Dim res, file, line, deep, skip, first_time
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   130
	res = ""
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   131
	' Read the source.list and process it
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   132
	Set file = FSO.OpenTextFile(filename, 1, 0, 0)
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   133
	While Not file.AtEndOfStream
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   134
		line = Replace(file.ReadLine, Chr(9), "") ' Remove tabs
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   135
		If Len(line) > 0 Then
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   136
			Select Case Split(line, " ")(0)
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   137
				Case "#end"
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   138
					If deep = skip Then skip = skip - 1
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   139
					deep = deep - 1
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   140
				Case "#else"
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   141
					If deep = skip Then
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   142
						skip = skip - 1
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   143
					ElseIf deep - 1 = skip Then
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   144
						skip = skip + 1
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   145
					End If
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   146
				Case "#if"
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   147
					line = Replace(line, "#if ", "")
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   148
					If deep = skip And ( _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   149
						line = "SDL" Or _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   150
						line = "PNG" Or _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   151
						line = "WIN32" Or _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   152
						line = "MSVC" Or _
8643
dccd6143c48d (svn r12282) -Fix (r12123): generate.vbs should not skip files in NO_THREADS section of source.list
glx
parents: 8545
diff changeset
   153
						line = "DIRECTMUSIC" Or _
8934
f46812d21fe6 (svn r12706) -Merge: the thread rewrite from NoAI. The rewrite makes the threading we have better extendable.
rubidium
parents: 8643
diff changeset
   154
						line = "HAVE_THREAD" _
8545
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   155
					) Then skip = skip + 1
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   156
					deep = deep + 1
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   157
				Case "#"
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   158
					if deep = skip Then
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   159
						line = Replace(line, "# ", "")
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   160
						if first_time <> 0 Then
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   161
							res = res & "		</Filter>" & vbCrLf
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   162
						Else
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   163
							first_time = 1
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   164
						End If
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   165
						res = res & _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   166
						"		<Filter" & vbCrLf & _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   167
						"			Name=" & Chr(34) & line & Chr(34) & vbCrLf & _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   168
						"			>" & vbCrLf
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   169
					End If
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   170
				Case Else
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   171
					If deep = skip Then
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   172
						line = Replace(line, "/" ,"\")
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   173
						res = res & _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   174
						"			<File" & vbCrLf & _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   175
						"				RelativePath=" & Chr(34) & ".\..\src\" & line & Chr(34) & vbCrLf & _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   176
						"				>" & vbCrLf & _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   177
						"			</File>" & vbCrLf
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   178
					End If
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   179
			End Select
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   180
		End If
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   181
	Wend
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   182
	res = res & "		</Filter>"
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   183
	file.Close()
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   184
	load_main_data = res
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   185
End Function
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   186
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   187
Function load_lang_data(dir)
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   188
	Dim res, folder, file
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   189
	res = ""
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   190
	Set folder = FSO.GetFolder(dir)
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   191
	For Each file In folder.Files
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   192
		file = FSO.GetFileName(file)
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   193
		If FSO.GetExtensionName(file) = "txt" Then
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   194
			file = Left(file, Len(file) - 4)
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   195
			res = res _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   196
			& vbCrLf & "		<File" _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   197
			& vbCrLf & "			RelativePath=" & Chr(34) & "..\src\lang\" & file & ".txt" & Chr(34) _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   198
			& vbCrLf & "			>" _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   199
			& vbCrLf & "			<FileConfiguration" _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   200
			& vbCrLf & "				Name=" & Chr(34) & "Debug|Win32" & Chr(34) _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   201
			& vbCrLf & "				>" _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   202
			& vbCrLf & "				<Tool" _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   203
			& vbCrLf & "					Name=" & Chr(34) & "VCCustomBuildTool" & Chr(34) _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   204
			& vbCrLf & "					Description=" & Chr(34) & "Generating " & file & " language file" & Chr(34) _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   205
			& vbCrLf & "					CommandLine=" & Chr(34) & "..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;&#x0D;&#x0A;" & Chr(34) _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   206
			& vbCrLf & "					AdditionalDependencies=" & Chr(34) & Chr(34) _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   207
			& vbCrLf & "					Outputs=" & Chr(34) & "..\bin\lang\" & file & ".lng" & Chr(34) _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   208
			& vbCrLf & "				/>" _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   209
			& vbCrLf & "			</FileConfiguration>" _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   210
			& vbCrLf & "		</File>"
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   211
		End If
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   212
	Next
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   213
	load_lang_data = res
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   214
End Function
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   215
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   216
Sub generate(data, dest)
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   217
	Dim srcfile, destfile, line
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   218
	WScript.Echo "Generating " & FSO.GetFileName(dest) & "..."
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   219
	Set srcfile = FSO.OpenTextFile(dest & ".in", 1, 0, 0)
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   220
	Set destfile = FSO.CreateTextFile(dest, -1, 0)
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   221
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   222
	' Everything above the !!FILES!! marker
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   223
	line = srcfile.ReadLine()
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   224
	While line <> "!!FILES!!"
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   225
		If len(line) > 0 Then destfile.WriteLine(line)
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   226
		line = srcfile.ReadLine()
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   227
	Wend
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   228
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   229
	' Our generated content
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   230
	destfile.WriteLine(data)
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   231
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   232
	' Everything below the !!FILES!! marker
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   233
	While Not srcfile.AtEndOfStream
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   234
		line = srcfile.ReadLine()
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   235
		If len(line) > 0 Then destfile.WriteLine(line)
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   236
	Wend
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   237
	srcfile.Close()
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   238
	destfile.Close()
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   239
End Sub
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   240
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   241
Dim ROOT_DIR
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   242
ROOT_DIR = FSO.GetFolder("..").Path
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   243
If Not FSO.FileExists(ROOT_DIR & "/source.list") Then
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   244
	ROOT_DIR = FSO.GetFolder(".").Path
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   245
End If
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   246
If Not FSO.FileExists(ROOT_DIR & "/source.list") Then
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   247
	WScript.Echo "Can't find source.list, needed in order to make this run." _
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   248
	& vbCrLf & "Please go to either the project dir, or the root dir of a clean SVN checkout."
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   249
	WScript.Quit(1)
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   250
End If
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   251
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   252
safety_check ROOT_DIR & "/source.list"
8978
fbf60a08a419 (svn r12770) -Add: check for missing (forgotten) header files in the generate.vbs script.
glx
parents: 8934
diff changeset
   253
headers_check ROOT_DIR & "/source.list", ROOT_DIR & "\src\" ' Backslashes needed for DoFiles
8545
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   254
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   255
Dim openttd
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   256
openttd = load_main_data(ROOT_DIR &"/source.list")
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   257
generate openttd, ROOT_DIR & "/projects/openttd_vs80.vcproj"
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   258
generate openttd, ROOT_DIR & "/projects/openttd_vs90.vcproj"
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   259
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   260
Dim lang
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   261
lang = load_lang_data(ROOT_DIR & "/src/lang")
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   262
generate lang, ROOT_DIR & "/projects/langs_vs80.vcproj"
a59b2f748e91 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script
glx
parents:
diff changeset
   263
generate lang, ROOT_DIR & "/projects/langs_vs90.vcproj"