Module:AocUtils and Content/NavMesh: Difference between pages

From ZeldaMods (Breath of the Wild)
(Difference between pages)
Jump to navigation Jump to search
imported>Leoetlino
No edit summary
 
imported>Leoetlino
No edit summary
 
Line 1: Line 1:
local pack = {}
{{stub}}
<onlyinclude>{{Resloc|type=directory|path=NavMesh}}</onlyinclude>


aoc_resource_prefixes = {
== Directories ==
  "^Terrain/A/AocField",
=== MainField ===
  "^UI/StaffRollDLC/",
{{Resloc|type=directory|path=NavMesh/MainField/|aoc_locations=_|aoc_replaces_base=1}}
  "^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)
=== MainFieldDungeon ===
  local dungeon_num_str = string.match(s, "Dungeon(%d%d%d)")
{{Resloc|type=directory|path=NavMesh/MainFieldDungeon/|locations=divine beast packs|aoc_locations=divine beast packs|aoc_replaces_base=1}} 
  if dungeon_num_str == nil then
  return false
  end
  local dungeon_num = tonumber(dungeon_num_str)
  return dungeon_num > 119
end


function should_use_aoc_file_device(path)
=== AocField ===
  for i, p in ipairs(aoc_resource_prefixes) do
{{ReslocAoc|type=directory|path=NavMesh/AocField/}}  
    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


function pack.get_aoc_canonical_path(frame)
=== CDungeon ===
  local path = frame.args.path
{{Resloc|type=directory|path=NavMesh/CDungeon/|locations=dungeon packs}}
  local aoc_only = frame.args.aoc_only or false
{{ReslocAoc|type=directory|path=NavMesh/CDungeon/|locations=DLC dungeon packs (DungeonNNN with NNN > 119)}}   
  if not path then
  return "(unknown)"
  end
  if aoc_only or should_use_aoc_file_device(path) then
  return "Aoc/0010/" + path
  end
  return path
end


return pack
[[Category: Content (BotW)]]

Revision as of 11:46, 9 September 2018

This directory is found in the unpacked content files.

Its canonical resource path is "NavMesh".

Directories

MainField

This directory is found in the unpacked content files.

Its canonical resource path is "NavMesh/MainField/".

In the add-on content, it is found in _.

MainFieldDungeon

This directory is found in divine beast packs.

Its canonical resource path is "NavMesh/MainFieldDungeon/".

In the add-on content, it is found in divine beast packs.

Its DLC canonical path is "Aoc/0010/NavMesh/MainFieldDungeon/".

 

AocField

If the DLC is installed, this directory can be found in the unpacked content files in the add-on content directory. Its canonical path is "Aoc/0010/NavMesh/AocField/".

  

CDungeon

This directory is found in dungeon packs.

Its canonical resource path is "NavMesh/CDungeon/".

If the DLC is installed, this directory can be found in DLC dungeon packs (DungeonNNN with NNN > 119) in the add-on content directory. Its canonical path is "Aoc/0010/NavMesh/CDungeon/".