annotate support/gen-mount-db.lua @ 71:60e5f3262337
tip
Added tag v6.1.0-1 for changeset 553715eacab6
author |
Jerome Vuarand <jerome.vuarand@gmail.com> |
date |
Thu, 26 Feb 2015 14:18:54 +0000 |
parents |
8b8b0bade520 |
children |
|
rev |
line source |
jerome@65
|
1 local dump = require 'dump'
|
jerome@65
|
2 local path = require 'path'
|
jerome@65
|
3 local registry = require 'registry'
|
jerome@65
|
4 local casc = require 'casc'
|
jerome@65
|
5 local dbc = require 'casc.dbc'
|
jerome@65
|
6
|
jerome@65
|
7
|
jerome@65
|
8 local root =
|
jerome@65
|
9 registry.HKLM.SOFTWARE['Blizzard Entertainment']['World of Warcraft'] 'InstallPath' or
|
jerome@65
|
10 registry.HKLM.SOFTWARE.Wow6432Node['Blizzard Entertainment']['World of Warcraft'] 'InstallPath'
|
jerome@65
|
11 root = path.split(root)
|
jerome@65
|
12
|
jerome@65
|
13 -- load local build config
|
jerome@65
|
14 local buildKey,cdnBase,cdnKey = assert(casc.localbuild(tostring(root / '.build.info'), casc.selectActiveBuild))
|
jerome@65
|
15
|
jerome@65
|
16 -- open the CASC
|
jerome@65
|
17 local handle = casc.open(tostring(root / 'Data'), buildKey, cdnBase, cdnKey)
|
jerome@65
|
18
|
jerome@65
|
19 -- read the mount database
|
jerome@65
|
20 local Mount = handle:readFile("DBFilesClient/Mount.db2")
|
jerome@65
|
21
|
jerome@65
|
22 -- create a mapping from mount ID to spell ID
|
jerome@65
|
23 local map = {}
|
jerome@65
|
24 for _,mount,spell in dbc.rows(Mount, 'u7.u.') do
|
jerome@65
|
25 map[mount] = spell
|
jerome@65
|
26 end
|
jerome@65
|
27
|
jerome@65
|
28 -- save
|
jerome@65
|
29 local file = assert(io.open("../MountMap.lua", 'wb'))
|
jerome@65
|
30 assert(file:write("-- this is a generated file, do not edit, see support/gen-mount-db.lua\n"))
|
jerome@65
|
31 assert(file:write("CyborgMMO_MountMap = "..dump.tostring(map).."\n"))
|
jerome@65
|
32 assert(file:write("CyborgMMO_LocalMountMap = {}\n"))
|
jerome@65
|
33 assert(file:close())
|
jerome@65
|
34
|