File: messages.lua

package info (click to toggle)
spring 0.81.2.1%2Bdfsg1-6
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 28,496 kB
  • ctags: 37,096
  • sloc: cpp: 238,659; ansic: 13,784; java: 12,175; awk: 3,428; python: 1,159; xml: 738; perl: 405; sh: 297; makefile: 267; pascal: 228; objc: 192
file content (52 lines) | stat: -rw-r--r-- 1,643 bytes parent folder | download | duplicates (2)
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
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--
--  file:    messages.lua
--  brief:   messages.tdf lua parser
--  author:  Craig Lawrence, Dave Rodgers
--
--  Copyright (C) 2007.
--  Licensed under the terms of the GNU GPL, v2 or later.
--
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

local TDF = VFS.Include('gamedata/parse_tdf.lua')

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

if (not VFS.FileExists('gamedata/messages.tdf')) then
  return false
end

local tdfMsgs, err = TDF.Parse('gamedata/messages.tdf')
if (tdfMsgs == nil) then
  error('Error parsing messages.tdf: ' .. err)
end
if (type(tdfMsgs.messages) ~= 'table') then
  error('Missing "messages" table')
end

local luaMsgs = {}

for label, msgs in pairs(tdfMsgs.messages) do
  if ((type(label) == 'string') and
      (type(msgs)  == 'table')) then
    local msgArray = {}
    for _, msg in pairs(msgs) do
      if (type(msg) == 'string') then
        table.insert(msgArray, msg)
      end
    end
    luaMsgs[label:lower()] = msgArray -- lower case keys
  end
end


--------------------------------------------------------------------------------

return luaMsgs

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------