Files
@ r23774:59b54c2b48f6
Branch filter:
Location: cpp/openttd-patchpack/source/media/baseset/translations.vbs - annotation
r23774:59b54c2b48f6
2.8 KiB
text/plain
Change: Limit in-editor warnings in VS 2019
The AllRules ruleset causes the VS 2019 editor to litter warning squiggles all over the place, about things that would never be fixed. Limit it to the smallest ruleset available. Warnings shown now mainly concern potential arithmetic overflows.
The AllRules ruleset causes the VS 2019 editor to litter warning squiggles all over the place, about things that would never be fixed. Limit it to the smallest ruleset available. Warnings shown now mainly concern potential arithmetic overflows.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd r23209:3f88d406e1cd | Option Explicit
' This file is part of OpenTTD.
' OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
' OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
' See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
Dim inputfile, outputfile, langpath, extra_grf
inputfile = WScript.Arguments(0)
outputfile = WScript.Arguments(1)
langpath = WScript.Arguments(2)
If WScript.Arguments.Length > 3 Then
extra_grf = WScript.Arguments(3)
End If
Function GetExtraGrfHash
Dim WSO, exe, line
Set WSO = WScript.CreateObject("WScript.Shell")
Set exe = WSO.Exec("certutil -hashfile " & extra_grf & " MD5")
Do Until exe.StdOut.AtEndOfStream
line = exe.StdOut.ReadLine
If Len(line) = 32 Then GetExtraGrfHash = line
Loop
Set WSO = Nothing
End Function
' Simple insertion sort, copied from translations.awk
Sub ISort(a)
Dim i, j, n, hold
n = UBound(a)
For i = 1 To n
j = i
hold = a(j)
Do While a(j - 1) > hold
j = j - 1
a(j + 1) = a(j)
If j = 0 Then Exit Do
Loop
a(j) = hold
Next
End Sub
Sub Lookup(ini_key, str_id, outfile)
Dim folder, file, line, p, lang, i
' Ensure only complete string matches
str_id = str_id & " "
Set folder = FSO.GetFolder(langpath)
Dim output()
ReDim output(folder.Files.Count)
For Each file In folder.Files
If UCase(FSO.GetExtensionName(file.Name)) = "TXT" Then
Dim f
Set f = FSO.OpenTextFile(file.Path)
Do Until f.atEndOfStream
line = f.ReadLine()
If InStr(1, line, "##isocode ") = 1 Then
p = Split(line)
lang = p(1)
ElseIf InStr(1, line, str_id) = 1 Then
p = Split(line, ":", 2)
If lang = "en_GB" Then
output(i) = ini_key & " = " & p(1)
Else
output(i) = ini_key & "." & lang & " = " & p(1)
End If
i = i + 1
End If
Loop
End If
Next
ReDim Preserve output(i - 1)
ISort output
For Each line In output
outfile.Write line & vbCrLf
Next
End Sub
Dim line, p
Dim infile
Set infile = FSO.OpenTextFile(inputfile)
Dim outfile
Set outfile = FSO.CreateTextFile(outputfile, True)
Do Until infile.atEndOfStream
line = infile.ReadLine()
If InStr(1, line, "ORIG_EXTRA.GRF ") = 1 Then
p = Split(line, "=")
If Trim(p(1)) = "" Then
outfile.Write("ORIG_EXTRA.GRF = " & GetExtraGrfHash() & vbCrLf)
Else
outfile.Write(line & vbCrLf)
End If
ElseIf InStr(1, line, "!! ") = 1 Then
p = Split(line)
Lookup p(1), p(2), outfile
Else
outfile.Write(line & vbCrLf)
End If
Loop
|