Module:AocUtils: Difference between revisions

From ZeldaMods (Breath of the Wild)
Jump to navigation Jump to search
imported>Leoetlino
No edit summary
imported>Leoetlino
No edit summary
Line 14: Line 14:
   "^NavMesh/MainFieldDungeon/",
   "^NavMesh/MainFieldDungeon/",
   "^Physics/TeraMeshRigidBody/AocField/",
   "^Physics/TeraMeshRigidBody/AocField/",
   "^Voice/.+/Stream_Demo6.+/.+\.bfstm$",
   "^Voice/.*/Stream_Demo6.*/.*\.bfstm$",
   "^System/AocVersion\.txt$",
   "^System/AocVersion\.txt$",
   "^Pack/RemainsWind.pack$",
   "^Pack/RemainsWind.pack$",

Revision as of 19:10, 8 September 2018

Documentation for this module may be created at Module:AocUtils/doc

local pack = {}

aoc_resource_prefixes = {
  "^Terrain/A/AocField",
  "^UI/StaffRollDLC/",
  "^Map/MainField/",
  "^Map/MainFieldDungeon/",
  "^Map/AocField/",
  "^Physics/StaticCompound/AocField/",
  "^Physics/StaticCompound/MainFieldDungeon/",
  "^Movie/Demo6",
  "^Game/AocField/",
  "^NavMesh/AocField/",
  "^NavMesh/MainFieldDungeon/",
  "^Physics/TeraMeshRigidBody/AocField/",
  "^Voice/.*/Stream_Demo6.*/.*\.bfstm$",
  "^System/AocVersion\.txt$",
  "^Pack/RemainsWind.pack$",
  "^Pack/RemainsElectric.pack$",
  "^Pack/RemainsWater.pack$",
  "^Pack/RemainsFire.pack$",
  "^Pack/FinalTrial.pack$",
}

function has_aoc_dungeon_num(s)
  local dungeon_num_str = string.match(s, "Dungeon(%d%d%d)")
  if dungeon_num_str == nil then
  	return false
  end
  local dungeon_num = tonumber(dungeon_num_str)
  return dungeon_num > 119
end

function pack.should_use_aoc_file_device(path)
  for i, p in ipairs(aoc_resource_prefixes) do
    if string.find(path, p) then
      return true
    end
  end
  if string.find(path, "^Pack/") and string.find(path, "\.pack$") and has_aoc_dungeon_num(path) then
	return true
  end
  if string.find(path, "^Map/CDungeon/") and has_aoc_dungeon_num(path) then
	return true
  end
  if string.find(path, "^Physics/StaticCompound/") and has_aoc_dungeon_num(path) then
	return true
  end
  if string.find(path, "^NavMesh/CDungeon/") and has_aoc_dungeon_num(path) then
	return true
  end
  return false
end

return pack