Mercurial > wow > cyborg-mmo7
comparison support/gen-mount-db.lua @ 65:8b8b0bade520
Fixed support for mounts using the new MountJournal and mount IDs (no conversion of old profiles at the moment).
author | Jerome Vuarand <jerome.vuarand@gmail.com> |
---|---|
date | Thu, 23 Oct 2014 13:44:59 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
64:49ae7191821f | 65:8b8b0bade520 |
---|---|
1 local dump = require 'dump' | |
2 local path = require 'path' | |
3 local registry = require 'registry' | |
4 local casc = require 'casc' | |
5 local dbc = require 'casc.dbc' | |
6 | |
7 | |
8 local root = | |
9 registry.HKLM.SOFTWARE['Blizzard Entertainment']['World of Warcraft'] 'InstallPath' or | |
10 registry.HKLM.SOFTWARE.Wow6432Node['Blizzard Entertainment']['World of Warcraft'] 'InstallPath' | |
11 root = path.split(root) | |
12 | |
13 -- load local build config | |
14 local buildKey,cdnBase,cdnKey = assert(casc.localbuild(tostring(root / '.build.info'), casc.selectActiveBuild)) | |
15 | |
16 -- open the CASC | |
17 local handle = casc.open(tostring(root / 'Data'), buildKey, cdnBase, cdnKey) | |
18 | |
19 -- read the mount database | |
20 local Mount = handle:readFile("DBFilesClient/Mount.db2") | |
21 | |
22 -- create a mapping from mount ID to spell ID | |
23 local map = {} | |
24 for _,mount,spell in dbc.rows(Mount, 'u7.u.') do | |
25 map[mount] = spell | |
26 end | |
27 | |
28 -- save | |
29 local file = assert(io.open("../MountMap.lua", 'wb')) | |
30 assert(file:write("-- this is a generated file, do not edit, see support/gen-mount-db.lua\n")) | |
31 assert(file:write("CyborgMMO_MountMap = "..dump.tostring(map).."\n")) | |
32 assert(file:write("CyborgMMO_LocalMountMap = {}\n")) | |
33 assert(file:close()) | |
34 |