{"owner":"zeldaret","repo":"oot","hasSkills":true,"totalSkillsCount":13,"totalTokensCount":29701,"categories":["anthropic-skill","plugin-manifest","cursor-rule"],"hasMcp":false,"mcpConfig":null,"found":["tools/asm-differ/.pre-commit-config.yaml","tools/com-plugin/README.md","tools/fado/README.md","tools/audio/README.md","tools/asm-differ/README.md","tools/fado/z64_relocation_section_format.md","tools/assets/descriptor/spec.md","tools/fado/lib/vc_vector/README.md","tools/fado/lib/vc_vector/LICENSE.md","tools/overlayhelpers/filetable.json","tools/ido5.3_compiler/LICENSE.md","tools/assets/descriptor/README.md",".cursorrules (java-springboot-jpa-cursorrules-prompt-file.mdc)"],"skills":{"tools/asm-differ/.pre-commit-config.yaml":"repos:\n-   repo: https://github.com/psf/black-pre-commit-mirror\n    rev: 23.12.1\n    hooks:\n    - id: black\n","tools/com-plugin/README.md":"# COMMON symbol ordering linker plugin\n\nThis repository contains a plugin for linkers that support the External Linker Plugin API that allows providing a manual specification for COMMON symbol ordering, intended to support matching decompilations that must reproduce an order for COMMON symbols whose names are unknown. Currently only 32-bit Big-Endian MIPS ELF object files are supported.\n\n## How it works\n\nThe plugin expects a symbol order txt file listing the COMMON symbols in order on each line. The plugin searches each input file for the symbol definitions for these and emits a new ELF file containing BSS definitions for each COMMON symbol found with the appropriate size and alignment. This ELF file is then added as an extra input file to the linker, overriding the COMMON definitions in the other input files.\n\n## Usage\n\nAdd `-plugin common-plugin.so -plugin-opt order=bss_order.txt` to the linker invocation, replacing `bss_order.txt` with an alternative path if desired.\n\nAn optional argument `-plugin-opt min_align=N` can specify the minimum alignment for the bss output files. If unset, the minimum alignment is 0: the resulting section alignment is equal to the minimum alignment required by the symbols.\n\nAlso add any bss output files mentioned in the order file to the linker script (e.g. `bss.o` would be added as `*bss.o(.bss*)`) so that the additional input file is not discarded, if required.\n\n### **Symbol order file syntax**\n\n```\n<ofile> {\n    <sym1>;\n    <sym2>;\n    <sym3>;\n    [...]\n}\n[...]\n```\n\nThe order file supports 2 styles of single-line comments (`//` and `#`) and C-style multi-line comments and ignores whitespace.\n\n## Building\n\nRun `make` to build `common-plugin.so`.\n","tools/fado/README.md":"# fado\n*Fairy-Assisted (relocations for) Decomplied Overlays*\n<!-- Nice backronym... -->\n\nContains\n- **Fairy** a library for reading relocatable MIPS ELF object files (big-endian, suitable for Nintendo 64 games)\n- **Fado** a program for generating the `.ovl`/relocation section for Zelda64 overlay files\n- **Mido** an automatic dependency file generator\n\nCompatible with both IDO and GCC (although [see below](N_B)). Both ordinary MIPS REL sections and RELA sections are now supported.\n\nOutput format is the standard \"Zelda64\" .ovl section, with the relocs divided by section, as used by\n- *The Legend of Zelda: Ocarina of Time* (all Nintendo 64/Gamecube/iQue releases)\n- *The Legend of Zelda: Majora's Mask* (all Nintendo 64/Gamecube releases)\n\nIn theory it will also work for other Nintendo 64 games that use this system, such as *Yoshi's Story*, but has yet to be tested with these.\n\n\n## Explanation\n\nThe overlay relocation sections used by Zelda64 is described [here](z64_relocation_section_format.md). Fado will produce a `.ovl` section compatible with this format, although as noted there, some compilers need persuasion to produce compatible objects.\n\n\n## How to use\n\nCompile by running `make`.\n\nA standalone invocation of Fado would look something like\n\n```sh\n./fado.elf z_en_hs2.o -n ovl_En_Hs2 -o ovl_En_Hs2_reloc.s\n```\nThis takes as input the compiled object file from the C file (e.g. [this one](https://github.com/zeldaret/oot/blob/eadc477187888e1ae078d021b4a00b1366f0c9a4/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c)), the name of the overlay (`ovl_En_Hs2`) and will output an assembly file `ovl_En_Hs2_reloc.s` containing the relocation section. An example output is included in the repo [here](ovl_En_Hs_reloc.s). Fado will print information from the object file to assist with debugging, by splitting relocs by section, and for each, printing the type, offset, and associated symbol (or section if static):\n\n```mips\n# TEXT RELOCS\n.word 0x45000084 # R_MIPS_HI16 0x000084 .data\n.word 0x4600008C # R_MIPS_LO16 0x00008C .data\n.word 0x450000B4 # R_MIPS_HI16 0x0000B4 .rodata\n.word 0x460000BC # R_MIPS_LO16 0x0000BC .rodata\n.word 0x450000C0 # R_MIPS_HI16 0x0000C0 func_80A6F1A4\n.word 0x460000C4 # R_MIPS_LO16 0x0000C4 func_80A6F1A4\n```\n\nIf invoking in a makefile, you will probably want to generate these from a predefined filelist, and with the appropriate dependencies. [The Ocarina of Time decomp repository](http://github.com/zeldaret/oot) contains an example of how to do this using a supplementary program to parse the `spec` format.\n\nMore information can be obtained by running\n\n```sh\n./fado.elf --help\n```\n\nwhich contains information on the various options, such as automatic dependency file generation, etc.\n\n\n## N.B.\n\n- Fado expects the linker script to output symbols for the section sizes, and for them to be declared separately, in the format\n\n```\n_SEGMENTNAMESegmentSECTIONSize\n```\n\ne.g.\n\n```\n_ovl_En_Hs2SegmentTextSize\n```\n\netc.\n\n- By default Fado expects sections to be 0x10-aligned, as is usual for IDO. Some versions of GCC like to align sections to smaller widths, which Fado will handle appropriately, but the linker script must also address this, and at least the default settings seem unable to size the sections correctly due ot placing `fill`s in the wrong places. For now it is recommended to manually align sections to 0x10 if the compiler does not automatically.\n  - The experimental flag `--alignment`/`-a` can be passed to Fado, and it will use the alignment declared by each section in the elf file instead of padding them to 0x10 bytes, It should be noted this option has not been fully tested because currently we don't have any linker script tool that can properly address the incorrect placing of `fill`s. Fado must be rebuilt passing `EXPERIMENTAL=1` to be able to use this flag.\n\n- To prevent GCC producing non-compliant HI/LOs, you must pass *both* of the following compiler flags: `-mno-explicit-relocs -mno-split-addresses`. See [here](z64_relocation_section_format.md#hilo) for more details.\n\n- It is recommended, though not strictly required, that `-fno-merge-constants` is used for GCC, to avoid unpredictable section sizes, and comply with the Zelda64 relocation format's expectation of at most one rodata section. See [here](z64_relocation_section_format.md#rodata) for more details.\n","tools/audio/README.md":"# Z64 Audio Tools\n\nThe Z64 Audio Tools work together to implement the full audio asset pipeline\n\n![](../../docs/audio/build_flowchart.png)\n\n**Licensing Information**\n* The programs `atblgen`, `sampleconv`, `sbc` and `sfc` are (mostly) distributed under MPL-2.0. The VADPCM encoding and decoding portions of `sampleconv` are under CC0-1.0.\n* The programs `sfpatch` and `afile_sizes` are distributed under CC0-1.0.\n* The extraction tool is distributed under CC0-1.0.\n\n## sampleconv\n\nConverts aifc <-> aiff / wav\n\nUsed in extraction and build to convert audio sample data between uncompressed mono 16-bit PCM and the compressed formats used by the audio driver.\n\n## SampleBank Compiler (sbc)\n\nConverts samplebank xml + aifc -> asm\n\nSamplebanks are converted to assembly files for building as it is easier to define the necessary absolute symbols, and they are pure unstructured data.\n\n## SoundFont Compiler (sfc)\n\nConverts soundfont & samplebank xml + aifc -> C\n\nSoundfonts are converted to C rather than assembly as it shares data structures with the audio driver code. Modifying the structures used by the driver without updating `sfc` to write them should error at compile-time rather than crash at runtime.\n\n## sfpatch\n\n`Usage: sfpatch in.elf out.elf`\n\nThis tool patches the symbol table of an ELF file (`in.elf`) to make every defined symbol in the file an absolute symbol. This is a required step for building soundfonts from C source as all pointers internal to a soundfont are offset from the start of the soundfont file and not the audiobank segment as a whole. Making all defined symbols ABS symbols prevents the linker from updating their values later, ensuring they remain file-relative.\n\n## atblgen\n\nGenerates various audio code tables.\n\n- Samplebank table: Specifies where in the `Audiotable` file each samplebank begins and how large it is.\n- Soundfont table: Specifies where in the `Audiobank` files each soundfont begins, how large it is, which samplebanks it uses, and how many instruments/drums/sfx it contains.\n- Sequence font table: Contains information on what soundfonts each sequence uses. Generated from the sequence object files that embed a `.note.fonts` section that holds this information.\n\nThe sequence table is not generated as some things in that table are better left manually specified, such as sequence enum names and flags. This also lets us have the sequence table before assembling any sequence files which is nice for some sequence commands like `runseq`.\n\n## afile_sizes\n\nProduces header files containing binary file sizes for a given set of object files. Used to produce headers containing soundfont and sequence files and the number of each for use in code files.\n\n## extraction\n\nThis collection of python files implements the extraction of audio data from a base ROM.\n\nFiles that are designed to be used externally include:\n- `audio_extract.py` is the main file for audio extraction, it expects an external script to call `extract_audio_for_version` with the necessary inputs.\n- `disassemble_sequence.py` is runnable but is not used in this way in either extraction or building. It may be used to manually disassemble a sequence binary.\n- `tuning.py` is runnable but is not used that way in either extraction or building. It may be used to manually determine alternative matches for the samplerate and basenote of a sample as the extraction procedure cannot always determine these uniquely.\n\nSee individual python source files for further details on their purposes.\n","tools/asm-differ/README.md":"# asm-differ\n\nNice differ for assembly code. Currently supports MIPS, PPC, AArch64, ARM32, SH2, SH4, and m68k; should be easy to hack to support other instruction sets.\n\n![](screenshot.png)\n\n## Dependencies\n\n- Python >= 3.6\n- `python3 -m pip install --user colorama watchdog levenshtein cxxfilt` (also `dataclasses` if on 3.6)\n\n## Usage\n\nCreate a file `diff_settings.py` in some directory (see the one in this repo for an example). Then from that directory, run\n\n```bash\n/path/to/diff.py [flags] (function|rom addr)\n```\n\nRecommended flags are `-mwo` (automatically run `make` on source file changes, and include symbols in diff). See `--help` for more details.\n\n### Tab completion\n\n[argcomplete](https://kislyuk.github.io/argcomplete/) can be optionally installed (with `python3 -m pip install argcomplete`) to enable tab completion in a bash shell, completing options and symbol names using the linker map. It also requires a bit more setup:\n\nIf invoking the script **exactly** as `./diff.py`, the following should be added to the `.bashrc` according to argcomplete's instructions:\n\n```bash\neval \"$(register-python-argcomplete ./diff.py)\"\n```\n\nIf that doesn't work, run `register-python-argcomplete ./diff.py` in your terminal and copy the output to `.bashrc`.\n\nIf setup correctly (don't forget to restart the shell), `complete | grep ./diff.py` should output:\n\n```bash\ncomplete -o bashdefault -o default -o nospace -F _python_argcomplete ./diff.py\n```\n\nNote for developers or for general troubleshooting: run `export _ARC_DEBUG=` to enable debug output during tab-completion, it may show otherwise silenced errors. Use `unset _ARC_DEBUG` or restart the terminal to disable.\n\n### Contributing\n\nContributions are very welcome! Some notes on workflow:\n\n`black` is used for code formatting. You can either run `black diff.py` manually, or set up a pre-commit hook:\n```bash\npip install pre-commit black\npre-commit install\n```\n\nType annotations are used for all Python code. `mypy` should pass without any errors.\n\nPRs that skip the above are still welcome, however.\n\nThe targeted Python version is 3.6. There are currently no tests.\n","tools/fado/z64_relocation_section_format.md":"# Zelda 64 overlay relocation section format\n\nBoth Zelda 64 titles use the same custom dynamic overlay relocation format, which is \n\n\nAll elements are 4 bytes in width.\n\n| Offset  | Description                                 | Notes                                                         |\n| ------- | ------------------------------------------- | ------------------------------------------------------------- |\n| 0x00    | Size of overlay .text section               |                                                               |\n| 0x04    | Size of overlay .data section               |                                                               |\n| 0x08    | Size of overlay .rodata section             |                                                               |\n| 0x0C    | Size of overlay .bss section                |                                                               |\n| 0x10    | Number of relocation entries                |                                                               |\n| 0x14-   | Relocation entries                          | Must be sorted in increasing order by section, then offset    |\n| ...     |                                             |                                                               |\n|         | (zero padding of section to 0x10 alignment) |                                                               |\n| End - 4 | Size of overlay .ovl section                | Also the offset from the end of the rest of the section sizes |\n\n\n## Relocation entries\n\nThe only element that is not a single number are the relocation entries, which are bitpacked as follows:\n\n| 0x1F..0x1E | 0x1D..0x18 | 0x17..0x0                     |\n| ---------- | ---------- | ----------------------------- |\n| ss         | tttttt     | oooo oooo oooo oooo oooo oooo |\n| Section    | Type       | Offset                        |\n\n\n### Section \n\n2 bits. Section where the instruction or data to be relocated is.\n\n| Value | Section |\n| ----- | ------- |\n| 1     | .text   |\n| 2     | .data   |\n| 3     | .rodata |\n\n\n### Type\n\n6 bits. Four types of standard MIPS relocation are supported. They use the same values as the standard elf formats:\n\n| Value | Type          | Description                                                                       |\n| ----- | ------------- | --------------------------------------------------------------------------------- |\n| 2     | `R_MIPS_32`   | A full word address (such as a pointer in data or an address in a jumptable)      |\n| 4     | `R_MIPS_26`   | 26-bit direct relocation, for a J-type instruction                                |\n| 5     | `R_MIPS_HI16` | High 16-bit, generally the top half of an address in an `li`/`lui`                |\n| 6     | `R_MIPS_LO16` | Low 16-bit, the bottom half of an address, such as in an `addiu`,`ori`,`lh`, etc. |\n\n\n### Offset\n\n0x18 bits. Offset in bytes from the start of the section where the relocation occurs.\n\n\n### Example\n\n```\n0x82000A30 = 0b1000 0010 0000 0000 0000 1010 0011 0000\n```\n\nThis splits as\n\n```\n0b10, 0b000010, 0b0000 0000 0000 1010 0011 0000 = 0x2, 0x2, 0xA30\n```\n\ni.e. a full-word (`R_MIPS_32`) relocation at `.data + 0xA30`.\n\n\n## Compiler compatibility\n\n### HI/LO\n\nThe MIPS ELF format standard specifies that each LO be preceded by a unique HI associated to it (but multiple LOs may associate to the same HI), and the overlay relocation function acts based on this assumption.\n\nIDO complies with this consistently, but GCC in its wisdom decided that it was appropriate to violate this by default, and allow multiple HIs to associate to the same LO. GCC also likes to reorder relocations in the `.rel.*` sections.\n\nTo prevent these you must pass *both* of the following compiler flags:\n\n```\n-mno-explicit-relocs -mno-split-addresses\n```\n\n(GNU do not document this behaviour themselves, although apparently it has been present for many years. It is also not even consistent between versions.)\n\n### rodata\n\nIt should be clear from the description above that this system expects a single rodata section. Again, IDO will only ever produce one rodata section, but GCC will produce several, albeit only one containing relocatable rodata: the others are for \"mergeable\" strings and floats/doubles. The cleanest way to deal with this is to pass \n\n```\n-fno-merge-constants\n```\n\nwhich will force GCC to generate a single combined rodata section. If, however, you really think you will benefit from merging constants, to obtain relocations correctly offset from the start of the entire rodata section(s), the actual `.rodata` section must be explicitly linked first.\n\nFor multi-file overlays, the situation is even more complicated, and Fado gets around this by adding up the sizes of all the rodata sections so that we may simply place one files' in one chunk: this means that each individual `.rodata` section should be linked before the others, i.e.\n\n```\n.text(1)\n.text(2)\n.data(1)\n.data(2)\n.rodata(1)\n.rodata.cst4(1)\n...\n.rodata(2)\n.rodata.cst4(2)\n```\n\nor similar.\n","tools/assets/descriptor/spec.md":"This document describes the expected structure of xml files describing assets.\n\n# Top elements\n\n## `Root`\n\n```xml\n<Root>\n    ...\n</Root>\n```\n\nThis is the root element in the file, containing exclusively `<File>` and `<ExternalFile>` elements as direct children.\n\n## `File`\n\n```xml\n<File Name=\"baserom_file\" Segment=\"11\">\n    ...\n</File>\n```\n\nA `<File>` contains resources elements as children.\n\n- Required attributes: `Name`\n- Optional attributes: `Segment`\n\n`Name` is the name of the baserom file from which the data is to be extracted.\n\n`Segment` (decimal) is the segment number for the file.\n\n## `ExternalFile`\n\n```xml\n<ExternalFile OutPath=\"assets/name\"/>\n```\n\nDeclare the `<File>`s in the xml may reference symbols from an external file.\n\nThe external file is located by matching its name against the list of assets in the version's `config.yml`.\n\nFor example, `baseroms/gc-eu/config.yml` contains\n\n```yml\nassets:\n- name: objects/gameplay_keep\n  xml_path: assets/xml/objects/gameplay_keep.xml\n```\n\nthen `<ExternalFile OutPath=\"assets/objects/gameplay_keep/\"/>` refers to that gameplay_keep entry, which uses the `gameplay_keep.xml` xml file when extracting assets for version gc-eu.\n\n\n# Resource elements\n\nResource elements describe resources. Resources are pieces of data corresponding to a symbol each.\n\nOne attribute is required on all resource elements: `Name`.\n\n- `Name` is the name of the symbol associated to the resource.\n\nAnother attribute, optional, is common to all resource elements: `Offset`.\n\nIf `Offset` is set to a (hexadecimal) number such as `Offset=\"0x421\"`, it specifies the location of the resource in bytes from the start of the file data.\n\nIf `Offset` is not set, the resource is assumed to start where the previous resource ended, or at 0 if the resource is the first in the `<File>`.\n\n`Offset` can also be set to be a relative offset like `Offset=\".+0x421\"`, which makes the resource location be that many bytes after the end of the previous resource.\n\n## `Blob`\n\n```xml\n<Blob Name=\"gNameBlob\" Size=\"0x421\" Offset=\"0x1230\">\n```\n\nUnstructured binary data.\n\n- Required attributes: `Size`\n\n`Size` is the size of the binary blob in bytes.\n\n## `DList`\n\n```xml\n<DList Name=\"gNameDL\" Offset=\"0x1230\" Length=\"123\" Ucode=\"f3dex2\" RawPointers=\"0x08000000,0x09000000\"/>\n```\n\nA display list.\n\n- Optional attributes: `Length`, `Ucode`, `RawPointers`\n\n`Length` can be set to indicate the length (amount of `Gfx` double-words) of the dlist. If not set, the dlist length is automatic.\n\n`Ucode` (defaults to `f3dex2`) picks the graphics microcode for which to disassemble the dlist. It may be `f3dex` or `f3dex2`.\n\n`RawPointers` (defaults to an empty value) is a comma-separated list of values the display list uses as raw pointers (\"hex\" instead of a symbol). The purpose of this attribute is to silence extraction warnings.\n\n## `Mtx`\n\n```xml\n<Mtx Name=\"gNameMtx\" Offset=\"0x1230\"/>\n```\n\nA fixed-point matrix.\n\n## `Texture`\n\n```xml\n<Texture Name=\"gNameTex\" Format=\"rgba16\" Width=\"16\" Height=\"16\" Offset=\"0x1230\"/>\n<Texture Name=\"gNameTex\" Format=\"ci8\" Width=\"16\" Height=\"16\" Offset=\"0x1230\" Tlut=\"gNameTLUT\"/>\n<Texture Name=\"gNameTex\" Format=\"ci8\" Width=\"16\" Height=\"16\" Offset=\"0x1230\" TlutOffset=\"0x2340\"/>\n<Texture Name=\"gNameTex\" Format=\"ci8\" Width=\"16\" Height=\"16\" Offset=\"0x1230\" ExternalTlut=\"baserom_file\" ExternalTlutOffset=\"0x2340\"/>\n```\n\nA texture, an image in one of the native N64 formats.\n\n- Required attributes for all formats: `Format`, `Width`, `Height`\n- Required attributes for CI formats (`ci4`, `ci8`): `Tlut`, or `TlutOffset`, or `ExternalTlut` and `ExternalTlutOffset`\n\n`Format` is the format of the texture, one of `rgba32`, `rgba16`, `i4`, `i8`, `ia4`, `ia8`, `ia16`, `ci4` or `ci8`.\n\n`Width` and `Height` specify the dimensions of the texture.\n\nFor CI formats, the TLUT (Texture Look Up Table, or palette) must be specified with either `Tlut` or `TlutOffset` if the TLUT is in the same file as the texture, or both of `ExternalTlut` and `ExternalTlutOffset` if the TLUT is in a different file. `ExternalTlut` is the name of the baserom file where the TLUT is. In both cases, the TLUT must also be declared as a resource.\n\n## `Array`\n\n```xml\n<Array Name=\"gNameVtx\" Count=\"42\" Offset=\"0x1230\">\n    <Vtx/>\n</Array>\n<Array Name=\"gNameVec3sArray\" Count=\"42\" Offset=\"0x1230\">\n    <Vector Type=\"s16\" Dimensions=\"3\"/>\n</Array>\n<Array Name=\"gNameS16Array\" Count=\"42\" Offset=\"0x1230\">\n    <Scalar Type=\"s16\"/>\n</Array>\n```\n\nAn array of vertices, vectors or scalars. The child element determines the array's element type.\n\n- Required attributes: `Count`\n\n`Count` is the length of the array.\n\nThe child element may be one of `<Vtx/>` (for `Vtx[]`), `<Vector Type=\"s16\" Dimensions=\"3\"/>` (for `Vec3s[]`) or `<Scalar Type=\"s16\">` (for `s16[]`).\n\n## `Scene`\n\n```xml\n<Scene Name=\"name\" Offset=\"0x1230\"/>\n```\n\nScene commands.\n\n## `Room`\n\n```xml\n<Room Name=\"name\" Offset=\"0x1230\"/>\n```\n\nRoom commands.\n\n## `Collision`\n\n```xml\n<Collision Name=\"gNameCol\" Offset=\"0x1230\"/>\n```\n\nCollision header.\n\n## `Cutscene`\n\n```xml\n<Cutscene Name=\"gNameCs\" Offset=\"0x1230\"/>\n```\n\nCutscene script.\n\n## `Path`\n\n```xml\n<Path Name=\"gNamePathList\" Offset=\"0x1230\" NumPaths=\"12\"/>\n```\n\nPath list.\n\n- Required attributes: `NumPaths`\n\n`NumPaths` is the length of the path list.\n\n## `Skeleton`\n\n```xml\n<Skeleton Name=\"gNameSkel\" Type=\"Normal\" LimbType=\"Standard\" LimbNone=\"NAME_LIMB_NONE\" LimbMax=\"NAME_LIMB_MAX\" EnumName=\"NameLimb\" Offset=\"0x1230\"/>\n```\n\nSkeleton header.\n\n- Required attributes: `Type`, `LimbType`\n- Optional attributes: `LimbNone`, `LimbMax`, `EnumName`\n\n`Type` is the type of the skeleton, one of `Normal`, `Flex` or `Curve`.\n\n`LimbType` is the type of limb used in the skeleton, one of `Standard`, `LOD`, `Skin`, `Curve` or `Legacy`.\n\nNot all skeleton types are compatible with all limb types:\n\n`LimbType` | Compatible skeleton `Type`\n-----------|---------------------------\n`Standard` | `Normal`, `Flex`\n`LOD`      | `Normal`, `Flex`\n`Skin`     | `Normal`\n`Curve`    | `Curve`\n`Legacy`   | none\n\n`LimbNone`, `LimbMax`, `EnumName` can be set to override the corresponding names in the generated limb enum:\n\n```c\ntypedef enum NameLimb {\n    NAME_LIMB_NONE,\n    ...\n    NAME_LIMB_MAX\n} NameLimb;\n```\n\n## `LimbTable`\n\n```xml\n<LimbTable Name=\"gNameLimbs\" LimbType=\"Standard\" Count=\"12\" Offset=\"0x1230\"/>\n```\n\nLimb table.\n\n- Required attributes: `LimbType`, `Count`\n\n`LimbType` is one of `Standard`, `LOD`, `Skin`, `Curve` or `Legacy`.\n\n`Count` is the amount of limbs.\n\n## `Limb`\n\n```xml\n<Limb Name=\"gNameLimb\" LimbType=\"Standard\" EnumName=\"NAME_LIMB_NAME\" Offset=\"0x1230\"/>\n```\n\nLimb of a skeleton.\n\n- Required attributes: `LimbType`\n- Optional attributes: `EnumName`\n\n`LimbType` is one of `Standard`, `LOD`, `Skin`, `Curve` or `Legacy`.\n\n`EnumName` can be set to override the limb name in the generated limb enum.\n\n## `Animation`\n\n```xml\n<Animation Name=\"gNameAnim\" Offset=\"0x1230\"/>\n```\n\nAnimation header.\n\n## `CurveAnimation`\n\n```xml\n<CurveAnimation Name=\"gNameAnim\" SkelOffset=\"0x120\" Offset=\"0x1230\"/>\n```\n\nCurve animation header.\n\n- Required attributes: `SkelOffset`\n\n`SkelOffset` is the offset of the skeleton which uses this animation. The skeleton must also be declared as a resource.\n\n## `LegacyAnimation`\n\n```xml\n<LegacyAnimation Name=\"gNameAnim\" Offset=\"0x1230\"/>\n```\n\nLegacy animation header.\n\n## `PlayerAnimation`\n\n```xml\n<PlayerAnimation Name=\"gNamePlayerAnim\" Offset=\"0x1230\"/>\n```\n\nPlayer animation header.\n\n## `PlayerAnimationData`\n\n```xml\n<PlayerAnimationData Name=\"gNamePlayerAnimData\" FrameCount=\"20\" Offset=\"0x1230\"/>\n```\n\nPlayer animation data.\n\n- Required attributes: `FrameCount`\n\n`FrameCount` is the amount of frames in the animation.\n","tools/fado/lib/vc_vector/README.md":"# vc_vector\nFast simple C vector implementation\n\n[![Build Status: make && make test](https://travis-ci.org/skogorev/vc_vector.svg)](https://travis-ci.org/skogorev/vc_vector)\n\n## Usage\n\n### Basic\n```c\n#include \"vc_vector.h\"\n\nint main() {\n  // Creates an empty vector with the default reserved size\n  // and without custom deleter. Vector will contain 'int'\n  vc_vector* v = vc_vector_create(0, sizeof(int), NULL);\n  if (!v) {\n    return 1;\n  }\n\n  const int count = 10;\n  for (int i = 0; i < count; ++i) {\n    // The function takes a pointer to the elements,\n    // but the vector will make a copy of the element\n    vc_vector_push_back(v, &i);\n  }\n\n  // Print each vector element\n  for (void* i = vc_vector_begin(v);\n             i != vc_vector_end(v);\n             i = vc_vector_next(v, i)) {\n    printf(\"%u; \", *(int*)i);\n  }\n\n  vc_vector_release(v);\n  return 0;\n}\n```\n\n### Advanced\n```c\n#include \"vc_vector.h\"\n\nstruct Item {\n  int val1;\n  int val2;\n};\n\nint main() {\n  const int n = 10;\n\n  // Creates an empty vector with the reserved size for the 'n' elements\n  // and with custom deleter 'free'. Vector will contain pointers to 'Item'\n  vc_vector* v = vc_vector_create(n, sizeof(struct Node*), free);\n  if (!v) {\n    return 1;\n  }\n\n  struct Item* item = NULL;\n  const int count = n + 1;\n  // Vector automatically increases the reserved size when 'n + 1' will be added\n  for (int i = 0; i < count; ++i) {\n    // Creating item\n    item = malloc(sizeof(struct Item));\n    if (!item) {\n      continue;\n    }\n\n    item->val1 = i;\n    item->val2 = 0;\n\n    // Pushing to the end of the vector\n    if (!vc_vector_push_back(v, item)) {\n      // If the item was not pushed, you have to delete it\n      free(item);\n    }\n  }\n\n  // ...\n\n  // Calls custom deleter 'free' for all items\n  // and releases the vector\n  vc_vector_release(v);\n  return 0;\n}\n```\n\n## Projects that use vc_vector\n[kraken.io](https://kraken.io/)\n\n## License\n\n[MIT License](LICENSE.md)\n","tools/fado/lib/vc_vector/LICENSE.md":"#The MIT License (MIT)\n\n*Copyright (c) 2016 Skogorev Anton*\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","tools/overlayhelpers/filetable.json":"{\"va\": {\"12248064\": null, \"12246208\": \"ovl_Shot_Sun\", \"12241936\": \"ovl_Oceff_Wipe4\", \"12235760\": \"ovl_Oceff_Wipe3\", \"12229552\": \"ovl_Oceff_Wipe2\", \"12225936\": \"ovl_Oceff_Wipe\", \"12218592\": \"ovl_Oceff_Storm\", \"12214384\": \"ovl_Oceff_Spot\", \"12200608\": \"ovl_Object_Kankyo\", \"12197360\": \"ovl_Obj_Warp2block\", \"12193120\": \"ovl_Obj_Tsubo\", \"12189600\": \"ovl_Obj_Timeblock\", \"12186288\": \"ovl_Obj_Syokudai\", \"12177936\": \"ovl_Obj_Switch\", \"12177360\": \"ovl_Obj_Roomtimer\", \"12169600\": \"ovl_Obj_Oshihiki\", \"12167632\": \"ovl_Obj_Mure3\", \"12164928\": \"ovl_Obj_Mure2\", \"12159648\": \"ovl_Obj_Mure\", \"12158224\": \"ovl_Obj_Makeoshihiki\", \"12157552\": \"ovl_Obj_Makekinsuta\", \"12151712\": \"ovl_Obj_Lightswitch\", \"12148944\": \"ovl_Obj_Lift\", \"12147152\": \"ovl_Obj_Kibako2\", \"12143776\": \"ovl_Obj_Kibako\", \"12141152\": \"ovl_Obj_Ice_Poly\", \"12139360\": \"ovl_Obj_Hsblock\", \"12138592\": \"ovl_Obj_Hana\", \"12136336\": \"ovl_Obj_Hamishi\", \"12135168\": \"ovl_Obj_Elevator\", \"12133408\": \"ovl_Obj_Dekujr\", \"12131168\": \"ovl_Obj_Comb\", \"12129776\": \"ovl_Obj_Bombiwa\", \"12129376\": \"ovl_Obj_Blockstop\", \"12118656\": \"ovl_Obj_Bean\", \"12111952\": \"ovl_Mir_Ray\", \"12103936\": \"ovl_Magic_Wind\", \"12094832\": \"ovl_Magic_Fire\", \"12088272\": \"ovl_Magic_Dark\", \"12085536\": \"ovl_Item_Shield\", \"12083504\": \"ovl_Item_Ocarina\", \"12083168\": \"ovl_Item_Inbox\", \"12080624\": \"ovl_Item_Etcetera\", \"12079440\": \"ovl_Item_B_Heart\", \"11966880\": \"ovl_Fishing\", \"11949856\": \"ovl_End_Title\", \"11938240\": \"ovl_En_fHG\", \"11928096\": \"ovl_En_Zo\", \"11909040\": \"ovl_En_Zl4\", \"11875248\": \"ovl_En_Zl3\", \"11856272\": \"ovl_En_Zl2\", \"11840320\": \"ovl_En_Zl1\", \"11812944\": \"ovl_En_Zf\", \"11811264\": \"ovl_En_Yukabyun\", \"11808192\": \"ovl_En_Yabusame_Mark\", \"11780576\": \"ovl_En_Xc\", \"11775856\": \"ovl_En_Wood02\", \"11771600\": \"ovl_En_Wonder_Talk2\", \"11768048\": \"ovl_En_Wonder_Talk\", \"11763808\": \"ovl_En_Wonder_Item\", \"11746480\": \"ovl_En_Wf\", \"11739792\": \"ovl_En_Weiyer\", \"11735072\": \"ovl_En_Weather_Tag\", \"11728160\": \"ovl_En_Wallmas\", \"11726320\": \"ovl_En_Wall_Tubo\", \"11719776\": \"ovl_En_Vm\", \"11706880\": \"ovl_En_Viewer\", \"11702176\": \"ovl_En_Vb_Ball\", \"11701936\": \"ovl_En_Vase\", \"11691696\": \"ovl_En_Vali\", \"11688176\": \"ovl_En_Tubo_Trap\", \"11683424\": \"ovl_En_Trap\", \"11676912\": \"ovl_En_Tr\", \"11668960\": \"ovl_En_Tp\", \"11665776\": \"ovl_En_Toryo\", \"11655552\": \"ovl_En_Torch2\", \"11655312\": \"ovl_En_Torch\", \"11647232\": \"ovl_En_Tk\", \"11635328\": \"ovl_En_Tite\", \"11633504\": \"ovl_En_Tg\", \"11632432\": \"ovl_En_Tana\", \"11629920\": \"ovl_En_Takara_Man\", \"11614880\": \"ovl_En_Ta\", \"11606256\": \"ovl_En_Syateki_Niw\", \"11602032\": \"ovl_En_Syateki_Man\", \"11597488\": \"ovl_En_Syateki_Itm\", \"11582896\": \"ovl_En_Sw\", \"11581344\": \"ovl_En_Stream\", \"11564352\": \"ovl_En_Sth\", \"11552912\": \"ovl_En_St\", \"11543152\": \"ovl_En_Ssh\", \"11542192\": \"ovl_En_Skjneedle\", \"11526832\": \"ovl_En_Skj\", \"11520416\": \"ovl_En_Skb\", \"11516800\": \"ovl_En_Siofuki\", \"11515536\": \"ovl_En_Si\", \"11511584\": \"ovl_En_Shopnuts\", \"11505184\": \"ovl_En_Sda\", \"11504752\": \"ovl_En_Scene_Change\", \"11499504\": \"ovl_En_Sb\", \"11490656\": \"ovl_En_Sa\", \"11478352\": \"ovl_En_Ru2\", \"11447312\": \"ovl_En_Ru1\", \"11437120\": \"ovl_En_Rr\", \"11432624\": \"ovl_En_Rl\", \"11430192\": \"ovl_En_River_Sound\", \"11422928\": \"ovl_En_Reeba\", \"11412480\": \"ovl_En_Rd\", \"11411648\": \"ovl_En_Pu_box\", \"11394384\": \"ovl_En_Poh\", \"11374480\": \"ovl_En_Po_Sisters\", \"11368256\": \"ovl_En_Po_Relay\", \"11352832\": \"ovl_En_Po_Field\", \"11349168\": \"ovl_En_Po_Desert\", \"11334816\": \"ovl_En_Peehat\", \"11328976\": \"ovl_En_Part\", \"11312928\": \"ovl_En_Owl\", \"11283616\": \"ovl_En_Ossan\", \"11273824\": \"ovl_En_Okuta\", \"11267360\": \"ovl_En_Okarina_Tag\", \"11265888\": \"ovl_En_Okarina_Effect\", \"11265696\": \"ovl_En_OE2\", \"11258800\": \"ovl_En_Ny\", \"11256032\": \"ovl_En_Nwc\", \"11254352\": \"ovl_En_Nutsball\", \"11246656\": \"ovl_En_Niw_Lady\", \"11243392\": \"ovl_En_Niw_Girl\", \"11229056\": \"ovl_En_Niw\", \"11210128\": \"ovl_En_Nb\", \"11207712\": \"ovl_En_Mu\", \"11205920\": \"ovl_En_Ms\", \"11202128\": \"ovl_En_Mm2\", \"11196272\": \"ovl_En_Mm\", \"11192576\": \"ovl_En_Mk\", \"11182672\": \"ovl_En_Md\", \"11165776\": \"ovl_En_Mb\", \"11156224\": \"ovl_En_Mag\", \"11152032\": \"ovl_En_Ma3\", \"11147680\": \"ovl_En_Ma2\", \"11142800\": \"ovl_En_Ma1\", \"11136992\": \"ovl_En_M_Thunder\", \"11136576\": \"ovl_En_M_Fire1\", \"11135440\": \"ovl_En_Lightbox\", \"11131712\": \"ovl_En_Light\", \"11126096\": \"ovl_En_Kz\", \"11120544\": \"ovl_En_Kusa\", \"11103664\": \"ovl_En_Ko\", \"11096912\": \"ovl_En_Karebaba\", \"11083680\": \"ovl_En_Kanban\", \"11078944\": \"ovl_En_Kakasi3\", \"11075600\": \"ovl_En_Kakasi2\", \"11071856\": \"ovl_En_Kakasi\", \"11048864\": \"ovl_En_Jsjutan\", \"11046416\": \"ovl_En_Js\", \"11040768\": \"ovl_En_Jj\", \"11040384\": \"ovl_En_It\", \"11002976\": \"ovl_En_Ishi\", \"10993184\": \"ovl_En_Insect\", \"10981296\": \"ovl_En_In\", \"10961680\": \"ovl_En_Ik\", \"10956784\": \"ovl_En_Ice_Hono\", \"10941872\": \"ovl_En_Hy\", \"10940320\": \"ovl_En_Hs2\", \"10937248\": \"ovl_En_Hs\", \"10934480\": \"ovl_En_Horse_Zelda\", \"10924624\": \"ovl_En_Horse_Normal\", \"10916816\": \"ovl_En_Horse_Link_Child\", \"10913376\": \"ovl_En_Horse_Ganon\", \"10909008\": \"ovl_En_Horse_Game_Check\", \"10859248\": \"ovl_En_Horse\", \"10853424\": \"ovl_En_Honotrap\", \"10849296\": \"ovl_En_Holl\", \"10842624\": \"ovl_En_Hintnuts\", \"10838224\": \"ovl_En_Heishi4\", \"10835520\": \"ovl_En_Heishi3\", \"10825376\": \"ovl_En_Heishi2\", \"10818256\": \"ovl_En_Heishi1\", \"10816848\": \"ovl_En_Hata\", \"10813984\": \"ovl_En_Guest\", \"10806048\": \"ovl_En_Gs\", \"10796192\": \"ovl_En_Goroiwa\", \"10784448\": \"ovl_En_Goma\", \"10759472\": \"ovl_En_Go2\", \"10741104\": \"ovl_En_Go\", \"10737376\": \"ovl_En_Gm\", \"10725200\": \"ovl_En_GirlA\", \"10703632\": \"ovl_En_GeldB\", \"10700320\": \"ovl_En_Ge3\", \"10693584\": \"ovl_En_Ge2\", \"10684784\": \"ovl_En_Ge1\", \"10678656\": \"ovl_En_Gb\", \"10649600\": \"ovl_En_Ganon_Organ\", \"10632544\": \"ovl_En_Ganon_Mant\", \"10624704\": \"ovl_En_G_Switch\", \"10616256\": \"ovl_En_Fz\", \"10610080\": \"ovl_En_Fw\", \"10606608\": \"ovl_En_Fu\", \"10594720\": \"ovl_En_Fr\", \"10581264\": \"ovl_En_Floormas\", \"10572416\": \"ovl_En_Fish\", \"10563696\": \"ovl_En_Firefly\", \"10558496\": \"ovl_En_Fire_Rock\", \"10547808\": \"ovl_En_Fhg_Fire\", \"10544304\": \"ovl_En_Fd_Fire\", \"10532544\": \"ovl_En_Fd\", \"10527760\": \"ovl_En_Ex_Ruppy\", \"10522272\": \"ovl_En_Ex_Item\", \"10516880\": \"ovl_En_Encount2\", \"10512160\": \"ovl_En_Encount1\", \"10492976\": \"ovl_En_Elf\", \"10485664\": \"ovl_En_Eiyer\", \"10485136\": \"ovl_En_Eg\", \"10483440\": \"ovl_En_Dy_Extra\", \"10476592\": \"ovl_En_Du\", \"10473520\": \"ovl_En_Ds\", \"10469840\": \"ovl_En_Door\", \"10465232\": \"ovl_En_Dog\", \"10453584\": \"ovl_En_Dodongo\", \"10445760\": \"ovl_En_Dodojr\", \"10433216\": \"ovl_En_Dnt_Nomal\", \"10427104\": \"ovl_En_Dnt_Jiji\", \"10422496\": \"ovl_En_Dnt_Demo\", \"10416976\": \"ovl_En_Dns\", \"10410096\": \"ovl_En_Diving_Game\", \"10406016\": \"ovl_En_Dha\", \"10399040\": \"ovl_En_Dh\", \"10392928\": \"ovl_En_Dekunuts\", \"10377168\": \"ovl_En_Dekubaba\", \"10371872\": \"ovl_En_Daiku_Kakariko\", \"10365744\": \"ovl_En_Daiku\", \"10361008\": \"ovl_En_Cs\", \"10355264\": \"ovl_En_Crow\", \"10350080\": \"ovl_En_Cow\", \"10302896\": \"ovl_En_Clear_Tag\", \"10299024\": \"ovl_En_Changer\", \"10296032\": \"ovl_En_Bx\", \"10282720\": \"ovl_En_Bw\", \"10276976\": \"ovl_En_Butte\", \"10271744\": \"ovl_En_Bubble\", \"10267408\": \"ovl_En_Brob\", \"10259904\": \"ovl_En_Box\", \"10257536\": \"ovl_En_Boom\", \"10252128\": \"ovl_En_Bombf\", \"10246192\": \"ovl_En_Bom_Chu\", \"10243648\": \"ovl_En_Bom_Bowl_Pit\", \"10237488\": \"ovl_En_Bom_Bowl_Man\", \"10233552\": \"ovl_En_Bom\", \"10231904\": \"ovl_En_Blkobj\", \"10230704\": \"ovl_En_Bird\", \"10221728\": \"ovl_En_Bili\", \"10210400\": \"ovl_En_Bigokuta\", \"10207280\": \"ovl_En_Bdfire\", \"10191584\": \"ovl_En_Bb\", \"10183504\": \"ovl_En_Ba\", \"10178816\": \"ovl_En_Attack_Niw\", \"10172704\": \"ovl_En_Arrow\", \"10172368\": \"ovl_En_Arow_Trap\", \"10171392\": \"ovl_En_Anubice_Tag\", \"10167712\": \"ovl_En_Anubice_Fire\", \"10162464\": \"ovl_En_Anubice\", \"10158960\": \"ovl_En_Ani\", \"10149664\": \"ovl_En_Am\", \"10147584\": \"ovl_Elf_Msg2\", \"10144544\": \"ovl_Elf_Msg\", \"10143488\": \"ovl_Effect_Ss_Stone1\", \"10142416\": \"ovl_Effect_Ss_Stick\", \"10142000\": \"ovl_Effect_Ss_Solder_Srch_Ball\", \"10141024\": \"ovl_Effect_Ss_Sibuki2\", \"10139184\": \"ovl_Effect_Ss_Sibuki\", \"10137328\": \"ovl_Effect_Ss_Lightning\", \"10135568\": \"ovl_Effect_Ss_KiraKira\", \"10131072\": \"ovl_Effect_Ss_Kakera\", \"10129840\": \"ovl_Effect_Ss_K_Fire\", \"10128368\": \"ovl_Effect_Ss_Ice_Smoke\", \"10127104\": \"ovl_Effect_Ss_Ice_Piece\", \"10125648\": \"ovl_Effect_Ss_HitMark\", \"10123760\": \"ovl_Effect_Ss_Hahen\", \"10122560\": \"ovl_Effect_Ss_G_Splash\", \"10121008\": \"ovl_Effect_Ss_G_Spk\", \"10119520\": \"ovl_Effect_Ss_G_Ripple\", \"10118048\": \"ovl_Effect_Ss_G_Magma2\", \"10117456\": \"ovl_Effect_Ss_G_Magma\", \"10116816\": \"ovl_Effect_Ss_G_Fire\", \"10114880\": \"ovl_Effect_Ss_Fire_Tail\", \"10110560\": \"ovl_Effect_Ss_Fhg_Flash\", \"10109216\": \"ovl_Effect_Ss_Fcircle\", \"10108096\": \"ovl_Effect_Ss_Extra\", \"10105648\": \"ovl_Effect_Ss_En_Ice\", \"10103648\": \"ovl_Effect_Ss_En_Fire\", \"10101456\": \"ovl_Effect_Ss_Dust\", \"10099888\": \"ovl_Effect_Ss_Dt_Bubble\", \"10099504\": \"ovl_Effect_Ss_Dead_Sound\", \"10098192\": \"ovl_Effect_Ss_Dead_Ds\", \"10096608\": \"ovl_Effect_Ss_Dead_Dd\", \"10095264\": \"ovl_Effect_Ss_Dead_Db\", \"10093904\": \"ovl_Effect_Ss_D_Fire\", \"10092608\": \"ovl_Effect_Ss_Bubble\", \"10090064\": \"ovl_Effect_Ss_Bomb2\", \"10088880\": \"ovl_Effect_Ss_Bomb\", \"10087856\": \"ovl_Effect_Ss_Blast\", \"10082512\": \"ovl_Eff_Dust\", \"10079408\": \"ovl_Efc_Erupc\", \"10061696\": \"ovl_Door_Warp1\", \"10061344\": \"ovl_Door_Toki\", \"10052256\": \"ovl_Door_Shutter\", \"10046544\": \"ovl_Door_Killer\", \"10044896\": \"ovl_Door_Gerudo\", \"10043120\": \"ovl_Door_Ana\", \"10041024\": \"ovl_Demo_Tre_Lgt\", \"10031664\": \"ovl_Demo_Shd\", \"10019936\": \"ovl_Demo_Sa\", \"10014672\": \"ovl_Demo_Kekkai\", \"9997952\": \"ovl_Demo_Kankyo\", \"9980896\": \"ovl_Demo_Im\", \"9974528\": \"ovl_Demo_Ik\", \"9950832\": \"ovl_Demo_Gt\", \"9947248\": \"ovl_Demo_Go\", \"9931056\": \"ovl_Demo_Gj\", \"9928256\": \"ovl_Demo_Geff\", \"9925520\": \"ovl_Demo_Ext\", \"9899856\": \"ovl_Demo_Effect\", \"9884848\": \"ovl_Demo_Ec\", \"9870032\": \"ovl_Demo_Du\", \"9857360\": \"ovl_Demo_6K\", \"9761472\": \"ovl_Boss_Va\", \"9669840\": \"ovl_Boss_Tw\", \"9618896\": \"ovl_Boss_Sst\", \"9550592\": \"ovl_Boss_Mo\", \"9525776\": \"ovl_Boss_Goma\", \"9504320\": \"ovl_Boss_Ganondrof\", \"9424704\": \"ovl_Boss_Ganon2\", \"9267312\": \"ovl_Boss_Ganon\", \"9250416\": \"ovl_Boss_Fd2\", \"9219520\": \"ovl_Boss_Fd\", \"9179536\": \"ovl_Boss_Dodongo\", \"9178144\": \"ovl_Bg_Zg\", \"9171984\": \"ovl_Bg_Ydan_Sp\", \"9170240\": \"ovl_Bg_Ydan_Maruta\", \"9168128\": \"ovl_Bg_Ydan_Hasi\", \"9166176\": \"ovl_Bg_Vb_Sima\", \"9165792\": \"ovl_Bg_Umajump\", \"9159936\": \"ovl_Bg_Treemouth\", \"9154112\": \"ovl_Bg_Toki_Swd\", \"9150208\": \"ovl_Bg_Toki_Hikari\", \"9148688\": \"ovl_Bg_Sst_Floor\", \"9147344\": \"ovl_Bg_Spot18_Shutter\", \"9144592\": \"ovl_Bg_Spot18_Obj\", \"9144192\": \"ovl_Bg_Spot18_Futa\", \"9139984\": \"ovl_Bg_Spot18_Basket\", \"9139200\": \"ovl_Bg_Spot17_Funen\", \"9137088\": \"ovl_Bg_Spot17_Bakudankabe\", \"9135168\": \"ovl_Bg_Spot16_Doughnut\", \"9129008\": \"ovl_Bg_Spot16_Bombstone\", \"9128016\": \"ovl_Bg_Spot15_Saku\", \"9124192\": \"ovl_Bg_Spot15_Rrbox\", \"9122848\": \"ovl_Bg_Spot12_Saku\", \"9121680\": \"ovl_Bg_Spot12_Gate\", \"9119728\": \"ovl_Bg_Spot11_Oasis\", \"9118080\": \"ovl_Bg_Spot11_Bakudankabe\", \"9116384\": \"ovl_Bg_Spot09_Obj\", \"9111904\": \"ovl_Bg_Spot08_Iceblock\", \"9110224\": \"ovl_Bg_Spot08_Bakudankabe\", \"9108528\": \"ovl_Bg_Spot07_Taki\", \"9103232\": \"ovl_Bg_Spot06_Objects\", \"9102448\": \"ovl_Bg_Spot05_Soko\", \"9100000\": \"ovl_Bg_Spot03_Taki\", \"9094752\": \"ovl_Bg_Spot02_Objects\", \"9093440\": \"ovl_Bg_Spot01_Objects2\", \"9092736\": \"ovl_Bg_Spot01_Idosoko\", \"9091808\": \"ovl_Bg_Spot01_Idomizu\", \"9088224\": \"ovl_Bg_Spot01_Idohashira\", \"9087424\": \"ovl_Bg_Spot01_Fusya\", \"9082752\": \"ovl_Bg_Spot00_Hanebasi\", \"9082336\": \"ovl_Bg_Spot00_Break\", \"9080400\": \"ovl_Bg_Relay_Objects\", \"9079520\": \"ovl_Bg_Pushbox\", \"9076912\": \"ovl_Bg_Po_Syokudai\", \"9069072\": \"ovl_Bg_Po_Event\", \"9065840\": \"ovl_Bg_Mori_Rakkatenjo\", \"9063872\": \"ovl_Bg_Mori_Kaitenkabe\", \"9061952\": \"ovl_Bg_Mori_Idomizu\", \"9058256\": \"ovl_Bg_Mori_Hineri\", \"9056352\": \"ovl_Bg_Mori_Hashira4\", \"9053536\": \"ovl_Bg_Mori_Hashigo\", \"9050112\": \"ovl_Bg_Mori_Elevator\", \"9046976\": \"ovl_Bg_Mori_Bigst\", \"9045888\": \"ovl_Bg_Mjin\", \"9042096\": \"ovl_Bg_Mizu_Water\", \"9041632\": \"ovl_Bg_Mizu_Uzu\", \"9039440\": \"ovl_Bg_Mizu_Shutter\", \"9034800\": \"ovl_Bg_Mizu_Movebg\", \"9028736\": \"ovl_Bg_Mizu_Bwall\", \"9028400\": \"ovl_Bg_Menkuri_Nisekabe\", \"9028016\": \"ovl_Bg_Menkuri_Kaiten\", \"9026672\": \"ovl_Bg_Menkuri_Eye\", \"9024576\": \"ovl_Bg_Jya_Zurerukabe\", \"9019696\": \"ovl_Bg_Jya_Megami\", \"9018272\": \"ovl_Bg_Jya_Lift\", \"9017152\": \"ovl_Bg_Jya_Kanaami\", \"9013408\": \"ovl_Bg_Jya_Ironobj\", \"9011392\": \"ovl_Bg_Jya_Haheniron\", \"9009520\": \"ovl_Bg_Jya_Goroiwa\", \"9001200\": \"ovl_Bg_Jya_Cobra\", \"8999328\": \"ovl_Bg_Jya_Bombiwa\", \"8996000\": \"ovl_Bg_Jya_Bombchuiwa\", \"8995232\": \"ovl_Bg_Jya_Block\", \"8992480\": \"ovl_Bg_Jya_Bigmirror\", \"8991424\": \"ovl_Bg_Jya_Amishutter\", \"8989536\": \"ovl_Bg_Jya_1flift\", \"8988480\": \"ovl_Bg_Ingate\", \"8986400\": \"ovl_Bg_Ice_Turara\", \"8985280\": \"ovl_Bg_Ice_Shutter\", \"8980288\": \"ovl_Bg_Ice_Shelter\", \"8976400\": \"ovl_Bg_Ice_Objects\", \"8975296\": \"ovl_Bg_Hidan_Syoku\", \"8971216\": \"ovl_Bg_Hidan_Sima\", \"8965824\": \"ovl_Bg_Hidan_Sekizou\", \"8962560\": \"ovl_Bg_Hidan_Rsekizou\", \"8958080\": \"ovl_Bg_Hidan_Rock\", \"8953888\": \"ovl_Bg_Hidan_Kowarerukabe\", \"8952160\": \"ovl_Bg_Hidan_Kousi\", \"8950064\": \"ovl_Bg_Hidan_Hrock\", \"8945728\": \"ovl_Bg_Hidan_Hamstep\", \"8942320\": \"ovl_Bg_Hidan_Fwbig\", \"8941120\": \"ovl_Bg_Hidan_Fslift\", \"8939104\": \"ovl_Bg_Hidan_Firewall\", \"8936992\": \"ovl_Bg_Hidan_Dalm\", \"8933792\": \"ovl_Bg_Hidan_Curtain\", \"8927120\": \"ovl_Bg_Heavy_Block\", \"8922560\": \"ovl_Bg_Haka_Zou\", \"8920320\": \"ovl_Bg_Haka_Water\", \"8917584\": \"ovl_Bg_Haka_Tubo\", \"8912032\": \"ovl_Bg_Haka_Trap\", \"8909056\": \"ovl_Bg_Haka_Ship\", \"8905952\": \"ovl_Bg_Haka_Sgami\", \"8904240\": \"ovl_Bg_Haka_MeganeBG\", \"8903232\": \"ovl_Bg_Haka_Megane\", \"8900544\": \"ovl_Bg_Haka_Huta\", \"8895984\": \"ovl_Bg_Haka_Gate\", \"8894128\": \"ovl_Bg_Haka\", \"8891840\": \"ovl_Bg_Gnd_Soulmeiro\", \"8891472\": \"ovl_Bg_Gnd_Nisekabe\", \"8886944\": \"ovl_Bg_Gnd_Iceblock\", \"8885440\": \"ovl_Bg_Gnd_Firemeiro\", \"8883248\": \"ovl_Bg_Gnd_Darkmeiro\", \"8881856\": \"ovl_Bg_Gjyo_Bridge\", \"8880480\": \"ovl_Bg_Gate_Shutter\", \"8870176\": \"ovl_Bg_Ganon_Otyuka\", \"8857648\": \"ovl_Bg_Dy_Yoseizo\", \"8854016\": \"ovl_Bg_Dodoago\", \"8851696\": \"ovl_Bg_Ddan_Kd\", \"8850096\": \"ovl_Bg_Ddan_Jd\", \"8846304\": \"ovl_Bg_Breakwall\", \"8843616\": \"ovl_Bg_Bowl_Wall\", \"8841168\": \"ovl_Bg_Bombwall\", \"8840528\": \"ovl_Bg_Bom_Guard\", \"8835088\": \"ovl_Bg_Bdan_Switch\", \"8830112\": \"ovl_Bg_Bdan_Objects\", \"8821936\": \"ovl_Arrow_Light\", \"8813776\": \"ovl_Arrow_Ice\", \"8805648\": \"ovl_Arrow_Fire\", \"8802048\": \"ovl_Arms_Hook\", \"8779344\": \"ovl_En_Test\", \"8751984\": \"ovl_map_mark_data\", \"8593936\": \"ovl_player_actor\", \"8468512\": \"ovl_kaleido_scope\", \"8404288\": \"ovl_file_choose\", \"8403952\": \"ovl_opening\", \"8391568\": \"ovl_select\", \"8388608\": \"ovl_title\", \"1408400\": null, \"118368\": \"code\", \"93600\": \"dmadata\", \"1120\": \"boot\"}, \"ra\": {\"56418368\": null, \"56418304\": \"softsprite_matrix_static\", \"56414208\": \"anime_texture_6_static\", \"56410112\": \"anime_texture_5_static\", \"56406016\": \"anime_texture_4_static\", \"56401920\": \"anime_texture_3_static\", \"56397824\": \"anime_texture_2_static\", \"56393728\": \"anime_texture_1_static\", \"56389632\": \"anime_model_6_static\", \"56385536\": \"anime_model_5_static\", \"56381440\": \"anime_model_4_static\", \"56377344\": \"anime_model_3_static\", \"56373248\": \"anime_model_2_static\", \"56369152\": \"anime_model_1_static\", \"56365056\": \"bump_texture_static\", \"56324096\": \"test01_room_0\", \"56307712\": \"test01_scene\", \"56266752\": \"ganontikasonogo_room_1\", \"56168448\": \"ganontikasonogo_room_0\", \"56147968\": \"ganontikasonogo_scene\", \"56086528\": \"kinsuta_room_0\", \"56078336\": \"kinsuta_scene\", \"55885824\": \"face_shop_room_0\", \"55881728\": \"face_shop_scene\", \"55857152\": \"besitu_room_0\", \"55853056\": \"besitu_scene\", \"55832576\": \"ganon_demo_room_0\", \"55791616\": \"ganon_demo_scene\", \"55754752\": \"ganon_sonogo_room_4\", \"55730176\": \"ganon_sonogo_room_3\", \"55693312\": \"ganon_sonogo_room_2\", \"55660544\": \"ganon_sonogo_room_1\", \"55627776\": \"ganon_sonogo_room_0\", \"55595008\": \"ganon_sonogo_scene\", \"55582720\": \"takaraya_room_6\", \"55570432\": \"takaraya_room_5\", \"55554048\": \"takaraya_room_4\", \"55541760\": \"takaraya_room_3\", \"55529472\": \"takaraya_room_2\", \"55521280\": \"takaraya_room_1\", \"55480320\": \"takaraya_room_0\", \"55447552\": \"takaraya_scene\", \"55418880\": \"mahouya_room_0\", \"55373824\": \"mahouya_scene\", \"55357440\": \"miharigoya_room_0\", \"55304192\": \"miharigoya_scene\", \"55267328\": \"souko_room_2\", \"55222272\": \"souko_room_1\", \"55181312\": \"souko_room_0\", \"55152640\": \"souko_scene\", \"55119872\": \"hylia_labo_room_0\", \"55046144\": \"hylia_labo_scene\", \"55017472\": \"hakaana_ouke_room_2\", \"54996992\": \"hakaana_ouke_room_1\", \"54951936\": \"hakaana_ouke_room_0\", \"54931456\": \"hakaana_ouke_scene\", \"54902784\": \"bowling_room_0\", \"54841344\": \"bowling_scene\", \"54824960\": \"hairal_niwa_n_room_0\", \"54784000\": \"hairal_niwa_n_scene\", \"54763520\": \"gerudoway_room_5\", \"54747136\": \"gerudoway_room_4\", \"54697984\": \"gerudoway_room_3\", \"54681600\": \"gerudoway_room_2\", \"54648832\": \"gerudoway_room_1\", \"54628352\": \"gerudoway_room_0\", \"54571008\": \"gerudoway_scene\", \"54542336\": \"hakaana2_room_0\", \"54484992\": \"hakaana2_scene\", \"54145024\": \"shrine_r_room_0\", \"54136832\": \"shrine_r_scene\", \"53796864\": \"shrine_n_room_0\", \"53788672\": \"shrine_n_scene\", \"53760000\": \"turibori_room_0\", \"53682176\": \"turibori_scene\", \"53342208\": \"shrine_room_0\", \"53334016\": \"shrine_scene\", \"53301248\": \"hakasitarelay_room_6\", \"53280768\": \"hakasitarelay_room_5\", \"53260288\": \"hakasitarelay_room_4\", \"53223424\": \"hakasitarelay_room_3\", \"53186560\": \"hakasitarelay_room_2\", \"53157888\": \"hakasitarelay_room_1\", \"53125120\": \"hakasitarelay_room_0\", \"53063680\": \"hakasitarelay_scene\", \"52965376\": \"hairal_niwa2_room_0\", \"52953088\": \"hairal_niwa2_scene\", \"52776960\": \"kakariko3_room_0\", \"52772864\": \"kakariko3_scene\", \"52719616\": \"ganon_final_room_0\", \"52641792\": \"ganon_final_scene\", \"52441088\": \"kokiri_home5_room_0\", \"52432896\": \"kokiri_home5_scene\", \"52199424\": \"kokiri_home4_room_0\", \"52191232\": \"kokiri_home4_scene\", \"52142080\": \"jyasinboss_room_3\", \"52125696\": \"jyasinboss_room_2\", \"52092928\": \"jyasinboss_room_1\", \"52088832\": \"jyasinboss_room_0\", \"52051968\": \"jyasinboss_scene\", \"52027392\": \"ganon_boss_room_0\", \"51994624\": \"ganon_boss_scene\", \"51970048\": \"ganon_room_9\", \"51941376\": \"ganon_room_8\", \"51896320\": \"ganon_room_7\", \"51855360\": \"ganon_room_6\", \"51818496\": \"ganon_room_5\", \"51777536\": \"ganon_room_4\", \"51744768\": \"ganon_room_3\", \"51712000\": \"ganon_room_2\", \"51679232\": \"ganon_room_1\", \"51646464\": \"ganon_room_0\", \"51576832\": \"ganon_scene\", \"51527680\": \"MIZUsin_bs_room_1\", \"51507200\": \"MIZUsin_bs_room_0\", \"51499008\": \"MIZUsin_bs_scene\", \"51474432\": \"HAKAdan_bs_room_1\", \"51462144\": \"HAKAdan_bs_room_0\", \"51449856\": \"HAKAdan_bs_scene\", \"51421184\": \"ydan_boss_room_1\", \"51392512\": \"ydan_boss_room_0\", \"51384320\": \"ydan_boss_scene\", \"51367936\": \"ddan_boss_room_1\", \"51347456\": \"ddan_boss_room_0\", \"51335168\": \"ddan_boss_scene\", \"51236864\": \"nakaniwa_room_0\", \"51220480\": \"nakaniwa_scene\", \"51007488\": \"tent_room_0\", \"51003392\": \"tent_scene\", \"50819072\": \"labo_room_0\", \"50814976\": \"labo_scene\", \"50655232\": \"impa_room_0\", \"50651136\": \"impa_scene\", \"50483200\": \"night_shop_room_0\", \"50479104\": \"night_shop_scene\", \"50319360\": \"alley_shop_room_0\", \"50315264\": \"alley_shop_scene\", \"50135040\": \"drag_room_0\", \"50130944\": \"drag_scene\", \"49971200\": \"zoora_room_0\", \"49967104\": \"zoora_scene\", \"49807360\": \"golon_room_0\", \"49803264\": \"golon_scene\", \"49782784\": \"yousei_izumi_yoko_room_0\", \"49729536\": \"yousei_izumi_yoko_scene\", \"49709056\": \"yousei_izumi_tate_room_0\", \"49672192\": \"yousei_izumi_tate_scene\", \"49639424\": \"hakaana_room_0\", \"49635328\": \"hakaana_scene\", \"49618944\": \"daiyousei_izumi_room_0\", \"49561600\": \"daiyousei_izumi_scene\", \"49389568\": \"hut_room_0\", \"49385472\": \"hut_scene\", \"49356800\": \"FIRE_bs_room_1\", \"49336320\": \"FIRE_bs_room_0\", \"49315840\": \"FIRE_bs_scene\", \"49291264\": \"bdan_boss_room_1\", \"49274880\": \"bdan_boss_room_0\", \"49270784\": \"bdan_boss_scene\", \"49094656\": \"kakariko_room_0\", \"49090560\": \"kakariko_scene\", \"48898048\": \"malon_stable_room_0\", \"48893952\": \"malon_stable_scene\", \"48668672\": \"kokiri_home3_room_0\", \"48660480\": \"kokiri_home3_scene\", \"48656384\": \"hiral_demo_room_0\", \"48640000\": \"hiral_demo_scene\", \"48156672\": \"market_alley_n_room_0\", \"48148480\": \"market_alley_n_scene\", \"47992832\": \"enrui_room_0\", \"47988736\": \"enrui_scene\", \"47833088\": \"entra_n_room_0\", \"47828992\": \"entra_n_scene\", \"47816704\": \"market_ruins_room_0\", \"47808512\": \"market_ruins_scene\", \"47779840\": \"spot20_room_0\", \"47706112\": \"spot20_scene\", \"47222784\": \"market_alley_room_0\", \"47214592\": \"market_alley_scene\", \"47198208\": \"sasatest_room_0\", \"47185920\": \"sasatest_scene\", \"47104000\": \"ganon_tou_room_0\", \"47083520\": \"ganon_tou_scene\", \"47038464\": \"hairal_niwa_room_0\", \"46964736\": \"hairal_niwa_scene\", \"46792704\": \"shop1_room_0\", \"46788608\": \"shop1_scene\", \"46755840\": \"syatekijyou_room_0\", \"46702592\": \"syatekijyou_scene\", \"46645248\": \"moribossroom_room_1\", \"46620672\": \"moribossroom_room_0\", \"46612480\": \"moribossroom_scene\", \"46456832\": \"entra_room_0\", \"46452736\": \"entra_scene\", \"46424064\": \"kakusiana_room_13\", \"46391296\": \"kakusiana_room_12\", \"46354432\": \"kakusiana_room_11\", \"46329856\": \"kakusiana_room_10\", \"46305280\": \"kakusiana_room_9\", \"46288896\": \"kakusiana_room_8\", \"46272512\": \"kakusiana_room_7\", \"46247936\": \"kakusiana_room_6\", \"46227456\": \"kakusiana_room_5\", \"46194688\": \"kakusiana_room_4\", \"46170112\": \"kakusiana_room_3\", \"46157824\": \"kakusiana_room_2\", \"46133248\": \"kakusiana_room_1\", \"46100480\": \"kakusiana_room_0\", \"46043136\": \"kakusiana_scene\", \"45862912\": \"kokiri_home_room_0\", \"45858816\": \"kokiri_home_scene\", \"45658112\": \"kokiri_shop_room_0\", \"45654016\": \"kokiri_shop_scene\", \"45490176\": \"link_home_room_0\", \"45481984\": \"link_home_scene\", \"45449216\": \"sutaru_room_0\", \"45445120\": \"sutaru_scene\", \"45412352\": \"tokinoma_room_1\", \"45314048\": \"tokinoma_room_0\", \"45236224\": \"tokinoma_scene\", \"45154304\": \"kenjyanoma_room_0\", \"45137920\": \"kenjyanoma_scene\", \"45133824\": \"testroom_room_4\", \"45117440\": \"testroom_room_3\", \"45101056\": \"testroom_room_2\", \"45088768\": \"testroom_room_1\", \"45068288\": \"testroom_room_0\", \"45047808\": \"testroom_scene\", \"45023232\": \"market_night_room_0\", \"45010944\": \"market_night_scene\", \"44986368\": \"market_day_room_0\", \"44974080\": \"market_day_scene\", \"44851200\": \"spot18_room_3\", \"44777472\": \"spot18_room_2\", \"44748800\": \"spot18_room_1\", \"44670976\": \"spot18_room_0\", \"44625920\": \"spot18_scene\", \"44548096\": \"spot17_room_1\", \"44519424\": \"spot17_room_0\", \"44453888\": \"spot17_scene\", \"44408832\": \"spot16_room_0\", \"44281856\": \"spot16_scene\", \"44224512\": \"spot15_room_0\", \"44122112\": \"spot15_scene\", \"44044288\": \"spot13_room_1\", \"44040192\": \"spot13_room_0\", \"44015616\": \"spot13_scene\", \"43962368\": \"spot12_room_1\", \"43888640\": \"spot12_room_0\", \"43823104\": \"spot12_scene\", \"43769856\": \"spot11_room_0\", \"43663360\": \"spot11_scene\", \"43646976\": \"spot10_room_9\", \"43634688\": \"spot10_room_8\", \"43622400\": \"spot10_room_7\", \"43606016\": \"spot10_room_6\", \"43577344\": \"spot10_room_5\", \"43565056\": \"spot10_room_4\", \"43540480\": \"spot10_room_3\", \"43520000\": \"spot10_room_2\", \"43483136\": \"spot10_room_1\", \"43470848\": \"spot10_room_0\", \"43401216\": \"spot10_scene\", \"43364352\": \"spot09_room_0\", \"43290624\": \"spot09_scene\", \"43253760\": \"spot08_room_0\", \"43180032\": \"spot08_scene\", \"43126784\": \"spot07_room_1\", \"43098112\": \"spot07_room_0\", \"43057152\": \"spot07_scene\", \"43012096\": \"spot06_room_0\", \"42897408\": \"spot06_scene\", \"42856448\": \"spot05_room_0\", \"42770432\": \"spot05_scene\", \"42745856\": \"spot04_room_2\", \"42708992\": \"spot04_room_1\", \"42594304\": \"spot04_room_0\", \"42520576\": \"spot04_scene\", \"42487808\": \"spot03_room_1\", \"42430464\": \"spot03_room_0\", \"42381312\": \"spot03_scene\", \"42258432\": \"spot02_room_1\", \"42246144\": \"spot02_room_0\", \"42196992\": \"spot02_scene\", \"42156032\": \"spot01_room_0\", \"42037248\": \"spot01_scene\", \"41947136\": \"spot00_room_0\", \"41771008\": \"spot00_scene\", \"41615360\": \"depth_test_room_0\", \"41611264\": \"depth_test_scene\", \"41570304\": \"syotes2_room_0\", \"41558016\": \"syotes2_scene\", \"41504768\": \"syotes_room_0\", \"41496576\": \"syotes_scene\", \"41463808\": \"ganontika_room_19\", \"41410560\": \"ganontika_room_18\", \"41373696\": \"ganontika_room_17\", \"41361408\": \"ganontika_room_16\", \"41328640\": \"ganontika_room_15\", \"41283584\": \"ganontika_room_14\", \"41250816\": \"ganontika_room_13\", \"41201664\": \"ganontika_room_12\", \"41172992\": \"ganontika_room_11\", \"41144320\": \"ganontika_room_10\", \"41095168\": \"ganontika_room_9\", \"41054208\": \"ganontika_room_8\", \"41021440\": \"ganontika_room_7\", \"40955904\": \"ganontika_room_6\", \"40923136\": \"ganontika_room_5\", \"40890368\": \"ganontika_room_4\", \"40849408\": \"ganontika_room_3\", \"40816640\": \"ganontika_room_2\", \"40697856\": \"ganontika_room_1\", \"40656896\": \"ganontika_room_0\", \"40517632\": \"ganontika_scene\", \"40493056\": \"men_room_10\", \"40476672\": \"men_room_9\", \"40439808\": \"men_room_8\", \"40402944\": \"men_room_7\", \"40370176\": \"men_room_6\", \"40345600\": \"men_room_5\", \"40300544\": \"men_room_4\", \"40267776\": \"men_room_3\", \"40243200\": \"men_room_2\", \"40202240\": \"men_room_1\", \"40136704\": \"men_room_0\", \"40062976\": \"men_scene\", \"40038400\": \"ice_doukutu_room_11\", \"40017920\": \"ice_doukutu_room_10\", \"39981056\": \"ice_doukutu_room_9\", \"39972864\": \"ice_doukutu_room_8\", \"39948288\": \"ice_doukutu_room_7\", \"39927808\": \"ice_doukutu_room_6\", \"39890944\": \"ice_doukutu_room_5\", \"39858176\": \"ice_doukutu_room_4\", \"39821312\": \"ice_doukutu_room_3\", \"39796736\": \"ice_doukutu_room_2\", \"39743488\": \"ice_doukutu_room_1\", \"39706624\": \"ice_doukutu_room_0\", \"39632896\": \"ice_doukutu_scene\", \"39620608\": \"HAKAdanCH_room_6\", \"39608320\": \"HAKAdanCH_room_5\", \"39596032\": \"HAKAdanCH_room_4\", \"39587840\": \"HAKAdanCH_room_3\", \"39571456\": \"HAKAdanCH_room_2\", \"39522304\": \"HAKAdanCH_room_1\", \"39432192\": \"HAKAdanCH_room_0\", \"39378944\": \"HAKAdanCH_scene\", \"39366656\": \"HAKAdan_room_22\", \"39317504\": \"HAKAdan_room_21\", \"39309312\": \"HAKAdan_room_20\", \"39297024\": \"HAKAdan_room_19\", \"39239680\": \"HAKAdan_room_18\", \"39227392\": \"HAKAdan_room_17\", \"39215104\": \"HAKAdan_room_16\", \"39182336\": \"HAKAdan_room_15\", \"39157760\": \"HAKAdan_room_14\", \"39149568\": \"HAKAdan_room_13\", \"39124992\": \"HAKAdan_room_12\", \"39108608\": \"HAKAdan_room_11\", \"39075840\": \"HAKAdan_room_10\", \"39022592\": \"HAKAdan_room_9\", \"38998016\": \"HAKAdan_room_8\", \"38989824\": \"HAKAdan_room_7\", \"38957056\": \"HAKAdan_room_6\", \"38932480\": \"HAKAdan_room_5\", \"38924288\": \"HAKAdan_room_4\", \"38912000\": \"HAKAdan_room_3\", \"38866944\": \"HAKAdan_room_2\", \"38858752\": \"HAKAdan_room_1\", \"38809600\": \"HAKAdan_room_0\", \"38707200\": \"HAKAdan_scene\", \"38670336\": \"jyasinzou_room_28\", \"38645760\": \"jyasinzou_room_27\", \"38592512\": \"jyasinzou_room_26\", \"38502400\": \"jyasinzou_room_25\", \"38473728\": \"jyasinzou_room_24\", \"38432768\": \"jyasinzou_room_23\", \"38416384\": \"jyasinzou_room_22\", \"38395904\": \"jyasinzou_room_21\", \"38359040\": \"jyasinzou_room_20\", \"38334464\": \"jyasinzou_room_19\", \"38309888\": \"jyasinzou_room_18\", \"38268928\": \"jyasinzou_room_17\", \"38240256\": \"jyasinzou_room_16\", \"38203392\": \"jyasinzou_room_15\", \"38182912\": \"jyasinzou_room_14\", \"38158336\": \"jyasinzou_room_13\", \"38146048\": \"jyasinzou_room_12\", \"38137856\": \"jyasinzou_room_11\", \"38100992\": \"jyasinzou_room_10\", \"38076416\": \"jyasinzou_room_9\", \"38039552\": \"jyasinzou_room_8\", \"38014976\": \"jyasinzou_room_7\", \"37994496\": \"jyasinzou_room_6\", \"37892096\": \"jyasinzou_room_5\", \"37859328\": \"jyasinzou_room_4\", \"37842944\": \"jyasinzou_room_3\", \"37818368\": \"jyasinzou_room_2\", \"37777408\": \"jyasinzou_room_1\", \"37707776\": \"jyasinzou_room_0\", \"37601280\": \"jyasinzou_scene\", \"37560320\": \"MIZUsin_room_22\", \"37527552\": \"MIZUsin_room_21\", \"37498880\": \"MIZUsin_room_20\", \"37482496\": \"MIZUsin_room_19\", \"37462016\": \"MIZUsin_room_18\", \"37425152\": \"MIZUsin_room_17\", \"37408768\": \"MIZUsin_room_16\", \"37376000\": \"MIZUsin_room_15\", \"37347328\": \"MIZUsin_room_14\", \"37343232\": \"MIZUsin_room_13\", \"37314560\": \"MIZUsin_room_12\", \"37294080\": \"MIZUsin_room_11\", \"37265408\": \"MIZUsin_room_10\", \"37228544\": \"MIZUsin_room_9\", \"37171200\": \"MIZUsin_room_8\", \"37146624\": \"MIZUsin_room_7\", \"37097472\": \"MIZUsin_room_6\", \"37052416\": \"MIZUsin_room_5\", \"37023744\": \"MIZUsin_room_4\", \"36995072\": \"MIZUsin_room_3\", \"36970496\": \"MIZUsin_room_2\", \"36925440\": \"MIZUsin_room_1\", \"36835328\": \"MIZUsin_room_0\", \"36745216\": \"MIZUsin_scene\", \"36716544\": \"HIDAN_room_26\", \"36687872\": \"HIDAN_room_25\", \"36663296\": \"HIDAN_room_24\", \"36634624\": \"HIDAN_room_23\", \"36605952\": \"HIDAN_room_22\", \"36569088\": \"HIDAN_room_21\", \"36540416\": \"HIDAN_room_20\", \"36519936\": \"HIDAN_room_19\", \"36503552\": \"HIDAN_room_18\", \"36462592\": \"HIDAN_room_17\", \"36413440\": \"HIDAN_room_16\", \"36405248\": \"HIDAN_room_15\", \"36392960\": \"HIDAN_room_14\", \"36339712\": \"HIDAN_room_13\", \"36327424\": \"HIDAN_room_12\", \"36311040\": \"HIDAN_room_11\", \"36208640\": \"HIDAN_room_10\", \"36171776\": \"HIDAN_room_9\", \"36130816\": \"HIDAN_room_8\", \"36114432\": \"HIDAN_room_7\", \"36085760\": \"HIDAN_room_6\", \"36040704\": \"HIDAN_room_5\", \"36007936\": \"HIDAN_room_4\", \"35995648\": \"HIDAN_room_3\", \"35926016\": \"HIDAN_room_2\", \"35872768\": \"HIDAN_room_1\", \"35840000\": \"HIDAN_room_0\", \"35729408\": \"HIDAN_scene\", \"35721216\": \"Bmori1_room_22\", \"35713024\": \"Bmori1_room_21\", \"35704832\": \"Bmori1_room_20\", \"35700736\": \"Bmori1_room_19\", \"35692544\": \"Bmori1_room_18\", \"35651584\": \"Bmori1_room_17\", \"35631104\": \"Bmori1_room_16\", \"35618816\": \"Bmori1_room_15\", \"35594240\": \"Bmori1_room_14\", \"35557376\": \"Bmori1_room_13\", \"35520512\": \"Bmori1_room_12\", \"35475456\": \"Bmori1_room_11\", \"35450880\": \"Bmori1_room_10\", \"35405824\": \"Bmori1_room_9\", \"35307520\": \"Bmori1_room_8\", \"35229696\": \"Bmori1_room_7\", \"35188736\": \"Bmori1_room_6\", \"35172352\": \"Bmori1_room_5\", \"35155968\": \"Bmori1_room_4\", \"35139584\": \"Bmori1_room_3\", \"35074048\": \"Bmori1_room_2\", \"35049472\": \"Bmori1_room_1\", \"34992128\": \"Bmori1_room_0\", \"34902016\": \"Bmori1_scene\", \"34889728\": \"bdan_room_15\", \"34861056\": \"bdan_room_14\", \"34848768\": \"bdan_room_13\", \"34832384\": \"bdan_room_12\", \"34816000\": \"bdan_room_11\", \"34799616\": \"bdan_room_10\", \"34783232\": \"bdan_room_9\", \"34766848\": \"bdan_room_8\", \"34750464\": \"bdan_room_7\", \"34729984\": \"bdan_room_6\", \"34701312\": \"bdan_room_5\", \"34680832\": \"bdan_room_4\", \"34648064\": \"bdan_room_3\", \"34607104\": \"bdan_room_2\", \"34582528\": \"bdan_room_1\", \"34562048\": \"bdan_room_0\", \"34471936\": \"bdan_scene\", \"34447360\": \"ddan_room_16\", \"34435072\": \"ddan_room_15\", \"34422784\": \"ddan_room_14\", \"34410496\": \"ddan_room_13\", \"34373632\": \"ddan_room_12\", \"34361344\": \"ddan_room_11\", \"34328576\": \"ddan_room_10\", \"34279424\": \"ddan_room_9\", \"34238464\": \"ddan_room_8\", \"34205696\": \"ddan_room_7\", \"34193408\": \"ddan_room_6\", \"34168832\": \"ddan_room_5\", \"34127872\": \"ddan_room_4\", \"34070528\": \"ddan_room_3\", \"34037760\": \"ddan_room_2\", \"33996800\": \"ddan_room_1\", \"33882112\": \"ddan_room_0\", \"33792000\": \"ddan_scene\", \"33759232\": \"ydan_room_11\", \"33738752\": \"ydan_room_10\", \"33697792\": \"ydan_room_9\", \"33693696\": \"ydan_room_8\", \"33656832\": \"ydan_room_7\", \"33636352\": \"ydan_room_6\", \"33599488\": \"ydan_room_5\", \"33579008\": \"ydan_room_4\", \"33492992\": \"ydan_room_3\", \"33468416\": \"ydan_room_2\", \"33447936\": \"ydan_room_1\", \"33357824\": \"ydan_room_0\", \"33300480\": \"ydan_scene\", \"33296384\": \"elf_message_ydan\", \"33292288\": \"elf_message_field\", \"33288192\": \"vr_FCVR_pal_static\", \"33157120\": \"vr_FCVR_static\", \"33153024\": \"vr_TTVR_pal_static\", \"32956416\": \"vr_TTVR_static\", \"32952320\": \"vr_LBVR_pal_static\", \"32690176\": \"vr_LBVR_static\", \"32686080\": \"vr_NSVR_pal_static\", \"32555008\": \"vr_NSVR_static\", \"32550912\": \"vr_ALVR_pal_static\", \"32419840\": \"vr_ALVR_static\", \"32415744\": \"vr_DGVR_pal_static\", \"32284672\": \"vr_DGVR_static\", \"32280576\": \"vr_ZRVR_pal_static\", \"32149504\": \"vr_ZRVR_static\", \"32145408\": \"vr_GLVR_pal_static\", \"32014336\": \"vr_GLVR_static\", \"32010240\": \"vr_KSVR_pal_static\", \"31879168\": \"vr_KSVR_static\", \"31875072\": \"vr_IPVR_pal_static\", \"31612928\": \"vr_IPVR_static\", \"31608832\": \"vr_KR3VR_pal_static\", \"31412224\": \"vr_KR3VR_static\", \"31408128\": \"vr_KKRVR_pal_static\", \"31145984\": \"vr_KKRVR_static\", \"31141888\": \"vr_MLVR_pal_static\", \"30879744\": \"vr_MLVR_static\", \"30875648\": \"vr_SP1a_pal_static\", \"30744576\": \"vr_SP1a_static\", \"30740480\": \"vr_K5VR_pal_static\", \"30543872\": \"vr_K5VR_static\", \"30539776\": \"vr_K4VR_pal_static\", \"30343168\": \"vr_K4VR_static\", \"30339072\": \"vr_K3VR_pal_static\", \"30142464\": \"vr_K3VR_static\", \"30138368\": \"vr_KHVR_pal_static\", \"29876224\": \"vr_KHVR_static\", \"29872128\": \"vr_LHVR_pal_static\", \"29609984\": \"vr_LHVR_static\", \"29605888\": \"vr_RUVR_pal_static\", \"29343744\": \"vr_RUVR_static\", \"29339648\": \"vr_MNVR_pal_static\", \"29077504\": \"vr_MNVR_static\", \"29073408\": \"vr_MDVR_pal_static\", \"28811264\": \"vr_MDVR_static\", \"28807168\": \"vr_holy1_pal_static\", \"28741632\": \"vr_holy1_static\", \"28737536\": \"vr_holy0_pal_static\", \"28672000\": \"vr_holy0_static\", \"28667904\": \"vr_cloud3_pal_static\", \"28618752\": \"vr_cloud3_static\", \"28614656\": \"vr_cloud2_pal_static\", \"28565504\": \"vr_cloud2_static\", \"28561408\": \"vr_cloud1_pal_static\", \"28512256\": \"vr_cloud1_static\", \"28508160\": \"vr_cloud0_pal_static\", \"28459008\": \"vr_cloud0_static\", \"28454912\": \"vr_fine3_pal_static\", \"28405760\": \"vr_fine3_static\", \"28401664\": \"vr_fine2_pal_static\", \"28352512\": \"vr_fine2_static\", \"28348416\": \"vr_fine1_pal_static\", \"28299264\": \"vr_fine1_static\", \"28295168\": \"vr_fine0_pal_static\", \"28246016\": \"vr_fine0_static\", \"28229632\": \"parameter_static\", \"27934720\": \"title_static\", \"27922432\": \"nintendo_rogo_static\", \"27910144\": \"z_select_static\", \"27897856\": \"g_pn_57\", \"27885568\": \"g_pn_56\", \"27873280\": \"g_pn_55\", \"27860992\": \"g_pn_54\", \"27848704\": \"g_pn_53\", \"27836416\": \"g_pn_52\", \"27824128\": \"g_pn_51\", \"27811840\": \"g_pn_50\", \"27799552\": \"g_pn_49\", \"27787264\": \"g_pn_48\", \"27774976\": \"g_pn_47\", \"27762688\": \"g_pn_46\", \"27750400\": \"g_pn_45\", \"27738112\": \"g_pn_44\", \"27725824\": \"g_pn_43\", \"27713536\": \"g_pn_42\", \"27701248\": \"g_pn_41\", \"27688960\": \"g_pn_40\", \"27676672\": \"g_pn_39\", \"27664384\": \"g_pn_38\", \"27652096\": \"g_pn_37\", \"27639808\": \"g_pn_36\", \"27627520\": \"g_pn_35\", \"27615232\": \"g_pn_34\", \"27602944\": \"g_pn_33\", \"27590656\": \"g_pn_32\", \"27578368\": \"g_pn_31\", \"27566080\": \"g_pn_30\", \"27553792\": \"g_pn_29\", \"27541504\": \"g_pn_28\", \"27529216\": \"g_pn_27\", \"27516928\": \"g_pn_26\", \"27504640\": \"g_pn_25\", \"27492352\": \"g_pn_24\", \"27480064\": \"g_pn_23\", \"27467776\": \"g_pn_22\", \"27455488\": \"g_pn_21\", \"27443200\": \"g_pn_20\", \"27430912\": \"g_pn_19\", \"27418624\": \"g_pn_18\", \"27406336\": \"g_pn_17\", \"27394048\": \"g_pn_16\", \"27381760\": \"g_pn_15\", \"27369472\": \"g_pn_14\", \"27357184\": \"g_pn_13\", \"27344896\": \"g_pn_12\", \"27332608\": \"g_pn_11\", \"27320320\": \"g_pn_10\", \"27308032\": \"g_pn_09\", \"27295744\": \"g_pn_08\", \"27283456\": \"g_pn_07\", \"27271168\": \"g_pn_06\", \"27258880\": \"g_pn_05\", \"27246592\": \"g_pn_04\", \"27234304\": \"g_pn_03\", \"27222016\": \"g_pn_02\", \"27209728\": \"g_pn_01\", \"27090944\": \"object_zl4\", \"27086848\": \"object_timeblock\", \"27082752\": \"object_ouke_haka\", \"27074560\": \"object_door_killer\", \"27070464\": \"object_gi_sword_1\", \"27058176\": \"object_cob\", \"27037696\": \"object_cow\", \"27029504\": \"object_crow\", \"27021312\": \"object_bwall\", \"26968064\": \"object_ps\", \"26963968\": \"object_gs\", \"26947584\": \"object_haka_door\", \"26943488\": \"object_geff\", \"26898432\": \"object_gj\", \"26877952\": \"object_skb\", \"26832896\": \"object_wf\", \"26787840\": \"object_mu\", \"26759168\": \"object_po_composer\", \"26746880\": \"object_spot01_matoyab\", \"26730496\": \"object_spot01_matoya\", \"26726400\": \"object_gi_rupy\", \"26640384\": \"object_ganon_anime3\", \"26570752\": \"object_ganon_anime2\", \"26521600\": \"object_ganon_anime1\", \"26513408\": \"object_gi_dekupouch\", \"26505216\": \"object_efc_doughnut\", \"26443776\": \"object_demo_kekkai\", \"26415104\": \"object_po_field\", \"26398720\": \"object_bowl\", \"26394624\": \"object_gi_soul\", \"26390528\": \"object_gi_ghost\", \"26386432\": \"object_gi_butterfly\", \"26382336\": \"object_gi_insect\", \"26378240\": \"object_gi_fire\", \"26365952\": \"object_dnk\", \"26349568\": \"object_dns\", \"26341376\": \"object_kibako2\", \"26333184\": \"object_spot11_obj\", \"26329088\": \"object_spot01_objects2\", \"26316800\": \"object_jya_door\", \"26304512\": \"object_jya_iron\", \"26271744\": \"object_dog\", \"26230784\": \"object_gr\", \"26181632\": \"object_geldb\", \"26161152\": \"object_shopnuts\", \"26120192\": \"object_gla\", \"26112000\": \"object_spot00_break\", \"26091520\": \"object_rs\", \"26075136\": \"object_hintnuts\", \"26071040\": \"object_bombiwa\", \"26058752\": \"object_spot12_obj\", \"26050560\": \"object_spot05_objects\", \"26017792\": \"object_bg\", \"25989120\": \"object_bigokuta\", \"25964544\": \"object_ssh\", \"25960448\": \"object_gi_goddess\", \"25956352\": \"object_gi_sutaru\", \"25866240\": \"object_fish\", \"25812992\": \"object_ec\", \"25792512\": \"object_ds2\", \"25788416\": \"object_gi_m_arrow\", \"25780224\": \"object_gi_hoverboots\", \"25772032\": \"object_zg\", \"25751552\": \"object_ts\", \"25722880\": \"object_ka\", \"25501696\": \"object_ganon2\", \"25493504\": \"object_gi_gerudomask\", \"25485312\": \"object_gi_zoramask\", \"25477120\": \"object_gi_golonmask\", \"25432064\": \"object_zl2_anime2\", \"25382912\": \"object_zl2_anime1\", \"25370624\": \"object_efc_erupc\", \"25288704\": \"object_gt\", \"25284608\": \"object_door_gerudo\", \"25128960\": \"object_mag\", \"25120768\": \"object_gi_frog\", \"25116672\": \"object_gi_soldout\", \"25112576\": \"object_gi_bracelet\", \"25108480\": \"object_gi_prescription\", \"25071616\": \"object_cs\", \"25047040\": \"object_js\", \"25042944\": \"object_gi_brokensword\", \"25034752\": \"object_gi_ticketstone\", \"25030656\": \"object_gi_mushroom\", \"25026560\": \"object_gi_powder\", \"25022464\": \"object_gi_eye_lotion\", \"25001984\": \"object_os\", \"24985600\": \"object_fa\", \"24948736\": \"object_mm\", \"24944640\": \"object_stream\", \"24940544\": \"object_siofuki\", \"24932352\": \"object_ganon_objects\", \"24924160\": \"object_gi_truth_mask\", \"24920064\": \"object_gi_rabit_mask\", \"24915968\": \"object_gi_skj_mask\", \"24911872\": \"object_gi_redead_mask\", \"24907776\": \"object_gi_ki_tan_mask\", \"24879104\": \"object_fu\", \"24854528\": \"object_mk\", \"24784896\": \"object_owl\", \"24776704\": \"object_gjyo_objects\", \"24768512\": \"object_kanban\", \"24764416\": \"object_gi_coin\", \"24756224\": \"object_gi_gloves\", \"24748032\": \"object_tsubo\", \"24743936\": \"object_kusa\", \"24731648\": \"object_lightswitch\", \"24723456\": \"object_ingate\", \"24694784\": \"object_hs\", \"24678400\": \"object_ms\", \"24674304\": \"object_gm\", \"24592384\": \"object_blkobj\", \"24588288\": \"object_nwc\", \"24551424\": \"object_daiku\", \"24518656\": \"object_toryo\", \"24510464\": \"object_goroiwa\", \"24498176\": \"object_mamenoki\", \"24489984\": \"object_d_lift\", \"24481792\": \"object_d_hsblock\", \"24473600\": \"object_d_elevator\", \"24465408\": \"object_gnd_magic\", \"24461312\": \"object_gi_seed\", \"24453120\": \"object_gi_boots_2\", \"24449024\": \"object_yabusame_point\", \"24403968\": \"object_ge1\", \"24383488\": \"object_bob\", \"24367104\": \"object_fz\", \"24338432\": \"object_spot07_object\", \"24330240\": \"object_spot03_object\", \"24305664\": \"object_boj\", \"24276992\": \"object_ane\", \"24256512\": \"object_ds\", \"24252416\": \"object_gi_ocarina_0\", \"24231936\": \"object_bba\", \"24211456\": \"object_bji\", \"24207360\": \"object_gi_bottle_letter\", \"24170496\": \"object_skj\", \"24162304\": \"object_gi_niwatori\", \"24150016\": \"object_cne\", \"24125440\": \"object_ahg\", \"23990272\": \"object_ik\", \"23965696\": \"object_aob\", \"23961600\": \"object_masterzoora\", \"23957504\": \"object_mastergolon\", \"23945216\": \"object_masterkokirihead\", \"23941120\": \"object_masterkokiri\", \"23932928\": \"object_umajump\", \"23896064\": \"object_kz\", \"23842816\": \"object_zo\", \"23814144\": \"object_kw1\", \"23789568\": \"object_km1\", \"23744512\": \"object_md\", \"23732224\": \"object_spot01_objects\", \"23728128\": \"object_gi_longsword\", \"23724032\": \"object_gi_grass\", \"23719936\": \"object_gi_hammer\", \"23715840\": \"object_gi_saw\", \"23711744\": \"object_gi_fish\", \"23707648\": \"object_gi_bean\", \"23699456\": \"object_gi_clothes\", \"23580672\": \"object_jya_obj\", \"23572480\": \"object_spot15_obj\", \"23568384\": \"object_gi_letter\", \"23560192\": \"object_gi_shield_3\", \"23543808\": \"object_demo_6k\", \"23511040\": \"object_ani\", \"23502848\": \"object_gi_liquid\", \"23494656\": \"object_gi_glasses\", \"23490560\": \"object_gi_bow\", \"23486464\": \"object_gi_boomerang\", \"23482368\": \"object_gi_pachinko\", \"23433216\": \"object_fr\", \"23420928\": \"object_ny\", \"23310336\": \"object_sst\", \"23236608\": \"object_ganon\", \"23199744\": \"object_ma1\", \"23191552\": \"object_gi_milk\", \"23187456\": \"object_gi_ocarina\", \"23179264\": \"object_gi_hookshot\", \"23171072\": \"object_gi_shield_2\", \"23166976\": \"object_gi_scale\", \"23158784\": \"object_gi_egg\", \"23154688\": \"object_gi_bomb_2\", \"23146496\": \"object_gi_arrow\", \"23138304\": \"object_gi_gerudo\", \"23121920\": \"object_anubice\", \"23109632\": \"object_bxa\", \"23105536\": \"object_rr\", \"22863872\": \"object_tw\", \"22818816\": \"object_hni\", \"22810624\": \"object_gi_purse\", \"22769664\": \"object_ma2\", \"22732800\": \"object_oF1s\", \"22728704\": \"object_gi_bomb_1\", \"22720512\": \"object_gi_magicpot\", \"22704128\": \"object_dekujr\", \"22700032\": \"object_gi_shield_1\", \"22634496\": \"object_ru2\", \"22564864\": \"object_oF1d_map\", \"22556672\": \"object_gi_map\", \"22552576\": \"object_gi_stick\", \"22548480\": \"object_gi_bottle\", \"22503424\": \"object_os_anime\", \"22482944\": \"object_oE4s\", \"22454272\": \"object_oE1s\", \"22446080\": \"object_spot16_obj\", \"22368256\": \"object_tr\", \"22265856\": \"object_in\", \"22261760\": \"object_gi_bombpouch\", \"22257664\": \"object_gi_arrowcase\", \"22249472\": \"object_gi_hearts\", \"22159360\": \"object_sa\", \"22151168\": \"object_gi_nuts\", \"22126592\": \"object_gi_medal\", \"22118400\": \"object_gi_bosskey\", \"22114304\": \"object_gi_compass\", \"22110208\": \"object_gi_heart\", \"22106112\": \"object_gi_melody\", \"22093824\": \"object_sb\", \"22052864\": \"object_mo\", \"21950464\": \"object_nb\", \"21934080\": \"object_shop_dungen\", \"21925888\": \"object_spot17_obj\", \"21893120\": \"object_bdoor\", \"21839872\": \"object_spot18_obj\", \"21737472\": \"object_spot09_obj\", \"21721088\": \"object_gi_jewel\", \"21712896\": \"object_brob\", \"21704704\": \"object_mir_ray\", \"21700608\": \"object_gi_key\", \"21696512\": \"object_demo_tre_lgt\", \"21688320\": \"object_efc_tw\", \"21655552\": \"object_rl\", \"21614592\": \"object_dh\", \"21540864\": \"object_fd2\", \"21524480\": \"object_syokudai\", \"21442560\": \"object_ru1\", \"21434368\": \"object_haka\", \"21340160\": \"object_spot02_objects\", \"21303296\": \"object_horse_link_child\", \"21270528\": \"object_fw\", \"21192704\": \"object_du\", \"21118976\": \"object_fd\", \"21045248\": \"object_gndd\", \"21037056\": \"object_heavy_object\", \"20975616\": \"object_po_sisters\", \"20914176\": \"object_rd\", \"20860928\": \"object_sd\", \"20807680\": \"object_bdan_objects\", \"20783104\": \"object_medal\", \"20770816\": \"object_triforce_spot\", \"20762624\": \"object_light_ring\", \"20742144\": \"object_god_lgt\", \"20733952\": \"object_efc_star_field\", \"20725760\": \"object_efc_lgt_shower\", \"20721664\": \"object_efc_flash\", \"20717568\": \"object_efc_fire_ball\", \"20713472\": \"object_efc_crystal_light\", \"20684800\": \"object_hakach_objects\", \"20553728\": \"object_bv\", \"20537344\": \"object_vm\", \"20418560\": \"object_xc\", \"20369408\": \"object_tk\", \"20307968\": \"object_ta\", \"20230144\": \"object_im\", \"20221952\": \"object_vase\", \"20209664\": \"object_trap\", \"20201472\": \"object_pu_box\", \"20193280\": \"object_lightbox\", \"20156416\": \"object_wood02\", \"20144128\": \"object_bird\", \"20131840\": \"object_hata\", \"20127744\": \"object_warp2\", \"20103168\": \"object_spot08_obj\", \"20062208\": \"object_mori_tex\", \"20025344\": \"object_mori_objects\", \"19996672\": \"object_mori_hineri2a\", \"19976192\": \"object_mori_hineri2\", \"19959808\": \"object_mori_hineri1a\", \"19943424\": \"object_relay_objects\", \"19906560\": \"object_ice_objects\", \"19894272\": \"object_spot06_objects\", \"19771392\": \"object_haka_objects\", \"19763200\": \"object_mjin_oka\", \"19759104\": \"object_mjin_wind\", \"19755008\": \"object_mjin_soul\", \"19750912\": \"object_mjin_ice\", \"19746816\": \"object_mjin_flame\", \"19742720\": \"object_mjin_dark\", \"19738624\": \"object_mjin_flash\", \"19730432\": \"object_mjin\", \"19660800\": \"object_zl2\", \"19652608\": \"object_yukabyun\", \"19615744\": \"object_toki_objects\", \"19607552\": \"object_Bb\", \"19582976\": \"object_mori_hineri1\", \"19542016\": \"object_ossan\", \"19464192\": \"object_fhg\", \"19415040\": \"object_mizu_objects\", \"19406848\": \"object_oA11\", \"19394560\": \"object_oA10\", \"19374080\": \"object_vali\", \"19357696\": \"object_oE12\", \"19341312\": \"object_oE11\", \"19329024\": \"object_oE10\", \"19316736\": \"object_oE9\", \"19300352\": \"object_oE8\", \"19288064\": \"object_oE7\", \"19275776\": \"object_oE6\", \"19251200\": \"object_oE5\", \"19214336\": \"object_menkuri_objects\", \"19193856\": \"object_oE4\", \"19161088\": \"object_oE3\", \"19144704\": \"object_dekunuts\", \"19140608\": \"object_b_heart\", \"19128320\": \"object_warp1\", \"19103744\": \"object_opening_demo1\", \"19070976\": \"object_horse_zelda\", \"19062784\": \"object_oB4\", \"19042304\": \"object_oB3\", \"19021824\": \"object_oB2\", \"19017728\": \"object_oA9\", \"19009536\": \"object_oA8\", \"18960384\": \"object_jj\", \"18952192\": \"object_oA7\", \"18944000\": \"object_oA6\", \"18935808\": \"object_oA5\", \"18927616\": \"object_oA4\", \"18915328\": \"object_oA3\", \"18898944\": \"object_dekubaba\", \"18874368\": \"object_am\", \"18796544\": \"object_gnd\", \"18755584\": \"object_ydan_objects\", \"18731008\": \"object_oE2\", \"18706432\": \"object_oE_anime\", \"18677760\": \"object_oE1\", \"18616320\": \"object_sk2\", \"18608128\": \"object_bombf\", \"18522112\": \"object_mb\", \"18513920\": \"object_spot00_objects\", \"18489344\": \"object_oA2\", \"18436096\": \"object_horse_ganon\", \"18337792\": \"object_hidan_objects\", \"18300928\": \"object_ddan_objects\", \"18292736\": \"object_spot04_objects\", \"18280448\": \"object_o_anime\", \"18251776\": \"object_oB1\", \"18210816\": \"object_horse_normal\", \"18194432\": \"object_ei\", \"18182144\": \"object_bw\", \"18157568\": \"object_st\", \"18137088\": \"object_oA1\", \"18128896\": \"object_tp\", \"18104320\": \"object_bl\", \"18083840\": \"object_torch2\", \"18071552\": \"object_dodojr\", \"18063360\": \"object_bubble\", \"18042880\": \"object_gol\", \"17956864\": \"object_zl1\", \"17825792\": \"object_goma\", \"17731584\": \"object_zf\", \"17674240\": \"object_horse\", \"17473536\": \"object_kingdodongo\", \"17465344\": \"object_peehat\", \"17457152\": \"object_reeba\", \"17440768\": \"object_tite\", \"17428480\": \"object_niw\", \"17408000\": \"object_fire\", \"17367040\": \"object_dodongo\", \"17358848\": \"object_firefly\", \"17235968\": \"object_dy_obj\", \"17190912\": \"object_wallmaster\", \"17166336\": \"object_poh\", \"17149952\": \"object_okuta\", \"17068032\": \"object_human\", \"17043456\": \"object_box\", \"16859136\": \"object_link_child\", \"16629760\": \"object_link_boy\", \"16625664\": \"gameplay_object_exchange_static\", \"16527360\": \"gameplay_dangeon_keep\", \"16470016\": \"gameplay_field_keep\", \"16113664\": \"gameplay_keep\", \"16107728\": \"ovl_Shot_Sun\", \"16103456\": \"ovl_Oceff_Wipe4\", \"16097280\": \"ovl_Oceff_Wipe3\", \"16091072\": \"ovl_Oceff_Wipe2\", \"16087456\": \"ovl_Oceff_Wipe\", \"16080112\": \"ovl_Oceff_Storm\", \"16075904\": \"ovl_Oceff_Spot\", \"16062128\": \"ovl_Object_Kankyo\", \"16058880\": \"ovl_Obj_Warp2block\", \"16054640\": \"ovl_Obj_Tsubo\", \"16051120\": \"ovl_Obj_Timeblock\", \"16047824\": \"ovl_Obj_Syokudai\", \"16039472\": \"ovl_Obj_Switch\", \"16038896\": \"ovl_Obj_Roomtimer\", \"16031136\": \"ovl_Obj_Oshihiki\", \"16029168\": \"ovl_Obj_Mure3\", \"16026464\": \"ovl_Obj_Mure2\", \"16021184\": \"ovl_Obj_Mure\", \"16019760\": \"ovl_Obj_Makeoshihiki\", \"16019088\": \"ovl_Obj_Makekinsuta\", \"16013248\": \"ovl_Obj_Lightswitch\", \"16010480\": \"ovl_Obj_Lift\", \"16008688\": \"ovl_Obj_Kibako2\", \"16005312\": \"ovl_Obj_Kibako\", \"16002688\": \"ovl_Obj_Ice_Poly\", \"16000896\": \"ovl_Obj_Hsblock\", \"16000128\": \"ovl_Obj_Hana\", \"15997872\": \"ovl_Obj_Hamishi\", \"15996704\": \"ovl_Obj_Elevator\", \"15994944\": \"ovl_Obj_Dekujr\", \"15992704\": \"ovl_Obj_Comb\", \"15991312\": \"ovl_Obj_Bombiwa\", \"15990912\": \"ovl_Obj_Blockstop\", \"15980192\": \"ovl_Obj_Bean\", \"15973488\": \"ovl_Mir_Ray\", \"15965472\": \"ovl_Magic_Wind\", \"15956368\": \"ovl_Magic_Fire\", \"15949808\": \"ovl_Magic_Dark\", \"15947072\": \"ovl_Item_Shield\", \"15945040\": \"ovl_Item_Ocarina\", \"15944704\": \"ovl_Item_Inbox\", \"15942160\": \"ovl_Item_Etcetera\", \"15940976\": \"ovl_Item_B_Heart\", \"15857312\": \"ovl_Fishing\", \"15840288\": \"ovl_End_Title\", \"15828672\": \"ovl_En_fHG\", \"15818528\": \"ovl_En_Zo\", \"15799472\": \"ovl_En_Zl4\", \"15765680\": \"ovl_En_Zl3\", \"15746704\": \"ovl_En_Zl2\", \"15730752\": \"ovl_En_Zl1\", \"15703392\": \"ovl_En_Zf\", \"15701712\": \"ovl_En_Yukabyun\", \"15698640\": \"ovl_En_Yabusame_Mark\", \"15671072\": \"ovl_En_Xc\", \"15666368\": \"ovl_En_Wood02\", \"15662112\": \"ovl_En_Wonder_Talk2\", \"15658560\": \"ovl_En_Wonder_Talk\", \"15654544\": \"ovl_En_Wonder_Item\", \"15637216\": \"ovl_En_Wf\", \"15630528\": \"ovl_En_Weiyer\", \"15625808\": \"ovl_En_Weather_Tag\", \"15618896\": \"ovl_En_Wallmas\", \"15617056\": \"ovl_En_Wall_Tubo\", \"15610512\": \"ovl_En_Vm\", \"15597648\": \"ovl_En_Viewer\", \"15592944\": \"ovl_En_Vb_Ball\", \"15592704\": \"ovl_En_Vase\", \"15582464\": \"ovl_En_Vali\", \"15578944\": \"ovl_En_Tubo_Trap\", \"15574192\": \"ovl_En_Trap\", \"15567680\": \"ovl_En_Tr\", \"15559728\": \"ovl_En_Tp\", \"15556544\": \"ovl_En_Toryo\", \"15546384\": \"ovl_En_Torch2\", \"15546144\": \"ovl_En_Torch\", \"15538064\": \"ovl_En_Tk\", \"15526160\": \"ovl_En_Tite\", \"15524336\": \"ovl_En_Tg\", \"15523264\": \"ovl_En_Tana\", \"15520752\": \"ovl_En_Takara_Man\", \"15505712\": \"ovl_En_Ta\", \"15497088\": \"ovl_En_Syateki_Niw\", \"15492864\": \"ovl_En_Syateki_Man\", \"15488320\": \"ovl_En_Syateki_Itm\", \"15473856\": \"ovl_En_Sw\", \"15472304\": \"ovl_En_Stream\", \"15455312\": \"ovl_En_Sth\", \"15443872\": \"ovl_En_St\", \"15434112\": \"ovl_En_Ssh\", \"15433152\": \"ovl_En_Skjneedle\", \"15417808\": \"ovl_En_Skj\", \"15411392\": \"ovl_En_Skb\", \"15407776\": \"ovl_En_Siofuki\", \"15406512\": \"ovl_En_Si\", \"15402560\": \"ovl_En_Shopnuts\", \"15396352\": \"ovl_En_Sda\", \"15395920\": \"ovl_En_Scene_Change\", \"15390672\": \"ovl_En_Sb\", \"15381824\": \"ovl_En_Sa\", \"15369520\": \"ovl_En_Ru2\", \"15338480\": \"ovl_En_Ru1\", \"15328288\": \"ovl_En_Rr\", \"15323792\": \"ovl_En_Rl\", \"15321360\": \"ovl_En_River_Sound\", \"15314096\": \"ovl_En_Reeba\", \"15303648\": \"ovl_En_Rd\", \"15302816\": \"ovl_En_Pu_box\", \"15285552\": \"ovl_En_Poh\", \"15265648\": \"ovl_En_Po_Sisters\", \"15259424\": \"ovl_En_Po_Relay\", \"15244144\": \"ovl_En_Po_Field\", \"15240480\": \"ovl_En_Po_Desert\", \"15226128\": \"ovl_En_Peehat\", \"15220288\": \"ovl_En_Part\", \"15204240\": \"ovl_En_Owl\", \"15174928\": \"ovl_En_Ossan\", \"15165136\": \"ovl_En_Okuta\", \"15158672\": \"ovl_En_Okarina_Tag\", \"15157200\": \"ovl_En_Okarina_Effect\", \"15157008\": \"ovl_En_OE2\", \"15150112\": \"ovl_En_Ny\", \"15147344\": \"ovl_En_Nwc\", \"15145664\": \"ovl_En_Nutsball\", \"15137968\": \"ovl_En_Niw_Lady\", \"15134704\": \"ovl_En_Niw_Girl\", \"15120368\": \"ovl_En_Niw\", \"15101440\": \"ovl_En_Nb\", \"15099024\": \"ovl_En_Mu\", \"15097232\": \"ovl_En_Ms\", \"15093440\": \"ovl_En_Mm2\", \"15087584\": \"ovl_En_Mm\", \"15083888\": \"ovl_En_Mk\", \"15073984\": \"ovl_En_Md\", \"15057088\": \"ovl_En_Mb\", \"15047536\": \"ovl_En_Mag\", \"15043344\": \"ovl_En_Ma3\", \"15038992\": \"ovl_En_Ma2\", \"15034112\": \"ovl_En_Ma1\", \"15028304\": \"ovl_En_M_Thunder\", \"15027888\": \"ovl_En_M_Fire1\", \"15026752\": \"ovl_En_Lightbox\", \"15023024\": \"ovl_En_Light\", \"15017408\": \"ovl_En_Kz\", \"15011856\": \"ovl_En_Kusa\", \"14994976\": \"ovl_En_Ko\", \"14988224\": \"ovl_En_Karebaba\", \"14974992\": \"ovl_En_Kanban\", \"14970256\": \"ovl_En_Kakasi3\", \"14966912\": \"ovl_En_Kakasi2\", \"14963168\": \"ovl_En_Kakasi\", \"14943088\": \"ovl","tools/ido5.3_compiler/LICENSE.md":"# Silicon Graphics Freeware Legal Notice\n## Copyright 1995, Silicon Graphics, Inc. -- ALL RIGHTS RESERVED\n\nYou may copy, modify, use and distribute this software, (i) provided that you include the entirety of this reservation of rights notice in all such copies, and (ii) you comply with any additional or different obligations and/or use restrictions specified by any third party owner or supplier of the software in other notices that may be included with the software.\n\n**SGI DISCLAIMS ALL WARRANTIES WITH RESPECT TO THIS SOFTWARE, EXPRESS, IMPLIED, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ALL WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. SGI SHALL NOT BE LIABLE FOR ANY SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST REVENUES, LOST PROFITS, OR LOSS OF PROSPECTIVE ECONOMIC ADVANTAGE, RESULTING FROM THE USE OR MISUSE OF THIS SOFTWARE.**\n\n**U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:**\n\nUse, duplication or disclosure by the Government is subject to restrictions as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or in similar or successor clauses in the FAR, or the DOD or NASA FAR Supplement. Unpublished - rights reserved under the Copyright Laws of United States. Contractor/manufacturer is Silicon Graphics, Inc., 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311.\n\n## Product Support\n\nFreeware products are not supported by Silicon Graphics or any of its support providers. The software contained in this package is made available through the generous efforts of their authors. Although they are interested in your feedback, they are under no obligation to address bugs, enhancements, or answer questions. \n\n----\n\n**NOTE:** This license was copied verbatim from https://web.archive.org/web/19991008090202/http://toolbox.sgi.com/TasteOfDT/public/freeware1.0/legal_notice.html .\n","tools/assets/descriptor/README.md":"This package serves as an abstraction layer wrapping assets xml files.\n",".cursorrules (java-springboot-jpa-cursorrules-prompt-file.mdc)":"---\ndescription: \"Cursor rules for Java development with Springboot and JPA integration.\"\nglobs: **/*\nalwaysApply: false\n---\n## Instruction to developer: save this file as .cursorrules and place it on the root project directory\n\nAI Persona：\n\nYou are an experienced Senior Java Developer, You always adhere to SOLID principles, DRY principles, KISS principles and YAGNI principles. You always follow OWASP best practices. You always break task down to smallest units and approach to solve any task in step by step manner.\n\nTechnology stack：\n\nFramework: Java Spring Boot 3 Maven with Java 17 Dependencies: Spring Web, Spring Data JPA, Thymeleaf, Lombok, PostgreSQL driver\n\nApplication Logic Design：\n\n1. All request and response handling must be done only in RestController.\n2. All database operation logic must be done in ServiceImpl classes, which must use methods provided by Repositories.\n3. RestControllers cannot autowire Repositories directly unless absolutely beneficial to do so.\n4. ServiceImpl classes cannot query the database directly and must use Repositories methods, unless absolutely necessary.\n5. Data carrying between RestControllers and serviceImpl classes, and vice versa, must be done only using DTOs.\n6. Entity classes must be used only to carry data out of database query executions.\n\nEntities\n\n1. Must annotate entity classes with @Entity.\n2. Must annotate entity classes with @Data (from Lombok), unless specified in a prompt otherwise.\n3. Must annotate entity ID with @Id and @GeneratedValue(strategy=GenerationType.IDENTITY).\n4. Must use FetchType.LAZY for relationships, unless specified in a prompt otherwise.\n5. Annotate entity properties properly according to best practices, e.g., @Size, @NotEmpty, @Email, etc.\n\nRepository (DAO):\n\n1. Must annotate repository classes with @Repository.\n2. Repository classes must be of type interface.\n3. Must extend JpaRepository with the entity and entity ID as parameters, unless specified in a prompt otherwise.\n4. Must use JPQL for all @Query type methods, unless specified in a prompt otherwise.\n5. Must use @EntityGraph(attributePaths={\"relatedEntity\"}) in relationship queries to avoid the N+1 problem.\n6. Must use a DTO as The data container for multi-join queries with @Query.\n\nService：\n\n1. Service classes must be of type interface.\n2. All service class method implementations must be in ServiceImpl classes that implement the service class,\n3. All ServiceImpl classes must be annotated with @Service.\n4. All dependencies in ServiceImpl classes must be @Autowired without a constructor, unless specified otherwise.\n5. Return objects of ServiceImpl methods should be DTOs, not entity classes, unless absolutely necessary.\n6. For any logic requiring checking the existence of a record, use the corresponding repository method with an appropriate .orElseThrow lambda method.\n7. For any multiple sequential database executions, must use @Transactional or transactionTemplate, whichever is appropriate.\n\nData Transfer object (DTo)：\n\n1. Must be of type record, unless specified in a prompt otherwise.\n2. Must specify a compact canonical constructor to validate input parameter data (not null, blank, etc., as appropriate).\n\nRestController:\n\n1. Must annotate controller classes with @RestController.\n2. Must specify class-level API routes with @RequestMapping, e.g. (\"/api/user\").\n3. Use @GetMapping for fetching, @PostMapping for creating, @PutMapping for updating, and @DeleteMapping for deleting. Keep paths resource-based (e.g., '/users/{id}'), avoiding verbs like '/create', '/update', '/delete', '/get', or '/edit'\n4. All dependencies in class methods must be @Autowired without a constructor, unless specified otherwise.\n5. Methods return objects must be of type Response Entity of type ApiResponse.\n6. All class method logic must be implemented in a try..catch block(s).\n7. Caught errors in catch blocks must be handled by the Custom GlobalExceptionHandler class.\n\nApiResponse Class (/ApiResponse.java):\n\n@Data\n@NoArgsConstructor\n@AllArgsConstructor\npublic class ApiResponse<T> {\n  private String result;    // SUCCESS or ERROR\n  private String message;   // success or error message\n  private T data;           // return object from service class, if successful\n}\n\nGlobalExceptionHandler Class (/GlobalExceptionHandler.java)\n\n@RestControllerAdvice\npublic class GlobalExceptionHandler {\n\n    public static ResponseEntity<ApiResponse<?>> errorResponseEntity(String message, HttpStatus status) {\n      ApiResponse<?> response = new ApiResponse<>(\"error\", message, null)\n      return new ResponseEntity<>(response, status);\n    }\n\n    @ExceptionHandler(IllegalArgumentException.class)\n    public ResponseEntity<ApiResponse<?>> handleIllegalArgumentException(IllegalArgumentException ex) {\n        return new ResponseEntity<>(ApiResponse.error(400, ex.getMessage()), HttpStatus.BAD_REQUEST);\n    }\n}\n"},"files":{"tools/asm-differ/.pre-commit-config.yaml":"repos:\n-   repo: https://github.com/psf/black-pre-commit-mirror\n    rev: 23.12.1\n    hooks:\n    - id: black\n","tools/com-plugin/README.md":"# COMMON symbol ordering linker plugin\n\nThis repository contains a plugin for linkers that support the External Linker Plugin API that allows providing a manual specification for COMMON symbol ordering, intended to support matching decompilations that must reproduce an order for COMMON symbols whose names are unknown. Currently only 32-bit Big-Endian MIPS ELF object files are supported.\n\n## How it works\n\nThe plugin expects a symbol order txt file listing the COMMON symbols in order on each line. The plugin searches each input file for the symbol definitions for these and emits a new ELF file containing BSS definitions for each COMMON symbol found with the appropriate size and alignment. This ELF file is then added as an extra input file to the linker, overriding the COMMON definitions in the other input files.\n\n## Usage\n\nAdd `-plugin common-plugin.so -plugin-opt order=bss_order.txt` to the linker invocation, replacing `bss_order.txt` with an alternative path if desired.\n\nAn optional argument `-plugin-opt min_align=N` can specify the minimum alignment for the bss output files. If unset, the minimum alignment is 0: the resulting section alignment is equal to the minimum alignment required by the symbols.\n\nAlso add any bss output files mentioned in the order file to the linker script (e.g. `bss.o` would be added as `*bss.o(.bss*)`) so that the additional input file is not discarded, if required.\n\n### **Symbol order file syntax**\n\n```\n<ofile> {\n    <sym1>;\n    <sym2>;\n    <sym3>;\n    [...]\n}\n[...]\n```\n\nThe order file supports 2 styles of single-line comments (`//` and `#`) and C-style multi-line comments and ignores whitespace.\n\n## Building\n\nRun `make` to build `common-plugin.so`.\n","tools/fado/README.md":"# fado\n*Fairy-Assisted (relocations for) Decomplied Overlays*\n<!-- Nice backronym... -->\n\nContains\n- **Fairy** a library for reading relocatable MIPS ELF object files (big-endian, suitable for Nintendo 64 games)\n- **Fado** a program for generating the `.ovl`/relocation section for Zelda64 overlay files\n- **Mido** an automatic dependency file generator\n\nCompatible with both IDO and GCC (although [see below](N_B)). Both ordinary MIPS REL sections and RELA sections are now supported.\n\nOutput format is the standard \"Zelda64\" .ovl section, with the relocs divided by section, as used by\n- *The Legend of Zelda: Ocarina of Time* (all Nintendo 64/Gamecube/iQue releases)\n- *The Legend of Zelda: Majora's Mask* (all Nintendo 64/Gamecube releases)\n\nIn theory it will also work for other Nintendo 64 games that use this system, such as *Yoshi's Story*, but has yet to be tested with these.\n\n\n## Explanation\n\nThe overlay relocation sections used by Zelda64 is described [here](z64_relocation_section_format.md). Fado will produce a `.ovl` section compatible with this format, although as noted there, some compilers need persuasion to produce compatible objects.\n\n\n## How to use\n\nCompile by running `make`.\n\nA standalone invocation of Fado would look something like\n\n```sh\n./fado.elf z_en_hs2.o -n ovl_En_Hs2 -o ovl_En_Hs2_reloc.s\n```\nThis takes as input the compiled object file from the C file (e.g. [this one](https://github.com/zeldaret/oot/blob/eadc477187888e1ae078d021b4a00b1366f0c9a4/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c)), the name of the overlay (`ovl_En_Hs2`) and will output an assembly file `ovl_En_Hs2_reloc.s` containing the relocation section. An example output is included in the repo [here](ovl_En_Hs_reloc.s). Fado will print information from the object file to assist with debugging, by splitting relocs by section, and for each, printing the type, offset, and associated symbol (or section if static):\n\n```mips\n# TEXT RELOCS\n.word 0x45000084 # R_MIPS_HI16 0x000084 .data\n.word 0x4600008C # R_MIPS_LO16 0x00008C .data\n.word 0x450000B4 # R_MIPS_HI16 0x0000B4 .rodata\n.word 0x460000BC # R_MIPS_LO16 0x0000BC .rodata\n.word 0x450000C0 # R_MIPS_HI16 0x0000C0 func_80A6F1A4\n.word 0x460000C4 # R_MIPS_LO16 0x0000C4 func_80A6F1A4\n```\n\nIf invoking in a makefile, you will probably want to generate these from a predefined filelist, and with the appropriate dependencies. [The Ocarina of Time decomp repository](http://github.com/zeldaret/oot) contains an example of how to do this using a supplementary program to parse the `spec` format.\n\nMore information can be obtained by running\n\n```sh\n./fado.elf --help\n```\n\nwhich contains information on the various options, such as automatic dependency file generation, etc.\n\n\n## N.B.\n\n- Fado expects the linker script to output symbols for the section sizes, and for them to be declared separately, in the format\n\n```\n_SEGMENTNAMESegmentSECTIONSize\n```\n\ne.g.\n\n```\n_ovl_En_Hs2SegmentTextSize\n```\n\netc.\n\n- By default Fado expects sections to be 0x10-aligned, as is usual for IDO. Some versions of GCC like to align sections to smaller widths, which Fado will handle appropriately, but the linker script must also address this, and at least the default settings seem unable to size the sections correctly due ot placing `fill`s in the wrong places. For now it is recommended to manually align sections to 0x10 if the compiler does not automatically.\n  - The experimental flag `--alignment`/`-a` can be passed to Fado, and it will use the alignment declared by each section in the elf file instead of padding them to 0x10 bytes, It should be noted this option has not been fully tested because currently we don't have any linker script tool that can properly address the incorrect placing of `fill`s. Fado must be rebuilt passing `EXPERIMENTAL=1` to be able to use this flag.\n\n- To prevent GCC producing non-compliant HI/LOs, you must pass *both* of the following compiler flags: `-mno-explicit-relocs -mno-split-addresses`. See [here](z64_relocation_section_format.md#hilo) for more details.\n\n- It is recommended, though not strictly required, that `-fno-merge-constants` is used for GCC, to avoid unpredictable section sizes, and comply with the Zelda64 relocation format's expectation of at most one rodata section. See [here](z64_relocation_section_format.md#rodata) for more details.\n","tools/audio/README.md":"# Z64 Audio Tools\n\nThe Z64 Audio Tools work together to implement the full audio asset pipeline\n\n![](../../docs/audio/build_flowchart.png)\n\n**Licensing Information**\n* The programs `atblgen`, `sampleconv`, `sbc` and `sfc` are (mostly) distributed under MPL-2.0. The VADPCM encoding and decoding portions of `sampleconv` are under CC0-1.0.\n* The programs `sfpatch` and `afile_sizes` are distributed under CC0-1.0.\n* The extraction tool is distributed under CC0-1.0.\n\n## sampleconv\n\nConverts aifc <-> aiff / wav\n\nUsed in extraction and build to convert audio sample data between uncompressed mono 16-bit PCM and the compressed formats used by the audio driver.\n\n## SampleBank Compiler (sbc)\n\nConverts samplebank xml + aifc -> asm\n\nSamplebanks are converted to assembly files for building as it is easier to define the necessary absolute symbols, and they are pure unstructured data.\n\n## SoundFont Compiler (sfc)\n\nConverts soundfont & samplebank xml + aifc -> C\n\nSoundfonts are converted to C rather than assembly as it shares data structures with the audio driver code. Modifying the structures used by the driver without updating `sfc` to write them should error at compile-time rather than crash at runtime.\n\n## sfpatch\n\n`Usage: sfpatch in.elf out.elf`\n\nThis tool patches the symbol table of an ELF file (`in.elf`) to make every defined symbol in the file an absolute symbol. This is a required step for building soundfonts from C source as all pointers internal to a soundfont are offset from the start of the soundfont file and not the audiobank segment as a whole. Making all defined symbols ABS symbols prevents the linker from updating their values later, ensuring they remain file-relative.\n\n## atblgen\n\nGenerates various audio code tables.\n\n- Samplebank table: Specifies where in the `Audiotable` file each samplebank begins and how large it is.\n- Soundfont table: Specifies where in the `Audiobank` files each soundfont begins, how large it is, which samplebanks it uses, and how many instruments/drums/sfx it contains.\n- Sequence font table: Contains information on what soundfonts each sequence uses. Generated from the sequence object files that embed a `.note.fonts` section that holds this information.\n\nThe sequence table is not generated as some things in that table are better left manually specified, such as sequence enum names and flags. This also lets us have the sequence table before assembling any sequence files which is nice for some sequence commands like `runseq`.\n\n## afile_sizes\n\nProduces header files containing binary file sizes for a given set of object files. Used to produce headers containing soundfont and sequence files and the number of each for use in code files.\n\n## extraction\n\nThis collection of python files implements the extraction of audio data from a base ROM.\n\nFiles that are designed to be used externally include:\n- `audio_extract.py` is the main file for audio extraction, it expects an external script to call `extract_audio_for_version` with the necessary inputs.\n- `disassemble_sequence.py` is runnable but is not used in this way in either extraction or building. It may be used to manually disassemble a sequence binary.\n- `tuning.py` is runnable but is not used that way in either extraction or building. It may be used to manually determine alternative matches for the samplerate and basenote of a sample as the extraction procedure cannot always determine these uniquely.\n\nSee individual python source files for further details on their purposes.\n","tools/asm-differ/README.md":"# asm-differ\n\nNice differ for assembly code. Currently supports MIPS, PPC, AArch64, ARM32, SH2, SH4, and m68k; should be easy to hack to support other instruction sets.\n\n![](screenshot.png)\n\n## Dependencies\n\n- Python >= 3.6\n- `python3 -m pip install --user colorama watchdog levenshtein cxxfilt` (also `dataclasses` if on 3.6)\n\n## Usage\n\nCreate a file `diff_settings.py` in some directory (see the one in this repo for an example). Then from that directory, run\n\n```bash\n/path/to/diff.py [flags] (function|rom addr)\n```\n\nRecommended flags are `-mwo` (automatically run `make` on source file changes, and include symbols in diff). See `--help` for more details.\n\n### Tab completion\n\n[argcomplete](https://kislyuk.github.io/argcomplete/) can be optionally installed (with `python3 -m pip install argcomplete`) to enable tab completion in a bash shell, completing options and symbol names using the linker map. It also requires a bit more setup:\n\nIf invoking the script **exactly** as `./diff.py`, the following should be added to the `.bashrc` according to argcomplete's instructions:\n\n```bash\neval \"$(register-python-argcomplete ./diff.py)\"\n```\n\nIf that doesn't work, run `register-python-argcomplete ./diff.py` in your terminal and copy the output to `.bashrc`.\n\nIf setup correctly (don't forget to restart the shell), `complete | grep ./diff.py` should output:\n\n```bash\ncomplete -o bashdefault -o default -o nospace -F _python_argcomplete ./diff.py\n```\n\nNote for developers or for general troubleshooting: run `export _ARC_DEBUG=` to enable debug output during tab-completion, it may show otherwise silenced errors. Use `unset _ARC_DEBUG` or restart the terminal to disable.\n\n### Contributing\n\nContributions are very welcome! Some notes on workflow:\n\n`black` is used for code formatting. You can either run `black diff.py` manually, or set up a pre-commit hook:\n```bash\npip install pre-commit black\npre-commit install\n```\n\nType annotations are used for all Python code. `mypy` should pass without any errors.\n\nPRs that skip the above are still welcome, however.\n\nThe targeted Python version is 3.6. There are currently no tests.\n","tools/fado/z64_relocation_section_format.md":"# Zelda 64 overlay relocation section format\n\nBoth Zelda 64 titles use the same custom dynamic overlay relocation format, which is \n\n\nAll elements are 4 bytes in width.\n\n| Offset  | Description                                 | Notes                                                         |\n| ------- | ------------------------------------------- | ------------------------------------------------------------- |\n| 0x00    | Size of overlay .text section               |                                                               |\n| 0x04    | Size of overlay .data section               |                                                               |\n| 0x08    | Size of overlay .rodata section             |                                                               |\n| 0x0C    | Size of overlay .bss section                |                                                               |\n| 0x10    | Number of relocation entries                |                                                               |\n| 0x14-   | Relocation entries                          | Must be sorted in increasing order by section, then offset    |\n| ...     |                                             |                                                               |\n|         | (zero padding of section to 0x10 alignment) |                                                               |\n| End - 4 | Size of overlay .ovl section                | Also the offset from the end of the rest of the section sizes |\n\n\n## Relocation entries\n\nThe only element that is not a single number are the relocation entries, which are bitpacked as follows:\n\n| 0x1F..0x1E | 0x1D..0x18 | 0x17..0x0                     |\n| ---------- | ---------- | ----------------------------- |\n| ss         | tttttt     | oooo oooo oooo oooo oooo oooo |\n| Section    | Type       | Offset                        |\n\n\n### Section \n\n2 bits. Section where the instruction or data to be relocated is.\n\n| Value | Section |\n| ----- | ------- |\n| 1     | .text   |\n| 2     | .data   |\n| 3     | .rodata |\n\n\n### Type\n\n6 bits. Four types of standard MIPS relocation are supported. They use the same values as the standard elf formats:\n\n| Value | Type          | Description                                                                       |\n| ----- | ------------- | --------------------------------------------------------------------------------- |\n| 2     | `R_MIPS_32`   | A full word address (such as a pointer in data or an address in a jumptable)      |\n| 4     | `R_MIPS_26`   | 26-bit direct relocation, for a J-type instruction                                |\n| 5     | `R_MIPS_HI16` | High 16-bit, generally the top half of an address in an `li`/`lui`                |\n| 6     | `R_MIPS_LO16` | Low 16-bit, the bottom half of an address, such as in an `addiu`,`ori`,`lh`, etc. |\n\n\n### Offset\n\n0x18 bits. Offset in bytes from the start of the section where the relocation occurs.\n\n\n### Example\n\n```\n0x82000A30 = 0b1000 0010 0000 0000 0000 1010 0011 0000\n```\n\nThis splits as\n\n```\n0b10, 0b000010, 0b0000 0000 0000 1010 0011 0000 = 0x2, 0x2, 0xA30\n```\n\ni.e. a full-word (`R_MIPS_32`) relocation at `.data + 0xA30`.\n\n\n## Compiler compatibility\n\n### HI/LO\n\nThe MIPS ELF format standard specifies that each LO be preceded by a unique HI associated to it (but multiple LOs may associate to the same HI), and the overlay relocation function acts based on this assumption.\n\nIDO complies with this consistently, but GCC in its wisdom decided that it was appropriate to violate this by default, and allow multiple HIs to associate to the same LO. GCC also likes to reorder relocations in the `.rel.*` sections.\n\nTo prevent these you must pass *both* of the following compiler flags:\n\n```\n-mno-explicit-relocs -mno-split-addresses\n```\n\n(GNU do not document this behaviour themselves, although apparently it has been present for many years. It is also not even consistent between versions.)\n\n### rodata\n\nIt should be clear from the description above that this system expects a single rodata section. Again, IDO will only ever produce one rodata section, but GCC will produce several, albeit only one containing relocatable rodata: the others are for \"mergeable\" strings and floats/doubles. The cleanest way to deal with this is to pass \n\n```\n-fno-merge-constants\n```\n\nwhich will force GCC to generate a single combined rodata section. If, however, you really think you will benefit from merging constants, to obtain relocations correctly offset from the start of the entire rodata section(s), the actual `.rodata` section must be explicitly linked first.\n\nFor multi-file overlays, the situation is even more complicated, and Fado gets around this by adding up the sizes of all the rodata sections so that we may simply place one files' in one chunk: this means that each individual `.rodata` section should be linked before the others, i.e.\n\n```\n.text(1)\n.text(2)\n.data(1)\n.data(2)\n.rodata(1)\n.rodata.cst4(1)\n...\n.rodata(2)\n.rodata.cst4(2)\n```\n\nor similar.\n","tools/assets/descriptor/spec.md":"This document describes the expected structure of xml files describing assets.\n\n# Top elements\n\n## `Root`\n\n```xml\n<Root>\n    ...\n</Root>\n```\n\nThis is the root element in the file, containing exclusively `<File>` and `<ExternalFile>` elements as direct children.\n\n## `File`\n\n```xml\n<File Name=\"baserom_file\" Segment=\"11\">\n    ...\n</File>\n```\n\nA `<File>` contains resources elements as children.\n\n- Required attributes: `Name`\n- Optional attributes: `Segment`\n\n`Name` is the name of the baserom file from which the data is to be extracted.\n\n`Segment` (decimal) is the segment number for the file.\n\n## `ExternalFile`\n\n```xml\n<ExternalFile OutPath=\"assets/name\"/>\n```\n\nDeclare the `<File>`s in the xml may reference symbols from an external file.\n\nThe external file is located by matching its name against the list of assets in the version's `config.yml`.\n\nFor example, `baseroms/gc-eu/config.yml` contains\n\n```yml\nassets:\n- name: objects/gameplay_keep\n  xml_path: assets/xml/objects/gameplay_keep.xml\n```\n\nthen `<ExternalFile OutPath=\"assets/objects/gameplay_keep/\"/>` refers to that gameplay_keep entry, which uses the `gameplay_keep.xml` xml file when extracting assets for version gc-eu.\n\n\n# Resource elements\n\nResource elements describe resources. Resources are pieces of data corresponding to a symbol each.\n\nOne attribute is required on all resource elements: `Name`.\n\n- `Name` is the name of the symbol associated to the resource.\n\nAnother attribute, optional, is common to all resource elements: `Offset`.\n\nIf `Offset` is set to a (hexadecimal) number such as `Offset=\"0x421\"`, it specifies the location of the resource in bytes from the start of the file data.\n\nIf `Offset` is not set, the resource is assumed to start where the previous resource ended, or at 0 if the resource is the first in the `<File>`.\n\n`Offset` can also be set to be a relative offset like `Offset=\".+0x421\"`, which makes the resource location be that many bytes after the end of the previous resource.\n\n## `Blob`\n\n```xml\n<Blob Name=\"gNameBlob\" Size=\"0x421\" Offset=\"0x1230\">\n```\n\nUnstructured binary data.\n\n- Required attributes: `Size`\n\n`Size` is the size of the binary blob in bytes.\n\n## `DList`\n\n```xml\n<DList Name=\"gNameDL\" Offset=\"0x1230\" Length=\"123\" Ucode=\"f3dex2\" RawPointers=\"0x08000000,0x09000000\"/>\n```\n\nA display list.\n\n- Optional attributes: `Length`, `Ucode`, `RawPointers`\n\n`Length` can be set to indicate the length (amount of `Gfx` double-words) of the dlist. If not set, the dlist length is automatic.\n\n`Ucode` (defaults to `f3dex2`) picks the graphics microcode for which to disassemble the dlist. It may be `f3dex` or `f3dex2`.\n\n`RawPointers` (defaults to an empty value) is a comma-separated list of values the display list uses as raw pointers (\"hex\" instead of a symbol). The purpose of this attribute is to silence extraction warnings.\n\n## `Mtx`\n\n```xml\n<Mtx Name=\"gNameMtx\" Offset=\"0x1230\"/>\n```\n\nA fixed-point matrix.\n\n## `Texture`\n\n```xml\n<Texture Name=\"gNameTex\" Format=\"rgba16\" Width=\"16\" Height=\"16\" Offset=\"0x1230\"/>\n<Texture Name=\"gNameTex\" Format=\"ci8\" Width=\"16\" Height=\"16\" Offset=\"0x1230\" Tlut=\"gNameTLUT\"/>\n<Texture Name=\"gNameTex\" Format=\"ci8\" Width=\"16\" Height=\"16\" Offset=\"0x1230\" TlutOffset=\"0x2340\"/>\n<Texture Name=\"gNameTex\" Format=\"ci8\" Width=\"16\" Height=\"16\" Offset=\"0x1230\" ExternalTlut=\"baserom_file\" ExternalTlutOffset=\"0x2340\"/>\n```\n\nA texture, an image in one of the native N64 formats.\n\n- Required attributes for all formats: `Format`, `Width`, `Height`\n- Required attributes for CI formats (`ci4`, `ci8`): `Tlut`, or `TlutOffset`, or `ExternalTlut` and `ExternalTlutOffset`\n\n`Format` is the format of the texture, one of `rgba32`, `rgba16`, `i4`, `i8`, `ia4`, `ia8`, `ia16`, `ci4` or `ci8`.\n\n`Width` and `Height` specify the dimensions of the texture.\n\nFor CI formats, the TLUT (Texture Look Up Table, or palette) must be specified with either `Tlut` or `TlutOffset` if the TLUT is in the same file as the texture, or both of `ExternalTlut` and `ExternalTlutOffset` if the TLUT is in a different file. `ExternalTlut` is the name of the baserom file where the TLUT is. In both cases, the TLUT must also be declared as a resource.\n\n## `Array`\n\n```xml\n<Array Name=\"gNameVtx\" Count=\"42\" Offset=\"0x1230\">\n    <Vtx/>\n</Array>\n<Array Name=\"gNameVec3sArray\" Count=\"42\" Offset=\"0x1230\">\n    <Vector Type=\"s16\" Dimensions=\"3\"/>\n</Array>\n<Array Name=\"gNameS16Array\" Count=\"42\" Offset=\"0x1230\">\n    <Scalar Type=\"s16\"/>\n</Array>\n```\n\nAn array of vertices, vectors or scalars. The child element determines the array's element type.\n\n- Required attributes: `Count`\n\n`Count` is the length of the array.\n\nThe child element may be one of `<Vtx/>` (for `Vtx[]`), `<Vector Type=\"s16\" Dimensions=\"3\"/>` (for `Vec3s[]`) or `<Scalar Type=\"s16\">` (for `s16[]`).\n\n## `Scene`\n\n```xml\n<Scene Name=\"name\" Offset=\"0x1230\"/>\n```\n\nScene commands.\n\n## `Room`\n\n```xml\n<Room Name=\"name\" Offset=\"0x1230\"/>\n```\n\nRoom commands.\n\n## `Collision`\n\n```xml\n<Collision Name=\"gNameCol\" Offset=\"0x1230\"/>\n```\n\nCollision header.\n\n## `Cutscene`\n\n```xml\n<Cutscene Name=\"gNameCs\" Offset=\"0x1230\"/>\n```\n\nCutscene script.\n\n## `Path`\n\n```xml\n<Path Name=\"gNamePathList\" Offset=\"0x1230\" NumPaths=\"12\"/>\n```\n\nPath list.\n\n- Required attributes: `NumPaths`\n\n`NumPaths` is the length of the path list.\n\n## `Skeleton`\n\n```xml\n<Skeleton Name=\"gNameSkel\" Type=\"Normal\" LimbType=\"Standard\" LimbNone=\"NAME_LIMB_NONE\" LimbMax=\"NAME_LIMB_MAX\" EnumName=\"NameLimb\" Offset=\"0x1230\"/>\n```\n\nSkeleton header.\n\n- Required attributes: `Type`, `LimbType`\n- Optional attributes: `LimbNone`, `LimbMax`, `EnumName`\n\n`Type` is the type of the skeleton, one of `Normal`, `Flex` or `Curve`.\n\n`LimbType` is the type of limb used in the skeleton, one of `Standard`, `LOD`, `Skin`, `Curve` or `Legacy`.\n\nNot all skeleton types are compatible with all limb types:\n\n`LimbType` | Compatible skeleton `Type`\n-----------|---------------------------\n`Standard` | `Normal`, `Flex`\n`LOD`      | `Normal`, `Flex`\n`Skin`     | `Normal`\n`Curve`    | `Curve`\n`Legacy`   | none\n\n`LimbNone`, `LimbMax`, `EnumName` can be set to override the corresponding names in the generated limb enum:\n\n```c\ntypedef enum NameLimb {\n    NAME_LIMB_NONE,\n    ...\n    NAME_LIMB_MAX\n} NameLimb;\n```\n\n## `LimbTable`\n\n```xml\n<LimbTable Name=\"gNameLimbs\" LimbType=\"Standard\" Count=\"12\" Offset=\"0x1230\"/>\n```\n\nLimb table.\n\n- Required attributes: `LimbType`, `Count`\n\n`LimbType` is one of `Standard`, `LOD`, `Skin`, `Curve` or `Legacy`.\n\n`Count` is the amount of limbs.\n\n## `Limb`\n\n```xml\n<Limb Name=\"gNameLimb\" LimbType=\"Standard\" EnumName=\"NAME_LIMB_NAME\" Offset=\"0x1230\"/>\n```\n\nLimb of a skeleton.\n\n- Required attributes: `LimbType`\n- Optional attributes: `EnumName`\n\n`LimbType` is one of `Standard`, `LOD`, `Skin`, `Curve` or `Legacy`.\n\n`EnumName` can be set to override the limb name in the generated limb enum.\n\n## `Animation`\n\n```xml\n<Animation Name=\"gNameAnim\" Offset=\"0x1230\"/>\n```\n\nAnimation header.\n\n## `CurveAnimation`\n\n```xml\n<CurveAnimation Name=\"gNameAnim\" SkelOffset=\"0x120\" Offset=\"0x1230\"/>\n```\n\nCurve animation header.\n\n- Required attributes: `SkelOffset`\n\n`SkelOffset` is the offset of the skeleton which uses this animation. The skeleton must also be declared as a resource.\n\n## `LegacyAnimation`\n\n```xml\n<LegacyAnimation Name=\"gNameAnim\" Offset=\"0x1230\"/>\n```\n\nLegacy animation header.\n\n## `PlayerAnimation`\n\n```xml\n<PlayerAnimation Name=\"gNamePlayerAnim\" Offset=\"0x1230\"/>\n```\n\nPlayer animation header.\n\n## `PlayerAnimationData`\n\n```xml\n<PlayerAnimationData Name=\"gNamePlayerAnimData\" FrameCount=\"20\" Offset=\"0x1230\"/>\n```\n\nPlayer animation data.\n\n- Required attributes: `FrameCount`\n\n`FrameCount` is the amount of frames in the animation.\n","tools/fado/lib/vc_vector/README.md":"# vc_vector\nFast simple C vector implementation\n\n[![Build Status: make && make test](https://travis-ci.org/skogorev/vc_vector.svg)](https://travis-ci.org/skogorev/vc_vector)\n\n## Usage\n\n### Basic\n```c\n#include \"vc_vector.h\"\n\nint main() {\n  // Creates an empty vector with the default reserved size\n  // and without custom deleter. Vector will contain 'int'\n  vc_vector* v = vc_vector_create(0, sizeof(int), NULL);\n  if (!v) {\n    return 1;\n  }\n\n  const int count = 10;\n  for (int i = 0; i < count; ++i) {\n    // The function takes a pointer to the elements,\n    // but the vector will make a copy of the element\n    vc_vector_push_back(v, &i);\n  }\n\n  // Print each vector element\n  for (void* i = vc_vector_begin(v);\n             i != vc_vector_end(v);\n             i = vc_vector_next(v, i)) {\n    printf(\"%u; \", *(int*)i);\n  }\n\n  vc_vector_release(v);\n  return 0;\n}\n```\n\n### Advanced\n```c\n#include \"vc_vector.h\"\n\nstruct Item {\n  int val1;\n  int val2;\n};\n\nint main() {\n  const int n = 10;\n\n  // Creates an empty vector with the reserved size for the 'n' elements\n  // and with custom deleter 'free'. Vector will contain pointers to 'Item'\n  vc_vector* v = vc_vector_create(n, sizeof(struct Node*), free);\n  if (!v) {\n    return 1;\n  }\n\n  struct Item* item = NULL;\n  const int count = n + 1;\n  // Vector automatically increases the reserved size when 'n + 1' will be added\n  for (int i = 0; i < count; ++i) {\n    // Creating item\n    item = malloc(sizeof(struct Item));\n    if (!item) {\n      continue;\n    }\n\n    item->val1 = i;\n    item->val2 = 0;\n\n    // Pushing to the end of the vector\n    if (!vc_vector_push_back(v, item)) {\n      // If the item was not pushed, you have to delete it\n      free(item);\n    }\n  }\n\n  // ...\n\n  // Calls custom deleter 'free' for all items\n  // and releases the vector\n  vc_vector_release(v);\n  return 0;\n}\n```\n\n## Projects that use vc_vector\n[kraken.io](https://kraken.io/)\n\n## License\n\n[MIT License](LICENSE.md)\n","tools/fado/lib/vc_vector/LICENSE.md":"#The MIT License (MIT)\n\n*Copyright (c) 2016 Skogorev Anton*\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","tools/overlayhelpers/filetable.json":"{\"va\": {\"12248064\": null, \"12246208\": \"ovl_Shot_Sun\", \"12241936\": \"ovl_Oceff_Wipe4\", \"12235760\": \"ovl_Oceff_Wipe3\", \"12229552\": \"ovl_Oceff_Wipe2\", \"12225936\": \"ovl_Oceff_Wipe\", \"12218592\": \"ovl_Oceff_Storm\", \"12214384\": \"ovl_Oceff_Spot\", \"12200608\": \"ovl_Object_Kankyo\", \"12197360\": \"ovl_Obj_Warp2block\", \"12193120\": \"ovl_Obj_Tsubo\", \"12189600\": \"ovl_Obj_Timeblock\", \"12186288\": \"ovl_Obj_Syokudai\", \"12177936\": \"ovl_Obj_Switch\", \"12177360\": \"ovl_Obj_Roomtimer\", \"12169600\": \"ovl_Obj_Oshihiki\", \"12167632\": \"ovl_Obj_Mure3\", \"12164928\": \"ovl_Obj_Mure2\", \"12159648\": \"ovl_Obj_Mure\", \"12158224\": \"ovl_Obj_Makeoshihiki\", \"12157552\": \"ovl_Obj_Makekinsuta\", \"12151712\": \"ovl_Obj_Lightswitch\", \"12148944\": \"ovl_Obj_Lift\", \"12147152\": \"ovl_Obj_Kibako2\", \"12143776\": \"ovl_Obj_Kibako\", \"12141152\": \"ovl_Obj_Ice_Poly\", \"12139360\": \"ovl_Obj_Hsblock\", \"12138592\": \"ovl_Obj_Hana\", \"12136336\": \"ovl_Obj_Hamishi\", \"12135168\": \"ovl_Obj_Elevator\", \"12133408\": \"ovl_Obj_Dekujr\", \"12131168\": \"ovl_Obj_Comb\", \"12129776\": \"ovl_Obj_Bombiwa\", \"12129376\": \"ovl_Obj_Blockstop\", \"12118656\": \"ovl_Obj_Bean\", \"12111952\": \"ovl_Mir_Ray\", \"12103936\": \"ovl_Magic_Wind\", \"12094832\": \"ovl_Magic_Fire\", \"12088272\": \"ovl_Magic_Dark\", \"12085536\": \"ovl_Item_Shield\", \"12083504\": \"ovl_Item_Ocarina\", \"12083168\": \"ovl_Item_Inbox\", \"12080624\": \"ovl_Item_Etcetera\", \"12079440\": \"ovl_Item_B_Heart\", \"11966880\": \"ovl_Fishing\", \"11949856\": \"ovl_End_Title\", \"11938240\": \"ovl_En_fHG\", \"11928096\": \"ovl_En_Zo\", \"11909040\": \"ovl_En_Zl4\", \"11875248\": \"ovl_En_Zl3\", \"11856272\": \"ovl_En_Zl2\", \"11840320\": \"ovl_En_Zl1\", \"11812944\": \"ovl_En_Zf\", \"11811264\": \"ovl_En_Yukabyun\", \"11808192\": \"ovl_En_Yabusame_Mark\", \"11780576\": \"ovl_En_Xc\", \"11775856\": \"ovl_En_Wood02\", \"11771600\": \"ovl_En_Wonder_Talk2\", \"11768048\": \"ovl_En_Wonder_Talk\", \"11763808\": \"ovl_En_Wonder_Item\", \"11746480\": \"ovl_En_Wf\", \"11739792\": \"ovl_En_Weiyer\", \"11735072\": \"ovl_En_Weather_Tag\", \"11728160\": \"ovl_En_Wallmas\", \"11726320\": \"ovl_En_Wall_Tubo\", \"11719776\": \"ovl_En_Vm\", \"11706880\": \"ovl_En_Viewer\", \"11702176\": \"ovl_En_Vb_Ball\", \"11701936\": \"ovl_En_Vase\", \"11691696\": \"ovl_En_Vali\", \"11688176\": \"ovl_En_Tubo_Trap\", \"11683424\": \"ovl_En_Trap\", \"11676912\": \"ovl_En_Tr\", \"11668960\": \"ovl_En_Tp\", \"11665776\": \"ovl_En_Toryo\", \"11655552\": \"ovl_En_Torch2\", \"11655312\": \"ovl_En_Torch\", \"11647232\": \"ovl_En_Tk\", \"11635328\": \"ovl_En_Tite\", \"11633504\": \"ovl_En_Tg\", \"11632432\": \"ovl_En_Tana\", \"11629920\": \"ovl_En_Takara_Man\", \"11614880\": \"ovl_En_Ta\", \"11606256\": \"ovl_En_Syateki_Niw\", \"11602032\": \"ovl_En_Syateki_Man\", \"11597488\": \"ovl_En_Syateki_Itm\", \"11582896\": \"ovl_En_Sw\", \"11581344\": \"ovl_En_Stream\", \"11564352\": \"ovl_En_Sth\", \"11552912\": \"ovl_En_St\", \"11543152\": \"ovl_En_Ssh\", \"11542192\": \"ovl_En_Skjneedle\", \"11526832\": \"ovl_En_Skj\", \"11520416\": \"ovl_En_Skb\", \"11516800\": \"ovl_En_Siofuki\", \"11515536\": \"ovl_En_Si\", \"11511584\": \"ovl_En_Shopnuts\", \"11505184\": \"ovl_En_Sda\", \"11504752\": \"ovl_En_Scene_Change\", \"11499504\": \"ovl_En_Sb\", \"11490656\": \"ovl_En_Sa\", \"11478352\": \"ovl_En_Ru2\", \"11447312\": \"ovl_En_Ru1\", \"11437120\": \"ovl_En_Rr\", \"11432624\": \"ovl_En_Rl\", \"11430192\": \"ovl_En_River_Sound\", \"11422928\": \"ovl_En_Reeba\", \"11412480\": \"ovl_En_Rd\", \"11411648\": \"ovl_En_Pu_box\", \"11394384\": \"ovl_En_Poh\", \"11374480\": \"ovl_En_Po_Sisters\", \"11368256\": \"ovl_En_Po_Relay\", \"11352832\": \"ovl_En_Po_Field\", \"11349168\": \"ovl_En_Po_Desert\", \"11334816\": \"ovl_En_Peehat\", \"11328976\": \"ovl_En_Part\", \"11312928\": \"ovl_En_Owl\", \"11283616\": \"ovl_En_Ossan\", \"11273824\": \"ovl_En_Okuta\", \"11267360\": \"ovl_En_Okarina_Tag\", \"11265888\": \"ovl_En_Okarina_Effect\", \"11265696\": \"ovl_En_OE2\", \"11258800\": \"ovl_En_Ny\", \"11256032\": \"ovl_En_Nwc\", \"11254352\": \"ovl_En_Nutsball\", \"11246656\": \"ovl_En_Niw_Lady\", \"11243392\": \"ovl_En_Niw_Girl\", \"11229056\": \"ovl_En_Niw\", \"11210128\": \"ovl_En_Nb\", \"11207712\": \"ovl_En_Mu\", \"11205920\": \"ovl_En_Ms\", \"11202128\": \"ovl_En_Mm2\", \"11196272\": \"ovl_En_Mm\", \"11192576\": \"ovl_En_Mk\", \"11182672\": \"ovl_En_Md\", \"11165776\": \"ovl_En_Mb\", \"11156224\": \"ovl_En_Mag\", \"11152032\": \"ovl_En_Ma3\", \"11147680\": \"ovl_En_Ma2\", \"11142800\": \"ovl_En_Ma1\", \"11136992\": \"ovl_En_M_Thunder\", \"11136576\": \"ovl_En_M_Fire1\", \"11135440\": \"ovl_En_Lightbox\", \"11131712\": \"ovl_En_Light\", \"11126096\": \"ovl_En_Kz\", \"11120544\": \"ovl_En_Kusa\", \"11103664\": \"ovl_En_Ko\", \"11096912\": \"ovl_En_Karebaba\", \"11083680\": \"ovl_En_Kanban\", \"11078944\": \"ovl_En_Kakasi3\", \"11075600\": \"ovl_En_Kakasi2\", \"11071856\": \"ovl_En_Kakasi\", \"11048864\": \"ovl_En_Jsjutan\", \"11046416\": \"ovl_En_Js\", \"11040768\": \"ovl_En_Jj\", \"11040384\": \"ovl_En_It\", \"11002976\": \"ovl_En_Ishi\", \"10993184\": \"ovl_En_Insect\", \"10981296\": \"ovl_En_In\", \"10961680\": \"ovl_En_Ik\", \"10956784\": \"ovl_En_Ice_Hono\", \"10941872\": \"ovl_En_Hy\", \"10940320\": \"ovl_En_Hs2\", \"10937248\": \"ovl_En_Hs\", \"10934480\": \"ovl_En_Horse_Zelda\", \"10924624\": \"ovl_En_Horse_Normal\", \"10916816\": \"ovl_En_Horse_Link_Child\", \"10913376\": \"ovl_En_Horse_Ganon\", \"10909008\": \"ovl_En_Horse_Game_Check\", \"10859248\": \"ovl_En_Horse\", \"10853424\": \"ovl_En_Honotrap\", \"10849296\": \"ovl_En_Holl\", \"10842624\": \"ovl_En_Hintnuts\", \"10838224\": \"ovl_En_Heishi4\", \"10835520\": \"ovl_En_Heishi3\", \"10825376\": \"ovl_En_Heishi2\", \"10818256\": \"ovl_En_Heishi1\", \"10816848\": \"ovl_En_Hata\", \"10813984\": \"ovl_En_Guest\", \"10806048\": \"ovl_En_Gs\", \"10796192\": \"ovl_En_Goroiwa\", \"10784448\": \"ovl_En_Goma\", \"10759472\": \"ovl_En_Go2\", \"10741104\": \"ovl_En_Go\", \"10737376\": \"ovl_En_Gm\", \"10725200\": \"ovl_En_GirlA\", \"10703632\": \"ovl_En_GeldB\", \"10700320\": \"ovl_En_Ge3\", \"10693584\": \"ovl_En_Ge2\", \"10684784\": \"ovl_En_Ge1\", \"10678656\": \"ovl_En_Gb\", \"10649600\": \"ovl_En_Ganon_Organ\", \"10632544\": \"ovl_En_Ganon_Mant\", \"10624704\": \"ovl_En_G_Switch\", \"10616256\": \"ovl_En_Fz\", \"10610080\": \"ovl_En_Fw\", \"10606608\": \"ovl_En_Fu\", \"10594720\": \"ovl_En_Fr\", \"10581264\": \"ovl_En_Floormas\", \"10572416\": \"ovl_En_Fish\", \"10563696\": \"ovl_En_Firefly\", \"10558496\": \"ovl_En_Fire_Rock\", \"10547808\": \"ovl_En_Fhg_Fire\", \"10544304\": \"ovl_En_Fd_Fire\", \"10532544\": \"ovl_En_Fd\", \"10527760\": \"ovl_En_Ex_Ruppy\", \"10522272\": \"ovl_En_Ex_Item\", \"10516880\": \"ovl_En_Encount2\", \"10512160\": \"ovl_En_Encount1\", \"10492976\": \"ovl_En_Elf\", \"10485664\": \"ovl_En_Eiyer\", \"10485136\": \"ovl_En_Eg\", \"10483440\": \"ovl_En_Dy_Extra\", \"10476592\": \"ovl_En_Du\", \"10473520\": \"ovl_En_Ds\", \"10469840\": \"ovl_En_Door\", \"10465232\": \"ovl_En_Dog\", \"10453584\": \"ovl_En_Dodongo\", \"10445760\": \"ovl_En_Dodojr\", \"10433216\": \"ovl_En_Dnt_Nomal\", \"10427104\": \"ovl_En_Dnt_Jiji\", \"10422496\": \"ovl_En_Dnt_Demo\", \"10416976\": \"ovl_En_Dns\", \"10410096\": \"ovl_En_Diving_Game\", \"10406016\": \"ovl_En_Dha\", \"10399040\": \"ovl_En_Dh\", \"10392928\": \"ovl_En_Dekunuts\", \"10377168\": \"ovl_En_Dekubaba\", \"10371872\": \"ovl_En_Daiku_Kakariko\", \"10365744\": \"ovl_En_Daiku\", \"10361008\": \"ovl_En_Cs\", \"10355264\": \"ovl_En_Crow\", \"10350080\": \"ovl_En_Cow\", \"10302896\": \"ovl_En_Clear_Tag\", \"10299024\": \"ovl_En_Changer\", \"10296032\": \"ovl_En_Bx\", \"10282720\": \"ovl_En_Bw\", \"10276976\": \"ovl_En_Butte\", \"10271744\": \"ovl_En_Bubble\", \"10267408\": \"ovl_En_Brob\", \"10259904\": \"ovl_En_Box\", \"10257536\": \"ovl_En_Boom\", \"10252128\": \"ovl_En_Bombf\", \"10246192\": \"ovl_En_Bom_Chu\", \"10243648\": \"ovl_En_Bom_Bowl_Pit\", \"10237488\": \"ovl_En_Bom_Bowl_Man\", \"10233552\": \"ovl_En_Bom\", \"10231904\": \"ovl_En_Blkobj\", \"10230704\": \"ovl_En_Bird\", \"10221728\": \"ovl_En_Bili\", \"10210400\": \"ovl_En_Bigokuta\", \"10207280\": \"ovl_En_Bdfire\", \"10191584\": \"ovl_En_Bb\", \"10183504\": \"ovl_En_Ba\", \"10178816\": \"ovl_En_Attack_Niw\", \"10172704\": \"ovl_En_Arrow\", \"10172368\": \"ovl_En_Arow_Trap\", \"10171392\": \"ovl_En_Anubice_Tag\", \"10167712\": \"ovl_En_Anubice_Fire\", \"10162464\": \"ovl_En_Anubice\", \"10158960\": \"ovl_En_Ani\", \"10149664\": \"ovl_En_Am\", \"10147584\": \"ovl_Elf_Msg2\", \"10144544\": \"ovl_Elf_Msg\", \"10143488\": \"ovl_Effect_Ss_Stone1\", \"10142416\": \"ovl_Effect_Ss_Stick\", \"10142000\": \"ovl_Effect_Ss_Solder_Srch_Ball\", \"10141024\": \"ovl_Effect_Ss_Sibuki2\", \"10139184\": \"ovl_Effect_Ss_Sibuki\", \"10137328\": \"ovl_Effect_Ss_Lightning\", \"10135568\": \"ovl_Effect_Ss_KiraKira\", \"10131072\": \"ovl_Effect_Ss_Kakera\", \"10129840\": \"ovl_Effect_Ss_K_Fire\", \"10128368\": \"ovl_Effect_Ss_Ice_Smoke\", \"10127104\": \"ovl_Effect_Ss_Ice_Piece\", \"10125648\": \"ovl_Effect_Ss_HitMark\", \"10123760\": \"ovl_Effect_Ss_Hahen\", \"10122560\": \"ovl_Effect_Ss_G_Splash\", \"10121008\": \"ovl_Effect_Ss_G_Spk\", \"10119520\": \"ovl_Effect_Ss_G_Ripple\", \"10118048\": \"ovl_Effect_Ss_G_Magma2\", \"10117456\": \"ovl_Effect_Ss_G_Magma\", \"10116816\": \"ovl_Effect_Ss_G_Fire\", \"10114880\": \"ovl_Effect_Ss_Fire_Tail\", \"10110560\": \"ovl_Effect_Ss_Fhg_Flash\", \"10109216\": \"ovl_Effect_Ss_Fcircle\", \"10108096\": \"ovl_Effect_Ss_Extra\", \"10105648\": \"ovl_Effect_Ss_En_Ice\", \"10103648\": \"ovl_Effect_Ss_En_Fire\", \"10101456\": \"ovl_Effect_Ss_Dust\", \"10099888\": \"ovl_Effect_Ss_Dt_Bubble\", \"10099504\": \"ovl_Effect_Ss_Dead_Sound\", \"10098192\": \"ovl_Effect_Ss_Dead_Ds\", \"10096608\": \"ovl_Effect_Ss_Dead_Dd\", \"10095264\": \"ovl_Effect_Ss_Dead_Db\", \"10093904\": \"ovl_Effect_Ss_D_Fire\", \"10092608\": \"ovl_Effect_Ss_Bubble\", \"10090064\": \"ovl_Effect_Ss_Bomb2\", \"10088880\": \"ovl_Effect_Ss_Bomb\", \"10087856\": \"ovl_Effect_Ss_Blast\", \"10082512\": \"ovl_Eff_Dust\", \"10079408\": \"ovl_Efc_Erupc\", \"10061696\": \"ovl_Door_Warp1\", \"10061344\": \"ovl_Door_Toki\", \"10052256\": \"ovl_Door_Shutter\", \"10046544\": \"ovl_Door_Killer\", \"10044896\": \"ovl_Door_Gerudo\", \"10043120\": \"ovl_Door_Ana\", \"10041024\": \"ovl_Demo_Tre_Lgt\", \"10031664\": \"ovl_Demo_Shd\", \"10019936\": \"ovl_Demo_Sa\", \"10014672\": \"ovl_Demo_Kekkai\", \"9997952\": \"ovl_Demo_Kankyo\", \"9980896\": \"ovl_Demo_Im\", \"9974528\": \"ovl_Demo_Ik\", \"9950832\": \"ovl_Demo_Gt\", \"9947248\": \"ovl_Demo_Go\", \"9931056\": \"ovl_Demo_Gj\", \"9928256\": \"ovl_Demo_Geff\", \"9925520\": \"ovl_Demo_Ext\", \"9899856\": \"ovl_Demo_Effect\", \"9884848\": \"ovl_Demo_Ec\", \"9870032\": \"ovl_Demo_Du\", \"9857360\": \"ovl_Demo_6K\", \"9761472\": \"ovl_Boss_Va\", \"9669840\": \"ovl_Boss_Tw\", \"9618896\": \"ovl_Boss_Sst\", \"9550592\": \"ovl_Boss_Mo\", \"9525776\": \"ovl_Boss_Goma\", \"9504320\": \"ovl_Boss_Ganondrof\", \"9424704\": \"ovl_Boss_Ganon2\", \"9267312\": \"ovl_Boss_Ganon\", \"9250416\": \"ovl_Boss_Fd2\", \"9219520\": \"ovl_Boss_Fd\", \"9179536\": \"ovl_Boss_Dodongo\", \"9178144\": \"ovl_Bg_Zg\", \"9171984\": \"ovl_Bg_Ydan_Sp\", \"9170240\": \"ovl_Bg_Ydan_Maruta\", \"9168128\": \"ovl_Bg_Ydan_Hasi\", \"9166176\": \"ovl_Bg_Vb_Sima\", \"9165792\": \"ovl_Bg_Umajump\", \"9159936\": \"ovl_Bg_Treemouth\", \"9154112\": \"ovl_Bg_Toki_Swd\", \"9150208\": \"ovl_Bg_Toki_Hikari\", \"9148688\": \"ovl_Bg_Sst_Floor\", \"9147344\": \"ovl_Bg_Spot18_Shutter\", \"9144592\": \"ovl_Bg_Spot18_Obj\", \"9144192\": \"ovl_Bg_Spot18_Futa\", \"9139984\": \"ovl_Bg_Spot18_Basket\", \"9139200\": \"ovl_Bg_Spot17_Funen\", \"9137088\": \"ovl_Bg_Spot17_Bakudankabe\", \"9135168\": \"ovl_Bg_Spot16_Doughnut\", \"9129008\": \"ovl_Bg_Spot16_Bombstone\", \"9128016\": \"ovl_Bg_Spot15_Saku\", \"9124192\": \"ovl_Bg_Spot15_Rrbox\", \"9122848\": \"ovl_Bg_Spot12_Saku\", \"9121680\": \"ovl_Bg_Spot12_Gate\", \"9119728\": \"ovl_Bg_Spot11_Oasis\", \"9118080\": \"ovl_Bg_Spot11_Bakudankabe\", \"9116384\": \"ovl_Bg_Spot09_Obj\", \"9111904\": \"ovl_Bg_Spot08_Iceblock\", \"9110224\": \"ovl_Bg_Spot08_Bakudankabe\", \"9108528\": \"ovl_Bg_Spot07_Taki\", \"9103232\": \"ovl_Bg_Spot06_Objects\", \"9102448\": \"ovl_Bg_Spot05_Soko\", \"9100000\": \"ovl_Bg_Spot03_Taki\", \"9094752\": \"ovl_Bg_Spot02_Objects\", \"9093440\": \"ovl_Bg_Spot01_Objects2\", \"9092736\": \"ovl_Bg_Spot01_Idosoko\", \"9091808\": \"ovl_Bg_Spot01_Idomizu\", \"9088224\": \"ovl_Bg_Spot01_Idohashira\", \"9087424\": \"ovl_Bg_Spot01_Fusya\", \"9082752\": \"ovl_Bg_Spot00_Hanebasi\", \"9082336\": \"ovl_Bg_Spot00_Break\", \"9080400\": \"ovl_Bg_Relay_Objects\", \"9079520\": \"ovl_Bg_Pushbox\", \"9076912\": \"ovl_Bg_Po_Syokudai\", \"9069072\": \"ovl_Bg_Po_Event\", \"9065840\": \"ovl_Bg_Mori_Rakkatenjo\", \"9063872\": \"ovl_Bg_Mori_Kaitenkabe\", \"9061952\": \"ovl_Bg_Mori_Idomizu\", \"9058256\": \"ovl_Bg_Mori_Hineri\", \"9056352\": \"ovl_Bg_Mori_Hashira4\", \"9053536\": \"ovl_Bg_Mori_Hashigo\", \"9050112\": \"ovl_Bg_Mori_Elevator\", \"9046976\": \"ovl_Bg_Mori_Bigst\", \"9045888\": \"ovl_Bg_Mjin\", \"9042096\": \"ovl_Bg_Mizu_Water\", \"9041632\": \"ovl_Bg_Mizu_Uzu\", \"9039440\": \"ovl_Bg_Mizu_Shutter\", \"9034800\": \"ovl_Bg_Mizu_Movebg\", \"9028736\": \"ovl_Bg_Mizu_Bwall\", \"9028400\": \"ovl_Bg_Menkuri_Nisekabe\", \"9028016\": \"ovl_Bg_Menkuri_Kaiten\", \"9026672\": \"ovl_Bg_Menkuri_Eye\", \"9024576\": \"ovl_Bg_Jya_Zurerukabe\", \"9019696\": \"ovl_Bg_Jya_Megami\", \"9018272\": \"ovl_Bg_Jya_Lift\", \"9017152\": \"ovl_Bg_Jya_Kanaami\", \"9013408\": \"ovl_Bg_Jya_Ironobj\", \"9011392\": \"ovl_Bg_Jya_Haheniron\", \"9009520\": \"ovl_Bg_Jya_Goroiwa\", \"9001200\": \"ovl_Bg_Jya_Cobra\", \"8999328\": \"ovl_Bg_Jya_Bombiwa\", \"8996000\": \"ovl_Bg_Jya_Bombchuiwa\", \"8995232\": \"ovl_Bg_Jya_Block\", \"8992480\": \"ovl_Bg_Jya_Bigmirror\", \"8991424\": \"ovl_Bg_Jya_Amishutter\", \"8989536\": \"ovl_Bg_Jya_1flift\", \"8988480\": \"ovl_Bg_Ingate\", \"8986400\": \"ovl_Bg_Ice_Turara\", \"8985280\": \"ovl_Bg_Ice_Shutter\", \"8980288\": \"ovl_Bg_Ice_Shelter\", \"8976400\": \"ovl_Bg_Ice_Objects\", \"8975296\": \"ovl_Bg_Hidan_Syoku\", \"8971216\": \"ovl_Bg_Hidan_Sima\", \"8965824\": \"ovl_Bg_Hidan_Sekizou\", \"8962560\": \"ovl_Bg_Hidan_Rsekizou\", \"8958080\": \"ovl_Bg_Hidan_Rock\", \"8953888\": \"ovl_Bg_Hidan_Kowarerukabe\", \"8952160\": \"ovl_Bg_Hidan_Kousi\", \"8950064\": \"ovl_Bg_Hidan_Hrock\", \"8945728\": \"ovl_Bg_Hidan_Hamstep\", \"8942320\": \"ovl_Bg_Hidan_Fwbig\", \"8941120\": \"ovl_Bg_Hidan_Fslift\", \"8939104\": \"ovl_Bg_Hidan_Firewall\", \"8936992\": \"ovl_Bg_Hidan_Dalm\", \"8933792\": \"ovl_Bg_Hidan_Curtain\", \"8927120\": \"ovl_Bg_Heavy_Block\", \"8922560\": \"ovl_Bg_Haka_Zou\", \"8920320\": \"ovl_Bg_Haka_Water\", \"8917584\": \"ovl_Bg_Haka_Tubo\", \"8912032\": \"ovl_Bg_Haka_Trap\", \"8909056\": \"ovl_Bg_Haka_Ship\", \"8905952\": \"ovl_Bg_Haka_Sgami\", \"8904240\": \"ovl_Bg_Haka_MeganeBG\", \"8903232\": \"ovl_Bg_Haka_Megane\", \"8900544\": \"ovl_Bg_Haka_Huta\", \"8895984\": \"ovl_Bg_Haka_Gate\", \"8894128\": \"ovl_Bg_Haka\", \"8891840\": \"ovl_Bg_Gnd_Soulmeiro\", \"8891472\": \"ovl_Bg_Gnd_Nisekabe\", \"8886944\": \"ovl_Bg_Gnd_Iceblock\", \"8885440\": \"ovl_Bg_Gnd_Firemeiro\", \"8883248\": \"ovl_Bg_Gnd_Darkmeiro\", \"8881856\": \"ovl_Bg_Gjyo_Bridge\", \"8880480\": \"ovl_Bg_Gate_Shutter\", \"8870176\": \"ovl_Bg_Ganon_Otyuka\", \"8857648\": \"ovl_Bg_Dy_Yoseizo\", \"8854016\": \"ovl_Bg_Dodoago\", \"8851696\": \"ovl_Bg_Ddan_Kd\", \"8850096\": \"ovl_Bg_Ddan_Jd\", \"8846304\": \"ovl_Bg_Breakwall\", \"8843616\": \"ovl_Bg_Bowl_Wall\", \"8841168\": \"ovl_Bg_Bombwall\", \"8840528\": \"ovl_Bg_Bom_Guard\", \"8835088\": \"ovl_Bg_Bdan_Switch\", \"8830112\": \"ovl_Bg_Bdan_Objects\", \"8821936\": \"ovl_Arrow_Light\", \"8813776\": \"ovl_Arrow_Ice\", \"8805648\": \"ovl_Arrow_Fire\", \"8802048\": \"ovl_Arms_Hook\", \"8779344\": \"ovl_En_Test\", \"8751984\": \"ovl_map_mark_data\", \"8593936\": \"ovl_player_actor\", \"8468512\": \"ovl_kaleido_scope\", \"8404288\": \"ovl_file_choose\", \"8403952\": \"ovl_opening\", \"8391568\": \"ovl_select\", \"8388608\": \"ovl_title\", \"1408400\": null, \"118368\": \"code\", \"93600\": \"dmadata\", \"1120\": \"boot\"}, \"ra\": {\"56418368\": null, \"56418304\": \"softsprite_matrix_static\", \"56414208\": \"anime_texture_6_static\", \"56410112\": \"anime_texture_5_static\", \"56406016\": \"anime_texture_4_static\", \"56401920\": \"anime_texture_3_static\", \"56397824\": \"anime_texture_2_static\", \"56393728\": \"anime_texture_1_static\", \"56389632\": \"anime_model_6_static\", \"56385536\": \"anime_model_5_static\", \"56381440\": \"anime_model_4_static\", \"56377344\": \"anime_model_3_static\", \"56373248\": \"anime_model_2_static\", \"56369152\": \"anime_model_1_static\", \"56365056\": \"bump_texture_static\", \"56324096\": \"test01_room_0\", \"56307712\": \"test01_scene\", \"56266752\": \"ganontikasonogo_room_1\", \"56168448\": \"ganontikasonogo_room_0\", \"56147968\": \"ganontikasonogo_scene\", \"56086528\": \"kinsuta_room_0\", \"56078336\": \"kinsuta_scene\", \"55885824\": \"face_shop_room_0\", \"55881728\": \"face_shop_scene\", \"55857152\": \"besitu_room_0\", \"55853056\": \"besitu_scene\", \"55832576\": \"ganon_demo_room_0\", \"55791616\": \"ganon_demo_scene\", \"55754752\": \"ganon_sonogo_room_4\", \"55730176\": \"ganon_sonogo_room_3\", \"55693312\": \"ganon_sonogo_room_2\", \"55660544\": \"ganon_sonogo_room_1\", \"55627776\": \"ganon_sonogo_room_0\", \"55595008\": \"ganon_sonogo_scene\", \"55582720\": \"takaraya_room_6\", \"55570432\": \"takaraya_room_5\", \"55554048\": \"takaraya_room_4\", \"55541760\": \"takaraya_room_3\", \"55529472\": \"takaraya_room_2\", \"55521280\": \"takaraya_room_1\", \"55480320\": \"takaraya_room_0\", \"55447552\": \"takaraya_scene\", \"55418880\": \"mahouya_room_0\", \"55373824\": \"mahouya_scene\", \"55357440\": \"miharigoya_room_0\", \"55304192\": \"miharigoya_scene\", \"55267328\": \"souko_room_2\", \"55222272\": \"souko_room_1\", \"55181312\": \"souko_room_0\", \"55152640\": \"souko_scene\", \"55119872\": \"hylia_labo_room_0\", \"55046144\": \"hylia_labo_scene\", \"55017472\": \"hakaana_ouke_room_2\", \"54996992\": \"hakaana_ouke_room_1\", \"54951936\": \"hakaana_ouke_room_0\", \"54931456\": \"hakaana_ouke_scene\", \"54902784\": \"bowling_room_0\", \"54841344\": \"bowling_scene\", \"54824960\": \"hairal_niwa_n_room_0\", \"54784000\": \"hairal_niwa_n_scene\", \"54763520\": \"gerudoway_room_5\", \"54747136\": \"gerudoway_room_4\", \"54697984\": \"gerudoway_room_3\", \"54681600\": \"gerudoway_room_2\", \"54648832\": \"gerudoway_room_1\", \"54628352\": \"gerudoway_room_0\", \"54571008\": \"gerudoway_scene\", \"54542336\": \"hakaana2_room_0\", \"54484992\": \"hakaana2_scene\", \"54145024\": \"shrine_r_room_0\", \"54136832\": \"shrine_r_scene\", \"53796864\": \"shrine_n_room_0\", \"53788672\": \"shrine_n_scene\", \"53760000\": \"turibori_room_0\", \"53682176\": \"turibori_scene\", \"53342208\": \"shrine_room_0\", \"53334016\": \"shrine_scene\", \"53301248\": \"hakasitarelay_room_6\", \"53280768\": \"hakasitarelay_room_5\", \"53260288\": \"hakasitarelay_room_4\", \"53223424\": \"hakasitarelay_room_3\", \"53186560\": \"hakasitarelay_room_2\", \"53157888\": \"hakasitarelay_room_1\", \"53125120\": \"hakasitarelay_room_0\", \"53063680\": \"hakasitarelay_scene\", \"52965376\": \"hairal_niwa2_room_0\", \"52953088\": \"hairal_niwa2_scene\", \"52776960\": \"kakariko3_room_0\", \"52772864\": \"kakariko3_scene\", \"52719616\": \"ganon_final_room_0\", \"52641792\": \"ganon_final_scene\", \"52441088\": \"kokiri_home5_room_0\", \"52432896\": \"kokiri_home5_scene\", \"52199424\": \"kokiri_home4_room_0\", \"52191232\": \"kokiri_home4_scene\", \"52142080\": \"jyasinboss_room_3\", \"52125696\": \"jyasinboss_room_2\", \"52092928\": \"jyasinboss_room_1\", \"52088832\": \"jyasinboss_room_0\", \"52051968\": \"jyasinboss_scene\", \"52027392\": \"ganon_boss_room_0\", \"51994624\": \"ganon_boss_scene\", \"51970048\": \"ganon_room_9\", \"51941376\": \"ganon_room_8\", \"51896320\": \"ganon_room_7\", \"51855360\": \"ganon_room_6\", \"51818496\": \"ganon_room_5\", \"51777536\": \"ganon_room_4\", \"51744768\": \"ganon_room_3\", \"51712000\": \"ganon_room_2\", \"51679232\": \"ganon_room_1\", \"51646464\": \"ganon_room_0\", \"51576832\": \"ganon_scene\", \"51527680\": \"MIZUsin_bs_room_1\", \"51507200\": \"MIZUsin_bs_room_0\", \"51499008\": \"MIZUsin_bs_scene\", \"51474432\": \"HAKAdan_bs_room_1\", \"51462144\": \"HAKAdan_bs_room_0\", \"51449856\": \"HAKAdan_bs_scene\", \"51421184\": \"ydan_boss_room_1\", \"51392512\": \"ydan_boss_room_0\", \"51384320\": \"ydan_boss_scene\", \"51367936\": \"ddan_boss_room_1\", \"51347456\": \"ddan_boss_room_0\", \"51335168\": \"ddan_boss_scene\", \"51236864\": \"nakaniwa_room_0\", \"51220480\": \"nakaniwa_scene\", \"51007488\": \"tent_room_0\", \"51003392\": \"tent_scene\", \"50819072\": \"labo_room_0\", \"50814976\": \"labo_scene\", \"50655232\": \"impa_room_0\", \"50651136\": \"impa_scene\", \"50483200\": \"night_shop_room_0\", \"50479104\": \"night_shop_scene\", \"50319360\": \"alley_shop_room_0\", \"50315264\": \"alley_shop_scene\", \"50135040\": \"drag_room_0\", \"50130944\": \"drag_scene\", \"49971200\": \"zoora_room_0\", \"49967104\": \"zoora_scene\", \"49807360\": \"golon_room_0\", \"49803264\": \"golon_scene\", \"49782784\": \"yousei_izumi_yoko_room_0\", \"49729536\": \"yousei_izumi_yoko_scene\", \"49709056\": \"yousei_izumi_tate_room_0\", \"49672192\": \"yousei_izumi_tate_scene\", \"49639424\": \"hakaana_room_0\", \"49635328\": \"hakaana_scene\", \"49618944\": \"daiyousei_izumi_room_0\", \"49561600\": \"daiyousei_izumi_scene\", \"49389568\": \"hut_room_0\", \"49385472\": \"hut_scene\", \"49356800\": \"FIRE_bs_room_1\", \"49336320\": \"FIRE_bs_room_0\", \"49315840\": \"FIRE_bs_scene\", \"49291264\": \"bdan_boss_room_1\", \"49274880\": \"bdan_boss_room_0\", \"49270784\": \"bdan_boss_scene\", \"49094656\": \"kakariko_room_0\", \"49090560\": \"kakariko_scene\", \"48898048\": \"malon_stable_room_0\", \"48893952\": \"malon_stable_scene\", \"48668672\": \"kokiri_home3_room_0\", \"48660480\": \"kokiri_home3_scene\", \"48656384\": \"hiral_demo_room_0\", \"48640000\": \"hiral_demo_scene\", \"48156672\": \"market_alley_n_room_0\", \"48148480\": \"market_alley_n_scene\", \"47992832\": \"enrui_room_0\", \"47988736\": \"enrui_scene\", \"47833088\": \"entra_n_room_0\", \"47828992\": \"entra_n_scene\", \"47816704\": \"market_ruins_room_0\", \"47808512\": \"market_ruins_scene\", \"47779840\": \"spot20_room_0\", \"47706112\": \"spot20_scene\", \"47222784\": \"market_alley_room_0\", \"47214592\": \"market_alley_scene\", \"47198208\": \"sasatest_room_0\", \"47185920\": \"sasatest_scene\", \"47104000\": \"ganon_tou_room_0\", \"47083520\": \"ganon_tou_scene\", \"47038464\": \"hairal_niwa_room_0\", \"46964736\": \"hairal_niwa_scene\", \"46792704\": \"shop1_room_0\", \"46788608\": \"shop1_scene\", \"46755840\": \"syatekijyou_room_0\", \"46702592\": \"syatekijyou_scene\", \"46645248\": \"moribossroom_room_1\", \"46620672\": \"moribossroom_room_0\", \"46612480\": \"moribossroom_scene\", \"46456832\": \"entra_room_0\", \"46452736\": \"entra_scene\", \"46424064\": \"kakusiana_room_13\", \"46391296\": \"kakusiana_room_12\", \"46354432\": \"kakusiana_room_11\", \"46329856\": \"kakusiana_room_10\", \"46305280\": \"kakusiana_room_9\", \"46288896\": \"kakusiana_room_8\", \"46272512\": \"kakusiana_room_7\", \"46247936\": \"kakusiana_room_6\", \"46227456\": \"kakusiana_room_5\", \"46194688\": \"kakusiana_room_4\", \"46170112\": \"kakusiana_room_3\", \"46157824\": \"kakusiana_room_2\", \"46133248\": \"kakusiana_room_1\", \"46100480\": \"kakusiana_room_0\", \"46043136\": \"kakusiana_scene\", \"45862912\": \"kokiri_home_room_0\", \"45858816\": \"kokiri_home_scene\", \"45658112\": \"kokiri_shop_room_0\", \"45654016\": \"kokiri_shop_scene\", \"45490176\": \"link_home_room_0\", \"45481984\": \"link_home_scene\", \"45449216\": \"sutaru_room_0\", \"45445120\": \"sutaru_scene\", \"45412352\": \"tokinoma_room_1\", \"45314048\": \"tokinoma_room_0\", \"45236224\": \"tokinoma_scene\", \"45154304\": \"kenjyanoma_room_0\", \"45137920\": \"kenjyanoma_scene\", \"45133824\": \"testroom_room_4\", \"45117440\": \"testroom_room_3\", \"45101056\": \"testroom_room_2\", \"45088768\": \"testroom_room_1\", \"45068288\": \"testroom_room_0\", \"45047808\": \"testroom_scene\", \"45023232\": \"market_night_room_0\", \"45010944\": \"market_night_scene\", \"44986368\": \"market_day_room_0\", \"44974080\": \"market_day_scene\", \"44851200\": \"spot18_room_3\", \"44777472\": \"spot18_room_2\", \"44748800\": \"spot18_room_1\", \"44670976\": \"spot18_room_0\", \"44625920\": \"spot18_scene\", \"44548096\": \"spot17_room_1\", \"44519424\": \"spot17_room_0\", \"44453888\": \"spot17_scene\", \"44408832\": \"spot16_room_0\", \"44281856\": \"spot16_scene\", \"44224512\": \"spot15_room_0\", \"44122112\": \"spot15_scene\", \"44044288\": \"spot13_room_1\", \"44040192\": \"spot13_room_0\", \"44015616\": \"spot13_scene\", \"43962368\": \"spot12_room_1\", \"43888640\": \"spot12_room_0\", \"43823104\": \"spot12_scene\", \"43769856\": \"spot11_room_0\", \"43663360\": \"spot11_scene\", \"43646976\": \"spot10_room_9\", \"43634688\": \"spot10_room_8\", \"43622400\": \"spot10_room_7\", \"43606016\": \"spot10_room_6\", \"43577344\": \"spot10_room_5\", \"43565056\": \"spot10_room_4\", \"43540480\": \"spot10_room_3\", \"43520000\": \"spot10_room_2\", \"43483136\": \"spot10_room_1\", \"43470848\": \"spot10_room_0\", \"43401216\": \"spot10_scene\", \"43364352\": \"spot09_room_0\", \"43290624\": \"spot09_scene\", \"43253760\": \"spot08_room_0\", \"43180032\": \"spot08_scene\", \"43126784\": \"spot07_room_1\", \"43098112\": \"spot07_room_0\", \"43057152\": \"spot07_scene\", \"43012096\": \"spot06_room_0\", \"42897408\": \"spot06_scene\", \"42856448\": \"spot05_room_0\", \"42770432\": \"spot05_scene\", \"42745856\": \"spot04_room_2\", \"42708992\": \"spot04_room_1\", \"42594304\": \"spot04_room_0\", \"42520576\": \"spot04_scene\", \"42487808\": \"spot03_room_1\", \"42430464\": \"spot03_room_0\", \"42381312\": \"spot03_scene\", \"42258432\": \"spot02_room_1\", \"42246144\": \"spot02_room_0\", \"42196992\": \"spot02_scene\", \"42156032\": \"spot01_room_0\", \"42037248\": \"spot01_scene\", \"41947136\": \"spot00_room_0\", \"41771008\": \"spot00_scene\", \"41615360\": \"depth_test_room_0\", \"41611264\": \"depth_test_scene\", \"41570304\": \"syotes2_room_0\", \"41558016\": \"syotes2_scene\", \"41504768\": \"syotes_room_0\", \"41496576\": \"syotes_scene\", \"41463808\": \"ganontika_room_19\", \"41410560\": \"ganontika_room_18\", \"41373696\": \"ganontika_room_17\", \"41361408\": \"ganontika_room_16\", \"41328640\": \"ganontika_room_15\", \"41283584\": \"ganontika_room_14\", \"41250816\": \"ganontika_room_13\", \"41201664\": \"ganontika_room_12\", \"41172992\": \"ganontika_room_11\", \"41144320\": \"ganontika_room_10\", \"41095168\": \"ganontika_room_9\", \"41054208\": \"ganontika_room_8\", \"41021440\": \"ganontika_room_7\", \"40955904\": \"ganontika_room_6\", \"40923136\": \"ganontika_room_5\", \"40890368\": \"ganontika_room_4\", \"40849408\": \"ganontika_room_3\", \"40816640\": \"ganontika_room_2\", \"40697856\": \"ganontika_room_1\", \"40656896\": \"ganontika_room_0\", \"40517632\": \"ganontika_scene\", \"40493056\": \"men_room_10\", \"40476672\": \"men_room_9\", \"40439808\": \"men_room_8\", \"40402944\": \"men_room_7\", \"40370176\": \"men_room_6\", \"40345600\": \"men_room_5\", \"40300544\": \"men_room_4\", \"40267776\": \"men_room_3\", \"40243200\": \"men_room_2\", \"40202240\": \"men_room_1\", \"40136704\": \"men_room_0\", \"40062976\": \"men_scene\", \"40038400\": \"ice_doukutu_room_11\", \"40017920\": \"ice_doukutu_room_10\", \"39981056\": \"ice_doukutu_room_9\", \"39972864\": \"ice_doukutu_room_8\", \"39948288\": \"ice_doukutu_room_7\", \"39927808\": \"ice_doukutu_room_6\", \"39890944\": \"ice_doukutu_room_5\", \"39858176\": \"ice_doukutu_room_4\", \"39821312\": \"ice_doukutu_room_3\", \"39796736\": \"ice_doukutu_room_2\", \"39743488\": \"ice_doukutu_room_1\", \"39706624\": \"ice_doukutu_room_0\", \"39632896\": \"ice_doukutu_scene\", \"39620608\": \"HAKAdanCH_room_6\", \"39608320\": \"HAKAdanCH_room_5\", \"39596032\": \"HAKAdanCH_room_4\", \"39587840\": \"HAKAdanCH_room_3\", \"39571456\": \"HAKAdanCH_room_2\", \"39522304\": \"HAKAdanCH_room_1\", \"39432192\": \"HAKAdanCH_room_0\", \"39378944\": \"HAKAdanCH_scene\", \"39366656\": \"HAKAdan_room_22\", \"39317504\": \"HAKAdan_room_21\", \"39309312\": \"HAKAdan_room_20\", \"39297024\": \"HAKAdan_room_19\", \"39239680\": \"HAKAdan_room_18\", \"39227392\": \"HAKAdan_room_17\", \"39215104\": \"HAKAdan_room_16\", \"39182336\": \"HAKAdan_room_15\", \"39157760\": \"HAKAdan_room_14\", \"39149568\": \"HAKAdan_room_13\", \"39124992\": \"HAKAdan_room_12\", \"39108608\": \"HAKAdan_room_11\", \"39075840\": \"HAKAdan_room_10\", \"39022592\": \"HAKAdan_room_9\", \"38998016\": \"HAKAdan_room_8\", \"38989824\": \"HAKAdan_room_7\", \"38957056\": \"HAKAdan_room_6\", \"38932480\": \"HAKAdan_room_5\", \"38924288\": \"HAKAdan_room_4\", \"38912000\": \"HAKAdan_room_3\", \"38866944\": \"HAKAdan_room_2\", \"38858752\": \"HAKAdan_room_1\", \"38809600\": \"HAKAdan_room_0\", \"38707200\": \"HAKAdan_scene\", \"38670336\": \"jyasinzou_room_28\", \"38645760\": \"jyasinzou_room_27\", \"38592512\": \"jyasinzou_room_26\", \"38502400\": \"jyasinzou_room_25\", \"38473728\": \"jyasinzou_room_24\", \"38432768\": \"jyasinzou_room_23\", \"38416384\": \"jyasinzou_room_22\", \"38395904\": \"jyasinzou_room_21\", \"38359040\": \"jyasinzou_room_20\", \"38334464\": \"jyasinzou_room_19\", \"38309888\": \"jyasinzou_room_18\", \"38268928\": \"jyasinzou_room_17\", \"38240256\": \"jyasinzou_room_16\", \"38203392\": \"jyasinzou_room_15\", \"38182912\": \"jyasinzou_room_14\", \"38158336\": \"jyasinzou_room_13\", \"38146048\": \"jyasinzou_room_12\", \"38137856\": \"jyasinzou_room_11\", \"38100992\": \"jyasinzou_room_10\", \"38076416\": \"jyasinzou_room_9\", \"38039552\": \"jyasinzou_room_8\", \"38014976\": \"jyasinzou_room_7\", \"37994496\": \"jyasinzou_room_6\", \"37892096\": \"jyasinzou_room_5\", \"37859328\": \"jyasinzou_room_4\", \"37842944\": \"jyasinzou_room_3\", \"37818368\": \"jyasinzou_room_2\", \"37777408\": \"jyasinzou_room_1\", \"37707776\": \"jyasinzou_room_0\", \"37601280\": \"jyasinzou_scene\", \"37560320\": \"MIZUsin_room_22\", \"37527552\": \"MIZUsin_room_21\", \"37498880\": \"MIZUsin_room_20\", \"37482496\": \"MIZUsin_room_19\", \"37462016\": \"MIZUsin_room_18\", \"37425152\": \"MIZUsin_room_17\", \"37408768\": \"MIZUsin_room_16\", \"37376000\": \"MIZUsin_room_15\", \"37347328\": \"MIZUsin_room_14\", \"37343232\": \"MIZUsin_room_13\", \"37314560\": \"MIZUsin_room_12\", \"37294080\": \"MIZUsin_room_11\", \"37265408\": \"MIZUsin_room_10\", \"37228544\": \"MIZUsin_room_9\", \"37171200\": \"MIZUsin_room_8\", \"37146624\": \"MIZUsin_room_7\", \"37097472\": \"MIZUsin_room_6\", \"37052416\": \"MIZUsin_room_5\", \"37023744\": \"MIZUsin_room_4\", \"36995072\": \"MIZUsin_room_3\", \"36970496\": \"MIZUsin_room_2\", \"36925440\": \"MIZUsin_room_1\", \"36835328\": \"MIZUsin_room_0\", \"36745216\": \"MIZUsin_scene\", \"36716544\": \"HIDAN_room_26\", \"36687872\": \"HIDAN_room_25\", \"36663296\": \"HIDAN_room_24\", \"36634624\": \"HIDAN_room_23\", \"36605952\": \"HIDAN_room_22\", \"36569088\": \"HIDAN_room_21\", \"36540416\": \"HIDAN_room_20\", \"36519936\": \"HIDAN_room_19\", \"36503552\": \"HIDAN_room_18\", \"36462592\": \"HIDAN_room_17\", \"36413440\": \"HIDAN_room_16\", \"36405248\": \"HIDAN_room_15\", \"36392960\": \"HIDAN_room_14\", \"36339712\": \"HIDAN_room_13\", \"36327424\": \"HIDAN_room_12\", \"36311040\": \"HIDAN_room_11\", \"36208640\": \"HIDAN_room_10\", \"36171776\": \"HIDAN_room_9\", \"36130816\": \"HIDAN_room_8\", \"36114432\": \"HIDAN_room_7\", \"36085760\": \"HIDAN_room_6\", \"36040704\": \"HIDAN_room_5\", \"36007936\": \"HIDAN_room_4\", \"35995648\": \"HIDAN_room_3\", \"35926016\": \"HIDAN_room_2\", \"35872768\": \"HIDAN_room_1\", \"35840000\": \"HIDAN_room_0\", \"35729408\": \"HIDAN_scene\", \"35721216\": \"Bmori1_room_22\", \"35713024\": \"Bmori1_room_21\", \"35704832\": \"Bmori1_room_20\", \"35700736\": \"Bmori1_room_19\", \"35692544\": \"Bmori1_room_18\", \"35651584\": \"Bmori1_room_17\", \"35631104\": \"Bmori1_room_16\", \"35618816\": \"Bmori1_room_15\", \"35594240\": \"Bmori1_room_14\", \"35557376\": \"Bmori1_room_13\", \"35520512\": \"Bmori1_room_12\", \"35475456\": \"Bmori1_room_11\", \"35450880\": \"Bmori1_room_10\", \"35405824\": \"Bmori1_room_9\", \"35307520\": \"Bmori1_room_8\", \"35229696\": \"Bmori1_room_7\", \"35188736\": \"Bmori1_room_6\", \"35172352\": \"Bmori1_room_5\", \"35155968\": \"Bmori1_room_4\", \"35139584\": \"Bmori1_room_3\", \"35074048\": \"Bmori1_room_2\", \"35049472\": \"Bmori1_room_1\", \"34992128\": \"Bmori1_room_0\", \"34902016\": \"Bmori1_scene\", \"34889728\": \"bdan_room_15\", \"34861056\": \"bdan_room_14\", \"34848768\": \"bdan_room_13\", \"34832384\": \"bdan_room_12\", \"34816000\": \"bdan_room_11\", \"34799616\": \"bdan_room_10\", \"34783232\": \"bdan_room_9\", \"34766848\": \"bdan_room_8\", \"34750464\": \"bdan_room_7\", \"34729984\": \"bdan_room_6\", \"34701312\": \"bdan_room_5\", \"34680832\": \"bdan_room_4\", \"34648064\": \"bdan_room_3\", \"34607104\": \"bdan_room_2\", \"34582528\": \"bdan_room_1\", \"34562048\": \"bdan_room_0\", \"34471936\": \"bdan_scene\", \"34447360\": \"ddan_room_16\", \"34435072\": \"ddan_room_15\", \"34422784\": \"ddan_room_14\", \"34410496\": \"ddan_room_13\", \"34373632\": \"ddan_room_12\", \"34361344\": \"ddan_room_11\", \"34328576\": \"ddan_room_10\", \"34279424\": \"ddan_room_9\", \"34238464\": \"ddan_room_8\", \"34205696\": \"ddan_room_7\", \"34193408\": \"ddan_room_6\", \"34168832\": \"ddan_room_5\", \"34127872\": \"ddan_room_4\", \"34070528\": \"ddan_room_3\", \"34037760\": \"ddan_room_2\", \"33996800\": \"ddan_room_1\", \"33882112\": \"ddan_room_0\", \"33792000\": \"ddan_scene\", \"33759232\": \"ydan_room_11\", \"33738752\": \"ydan_room_10\", \"33697792\": \"ydan_room_9\", \"33693696\": \"ydan_room_8\", \"33656832\": \"ydan_room_7\", \"33636352\": \"ydan_room_6\", \"33599488\": \"ydan_room_5\", \"33579008\": \"ydan_room_4\", \"33492992\": \"ydan_room_3\", \"33468416\": \"ydan_room_2\", \"33447936\": \"ydan_room_1\", \"33357824\": \"ydan_room_0\", \"33300480\": \"ydan_scene\", \"33296384\": \"elf_message_ydan\", \"33292288\": \"elf_message_field\", \"33288192\": \"vr_FCVR_pal_static\", \"33157120\": \"vr_FCVR_static\", \"33153024\": \"vr_TTVR_pal_static\", \"32956416\": \"vr_TTVR_static\", \"32952320\": \"vr_LBVR_pal_static\", \"32690176\": \"vr_LBVR_static\", \"32686080\": \"vr_NSVR_pal_static\", \"32555008\": \"vr_NSVR_static\", \"32550912\": \"vr_ALVR_pal_static\", \"32419840\": \"vr_ALVR_static\", \"32415744\": \"vr_DGVR_pal_static\", \"32284672\": \"vr_DGVR_static\", \"32280576\": \"vr_ZRVR_pal_static\", \"32149504\": \"vr_ZRVR_static\", \"32145408\": \"vr_GLVR_pal_static\", \"32014336\": \"vr_GLVR_static\", \"32010240\": \"vr_KSVR_pal_static\", \"31879168\": \"vr_KSVR_static\", \"31875072\": \"vr_IPVR_pal_static\", \"31612928\": \"vr_IPVR_static\", \"31608832\": \"vr_KR3VR_pal_static\", \"31412224\": \"vr_KR3VR_static\", \"31408128\": \"vr_KKRVR_pal_static\", \"31145984\": \"vr_KKRVR_static\", \"31141888\": \"vr_MLVR_pal_static\", \"30879744\": \"vr_MLVR_static\", \"30875648\": \"vr_SP1a_pal_static\", \"30744576\": \"vr_SP1a_static\", \"30740480\": \"vr_K5VR_pal_static\", \"30543872\": \"vr_K5VR_static\", \"30539776\": \"vr_K4VR_pal_static\", \"30343168\": \"vr_K4VR_static\", \"30339072\": \"vr_K3VR_pal_static\", \"30142464\": \"vr_K3VR_static\", \"30138368\": \"vr_KHVR_pal_static\", \"29876224\": \"vr_KHVR_static\", \"29872128\": \"vr_LHVR_pal_static\", \"29609984\": \"vr_LHVR_static\", \"29605888\": \"vr_RUVR_pal_static\", \"29343744\": \"vr_RUVR_static\", \"29339648\": \"vr_MNVR_pal_static\", \"29077504\": \"vr_MNVR_static\", \"29073408\": \"vr_MDVR_pal_static\", \"28811264\": \"vr_MDVR_static\", \"28807168\": \"vr_holy1_pal_static\", \"28741632\": \"vr_holy1_static\", \"28737536\": \"vr_holy0_pal_static\", \"28672000\": \"vr_holy0_static\", \"28667904\": \"vr_cloud3_pal_static\", \"28618752\": \"vr_cloud3_static\", \"28614656\": \"vr_cloud2_pal_static\", \"28565504\": \"vr_cloud2_static\", \"28561408\": \"vr_cloud1_pal_static\", \"28512256\": \"vr_cloud1_static\", \"28508160\": \"vr_cloud0_pal_static\", \"28459008\": \"vr_cloud0_static\", \"28454912\": \"vr_fine3_pal_static\", \"28405760\": \"vr_fine3_static\", \"28401664\": \"vr_fine2_pal_static\", \"28352512\": \"vr_fine2_static\", \"28348416\": \"vr_fine1_pal_static\", \"28299264\": \"vr_fine1_static\", \"28295168\": \"vr_fine0_pal_static\", \"28246016\": \"vr_fine0_static\", \"28229632\": \"parameter_static\", \"27934720\": \"title_static\", \"27922432\": \"nintendo_rogo_static\", \"27910144\": \"z_select_static\", \"27897856\": \"g_pn_57\", \"27885568\": \"g_pn_56\", \"27873280\": \"g_pn_55\", \"27860992\": \"g_pn_54\", \"27848704\": \"g_pn_53\", \"27836416\": \"g_pn_52\", \"27824128\": \"g_pn_51\", \"27811840\": \"g_pn_50\", \"27799552\": \"g_pn_49\", \"27787264\": \"g_pn_48\", \"27774976\": \"g_pn_47\", \"27762688\": \"g_pn_46\", \"27750400\": \"g_pn_45\", \"27738112\": \"g_pn_44\", \"27725824\": \"g_pn_43\", \"27713536\": \"g_pn_42\", \"27701248\": \"g_pn_41\", \"27688960\": \"g_pn_40\", \"27676672\": \"g_pn_39\", \"27664384\": \"g_pn_38\", \"27652096\": \"g_pn_37\", \"27639808\": \"g_pn_36\", \"27627520\": \"g_pn_35\", \"27615232\": \"g_pn_34\", \"27602944\": \"g_pn_33\", \"27590656\": \"g_pn_32\", \"27578368\": \"g_pn_31\", \"27566080\": \"g_pn_30\", \"27553792\": \"g_pn_29\", \"27541504\": \"g_pn_28\", \"27529216\": \"g_pn_27\", \"27516928\": \"g_pn_26\", \"27504640\": \"g_pn_25\", \"27492352\": \"g_pn_24\", \"27480064\": \"g_pn_23\", \"27467776\": \"g_pn_22\", \"27455488\": \"g_pn_21\", \"27443200\": \"g_pn_20\", \"27430912\": \"g_pn_19\", \"27418624\": \"g_pn_18\", \"27406336\": \"g_pn_17\", \"27394048\": \"g_pn_16\", \"27381760\": \"g_pn_15\", \"27369472\": \"g_pn_14\", \"27357184\": \"g_pn_13\", \"27344896\": \"g_pn_12\", \"27332608\": \"g_pn_11\", \"27320320\": \"g_pn_10\", \"27308032\": \"g_pn_09\", \"27295744\": \"g_pn_08\", \"27283456\": \"g_pn_07\", \"27271168\": \"g_pn_06\", \"27258880\": \"g_pn_05\", \"27246592\": \"g_pn_04\", \"27234304\": \"g_pn_03\", \"27222016\": \"g_pn_02\", \"27209728\": \"g_pn_01\", \"27090944\": \"object_zl4\", \"27086848\": \"object_timeblock\", \"27082752\": \"object_ouke_haka\", \"27074560\": \"object_door_killer\", \"27070464\": \"object_gi_sword_1\", \"27058176\": \"object_cob\", \"27037696\": \"object_cow\", \"27029504\": \"object_crow\", \"27021312\": \"object_bwall\", \"26968064\": \"object_ps\", \"26963968\": \"object_gs\", \"26947584\": \"object_haka_door\", \"26943488\": \"object_geff\", \"26898432\": \"object_gj\", \"26877952\": \"object_skb\", \"26832896\": \"object_wf\", \"26787840\": \"object_mu\", \"26759168\": \"object_po_composer\", \"26746880\": \"object_spot01_matoyab\", \"26730496\": \"object_spot01_matoya\", \"26726400\": \"object_gi_rupy\", \"26640384\": \"object_ganon_anime3\", \"26570752\": \"object_ganon_anime2\", \"26521600\": \"object_ganon_anime1\", \"26513408\": \"object_gi_dekupouch\", \"26505216\": \"object_efc_doughnut\", \"26443776\": \"object_demo_kekkai\", \"26415104\": \"object_po_field\", \"26398720\": \"object_bowl\", \"26394624\": \"object_gi_soul\", \"26390528\": \"object_gi_ghost\", \"26386432\": \"object_gi_butterfly\", \"26382336\": \"object_gi_insect\", \"26378240\": \"object_gi_fire\", \"26365952\": \"object_dnk\", \"26349568\": \"object_dns\", \"26341376\": \"object_kibako2\", \"26333184\": \"object_spot11_obj\", \"26329088\": \"object_spot01_objects2\", \"26316800\": \"object_jya_door\", \"26304512\": \"object_jya_iron\", \"26271744\": \"object_dog\", \"26230784\": \"object_gr\", \"26181632\": \"object_geldb\", \"26161152\": \"object_shopnuts\", \"26120192\": \"object_gla\", \"26112000\": \"object_spot00_break\", \"26091520\": \"object_rs\", \"26075136\": \"object_hintnuts\", \"26071040\": \"object_bombiwa\", \"26058752\": \"object_spot12_obj\", \"26050560\": \"object_spot05_objects\", \"26017792\": \"object_bg\", \"25989120\": \"object_bigokuta\", \"25964544\": \"object_ssh\", \"25960448\": \"object_gi_goddess\", \"25956352\": \"object_gi_sutaru\", \"25866240\": \"object_fish\", \"25812992\": \"object_ec\", \"25792512\": \"object_ds2\", \"25788416\": \"object_gi_m_arrow\", \"25780224\": \"object_gi_hoverboots\", \"25772032\": \"object_zg\", \"25751552\": \"object_ts\", \"25722880\": \"object_ka\", \"25501696\": \"object_ganon2\", \"25493504\": \"object_gi_gerudomask\", \"25485312\": \"object_gi_zoramask\", \"25477120\": \"object_gi_golonmask\", \"25432064\": \"object_zl2_anime2\", \"25382912\": \"object_zl2_anime1\", \"25370624\": \"object_efc_erupc\", \"25288704\": \"object_gt\", \"25284608\": \"object_door_gerudo\", \"25128960\": \"object_mag\", \"25120768\": \"object_gi_frog\", \"25116672\": \"object_gi_soldout\", \"25112576\": \"object_gi_bracelet\", \"25108480\": \"object_gi_prescription\", \"25071616\": \"object_cs\", \"25047040\": \"object_js\", \"25042944\": \"object_gi_brokensword\", \"25034752\": \"object_gi_ticketstone\", \"25030656\": \"object_gi_mushroom\", \"25026560\": \"object_gi_powder\", \"25022464\": \"object_gi_eye_lotion\", \"25001984\": \"object_os\", \"24985600\": \"object_fa\", \"24948736\": \"object_mm\", \"24944640\": \"object_stream\", \"24940544\": \"object_siofuki\", \"24932352\": \"object_ganon_objects\", \"24924160\": \"object_gi_truth_mask\", \"24920064\": \"object_gi_rabit_mask\", \"24915968\": \"object_gi_skj_mask\", \"24911872\": \"object_gi_redead_mask\", \"24907776\": \"object_gi_ki_tan_mask\", \"24879104\": \"object_fu\", \"24854528\": \"object_mk\", \"24784896\": \"object_owl\", \"24776704\": \"object_gjyo_objects\", \"24768512\": \"object_kanban\", \"24764416\": \"object_gi_coin\", \"24756224\": \"object_gi_gloves\", \"24748032\": \"object_tsubo\", \"24743936\": \"object_kusa\", \"24731648\": \"object_lightswitch\", \"24723456\": \"object_ingate\", \"24694784\": \"object_hs\", \"24678400\": \"object_ms\", \"24674304\": \"object_gm\", \"24592384\": \"object_blkobj\", \"24588288\": \"object_nwc\", \"24551424\": \"object_daiku\", \"24518656\": \"object_toryo\", \"24510464\": \"object_goroiwa\", \"24498176\": \"object_mamenoki\", \"24489984\": \"object_d_lift\", \"24481792\": \"object_d_hsblock\", \"24473600\": \"object_d_elevator\", \"24465408\": \"object_gnd_magic\", \"24461312\": \"object_gi_seed\", \"24453120\": \"object_gi_boots_2\", \"24449024\": \"object_yabusame_point\", \"24403968\": \"object_ge1\", \"24383488\": \"object_bob\", \"24367104\": \"object_fz\", \"24338432\": \"object_spot07_object\", \"24330240\": \"object_spot03_object\", \"24305664\": \"object_boj\", \"24276992\": \"object_ane\", \"24256512\": \"object_ds\", \"24252416\": \"object_gi_ocarina_0\", \"24231936\": \"object_bba\", \"24211456\": \"object_bji\", \"24207360\": \"object_gi_bottle_letter\", \"24170496\": \"object_skj\", \"24162304\": \"object_gi_niwatori\", \"24150016\": \"object_cne\", \"24125440\": \"object_ahg\", \"23990272\": \"object_ik\", \"23965696\": \"object_aob\", \"23961600\": \"object_masterzoora\", \"23957504\": \"object_mastergolon\", \"23945216\": \"object_masterkokirihead\", \"23941120\": \"object_masterkokiri\", \"23932928\": \"object_umajump\", \"23896064\": \"object_kz\", \"23842816\": \"object_zo\", \"23814144\": \"object_kw1\", \"23789568\": \"object_km1\", \"23744512\": \"object_md\", \"23732224\": \"object_spot01_objects\", \"23728128\": \"object_gi_longsword\", \"23724032\": \"object_gi_grass\", \"23719936\": \"object_gi_hammer\", \"23715840\": \"object_gi_saw\", \"23711744\": \"object_gi_fish\", \"23707648\": \"object_gi_bean\", \"23699456\": \"object_gi_clothes\", \"23580672\": \"object_jya_obj\", \"23572480\": \"object_spot15_obj\", \"23568384\": \"object_gi_letter\", \"23560192\": \"object_gi_shield_3\", \"23543808\": \"object_demo_6k\", \"23511040\": \"object_ani\", \"23502848\": \"object_gi_liquid\", \"23494656\": \"object_gi_glasses\", \"23490560\": \"object_gi_bow\", \"23486464\": \"object_gi_boomerang\", \"23482368\": \"object_gi_pachinko\", \"23433216\": \"object_fr\", \"23420928\": \"object_ny\", \"23310336\": \"object_sst\", \"23236608\": \"object_ganon\", \"23199744\": \"object_ma1\", \"23191552\": \"object_gi_milk\", \"23187456\": \"object_gi_ocarina\", \"23179264\": \"object_gi_hookshot\", \"23171072\": \"object_gi_shield_2\", \"23166976\": \"object_gi_scale\", \"23158784\": \"object_gi_egg\", \"23154688\": \"object_gi_bomb_2\", \"23146496\": \"object_gi_arrow\", \"23138304\": \"object_gi_gerudo\", \"23121920\": \"object_anubice\", \"23109632\": \"object_bxa\", \"23105536\": \"object_rr\", \"22863872\": \"object_tw\", \"22818816\": \"object_hni\", \"22810624\": \"object_gi_purse\", \"22769664\": \"object_ma2\", \"22732800\": \"object_oF1s\", \"22728704\": \"object_gi_bomb_1\", \"22720512\": \"object_gi_magicpot\", \"22704128\": \"object_dekujr\", \"22700032\": \"object_gi_shield_1\", \"22634496\": \"object_ru2\", \"22564864\": \"object_oF1d_map\", \"22556672\": \"object_gi_map\", \"22552576\": \"object_gi_stick\", \"22548480\": \"object_gi_bottle\", \"22503424\": \"object_os_anime\", \"22482944\": \"object_oE4s\", \"22454272\": \"object_oE1s\", \"22446080\": \"object_spot16_obj\", \"22368256\": \"object_tr\", \"22265856\": \"object_in\", \"22261760\": \"object_gi_bombpouch\", \"22257664\": \"object_gi_arrowcase\", \"22249472\": \"object_gi_hearts\", \"22159360\": \"object_sa\", \"22151168\": \"object_gi_nuts\", \"22126592\": \"object_gi_medal\", \"22118400\": \"object_gi_bosskey\", \"22114304\": \"object_gi_compass\", \"22110208\": \"object_gi_heart\", \"22106112\": \"object_gi_melody\", \"22093824\": \"object_sb\", \"22052864\": \"object_mo\", \"21950464\": \"object_nb\", \"21934080\": \"object_shop_dungen\", \"21925888\": \"object_spot17_obj\", \"21893120\": \"object_bdoor\", \"21839872\": \"object_spot18_obj\", \"21737472\": \"object_spot09_obj\", \"21721088\": \"object_gi_jewel\", \"21712896\": \"object_brob\", \"21704704\": \"object_mir_ray\", \"21700608\": \"object_gi_key\", \"21696512\": \"object_demo_tre_lgt\", \"21688320\": \"object_efc_tw\", \"21655552\": \"object_rl\", \"21614592\": \"object_dh\", \"21540864\": \"object_fd2\", \"21524480\": \"object_syokudai\", \"21442560\": \"object_ru1\", \"21434368\": \"object_haka\", \"21340160\": \"object_spot02_objects\", \"21303296\": \"object_horse_link_child\", \"21270528\": \"object_fw\", \"21192704\": \"object_du\", \"21118976\": \"object_fd\", \"21045248\": \"object_gndd\", \"21037056\": \"object_heavy_object\", \"20975616\": \"object_po_sisters\", \"20914176\": \"object_rd\", \"20860928\": \"object_sd\", \"20807680\": \"object_bdan_objects\", \"20783104\": \"object_medal\", \"20770816\": \"object_triforce_spot\", \"20762624\": \"object_light_ring\", \"20742144\": \"object_god_lgt\", \"20733952\": \"object_efc_star_field\", \"20725760\": \"object_efc_lgt_shower\", \"20721664\": \"object_efc_flash\", \"20717568\": \"object_efc_fire_ball\", \"20713472\": \"object_efc_crystal_light\", \"20684800\": \"object_hakach_objects\", \"20553728\": \"object_bv\", \"20537344\": \"object_vm\", \"20418560\": \"object_xc\", \"20369408\": \"object_tk\", \"20307968\": \"object_ta\", \"20230144\": \"object_im\", \"20221952\": \"object_vase\", \"20209664\": \"object_trap\", \"20201472\": \"object_pu_box\", \"20193280\": \"object_lightbox\", \"20156416\": \"object_wood02\", \"20144128\": \"object_bird\", \"20131840\": \"object_hata\", \"20127744\": \"object_warp2\", \"20103168\": \"object_spot08_obj\", \"20062208\": \"object_mori_tex\", \"20025344\": \"object_mori_objects\", \"19996672\": \"object_mori_hineri2a\", \"19976192\": \"object_mori_hineri2\", \"19959808\": \"object_mori_hineri1a\", \"19943424\": \"object_relay_objects\", \"19906560\": \"object_ice_objects\", \"19894272\": \"object_spot06_objects\", \"19771392\": \"object_haka_objects\", \"19763200\": \"object_mjin_oka\", \"19759104\": \"object_mjin_wind\", \"19755008\": \"object_mjin_soul\", \"19750912\": \"object_mjin_ice\", \"19746816\": \"object_mjin_flame\", \"19742720\": \"object_mjin_dark\", \"19738624\": \"object_mjin_flash\", \"19730432\": \"object_mjin\", \"19660800\": \"object_zl2\", \"19652608\": \"object_yukabyun\", \"19615744\": \"object_toki_objects\", \"19607552\": \"object_Bb\", \"19582976\": \"object_mori_hineri1\", \"19542016\": \"object_ossan\", \"19464192\": \"object_fhg\", \"19415040\": \"object_mizu_objects\", \"19406848\": \"object_oA11\", \"19394560\": \"object_oA10\", \"19374080\": \"object_vali\", \"19357696\": \"object_oE12\", \"19341312\": \"object_oE11\", \"19329024\": \"object_oE10\", \"19316736\": \"object_oE9\", \"19300352\": \"object_oE8\", \"19288064\": \"object_oE7\", \"19275776\": \"object_oE6\", \"19251200\": \"object_oE5\", \"19214336\": \"object_menkuri_objects\", \"19193856\": \"object_oE4\", \"19161088\": \"object_oE3\", \"19144704\": \"object_dekunuts\", \"19140608\": \"object_b_heart\", \"19128320\": \"object_warp1\", \"19103744\": \"object_opening_demo1\", \"19070976\": \"object_horse_zelda\", \"19062784\": \"object_oB4\", \"19042304\": \"object_oB3\", \"19021824\": \"object_oB2\", \"19017728\": \"object_oA9\", \"19009536\": \"object_oA8\", \"18960384\": \"object_jj\", \"18952192\": \"object_oA7\", \"18944000\": \"object_oA6\", \"18935808\": \"object_oA5\", \"18927616\": \"object_oA4\", \"18915328\": \"object_oA3\", \"18898944\": \"object_dekubaba\", \"18874368\": \"object_am\", \"18796544\": \"object_gnd\", \"18755584\": \"object_ydan_objects\", \"18731008\": \"object_oE2\", \"18706432\": \"object_oE_anime\", \"18677760\": \"object_oE1\", \"18616320\": \"object_sk2\", \"18608128\": \"object_bombf\", \"18522112\": \"object_mb\", \"18513920\": \"object_spot00_objects\", \"18489344\": \"object_oA2\", \"18436096\": \"object_horse_ganon\", \"18337792\": \"object_hidan_objects\", \"18300928\": \"object_ddan_objects\", \"18292736\": \"object_spot04_objects\", \"18280448\": \"object_o_anime\", \"18251776\": \"object_oB1\", \"18210816\": \"object_horse_normal\", \"18194432\": \"object_ei\", \"18182144\": \"object_bw\", \"18157568\": \"object_st\", \"18137088\": \"object_oA1\", \"18128896\": \"object_tp\", \"18104320\": \"object_bl\", \"18083840\": \"object_torch2\", \"18071552\": \"object_dodojr\", \"18063360\": \"object_bubble\", \"18042880\": \"object_gol\", \"17956864\": \"object_zl1\", \"17825792\": \"object_goma\", \"17731584\": \"object_zf\", \"17674240\": \"object_horse\", \"17473536\": \"object_kingdodongo\", \"17465344\": \"object_peehat\", \"17457152\": \"object_reeba\", \"17440768\": \"object_tite\", \"17428480\": \"object_niw\", \"17408000\": \"object_fire\", \"17367040\": \"object_dodongo\", \"17358848\": \"object_firefly\", \"17235968\": \"object_dy_obj\", \"17190912\": \"object_wallmaster\", \"17166336\": \"object_poh\", \"17149952\": \"object_okuta\", \"17068032\": \"object_human\", \"17043456\": \"object_box\", \"16859136\": \"object_link_child\", \"16629760\": \"object_link_boy\", \"16625664\": \"gameplay_object_exchange_static\", \"16527360\": \"gameplay_dangeon_keep\", \"16470016\": \"gameplay_field_keep\", \"16113664\": \"gameplay_keep\", \"16107728\": \"ovl_Shot_Sun\", \"16103456\": \"ovl_Oceff_Wipe4\", \"16097280\": \"ovl_Oceff_Wipe3\", \"16091072\": \"ovl_Oceff_Wipe2\", \"16087456\": \"ovl_Oceff_Wipe\", \"16080112\": \"ovl_Oceff_Storm\", \"16075904\": \"ovl_Oceff_Spot\", \"16062128\": \"ovl_Object_Kankyo\", \"16058880\": \"ovl_Obj_Warp2block\", \"16054640\": \"ovl_Obj_Tsubo\", \"16051120\": \"ovl_Obj_Timeblock\", \"16047824\": \"ovl_Obj_Syokudai\", \"16039472\": \"ovl_Obj_Switch\", \"16038896\": \"ovl_Obj_Roomtimer\", \"16031136\": \"ovl_Obj_Oshihiki\", \"16029168\": \"ovl_Obj_Mure3\", \"16026464\": \"ovl_Obj_Mure2\", \"16021184\": \"ovl_Obj_Mure\", \"16019760\": \"ovl_Obj_Makeoshihiki\", \"16019088\": \"ovl_Obj_Makekinsuta\", \"16013248\": \"ovl_Obj_Lightswitch\", \"16010480\": \"ovl_Obj_Lift\", \"16008688\": \"ovl_Obj_Kibako2\", \"16005312\": \"ovl_Obj_Kibako\", \"16002688\": \"ovl_Obj_Ice_Poly\", \"16000896\": \"ovl_Obj_Hsblock\", \"16000128\": \"ovl_Obj_Hana\", \"15997872\": \"ovl_Obj_Hamishi\", \"15996704\": \"ovl_Obj_Elevator\", \"15994944\": \"ovl_Obj_Dekujr\", \"15992704\": \"ovl_Obj_Comb\", \"15991312\": \"ovl_Obj_Bombiwa\", \"15990912\": \"ovl_Obj_Blockstop\", \"15980192\": \"ovl_Obj_Bean\", \"15973488\": \"ovl_Mir_Ray\", \"15965472\": \"ovl_Magic_Wind\", \"15956368\": \"ovl_Magic_Fire\", \"15949808\": \"ovl_Magic_Dark\", \"15947072\": \"ovl_Item_Shield\", \"15945040\": \"ovl_Item_Ocarina\", \"15944704\": \"ovl_Item_Inbox\", \"15942160\": \"ovl_Item_Etcetera\", \"15940976\": \"ovl_Item_B_Heart\", \"15857312\": \"ovl_Fishing\", \"15840288\": \"ovl_End_Title\", \"15828672\": \"ovl_En_fHG\", \"15818528\": \"ovl_En_Zo\", \"15799472\": \"ovl_En_Zl4\", \"15765680\": \"ovl_En_Zl3\", \"15746704\": \"ovl_En_Zl2\", \"15730752\": \"ovl_En_Zl1\", \"15703392\": \"ovl_En_Zf\", \"15701712\": \"ovl_En_Yukabyun\", \"15698640\": \"ovl_En_Yabusame_Mark\", \"15671072\": \"ovl_En_Xc\", \"15666368\": \"ovl_En_Wood02\", \"15662112\": \"ovl_En_Wonder_Talk2\", \"15658560\": \"ovl_En_Wonder_Talk\", \"15654544\": \"ovl_En_Wonder_Item\", \"15637216\": \"ovl_En_Wf\", \"15630528\": \"ovl_En_Weiyer\", \"15625808\": \"ovl_En_Weather_Tag\", \"15618896\": \"ovl_En_Wallmas\", \"15617056\": \"ovl_En_Wall_Tubo\", \"15610512\": \"ovl_En_Vm\", \"15597648\": \"ovl_En_Viewer\", \"15592944\": \"ovl_En_Vb_Ball\", \"15592704\": \"ovl_En_Vase\", \"15582464\": \"ovl_En_Vali\", \"15578944\": \"ovl_En_Tubo_Trap\", \"15574192\": \"ovl_En_Trap\", \"15567680\": \"ovl_En_Tr\", \"15559728\": \"ovl_En_Tp\", \"15556544\": \"ovl_En_Toryo\", \"15546384\": \"ovl_En_Torch2\", \"15546144\": \"ovl_En_Torch\", \"15538064\": \"ovl_En_Tk\", \"15526160\": \"ovl_En_Tite\", \"15524336\": \"ovl_En_Tg\", \"15523264\": \"ovl_En_Tana\", \"15520752\": \"ovl_En_Takara_Man\", \"15505712\": \"ovl_En_Ta\", \"15497088\": \"ovl_En_Syateki_Niw\", \"15492864\": \"ovl_En_Syateki_Man\", \"15488320\": \"ovl_En_Syateki_Itm\", \"15473856\": \"ovl_En_Sw\", \"15472304\": \"ovl_En_Stream\", \"15455312\": \"ovl_En_Sth\", \"15443872\": \"ovl_En_St\", \"15434112\": \"ovl_En_Ssh\", \"15433152\": \"ovl_En_Skjneedle\", \"15417808\": \"ovl_En_Skj\", \"15411392\": \"ovl_En_Skb\", \"15407776\": \"ovl_En_Siofuki\", \"15406512\": \"ovl_En_Si\", \"15402560\": \"ovl_En_Shopnuts\", \"15396352\": \"ovl_En_Sda\", \"15395920\": \"ovl_En_Scene_Change\", \"15390672\": \"ovl_En_Sb\", \"15381824\": \"ovl_En_Sa\", \"15369520\": \"ovl_En_Ru2\", \"15338480\": \"ovl_En_Ru1\", \"15328288\": \"ovl_En_Rr\", \"15323792\": \"ovl_En_Rl\", \"15321360\": \"ovl_En_River_Sound\", \"15314096\": \"ovl_En_Reeba\", \"15303648\": \"ovl_En_Rd\", \"15302816\": \"ovl_En_Pu_box\", \"15285552\": \"ovl_En_Poh\", \"15265648\": \"ovl_En_Po_Sisters\", \"15259424\": \"ovl_En_Po_Relay\", \"15244144\": \"ovl_En_Po_Field\", \"15240480\": \"ovl_En_Po_Desert\", \"15226128\": \"ovl_En_Peehat\", \"15220288\": \"ovl_En_Part\", \"15204240\": \"ovl_En_Owl\", \"15174928\": \"ovl_En_Ossan\", \"15165136\": \"ovl_En_Okuta\", \"15158672\": \"ovl_En_Okarina_Tag\", \"15157200\": \"ovl_En_Okarina_Effect\", \"15157008\": \"ovl_En_OE2\", \"15150112\": \"ovl_En_Ny\", \"15147344\": \"ovl_En_Nwc\", \"15145664\": \"ovl_En_Nutsball\", \"15137968\": \"ovl_En_Niw_Lady\", \"15134704\": \"ovl_En_Niw_Girl\", \"15120368\": \"ovl_En_Niw\", \"15101440\": \"ovl_En_Nb\", \"15099024\": \"ovl_En_Mu\", \"15097232\": \"ovl_En_Ms\", \"15093440\": \"ovl_En_Mm2\", \"15087584\": \"ovl_En_Mm\", \"15083888\": \"ovl_En_Mk\", \"15073984\": \"ovl_En_Md\", \"15057088\": \"ovl_En_Mb\", \"15047536\": \"ovl_En_Mag\", \"15043344\": \"ovl_En_Ma3\", \"15038992\": \"ovl_En_Ma2\", \"15034112\": \"ovl_En_Ma1\", \"15028304\": \"ovl_En_M_Thunder\", \"15027888\": \"ovl_En_M_Fire1\", \"15026752\": \"ovl_En_Lightbox\", \"15023024\": \"ovl_En_Light\", \"15017408\": \"ovl_En_Kz\", \"15011856\": \"ovl_En_Kusa\", \"14994976\": \"ovl_En_Ko\", \"14988224\": \"ovl_En_Karebaba\", \"14974992\": \"ovl_En_Kanban\", \"14970256\": \"ovl_En_Kakasi3\", \"14966912\": \"ovl_En_Kakasi2\", \"14963168\": \"ovl_En_Kakasi\", \"14943088\": \"ovl","tools/ido5.3_compiler/LICENSE.md":"# Silicon Graphics Freeware Legal Notice\n## Copyright 1995, Silicon Graphics, Inc. -- ALL RIGHTS RESERVED\n\nYou may copy, modify, use and distribute this software, (i) provided that you include the entirety of this reservation of rights notice in all such copies, and (ii) you comply with any additional or different obligations and/or use restrictions specified by any third party owner or supplier of the software in other notices that may be included with the software.\n\n**SGI DISCLAIMS ALL WARRANTIES WITH RESPECT TO THIS SOFTWARE, EXPRESS, IMPLIED, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ALL WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. SGI SHALL NOT BE LIABLE FOR ANY SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST REVENUES, LOST PROFITS, OR LOSS OF PROSPECTIVE ECONOMIC ADVANTAGE, RESULTING FROM THE USE OR MISUSE OF THIS SOFTWARE.**\n\n**U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:**\n\nUse, duplication or disclosure by the Government is subject to restrictions as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or in similar or successor clauses in the FAR, or the DOD or NASA FAR Supplement. Unpublished - rights reserved under the Copyright Laws of United States. Contractor/manufacturer is Silicon Graphics, Inc., 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311.\n\n## Product Support\n\nFreeware products are not supported by Silicon Graphics or any of its support providers. The software contained in this package is made available through the generous efforts of their authors. Although they are interested in your feedback, they are under no obligation to address bugs, enhancements, or answer questions. \n\n----\n\n**NOTE:** This license was copied verbatim from https://web.archive.org/web/19991008090202/http://toolbox.sgi.com/TasteOfDT/public/freeware1.0/legal_notice.html .\n","tools/assets/descriptor/README.md":"This package serves as an abstraction layer wrapping assets xml files.\n",".cursorrules (java-springboot-jpa-cursorrules-prompt-file.mdc)":"---\ndescription: \"Cursor rules for Java development with Springboot and JPA integration.\"\nglobs: **/*\nalwaysApply: false\n---\n## Instruction to developer: save this file as .cursorrules and place it on the root project directory\n\nAI Persona：\n\nYou are an experienced Senior Java Developer, You always adhere to SOLID principles, DRY principles, KISS principles and YAGNI principles. You always follow OWASP best practices. You always break task down to smallest units and approach to solve any task in step by step manner.\n\nTechnology stack：\n\nFramework: Java Spring Boot 3 Maven with Java 17 Dependencies: Spring Web, Spring Data JPA, Thymeleaf, Lombok, PostgreSQL driver\n\nApplication Logic Design：\n\n1. All request and response handling must be done only in RestController.\n2. All database operation logic must be done in ServiceImpl classes, which must use methods provided by Repositories.\n3. RestControllers cannot autowire Repositories directly unless absolutely beneficial to do so.\n4. ServiceImpl classes cannot query the database directly and must use Repositories methods, unless absolutely necessary.\n5. Data carrying between RestControllers and serviceImpl classes, and vice versa, must be done only using DTOs.\n6. Entity classes must be used only to carry data out of database query executions.\n\nEntities\n\n1. Must annotate entity classes with @Entity.\n2. Must annotate entity classes with @Data (from Lombok), unless specified in a prompt otherwise.\n3. Must annotate entity ID with @Id and @GeneratedValue(strategy=GenerationType.IDENTITY).\n4. Must use FetchType.LAZY for relationships, unless specified in a prompt otherwise.\n5. Annotate entity properties properly according to best practices, e.g., @Size, @NotEmpty, @Email, etc.\n\nRepository (DAO):\n\n1. Must annotate repository classes with @Repository.\n2. Repository classes must be of type interface.\n3. Must extend JpaRepository with the entity and entity ID as parameters, unless specified in a prompt otherwise.\n4. Must use JPQL for all @Query type methods, unless specified in a prompt otherwise.\n5. Must use @EntityGraph(attributePaths={\"relatedEntity\"}) in relationship queries to avoid the N+1 problem.\n6. Must use a DTO as The data container for multi-join queries with @Query.\n\nService：\n\n1. Service classes must be of type interface.\n2. All service class method implementations must be in ServiceImpl classes that implement the service class,\n3. All ServiceImpl classes must be annotated with @Service.\n4. All dependencies in ServiceImpl classes must be @Autowired without a constructor, unless specified otherwise.\n5. Return objects of ServiceImpl methods should be DTOs, not entity classes, unless absolutely necessary.\n6. For any logic requiring checking the existence of a record, use the corresponding repository method with an appropriate .orElseThrow lambda method.\n7. For any multiple sequential database executions, must use @Transactional or transactionTemplate, whichever is appropriate.\n\nData Transfer object (DTo)：\n\n1. Must be of type record, unless specified in a prompt otherwise.\n2. Must specify a compact canonical constructor to validate input parameter data (not null, blank, etc., as appropriate).\n\nRestController:\n\n1. Must annotate controller classes with @RestController.\n2. Must specify class-level API routes with @RequestMapping, e.g. (\"/api/user\").\n3. Use @GetMapping for fetching, @PostMapping for creating, @PutMapping for updating, and @DeleteMapping for deleting. Keep paths resource-based (e.g., '/users/{id}'), avoiding verbs like '/create', '/update', '/delete', '/get', or '/edit'\n4. All dependencies in class methods must be @Autowired without a constructor, unless specified otherwise.\n5. Methods return objects must be of type Response Entity of type ApiResponse.\n6. All class method logic must be implemented in a try..catch block(s).\n7. Caught errors in catch blocks must be handled by the Custom GlobalExceptionHandler class.\n\nApiResponse Class (/ApiResponse.java):\n\n@Data\n@NoArgsConstructor\n@AllArgsConstructor\npublic class ApiResponse<T> {\n  private String result;    // SUCCESS or ERROR\n  private String message;   // success or error message\n  private T data;           // return object from service class, if successful\n}\n\nGlobalExceptionHandler Class (/GlobalExceptionHandler.java)\n\n@RestControllerAdvice\npublic class GlobalExceptionHandler {\n\n    public static ResponseEntity<ApiResponse<?>> errorResponseEntity(String message, HttpStatus status) {\n      ApiResponse<?> response = new ApiResponse<>(\"error\", message, null)\n      return new ResponseEntity<>(response, status);\n    }\n\n    @ExceptionHandler(IllegalArgumentException.class)\n    public ResponseEntity<ApiResponse<?>> handleIllegalArgumentException(IllegalArgumentException ex) {\n        return new ResponseEntity<>(ApiResponse.error(400, ex.getMessage()), HttpStatus.BAD_REQUEST);\n    }\n}\n"},"items":[{"name":".pre-commit-config.yaml","path":"tools/asm-differ/.pre-commit-config.yaml","rawUrl":"https://raw.githubusercontent.com/zeldaret/oot/HEAD/tools/asm-differ/.pre-commit-config.yaml","title":"Asm-differ Skill","category":"anthropic-skill","format":"yaml","content":"repos:\n-   repo: https://github.com/psf/black-pre-commit-mirror\n    rev: 23.12.1\n    hooks:\n    - id: black\n","isInternal":false,"tokens":38,"sizeBytes":108},{"name":"spec.md","path":"tools/assets/descriptor/spec.md","rawUrl":"https://raw.githubusercontent.com/zeldaret/oot/HEAD/tools/assets/descriptor/spec.md","title":"Descriptor Skill","category":"anthropic-skill","format":"markdown","content":"This document describes the expected structure of xml files describing assets.\n\n# Top elements\n\n## `Root`\n\n```xml\n<Root>\n    ...\n</Root>\n```\n\nThis is the root element in the file, containing exclusively `<File>` and `<ExternalFile>` elements as direct children.\n\n## `File`\n\n```xml\n<File Name=\"baserom_file\" Segment=\"11\">\n    ...\n</File>\n```\n\nA `<File>` contains resources elements as children.\n\n- Required attributes: `Name`\n- Optional attributes: `Segment`\n\n`Name` is the name of the baserom file from which the data is to be extracted.\n\n`Segment` (decimal) is the segment number for the file.\n\n## `ExternalFile`\n\n```xml\n<ExternalFile OutPath=\"assets/name\"/>\n```\n\nDeclare the `<File>`s in the xml may reference symbols from an external file.\n\nThe external file is located by matching its name against the list of assets in the version's `config.yml`.\n\nFor example, `baseroms/gc-eu/config.yml` contains\n\n```yml\nassets:\n- name: objects/gameplay_keep\n  xml_path: assets/xml/objects/gameplay_keep.xml\n```\n\nthen `<ExternalFile OutPath=\"assets/objects/gameplay_keep/\"/>` refers to that gameplay_keep entry, which uses the `gameplay_keep.xml` xml file when extracting assets for version gc-eu.\n\n\n# Resource elements\n\nResource elements describe resources. Resources are pieces of data corresponding to a symbol each.\n\nOne attribute is required on all resource elements: `Name`.\n\n- `Name` is the name of the symbol associated to the resource.\n\nAnother attribute, optional, is common to all resource elements: `Offset`.\n\nIf `Offset` is set to a (hexadecimal) number such as `Offset=\"0x421\"`, it specifies the location of the resource in bytes from the start of the file data.\n\nIf `Offset` is not set, the resource is assumed to start where the previous resource ended, or at 0 if the resource is the first in the `<File>`.\n\n`Offset` can also be set to be a relative offset like `Offset=\".+0x421\"`, which makes the resource location be that many bytes after the end of the previous resource.\n\n## `Blob`\n\n```xml\n<Blob Name=\"gNameBlob\" Size=\"0x421\" Offset=\"0x1230\">\n```\n\nUnstructured binary data.\n\n- Required attributes: `Size`\n\n`Size` is the size of the binary blob in bytes.\n\n## `DList`\n\n```xml\n<DList Name=\"gNameDL\" Offset=\"0x1230\" Length=\"123\" Ucode=\"f3dex2\" RawPointers=\"0x08000000,0x09000000\"/>\n```\n\nA display list.\n\n- Optional attributes: `Length`, `Ucode`, `RawPointers`\n\n`Length` can be set to indicate the length (amount of `Gfx` double-words) of the dlist. If not set, the dlist length is automatic.\n\n`Ucode` (defaults to `f3dex2`) picks the graphics microcode for which to disassemble the dlist. It may be `f3dex` or `f3dex2`.\n\n`RawPointers` (defaults to an empty value) is a comma-separated list of values the display list uses as raw pointers (\"hex\" instead of a symbol). The purpose of this attribute is to silence extraction warnings.\n\n## `Mtx`\n\n```xml\n<Mtx Name=\"gNameMtx\" Offset=\"0x1230\"/>\n```\n\nA fixed-point matrix.\n\n## `Texture`\n\n```xml\n<Texture Name=\"gNameTex\" Format=\"rgba16\" Width=\"16\" Height=\"16\" Offset=\"0x1230\"/>\n<Texture Name=\"gNameTex\" Format=\"ci8\" Width=\"16\" Height=\"16\" Offset=\"0x1230\" Tlut=\"gNameTLUT\"/>\n<Texture Name=\"gNameTex\" Format=\"ci8\" Width=\"16\" Height=\"16\" Offset=\"0x1230\" TlutOffset=\"0x2340\"/>\n<Texture Name=\"gNameTex\" Format=\"ci8\" Width=\"16\" Height=\"16\" Offset=\"0x1230\" ExternalTlut=\"baserom_file\" ExternalTlutOffset=\"0x2340\"/>\n```\n\nA texture, an image in one of the native N64 formats.\n\n- Required attributes for all formats: `Format`, `Width`, `Height`\n- Required attributes for CI formats (`ci4`, `ci8`): `Tlut`, or `TlutOffset`, or `ExternalTlut` and `ExternalTlutOffset`\n\n`Format` is the format of the texture, one of `rgba32`, `rgba16`, `i4`, `i8`, `ia4`, `ia8`, `ia16`, `ci4` or `ci8`.\n\n`Width` and `Height` specify the dimensions of the texture.\n\nFor CI formats, the TLUT (Texture Look Up Table, or palette) must be specified with either `Tlut` or `TlutOffset` if the TLUT is in the same file as the texture, or both of `ExternalTlut` and `ExternalTlutOffset` if the TLUT is in a different file. `ExternalTlut` is the name of the baserom file where the TLUT is. In both cases, the TLUT must also be declared as a resource.\n\n## `Array`\n\n```xml\n<Array Name=\"gNameVtx\" Count=\"42\" Offset=\"0x1230\">\n    <Vtx/>\n</Array>\n<Array Name=\"gNameVec3sArray\" Count=\"42\" Offset=\"0x1230\">\n    <Vector Type=\"s16\" Dimensions=\"3\"/>\n</Array>\n<Array Name=\"gNameS16Array\" Count=\"42\" Offset=\"0x1230\">\n    <Scalar Type=\"s16\"/>\n</Array>\n```\n\nAn array of vertices, vectors or scalars. The child element determines the array's element type.\n\n- Required attributes: `Count`\n\n`Count` is the length of the array.\n\nThe child element may be one of `<Vtx/>` (for `Vtx[]`), `<Vector Type=\"s16\" Dimensions=\"3\"/>` (for `Vec3s[]`) or `<Scalar Type=\"s16\">` (for `s16[]`).\n\n## `Scene`\n\n```xml\n<Scene Name=\"name\" Offset=\"0x1230\"/>\n```\n\nScene commands.\n\n## `Room`\n\n```xml\n<Room Name=\"name\" Offset=\"0x1230\"/>\n```\n\nRoom commands.\n\n## `Collision`\n\n```xml\n<Collision Name=\"gNameCol\" Offset=\"0x1230\"/>\n```\n\nCollision header.\n\n## `Cutscene`\n\n```xml\n<Cutscene Name=\"gNameCs\" Offset=\"0x1230\"/>\n```\n\nCutscene script.\n\n## `Path`\n\n```xml\n<Path Name=\"gNamePathList\" Offset=\"0x1230\" NumPaths=\"12\"/>\n```\n\nPath list.\n\n- Required attributes: `NumPaths`\n\n`NumPaths` is the length of the path list.\n\n## `Skeleton`\n\n```xml\n<Skeleton Name=\"gNameSkel\" Type=\"Normal\" LimbType=\"Standard\" LimbNone=\"NAME_LIMB_NONE\" LimbMax=\"NAME_LIMB_MAX\" EnumName=\"NameLimb\" Offset=\"0x1230\"/>\n```\n\nSkeleton header.\n\n- Required attributes: `Type`, `LimbType`\n- Optional attributes: `LimbNone`, `LimbMax`, `EnumName`\n\n`Type` is the type of the skeleton, one of `Normal`, `Flex` or `Curve`.\n\n`LimbType` is the type of limb used in the skeleton, one of `Standard`, `LOD`, `Skin`, `Curve` or `Legacy`.\n\nNot all skeleton types are compatible with all limb types:\n\n`LimbType` | Compatible skeleton `Type`\n-----------|---------------------------\n`Standard` | `Normal`, `Flex`\n`LOD`      | `Normal`, `Flex`\n`Skin`     | `Normal`\n`Curve`    | `Curve`\n`Legacy`   | none\n\n`LimbNone`, `LimbMax`, `EnumName` can be set to override the corresponding names in the generated limb enum:\n\n```c\ntypedef enum NameLimb {\n    NAME_LIMB_NONE,\n    ...\n    NAME_LIMB_MAX\n} NameLimb;\n```\n\n## `LimbTable`\n\n```xml\n<LimbTable Name=\"gNameLimbs\" LimbType=\"Standard\" Count=\"12\" Offset=\"0x1230\"/>\n```\n\nLimb table.\n\n- Required attributes: `LimbType`, `Count`\n\n`LimbType` is one of `Standard`, `LOD`, `Skin`, `Curve` or `Legacy`.\n\n`Count` is the amount of limbs.\n\n## `Limb`\n\n```xml\n<Limb Name=\"gNameLimb\" LimbType=\"Standard\" EnumName=\"NAME_LIMB_NAME\" Offset=\"0x1230\"/>\n```\n\nLimb of a skeleton.\n\n- Required attributes: `LimbType`\n- Optional attributes: `EnumName`\n\n`LimbType` is one of `Standard`, `LOD`, `Skin`, `Curve` or `Legacy`.\n\n`EnumName` can be set to override the limb name in the generated limb enum.\n\n## `Animation`\n\n```xml\n<Animation Name=\"gNameAnim\" Offset=\"0x1230\"/>\n```\n\nAnimation header.\n\n## `CurveAnimation`\n\n```xml\n<CurveAnimation Name=\"gNameAnim\" SkelOffset=\"0x120\" Offset=\"0x1230\"/>\n```\n\nCurve animation header.\n\n- Required attributes: `SkelOffset`\n\n`SkelOffset` is the offset of the skeleton which uses this animation. The skeleton must also be declared as a resource.\n\n## `LegacyAnimation`\n\n```xml\n<LegacyAnimation Name=\"gNameAnim\" Offset=\"0x1230\"/>\n```\n\nLegacy animation header.\n\n## `PlayerAnimation`\n\n```xml\n<PlayerAnimation Name=\"gNamePlayerAnim\" Offset=\"0x1230\"/>\n```\n\nPlayer animation header.\n\n## `PlayerAnimationData`\n\n```xml\n<PlayerAnimationData Name=\"gNamePlayerAnimData\" FrameCount=\"20\" Offset=\"0x1230\"/>\n```\n\nPlayer animation data.\n\n- Required attributes: `FrameCount`\n\n`FrameCount` is the amount of frames in the animation.\n","isInternal":false,"tokens":2188,"sizeBytes":7675},{"name":"LICENSE.md","path":"tools/fado/lib/vc_vector/LICENSE.md","rawUrl":"https://raw.githubusercontent.com/zeldaret/oot/HEAD/tools/fado/lib/vc_vector/LICENSE.md","title":"Vc_vector Skill","category":"anthropic-skill","format":"markdown","content":"#The MIT License (MIT)\n\n*Copyright (c) 2016 Skogorev Anton*\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","isInternal":false,"tokens":227,"sizeBytes":1084},{"name":"z64_relocation_section_format.md","path":"tools/fado/z64_relocation_section_format.md","rawUrl":"https://raw.githubusercontent.com/zeldaret/oot/HEAD/tools/fado/z64_relocation_section_format.md","title":"Fado Skill","category":"anthropic-skill","format":"markdown","content":"# Zelda 64 overlay relocation section format\n\nBoth Zelda 64 titles use the same custom dynamic overlay relocation format, which is \n\n\nAll elements are 4 bytes in width.\n\n| Offset  | Description                                 | Notes                                                         |\n| ------- | ------------------------------------------- | ------------------------------------------------------------- |\n| 0x00    | Size of overlay .text section               |                                                               |\n| 0x04    | Size of overlay .data section               |                                                               |\n| 0x08    | Size of overlay .rodata section             |                                                               |\n| 0x0C    | Size of overlay .bss section                |                                                               |\n| 0x10    | Number of relocation entries                |                                                               |\n| 0x14-   | Relocation entries                          | Must be sorted in increasing order by section, then offset    |\n| ...     |                                             |                                                               |\n|         | (zero padding of section to 0x10 alignment) |                                                               |\n| End - 4 | Size of overlay .ovl section                | Also the offset from the end of the rest of the section sizes |\n\n\n## Relocation entries\n\nThe only element that is not a single number are the relocation entries, which are bitpacked as follows:\n\n| 0x1F..0x1E | 0x1D..0x18 | 0x17..0x0                     |\n| ---------- | ---------- | ----------------------------- |\n| ss         | tttttt     | oooo oooo oooo oooo oooo oooo |\n| Section    | Type       | Offset                        |\n\n\n### Section \n\n2 bits. Section where the instruction or data to be relocated is.\n\n| Value | Section |\n| ----- | ------- |\n| 1     | .text   |\n| 2     | .data   |\n| 3     | .rodata |\n\n\n### Type\n\n6 bits. Four types of standard MIPS relocation are supported. They use the same values as the standard elf formats:\n\n| Value | Type          | Description                                                                       |\n| ----- | ------------- | --------------------------------------------------------------------------------- |\n| 2     | `R_MIPS_32`   | A full word address (such as a pointer in data or an address in a jumptable)      |\n| 4     | `R_MIPS_26`   | 26-bit direct relocation, for a J-type instruction                                |\n| 5     | `R_MIPS_HI16` | High 16-bit, generally the top half of an address in an `li`/`lui`                |\n| 6     | `R_MIPS_LO16` | Low 16-bit, the bottom half of an address, such as in an `addiu`,`ori`,`lh`, etc. |\n\n\n### Offset\n\n0x18 bits. Offset in bytes from the start of the section where the relocation occurs.\n\n\n### Example\n\n```\n0x82000A30 = 0b1000 0010 0000 0000 0000 1010 0011 0000\n```\n\nThis splits as\n\n```\n0b10, 0b000010, 0b0000 0000 0000 1010 0011 0000 = 0x2, 0x2, 0xA30\n```\n\ni.e. a full-word (`R_MIPS_32`) relocation at `.data + 0xA30`.\n\n\n## Compiler compatibility\n\n### HI/LO\n\nThe MIPS ELF format standard specifies that each LO be preceded by a unique HI associated to it (but multiple LOs may associate to the same HI), and the overlay relocation function acts based on this assumption.\n\nIDO complies with this consistently, but GCC in its wisdom decided that it was appropriate to violate this by default, and allow multiple HIs to associate to the same LO. GCC also likes to reorder relocations in the `.rel.*` sections.\n\nTo prevent these you must pass *both* of the following compiler flags:\n\n```\n-mno-explicit-relocs -mno-split-addresses\n```\n\n(GNU do not document this behaviour themselves, although apparently it has been present for many years. It is also not even consistent between versions.)\n\n### rodata\n\nIt should be clear from the description above that this system expects a single rodata section. Again, IDO will only ever produce one rodata section, but GCC will produce several, albeit only one containing relocatable rodata: the others are for \"mergeable\" strings and floats/doubles. The cleanest way to deal with this is to pass \n\n```\n-fno-merge-constants\n```\n\nwhich will force GCC to generate a single combined rodata section. If, however, you really think you will benefit from merging constants, to obtain relocations correctly offset from the start of the entire rodata section(s), the actual `.rodata` section must be explicitly linked first.\n\nFor multi-file overlays, the situation is even more complicated, and Fado gets around this by adding up the sizes of all the rodata sections so that we may simply place one files' in one chunk: this means that each individual `.rodata` section should be linked before the others, i.e.\n\n```\n.text(1)\n.text(2)\n.data(1)\n.data(2)\n.rodata(1)\n.rodata.cst4(1)\n...\n.rodata(2)\n.rodata.cst4(2)\n```\n\nor similar.\n","isInternal":false,"tokens":1118,"sizeBytes":5019},{"name":"LICENSE.md","path":"tools/ido5.3_compiler/LICENSE.md","rawUrl":"https://raw.githubusercontent.com/zeldaret/oot/HEAD/tools/ido5.3_compiler/LICENSE.md","title":"Ido5.3_compiler Skill","category":"anthropic-skill","format":"markdown","content":"# Silicon Graphics Freeware Legal Notice\n## Copyright 1995, Silicon Graphics, Inc. -- ALL RIGHTS RESERVED\n\nYou may copy, modify, use and distribute this software, (i) provided that you include the entirety of this reservation of rights notice in all such copies, and (ii) you comply with any additional or different obligations and/or use restrictions specified by any third party owner or supplier of the software in other notices that may be included with the software.\n\n**SGI DISCLAIMS ALL WARRANTIES WITH RESPECT TO THIS SOFTWARE, EXPRESS, IMPLIED, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ALL WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. SGI SHALL NOT BE LIABLE FOR ANY SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST REVENUES, LOST PROFITS, OR LOSS OF PROSPECTIVE ECONOMIC ADVANTAGE, RESULTING FROM THE USE OR MISUSE OF THIS SOFTWARE.**\n\n**U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:**\n\nUse, duplication or disclosure by the Government is subject to restrictions as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or in similar or successor clauses in the FAR, or the DOD or NASA FAR Supplement. Unpublished - rights reserved under the Copyright Laws of United States. Contractor/manufacturer is Silicon Graphics, Inc., 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311.\n\n## Product Support\n\nFreeware products are not supported by Silicon Graphics or any of its support providers. The software contained in this package is made available through the generous efforts of their authors. Although they are interested in your feedback, they are under no obligation to address bugs, enhancements, or answer questions. \n\n----\n\n**NOTE:** This license was copied verbatim from https://web.archive.org/web/19991008090202/http://toolbox.sgi.com/TasteOfDT/public/freeware1.0/legal_notice.html .\n","isInternal":false,"tokens":429,"sizeBytes":1967},{"name":"filetable.json","path":"tools/overlayhelpers/filetable.json","rawUrl":"https://raw.githubusercontent.com/zeldaret/oot/HEAD/tools/overlayhelpers/filetable.json","title":"Overlayhelpers Skill","category":"anthropic-skill","format":"json","content":"{\"va\": {\"12248064\": null, \"12246208\": \"ovl_Shot_Sun\", \"12241936\": \"ovl_Oceff_Wipe4\", \"12235760\": \"ovl_Oceff_Wipe3\", \"12229552\": \"ovl_Oceff_Wipe2\", \"12225936\": \"ovl_Oceff_Wipe\", \"12218592\": \"ovl_Oceff_Storm\", \"12214384\": \"ovl_Oceff_Spot\", \"12200608\": \"ovl_Object_Kankyo\", \"12197360\": \"ovl_Obj_Warp2block\", \"12193120\": \"ovl_Obj_Tsubo\", \"12189600\": \"ovl_Obj_Timeblock\", \"12186288\": \"ovl_Obj_Syokudai\", \"12177936\": \"ovl_Obj_Switch\", \"12177360\": \"ovl_Obj_Roomtimer\", \"12169600\": \"ovl_Obj_Oshihiki\", \"12167632\": \"ovl_Obj_Mure3\", \"12164928\": \"ovl_Obj_Mure2\", \"12159648\": \"ovl_Obj_Mure\", \"12158224\": \"ovl_Obj_Makeoshihiki\", \"12157552\": \"ovl_Obj_Makekinsuta\", \"12151712\": \"ovl_Obj_Lightswitch\", \"12148944\": \"ovl_Obj_Lift\", \"12147152\": \"ovl_Obj_Kibako2\", \"12143776\": \"ovl_Obj_Kibako\", \"12141152\": \"ovl_Obj_Ice_Poly\", \"12139360\": \"ovl_Obj_Hsblock\", \"12138592\": \"ovl_Obj_Hana\", \"12136336\": \"ovl_Obj_Hamishi\", \"12135168\": \"ovl_Obj_Elevator\", \"12133408\": \"ovl_Obj_Dekujr\", \"12131168\": \"ovl_Obj_Comb\", \"12129776\": \"ovl_Obj_Bombiwa\", \"12129376\": \"ovl_Obj_Blockstop\", \"12118656\": \"ovl_Obj_Bean\", \"12111952\": \"ovl_Mir_Ray\", \"12103936\": \"ovl_Magic_Wind\", \"12094832\": \"ovl_Magic_Fire\", \"12088272\": \"ovl_Magic_Dark\", \"12085536\": \"ovl_Item_Shield\", \"12083504\": \"ovl_Item_Ocarina\", \"12083168\": \"ovl_Item_Inbox\", \"12080624\": \"ovl_Item_Etcetera\", \"12079440\": \"ovl_Item_B_Heart\", \"11966880\": \"ovl_Fishing\", \"11949856\": \"ovl_End_Title\", \"11938240\": \"ovl_En_fHG\", \"11928096\": \"ovl_En_Zo\", \"11909040\": \"ovl_En_Zl4\", \"11875248\": \"ovl_En_Zl3\", \"11856272\": \"ovl_En_Zl2\", \"11840320\": \"ovl_En_Zl1\", \"11812944\": \"ovl_En_Zf\", \"11811264\": \"ovl_En_Yukabyun\", \"11808192\": \"ovl_En_Yabusame_Mark\", \"11780576\": \"ovl_En_Xc\", \"11775856\": \"ovl_En_Wood02\", \"11771600\": \"ovl_En_Wonder_Talk2\", \"11768048\": \"ovl_En_Wonder_Talk\", \"11763808\": \"ovl_En_Wonder_Item\", \"11746480\": \"ovl_En_Wf\", \"11739792\": \"ovl_En_Weiyer\", \"11735072\": \"ovl_En_Weather_Tag\", \"11728160\": \"ovl_En_Wallmas\", \"11726320\": \"ovl_En_Wall_Tubo\", \"11719776\": \"ovl_En_Vm\", \"11706880\": \"ovl_En_Viewer\", \"11702176\": \"ovl_En_Vb_Ball\", \"11701936\": \"ovl_En_Vase\", \"11691696\": \"ovl_En_Vali\", \"11688176\": \"ovl_En_Tubo_Trap\", \"11683424\": \"ovl_En_Trap\", \"11676912\": \"ovl_En_Tr\", \"11668960\": \"ovl_En_Tp\", \"11665776\": \"ovl_En_Toryo\", \"11655552\": \"ovl_En_Torch2\", \"11655312\": \"ovl_En_Torch\", \"11647232\": \"ovl_En_Tk\", \"11635328\": \"ovl_En_Tite\", \"11633504\": \"ovl_En_Tg\", \"11632432\": \"ovl_En_Tana\", \"11629920\": \"ovl_En_Takara_Man\", \"11614880\": \"ovl_En_Ta\", \"11606256\": \"ovl_En_Syateki_Niw\", \"11602032\": \"ovl_En_Syateki_Man\", \"11597488\": \"ovl_En_Syateki_Itm\", \"11582896\": \"ovl_En_Sw\", \"11581344\": \"ovl_En_Stream\", \"11564352\": \"ovl_En_Sth\", \"11552912\": \"ovl_En_St\", \"11543152\": \"ovl_En_Ssh\", \"11542192\": \"ovl_En_Skjneedle\", \"11526832\": \"ovl_En_Skj\", \"11520416\": \"ovl_En_Skb\", \"11516800\": \"ovl_En_Siofuki\", \"11515536\": \"ovl_En_Si\", \"11511584\": \"ovl_En_Shopnuts\", \"11505184\": \"ovl_En_Sda\", \"11504752\": \"ovl_En_Scene_Change\", \"11499504\": \"ovl_En_Sb\", \"11490656\": \"ovl_En_Sa\", \"11478352\": \"ovl_En_Ru2\", \"11447312\": \"ovl_En_Ru1\", \"11437120\": \"ovl_En_Rr\", \"11432624\": \"ovl_En_Rl\", \"11430192\": \"ovl_En_River_Sound\", \"11422928\": \"ovl_En_Reeba\", \"11412480\": \"ovl_En_Rd\", \"11411648\": \"ovl_En_Pu_box\", \"11394384\": \"ovl_En_Poh\", \"11374480\": \"ovl_En_Po_Sisters\", \"11368256\": \"ovl_En_Po_Relay\", \"11352832\": \"ovl_En_Po_Field\", \"11349168\": \"ovl_En_Po_Desert\", \"11334816\": \"ovl_En_Peehat\", \"11328976\": \"ovl_En_Part\", \"11312928\": \"ovl_En_Owl\", \"11283616\": \"ovl_En_Ossan\", \"11273824\": \"ovl_En_Okuta\", \"11267360\": \"ovl_En_Okarina_Tag\", \"11265888\": \"ovl_En_Okarina_Effect\", \"11265696\": \"ovl_En_OE2\", \"11258800\": \"ovl_En_Ny\", \"11256032\": \"ovl_En_Nwc\", \"11254352\": \"ovl_En_Nutsball\", \"11246656\": \"ovl_En_Niw_Lady\", \"11243392\": \"ovl_En_Niw_Girl\", \"11229056\": \"ovl_En_Niw\", \"11210128\": \"ovl_En_Nb\", \"11207712\": \"ovl_En_Mu\", \"11205920\": \"ovl_En_Ms\", \"11202128\": \"ovl_En_Mm2\", \"11196272\": \"ovl_En_Mm\", \"11192576\": \"ovl_En_Mk\", \"11182672\": \"ovl_En_Md\", \"11165776\": \"ovl_En_Mb\", \"11156224\": \"ovl_En_Mag\", \"11152032\": \"ovl_En_Ma3\", \"11147680\": \"ovl_En_Ma2\", \"11142800\": \"ovl_En_Ma1\", \"11136992\": \"ovl_En_M_Thunder\", \"11136576\": \"ovl_En_M_Fire1\", \"11135440\": \"ovl_En_Lightbox\", \"11131712\": \"ovl_En_Light\", \"11126096\": \"ovl_En_Kz\", \"11120544\": \"ovl_En_Kusa\", \"11103664\": \"ovl_En_Ko\", \"11096912\": \"ovl_En_Karebaba\", \"11083680\": \"ovl_En_Kanban\", \"11078944\": \"ovl_En_Kakasi3\", \"11075600\": \"ovl_En_Kakasi2\", \"11071856\": \"ovl_En_Kakasi\", \"11048864\": \"ovl_En_Jsjutan\", \"11046416\": \"ovl_En_Js\", \"11040768\": \"ovl_En_Jj\", \"11040384\": \"ovl_En_It\", \"11002976\": \"ovl_En_Ishi\", \"10993184\": \"ovl_En_Insect\", \"10981296\": \"ovl_En_In\", \"10961680\": \"ovl_En_Ik\", \"10956784\": \"ovl_En_Ice_Hono\", \"10941872\": \"ovl_En_Hy\", \"10940320\": \"ovl_En_Hs2\", \"10937248\": \"ovl_En_Hs\", \"10934480\": \"ovl_En_Horse_Zelda\", \"10924624\": \"ovl_En_Horse_Normal\", \"10916816\": \"ovl_En_Horse_Link_Child\", \"10913376\": \"ovl_En_Horse_Ganon\", \"10909008\": \"ovl_En_Horse_Game_Check\", \"10859248\": \"ovl_En_Horse\", \"10853424\": \"ovl_En_Honotrap\", \"10849296\": \"ovl_En_Holl\", \"10842624\": \"ovl_En_Hintnuts\", \"10838224\": \"ovl_En_Heishi4\", \"10835520\": \"ovl_En_Heishi3\", \"10825376\": \"ovl_En_Heishi2\", \"10818256\": \"ovl_En_Heishi1\", \"10816848\": \"ovl_En_Hata\", \"10813984\": \"ovl_En_Guest\", \"10806048\": \"ovl_En_Gs\", \"10796192\": \"ovl_En_Goroiwa\", \"10784448\": \"ovl_En_Goma\", \"10759472\": \"ovl_En_Go2\", \"10741104\": \"ovl_En_Go\", \"10737376\": \"ovl_En_Gm\", \"10725200\": \"ovl_En_GirlA\", \"10703632\": \"ovl_En_GeldB\", \"10700320\": \"ovl_En_Ge3\", \"10693584\": \"ovl_En_Ge2\", \"10684784\": \"ovl_En_Ge1\", \"10678656\": \"ovl_En_Gb\", \"10649600\": \"ovl_En_Ganon_Organ\", \"10632544\": \"ovl_En_Ganon_Mant\", \"10624704\": \"ovl_En_G_Switch\", \"10616256\": \"ovl_En_Fz\", \"10610080\": \"ovl_En_Fw\", \"10606608\": \"ovl_En_Fu\", \"10594720\": \"ovl_En_Fr\", \"10581264\": \"ovl_En_Floormas\", \"10572416\": \"ovl_En_Fish\", \"10563696\": \"ovl_En_Firefly\", \"10558496\": \"ovl_En_Fire_Rock\", \"10547808\": \"ovl_En_Fhg_Fire\", \"10544304\": \"ovl_En_Fd_Fire\", \"10532544\": \"ovl_En_Fd\", \"10527760\": \"ovl_En_Ex_Ruppy\", \"10522272\": \"ovl_En_Ex_Item\", \"10516880\": \"ovl_En_Encount2\", \"10512160\": \"ovl_En_Encount1\", \"10492976\": \"ovl_En_Elf\", \"10485664\": \"ovl_En_Eiyer\", \"10485136\": \"ovl_En_Eg\", \"10483440\": \"ovl_En_Dy_Extra\", \"10476592\": \"ovl_En_Du\", \"10473520\": \"ovl_En_Ds\", \"10469840\": \"ovl_En_Door\", \"10465232\": \"ovl_En_Dog\", \"10453584\": \"ovl_En_Dodongo\", \"10445760\": \"ovl_En_Dodojr\", \"10433216\": \"ovl_En_Dnt_Nomal\", \"10427104\": \"ovl_En_Dnt_Jiji\", \"10422496\": \"ovl_En_Dnt_Demo\", \"10416976\": \"ovl_En_Dns\", \"10410096\": \"ovl_En_Diving_Game\", \"10406016\": \"ovl_En_Dha\", \"10399040\": \"ovl_En_Dh\", \"10392928\": \"ovl_En_Dekunuts\", \"10377168\": \"ovl_En_Dekubaba\", \"10371872\": \"ovl_En_Daiku_Kakariko\", \"10365744\": \"ovl_En_Daiku\", \"10361008\": \"ovl_En_Cs\", \"10355264\": \"ovl_En_Crow\", \"10350080\": \"ovl_En_Cow\", \"10302896\": \"ovl_En_Clear_Tag\", \"10299024\": \"ovl_En_Changer\", \"10296032\": \"ovl_En_Bx\", \"10282720\": \"ovl_En_Bw\", \"10276976\": \"ovl_En_Butte\", \"10271744\": \"ovl_En_Bubble\", \"10267408\": \"ovl_En_Brob\", \"10259904\": \"ovl_En_Box\", \"10257536\": \"ovl_En_Boom\", \"10252128\": \"ovl_En_Bombf\", \"10246192\": \"ovl_En_Bom_Chu\", \"10243648\": \"ovl_En_Bom_Bowl_Pit\", \"10237488\": \"ovl_En_Bom_Bowl_Man\", \"10233552\": \"ovl_En_Bom\", \"10231904\": \"ovl_En_Blkobj\", \"10230704\": \"ovl_En_Bird\", \"10221728\": \"ovl_En_Bili\", \"10210400\": \"ovl_En_Bigokuta\", \"10207280\": \"ovl_En_Bdfire\", \"10191584\": \"ovl_En_Bb\", \"10183504\": \"ovl_En_Ba\", \"10178816\": \"ovl_En_Attack_Niw\", \"10172704\": \"ovl_En_Arrow\", \"10172368\": \"ovl_En_Arow_Trap\", \"10171392\": \"ovl_En_Anubice_Tag\", \"10167712\": \"ovl_En_Anubice_Fire\", \"10162464\": \"ovl_En_Anubice\", \"10158960\": \"ovl_En_Ani\", \"10149664\": \"ovl_En_Am\", \"10147584\": \"ovl_Elf_Msg2\", \"10144544\": \"ovl_Elf_Msg\", \"10143488\": \"ovl_Effect_Ss_Stone1\", \"10142416\": \"ovl_Effect_Ss_Stick\", \"10142000\": \"ovl_Effect_Ss_Solder_Srch_Ball\", \"10141024\": \"ovl_Effect_Ss_Sibuki2\", \"10139184\": \"ovl_Effect_Ss_Sibuki\", \"10137328\": \"ovl_Effect_Ss_Lightning\", \"10135568\": \"ovl_Effect_Ss_KiraKira\", \"10131072\": \"ovl_Effect_Ss_Kakera\", \"10129840\": \"ovl_Effect_Ss_K_Fire\", \"10128368\": \"ovl_Effect_Ss_Ice_Smoke\", \"10127104\": \"ovl_Effect_Ss_Ice_Piece\", \"10125648\": \"ovl_Effect_Ss_HitMark\", \"10123760\": \"ovl_Effect_Ss_Hahen\", \"10122560\": \"ovl_Effect_Ss_G_Splash\", \"10121008\": \"ovl_Effect_Ss_G_Spk\", \"10119520\": \"ovl_Effect_Ss_G_Ripple\", \"10118048\": \"ovl_Effect_Ss_G_Magma2\", \"10117456\": \"ovl_Effect_Ss_G_Magma\", \"10116816\": \"ovl_Effect_Ss_G_Fire\", \"10114880\": \"ovl_Effect_Ss_Fire_Tail\", \"10110560\": \"ovl_Effect_Ss_Fhg_Flash\", \"10109216\": \"ovl_Effect_Ss_Fcircle\", \"10108096\": \"ovl_Effect_Ss_Extra\", \"10105648\": \"ovl_Effect_Ss_En_Ice\", \"10103648\": \"ovl_Effect_Ss_En_Fire\", \"10101456\": \"ovl_Effect_Ss_Dust\", \"10099888\": \"ovl_Effect_Ss_Dt_Bubble\", \"10099504\": \"ovl_Effect_Ss_Dead_Sound\", \"10098192\": \"ovl_Effect_Ss_Dead_Ds\", \"10096608\": \"ovl_Effect_Ss_Dead_Dd\", \"10095264\": \"ovl_Effect_Ss_Dead_Db\", \"10093904\": \"ovl_Effect_Ss_D_Fire\", \"10092608\": \"ovl_Effect_Ss_Bubble\", \"10090064\": \"ovl_Effect_Ss_Bomb2\", \"10088880\": \"ovl_Effect_Ss_Bomb\", \"10087856\": \"ovl_Effect_Ss_Blast\", \"10082512\": \"ovl_Eff_Dust\", \"10079408\": \"ovl_Efc_Erupc\", \"10061696\": \"ovl_Door_Warp1\", \"10061344\": \"ovl_Door_Toki\", \"10052256\": \"ovl_Door_Shutter\", \"10046544\": \"ovl_Door_Killer\", \"10044896\": \"ovl_Door_Gerudo\", \"10043120\": \"ovl_Door_Ana\", \"10041024\": \"ovl_Demo_Tre_Lgt\", \"10031664\": \"ovl_Demo_Shd\", \"10019936\": \"ovl_Demo_Sa\", \"10014672\": \"ovl_Demo_Kekkai\", \"9997952\": \"ovl_Demo_Kankyo\", \"9980896\": \"ovl_Demo_Im\", \"9974528\": \"ovl_Demo_Ik\", \"9950832\": \"ovl_Demo_Gt\", \"9947248\": \"ovl_Demo_Go\", \"9931056\": \"ovl_Demo_Gj\", \"9928256\": \"ovl_Demo_Geff\", \"9925520\": \"ovl_Demo_Ext\", \"9899856\": \"ovl_Demo_Effect\", \"9884848\": \"ovl_Demo_Ec\", \"9870032\": \"ovl_Demo_Du\", \"9857360\": \"ovl_Demo_6K\", \"9761472\": \"ovl_Boss_Va\", \"9669840\": \"ovl_Boss_Tw\", \"9618896\": \"ovl_Boss_Sst\", \"9550592\": \"ovl_Boss_Mo\", \"9525776\": \"ovl_Boss_Goma\", \"9504320\": \"ovl_Boss_Ganondrof\", \"9424704\": \"ovl_Boss_Ganon2\", \"9267312\": \"ovl_Boss_Ganon\", \"9250416\": \"ovl_Boss_Fd2\", \"9219520\": \"ovl_Boss_Fd\", \"9179536\": \"ovl_Boss_Dodongo\", \"9178144\": \"ovl_Bg_Zg\", \"9171984\": \"ovl_Bg_Ydan_Sp\", \"9170240\": \"ovl_Bg_Ydan_Maruta\", \"9168128\": \"ovl_Bg_Ydan_Hasi\", \"9166176\": \"ovl_Bg_Vb_Sima\", \"9165792\": \"ovl_Bg_Umajump\", \"9159936\": \"ovl_Bg_Treemouth\", \"9154112\": \"ovl_Bg_Toki_Swd\", \"9150208\": \"ovl_Bg_Toki_Hikari\", \"9148688\": \"ovl_Bg_Sst_Floor\", \"9147344\": \"ovl_Bg_Spot18_Shutter\", \"9144592\": \"ovl_Bg_Spot18_Obj\", \"9144192\": \"ovl_Bg_Spot18_Futa\", \"9139984\": \"ovl_Bg_Spot18_Basket\", \"9139200\": \"ovl_Bg_Spot17_Funen\", \"9137088\": \"ovl_Bg_Spot17_Bakudankabe\", \"9135168\": \"ovl_Bg_Spot16_Doughnut\", \"9129008\": \"ovl_Bg_Spot16_Bombstone\", \"9128016\": \"ovl_Bg_Spot15_Saku\", \"9124192\": \"ovl_Bg_Spot15_Rrbox\", \"9122848\": \"ovl_Bg_Spot12_Saku\", \"9121680\": \"ovl_Bg_Spot12_Gate\", \"9119728\": \"ovl_Bg_Spot11_Oasis\", \"9118080\": \"ovl_Bg_Spot11_Bakudankabe\", \"9116384\": \"ovl_Bg_Spot09_Obj\", \"9111904\": \"ovl_Bg_Spot08_Iceblock\", \"9110224\": \"ovl_Bg_Spot08_Bakudankabe\", \"9108528\": \"ovl_Bg_Spot07_Taki\", \"9103232\": \"ovl_Bg_Spot06_Objects\", \"9102448\": \"ovl_Bg_Spot05_Soko\", \"9100000\": \"ovl_Bg_Spot03_Taki\", \"9094752\": \"ovl_Bg_Spot02_Objects\", \"9093440\": \"ovl_Bg_Spot01_Objects2\", \"9092736\": \"ovl_Bg_Spot01_Idosoko\", \"9091808\": \"ovl_Bg_Spot01_Idomizu\", \"9088224\": \"ovl_Bg_Spot01_Idohashira\", \"9087424\": \"ovl_Bg_Spot01_Fusya\", \"9082752\": \"ovl_Bg_Spot00_Hanebasi\", \"9082336\": \"ovl_Bg_Spot00_Break\", \"9080400\": \"ovl_Bg_Relay_Objects\", \"9079520\": \"ovl_Bg_Pushbox\", \"9076912\": \"ovl_Bg_Po_Syokudai\", \"9069072\": \"ovl_Bg_Po_Event\", \"9065840\": \"ovl_Bg_Mori_Rakkatenjo\", \"9063872\": \"ovl_Bg_Mori_Kaitenkabe\", \"9061952\": \"ovl_Bg_Mori_Idomizu\", \"9058256\": \"ovl_Bg_Mori_Hineri\", \"9056352\": \"ovl_Bg_Mori_Hashira4\", \"9053536\": \"ovl_Bg_Mori_Hashigo\", \"9050112\": \"ovl_Bg_Mori_Elevator\", \"9046976\": \"ovl_Bg_Mori_Bigst\", \"9045888\": \"ovl_Bg_Mjin\", \"9042096\": \"ovl_Bg_Mizu_Water\", \"9041632\": \"ovl_Bg_Mizu_Uzu\", \"9039440\": \"ovl_Bg_Mizu_Shutter\", \"9034800\": \"ovl_Bg_Mizu_Movebg\", \"9028736\": \"ovl_Bg_Mizu_Bwall\", \"9028400\": \"ovl_Bg_Menkuri_Nisekabe\", \"9028016\": \"ovl_Bg_Menkuri_Kaiten\", \"9026672\": \"ovl_Bg_Menkuri_Eye\", \"9024576\": \"ovl_Bg_Jya_Zurerukabe\", \"9019696\": \"ovl_Bg_Jya_Megami\", \"9018272\": \"ovl_Bg_Jya_Lift\", \"9017152\": \"ovl_Bg_Jya_Kanaami\", \"9013408\": \"ovl_Bg_Jya_Ironobj\", \"9011392\": \"ovl_Bg_Jya_Haheniron\", \"9009520\": \"ovl_Bg_Jya_Goroiwa\", \"9001200\": \"ovl_Bg_Jya_Cobra\", \"8999328\": \"ovl_Bg_Jya_Bombiwa\", \"8996000\": \"ovl_Bg_Jya_Bombchuiwa\", \"8995232\": \"ovl_Bg_Jya_Block\", \"8992480\": \"ovl_Bg_Jya_Bigmirror\", \"8991424\": \"ovl_Bg_Jya_Amishutter\", \"8989536\": \"ovl_Bg_Jya_1flift\", \"8988480\": \"ovl_Bg_Ingate\", \"8986400\": \"ovl_Bg_Ice_Turara\", \"8985280\": \"ovl_Bg_Ice_Shutter\", \"8980288\": \"ovl_Bg_Ice_Shelter\", \"8976400\": \"ovl_Bg_Ice_Objects\", \"8975296\": \"ovl_Bg_Hidan_Syoku\", \"8971216\": \"ovl_Bg_Hidan_Sima\", \"8965824\": \"ovl_Bg_Hidan_Sekizou\", \"8962560\": \"ovl_Bg_Hidan_Rsekizou\", \"8958080\": \"ovl_Bg_Hidan_Rock\", \"8953888\": \"ovl_Bg_Hidan_Kowarerukabe\", \"8952160\": \"ovl_Bg_Hidan_Kousi\", \"8950064\": \"ovl_Bg_Hidan_Hrock\", \"8945728\": \"ovl_Bg_Hidan_Hamstep\", \"8942320\": \"ovl_Bg_Hidan_Fwbig\", \"8941120\": \"ovl_Bg_Hidan_Fslift\", \"8939104\": \"ovl_Bg_Hidan_Firewall\", \"8936992\": \"ovl_Bg_Hidan_Dalm\", \"8933792\": \"ovl_Bg_Hidan_Curtain\", \"8927120\": \"ovl_Bg_Heavy_Block\", \"8922560\": \"ovl_Bg_Haka_Zou\", \"8920320\": \"ovl_Bg_Haka_Water\", \"8917584\": \"ovl_Bg_Haka_Tubo\", \"8912032\": \"ovl_Bg_Haka_Trap\", \"8909056\": \"ovl_Bg_Haka_Ship\", \"8905952\": \"ovl_Bg_Haka_Sgami\", \"8904240\": \"ovl_Bg_Haka_MeganeBG\", \"8903232\": \"ovl_Bg_Haka_Megane\", \"8900544\": \"ovl_Bg_Haka_Huta\", \"8895984\": \"ovl_Bg_Haka_Gate\", \"8894128\": \"ovl_Bg_Haka\", \"8891840\": \"ovl_Bg_Gnd_Soulmeiro\", \"8891472\": \"ovl_Bg_Gnd_Nisekabe\", \"8886944\": \"ovl_Bg_Gnd_Iceblock\", \"8885440\": \"ovl_Bg_Gnd_Firemeiro\", \"8883248\": \"ovl_Bg_Gnd_Darkmeiro\", \"8881856\": \"ovl_Bg_Gjyo_Bridge\", \"8880480\": \"ovl_Bg_Gate_Shutter\", \"8870176\": \"ovl_Bg_Ganon_Otyuka\", \"8857648\": \"ovl_Bg_Dy_Yoseizo\", \"8854016\": \"ovl_Bg_Dodoago\", \"8851696\": \"ovl_Bg_Ddan_Kd\", \"8850096\": \"ovl_Bg_Ddan_Jd\", \"8846304\": \"ovl_Bg_Breakwall\", \"8843616\": \"ovl_Bg_Bowl_Wall\", \"8841168\": \"ovl_Bg_Bombwall\", \"8840528\": \"ovl_Bg_Bom_Guard\", \"8835088\": \"ovl_Bg_Bdan_Switch\", \"8830112\": \"ovl_Bg_Bdan_Objects\", \"8821936\": \"ovl_Arrow_Light\", \"8813776\": \"ovl_Arrow_Ice\", \"8805648\": \"ovl_Arrow_Fire\", \"8802048\": \"ovl_Arms_Hook\", \"8779344\": \"ovl_En_Test\", \"8751984\": \"ovl_map_mark_data\", \"8593936\": \"ovl_player_actor\", \"8468512\": \"ovl_kaleido_scope\", \"8404288\": \"ovl_file_choose\", \"8403952\": \"ovl_opening\", \"8391568\": \"ovl_select\", \"8388608\": \"ovl_title\", \"1408400\": null, \"118368\": \"code\", \"93600\": \"dmadata\", \"1120\": \"boot\"}, \"ra\": {\"56418368\": null, \"56418304\": \"softsprite_matrix_static\", \"56414208\": \"anime_texture_6_static\", \"56410112\": \"anime_texture_5_static\", \"56406016\": \"anime_texture_4_static\", \"56401920\": \"anime_texture_3_static\", \"56397824\": \"anime_texture_2_static\", \"56393728\": \"anime_texture_1_static\", \"56389632\": \"anime_model_6_static\", \"56385536\": \"anime_model_5_static\", \"56381440\": \"anime_model_4_static\", \"56377344\": \"anime_model_3_static\", \"56373248\": \"anime_model_2_static\", \"56369152\": \"anime_model_1_static\", \"56365056\": \"bump_texture_static\", \"56324096\": \"test01_room_0\", \"56307712\": \"test01_scene\", \"56266752\": \"ganontikasonogo_room_1\", \"56168448\": \"ganontikasonogo_room_0\", \"56147968\": \"ganontikasonogo_scene\", \"56086528\": \"kinsuta_room_0\", \"56078336\": \"kinsuta_scene\", \"55885824\": \"face_shop_room_0\", \"55881728\": \"face_shop_scene\", \"55857152\": \"besitu_room_0\", \"55853056\": \"besitu_scene\", \"55832576\": \"ganon_demo_room_0\", \"55791616\": \"ganon_demo_scene\", \"55754752\": \"ganon_sonogo_room_4\", \"55730176\": \"ganon_sonogo_room_3\", \"55693312\": \"ganon_sonogo_room_2\", \"55660544\": \"ganon_sonogo_room_1\", \"55627776\": \"ganon_sonogo_room_0\", \"55595008\": \"ganon_sonogo_scene\", \"55582720\": \"takaraya_room_6\", \"55570432\": \"takaraya_room_5\", \"55554048\": \"takaraya_room_4\", \"55541760\": \"takaraya_room_3\", \"55529472\": \"takaraya_room_2\", \"55521280\": \"takaraya_room_1\", \"55480320\": \"takaraya_room_0\", \"55447552\": \"takaraya_scene\", \"55418880\": \"mahouya_room_0\", \"55373824\": \"mahouya_scene\", \"55357440\": \"miharigoya_room_0\", \"55304192\": \"miharigoya_scene\", \"55267328\": \"souko_room_2\", \"55222272\": \"souko_room_1\", \"55181312\": \"souko_room_0\", \"55152640\": \"souko_scene\", \"55119872\": \"hylia_labo_room_0\", \"55046144\": \"hylia_labo_scene\", \"55017472\": \"hakaana_ouke_room_2\", \"54996992\": \"hakaana_ouke_room_1\", \"54951936\": \"hakaana_ouke_room_0\", \"54931456\": \"hakaana_ouke_scene\", \"54902784\": \"bowling_room_0\", \"54841344\": \"bowling_scene\", \"54824960\": \"hairal_niwa_n_room_0\", \"54784000\": \"hairal_niwa_n_scene\", \"54763520\": \"gerudoway_room_5\", \"54747136\": \"gerudoway_room_4\", \"54697984\": \"gerudoway_room_3\", \"54681600\": \"gerudoway_room_2\", \"54648832\": \"gerudoway_room_1\", \"54628352\": \"gerudoway_room_0\", \"54571008\": \"gerudoway_scene\", \"54542336\": \"hakaana2_room_0\", \"54484992\": \"hakaana2_scene\", \"54145024\": \"shrine_r_room_0\", \"54136832\": \"shrine_r_scene\", \"53796864\": \"shrine_n_room_0\", \"53788672\": \"shrine_n_scene\", \"53760000\": \"turibori_room_0\", \"53682176\": \"turibori_scene\", \"53342208\": \"shrine_room_0\", \"53334016\": \"shrine_scene\", \"53301248\": \"hakasitarelay_room_6\", \"53280768\": \"hakasitarelay_room_5\", \"53260288\": \"hakasitarelay_room_4\", \"53223424\": \"hakasitarelay_room_3\", \"53186560\": \"hakasitarelay_room_2\", \"53157888\": \"hakasitarelay_room_1\", \"53125120\": \"hakasitarelay_room_0\", \"53063680\": \"hakasitarelay_scene\", \"52965376\": \"hairal_niwa2_room_0\", \"52953088\": \"hairal_niwa2_scene\", \"52776960\": \"kakariko3_room_0\", \"52772864\": \"kakariko3_scene\", \"52719616\": \"ganon_final_room_0\", \"52641792\": \"ganon_final_scene\", \"52441088\": \"kokiri_home5_room_0\", \"52432896\": \"kokiri_home5_scene\", \"52199424\": \"kokiri_home4_room_0\", \"52191232\": \"kokiri_home4_scene\", \"52142080\": \"jyasinboss_room_3\", \"52125696\": \"jyasinboss_room_2\", \"52092928\": \"jyasinboss_room_1\", \"52088832\": \"jyasinboss_room_0\", \"52051968\": \"jyasinboss_scene\", \"52027392\": \"ganon_boss_room_0\", \"51994624\": \"ganon_boss_scene\", \"51970048\": \"ganon_room_9\", \"51941376\": \"ganon_room_8\", \"51896320\": \"ganon_room_7\", \"51855360\": \"ganon_room_6\", \"51818496\": \"ganon_room_5\", \"51777536\": \"ganon_room_4\", \"51744768\": \"ganon_room_3\", \"51712000\": \"ganon_room_2\", \"51679232\": \"ganon_room_1\", \"51646464\": \"ganon_room_0\", \"51576832\": \"ganon_scene\", \"51527680\": \"MIZUsin_bs_room_1\", \"51507200\": \"MIZUsin_bs_room_0\", \"51499008\": \"MIZUsin_bs_scene\", \"51474432\": \"HAKAdan_bs_room_1\", \"51462144\": \"HAKAdan_bs_room_0\", \"51449856\": \"HAKAdan_bs_scene\", \"51421184\": \"ydan_boss_room_1\", \"51392512\": \"ydan_boss_room_0\", \"51384320\": \"ydan_boss_scene\", \"51367936\": \"ddan_boss_room_1\", \"51347456\": \"ddan_boss_room_0\", \"51335168\": \"ddan_boss_scene\", \"51236864\": \"nakaniwa_room_0\", \"51220480\": \"nakaniwa_scene\", \"51007488\": \"tent_room_0\", \"51003392\": \"tent_scene\", \"50819072\": \"labo_room_0\", \"50814976\": \"labo_scene\", \"50655232\": \"impa_room_0\", \"50651136\": \"impa_scene\", \"50483200\": \"night_shop_room_0\", \"50479104\": \"night_shop_scene\", \"50319360\": \"alley_shop_room_0\", \"50315264\": \"alley_shop_scene\", \"50135040\": \"drag_room_0\", \"50130944\": \"drag_scene\", \"49971200\": \"zoora_room_0\", \"49967104\": \"zoora_scene\", \"49807360\": \"golon_room_0\", \"49803264\": \"golon_scene\", \"49782784\": \"yousei_izumi_yoko_room_0\", \"49729536\": \"yousei_izumi_yoko_scene\", \"49709056\": \"yousei_izumi_tate_room_0\", \"49672192\": \"yousei_izumi_tate_scene\", \"49639424\": \"hakaana_room_0\", \"49635328\": \"hakaana_scene\", \"49618944\": \"daiyousei_izumi_room_0\", \"49561600\": \"daiyousei_izumi_scene\", \"49389568\": \"hut_room_0\", \"49385472\": \"hut_scene\", \"49356800\": \"FIRE_bs_room_1\", \"49336320\": \"FIRE_bs_room_0\", \"49315840\": \"FIRE_bs_scene\", \"49291264\": \"bdan_boss_room_1\", \"49274880\": \"bdan_boss_room_0\", \"49270784\": \"bdan_boss_scene\", \"49094656\": \"kakariko_room_0\", \"49090560\": \"kakariko_scene\", \"48898048\": \"malon_stable_room_0\", \"48893952\": \"malon_stable_scene\", \"48668672\": \"kokiri_home3_room_0\", \"48660480\": \"kokiri_home3_scene\", \"48656384\": \"hiral_demo_room_0\", \"48640000\": \"hiral_demo_scene\", \"48156672\": \"market_alley_n_room_0\", \"48148480\": \"market_alley_n_scene\", \"47992832\": \"enrui_room_0\", \"47988736\": \"enrui_scene\", \"47833088\": \"entra_n_room_0\", \"47828992\": \"entra_n_scene\", \"47816704\": \"market_ruins_room_0\", \"47808512\": \"market_ruins_scene\", \"47779840\": \"spot20_room_0\", \"47706112\": \"spot20_scene\", \"47222784\": \"market_alley_room_0\", \"47214592\": \"market_alley_scene\", \"47198208\": \"sasatest_room_0\", \"47185920\": \"sasatest_scene\", \"47104000\": \"ganon_tou_room_0\", \"47083520\": \"ganon_tou_scene\", \"47038464\": \"hairal_niwa_room_0\", \"46964736\": \"hairal_niwa_scene\", \"46792704\": \"shop1_room_0\", \"46788608\": \"shop1_scene\", \"46755840\": \"syatekijyou_room_0\", \"46702592\": \"syatekijyou_scene\", \"46645248\": \"moribossroom_room_1\", \"46620672\": \"moribossroom_room_0\", \"46612480\": \"moribossroom_scene\", \"46456832\": \"entra_room_0\", \"46452736\": \"entra_scene\", \"46424064\": \"kakusiana_room_13\", \"46391296\": \"kakusiana_room_12\", \"46354432\": \"kakusiana_room_11\", \"46329856\": \"kakusiana_room_10\", \"46305280\": \"kakusiana_room_9\", \"46288896\": \"kakusiana_room_8\", \"46272512\": \"kakusiana_room_7\", \"46247936\": \"kakusiana_room_6\", \"46227456\": \"kakusiana_room_5\", \"46194688\": \"kakusiana_room_4\", \"46170112\": \"kakusiana_room_3\", \"46157824\": \"kakusiana_room_2\", \"46133248\": \"kakusiana_room_1\", \"46100480\": \"kakusiana_room_0\", \"46043136\": \"kakusiana_scene\", \"45862912\": \"kokiri_home_room_0\", \"45858816\": \"kokiri_home_scene\", \"45658112\": \"kokiri_shop_room_0\", \"45654016\": \"kokiri_shop_scene\", \"45490176\": \"link_home_room_0\", \"45481984\": \"link_home_scene\", \"45449216\": \"sutaru_room_0\", \"45445120\": \"sutaru_scene\", \"45412352\": \"tokinoma_room_1\", \"45314048\": \"tokinoma_room_0\", \"45236224\": \"tokinoma_scene\", \"45154304\": \"kenjyanoma_room_0\", \"45137920\": \"kenjyanoma_scene\", \"45133824\": \"testroom_room_4\", \"45117440\": \"testroom_room_3\", \"45101056\": \"testroom_room_2\", \"45088768\": \"testroom_room_1\", \"45068288\": \"testroom_room_0\", \"45047808\": \"testroom_scene\", \"45023232\": \"market_night_room_0\", \"45010944\": \"market_night_scene\", \"44986368\": \"market_day_room_0\", \"44974080\": \"market_day_scene\", \"44851200\": \"spot18_room_3\", \"44777472\": \"spot18_room_2\", \"44748800\": \"spot18_room_1\", \"44670976\": \"spot18_room_0\", \"44625920\": \"spot18_scene\", \"44548096\": \"spot17_room_1\", \"44519424\": \"spot17_room_0\", \"44453888\": \"spot17_scene\", \"44408832\": \"spot16_room_0\", \"44281856\": \"spot16_scene\", \"44224512\": \"spot15_room_0\", \"44122112\": \"spot15_scene\", \"44044288\": \"spot13_room_1\", \"44040192\": \"spot13_room_0\", \"44015616\": \"spot13_scene\", \"43962368\": \"spot12_room_1\", \"43888640\": \"spot12_room_0\", \"43823104\": \"spot12_scene\", \"43769856\": \"spot11_room_0\", \"43663360\": \"spot11_scene\", \"43646976\": \"spot10_room_9\", \"43634688\": \"spot10_room_8\", \"43622400\": \"spot10_room_7\", \"43606016\": \"spot10_room_6\", \"43577344\": \"spot10_room_5\", \"43565056\": \"spot10_room_4\", \"43540480\": \"spot10_room_3\", \"43520000\": \"spot10_room_2\", \"43483136\": \"spot10_room_1\", \"43470848\": \"spot10_room_0\", \"43401216\": \"spot10_scene\", \"43364352\": \"spot09_room_0\", \"43290624\": \"spot09_scene\", \"43253760\": \"spot08_room_0\", \"43180032\": \"spot08_scene\", \"43126784\": \"spot07_room_1\", \"43098112\": \"spot07_room_0\", \"43057152\": \"spot07_scene\", \"43012096\": \"spot06_room_0\", \"42897408\": \"spot06_scene\", \"42856448\": \"spot05_room_0\", \"42770432\": \"spot05_scene\", \"42745856\": \"spot04_room_2\", \"42708992\": \"spot04_room_1\", \"42594304\": \"spot04_room_0\", \"42520576\": \"spot04_scene\", \"42487808\": \"spot03_room_1\", \"42430464\": \"spot03_room_0\", \"42381312\": \"spot03_scene\", \"42258432\": \"spot02_room_1\", \"42246144\": \"spot02_room_0\", \"42196992\": \"spot02_scene\", \"42156032\": \"spot01_room_0\", \"42037248\": \"spot01_scene\", \"41947136\": \"spot00_room_0\", \"41771008\": \"spot00_scene\", \"41615360\": \"depth_test_room_0\", \"41611264\": \"depth_test_scene\", \"41570304\": \"syotes2_room_0\", \"41558016\": \"syotes2_scene\", \"41504768\": \"syotes_room_0\", \"41496576\": \"syotes_scene\", \"41463808\": \"ganontika_room_19\", \"41410560\": \"ganontika_room_18\", \"41373696\": \"ganontika_room_17\", \"41361408\": \"ganontika_room_16\", \"41328640\": \"ganontika_room_15\", \"41283584\": \"ganontika_room_14\", \"41250816\": \"ganontika_room_13\", \"41201664\": \"ganontika_room_12\", \"41172992\": \"ganontika_room_11\", \"41144320\": \"ganontika_room_10\", \"41095168\": \"ganontika_room_9\", \"41054208\": \"ganontika_room_8\", \"41021440\": \"ganontika_room_7\", \"40955904\": \"ganontika_room_6\", \"40923136\": \"ganontika_room_5\", \"40890368\": \"ganontika_room_4\", \"40849408\": \"ganontika_room_3\", \"40816640\": \"ganontika_room_2\", \"40697856\": \"ganontika_room_1\", \"40656896\": \"ganontika_room_0\", \"40517632\": \"ganontika_scene\", \"40493056\": \"men_room_10\", \"40476672\": \"men_room_9\", \"40439808\": \"men_room_8\", \"40402944\": \"men_room_7\", \"40370176\": \"men_room_6\", \"40345600\": \"men_room_5\", \"40300544\": \"men_room_4\", \"40267776\": \"men_room_3\", \"40243200\": \"men_room_2\", \"40202240\": \"men_room_1\", \"40136704\": \"men_room_0\", \"40062976\": \"men_scene\", \"40038400\": \"ice_doukutu_room_11\", \"40017920\": \"ice_doukutu_room_10\", \"39981056\": \"ice_doukutu_room_9\", \"39972864\": \"ice_doukutu_room_8\", \"39948288\": \"ice_doukutu_room_7\", \"39927808\": \"ice_doukutu_room_6\", \"39890944\": \"ice_doukutu_room_5\", \"39858176\": \"ice_doukutu_room_4\", \"39821312\": \"ice_doukutu_room_3\", \"39796736\": \"ice_doukutu_room_2\", \"39743488\": \"ice_doukutu_room_1\", \"39706624\": \"ice_doukutu_room_0\", \"39632896\": \"ice_doukutu_scene\", \"39620608\": \"HAKAdanCH_room_6\", \"39608320\": \"HAKAdanCH_room_5\", \"39596032\": \"HAKAdanCH_room_4\", \"39587840\": \"HAKAdanCH_room_3\", \"39571456\": \"HAKAdanCH_room_2\", \"39522304\": \"HAKAdanCH_room_1\", \"39432192\": \"HAKAdanCH_room_0\", \"39378944\": \"HAKAdanCH_scene\", \"39366656\": \"HAKAdan_room_22\", \"39317504\": \"HAKAdan_room_21\", \"39309312\": \"HAKAdan_room_20\", \"39297024\": \"HAKAdan_room_19\", \"39239680\": \"HAKAdan_room_18\", \"39227392\": \"HAKAdan_room_17\", \"39215104\": \"HAKAdan_room_16\", \"39182336\": \"HAKAdan_room_15\", \"39157760\": \"HAKAdan_room_14\", \"39149568\": \"HAKAdan_room_13\", \"39124992\": \"HAKAdan_room_12\", \"39108608\": \"HAKAdan_room_11\", \"39075840\": \"HAKAdan_room_10\", \"39022592\": \"HAKAdan_room_9\", \"38998016\": \"HAKAdan_room_8\", \"38989824\": \"HAKAdan_room_7\", \"38957056\": \"HAKAdan_room_6\", \"38932480\": \"HAKAdan_room_5\", \"38924288\": \"HAKAdan_room_4\", \"38912000\": \"HAKAdan_room_3\", \"38866944\": \"HAKAdan_room_2\", \"38858752\": \"HAKAdan_room_1\", \"38809600\": \"HAKAdan_room_0\", \"38707200\": \"HAKAdan_scene\", \"38670336\": \"jyasinzou_room_28\", \"38645760\": \"jyasinzou_room_27\", \"38592512\": \"jyasinzou_room_26\", \"38502400\": \"jyasinzou_room_25\", \"38473728\": \"jyasinzou_room_24\", \"38432768\": \"jyasinzou_room_23\", \"38416384\": \"jyasinzou_room_22\", \"38395904\": \"jyasinzou_room_21\", \"38359040\": \"jyasinzou_room_20\", \"38334464\": \"jyasinzou_room_19\", \"38309888\": \"jyasinzou_room_18\", \"38268928\": \"jyasinzou_room_17\", \"38240256\": \"jyasinzou_room_16\", \"38203392\": \"jyasinzou_room_15\", \"38182912\": \"jyasinzou_room_14\", \"38158336\": \"jyasinzou_room_13\", \"38146048\": \"jyasinzou_room_12\", \"38137856\": \"jyasinzou_room_11\", \"38100992\": \"jyasinzou_room_10\", \"38076416\": \"jyasinzou_room_9\", \"38039552\": \"jyasinzou_room_8\", \"38014976\": \"jyasinzou_room_7\", \"37994496\": \"jyasinzou_room_6\", \"37892096\": \"jyasinzou_room_5\", \"37859328\": \"jyasinzou_room_4\", \"37842944\": \"jyasinzou_room_3\", \"37818368\": \"jyasinzou_room_2\", \"37777408\": \"jyasinzou_room_1\", \"37707776\": \"jyasinzou_room_0\", \"37601280\": \"jyasinzou_scene\", \"37560320\": \"MIZUsin_room_22\", \"37527552\": \"MIZUsin_room_21\", \"37498880\": \"MIZUsin_room_20\", \"37482496\": \"MIZUsin_room_19\", \"37462016\": \"MIZUsin_room_18\", \"37425152\": \"MIZUsin_room_17\", \"37408768\": \"MIZUsin_room_16\", \"37376000\": \"MIZUsin_room_15\", \"37347328\": \"MIZUsin_room_14\", \"37343232\": \"MIZUsin_room_13\", \"37314560\": \"MIZUsin_room_12\", \"37294080\": \"MIZUsin_room_11\", \"37265408\": \"MIZUsin_room_10\", \"37228544\": \"MIZUsin_room_9\", \"37171200\": \"MIZUsin_room_8\", \"37146624\": \"MIZUsin_room_7\", \"37097472\": \"MIZUsin_room_6\", \"37052416\": \"MIZUsin_room_5\", \"37023744\": \"MIZUsin_room_4\", \"36995072\": \"MIZUsin_room_3\", \"36970496\": \"MIZUsin_room_2\", \"36925440\": \"MIZUsin_room_1\", \"36835328\": \"MIZUsin_room_0\", \"36745216\": \"MIZUsin_scene\", \"36716544\": \"HIDAN_room_26\", \"36687872\": \"HIDAN_room_25\", \"36663296\": \"HIDAN_room_24\", \"36634624\": \"HIDAN_room_23\", \"36605952\": \"HIDAN_room_22\", \"36569088\": \"HIDAN_room_21\", \"36540416\": \"HIDAN_room_20\", \"36519936\": \"HIDAN_room_19\", \"36503552\": \"HIDAN_room_18\", \"36462592\": \"HIDAN_room_17\", \"36413440\": \"HIDAN_room_16\", \"36405248\": \"HIDAN_room_15\", \"36392960\": \"HIDAN_room_14\", \"36339712\": \"HIDAN_room_13\", \"36327424\": \"HIDAN_room_12\", \"36311040\": \"HIDAN_room_11\", \"36208640\": \"HIDAN_room_10\", \"36171776\": \"HIDAN_room_9\", \"36130816\": \"HIDAN_room_8\", \"36114432\": \"HIDAN_room_7\", \"36085760\": \"HIDAN_room_6\", \"36040704\": \"HIDAN_room_5\", \"36007936\": \"HIDAN_room_4\", \"35995648\": \"HIDAN_room_3\", \"35926016\": \"HIDAN_room_2\", \"35872768\": \"HIDAN_room_1\", \"35840000\": \"HIDAN_room_0\", \"35729408\": \"HIDAN_scene\", \"35721216\": \"Bmori1_room_22\", \"35713024\": \"Bmori1_room_21\", \"35704832\": \"Bmori1_room_20\", \"35700736\": \"Bmori1_room_19\", \"35692544\": \"Bmori1_room_18\", \"35651584\": \"Bmori1_room_17\", \"35631104\": \"Bmori1_room_16\", \"35618816\": \"Bmori1_room_15\", \"35594240\": \"Bmori1_room_14\", \"35557376\": \"Bmori1_room_13\", \"35520512\": \"Bmori1_room_12\", \"35475456\": \"Bmori1_room_11\", \"35450880\": \"Bmori1_room_10\", \"35405824\": \"Bmori1_room_9\", \"35307520\": \"Bmori1_room_8\", \"35229696\": \"Bmori1_room_7\", \"35188736\": \"Bmori1_room_6\", \"35172352\": \"Bmori1_room_5\", \"35155968\": \"Bmori1_room_4\", \"35139584\": \"Bmori1_room_3\", \"35074048\": \"Bmori1_room_2\", \"35049472\": \"Bmori1_room_1\", \"34992128\": \"Bmori1_room_0\", \"34902016\": \"Bmori1_scene\", \"34889728\": \"bdan_room_15\", \"34861056\": \"bdan_room_14\", \"34848768\": \"bdan_room_13\", \"34832384\": \"bdan_room_12\", \"34816000\": \"bdan_room_11\", \"34799616\": \"bdan_room_10\", \"34783232\": \"bdan_room_9\", \"34766848\": \"bdan_room_8\", \"34750464\": \"bdan_room_7\", \"34729984\": \"bdan_room_6\", \"34701312\": \"bdan_room_5\", \"34680832\": \"bdan_room_4\", \"34648064\": \"bdan_room_3\", \"34607104\": \"bdan_room_2\", \"34582528\": \"bdan_room_1\", \"34562048\": \"bdan_room_0\", \"34471936\": \"bdan_scene\", \"34447360\": \"ddan_room_16\", \"34435072\": \"ddan_room_15\", \"34422784\": \"ddan_room_14\", \"34410496\": \"ddan_room_13\", \"34373632\": \"ddan_room_12\", \"34361344\": \"ddan_room_11\", \"34328576\": \"ddan_room_10\", \"34279424\": \"ddan_room_9\", \"34238464\": \"ddan_room_8\", \"34205696\": \"ddan_room_7\", \"34193408\": \"ddan_room_6\", \"34168832\": \"ddan_room_5\", \"34127872\": \"ddan_room_4\", \"34070528\": \"ddan_room_3\", \"34037760\": \"ddan_room_2\", \"33996800\": \"ddan_room_1\", \"33882112\": \"ddan_room_0\", \"33792000\": \"ddan_scene\", \"33759232\": \"ydan_room_11\", \"33738752\": \"ydan_room_10\", \"33697792\": \"ydan_room_9\", \"33693696\": \"ydan_room_8\", \"33656832\": \"ydan_room_7\", \"33636352\": \"ydan_room_6\", \"33599488\": \"ydan_room_5\", \"33579008\": \"ydan_room_4\", \"33492992\": \"ydan_room_3\", \"33468416\": \"ydan_room_2\", \"33447936\": \"ydan_room_1\", \"33357824\": \"ydan_room_0\", \"33300480\": \"ydan_scene\", \"33296384\": \"elf_message_ydan\", \"33292288\": \"elf_message_field\", \"33288192\": \"vr_FCVR_pal_static\", \"33157120\": \"vr_FCVR_static\", \"33153024\": \"vr_TTVR_pal_static\", \"32956416\": \"vr_TTVR_static\", \"32952320\": \"vr_LBVR_pal_static\", \"32690176\": \"vr_LBVR_static\", \"32686080\": \"vr_NSVR_pal_static\", \"32555008\": \"vr_NSVR_static\", \"32550912\": \"vr_ALVR_pal_static\", \"32419840\": \"vr_ALVR_static\", \"32415744\": \"vr_DGVR_pal_static\", \"32284672\": \"vr_DGVR_static\", \"32280576\": \"vr_ZRVR_pal_static\", \"32149504\": \"vr_ZRVR_static\", \"32145408\": \"vr_GLVR_pal_static\", \"32014336\": \"vr_GLVR_static\", \"32010240\": \"vr_KSVR_pal_static\", \"31879168\": \"vr_KSVR_static\", \"31875072\": \"vr_IPVR_pal_static\", \"31612928\": \"vr_IPVR_static\", \"31608832\": \"vr_KR3VR_pal_static\", \"31412224\": \"vr_KR3VR_static\", \"31408128\": \"vr_KKRVR_pal_static\", \"31145984\": \"vr_KKRVR_static\", \"31141888\": \"vr_MLVR_pal_static\", \"30879744\": \"vr_MLVR_static\", \"30875648\": \"vr_SP1a_pal_static\", \"30744576\": \"vr_SP1a_static\", \"30740480\": \"vr_K5VR_pal_static\", \"30543872\": \"vr_K5VR_static\", \"30539776\": \"vr_K4VR_pal_static\", \"30343168\": \"vr_K4VR_static\", \"30339072\": \"vr_K3VR_pal_static\", \"30142464\": \"vr_K3VR_static\", \"30138368\": \"vr_KHVR_pal_static\", \"29876224\": \"vr_KHVR_static\", \"29872128\": \"vr_LHVR_pal_static\", \"29609984\": \"vr_LHVR_static\", \"29605888\": \"vr_RUVR_pal_static\", \"29343744\": \"vr_RUVR_static\", \"29339648\": \"vr_MNVR_pal_static\", \"29077504\": \"vr_MNVR_static\", \"29073408\": \"vr_MDVR_pal_static\", \"28811264\": \"vr_MDVR_static\", \"28807168\": \"vr_holy1_pal_static\", \"28741632\": \"vr_holy1_static\", \"28737536\": \"vr_holy0_pal_static\", \"28672000\": \"vr_holy0_static\", \"28667904\": \"vr_cloud3_pal_static\", \"28618752\": \"vr_cloud3_static\", \"28614656\": \"vr_cloud2_pal_static\", \"28565504\": \"vr_cloud2_static\", \"28561408\": \"vr_cloud1_pal_static\", \"28512256\": \"vr_cloud1_static\", \"28508160\": \"vr_cloud0_pal_static\", \"28459008\": \"vr_cloud0_static\", \"28454912\": \"vr_fine3_pal_static\", \"28405760\": \"vr_fine3_static\", \"28401664\": \"vr_fine2_pal_static\", \"28352512\": \"vr_fine2_static\", \"28348416\": \"vr_fine1_pal_static\", \"28299264\": \"vr_fine1_static\", \"28295168\": \"vr_fine0_pal_static\", \"28246016\": \"vr_fine0_static\", \"28229632\": \"parameter_static\", \"27934720\": \"title_static\", \"27922432\": \"nintendo_rogo_static\", \"27910144\": \"z_select_static\", \"27897856\": \"g_pn_57\", \"27885568\": \"g_pn_56\", \"27873280\": \"g_pn_55\", \"27860992\": \"g_pn_54\", \"27848704\": \"g_pn_53\", \"27836416\": \"g_pn_52\", \"27824128\": \"g_pn_51\", \"27811840\": \"g_pn_50\", \"27799552\": \"g_pn_49\", \"27787264\": \"g_pn_48\", \"27774976\": \"g_pn_47\", \"27762688\": \"g_pn_46\", \"27750400\": \"g_pn_45\", \"27738112\": \"g_pn_44\", \"27725824\": \"g_pn_43\", \"27713536\": \"g_pn_42\", \"27701248\": \"g_pn_41\", \"27688960\": \"g_pn_40\", \"27676672\": \"g_pn_39\", \"27664384\": \"g_pn_38\", \"27652096\": \"g_pn_37\", \"27639808\": \"g_pn_36\", \"27627520\": \"g_pn_35\", \"27615232\": \"g_pn_34\", \"27602944\": \"g_pn_33\", \"27590656\": \"g_pn_32\", \"27578368\": \"g_pn_31\", \"27566080\": \"g_pn_30\", \"27553792\": \"g_pn_29\", \"27541504\": \"g_pn_28\", \"27529216\": \"g_pn_27\", \"27516928\": \"g_pn_26\", \"27504640\": \"g_pn_25\", \"27492352\": \"g_pn_24\", \"27480064\": \"g_pn_23\", \"27467776\": \"g_pn_22\", \"27455488\": \"g_pn_21\", \"27443200\": \"g_pn_20\", \"27430912\": \"g_pn_19\", \"27418624\": \"g_pn_18\", \"27406336\": \"g_pn_17\", \"27394048\": \"g_pn_16\", \"27381760\": \"g_pn_15\", \"27369472\": \"g_pn_14\", \"27357184\": \"g_pn_13\", \"27344896\": \"g_pn_12\", \"27332608\": \"g_pn_11\", \"27320320\": \"g_pn_10\", \"27308032\": \"g_pn_09\", \"27295744\": \"g_pn_08\", \"27283456\": \"g_pn_07\", \"27271168\": \"g_pn_06\", \"27258880\": \"g_pn_05\", \"27246592\": \"g_pn_04\", \"27234304\": \"g_pn_03\", \"27222016\": \"g_pn_02\", \"27209728\": \"g_pn_01\", \"27090944\": \"object_zl4\", \"27086848\": \"object_timeblock\", \"27082752\": \"object_ouke_haka\", \"27074560\": \"object_door_killer\", \"27070464\": \"object_gi_sword_1\", \"27058176\": \"object_cob\", \"27037696\": \"object_cow\", \"27029504\": \"object_crow\", \"27021312\": \"object_bwall\", \"26968064\": \"object_ps\", \"26963968\": \"object_gs\", \"26947584\": \"object_haka_door\", \"26943488\": \"object_geff\", \"26898432\": \"object_gj\", \"26877952\": \"object_skb\", \"26832896\": \"object_wf\", \"26787840\": \"object_mu\", \"26759168\": \"object_po_composer\", \"26746880\": \"object_spot01_matoyab\", \"26730496\": \"object_spot01_matoya\", \"26726400\": \"object_gi_rupy\", \"26640384\": \"object_ganon_anime3\", \"26570752\": \"object_ganon_anime2\", \"26521600\": \"object_ganon_anime1\", \"26513408\": \"object_gi_dekupouch\", \"26505216\": \"object_efc_doughnut\", \"26443776\": \"object_demo_kekkai\", \"26415104\": \"object_po_field\", \"26398720\": \"object_bowl\", \"26394624\": \"object_gi_soul\", \"26390528\": \"object_gi_ghost\", \"26386432\": \"object_gi_butterfly\", \"26382336\": \"object_gi_insect\", \"26378240\": \"object_gi_fire\", \"26365952\": \"object_dnk\", \"26349568\": \"object_dns\", \"26341376\": \"object_kibako2\", \"26333184\": \"object_spot11_obj\", \"26329088\": \"object_spot01_objects2\", \"26316800\": \"object_jya_door\", \"26304512\": \"object_jya_iron\", \"26271744\": \"object_dog\", \"26230784\": \"object_gr\", \"26181632\": \"object_geldb\", \"26161152\": \"object_shopnuts\", \"26120192\": \"object_gla\", \"26112000\": \"object_spot00_break\", \"26091520\": \"object_rs\", \"26075136\": \"object_hintnuts\", \"26071040\": \"object_bombiwa\", \"26058752\": \"object_spot12_obj\", \"26050560\": \"object_spot05_objects\", \"26017792\": \"object_bg\", \"25989120\": \"object_bigokuta\", \"25964544\": \"object_ssh\", \"25960448\": \"object_gi_goddess\", \"25956352\": \"object_gi_sutaru\", \"25866240\": \"object_fish\", \"25812992\": \"object_ec\", \"25792512\": \"object_ds2\", \"25788416\": \"object_gi_m_arrow\", \"25780224\": \"object_gi_hoverboots\", \"25772032\": \"object_zg\", \"25751552\": \"object_ts\", \"25722880\": \"object_ka\", \"25501696\": \"object_ganon2\", \"25493504\": \"object_gi_gerudomask\", \"25485312\": \"object_gi_zoramask\", \"25477120\": \"object_gi_golonmask\", \"25432064\": \"object_zl2_anime2\", \"25382912\": \"object_zl2_anime1\", \"25370624\": \"object_efc_erupc\", \"25288704\": \"object_gt\", \"25284608\": \"object_door_gerudo\", \"25128960\": \"object_mag\", \"25120768\": \"object_gi_frog\", \"25116672\": \"object_gi_soldout\", \"25112576\": \"object_gi_bracelet\", \"25108480\": \"object_gi_prescription\", \"25071616\": \"object_cs\", \"25047040\": \"object_js\", \"25042944\": \"object_gi_brokensword\", \"25034752\": \"object_gi_ticketstone\", \"25030656\": \"object_gi_mushroom\", \"25026560\": \"object_gi_powder\", \"25022464\": \"object_gi_eye_lotion\", \"25001984\": \"object_os\", \"24985600\": \"object_fa\", \"24948736\": \"object_mm\", \"24944640\": \"object_stream\", \"24940544\": \"object_siofuki\", \"24932352\": \"object_ganon_objects\", \"24924160\": \"object_gi_truth_mask\", \"24920064\": \"object_gi_rabit_mask\", \"24915968\": \"object_gi_skj_mask\", \"24911872\": \"object_gi_redead_mask\", \"24907776\": \"object_gi_ki_tan_mask\", \"24879104\": \"object_fu\", \"24854528\": \"object_mk\", \"24784896\": \"object_owl\", \"24776704\": \"object_gjyo_objects\", \"24768512\": \"object_kanban\", \"24764416\": \"object_gi_coin\", \"24756224\": \"object_gi_gloves\", \"24748032\": \"object_tsubo\", \"24743936\": \"object_kusa\", \"24731648\": \"object_lightswitch\", \"24723456\": \"object_ingate\", \"24694784\": \"object_hs\", \"24678400\": \"object_ms\", \"24674304\": \"object_gm\", \"24592384\": \"object_blkobj\", \"24588288\": \"object_nwc\", \"24551424\": \"object_daiku\", \"24518656\": \"object_toryo\", \"24510464\": \"object_goroiwa\", \"24498176\": \"object_mamenoki\", \"24489984\": \"object_d_lift\", \"24481792\": \"object_d_hsblock\", \"24473600\": \"object_d_elevator\", \"24465408\": \"object_gnd_magic\", \"24461312\": \"object_gi_seed\", \"24453120\": \"object_gi_boots_2\", \"24449024\": \"object_yabusame_point\", \"24403968\": \"object_ge1\", \"24383488\": \"object_bob\", \"24367104\": \"object_fz\", \"24338432\": \"object_spot07_object\", \"24330240\": \"object_spot03_object\", \"24305664\": \"object_boj\", \"24276992\": \"object_ane\", \"24256512\": \"object_ds\", \"24252416\": \"object_gi_ocarina_0\", \"24231936\": \"object_bba\", \"24211456\": \"object_bji\", \"24207360\": \"object_gi_bottle_letter\", \"24170496\": \"object_skj\", \"24162304\": \"object_gi_niwatori\", \"24150016\": \"object_cne\", \"24125440\": \"object_ahg\", \"23990272\": \"object_ik\", \"23965696\": \"object_aob\", \"23961600\": \"object_masterzoora\", \"23957504\": \"object_mastergolon\", \"23945216\": \"object_masterkokirihead\", \"23941120\": \"object_masterkokiri\", \"23932928\": \"object_umajump\", \"23896064\": \"object_kz\", \"23842816\": \"object_zo\", \"23814144\": \"object_kw1\", \"23789568\": \"object_km1\", \"23744512\": \"object_md\", \"23732224\": \"object_spot01_objects\", \"23728128\": \"object_gi_longsword\", \"23724032\": \"object_gi_grass\", \"23719936\": \"object_gi_hammer\", \"23715840\": \"object_gi_saw\", \"23711744\": \"object_gi_fish\", \"23707648\": \"object_gi_bean\", \"23699456\": \"object_gi_clothes\", \"23580672\": \"object_jya_obj\", \"23572480\": \"object_spot15_obj\", \"23568384\": \"object_gi_letter\", \"23560192\": \"object_gi_shield_3\", \"23543808\": \"object_demo_6k\", \"23511040\": \"object_ani\", \"23502848\": \"object_gi_liquid\", \"23494656\": \"object_gi_glasses\", \"23490560\": \"object_gi_bow\", \"23486464\": \"object_gi_boomerang\", \"23482368\": \"object_gi_pachinko\", \"23433216\": \"object_fr\", \"23420928\": \"object_ny\", \"23310336\": \"object_sst\", \"23236608\": \"object_ganon\", \"23199744\": \"object_ma1\", \"23191552\": \"object_gi_milk\", \"23187456\": \"object_gi_ocarina\", \"23179264\": \"object_gi_hookshot\", \"23171072\": \"object_gi_shield_2\", \"23166976\": \"object_gi_scale\", \"23158784\": \"object_gi_egg\", \"23154688\": \"object_gi_bomb_2\", \"23146496\": \"object_gi_arrow\", \"23138304\": \"object_gi_gerudo\", \"23121920\": \"object_anubice\", \"23109632\": \"object_bxa\", \"23105536\": \"object_rr\", \"22863872\": \"object_tw\", \"22818816\": \"object_hni\", \"22810624\": \"object_gi_purse\", \"22769664\": \"object_ma2\", \"22732800\": \"object_oF1s\", \"22728704\": \"object_gi_bomb_1\", \"22720512\": \"object_gi_magicpot\", \"22704128\": \"object_dekujr\", \"22700032\": \"object_gi_shield_1\", \"22634496\": \"object_ru2\", \"22564864\": \"object_oF1d_map\", \"22556672\": \"object_gi_map\", \"22552576\": \"object_gi_stick\", \"22548480\": \"object_gi_bottle\", \"22503424\": \"object_os_anime\", \"22482944\": \"object_oE4s\", \"22454272\": \"object_oE1s\", \"22446080\": \"object_spot16_obj\", \"22368256\": \"object_tr\", \"22265856\": \"object_in\", \"22261760\": \"object_gi_bombpouch\", \"22257664\": \"object_gi_arrowcase\", \"22249472\": \"object_gi_hearts\", \"22159360\": \"object_sa\", \"22151168\": \"object_gi_nuts\", \"22126592\": \"object_gi_medal\", \"22118400\": \"object_gi_bosskey\", \"22114304\": \"object_gi_compass\", \"22110208\": \"object_gi_heart\", \"22106112\": \"object_gi_melody\", \"22093824\": \"object_sb\", \"22052864\": \"object_mo\", \"21950464\": \"object_nb\", \"21934080\": \"object_shop_dungen\", \"21925888\": \"object_spot17_obj\", \"21893120\": \"object_bdoor\", \"21839872\": \"object_spot18_obj\", \"21737472\": \"object_spot09_obj\", \"21721088\": \"object_gi_jewel\", \"21712896\": \"object_brob\", \"21704704\": \"object_mir_ray\", \"21700608\": \"object_gi_key\", \"21696512\": \"object_demo_tre_lgt\", \"21688320\": \"object_efc_tw\", \"21655552\": \"object_rl\", \"21614592\": \"object_dh\", \"21540864\": \"object_fd2\", \"21524480\": \"object_syokudai\", \"21442560\": \"object_ru1\", \"21434368\": \"object_haka\", \"21340160\": \"object_spot02_objects\", \"21303296\": \"object_horse_link_child\", \"21270528\": \"object_fw\", \"21192704\": \"object_du\", \"21118976\": \"object_fd\", \"21045248\": \"object_gndd\", \"21037056\": \"object_heavy_object\", \"20975616\": \"object_po_sisters\", \"20914176\": \"object_rd\", \"20860928\": \"object_sd\", \"20807680\": \"object_bdan_objects\", \"20783104\": \"object_medal\", \"20770816\": \"object_triforce_spot\", \"20762624\": \"object_light_ring\", \"20742144\": \"object_god_lgt\", \"20733952\": \"object_efc_star_field\", \"20725760\": \"object_efc_lgt_shower\", \"20721664\": \"object_efc_flash\", \"20717568\": \"object_efc_fire_ball\", \"20713472\": \"object_efc_crystal_light\", \"20684800\": \"object_hakach_objects\", \"20553728\": \"object_bv\", \"20537344\": \"object_vm\", \"20418560\": \"object_xc\", \"20369408\": \"object_tk\", \"20307968\": \"object_ta\", \"20230144\": \"object_im\", \"20221952\": \"object_vase\", \"20209664\": \"object_trap\", \"20201472\": \"object_pu_box\", \"20193280\": \"object_lightbox\", \"20156416\": \"object_wood02\", \"20144128\": \"object_bird\", \"20131840\": \"object_hata\", \"20127744\": \"object_warp2\", \"20103168\": \"object_spot08_obj\", \"20062208\": \"object_mori_tex\", \"20025344\": \"object_mori_objects\", \"19996672\": \"object_mori_hineri2a\", \"19976192\": \"object_mori_hineri2\", \"19959808\": \"object_mori_hineri1a\", \"19943424\": \"object_relay_objects\", \"19906560\": \"object_ice_objects\", \"19894272\": \"object_spot06_objects\", \"19771392\": \"object_haka_objects\", \"19763200\": \"object_mjin_oka\", \"19759104\": \"object_mjin_wind\", \"19755008\": \"object_mjin_soul\", \"19750912\": \"object_mjin_ice\", \"19746816\": \"object_mjin_flame\", \"19742720\": \"object_mjin_dark\", \"19738624\": \"object_mjin_flash\", \"19730432\": \"object_mjin\", \"19660800\": \"object_zl2\", \"19652608\": \"object_yukabyun\", \"19615744\": \"object_toki_objects\", \"19607552\": \"object_Bb\", \"19582976\": \"object_mori_hineri1\", \"19542016\": \"object_ossan\", \"19464192\": \"object_fhg\", \"19415040\": \"object_mizu_objects\", \"19406848\": \"object_oA11\", \"19394560\": \"object_oA10\", \"19374080\": \"object_vali\", \"19357696\": \"object_oE12\", \"19341312\": \"object_oE11\", \"19329024\": \"object_oE10\", \"19316736\": \"object_oE9\", \"19300352\": \"object_oE8\", \"19288064\": \"object_oE7\", \"19275776\": \"object_oE6\", \"19251200\": \"object_oE5\", \"19214336\": \"object_menkuri_objects\", \"19193856\": \"object_oE4\", \"19161088\": \"object_oE3\", \"19144704\": \"object_dekunuts\", \"19140608\": \"object_b_heart\", \"19128320\": \"object_warp1\", \"19103744\": \"object_opening_demo1\", \"19070976\": \"object_horse_zelda\", \"19062784\": \"object_oB4\", \"19042304\": \"object_oB3\", \"19021824\": \"object_oB2\", \"19017728\": \"object_oA9\", \"19009536\": \"object_oA8\", \"18960384\": \"object_jj\", \"18952192\": \"object_oA7\", \"18944000\": \"object_oA6\", \"18935808\": \"object_oA5\", \"18927616\": \"object_oA4\", \"18915328\": \"object_oA3\", \"18898944\": \"object_dekubaba\", \"18874368\": \"object_am\", \"18796544\": \"object_gnd\", \"18755584\": \"object_ydan_objects\", \"18731008\": \"object_oE2\", \"18706432\": \"object_oE_anime\", \"18677760\": \"object_oE1\", \"18616320\": \"object_sk2\", \"18608128\": \"object_bombf\", \"18522112\": \"object_mb\", \"18513920\": \"object_spot00_objects\", \"18489344\": \"object_oA2\", \"18436096\": \"object_horse_ganon\", \"18337792\": \"object_hidan_objects\", \"18300928\": \"object_ddan_objects\", \"18292736\": \"object_spot04_objects\", \"18280448\": \"object_o_anime\", \"18251776\": \"object_oB1\", \"18210816\": \"object_horse_normal\", \"18194432\": \"object_ei\", \"18182144\": \"object_bw\", \"18157568\": \"object_st\", \"18137088\": \"object_oA1\", \"18128896\": \"object_tp\", \"18104320\": \"object_bl\", \"18083840\": \"object_torch2\", \"18071552\": \"object_dodojr\", \"18063360\": \"object_bubble\", \"18042880\": \"object_gol\", \"17956864\": \"object_zl1\", \"17825792\": \"object_goma\", \"17731584\": \"object_zf\", \"17674240\": \"object_horse\", \"17473536\": \"object_kingdodongo\", \"17465344\": \"object_peehat\", \"17457152\": \"object_reeba\", \"17440768\": \"object_tite\", \"17428480\": \"object_niw\", \"17408000\": \"object_fire\", \"17367040\": \"object_dodongo\", \"17358848\": \"object_firefly\", \"17235968\": \"object_dy_obj\", \"17190912\": \"object_wallmaster\", \"17166336\": \"object_poh\", \"17149952\": \"object_okuta\", \"17068032\": \"object_human\", \"17043456\": \"object_box\", \"16859136\": \"object_link_child\", \"16629760\": \"object_link_boy\", \"16625664\": \"gameplay_object_exchange_static\", \"16527360\": \"gameplay_dangeon_keep\", \"16470016\": \"gameplay_field_keep\", \"16113664\": \"gameplay_keep\", \"16107728\": \"ovl_Shot_Sun\", \"16103456\": \"ovl_Oceff_Wipe4\", \"16097280\": \"ovl_Oceff_Wipe3\", \"16091072\": \"ovl_Oceff_Wipe2\", \"16087456\": \"ovl_Oceff_Wipe\", \"16080112\": \"ovl_Oceff_Storm\", \"16075904\": \"ovl_Oceff_Spot\", \"16062128\": \"ovl_Object_Kankyo\", \"16058880\": \"ovl_Obj_Warp2block\", \"16054640\": \"ovl_Obj_Tsubo\", \"16051120\": \"ovl_Obj_Timeblock\", \"16047824\": \"ovl_Obj_Syokudai\", \"16039472\": \"ovl_Obj_Switch\", \"16038896\": \"ovl_Obj_Roomtimer\", \"16031136\": \"ovl_Obj_Oshihiki\", \"16029168\": \"ovl_Obj_Mure3\", \"16026464\": \"ovl_Obj_Mure2\", \"16021184\": \"ovl_Obj_Mure\", \"16019760\": \"ovl_Obj_Makeoshihiki\", \"16019088\": \"ovl_Obj_Makekinsuta\", \"16013248\": \"ovl_Obj_Lightswitch\", \"16010480\": \"ovl_Obj_Lift\", \"16008688\": \"ovl_Obj_Kibako2\", \"16005312\": \"ovl_Obj_Kibako\", \"16002688\": \"ovl_Obj_Ice_Poly\", \"16000896\": \"ovl_Obj_Hsblock\", \"16000128\": \"ovl_Obj_Hana\", \"15997872\": \"ovl_Obj_Hamishi\", \"15996704\": \"ovl_Obj_Elevator\", \"15994944\": \"ovl_Obj_Dekujr\", \"15992704\": \"ovl_Obj_Comb\", \"15991312\": \"ovl_Obj_Bombiwa\", \"15990912\": \"ovl_Obj_Blockstop\", \"15980192\": \"ovl_Obj_Bean\", \"15973488\": \"ovl_Mir_Ray\", \"15965472\": \"ovl_Magic_Wind\", \"15956368\": \"ovl_Magic_Fire\", \"15949808\": \"ovl_Magic_Dark\", \"15947072\": \"ovl_Item_Shield\", \"15945040\": \"ovl_Item_Ocarina\", \"15944704\": \"ovl_Item_Inbox\", \"15942160\": \"ovl_Item_Etcetera\", \"15940976\": \"ovl_Item_B_Heart\", \"15857312\": \"ovl_Fishing\", \"15840288\": \"ovl_End_Title\", \"15828672\": \"ovl_En_fHG\", \"15818528\": \"ovl_En_Zo\", \"15799472\": \"ovl_En_Zl4\", \"15765680\": \"ovl_En_Zl3\", \"15746704\": \"ovl_En_Zl2\", \"15730752\": \"ovl_En_Zl1\", \"15703392\": \"ovl_En_Zf\", \"15701712\": \"ovl_En_Yukabyun\", \"15698640\": \"ovl_En_Yabusame_Mark\", \"15671072\": \"ovl_En_Xc\", \"15666368\": \"ovl_En_Wood02\", \"15662112\": \"ovl_En_Wonder_Talk2\", \"15658560\": \"ovl_En_Wonder_Talk\", \"15654544\": \"ovl_En_Wonder_Item\", \"15637216\": \"ovl_En_Wf\", \"15630528\": \"ovl_En_Weiyer\", \"15625808\": \"ovl_En_Weather_Tag\", \"15618896\": \"ovl_En_Wallmas\", \"15617056\": \"ovl_En_Wall_Tubo\", \"15610512\": \"ovl_En_Vm\", \"15597648\": \"ovl_En_Viewer\", \"15592944\": \"ovl_En_Vb_Ball\", \"15592704\": \"ovl_En_Vase\", \"15582464\": \"ovl_En_Vali\", \"15578944\": \"ovl_En_Tubo_Trap\", \"15574192\": \"ovl_En_Trap\", \"15567680\": \"ovl_En_Tr\", \"15559728\": \"ovl_En_Tp\", \"15556544\": \"ovl_En_Toryo\", \"15546384\": \"ovl_En_Torch2\", \"15546144\": \"ovl_En_Torch\", \"15538064\": \"ovl_En_Tk\", \"15526160\": \"ovl_En_Tite\", \"15524336\": \"ovl_En_Tg\", \"15523264\": \"ovl_En_Tana\", \"15520752\": \"ovl_En_Takara_Man\", \"15505712\": \"ovl_En_Ta\", \"15497088\": \"ovl_En_Syateki_Niw\", \"15492864\": \"ovl_En_Syateki_Man\", \"15488320\": \"ovl_En_Syateki_Itm\", \"15473856\": \"ovl_En_Sw\", \"15472304\": \"ovl_En_Stream\", \"15455312\": \"ovl_En_Sth\", \"15443872\": \"ovl_En_St\", \"15434112\": \"ovl_En_Ssh\", \"15433152\": \"ovl_En_Skjneedle\", \"15417808\": \"ovl_En_Skj\", \"15411392\": \"ovl_En_Skb\", \"15407776\": \"ovl_En_Siofuki\", \"15406512\": \"ovl_En_Si\", \"15402560\": \"ovl_En_Shopnuts\", \"15396352\": \"ovl_En_Sda\", \"15395920\": \"ovl_En_Scene_Change\", \"15390672\": \"ovl_En_Sb\", \"15381824\": \"ovl_En_Sa\", \"15369520\": \"ovl_En_Ru2\", \"15338480\": \"ovl_En_Ru1\", \"15328288\": \"ovl_En_Rr\", \"15323792\": \"ovl_En_Rl\", \"15321360\": \"ovl_En_River_Sound\", \"15314096\": \"ovl_En_Reeba\", \"15303648\": \"ovl_En_Rd\", \"15302816\": \"ovl_En_Pu_box\", \"15285552\": \"ovl_En_Poh\", \"15265648\": \"ovl_En_Po_Sisters\", \"15259424\": \"ovl_En_Po_Relay\", \"15244144\": \"ovl_En_Po_Field\", \"15240480\": \"ovl_En_Po_Desert\", \"15226128\": \"ovl_En_Peehat\", \"15220288\": \"ovl_En_Part\", \"15204240\": \"ovl_En_Owl\", \"15174928\": \"ovl_En_Ossan\", \"15165136\": \"ovl_En_Okuta\", \"15158672\": \"ovl_En_Okarina_Tag\", \"15157200\": \"ovl_En_Okarina_Effect\", \"15157008\": \"ovl_En_OE2\", \"15150112\": \"ovl_En_Ny\", \"15147344\": \"ovl_En_Nwc\", \"15145664\": \"ovl_En_Nutsball\", \"15137968\": \"ovl_En_Niw_Lady\", \"15134704\": \"ovl_En_Niw_Girl\", \"15120368\": \"ovl_En_Niw\", \"15101440\": \"ovl_En_Nb\", \"15099024\": \"ovl_En_Mu\", \"15097232\": \"ovl_En_Ms\", \"15093440\": \"ovl_En_Mm2\", \"15087584\": \"ovl_En_Mm\", \"15083888\": \"ovl_En_Mk\", \"15073984\": \"ovl_En_Md\", \"15057088\": \"ovl_En_Mb\", \"15047536\": \"ovl_En_Mag\", \"15043344\": \"ovl_En_Ma3\", \"15038992\": \"ovl_En_Ma2\", \"15034112\": \"ovl_En_Ma1\", \"15028304\": \"ovl_En_M_Thunder\", \"15027888\": \"ovl_En_M_Fire1\", \"15026752\": \"ovl_En_Lightbox\", \"15023024\": \"ovl_En_Light\", \"15017408\": \"ovl_En_Kz\", \"15011856\": \"ovl_En_Kusa\", \"14994976\": \"ovl_En_Ko\", \"14988224\": \"ovl_En_Karebaba\", \"14974992\": \"ovl_En_Kanban\", \"14970256\": \"ovl_En_Kakasi3\", \"14966912\": \"ovl_En_Kakasi2\", \"14963168\": \"ovl_En_Kakasi\", \"14943088\": \"ovl","isInternal":false,"tokens":21353,"sizeBytes":50000},{"name":"README.md","path":"tools/asm-differ/README.md","rawUrl":"https://raw.githubusercontent.com/zeldaret/oot/HEAD/tools/asm-differ/README.md","title":"asm-differ Documentation","category":"plugin-manifest","format":"markdown","content":"# asm-differ\n\nNice differ for assembly code. Currently supports MIPS, PPC, AArch64, ARM32, SH2, SH4, and m68k; should be easy to hack to support other instruction sets.\n\n![](screenshot.png)\n\n## Dependencies\n\n- Python >= 3.6\n- `python3 -m pip install --user colorama watchdog levenshtein cxxfilt` (also `dataclasses` if on 3.6)\n\n## Usage\n\nCreate a file `diff_settings.py` in some directory (see the one in this repo for an example). Then from that directory, run\n\n```bash\n/path/to/diff.py [flags] (function|rom addr)\n```\n\nRecommended flags are `-mwo` (automatically run `make` on source file changes, and include symbols in diff). See `--help` for more details.\n\n### Tab completion\n\n[argcomplete](https://kislyuk.github.io/argcomplete/) can be optionally installed (with `python3 -m pip install argcomplete`) to enable tab completion in a bash shell, completing options and symbol names using the linker map. It also requires a bit more setup:\n\nIf invoking the script **exactly** as `./diff.py`, the following should be added to the `.bashrc` according to argcomplete's instructions:\n\n```bash\neval \"$(register-python-argcomplete ./diff.py)\"\n```\n\nIf that doesn't work, run `register-python-argcomplete ./diff.py` in your terminal and copy the output to `.bashrc`.\n\nIf setup correctly (don't forget to restart the shell), `complete | grep ./diff.py` should output:\n\n```bash\ncomplete -o bashdefault -o default -o nospace -F _python_argcomplete ./diff.py\n```\n\nNote for developers or for general troubleshooting: run `export _ARC_DEBUG=` to enable debug output during tab-completion, it may show otherwise silenced errors. Use `unset _ARC_DEBUG` or restart the terminal to disable.\n\n### Contributing\n\nContributions are very welcome! Some notes on workflow:\n\n`black` is used for code formatting. You can either run `black diff.py` manually, or set up a pre-commit hook:\n```bash\npip install pre-commit black\npre-commit install\n```\n\nType annotations are used for all Python code. `mypy` should pass without any errors.\n\nPRs that skip the above are still welcome, however.\n\nThe targeted Python version is 3.6. There are currently no tests.\n","isInternal":false,"tokens":521,"sizeBytes":2130},{"name":"README.md","path":"tools/assets/descriptor/README.md","rawUrl":"https://raw.githubusercontent.com/zeldaret/oot/HEAD/tools/assets/descriptor/README.md","title":"descriptor Documentation","category":"plugin-manifest","format":"markdown","content":"This package serves as an abstraction layer wrapping assets xml files.\n","isInternal":false,"tokens":12,"sizeBytes":71},{"name":"README.md","path":"tools/audio/README.md","rawUrl":"https://raw.githubusercontent.com/zeldaret/oot/HEAD/tools/audio/README.md","title":"audio Documentation","category":"plugin-manifest","format":"markdown","content":"# Z64 Audio Tools\n\nThe Z64 Audio Tools work together to implement the full audio asset pipeline\n\n![](../../docs/audio/build_flowchart.png)\n\n**Licensing Information**\n* The programs `atblgen`, `sampleconv`, `sbc` and `sfc` are (mostly) distributed under MPL-2.0. The VADPCM encoding and decoding portions of `sampleconv` are under CC0-1.0.\n* The programs `sfpatch` and `afile_sizes` are distributed under CC0-1.0.\n* The extraction tool is distributed under CC0-1.0.\n\n## sampleconv\n\nConverts aifc <-> aiff / wav\n\nUsed in extraction and build to convert audio sample data between uncompressed mono 16-bit PCM and the compressed formats used by the audio driver.\n\n## SampleBank Compiler (sbc)\n\nConverts samplebank xml + aifc -> asm\n\nSamplebanks are converted to assembly files for building as it is easier to define the necessary absolute symbols, and they are pure unstructured data.\n\n## SoundFont Compiler (sfc)\n\nConverts soundfont & samplebank xml + aifc -> C\n\nSoundfonts are converted to C rather than assembly as it shares data structures with the audio driver code. Modifying the structures used by the driver without updating `sfc` to write them should error at compile-time rather than crash at runtime.\n\n## sfpatch\n\n`Usage: sfpatch in.elf out.elf`\n\nThis tool patches the symbol table of an ELF file (`in.elf`) to make every defined symbol in the file an absolute symbol. This is a required step for building soundfonts from C source as all pointers internal to a soundfont are offset from the start of the soundfont file and not the audiobank segment as a whole. Making all defined symbols ABS symbols prevents the linker from updating their values later, ensuring they remain file-relative.\n\n## atblgen\n\nGenerates various audio code tables.\n\n- Samplebank table: Specifies where in the `Audiotable` file each samplebank begins and how large it is.\n- Soundfont table: Specifies where in the `Audiobank` files each soundfont begins, how large it is, which samplebanks it uses, and how many instruments/drums/sfx it contains.\n- Sequence font table: Contains information on what soundfonts each sequence uses. Generated from the sequence object files that embed a `.note.fonts` section that holds this information.\n\nThe sequence table is not generated as some things in that table are better left manually specified, such as sequence enum names and flags. This also lets us have the sequence table before assembling any sequence files which is nice for some sequence commands like `runseq`.\n\n## afile_sizes\n\nProduces header files containing binary file sizes for a given set of object files. Used to produce headers containing soundfont and sequence files and the number of each for use in code files.\n\n## extraction\n\nThis collection of python files implements the extraction of audio data from a base ROM.\n\nFiles that are designed to be used externally include:\n- `audio_extract.py` is the main file for audio extraction, it expects an external script to call `extract_audio_for_version` with the necessary inputs.\n- `disassemble_sequence.py` is runnable but is not used in this way in either extraction or building. It may be used to manually disassemble a sequence binary.\n- `tuning.py` is runnable but is not used that way in either extraction or building. It may be used to manually determine alternative matches for the samplerate and basenote of a sample as the extraction procedure cannot always determine these uniquely.\n\nSee individual python source files for further details on their purposes.\n","isInternal":false,"tokens":758,"sizeBytes":3506},{"name":"README.md","path":"tools/com-plugin/README.md","rawUrl":"https://raw.githubusercontent.com/zeldaret/oot/HEAD/tools/com-plugin/README.md","title":"com-plugin Documentation","category":"plugin-manifest","format":"markdown","content":"# COMMON symbol ordering linker plugin\n\nThis repository contains a plugin for linkers that support the External Linker Plugin API that allows providing a manual specification for COMMON symbol ordering, intended to support matching decompilations that must reproduce an order for COMMON symbols whose names are unknown. Currently only 32-bit Big-Endian MIPS ELF object files are supported.\n\n## How it works\n\nThe plugin expects a symbol order txt file listing the COMMON symbols in order on each line. The plugin searches each input file for the symbol definitions for these and emits a new ELF file containing BSS definitions for each COMMON symbol found with the appropriate size and alignment. This ELF file is then added as an extra input file to the linker, overriding the COMMON definitions in the other input files.\n\n## Usage\n\nAdd `-plugin common-plugin.so -plugin-opt order=bss_order.txt` to the linker invocation, replacing `bss_order.txt` with an alternative path if desired.\n\nAn optional argument `-plugin-opt min_align=N` can specify the minimum alignment for the bss output files. If unset, the minimum alignment is 0: the resulting section alignment is equal to the minimum alignment required by the symbols.\n\nAlso add any bss output files mentioned in the order file to the linker script (e.g. `bss.o` would be added as `*bss.o(.bss*)`) so that the additional input file is not discarded, if required.\n\n### **Symbol order file syntax**\n\n```\n<ofile> {\n    <sym1>;\n    <sym2>;\n    <sym3>;\n    [...]\n}\n[...]\n```\n\nThe order file supports 2 styles of single-line comments (`//` and `#`) and C-style multi-line comments and ignores whitespace.\n\n## Building\n\nRun `make` to build `common-plugin.so`.\n","isInternal":false,"tokens":367,"sizeBytes":1706},{"name":"README.md","path":"tools/fado/lib/vc_vector/README.md","rawUrl":"https://raw.githubusercontent.com/zeldaret/oot/HEAD/tools/fado/lib/vc_vector/README.md","title":"vc_vector Documentation","category":"plugin-manifest","format":"markdown","content":"# vc_vector\nFast simple C vector implementation\n\n[![Build Status: make && make test](https://travis-ci.org/skogorev/vc_vector.svg)](https://travis-ci.org/skogorev/vc_vector)\n\n## Usage\n\n### Basic\n```c\n#include \"vc_vector.h\"\n\nint main() {\n  // Creates an empty vector with the default reserved size\n  // and without custom deleter. Vector will contain 'int'\n  vc_vector* v = vc_vector_create(0, sizeof(int), NULL);\n  if (!v) {\n    return 1;\n  }\n\n  const int count = 10;\n  for (int i = 0; i < count; ++i) {\n    // The function takes a pointer to the elements,\n    // but the vector will make a copy of the element\n    vc_vector_push_back(v, &i);\n  }\n\n  // Print each vector element\n  for (void* i = vc_vector_begin(v);\n             i != vc_vector_end(v);\n             i = vc_vector_next(v, i)) {\n    printf(\"%u; \", *(int*)i);\n  }\n\n  vc_vector_release(v);\n  return 0;\n}\n```\n\n### Advanced\n```c\n#include \"vc_vector.h\"\n\nstruct Item {\n  int val1;\n  int val2;\n};\n\nint main() {\n  const int n = 10;\n\n  // Creates an empty vector with the reserved size for the 'n' elements\n  // and with custom deleter 'free'. Vector will contain pointers to 'Item'\n  vc_vector* v = vc_vector_create(n, sizeof(struct Node*), free);\n  if (!v) {\n    return 1;\n  }\n\n  struct Item* item = NULL;\n  const int count = n + 1;\n  // Vector automatically increases the reserved size when 'n + 1' will be added\n  for (int i = 0; i < count; ++i) {\n    // Creating item\n    item = malloc(sizeof(struct Item));\n    if (!item) {\n      continue;\n    }\n\n    item->val1 = i;\n    item->val2 = 0;\n\n    // Pushing to the end of the vector\n    if (!vc_vector_push_back(v, item)) {\n      // If the item was not pushed, you have to delete it\n      free(item);\n    }\n  }\n\n  // ...\n\n  // Calls custom deleter 'free' for all items\n  // and releases the vector\n  vc_vector_release(v);\n  return 0;\n}\n```\n\n## Projects that use vc_vector\n[kraken.io](https://kraken.io/)\n\n## License\n\n[MIT License](LICENSE.md)\n","isInternal":false,"tokens":564,"sizeBytes":1949},{"name":"README.md","path":"tools/fado/README.md","rawUrl":"https://raw.githubusercontent.com/zeldaret/oot/HEAD/tools/fado/README.md","title":"fado Documentation","category":"plugin-manifest","format":"markdown","content":"# fado\n*Fairy-Assisted (relocations for) Decomplied Overlays*\n<!-- Nice backronym... -->\n\nContains\n- **Fairy** a library for reading relocatable MIPS ELF object files (big-endian, suitable for Nintendo 64 games)\n- **Fado** a program for generating the `.ovl`/relocation section for Zelda64 overlay files\n- **Mido** an automatic dependency file generator\n\nCompatible with both IDO and GCC (although [see below](N_B)). Both ordinary MIPS REL sections and RELA sections are now supported.\n\nOutput format is the standard \"Zelda64\" .ovl section, with the relocs divided by section, as used by\n- *The Legend of Zelda: Ocarina of Time* (all Nintendo 64/Gamecube/iQue releases)\n- *The Legend of Zelda: Majora's Mask* (all Nintendo 64/Gamecube releases)\n\nIn theory it will also work for other Nintendo 64 games that use this system, such as *Yoshi's Story*, but has yet to be tested with these.\n\n\n## Explanation\n\nThe overlay relocation sections used by Zelda64 is described [here](z64_relocation_section_format.md). Fado will produce a `.ovl` section compatible with this format, although as noted there, some compilers need persuasion to produce compatible objects.\n\n\n## How to use\n\nCompile by running `make`.\n\nA standalone invocation of Fado would look something like\n\n```sh\n./fado.elf z_en_hs2.o -n ovl_En_Hs2 -o ovl_En_Hs2_reloc.s\n```\nThis takes as input the compiled object file from the C file (e.g. [this one](https://github.com/zeldaret/oot/blob/eadc477187888e1ae078d021b4a00b1366f0c9a4/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c)), the name of the overlay (`ovl_En_Hs2`) and will output an assembly file `ovl_En_Hs2_reloc.s` containing the relocation section. An example output is included in the repo [here](ovl_En_Hs_reloc.s). Fado will print information from the object file to assist with debugging, by splitting relocs by section, and for each, printing the type, offset, and associated symbol (or section if static):\n\n```mips\n# TEXT RELOCS\n.word 0x45000084 # R_MIPS_HI16 0x000084 .data\n.word 0x4600008C # R_MIPS_LO16 0x00008C .data\n.word 0x450000B4 # R_MIPS_HI16 0x0000B4 .rodata\n.word 0x460000BC # R_MIPS_LO16 0x0000BC .rodata\n.word 0x450000C0 # R_MIPS_HI16 0x0000C0 func_80A6F1A4\n.word 0x460000C4 # R_MIPS_LO16 0x0000C4 func_80A6F1A4\n```\n\nIf invoking in a makefile, you will probably want to generate these from a predefined filelist, and with the appropriate dependencies. [The Ocarina of Time decomp repository](http://github.com/zeldaret/oot) contains an example of how to do this using a supplementary program to parse the `spec` format.\n\nMore information can be obtained by running\n\n```sh\n./fado.elf --help\n```\n\nwhich contains information on the various options, such as automatic dependency file generation, etc.\n\n\n## N.B.\n\n- Fado expects the linker script to output symbols for the section sizes, and for them to be declared separately, in the format\n\n```\n_SEGMENTNAMESegmentSECTIONSize\n```\n\ne.g.\n\n```\n_ovl_En_Hs2SegmentTextSize\n```\n\netc.\n\n- By default Fado expects sections to be 0x10-aligned, as is usual for IDO. Some versions of GCC like to align sections to smaller widths, which Fado will handle appropriately, but the linker script must also address this, and at least the default settings seem unable to size the sections correctly due ot placing `fill`s in the wrong places. For now it is recommended to manually align sections to 0x10 if the compiler does not automatically.\n  - The experimental flag `--alignment`/`-a` can be passed to Fado, and it will use the alignment declared by each section in the elf file instead of padding them to 0x10 bytes, It should be noted this option has not been fully tested because currently we don't have any linker script tool that can properly address the incorrect placing of `fill`s. Fado must be rebuilt passing `EXPERIMENTAL=1` to be able to use this flag.\n\n- To prevent GCC producing non-compliant HI/LOs, you must pass *both* of the following compiler flags: `-mno-explicit-relocs -mno-split-addresses`. See [here](z64_relocation_section_format.md#hilo) for more details.\n\n- It is recommended, though not strictly required, that `-fno-merge-constants` is used for GCC, to avoid unpredictable section sizes, and comply with the Zelda64 relocation format's expectation of at most one rodata section. See [here](z64_relocation_section_format.md#rodata) for more details.\n","isInternal":false,"tokens":1163,"sizeBytes":4337},{"name":".cursorrules","path":".cursorrules (java-springboot-jpa-cursorrules-prompt-file.mdc)","rawUrl":"https://raw.githubusercontent.com/PatrickJS/awesome-cursorrules/main/rules/java-springboot-jpa-cursorrules-prompt-file.mdc","title":"Awesome Cursorrules: java springboot jpa","category":"cursor-rule","format":"markdown","content":"---\ndescription: \"Cursor rules for Java development with Springboot and JPA integration.\"\nglobs: **/*\nalwaysApply: false\n---\n## Instruction to developer: save this file as .cursorrules and place it on the root project directory\n\nAI Persona：\n\nYou are an experienced Senior Java Developer, You always adhere to SOLID principles, DRY principles, KISS principles and YAGNI principles. You always follow OWASP best practices. You always break task down to smallest units and approach to solve any task in step by step manner.\n\nTechnology stack：\n\nFramework: Java Spring Boot 3 Maven with Java 17 Dependencies: Spring Web, Spring Data JPA, Thymeleaf, Lombok, PostgreSQL driver\n\nApplication Logic Design：\n\n1. All request and response handling must be done only in RestController.\n2. All database operation logic must be done in ServiceImpl classes, which must use methods provided by Repositories.\n3. RestControllers cannot autowire Repositories directly unless absolutely beneficial to do so.\n4. ServiceImpl classes cannot query the database directly and must use Repositories methods, unless absolutely necessary.\n5. Data carrying between RestControllers and serviceImpl classes, and vice versa, must be done only using DTOs.\n6. Entity classes must be used only to carry data out of database query executions.\n\nEntities\n\n1. Must annotate entity classes with @Entity.\n2. Must annotate entity classes with @Data (from Lombok), unless specified in a prompt otherwise.\n3. Must annotate entity ID with @Id and @GeneratedValue(strategy=GenerationType.IDENTITY).\n4. Must use FetchType.LAZY for relationships, unless specified in a prompt otherwise.\n5. Annotate entity properties properly according to best practices, e.g., @Size, @NotEmpty, @Email, etc.\n\nRepository (DAO):\n\n1. Must annotate repository classes with @Repository.\n2. Repository classes must be of type interface.\n3. Must extend JpaRepository with the entity and entity ID as parameters, unless specified in a prompt otherwise.\n4. Must use JPQL for all @Query type methods, unless specified in a prompt otherwise.\n5. Must use @EntityGraph(attributePaths={\"relatedEntity\"}) in relationship queries to avoid the N+1 problem.\n6. Must use a DTO as The data container for multi-join queries with @Query.\n\nService：\n\n1. Service classes must be of type interface.\n2. All service class method implementations must be in ServiceImpl classes that implement the service class,\n3. All ServiceImpl classes must be annotated with @Service.\n4. All dependencies in ServiceImpl classes must be @Autowired without a constructor, unless specified otherwise.\n5. Return objects of ServiceImpl methods should be DTOs, not entity classes, unless absolutely necessary.\n6. For any logic requiring checking the existence of a record, use the corresponding repository method with an appropriate .orElseThrow lambda method.\n7. For any multiple sequential database executions, must use @Transactional or transactionTemplate, whichever is appropriate.\n\nData Transfer object (DTo)：\n\n1. Must be of type record, unless specified in a prompt otherwise.\n2. Must specify a compact canonical constructor to validate input parameter data (not null, blank, etc., as appropriate).\n\nRestController:\n\n1. Must annotate controller classes with @RestController.\n2. Must specify class-level API routes with @RequestMapping, e.g. (\"/api/user\").\n3. Use @GetMapping for fetching, @PostMapping for creating, @PutMapping for updating, and @DeleteMapping for deleting. Keep paths resource-based (e.g., '/users/{id}'), avoiding verbs like '/create', '/update', '/delete', '/get', or '/edit'\n4. All dependencies in class methods must be @Autowired without a constructor, unless specified otherwise.\n5. Methods return objects must be of type Response Entity of type ApiResponse.\n6. All class method logic must be implemented in a try..catch block(s).\n7. Caught errors in catch blocks must be handled by the Custom GlobalExceptionHandler class.\n\nApiResponse Class (/ApiResponse.java):\n\n@Data\n@NoArgsConstructor\n@AllArgsConstructor\npublic class ApiResponse<T> {\n  private String result;    // SUCCESS or ERROR\n  private String message;   // success or error message\n  private T data;           // return object from service class, if successful\n}\n\nGlobalExceptionHandler Class (/GlobalExceptionHandler.java)\n\n@RestControllerAdvice\npublic class GlobalExceptionHandler {\n\n    public static ResponseEntity<ApiResponse<?>> errorResponseEntity(String message, HttpStatus status) {\n      ApiResponse<?> response = new ApiResponse<>(\"error\", message, null)\n      return new ResponseEntity<>(response, status);\n    }\n\n    @ExceptionHandler(IllegalArgumentException.class)\n    public ResponseEntity<ApiResponse<?>> handleIllegalArgumentException(IllegalArgumentException ex) {\n        return new ResponseEntity<>(ApiResponse.error(400, ex.getMessage()), HttpStatus.BAD_REQUEST);\n    }\n}\n","tokens":963,"sizeBytes":4880}],"systemPromptSnippet":"<yakaai_skills repo=\"zeldaret/oot\">\n<!-- File: tools/asm-differ/.pre-commit-config.yaml (Tokens: ~38 | Category: anthropic-skill) -->\nrepos:\n-   repo: https://github.com/psf/black-pre-commit-mirror\n    rev: 23.12.1\n    hooks:\n    - id: black\n\n<!-- File: tools/assets/descriptor/spec.md (Tokens: ~2188 | Category: anthropic-skill) -->\nThis document describes the expected structure of xml files describing assets.\n\n# Top elements\n\n## `Root`\n\n```xml\n<Root>\n    ...\n</Root>\n```\n\nThis is the root element in the file, containing exclusively `<File>` and `<ExternalFile>` elements as direct children.\n\n## `File`\n\n```xml\n<File Name=\"baserom_file\" Segment=\"11\">\n    ...\n</File>\n```\n\nA `<File>` contains resources elements as children.\n\n- Required attributes: `Name`\n- Optional attributes: `Segment`\n\n`Name` is the name of the baserom file from which the data is to be extracted.\n\n`Segment` (decimal) is the segment number for the file.\n\n## `ExternalFile`\n\n```xml\n<ExternalFile OutPath=\"assets/name\"/>\n```\n\nDeclare the `<File>`s in the xml may reference symbols from an external file.\n\nThe external file is located by matching its name against the list of assets in the version's `config.yml`.\n\nFor example, `baseroms/gc-eu/config.yml` contains\n\n```yml\nassets:\n- name: objects/gameplay_keep\n  xml_path: assets/xml/objects/gameplay_keep.xml\n```\n\nthen `<ExternalFile OutPath=\"assets/objects/gameplay_keep/\"/>` refers to that gameplay_keep entry, which uses the `gameplay_keep.xml` xml file when extracting assets for version gc-eu.\n\n\n# Resource elements\n\nResource elements describe resources. Resources are pieces of data corresponding to a symbol each.\n\nOne attribute is required on all resource elements: `Name`.\n\n- `Name` is the name of the symbol associated to the resource.\n\nAnother attribute, optional, is common to all resource elements: `Offset`.\n\nIf `Offset` is set to a (hexadecimal) number such as `Offset=\"0x421\"`, it specifies the location of the resource in bytes from the start of the file data.\n\nIf `Offset` is not set, the resource is assumed to start where the previous resource ended, or at 0 if the resource is the first in the `<File>`.\n\n`Offset` can also be set to be a relative offset like `Offset=\".+0x421\"`, which makes the resource location be that many bytes after the end of the previous resource.\n\n## `Blob`\n\n```xml\n<Blob Name=\"gNameBlob\" Size=\"0x421\" Offset=\"0x1230\">\n```\n\nUnstructured binary data.\n\n- Required attributes: `Size`\n\n`Size` is the size of the binary blob in bytes.\n\n## `DList`\n\n```xml\n<DList Name=\"gNameDL\" Offset=\"0x1230\" Length=\"123\" Ucode=\"f3dex2\" RawPointers=\"0x08000000,0x09000000\"/>\n```\n\nA display list.\n\n- Optional attributes: `Length`, `Ucode`, `RawPointers`\n\n`Length` can be set to indicate the length (amount of `Gfx` double-words) of the dlist. If not set, the dlist length is automatic.\n\n`Ucode` (defaults to `f3dex2`) picks the graphics microcode for which to disassemble the dlist. It may be `f3dex` or `f3dex2`.\n\n`RawPointers` (defaults to an empty value) is a comma-separated list of values the display list uses as raw pointers (\"hex\" instead of a symbol). The purpose of this attribute is to silence extraction warnings.\n\n## `Mtx`\n\n```xml\n<Mtx Name=\"gNameMtx\" Offset=\"0x1230\"/>\n```\n\nA fixed-point matrix.\n\n## `Texture`\n\n```xml\n<Texture Name=\"gNameTex\" Format=\"rgba16\" Width=\"16\" Height=\"16\" Offset=\"0x1230\"/>\n<Texture Name=\"gNameTex\" Format=\"ci8\" Width=\"16\" Height=\"16\" Offset=\"0x1230\" Tlut=\"gNameTLUT\"/>\n<Texture Name=\"gNameTex\" Format=\"ci8\" Width=\"16\" Height=\"16\" Offset=\"0x1230\" TlutOffset=\"0x2340\"/>\n<Texture Name=\"gNameTex\" Format=\"ci8\" Width=\"16\" Height=\"16\" Offset=\"0x1230\" ExternalTlut=\"baserom_file\" ExternalTlutOffset=\"0x2340\"/>\n```\n\nA texture, an image in one of the native N64 formats.\n\n- Required attributes for all formats: `Format`, `Width`, `Height`\n- Required attributes for CI formats (`ci4`, `ci8`): `Tlut`, or `TlutOffset`, or `ExternalTlut` and `ExternalTlutOffset`\n\n`Format` is the format of the texture, one of `rgba32`, `rgba16`, `i4`, `i8`, `ia4`, `ia8`, `ia16`, `ci4` or `ci8`.\n\n`Width` and `Height` specify the dimensions of the texture.\n\nFor CI formats, the TLUT (Texture Look Up Table, or palette) must be specified with either `Tlut` or `TlutOffset` if the TLUT is in the same file as the texture, or both of `ExternalTlut` and `ExternalTlutOffset` if the TLUT is in a different file. `ExternalTlut` is the name of the baserom file where the TLUT is. In both cases, the TLUT must also be declared as a resource.\n\n## `Array`\n\n```xml\n<Array Name=\"gNameVtx\" Count=\"42\" Offset=\"0x1230\">\n    <Vtx/>\n</Array>\n<Array Name=\"gNameVec3sArray\" Count=\"42\" Offset=\"0x1230\">\n    <Vector Type=\"s16\" Dimensions=\"3\"/>\n</Array>\n<Array Name=\"gNameS16Array\" Count=\"42\" Offset=\"0x1230\">\n    <Scalar Type=\"s16\"/>\n</Array>\n```\n\nAn array of vertices, vectors or scalars. The child element determines the array's element type.\n\n- Required attributes: `Count`\n\n`Count` is the length of the array.\n\nThe child element may be one of `<Vtx/>` (for `Vtx[]`), `<Vector Type=\"s16\" Dimensions=\"3\"/>` (for `Vec3s[]`) or `<Scalar Type=\"s16\">` (for `s16[]`).\n\n## `Scene`\n\n```xml\n<Scene Name=\"name\" Offset=\"0x1230\"/>\n```\n\nScene commands.\n\n## `Room`\n\n```xml\n<Room Name=\"name\" Offset=\"0x1230\"/>\n```\n\nRoom commands.\n\n## `Collision`\n\n```xml\n<Collision Name=\"gNameCol\" Offset=\"0x1230\"/>\n```\n\nCollision header.\n\n## `Cutscene`\n\n```xml\n<Cutscene Name=\"gNameCs\" Offset=\"0x1230\"/>\n```\n\nCutscene script.\n\n## `Path`\n\n```xml\n<Path Name=\"gNamePathList\" Offset=\"0x1230\" NumPaths=\"12\"/>\n```\n\nPath list.\n\n- Required attributes: `NumPaths`\n\n`NumPaths` is the length of the path list.\n\n## `Skeleton`\n\n```xml\n<Skeleton Name=\"gNameSkel\" Type=\"Normal\" LimbType=\"Standard\" LimbNone=\"NAME_LIMB_NONE\" LimbMax=\"NAME_LIMB_MAX\" EnumName=\"NameLimb\" Offset=\"0x1230\"/>\n```\n\nSkeleton header.\n\n- Required attributes: `Type`, `LimbType`\n- Optional attributes: `LimbNone`, `LimbMax`, `EnumName`\n\n`Type` is the type of the skeleton, one of `Normal`, `Flex` or `Curve`.\n\n`LimbType` is the type of limb used in the skeleton, one of `Standard`, `LOD`, `Skin`, `Curve` or `Legacy`.\n\nNot all skeleton types are compatible with all limb types:\n\n`LimbType` | Compatible skeleton `Type`\n-----------|---------------------------\n`Standard` | `Normal`, `Flex`\n`LOD`      | `Normal`, `Flex`\n`Skin`     | `Normal`\n`Curve`    | `Curve`\n`Legacy`   | none\n\n`LimbNone`, `LimbMax`, `EnumName` can be set to override the corresponding names in the generated limb enum:\n\n```c\ntypedef enum NameLimb {\n    NAME_LIMB_NONE,\n    ...\n    NAME_LIMB_MAX\n} NameLimb;\n```\n\n## `LimbTable`\n\n```xml\n<LimbTable Name=\"gNameLimbs\" LimbType=\"Standard\" Count=\"12\" Offset=\"0x1230\"/>\n```\n\nLimb table.\n\n- Required attributes: `LimbType`, `Count`\n\n`LimbType` is one of `Standard`, `LOD`, `Skin`, `Curve` or `Legacy`.\n\n`Count` is the amount of limbs.\n\n## `Limb`\n\n```xml\n<Limb Name=\"gNameLimb\" LimbType=\"Standard\" EnumName=\"NAME_LIMB_NAME\" Offset=\"0x1230\"/>\n```\n\nLimb of a skeleton.\n\n- Required attributes: `LimbType`\n- Optional attributes: `EnumName`\n\n`LimbType` is one of `Standard`, `LOD`, `Skin`, `Curve` or `Legacy`.\n\n`EnumName` can be set to override the limb name in the generated limb enum.\n\n## `Animation`\n\n```xml\n<Animation Name=\"gNameAnim\" Offset=\"0x1230\"/>\n```\n\nAnimation header.\n\n## `CurveAnimation`\n\n```xml\n<CurveAnimation Name=\"gNameAnim\" SkelOffset=\"0x120\" Offset=\"0x1230\"/>\n```\n\nCurve animation header.\n\n- Required attributes: `SkelOffset`\n\n`SkelOffset` is the offset of the skeleton which uses this animation. The skeleton must also be declared as a resource.\n\n## `LegacyAnimation`\n\n```xml\n<LegacyAnimation Name=\"gNameAnim\" Offset=\"0x1230\"/>\n```\n\nLegacy animation header.\n\n## `PlayerAnimation`\n\n```xml\n<PlayerAnimation Name=\"gNamePlayerAnim\" Offset=\"0x1230\"/>\n```\n\nPlayer animation header.\n\n## `PlayerAnimationData`\n\n```xml\n<PlayerAnimationData Name=\"gNamePlayerAnimData\" FrameCount=\"20\" Offset=\"0x1230\"/>\n```\n\nPlayer animation data.\n\n- Required attributes: `FrameCount`\n\n`FrameCount` is the amount of frames in the animation.\n\n<!-- File: tools/fado/lib/vc_vector/LICENSE.md (Tokens: ~227 | Category: anthropic-skill) -->\n#The MIT License (MIT)\n\n*Copyright (c) 2016 Skogorev Anton*\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n<!-- File: tools/fado/z64_relocation_section_format.md (Tokens: ~1118 | Category: anthropic-skill) -->\n# Zelda 64 overlay relocation section format\n\nBoth Zelda 64 titles use the same custom dynamic overlay relocation format, which is \n\n\nAll elements are 4 bytes in width.\n\n| Offset  | Description                                 | Notes                                                         |\n| ------- | ------------------------------------------- | ------------------------------------------------------------- |\n| 0x00    | Size of overlay .text section               |                                                               |\n| 0x04    | Size of overlay .data section               |                                                               |\n| 0x08    | Size of overlay .rodata section             |                                                               |\n| 0x0C    | Size of overlay .bss section                |                                                               |\n| 0x10    | Number of relocation entries                |                                                               |\n| 0x14-   | Relocation entries                          | Must be sorted in increasing order by section, then offset    |\n| ...     |                                             |                                                               |\n|         | (zero padding of section to 0x10 alignment) |                                                               |\n| End - 4 | Size of overlay .ovl section                | Also the offset from the end of the rest of the section sizes |\n\n\n## Relocation entries\n\nThe only element that is not a single number are the relocation entries, which are bitpacked as follows:\n\n| 0x1F..0x1E | 0x1D..0x18 | 0x17..0x0                     |\n| ---------- | ---------- | ----------------------------- |\n| ss         | tttttt     | oooo oooo oooo oooo oooo oooo |\n| Section    | Type       | Offset                        |\n\n\n### Section \n\n2 bits. Section where the instruction or data to be relocated is.\n\n| Value | Section |\n| ----- | ------- |\n| 1     | .text   |\n| 2     | .data   |\n| 3     | .rodata |\n\n\n### Type\n\n6 bits. Four types of standard MIPS relocation are supported. They use the same values as the standard elf formats:\n\n| Value | Type          | Description                                                                       |\n| ----- | ------------- | --------------------------------------------------------------------------------- |\n| 2     | `R_MIPS_32`   | A full word address (such as a pointer in data or an address in a jumptable)      |\n| 4     | `R_MIPS_26`   | 26-bit direct relocation, for a J-type instruction                                |\n| 5     | `R_MIPS_HI16` | High 16-bit, generally the top half of an address in an `li`/`lui`                |\n| 6     | `R_MIPS_LO16` | Low 16-bit, the bottom half of an address, such as in an `addiu`,`ori`,`lh`, etc. |\n\n\n### Offset\n\n0x18 bits. Offset in bytes from the start of the section where the relocation occurs.\n\n\n### Example\n\n```\n0x82000A30 = 0b1000 0010 0000 0000 0000 1010 0011 0000\n```\n\nThis splits as\n\n```\n0b10, 0b000010, 0b0000 0000 0000 1010 0011 0000 = 0x2, 0x2, 0xA30\n```\n\ni.e. a full-word (`R_MIPS_32`) relocation at `.data + 0xA30`.\n\n\n## Compiler compatibility\n\n### HI/LO\n\nThe MIPS ELF format standard specifies that each LO be preceded by a unique HI associated to it (but multiple LOs may associate to the same HI), and the overlay relocation function acts based on this assumption.\n\nIDO complies with this consistently, but GCC in its wisdom decided that it was appropriate to violate this by default, and allow multiple HIs to associate to the same LO. GCC also likes to reorder relocations in the `.rel.*` sections.\n\nTo prevent these you must pass *both* of the following compiler flags:\n\n```\n-mno-explicit-relocs -mno-split-addresses\n```\n\n(GNU do not document this behaviour themselves, although apparently it has been present for many years. It is also not even consistent between versions.)\n\n### rodata\n\nIt should be clear from the description above that this system expects a single rodata section. Again, IDO will only ever produce one rodata section, but GCC will produce several, albeit only one containing relocatable rodata: the others are for \"mergeable\" strings and floats/doubles. The cleanest way to deal with this is to pass \n\n```\n-fno-merge-constants\n```\n\nwhich will force GCC to generate a single combined rodata section. If, however, you really think you will benefit from merging constants, to obtain relocations correctly offset from the start of the entire rodata section(s), the actual `.rodata` section must be explicitly linked first.\n\nFor multi-file overlays, the situation is even more complicated, and Fado gets around this by adding up the sizes of all the rodata sections so that we may simply place one files' in one chunk: this means that each individual `.rodata` section should be linked before the others, i.e.\n\n```\n.text(1)\n.text(2)\n.data(1)\n.data(2)\n.rodata(1)\n.rodata.cst4(1)\n...\n.rodata(2)\n.rodata.cst4(2)\n```\n\nor similar.\n\n<!-- File: tools/ido5.3_compiler/LICENSE.md (Tokens: ~429 | Category: anthropic-skill) -->\n# Silicon Graphics Freeware Legal Notice\n## Copyright 1995, Silicon Graphics, Inc. -- ALL RIGHTS RESERVED\n\nYou may copy, modify, use and distribute this software, (i) provided that you include the entirety of this reservation of rights notice in all such copies, and (ii) you comply with any additional or different obligations and/or use restrictions specified by any third party owner or supplier of the software in other notices that may be included with the software.\n\n**SGI DISCLAIMS ALL WARRANTIES WITH RESPECT TO THIS SOFTWARE, EXPRESS, IMPLIED, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ALL WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. SGI SHALL NOT BE LIABLE FOR ANY SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST REVENUES, LOST PROFITS, OR LOSS OF PROSPECTIVE ECONOMIC ADVANTAGE, RESULTING FROM THE USE OR MISUSE OF THIS SOFTWARE.**\n\n**U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:**\n\nUse, duplication or disclosure by the Government is subject to restrictions as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or in similar or successor clauses in the FAR, or the DOD or NASA FAR Supplement. Unpublished - rights reserved under the Copyright Laws of United States. Contractor/manufacturer is Silicon Graphics, Inc., 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311.\n\n## Product Support\n\nFreeware products are not supported by Silicon Graphics or any of its support providers. The software contained in this package is made available through the generous efforts of their authors. Although they are interested in your feedback, they are under no obligation to address bugs, enhancements, or answer questions. \n\n----\n\n**NOTE:** This license was copied verbatim from https://web.archive.org/web/19991008090202/http://toolbox.sgi.com/TasteOfDT/public/freeware1.0/legal_notice.html .\n\n<!-- File: tools/overlayhelpers/filetable.json (Tokens: ~21353 | Category: anthropic-skill) -->\n{\"va\": {\"12248064\": null, \"12246208\": \"ovl_Shot_Sun\", \"12241936\": \"ovl_Oceff_Wipe4\", \"12235760\": \"ovl_Oceff_Wipe3\", \"12229552\": \"ovl_Oceff_Wipe2\", \"12225936\": \"ovl_Oceff_Wipe\", \"12218592\": \"ovl_Oceff_Storm\", \"12214384\": \"ovl_Oceff_Spot\", \"12200608\": \"ovl_Object_Kankyo\", \"12197360\": \"ovl_Obj_Warp2block\", \"12193120\": \"ovl_Obj_Tsubo\", \"12189600\": \"ovl_Obj_Timeblock\", \"12186288\": \"ovl_Obj_Syokudai\", \"12177936\": \"ovl_Obj_Switch\", \"12177360\": \"ovl_Obj_Roomtimer\", \"12169600\": \"ovl_Obj_Oshihiki\", \"12167632\": \"ovl_Obj_Mure3\", \"12164928\": \"ovl_Obj_Mure2\", \"12159648\": \"ovl_Obj_Mure\", \"12158224\": \"ovl_Obj_Makeoshihiki\", \"12157552\": \"ovl_Obj_Makekinsuta\", \"12151712\": \"ovl_Obj_Lightswitch\", \"12148944\": \"ovl_Obj_Lift\", \"12147152\": \"ovl_Obj_Kibako2\", \"12143776\": \"ovl_Obj_Kibako\", \"12141152\": \"ovl_Obj_Ice_Poly\", \"12139360\": \"ovl_Obj_Hsblock\", \"12138592\": \"ovl_Obj_Hana\", \"12136336\": \"ovl_Obj_Hamishi\", \"12135168\": \"ovl_Obj_Elevator\", \"12133408\": \"ovl_Obj_Dekujr\", \"12131168\": \"ovl_Obj_Comb\", \"12129776\": \"ovl_Obj_Bombiwa\", \"12129376\": \"ovl_Obj_Blockstop\", \"12118656\": \"ovl_Obj_Bean\", \"12111952\": \"ovl_Mir_Ray\", \"12103936\": \"ovl_Magic_Wind\", \"12094832\": \"ovl_Magic_Fire\", \"12088272\": \"ovl_Magic_Dark\", \"12085536\": \"ovl_Item_Shield\", \"12083504\": \"ovl_Item_Ocarina\", \"12083168\": \"ovl_Item_Inbox\", \"12080624\": \"ovl_Item_Etcetera\", \"12079440\": \"ovl_Item_B_Heart\", \"11966880\": \"ovl_Fishing\", \"11949856\": \"ovl_End_Title\", \"11938240\": \"ovl_En_fHG\", \"11928096\": \"ovl_En_Zo\", \"11909040\": \"ovl_En_Zl4\", \"11875248\": \"ovl_En_Zl3\", \"11856272\": \"ovl_En_Zl2\", \"11840320\": \"ovl_En_Zl1\", \"11812944\": \"ovl_En_Zf\", \"11811264\": \"ovl_En_Yukabyun\", \"11808192\": \"ovl_En_Yabusame_Mark\", \"11780576\": \"ovl_En_Xc\", \"11775856\": \"ovl_En_Wood02\", \"11771600\": \"ovl_En_Wonder_Talk2\", \"11768048\": \"ovl_En_Wonder_Talk\", \"11763808\": \"ovl_En_Wonder_Item\", \"11746480\": \"ovl_En_Wf\", \"11739792\": \"ovl_En_Weiyer\", \"11735072\": \"ovl_En_Weather_Tag\", \"11728160\": \"ovl_En_Wallmas\", \"11726320\": \"ovl_En_Wall_Tubo\", \"11719776\": \"ovl_En_Vm\", \"11706880\": \"ovl_En_Viewer\", \"11702176\": \"ovl_En_Vb_Ball\", \"11701936\": \"ovl_En_Vase\", \"11691696\": \"ovl_En_Vali\", \"11688176\": \"ovl_En_Tubo_Trap\", \"11683424\": \"ovl_En_Trap\", \"11676912\": \"ovl_En_Tr\", \"11668960\": \"ovl_En_Tp\", \"11665776\": \"ovl_En_Toryo\", \"11655552\": \"ovl_En_Torch2\", \"11655312\": \"ovl_En_Torch\", \"11647232\": \"ovl_En_Tk\", \"11635328\": \"ovl_En_Tite\", \"11633504\": \"ovl_En_Tg\", \"11632432\": \"ovl_En_Tana\", \"11629920\": \"ovl_En_Takara_Man\", \"11614880\": \"ovl_En_Ta\", \"11606256\": \"ovl_En_Syateki_Niw\", \"11602032\": \"ovl_En_Syateki_Man\", \"11597488\": \"ovl_En_Syateki_Itm\", \"11582896\": \"ovl_En_Sw\", \"11581344\": \"ovl_En_Stream\", \"11564352\": \"ovl_En_Sth\", \"11552912\": \"ovl_En_St\", \"11543152\": \"ovl_En_Ssh\", \"11542192\": \"ovl_En_Skjneedle\", \"11526832\": \"ovl_En_Skj\", \"11520416\": \"ovl_En_Skb\", \"11516800\": \"ovl_En_Siofuki\", \"11515536\": \"ovl_En_Si\", \"11511584\": \"ovl_En_Shopnuts\", \"11505184\": \"ovl_En_Sda\", \"11504752\": \"ovl_En_Scene_Change\", \"11499504\": \"ovl_En_Sb\", \"11490656\": \"ovl_En_Sa\", \"11478352\": \"ovl_En_Ru2\", \"11447312\": \"ovl_En_Ru1\", \"11437120\": \"ovl_En_Rr\", \"11432624\": \"ovl_En_Rl\", \"11430192\": \"ovl_En_River_Sound\", \"11422928\": \"ovl_En_Reeba\", \"11412480\": \"ovl_En_Rd\", \"11411648\": \"ovl_En_Pu_box\", \"11394384\": \"ovl_En_Poh\", \"11374480\": \"ovl_En_Po_Sisters\", \"11368256\": \"ovl_En_Po_Relay\", \"11352832\": \"ovl_En_Po_Field\", \"11349168\": \"ovl_En_Po_Desert\", \"11334816\": \"ovl_En_Peehat\", \"11328976\": \"ovl_En_Part\", \"11312928\": \"ovl_En_Owl\", \"11283616\": \"ovl_En_Ossan\", \"11273824\": \"ovl_En_Okuta\", \"11267360\": \"ovl_En_Okarina_Tag\", \"11265888\": \"ovl_En_Okarina_Effect\", \"11265696\": \"ovl_En_OE2\", \"11258800\": \"ovl_En_Ny\", \"11256032\": \"ovl_En_Nwc\", \"11254352\": \"ovl_En_Nutsball\", \"11246656\": \"ovl_En_Niw_Lady\", \"11243392\": \"ovl_En_Niw_Girl\", \"11229056\": \"ovl_En_Niw\", \"11210128\": \"ovl_En_Nb\", \"11207712\": \"ovl_En_Mu\", \"11205920\": \"ovl_En_Ms\", \"11202128\": \"ovl_En_Mm2\", \"11196272\": \"ovl_En_Mm\", \"11192576\": \"ovl_En_Mk\", \"11182672\": \"ovl_En_Md\", \"11165776\": \"ovl_En_Mb\", \"11156224\": \"ovl_En_Mag\", \"11152032\": \"ovl_En_Ma3\", \"11147680\": \"ovl_En_Ma2\", \"11142800\": \"ovl_En_Ma1\", \"11136992\": \"ovl_En_M_Thunder\", \"11136576\": \"ovl_En_M_Fire1\", \"11135440\": \"ovl_En_Lightbox\", \"11131712\": \"ovl_En_Light\", \"11126096\": \"ovl_En_Kz\", \"11120544\": \"ovl_En_Kusa\", \"11103664\": \"ovl_En_Ko\", \"11096912\": \"ovl_En_Karebaba\", \"11083680\": \"ovl_En_Kanban\", \"11078944\": \"ovl_En_Kakasi3\", \"11075600\": \"ovl_En_Kakasi2\", \"11071856\": \"ovl_En_Kakasi\", \"11048864\": \"ovl_En_Jsjutan\", \"11046416\": \"ovl_En_Js\", \"11040768\": \"ovl_En_Jj\", \"11040384\": \"ovl_En_It\", \"11002976\": \"ovl_En_Ishi\", \"10993184\": \"ovl_En_Insect\", \"10981296\": \"ovl_En_In\", \"10961680\": \"ovl_En_Ik\", \"10956784\": \"ovl_En_Ice_Hono\", \"10941872\": \"ovl_En_Hy\", \"10940320\": \"ovl_En_Hs2\", \"10937248\": \"ovl_En_Hs\", \"10934480\": \"ovl_En_Horse_Zelda\", \"10924624\": \"ovl_En_Horse_Normal\", \"10916816\": \"ovl_En_Horse_Link_Child\", \"10913376\": \"ovl_En_Horse_Ganon\", \"10909008\": \"ovl_En_Horse_Game_Check\", \"10859248\": \"ovl_En_Horse\", \"10853424\": \"ovl_En_Honotrap\", \"10849296\": \"ovl_En_Holl\", \"10842624\": \"ovl_En_Hintnuts\", \"10838224\": \"ovl_En_Heishi4\", \"10835520\": \"ovl_En_Heishi3\", \"10825376\": \"ovl_En_Heishi2\", \"10818256\": \"ovl_En_Heishi1\", \"10816848\": \"ovl_En_Hata\", \"10813984\": \"ovl_En_Guest\", \"10806048\": \"ovl_En_Gs\", \"10796192\": \"ovl_En_Goroiwa\", \"10784448\": \"ovl_En_Goma\", \"10759472\": \"ovl_En_Go2\", \"10741104\": \"ovl_En_Go\", \"10737376\": \"ovl_En_Gm\", \"10725200\": \"ovl_En_GirlA\", \"10703632\": \"ovl_En_GeldB\", \"10700320\": \"ovl_En_Ge3\", \"10693584\": \"ovl_En_Ge2\", \"10684784\": \"ovl_En_Ge1\", \"10678656\": \"ovl_En_Gb\", \"10649600\": \"ovl_En_Ganon_Organ\", \"10632544\": \"ovl_En_Ganon_Mant\", \"10624704\": \"ovl_En_G_Switch\", \"10616256\": \"ovl_En_Fz\", \"10610080\": \"ovl_En_Fw\", \"10606608\": \"ovl_En_Fu\", \"10594720\": \"ovl_En_Fr\", \"10581264\": \"ovl_En_Floormas\", \"10572416\": \"ovl_En_Fish\", \"10563696\": \"ovl_En_Firefly\", \"10558496\": \"ovl_En_Fire_Rock\", \"10547808\": \"ovl_En_Fhg_Fire\", \"10544304\": \"ovl_En_Fd_Fire\", \"10532544\": \"ovl_En_Fd\", \"10527760\": \"ovl_En_Ex_Ruppy\", \"10522272\": \"ovl_En_Ex_Item\", \"10516880\": \"ovl_En_Encount2\", \"10512160\": \"ovl_En_Encount1\", \"10492976\": \"ovl_En_Elf\", \"10485664\": \"ovl_En_Eiyer\", \"10485136\": \"ovl_En_Eg\", \"10483440\": \"ovl_En_Dy_Extra\", \"10476592\": \"ovl_En_Du\", \"10473520\": \"ovl_En_Ds\", \"10469840\": \"ovl_En_Door\", \"10465232\": \"ovl_En_Dog\", \"10453584\": \"ovl_En_Dodongo\", \"10445760\": \"ovl_En_Dodojr\", \"10433216\": \"ovl_En_Dnt_Nomal\", \"10427104\": \"ovl_En_Dnt_Jiji\", \"10422496\": \"ovl_En_Dnt_Demo\", \"10416976\": \"ovl_En_Dns\", \"10410096\": \"ovl_En_Diving_Game\", \"10406016\": \"ovl_En_Dha\", \"10399040\": \"ovl_En_Dh\", \"10392928\": \"ovl_En_Dekunuts\", \"10377168\": \"ovl_En_Dekubaba\", \"10371872\": \"ovl_En_Daiku_Kakariko\", \"10365744\": \"ovl_En_Daiku\", \"10361008\": \"ovl_En_Cs\", \"10355264\": \"ovl_En_Crow\", \"10350080\": \"ovl_En_Cow\", \"10302896\": \"ovl_En_Clear_Tag\", \"10299024\": \"ovl_En_Changer\", \"10296032\": \"ovl_En_Bx\", \"10282720\": \"ovl_En_Bw\", \"10276976\": \"ovl_En_Butte\", \"10271744\": \"ovl_En_Bubble\", \"10267408\": \"ovl_En_Brob\", \"10259904\": \"ovl_En_Box\", \"10257536\": \"ovl_En_Boom\", \"10252128\": \"ovl_En_Bombf\", \"10246192\": \"ovl_En_Bom_Chu\", \"10243648\": \"ovl_En_Bom_Bowl_Pit\", \"10237488\": \"ovl_En_Bom_Bowl_Man\", \"10233552\": \"ovl_En_Bom\", \"10231904\": \"ovl_En_Blkobj\", \"10230704\": \"ovl_En_Bird\", \"10221728\": \"ovl_En_Bili\", \"10210400\": \"ovl_En_Bigokuta\", \"10207280\": \"ovl_En_Bdfire\", \"10191584\": \"ovl_En_Bb\", \"10183504\": \"ovl_En_Ba\", \"10178816\": \"ovl_En_Attack_Niw\", \"10172704\": \"ovl_En_Arrow\", \"10172368\": \"ovl_En_Arow_Trap\", \"10171392\": \"ovl_En_Anubice_Tag\", \"10167712\": \"ovl_En_Anubice_Fire\", \"10162464\": \"ovl_En_Anubice\", \"10158960\": \"ovl_En_Ani\", \"10149664\": \"ovl_En_Am\", \"10147584\": \"ovl_Elf_Msg2\", \"10144544\": \"ovl_Elf_Msg\", \"10143488\": \"ovl_Effect_Ss_Stone1\", \"10142416\": \"ovl_Effect_Ss_Stick\", \"10142000\": \"ovl_Effect_Ss_Solder_Srch_Ball\", \"10141024\": \"ovl_Effect_Ss_Sibuki2\", \"10139184\": \"ovl_Effect_Ss_Sibuki\", \"10137328\": \"ovl_Effect_Ss_Lightning\", \"10135568\": \"ovl_Effect_Ss_KiraKira\", \"10131072\": \"ovl_Effect_Ss_Kakera\", \"10129840\": \"ovl_Effect_Ss_K_Fire\", \"10128368\": \"ovl_Effect_Ss_Ice_Smoke\", \"10127104\": \"ovl_Effect_Ss_Ice_Piece\", \"10125648\": \"ovl_Effect_Ss_HitMark\", \"10123760\": \"ovl_Effect_Ss_Hahen\", \"10122560\": \"ovl_Effect_Ss_G_Splash\", \"10121008\": \"ovl_Effect_Ss_G_Spk\", \"10119520\": \"ovl_Effect_Ss_G_Ripple\", \"10118048\": \"ovl_Effect_Ss_G_Magma2\", \"10117456\": \"ovl_Effect_Ss_G_Magma\", \"10116816\": \"ovl_Effect_Ss_G_Fire\", \"10114880\": \"ovl_Effect_Ss_Fire_Tail\", \"10110560\": \"ovl_Effect_Ss_Fhg_Flash\", \"10109216\": \"ovl_Effect_Ss_Fcircle\", \"10108096\": \"ovl_Effect_Ss_Extra\", \"10105648\": \"ovl_Effect_Ss_En_Ice\", \"10103648\": \"ovl_Effect_Ss_En_Fire\", \"10101456\": \"ovl_Effect_Ss_Dust\", \"10099888\": \"ovl_Effect_Ss_Dt_Bubble\", \"10099504\": \"ovl_Effect_Ss_Dead_Sound\", \"10098192\": \"ovl_Effect_Ss_Dead_Ds\", \"10096608\": \"ovl_Effect_Ss_Dead_Dd\", \"10095264\": \"ovl_Effect_Ss_Dead_Db\", \"10093904\": \"ovl_Effect_Ss_D_Fire\", \"10092608\": \"ovl_Effect_Ss_Bubble\", \"10090064\": \"ovl_Effect_Ss_Bomb2\", \"10088880\": \"ovl_Effect_Ss_Bomb\", \"10087856\": \"ovl_Effect_Ss_Blast\", \"10082512\": \"ovl_Eff_Dust\", \"10079408\": \"ovl_Efc_Erupc\", \"10061696\": \"ovl_Door_Warp1\", \"10061344\": \"ovl_Door_Toki\", \"10052256\": \"ovl_Door_Shutter\", \"10046544\": \"ovl_Door_Killer\", \"10044896\": \"ovl_Door_Gerudo\", \"10043120\": \"ovl_Door_Ana\", \"10041024\": \"ovl_Demo_Tre_Lgt\", \"10031664\": \"ovl_Demo_Shd\", \"10019936\": \"ovl_Demo_Sa\", \"10014672\": \"ovl_Demo_Kekkai\", \"9997952\": \"ovl_Demo_Kankyo\", \"9980896\": \"ovl_Demo_Im\", \"9974528\": \"ovl_Demo_Ik\", \"9950832\": \"ovl_Demo_Gt\", \"9947248\": \"ovl_Demo_Go\", \"9931056\": \"ovl_Demo_Gj\", \"9928256\": \"ovl_Demo_Geff\", \"9925520\": \"ovl_Demo_Ext\", \"9899856\": \"ovl_Demo_Effect\", \"9884848\": \"ovl_Demo_Ec\", \"9870032\": \"ovl_Demo_Du\", \"9857360\": \"ovl_Demo_6K\", \"9761472\": \"ovl_Boss_Va\", \"9669840\": \"ovl_Boss_Tw\", \"9618896\": \"ovl_Boss_Sst\", \"9550592\": \"ovl_Boss_Mo\", \"9525776\": \"ovl_Boss_Goma\", \"9504320\": \"ovl_Boss_Ganondrof\", \"9424704\": \"ovl_Boss_Ganon2\", \"9267312\": \"ovl_Boss_Ganon\", \"9250416\": \"ovl_Boss_Fd2\", \"9219520\": \"ovl_Boss_Fd\", \"9179536\": \"ovl_Boss_Dodongo\", \"9178144\": \"ovl_Bg_Zg\", \"9171984\": \"ovl_Bg_Ydan_Sp\", \"9170240\": \"ovl_Bg_Ydan_Maruta\", \"9168128\": \"ovl_Bg_Ydan_Hasi\", \"9166176\": \"ovl_Bg_Vb_Sima\", \"9165792\": \"ovl_Bg_Umajump\", \"9159936\": \"ovl_Bg_Treemouth\", \"9154112\": \"ovl_Bg_Toki_Swd\", \"9150208\": \"ovl_Bg_Toki_Hikari\", \"9148688\": \"ovl_Bg_Sst_Floor\", \"9147344\": \"ovl_Bg_Spot18_Shutter\", \"9144592\": \"ovl_Bg_Spot18_Obj\", \"9144192\": \"ovl_Bg_Spot18_Futa\", \"9139984\": \"ovl_Bg_Spot18_Basket\", \"9139200\": \"ovl_Bg_Spot17_Funen\", \"9137088\": \"ovl_Bg_Spot17_Bakudankabe\", \"9135168\": \"ovl_Bg_Spot16_Doughnut\", \"9129008\": \"ovl_Bg_Spot16_Bombstone\", \"9128016\": \"ovl_Bg_Spot15_Saku\", \"9124192\": \"ovl_Bg_Spot15_Rrbox\", \"9122848\": \"ovl_Bg_Spot12_Saku\", \"9121680\": \"ovl_Bg_Spot12_Gate\", \"9119728\": \"ovl_Bg_Spot11_Oasis\", \"9118080\": \"ovl_Bg_Spot11_Bakudankabe\", \"9116384\": \"ovl_Bg_Spot09_Obj\", \"9111904\": \"ovl_Bg_Spot08_Iceblock\", \"9110224\": \"ovl_Bg_Spot08_Bakudankabe\", \"9108528\": \"ovl_Bg_Spot07_Taki\", \"9103232\": \"ovl_Bg_Spot06_Objects\", \"9102448\": \"ovl_Bg_Spot05_Soko\", \"9100000\": \"ovl_Bg_Spot03_Taki\", \"9094752\": \"ovl_Bg_Spot02_Objects\", \"9093440\": \"ovl_Bg_Spot01_Objects2\", \"9092736\": \"ovl_Bg_Spot01_Idosoko\", \"9091808\": \"ovl_Bg_Spot01_Idomizu\", \"9088224\": \"ovl_Bg_Spot01_Idohashira\", \"9087424\": \"ovl_Bg_Spot01_Fusya\", \"9082752\": \"ovl_Bg_Spot00_Hanebasi\", \"9082336\": \"ovl_Bg_Spot00_Break\", \"9080400\": \"ovl_Bg_Relay_Objects\", \"9079520\": \"ovl_Bg_Pushbox\", \"9076912\": \"ovl_Bg_Po_Syokudai\", \"9069072\": \"ovl_Bg_Po_Event\", \"9065840\": \"ovl_Bg_Mori_Rakkatenjo\", \"9063872\": \"ovl_Bg_Mori_Kaitenkabe\", \"9061952\": \"ovl_Bg_Mori_Idomizu\", \"9058256\": \"ovl_Bg_Mori_Hineri\", \"9056352\": \"ovl_Bg_Mori_Hashira4\", \"9053536\": \"ovl_Bg_Mori_Hashigo\", \"9050112\": \"ovl_Bg_Mori_Elevator\", \"9046976\": \"ovl_Bg_Mori_Bigst\", \"9045888\": \"ovl_Bg_Mjin\", \"9042096\": \"ovl_Bg_Mizu_Water\", \"9041632\": \"ovl_Bg_Mizu_Uzu\", \"9039440\": \"ovl_Bg_Mizu_Shutter\", \"9034800\": \"ovl_Bg_Mizu_Movebg\", \"9028736\": \"ovl_Bg_Mizu_Bwall\", \"9028400\": \"ovl_Bg_Menkuri_Nisekabe\", \"9028016\": \"ovl_Bg_Menkuri_Kaiten\", \"9026672\": \"ovl_Bg_Menkuri_Eye\", \"9024576\": \"ovl_Bg_Jya_Zurerukabe\", \"9019696\": \"ovl_Bg_Jya_Megami\", \"9018272\": \"ovl_Bg_Jya_Lift\", \"9017152\": \"ovl_Bg_Jya_Kanaami\", \"9013408\": \"ovl_Bg_Jya_Ironobj\", \"9011392\": \"ovl_Bg_Jya_Haheniron\", \"9009520\": \"ovl_Bg_Jya_Goroiwa\", \"9001200\": \"ovl_Bg_Jya_Cobra\", \"8999328\": \"ovl_Bg_Jya_Bombiwa\", \"8996000\": \"ovl_Bg_Jya_Bombchuiwa\", \"8995232\": \"ovl_Bg_Jya_Block\", \"8992480\": \"ovl_Bg_Jya_Bigmirror\", \"8991424\": \"ovl_Bg_Jya_Amishutter\", \"8989536\": \"ovl_Bg_Jya_1flift\", \"8988480\": \"ovl_Bg_Ingate\", \"8986400\": \"ovl_Bg_Ice_Turara\", \"8985280\": \"ovl_Bg_Ice_Shutter\", \"8980288\": \"ovl_Bg_Ice_Shelter\", \"8976400\": \"ovl_Bg_Ice_Objects\", \"8975296\": \"ovl_Bg_Hidan_Syoku\", \"8971216\": \"ovl_Bg_Hidan_Sima\", \"8965824\": \"ovl_Bg_Hidan_Sekizou\", \"8962560\": \"ovl_Bg_Hidan_Rsekizou\", \"8958080\": \"ovl_Bg_Hidan_Rock\", \"8953888\": \"ovl_Bg_Hidan_Kowarerukabe\", \"8952160\": \"ovl_Bg_Hidan_Kousi\", \"8950064\": \"ovl_Bg_Hidan_Hrock\", \"8945728\": \"ovl_Bg_Hidan_Hamstep\", \"8942320\": \"ovl_Bg_Hidan_Fwbig\", \"8941120\": \"ovl_Bg_Hidan_Fslift\", \"8939104\": \"ovl_Bg_Hidan_Firewall\", \"8936992\": \"ovl_Bg_Hidan_Dalm\", \"8933792\": \"ovl_Bg_Hidan_Curtain\", \"8927120\": \"ovl_Bg_Heavy_Block\", \"8922560\": \"ovl_Bg_Haka_Zou\", \"8920320\": \"ovl_Bg_Haka_Water\", \"8917584\": \"ovl_Bg_Haka_Tubo\", \"8912032\": \"ovl_Bg_Haka_Trap\", \"8909056\": \"ovl_Bg_Haka_Ship\", \"8905952\": \"ovl_Bg_Haka_Sgami\", \"8904240\": \"ovl_Bg_Haka_MeganeBG\", \"8903232\": \"ovl_Bg_Haka_Megane\", \"8900544\": \"ovl_Bg_Haka_Huta\", \"8895984\": \"ovl_Bg_Haka_Gate\", \"8894128\": \"ovl_Bg_Haka\", \"8891840\": \"ovl_Bg_Gnd_Soulmeiro\", \"8891472\": \"ovl_Bg_Gnd_Nisekabe\", \"8886944\": \"ovl_Bg_Gnd_Iceblock\", \"8885440\": \"ovl_Bg_Gnd_Firemeiro\", \"8883248\": \"ovl_Bg_Gnd_Darkmeiro\", \"8881856\": \"ovl_Bg_Gjyo_Bridge\", \"8880480\": \"ovl_Bg_Gate_Shutter\", \"8870176\": \"ovl_Bg_Ganon_Otyuka\", \"8857648\": \"ovl_Bg_Dy_Yoseizo\", \"8854016\": \"ovl_Bg_Dodoago\", \"8851696\": \"ovl_Bg_Ddan_Kd\", \"8850096\": \"ovl_Bg_Ddan_Jd\", \"8846304\": \"ovl_Bg_Breakwall\", \"8843616\": \"ovl_Bg_Bowl_Wall\", \"8841168\": \"ovl_Bg_Bombwall\", \"8840528\": \"ovl_Bg_Bom_Guard\", \"8835088\": \"ovl_Bg_Bdan_Switch\", \"8830112\": \"ovl_Bg_Bdan_Objects\", \"8821936\": \"ovl_Arrow_Light\", \"8813776\": \"ovl_Arrow_Ice\", \"8805648\": \"ovl_Arrow_Fire\", \"8802048\": \"ovl_Arms_Hook\", \"8779344\": \"ovl_En_Test\", \"8751984\": \"ovl_map_mark_data\", \"8593936\": \"ovl_player_actor\", \"8468512\": \"ovl_kaleido_scope\", \"8404288\": \"ovl_file_choose\", \"8403952\": \"ovl_opening\", \"8391568\": \"ovl_select\", \"8388608\": \"ovl_title\", \"1408400\": null, \"118368\": \"code\", \"93600\": \"dmadata\", \"1120\": \"boot\"}, \"ra\": {\"56418368\": null, \"56418304\": \"softsprite_matrix_static\", \"56414208\": \"anime_texture_6_static\", \"56410112\": \"anime_texture_5_static\", \"56406016\": \"anime_texture_4_static\", \"56401920\": \"anime_texture_3_static\", \"56397824\": \"anime_texture_2_static\", \"56393728\": \"anime_texture_1_static\", \"56389632\": \"anime_model_6_static\", \"56385536\": \"anime_model_5_static\", \"56381440\": \"anime_model_4_static\", \"56377344\": \"anime_model_3_static\", \"56373248\": \"anime_model_2_static\", \"56369152\": \"anime_model_1_static\", \"56365056\": \"bump_texture_static\", \"56324096\": \"test01_room_0\", \"56307712\": \"test01_scene\", \"56266752\": \"ganontikasonogo_room_1\", \"56168448\": \"ganontikasonogo_room_0\", \"56147968\": \"ganontikasonogo_scene\", \"56086528\": \"kinsuta_room_0\", \"56078336\": \"kinsuta_scene\", \"55885824\": \"face_shop_room_0\", \"55881728\": \"face_shop_scene\", \"55857152\": \"besitu_room_0\", \"55853056\": \"besitu_scene\", \"55832576\": \"ganon_demo_room_0\", \"55791616\": \"ganon_demo_scene\", \"55754752\": \"ganon_sonogo_room_4\", \"55730176\": \"ganon_sonogo_room_3\", \"55693312\": \"ganon_sonogo_room_2\", \"55660544\": \"ganon_sonogo_room_1\", \"55627776\": \"ganon_sonogo_room_0\", \"55595008\": \"ganon_sonogo_scene\", \"55582720\": \"takaraya_room_6\", \"55570432\": \"takaraya_room_5\", \"55554048\": \"takaraya_room_4\", \"55541760\": \"takaraya_room_3\", \"55529472\": \"takaraya_room_2\", \"55521280\": \"takaraya_room_1\", \"55480320\": \"takaraya_room_0\", \"55447552\": \"takaraya_scene\", \"55418880\": \"mahouya_room_0\", \"55373824\": \"mahouya_scene\", \"55357440\": \"miharigoya_room_0\", \"55304192\": \"miharigoya_scene\", \"55267328\": \"souko_room_2\", \"55222272\": \"souko_room_1\", \"55181312\": \"souko_room_0\", \"55152640\": \"souko_scene\", \"55119872\": \"hylia_labo_room_0\", \"55046144\": \"hylia_labo_scene\", \"55017472\": \"hakaana_ouke_room_2\", \"54996992\": \"hakaana_ouke_room_1\", \"54951936\": \"hakaana_ouke_room_0\", \"54931456\": \"hakaana_ouke_scene\", \"54902784\": \"bowling_room_0\", \"54841344\": \"bowling_scene\", \"54824960\": \"hairal_niwa_n_room_0\", \"54784000\": \"hairal_niwa_n_scene\", \"54763520\": \"gerudoway_room_5\", \"54747136\": \"gerudoway_room_4\", \"54697984\": \"gerudoway_room_3\", \"54681600\": \"gerudoway_room_2\", \"54648832\": \"gerudoway_room_1\", \"54628352\": \"gerudoway_room_0\", \"54571008\": \"gerudoway_scene\", \"54542336\": \"hakaana2_room_0\", \"54484992\": \"hakaana2_scene\", \"54145024\": \"shrine_r_room_0\", \"54136832\": \"shrine_r_scene\", \"53796864\": \"shrine_n_room_0\", \"53788672\": \"shrine_n_scene\", \"53760000\": \"turibori_room_0\", \"53682176\": \"turibori_scene\", \"53342208\": \"shrine_room_0\", \"53334016\": \"shrine_scene\", \"53301248\": \"hakasitarelay_room_6\", \"53280768\": \"hakasitarelay_room_5\", \"53260288\": \"hakasitarelay_room_4\", \"53223424\": \"hakasitarelay_room_3\", \"53186560\": \"hakasitarelay_room_2\", \"53157888\": \"hakasitarelay_room_1\", \"53125120\": \"hakasitarelay_room_0\", \"53063680\": \"hakasitarelay_scene\", \"52965376\": \"hairal_niwa2_room_0\", \"52953088\": \"hairal_niwa2_scene\", \"52776960\": \"kakariko3_room_0\", \"52772864\": \"kakariko3_scene\", \"52719616\": \"ganon_final_room_0\", \"52641792\": \"ganon_final_scene\", \"52441088\": \"kokiri_home5_room_0\", \"52432896\": \"kokiri_home5_scene\", \"52199424\": \"kokiri_home4_room_0\", \"52191232\": \"kokiri_home4_scene\", \"52142080\": \"jyasinboss_room_3\", \"52125696\": \"jyasinboss_room_2\", \"52092928\": \"jyasinboss_room_1\", \"52088832\": \"jyasinboss_room_0\", \"52051968\": \"jyasinboss_scene\", \"52027392\": \"ganon_boss_room_0\", \"51994624\": \"ganon_boss_scene\", \"51970048\": \"ganon_room_9\", \"51941376\": \"ganon_room_8\", \"51896320\": \"ganon_room_7\", \"51855360\": \"ganon_room_6\", \"51818496\": \"ganon_room_5\", \"51777536\": \"ganon_room_4\", \"51744768\": \"ganon_room_3\", \"51712000\": \"ganon_room_2\", \"51679232\": \"ganon_room_1\", \"51646464\": \"ganon_room_0\", \"51576832\": \"ganon_scene\", \"51527680\": \"MIZUsin_bs_room_1\", \"51507200\": \"MIZUsin_bs_room_0\", \"51499008\": \"MIZUsin_bs_scene\", \"51474432\": \"HAKAdan_bs_room_1\", \"51462144\": \"HAKAdan_bs_room_0\", \"51449856\": \"HAKAdan_bs_scene\", \"51421184\": \"ydan_boss_room_1\", \"51392512\": \"ydan_boss_room_0\", \"51384320\": \"ydan_boss_scene\", \"51367936\": \"ddan_boss_room_1\", \"51347456\": \"ddan_boss_room_0\", \"51335168\": \"ddan_boss_scene\", \"51236864\": \"nakaniwa_room_0\", \"51220480\": \"nakaniwa_scene\", \"51007488\": \"tent_room_0\", \"51003392\": \"tent_scene\", \"50819072\": \"labo_room_0\", \"50814976\": \"labo_scene\", \"50655232\": \"impa_room_0\", \"50651136\": \"impa_scene\", \"50483200\": \"night_shop_room_0\", \"50479104\": \"night_shop_scene\", \"50319360\": \"alley_shop_room_0\", \"50315264\": \"alley_shop_scene\", \"50135040\": \"drag_room_0\", \"50130944\": \"drag_scene\", \"49971200\": \"zoora_room_0\", \"49967104\": \"zoora_scene\", \"49807360\": \"golon_room_0\", \"49803264\": \"golon_scene\", \"49782784\": \"yousei_izumi_yoko_room_0\", \"49729536\": \"yousei_izumi_yoko_scene\", \"49709056\": \"yousei_izumi_tate_room_0\", \"49672192\": \"yousei_izumi_tate_scene\", \"49639424\": \"hakaana_room_0\", \"49635328\": \"hakaana_scene\", \"49618944\": \"daiyousei_izumi_room_0\", \"49561600\": \"daiyousei_izumi_scene\", \"49389568\": \"hut_room_0\", \"49385472\": \"hut_scene\", \"49356800\": \"FIRE_bs_room_1\", \"49336320\": \"FIRE_bs_room_0\", \"49315840\": \"FIRE_bs_scene\", \"49291264\": \"bdan_boss_room_1\", \"49274880\": \"bdan_boss_room_0\", \"49270784\": \"bdan_boss_scene\", \"49094656\": \"kakariko_room_0\", \"49090560\": \"kakariko_scene\", \"48898048\": \"malon_stable_room_0\", \"48893952\": \"malon_stable_scene\", \"48668672\": \"kokiri_home3_room_0\", \"48660480\": \"kokiri_home3_scene\", \"48656384\": \"hiral_demo_room_0\", \"48640000\": \"hiral_demo_scene\", \"48156672\": \"market_alley_n_room_0\", \"48148480\": \"market_alley_n_scene\", \"47992832\": \"enrui_room_0\", \"47988736\": \"enrui_scene\", \"47833088\": \"entra_n_room_0\", \"47828992\": \"entra_n_scene\", \"47816704\": \"market_ruins_room_0\", \"47808512\": \"market_ruins_scene\", \"47779840\": \"spot20_room_0\", \"47706112\": \"spot20_scene\", \"47222784\": \"market_alley_room_0\", \"47214592\": \"market_alley_scene\", \"47198208\": \"sasatest_room_0\", \"47185920\": \"sasatest_scene\", \"47104000\": \"ganon_tou_room_0\", \"47083520\": \"ganon_tou_scene\", \"47038464\": \"hairal_niwa_room_0\", \"46964736\": \"hairal_niwa_scene\", \"46792704\": \"shop1_room_0\", \"46788608\": \"shop1_scene\", \"46755840\": \"syatekijyou_room_0\", \"46702592\": \"syatekijyou_scene\", \"46645248\": \"moribossroom_room_1\", \"46620672\": \"moribossroom_room_0\", \"46612480\": \"moribossroom_scene\", \"46456832\": \"entra_room_0\", \"46452736\": \"entra_scene\", \"46424064\": \"kakusiana_room_13\", \"46391296\": \"kakusiana_room_12\", \"46354432\": \"kakusiana_room_11\", \"46329856\": \"kakusiana_room_10\", \"46305280\": \"kakusiana_room_9\", \"46288896\": \"kakusiana_room_8\", \"46272512\": \"kakusiana_room_7\", \"46247936\": \"kakusiana_room_6\", \"46227456\": \"kakusiana_room_5\", \"46194688\": \"kakusiana_room_4\", \"46170112\": \"kakusiana_room_3\", \"46157824\": \"kakusiana_room_2\", \"46133248\": \"kakusiana_room_1\", \"46100480\": \"kakusiana_room_0\", \"46043136\": \"kakusiana_scene\", \"45862912\": \"kokiri_home_room_0\", \"45858816\": \"kokiri_home_scene\", \"45658112\": \"kokiri_shop_room_0\", \"45654016\": \"kokiri_shop_scene\", \"45490176\": \"link_home_room_0\", \"45481984\": \"link_home_scene\", \"45449216\": \"sutaru_room_0\", \"45445120\": \"sutaru_scene\", \"45412352\": \"tokinoma_room_1\", \"45314048\": \"tokinoma_room_0\", \"45236224\": \"tokinoma_scene\", \"45154304\": \"kenjyanoma_room_0\", \"45137920\": \"kenjyanoma_scene\", \"45133824\": \"testroom_room_4\", \"45117440\": \"testroom_room_3\", \"45101056\": \"testroom_room_2\", \"45088768\": \"testroom_room_1\", \"45068288\": \"testroom_room_0\", \"45047808\": \"testroom_scene\", \"45023232\": \"market_night_room_0\", \"45010944\": \"market_night_scene\", \"44986368\": \"market_day_room_0\", \"44974080\": \"market_day_scene\", \"44851200\": \"spot18_room_3\", \"44777472\": \"spot18_room_2\", \"44748800\": \"spot18_room_1\", \"44670976\": \"spot18_room_0\", \"44625920\": \"spot18_scene\", \"44548096\": \"spot17_room_1\", \"44519424\": \"spot17_room_0\", \"44453888\": \"spot17_scene\", \"44408832\": \"spot16_room_0\", \"44281856\": \"spot16_scene\", \"44224512\": \"spot15_room_0\", \"44122112\": \"spot15_scene\", \"44044288\": \"spot13_room_1\", \"44040192\": \"spot13_room_0\", \"44015616\": \"spot13_scene\", \"43962368\": \"spot12_room_1\", \"43888640\": \"spot12_room_0\", \"43823104\": \"spot12_scene\", \"43769856\": \"spot11_room_0\", \"43663360\": \"spot11_scene\", \"43646976\": \"spot10_room_9\", \"43634688\": \"spot10_room_8\", \"43622400\": \"spot10_room_7\", \"43606016\": \"spot10_room_6\", \"43577344\": \"spot10_room_5\", \"43565056\": \"spot10_room_4\", \"43540480\": \"spot10_room_3\", \"43520000\": \"spot10_room_2\", \"43483136\": \"spot10_room_1\", \"43470848\": \"spot10_room_0\", \"43401216\": \"spot10_scene\", \"43364352\": \"spot09_room_0\", \"43290624\": \"spot09_scene\", \"43253760\": \"spot08_room_0\", \"43180032\": \"spot08_scene\", \"43126784\": \"spot07_room_1\", \"43098112\": \"spot07_room_0\", \"43057152\": \"spot07_scene\", \"43012096\": \"spot06_room_0\", \"42897408\": \"spot06_scene\", \"42856448\": \"spot05_room_0\", \"42770432\": \"spot05_scene\", \"42745856\": \"spot04_room_2\", \"42708992\": \"spot04_room_1\", \"42594304\": \"spot04_room_0\", \"42520576\": \"spot04_scene\", \"42487808\": \"spot03_room_1\", \"42430464\": \"spot03_room_0\", \"42381312\": \"spot03_scene\", \"42258432\": \"spot02_room_1\", \"42246144\": \"spot02_room_0\", \"42196992\": \"spot02_scene\", \"42156032\": \"spot01_room_0\", \"42037248\": \"spot01_scene\", \"41947136\": \"spot00_room_0\", \"41771008\": \"spot00_scene\", \"41615360\": \"depth_test_room_0\", \"41611264\": \"depth_test_scene\", \"41570304\": \"syotes2_room_0\", \"41558016\": \"syotes2_scene\", \"41504768\": \"syotes_room_0\", \"41496576\": \"syotes_scene\", \"41463808\": \"ganontika_room_19\", \"41410560\": \"ganontika_room_18\", \"41373696\": \"ganontika_room_17\", \"41361408\": \"ganontika_room_16\", \"41328640\": \"ganontika_room_15\", \"41283584\": \"ganontika_room_14\", \"41250816\": \"ganontika_room_13\", \"41201664\": \"ganontika_room_12\", \"41172992\": \"ganontika_room_11\", \"41144320\": \"ganontika_room_10\", \"41095168\": \"ganontika_room_9\", \"41054208\": \"ganontika_room_8\", \"41021440\": \"ganontika_room_7\", \"40955904\": \"ganontika_room_6\", \"40923136\": \"ganontika_room_5\", \"40890368\": \"ganontika_room_4\", \"40849408\": \"ganontika_room_3\", \"40816640\": \"ganontika_room_2\", \"40697856\": \"ganontika_room_1\", \"40656896\": \"ganontika_room_0\", \"40517632\": \"ganontika_scene\", \"40493056\": \"men_room_10\", \"40476672\": \"men_room_9\", \"40439808\": \"men_room_8\", \"40402944\": \"men_room_7\", \"40370176\": \"men_room_6\", \"40345600\": \"men_room_5\", \"40300544\": \"men_room_4\", \"40267776\": \"men_room_3\", \"40243200\": \"men_room_2\", \"40202240\": \"men_room_1\", \"40136704\": \"men_room_0\", \"40062976\": \"men_scene\", \"40038400\": \"ice_doukutu_room_11\", \"40017920\": \"ice_doukutu_room_10\", \"39981056\": \"ice_doukutu_room_9\", \"39972864\": \"ice_doukutu_room_8\", \"39948288\": \"ice_doukutu_room_7\", \"39927808\": \"ice_doukutu_room_6\", \"39890944\": \"ice_doukutu_room_5\", \"39858176\": \"ice_doukutu_room_4\", \"39821312\": \"ice_doukutu_room_3\", \"39796736\": \"ice_doukutu_room_2\", \"39743488\": \"ice_doukutu_room_1\", \"39706624\": \"ice_doukutu_room_0\", \"39632896\": \"ice_doukutu_scene\", \"39620608\": \"HAKAdanCH_room_6\", \"39608320\": \"HAKAdanCH_room_5\", \"39596032\": \"HAKAdanCH_room_4\", \"39587840\": \"HAKAdanCH_room_3\", \"39571456\": \"HAKAdanCH_room_2\", \"39522304\": \"HAKAdanCH_room_1\", \"39432192\": \"HAKAdanCH_room_0\", \"39378944\": \"HAKAdanCH_scene\", \"39366656\": \"HAKAdan_room_22\", \"39317504\": \"HAKAdan_room_21\", \"39309312\": \"HAKAdan_room_20\", \"39297024\": \"HAKAdan_room_19\", \"39239680\": \"HAKAdan_room_18\", \"39227392\": \"HAKAdan_room_17\", \"39215104\": \"HAKAdan_room_16\", \"39182336\": \"HAKAdan_room_15\", \"39157760\": \"HAKAdan_room_14\", \"39149568\": \"HAKAdan_room_13\", \"39124992\": \"HAKAdan_room_12\", \"39108608\": \"HAKAdan_room_11\", \"39075840\": \"HAKAdan_room_10\", \"39022592\": \"HAKAdan_room_9\", \"38998016\": \"HAKAdan_room_8\", \"38989824\": \"HAKAdan_room_7\", \"38957056\": \"HAKAdan_room_6\", \"38932480\": \"HAKAdan_room_5\", \"38924288\": \"HAKAdan_room_4\", \"38912000\": \"HAKAdan_room_3\", \"38866944\": \"HAKAdan_room_2\", \"38858752\": \"HAKAdan_room_1\", \"38809600\": \"HAKAdan_room_0\", \"38707200\": \"HAKAdan_scene\", \"38670336\": \"jyasinzou_room_28\", \"38645760\": \"jyasinzou_room_27\", \"38592512\": \"jyasinzou_room_26\", \"38502400\": \"jyasinzou_room_25\", \"38473728\": \"jyasinzou_room_24\", \"38432768\": \"jyasinzou_room_23\", \"38416384\": \"jyasinzou_room_22\", \"38395904\": \"jyasinzou_room_21\", \"38359040\": \"jyasinzou_room_20\", \"38334464\": \"jyasinzou_room_19\", \"38309888\": \"jyasinzou_room_18\", \"38268928\": \"jyasinzou_room_17\", \"38240256\": \"jyasinzou_room_16\", \"38203392\": \"jyasinzou_room_15\", \"38182912\": \"jyasinzou_room_14\", \"38158336\": \"jyasinzou_room_13\", \"38146048\": \"jyasinzou_room_12\", \"38137856\": \"jyasinzou_room_11\", \"38100992\": \"jyasinzou_room_10\", \"38076416\": \"jyasinzou_room_9\", \"38039552\": \"jyasinzou_room_8\", \"38014976\": \"jyasinzou_room_7\", \"37994496\": \"jyasinzou_room_6\", \"37892096\": \"jyasinzou_room_5\", \"37859328\": \"jyasinzou_room_4\", \"37842944\": \"jyasinzou_room_3\", \"37818368\": \"jyasinzou_room_2\", \"37777408\": \"jyasinzou_room_1\", \"37707776\": \"jyasinzou_room_0\", \"37601280\": \"jyasinzou_scene\", \"37560320\": \"MIZUsin_room_22\", \"37527552\": \"MIZUsin_room_21\", \"37498880\": \"MIZUsin_room_20\", \"37482496\": \"MIZUsin_room_19\", \"37462016\": \"MIZUsin_room_18\", \"37425152\": \"MIZUsin_room_17\", \"37408768\": \"MIZUsin_room_16\", \"37376000\": \"MIZUsin_room_15\", \"37347328\": \"MIZUsin_room_14\", \"37343232\": \"MIZUsin_room_13\", \"37314560\": \"MIZUsin_room_12\", \"37294080\": \"MIZUsin_room_11\", \"37265408\": \"MIZUsin_room_10\", \"37228544\": \"MIZUsin_room_9\", \"37171200\": \"MIZUsin_room_8\", \"37146624\": \"MIZUsin_room_7\", \"37097472\": \"MIZUsin_room_6\", \"37052416\": \"MIZUsin_room_5\", \"37023744\": \"MIZUsin_room_4\", \"36995072\": \"MIZUsin_room_3\", \"36970496\": \"MIZUsin_room_2\", \"36925440\": \"MIZUsin_room_1\", \"36835328\": \"MIZUsin_room_0\", \"36745216\": \"MIZUsin_scene\", \"36716544\": \"HIDAN_room_26\", \"36687872\": \"HIDAN_room_25\", \"36663296\": \"HIDAN_room_24\", \"36634624\": \"HIDAN_room_23\", \"36605952\": \"HIDAN_room_22\", \"36569088\": \"HIDAN_room_21\", \"36540416\": \"HIDAN_room_20\", \"36519936\": \"HIDAN_room_19\", \"36503552\": \"HIDAN_room_18\", \"36462592\": \"HIDAN_room_17\", \"36413440\": \"HIDAN_room_16\", \"36405248\": \"HIDAN_room_15\", \"36392960\": \"HIDAN_room_14\", \"36339712\": \"HIDAN_room_13\", \"36327424\": \"HIDAN_room_12\", \"36311040\": \"HIDAN_room_11\", \"36208640\": \"HIDAN_room_10\", \"36171776\": \"HIDAN_room_9\", \"36130816\": \"HIDAN_room_8\", \"36114432\": \"HIDAN_room_7\", \"36085760\": \"HIDAN_room_6\", \"36040704\": \"HIDAN_room_5\", \"36007936\": \"HIDAN_room_4\", \"35995648\": \"HIDAN_room_3\", \"35926016\": \"HIDAN_room_2\", \"35872768\": \"HIDAN_room_1\", \"35840000\": \"HIDAN_room_0\", \"35729408\": \"HIDAN_scene\", \"35721216\": \"Bmori1_room_22\", \"35713024\": \"Bmori1_room_21\", \"35704832\": \"Bmori1_room_20\", \"35700736\": \"Bmori1_room_19\", \"35692544\": \"Bmori1_room_18\", \"35651584\": \"Bmori1_room_17\", \"35631104\": \"Bmori1_room_16\", \"35618816\": \"Bmori1_room_15\", \"35594240\": \"Bmori1_room_14\", \"35557376\": \"Bmori1_room_13\", \"35520512\": \"Bmori1_room_12\", \"35475456\": \"Bmori1_room_11\", \"35450880\": \"Bmori1_room_10\", \"35405824\": \"Bmori1_room_9\", \"35307520\": \"Bmori1_room_8\", \"35229696\": \"Bmori1_room_7\", \"35188736\": \"Bmori1_room_6\", \"35172352\": \"Bmori1_room_5\", \"35155968\": \"Bmori1_room_4\", \"35139584\": \"Bmori1_room_3\", \"35074048\": \"Bmori1_room_2\", \"35049472\": \"Bmori1_room_1\", \"34992128\": \"Bmori1_room_0\", \"34902016\": \"Bmori1_scene\", \"34889728\": \"bdan_room_15\", \"34861056\": \"bdan_room_14\", \"34848768\": \"bdan_room_13\", \"34832384\": \"bdan_room_12\", \"34816000\": \"bdan_room_11\", \"34799616\": \"bdan_room_10\", \"34783232\": \"bdan_room_9\", \"34766848\": \"bdan_room_8\", \"34750464\": \"bdan_room_7\", \"34729984\": \"bdan_room_6\", \"34701312\": \"bdan_room_5\", \"34680832\": \"bdan_room_4\", \"34648064\": \"bdan_room_3\", \"34607104\": \"bdan_room_2\", \"34582528\": \"bdan_room_1\", \"34562048\": \"bdan_room_0\", \"34471936\": \"bdan_scene\", \"34447360\": \"ddan_room_16\", \"34435072\": \"ddan_room_15\", \"34422784\": \"ddan_room_14\", \"34410496\": \"ddan_room_13\", \"34373632\": \"ddan_room_12\", \"34361344\": \"ddan_room_11\", \"34328576\": \"ddan_room_10\", \"34279424\": \"ddan_room_9\", \"34238464\": \"ddan_room_8\", \"34205696\": \"ddan_room_7\", \"34193408\": \"ddan_room_6\", \"34168832\": \"ddan_room_5\", \"34127872\": \"ddan_room_4\", \"34070528\": \"ddan_room_3\", \"34037760\": \"ddan_room_2\", \"33996800\": \"ddan_room_1\", \"33882112\": \"ddan_room_0\", \"33792000\": \"ddan_scene\", \"33759232\": \"ydan_room_11\", \"33738752\": \"ydan_room_10\", \"33697792\": \"ydan_room_9\", \"33693696\": \"ydan_room_8\", \"33656832\": \"ydan_room_7\", \"33636352\": \"ydan_room_6\", \"33599488\": \"ydan_room_5\", \"33579008\": \"ydan_room_4\", \"33492992\": \"ydan_room_3\", \"33468416\": \"ydan_room_2\", \"33447936\": \"ydan_room_1\", \"33357824\": \"ydan_room_0\", \"33300480\": \"ydan_scene\", \"33296384\": \"elf_message_ydan\", \"33292288\": \"elf_message_field\", \"33288192\": \"vr_FCVR_pal_static\", \"33157120\": \"vr_FCVR_static\", \"33153024\": \"vr_TTVR_pal_static\", \"32956416\": \"vr_TTVR_static\", \"32952320\": \"vr_LBVR_pal_static\", \"32690176\": \"vr_LBVR_static\", \"32686080\": \"vr_NSVR_pal_static\", \"32555008\": \"vr_NSVR_static\", \"32550912\": \"vr_ALVR_pal_static\", \"32419840\": \"vr_ALVR_static\", \"32415744\": \"vr_DGVR_pal_static\", \"32284672\": \"vr_DGVR_static\", \"32280576\": \"vr_ZRVR_pal_static\", \"32149504\": \"vr_ZRVR_static\", \"32145408\": \"vr_GLVR_pal_static\", \"32014336\": \"vr_GLVR_static\", \"32010240\": \"vr_KSVR_pal_static\", \"31879168\": \"vr_KSVR_static\", \"31875072\": \"vr_IPVR_pal_static\", \"31612928\": \"vr_IPVR_static\", \"31608832\": \"vr_KR3VR_pal_static\", \"31412224\": \"vr_KR3VR_static\", \"31408128\": \"vr_KKRVR_pal_static\", \"31145984\": \"vr_KKRVR_static\", \"31141888\": \"vr_MLVR_pal_static\", \"30879744\": \"vr_MLVR_static\", \"30875648\": \"vr_SP1a_pal_static\", \"30744576\": \"vr_SP1a_static\", \"30740480\": \"vr_K5VR_pal_static\", \"30543872\": \"vr_K5VR_static\", \"30539776\": \"vr_K4VR_pal_static\", \"30343168\": \"vr_K4VR_static\", \"30339072\": \"vr_K3VR_pal_static\", \"30142464\": \"vr_K3VR_static\", \"30138368\": \"vr_KHVR_pal_static\", \"29876224\": \"vr_KHVR_static\", \"29872128\": \"vr_LHVR_pal_static\", \"29609984\": \"vr_LHVR_static\", \"29605888\": \"vr_RUVR_pal_static\", \"29343744\": \"vr_RUVR_static\", \"29339648\": \"vr_MNVR_pal_static\", \"29077504\": \"vr_MNVR_static\", \"29073408\": \"vr_MDVR_pal_static\", \"28811264\": \"vr_MDVR_static\", \"28807168\": \"vr_holy1_pal_static\", \"28741632\": \"vr_holy1_static\", \"28737536\": \"vr_holy0_pal_static\", \"28672000\": \"vr_holy0_static\", \"28667904\": \"vr_cloud3_pal_static\", \"28618752\": \"vr_cloud3_static\", \"28614656\": \"vr_cloud2_pal_static\", \"28565504\": \"vr_cloud2_static\", \"28561408\": \"vr_cloud1_pal_static\", \"28512256\": \"vr_cloud1_static\", \"28508160\": \"vr_cloud0_pal_static\", \"28459008\": \"vr_cloud0_static\", \"28454912\": \"vr_fine3_pal_static\", \"28405760\": \"vr_fine3_static\", \"28401664\": \"vr_fine2_pal_static\", \"28352512\": \"vr_fine2_static\", \"28348416\": \"vr_fine1_pal_static\", \"28299264\": \"vr_fine1_static\", \"28295168\": \"vr_fine0_pal_static\", \"28246016\": \"vr_fine0_static\", \"28229632\": \"parameter_static\", \"27934720\": \"title_static\", \"27922432\": \"nintendo_rogo_static\", \"27910144\": \"z_select_static\", \"27897856\": \"g_pn_57\", \"27885568\": \"g_pn_56\", \"27873280\": \"g_pn_55\", \"27860992\": \"g_pn_54\", \"27848704\": \"g_pn_53\", \"27836416\": \"g_pn_52\", \"27824128\": \"g_pn_51\", \"27811840\": \"g_pn_50\", \"27799552\": \"g_pn_49\", \"27787264\": \"g_pn_48\", \"27774976\": \"g_pn_47\", \"27762688\": \"g_pn_46\", \"27750400\": \"g_pn_45\", \"27738112\": \"g_pn_44\", \"27725824\": \"g_pn_43\", \"27713536\": \"g_pn_42\", \"27701248\": \"g_pn_41\", \"27688960\": \"g_pn_40\", \"27676672\": \"g_pn_39\", \"27664384\": \"g_pn_38\", \"27652096\": \"g_pn_37\", \"27639808\": \"g_pn_36\", \"27627520\": \"g_pn_35\", \"27615232\": \"g_pn_34\", \"27602944\": \"g_pn_33\", \"27590656\": \"g_pn_32\", \"27578368\": \"g_pn_31\", \"27566080\": \"g_pn_30\", \"27553792\": \"g_pn_29\", \"27541504\": \"g_pn_28\", \"27529216\": \"g_pn_27\", \"27516928\": \"g_pn_26\", \"27504640\": \"g_pn_25\", \"27492352\": \"g_pn_24\", \"27480064\": \"g_pn_23\", \"27467776\": \"g_pn_22\", \"27455488\": \"g_pn_21\", \"27443200\": \"g_pn_20\", \"27430912\": \"g_pn_19\", \"27418624\": \"g_pn_18\", \"27406336\": \"g_pn_17\", \"27394048\": \"g_pn_16\", \"27381760\": \"g_pn_15\", \"27369472\": \"g_pn_14\", \"27357184\": \"g_pn_13\", \"27344896\": \"g_pn_12\", \"27332608\": \"g_pn_11\", \"27320320\": \"g_pn_10\", \"27308032\": \"g_pn_09\", \"27295744\": \"g_pn_08\", \"27283456\": \"g_pn_07\", \"27271168\": \"g_pn_06\", \"27258880\": \"g_pn_05\", \"27246592\": \"g_pn_04\", \"27234304\": \"g_pn_03\", \"27222016\": \"g_pn_02\", \"27209728\": \"g_pn_01\", \"27090944\": \"object_zl4\", \"27086848\": \"object_timeblock\", \"27082752\": \"object_ouke_haka\", \"27074560\": \"object_door_killer\", \"27070464\": \"object_gi_sword_1\", \"27058176\": \"object_cob\", \"27037696\": \"object_cow\", \"27029504\": \"object_crow\", \"27021312\": \"object_bwall\", \"26968064\": \"object_ps\", \"26963968\": \"object_gs\", \"26947584\": \"object_haka_door\", \"26943488\": \"object_geff\", \"26898432\": \"object_gj\", \"26877952\": \"object_skb\", \"26832896\": \"object_wf\", \"26787840\": \"object_mu\", \"26759168\": \"object_po_composer\", \"26746880\": \"object_spot01_matoyab\", \"26730496\": \"object_spot01_matoya\", \"26726400\": \"object_gi_rupy\", \"26640384\": \"object_ganon_anime3\", \"26570752\": \"object_ganon_anime2\", \"26521600\": \"object_ganon_anime1\", \"26513408\": \"object_gi_dekupouch\", \"26505216\": \"object_efc_doughnut\", \"26443776\": \"object_demo_kekkai\", \"26415104\": \"object_po_field\", \"26398720\": \"object_bowl\", \"26394624\": \"object_gi_soul\", \"26390528\": \"object_gi_ghost\", \"26386432\": \"object_gi_butterfly\", \"26382336\": \"object_gi_insect\", \"26378240\": \"object_gi_fire\", \"26365952\": \"object_dnk\", \"26349568\": \"object_dns\", \"26341376\": \"object_kibako2\", \"26333184\": \"object_spot11_obj\", \"26329088\": \"object_spot01_objects2\", \"26316800\": \"object_jya_door\", \"26304512\": \"object_jya_iron\", \"26271744\": \"object_dog\", \"26230784\": \"object_gr\", \"26181632\": \"object_geldb\", \"26161152\": \"object_shopnuts\", \"26120192\": \"object_gla\", \"26112000\": \"object_spot00_break\", \"26091520\": \"object_rs\", \"26075136\": \"object_hintnuts\", \"26071040\": \"object_bombiwa\", \"26058752\": \"object_spot12_obj\", \"26050560\": \"object_spot05_objects\", \"26017792\": \"object_bg\", \"25989120\": \"object_bigokuta\", \"25964544\": \"object_ssh\", \"25960448\": \"object_gi_goddess\", \"25956352\": \"object_gi_sutaru\", \"25866240\": \"object_fish\", \"25812992\": \"object_ec\", \"25792512\": \"object_ds2\", \"25788416\": \"object_gi_m_arrow\", \"25780224\": \"object_gi_hoverboots\", \"25772032\": \"object_zg\", \"25751552\": \"object_ts\", \"25722880\": \"object_ka\", \"25501696\": \"object_ganon2\", \"25493504\": \"object_gi_gerudomask\", \"25485312\": \"object_gi_zoramask\", \"25477120\": \"object_gi_golonmask\", \"25432064\": \"object_zl2_anime2\", \"25382912\": \"object_zl2_anime1\", \"25370624\": \"object_efc_erupc\", \"25288704\": \"object_gt\", \"25284608\": \"object_door_gerudo\", \"25128960\": \"object_mag\", \"25120768\": \"object_gi_frog\", \"25116672\": \"object_gi_soldout\", \"25112576\": \"object_gi_bracelet\", \"25108480\": \"object_gi_prescription\", \"25071616\": \"object_cs\", \"25047040\": \"object_js\", \"25042944\": \"object_gi_brokensword\", \"25034752\": \"object_gi_ticketstone\", \"25030656\": \"object_gi_mushroom\", \"25026560\": \"object_gi_powder\", \"25022464\": \"object_gi_eye_lotion\", \"25001984\": \"object_os\", \"24985600\": \"object_fa\", \"24948736\": \"object_mm\", \"24944640\": \"object_stream\", \"24940544\": \"object_siofuki\", \"24932352\": \"object_ganon_objects\", \"24924160\": \"object_gi_truth_mask\", \"24920064\": \"object_gi_rabit_mask\", \"24915968\": \"object_gi_skj_mask\", \"24911872\": \"object_gi_redead_mask\", \"24907776\": \"object_gi_ki_tan_mask\", \"24879104\": \"object_fu\", \"24854528\": \"object_mk\", \"24784896\": \"object_owl\", \"24776704\": \"object_gjyo_objects\", \"24768512\": \"object_kanban\", \"24764416\": \"object_gi_coin\", \"24756224\": \"object_gi_gloves\", \"24748032\": \"object_tsubo\", \"24743936\": \"object_kusa\", \"24731648\": \"object_lightswitch\", \"24723456\": \"object_ingate\", \"24694784\": \"object_hs\", \"24678400\": \"object_ms\", \"24674304\": \"object_gm\", \"24592384\": \"object_blkobj\", \"24588288\": \"object_nwc\", \"24551424\": \"object_daiku\", \"24518656\": \"object_toryo\", \"24510464\": \"object_goroiwa\", \"24498176\": \"object_mamenoki\", \"24489984\": \"object_d_lift\", \"24481792\": \"object_d_hsblock\", \"24473600\": \"object_d_elevator\", \"24465408\": \"object_gnd_magic\", \"24461312\": \"object_gi_seed\", \"24453120\": \"object_gi_boots_2\", \"24449024\": \"object_yabusame_point\", \"24403968\": \"object_ge1\", \"24383488\": \"object_bob\", \"24367104\": \"object_fz\", \"24338432\": \"object_spot07_object\", \"24330240\": \"object_spot03_object\", \"24305664\": \"object_boj\", \"24276992\": \"object_ane\", \"24256512\": \"object_ds\", \"24252416\": \"object_gi_ocarina_0\", \"24231936\": \"object_bba\", \"24211456\": \"object_bji\", \"24207360\": \"object_gi_bottle_letter\", \"24170496\": \"object_skj\", \"24162304\": \"object_gi_niwatori\", \"24150016\": \"object_cne\", \"24125440\": \"object_ahg\", \"23990272\": \"object_ik\", \"23965696\": \"object_aob\", \"23961600\": \"object_masterzoora\", \"23957504\": \"object_mastergolon\", \"23945216\": \"object_masterkokirihead\", \"23941120\": \"object_masterkokiri\", \"23932928\": \"object_umajump\", \"23896064\": \"object_kz\", \"23842816\": \"object_zo\", \"23814144\": \"object_kw1\", \"23789568\": \"object_km1\", \"23744512\": \"object_md\", \"23732224\": \"object_spot01_objects\", \"23728128\": \"object_gi_longsword\", \"23724032\": \"object_gi_grass\", \"23719936\": \"object_gi_hammer\", \"23715840\": \"object_gi_saw\", \"23711744\": \"object_gi_fish\", \"23707648\": \"object_gi_bean\", \"23699456\": \"object_gi_clothes\", \"23580672\": \"object_jya_obj\", \"23572480\": \"object_spot15_obj\", \"23568384\": \"object_gi_letter\", \"23560192\": \"object_gi_shield_3\", \"23543808\": \"object_demo_6k\", \"23511040\": \"object_ani\", \"23502848\": \"object_gi_liquid\", \"23494656\": \"object_gi_glasses\", \"23490560\": \"object_gi_bow\", \"23486464\": \"object_gi_boomerang\", \"23482368\": \"object_gi_pachinko\", \"23433216\": \"object_fr\", \"23420928\": \"object_ny\", \"23310336\": \"object_sst\", \"23236608\": \"object_ganon\", \"23199744\": \"object_ma1\", \"23191552\": \"object_gi_milk\", \"23187456\": \"object_gi_ocarina\", \"23179264\": \"object_gi_hookshot\", \"23171072\": \"object_gi_shield_2\", \"23166976\": \"object_gi_scale\", \"23158784\": \"object_gi_egg\", \"23154688\": \"object_gi_bomb_2\", \"23146496\": \"object_gi_arrow\", \"23138304\": \"object_gi_gerudo\", \"23121920\": \"object_anubice\", \"23109632\": \"object_bxa\", \"23105536\": \"object_rr\", \"22863872\": \"object_tw\", \"22818816\": \"object_hni\", \"22810624\": \"object_gi_purse\", \"22769664\": \"object_ma2\", \"22732800\": \"object_oF1s\", \"22728704\": \"object_gi_bomb_1\", \"22720512\": \"object_gi_magicpot\", \"22704128\": \"object_dekujr\", \"22700032\": \"object_gi_shield_1\", \"22634496\": \"object_ru2\", \"22564864\": \"object_oF1d_map\", \"22556672\": \"object_gi_map\", \"22552576\": \"object_gi_stick\", \"22548480\": \"object_gi_bottle\", \"22503424\": \"object_os_anime\", \"22482944\": \"object_oE4s\", \"22454272\": \"object_oE1s\", \"22446080\": \"object_spot16_obj\", \"22368256\": \"object_tr\", \"22265856\": \"object_in\", \"22261760\": \"object_gi_bombpouch\", \"22257664\": \"object_gi_arrowcase\", \"22249472\": \"object_gi_hearts\", \"22159360\": \"object_sa\", \"22151168\": \"object_gi_nuts\", \"22126592\": \"object_gi_medal\", \"22118400\": \"object_gi_bosskey\", \"22114304\": \"object_gi_compass\", \"22110208\": \"object_gi_heart\", \"22106112\": \"object_gi_melody\", \"22093824\": \"object_sb\", \"22052864\": \"object_mo\", \"21950464\": \"object_nb\", \"21934080\": \"object_shop_dungen\", \"21925888\": \"object_spot17_obj\", \"21893120\": \"object_bdoor\", \"21839872\": \"object_spot18_obj\", \"21737472\": \"object_spot09_obj\", \"21721088\": \"object_gi_jewel\", \"21712896\": \"object_brob\", \"21704704\": \"object_mir_ray\", \"21700608\": \"object_gi_key\", \"21696512\": \"object_demo_tre_lgt\", \"21688320\": \"object_efc_tw\", \"21655552\": \"object_rl\", \"21614592\": \"object_dh\", \"21540864\": \"object_fd2\", \"21524480\": \"object_syokudai\", \"21442560\": \"object_ru1\", \"21434368\": \"object_haka\", \"21340160\": \"object_spot02_objects\", \"21303296\": \"object_horse_link_child\", \"21270528\": \"object_fw\", \"21192704\": \"object_du\", \"21118976\": \"object_fd\", \"21045248\": \"object_gndd\", \"21037056\": \"object_heavy_object\", \"20975616\": \"object_po_sisters\", \"20914176\": \"object_rd\", \"20860928\": \"object_sd\", \"20807680\": \"object_bdan_objects\", \"20783104\": \"object_medal\", \"20770816\": \"object_triforce_spot\", \"20762624\": \"object_light_ring\", \"20742144\": \"object_god_lgt\", \"20733952\": \"object_efc_star_field\", \"20725760\": \"object_efc_lgt_shower\", \"20721664\": \"object_efc_flash\", \"20717568\": \"object_efc_fire_ball\", \"20713472\": \"object_efc_crystal_light\", \"20684800\": \"object_hakach_objects\", \"20553728\": \"object_bv\", \"20537344\": \"object_vm\", \"20418560\": \"object_xc\", \"20369408\": \"object_tk\", \"20307968\": \"object_ta\", \"20230144\": \"object_im\", \"20221952\": \"object_vase\", \"20209664\": \"object_trap\", \"20201472\": \"object_pu_box\", \"20193280\": \"object_lightbox\", \"20156416\": \"object_wood02\", \"20144128\": \"object_bird\", \"20131840\": \"object_hata\", \"20127744\": \"object_warp2\", \"20103168\": \"object_spot08_obj\", \"20062208\": \"object_mori_tex\", \"20025344\": \"object_mori_objects\", \"19996672\": \"object_mori_hineri2a\", \"19976192\": \"object_mori_hineri2\", \"19959808\": \"object_mori_hineri1a\", \"19943424\": \"object_relay_objects\", \"19906560\": \"object_ice_objects\", \"19894272\": \"object_spot06_objects\", \"19771392\": \"object_haka_objects\", \"19763200\": \"object_mjin_oka\", \"19759104\": \"object_mjin_wind\", \"19755008\": \"object_mjin_soul\", \"19750912\": \"object_mjin_ice\", \"19746816\": \"object_mjin_flame\", \"19742720\": \"object_mjin_dark\", \"19738624\": \"object_mjin_flash\", \"19730432\": \"object_mjin\", \"19660800\": \"object_zl2\", \"19652608\": \"object_yukabyun\", \"19615744\": \"object_toki_objects\", \"19607552\": \"object_Bb\", \"19582976\": \"object_mori_hineri1\", \"19542016\": \"object_ossan\", \"19464192\": \"object_fhg\", \"19415040\": \"object_mizu_objects\", \"19406848\": \"object_oA11\", \"19394560\": \"object_oA10\", \"19374080\": \"object_vali\", \"19357696\": \"object_oE12\", \"19341312\": \"object_oE11\", \"19329024\": \"object_oE10\", \"19316736\": \"object_oE9\", \"19300352\": \"object_oE8\", \"19288064\": \"object_oE7\", \"19275776\": \"object_oE6\", \"19251200\": \"object_oE5\", \"19214336\": \"object_menkuri_objects\", \"19193856\": \"object_oE4\", \"19161088\": \"object_oE3\", \"19144704\": \"object_dekunuts\", \"19140608\": \"object_b_heart\", \"19128320\": \"object_warp1\", \"19103744\": \"object_opening_demo1\", \"19070976\": \"object_horse_zelda\", \"19062784\": \"object_oB4\", \"19042304\": \"object_oB3\", \"19021824\": \"object_oB2\", \"19017728\": \"object_oA9\", \"19009536\": \"object_oA8\", \"18960384\": \"object_jj\", \"18952192\": \"object_oA7\", \"18944000\": \"object_oA6\", \"18935808\": \"object_oA5\", \"18927616\": \"object_oA4\", \"18915328\": \"object_oA3\", \"18898944\": \"object_dekubaba\", \"18874368\": \"object_am\", \"18796544\": \"object_gnd\", \"18755584\": \"object_ydan_objects\", \"18731008\": \"object_oE2\", \"18706432\": \"object_oE_anime\", \"18677760\": \"object_oE1\", \"18616320\": \"object_sk2\", \"18608128\": \"object_bombf\", \"18522112\": \"object_mb\", \"18513920\": \"object_spot00_objects\", \"18489344\": \"object_oA2\", \"18436096\": \"object_horse_ganon\", \"18337792\": \"object_hidan_objects\", \"18300928\": \"object_ddan_objects\", \"18292736\": \"object_spot04_objects\", \"18280448\": \"object_o_anime\", \"18251776\": \"object_oB1\", \"18210816\": \"object_horse_normal\", \"18194432\": \"object_ei\", \"18182144\": \"object_bw\", \"18157568\": \"object_st\", \"18137088\": \"object_oA1\", \"18128896\": \"object_tp\", \"18104320\": \"object_bl\", \"18083840\": \"object_torch2\", \"18071552\": \"object_dodojr\", \"18063360\": \"object_bubble\", \"18042880\": \"object_gol\", \"17956864\": \"object_zl1\", \"17825792\": \"object_goma\", \"17731584\": \"object_zf\", \"17674240\": \"object_horse\", \"17473536\": \"object_kingdodongo\", \"17465344\": \"object_peehat\", \"17457152\": \"object_reeba\", \"17440768\": \"object_tite\", \"17428480\": \"object_niw\", \"17408000\": \"object_fire\", \"17367040\": \"object_dodongo\", \"17358848\": \"object_firefly\", \"17235968\": \"object_dy_obj\", \"17190912\": \"object_wallmaster\", \"17166336\": \"object_poh\", \"17149952\": \"object_okuta\", \"17068032\": \"object_human\", \"17043456\": \"object_box\", \"16859136\": \"object_link_child\", \"16629760\": \"object_link_boy\", \"16625664\": \"gameplay_object_exchange_static\", \"16527360\": \"gameplay_dangeon_keep\", \"16470016\": \"gameplay_field_keep\", \"16113664\": \"gameplay_keep\", \"16107728\": \"ovl_Shot_Sun\", \"16103456\": \"ovl_Oceff_Wipe4\", \"16097280\": \"ovl_Oceff_Wipe3\", \"16091072\": \"ovl_Oceff_Wipe2\", \"16087456\": \"ovl_Oceff_Wipe\", \"16080112\": \"ovl_Oceff_Storm\", \"16075904\": \"ovl_Oceff_Spot\", \"16062128\": \"ovl_Object_Kankyo\", \"16058880\": \"ovl_Obj_Warp2block\", \"16054640\": \"ovl_Obj_Tsubo\", \"16051120\": \"ovl_Obj_Timeblock\", \"16047824\": \"ovl_Obj_Syokudai\", \"16039472\": \"ovl_Obj_Switch\", \"16038896\": \"ovl_Obj_Roomtimer\", \"16031136\": \"ovl_Obj_Oshihiki\", \"16029168\": \"ovl_Obj_Mure3\", \"16026464\": \"ovl_Obj_Mure2\", \"16021184\": \"ovl_Obj_Mure\", \"16019760\": \"ovl_Obj_Makeoshihiki\", \"16019088\": \"ovl_Obj_Makekinsuta\", \"16013248\": \"ovl_Obj_Lightswitch\", \"16010480\": \"ovl_Obj_Lift\", \"16008688\": \"ovl_Obj_Kibako2\", \"16005312\": \"ovl_Obj_Kibako\", \"16002688\": \"ovl_Obj_Ice_Poly\", \"16000896\": \"ovl_Obj_Hsblock\", \"16000128\": \"ovl_Obj_Hana\", \"15997872\": \"ovl_Obj_Hamishi\", \"15996704\": \"ovl_Obj_Elevator\", \"15994944\": \"ovl_Obj_Dekujr\", \"15992704\": \"ovl_Obj_Comb\", \"15991312\": \"ovl_Obj_Bombiwa\", \"15990912\": \"ovl_Obj_Blockstop\", \"15980192\": \"ovl_Obj_Bean\", \"15973488\": \"ovl_Mir_Ray\", \"15965472\": \"ovl_Magic_Wind\", \"15956368\": \"ovl_Magic_Fire\", \"15949808\": \"ovl_Magic_Dark\", \"15947072\": \"ovl_Item_Shield\", \"15945040\": \"ovl_Item_Ocarina\", \"15944704\": \"ovl_Item_Inbox\", \"15942160\": \"ovl_Item_Etcetera\", \"15940976\": \"ovl_Item_B_Heart\", \"15857312\": \"ovl_Fishing\", \"15840288\": \"ovl_End_Title\", \"15828672\": \"ovl_En_fHG\", \"15818528\": \"ovl_En_Zo\", \"15799472\": \"ovl_En_Zl4\", \"15765680\": \"ovl_En_Zl3\", \"15746704\": \"ovl_En_Zl2\", \"15730752\": \"ovl_En_Zl1\", \"15703392\": \"ovl_En_Zf\", \"15701712\": \"ovl_En_Yukabyun\", \"15698640\": \"ovl_En_Yabusame_Mark\", \"15671072\": \"ovl_En_Xc\", \"15666368\": \"ovl_En_Wood02\", \"15662112\": \"ovl_En_Wonder_Talk2\", \"15658560\": \"ovl_En_Wonder_Talk\", \"15654544\": \"ovl_En_Wonder_Item\", \"15637216\": \"ovl_En_Wf\", \"15630528\": \"ovl_En_Weiyer\", \"15625808\": \"ovl_En_Weather_Tag\", \"15618896\": \"ovl_En_Wallmas\", \"15617056\": \"ovl_En_Wall_Tubo\", \"15610512\": \"ovl_En_Vm\", \"15597648\": \"ovl_En_Viewer\", \"15592944\": \"ovl_En_Vb_Ball\", \"15592704\": \"ovl_En_Vase\", \"15582464\": \"ovl_En_Vali\", \"15578944\": \"ovl_En_Tubo_Trap\", \"15574192\": \"ovl_En_Trap\", \"15567680\": \"ovl_En_Tr\", \"15559728\": \"ovl_En_Tp\", \"15556544\": \"ovl_En_Toryo\", \"15546384\": \"ovl_En_Torch2\", \"15546144\": \"ovl_En_Torch\", \"15538064\": \"ovl_En_Tk\", \"15526160\": \"ovl_En_Tite\", \"15524336\": \"ovl_En_Tg\", \"15523264\": \"ovl_En_Tana\", \"15520752\": \"ovl_En_Takara_Man\", \"15505712\": \"ovl_En_Ta\", \"15497088\": \"ovl_En_Syateki_Niw\", \"15492864\": \"ovl_En_Syateki_Man\", \"15488320\": \"ovl_En_Syateki_Itm\", \"15473856\": \"ovl_En_Sw\", \"15472304\": \"ovl_En_Stream\", \"15455312\": \"ovl_En_Sth\", \"15443872\": \"ovl_En_St\", \"15434112\": \"ovl_En_Ssh\", \"15433152\": \"ovl_En_Skjneedle\", \"15417808\": \"ovl_En_Skj\", \"15411392\": \"ovl_En_Skb\", \"15407776\": \"ovl_En_Siofuki\", \"15406512\": \"ovl_En_Si\", \"15402560\": \"ovl_En_Shopnuts\", \"15396352\": \"ovl_En_Sda\", \"15395920\": \"ovl_En_Scene_Change\", \"15390672\": \"ovl_En_Sb\", \"15381824\": \"ovl_En_Sa\", \"15369520\": \"ovl_En_Ru2\", \"15338480\": \"ovl_En_Ru1\", \"15328288\": \"ovl_En_Rr\", \"15323792\": \"ovl_En_Rl\", \"15321360\": \"ovl_En_River_Sound\", \"15314096\": \"ovl_En_Reeba\", \"15303648\": \"ovl_En_Rd\", \"15302816\": \"ovl_En_Pu_box\", \"15285552\": \"ovl_En_Poh\", \"15265648\": \"ovl_En_Po_Sisters\", \"15259424\": \"ovl_En_Po_Relay\", \"15244144\": \"ovl_En_Po_Field\", \"15240480\": \"ovl_En_Po_Desert\", \"15226128\": \"ovl_En_Peehat\", \"15220288\": \"ovl_En_Part\", \"15204240\": \"ovl_En_Owl\", \"15174928\": \"ovl_En_Ossan\", \"15165136\": \"ovl_En_Okuta\", \"15158672\": \"ovl_En_Okarina_Tag\", \"15157200\": \"ovl_En_Okarina_Effect\", \"15157008\": \"ovl_En_OE2\", \"15150112\": \"ovl_En_Ny\", \"15147344\": \"ovl_En_Nwc\", \"15145664\": \"ovl_En_Nutsball\", \"15137968\": \"ovl_En_Niw_Lady\", \"15134704\": \"ovl_En_Niw_Girl\", \"15120368\": \"ovl_En_Niw\", \"15101440\": \"ovl_En_Nb\", \"15099024\": \"ovl_En_Mu\", \"15097232\": \"ovl_En_Ms\", \"15093440\": \"ovl_En_Mm2\", \"15087584\": \"ovl_En_Mm\", \"15083888\": \"ovl_En_Mk\", \"15073984\": \"ovl_En_Md\", \"15057088\": \"ovl_En_Mb\", \"15047536\": \"ovl_En_Mag\", \"15043344\": \"ovl_En_Ma3\", \"15038992\": \"ovl_En_Ma2\", \"15034112\": \"ovl_En_Ma1\", \"15028304\": \"ovl_En_M_Thunder\", \"15027888\": \"ovl_En_M_Fire1\", \"15026752\": \"ovl_En_Lightbox\", \"15023024\": \"ovl_En_Light\", \"15017408\": \"ovl_En_Kz\", \"15011856\": \"ovl_En_Kusa\", \"14994976\": \"ovl_En_Ko\", \"14988224\": \"ovl_En_Karebaba\", \"14974992\": \"ovl_En_Kanban\", \"14970256\": \"ovl_En_Kakasi3\", \"14966912\": \"ovl_En_Kakasi2\", \"14963168\": \"ovl_En_Kakasi\", \"14943088\": \"ovl\n\n<!-- File: tools/asm-differ/README.md (Tokens: ~521 | Category: plugin-manifest) -->\n# asm-differ\n\nNice differ for assembly code. Currently supports MIPS, PPC, AArch64, ARM32, SH2, SH4, and m68k; should be easy to hack to support other instruction sets.\n\n![](screenshot.png)\n\n## Dependencies\n\n- Python >= 3.6\n- `python3 -m pip install --user colorama watchdog levenshtein cxxfilt` (also `dataclasses` if on 3.6)\n\n## Usage\n\nCreate a file `diff_settings.py` in some directory (see the one in this repo for an example). Then from that directory, run\n\n```bash\n/path/to/diff.py [flags] (function|rom addr)\n```\n\nRecommended flags are `-mwo` (automatically run `make` on source file changes, and include symbols in diff). See `--help` for more details.\n\n### Tab completion\n\n[argcomplete](https://kislyuk.github.io/argcomplete/) can be optionally installed (with `python3 -m pip install argcomplete`) to enable tab completion in a bash shell, completing options and symbol names using the linker map. It also requires a bit more setup:\n\nIf invoking the script **exactly** as `./diff.py`, the following should be added to the `.bashrc` according to argcomplete's instructions:\n\n```bash\neval \"$(register-python-argcomplete ./diff.py)\"\n```\n\nIf that doesn't work, run `register-python-argcomplete ./diff.py` in your terminal and copy the output to `.bashrc`.\n\nIf setup correctly (don't forget to restart the shell), `complete | grep ./diff.py` should output:\n\n```bash\ncomplete -o bashdefault -o default -o nospace -F _python_argcomplete ./diff.py\n```\n\nNote for developers or for general troubleshooting: run `export _ARC_DEBUG=` to enable debug output during tab-completion, it may show otherwise silenced errors. Use `unset _ARC_DEBUG` or restart the terminal to disable.\n\n### Contributing\n\nContributions are very welcome! Some notes on workflow:\n\n`black` is used for code formatting. You can either run `black diff.py` manually, or set up a pre-commit hook:\n```bash\npip install pre-commit black\npre-commit install\n```\n\nType annotations are used for all Python code. `mypy` should pass without any errors.\n\nPRs that skip the above are still welcome, however.\n\nThe targeted Python version is 3.6. There are currently no tests.\n\n<!-- File: tools/assets/descriptor/README.md (Tokens: ~12 | Category: plugin-manifest) -->\nThis package serves as an abstraction layer wrapping assets xml files.\n\n<!-- File: tools/audio/README.md (Tokens: ~758 | Category: plugin-manifest) -->\n# Z64 Audio Tools\n\nThe Z64 Audio Tools work together to implement the full audio asset pipeline\n\n![](../../docs/audio/build_flowchart.png)\n\n**Licensing Information**\n* The programs `atblgen`, `sampleconv`, `sbc` and `sfc` are (mostly) distributed under MPL-2.0. The VADPCM encoding and decoding portions of `sampleconv` are under CC0-1.0.\n* The programs `sfpatch` and `afile_sizes` are distributed under CC0-1.0.\n* The extraction tool is distributed under CC0-1.0.\n\n## sampleconv\n\nConverts aifc <-> aiff / wav\n\nUsed in extraction and build to convert audio sample data between uncompressed mono 16-bit PCM and the compressed formats used by the audio driver.\n\n## SampleBank Compiler (sbc)\n\nConverts samplebank xml + aifc -> asm\n\nSamplebanks are converted to assembly files for building as it is easier to define the necessary absolute symbols, and they are pure unstructured data.\n\n## SoundFont Compiler (sfc)\n\nConverts soundfont & samplebank xml + aifc -> C\n\nSoundfonts are converted to C rather than assembly as it shares data structures with the audio driver code. Modifying the structures used by the driver without updating `sfc` to write them should error at compile-time rather than crash at runtime.\n\n## sfpatch\n\n`Usage: sfpatch in.elf out.elf`\n\nThis tool patches the symbol table of an ELF file (`in.elf`) to make every defined symbol in the file an absolute symbol. This is a required step for building soundfonts from C source as all pointers internal to a soundfont are offset from the start of the soundfont file and not the audiobank segment as a whole. Making all defined symbols ABS symbols prevents the linker from updating their values later, ensuring they remain file-relative.\n\n## atblgen\n\nGenerates various audio code tables.\n\n- Samplebank table: Specifies where in the `Audiotable` file each samplebank begins and how large it is.\n- Soundfont table: Specifies where in the `Audiobank` files each soundfont begins, how large it is, which samplebanks it uses, and how many instruments/drums/sfx it contains.\n- Sequence font table: Contains information on what soundfonts each sequence uses. Generated from the sequence object files that embed a `.note.fonts` section that holds this information.\n\nThe sequence table is not generated as some things in that table are better left manually specified, such as sequence enum names and flags. This also lets us have the sequence table before assembling any sequence files which is nice for some sequence commands like `runseq`.\n\n## afile_sizes\n\nProduces header files containing binary file sizes for a given set of object files. Used to produce headers containing soundfont and sequence files and the number of each for use in code files.\n\n## extraction\n\nThis collection of python files implements the extraction of audio data from a base ROM.\n\nFiles that are designed to be used externally include:\n- `audio_extract.py` is the main file for audio extraction, it expects an external script to call `extract_audio_for_version` with the necessary inputs.\n- `disassemble_sequence.py` is runnable but is not used in this way in either extraction or building. It may be used to manually disassemble a sequence binary.\n- `tuning.py` is runnable but is not used that way in either extraction or building. It may be used to manually determine alternative matches for the samplerate and basenote of a sample as the extraction procedure cannot always determine these uniquely.\n\nSee individual python source files for further details on their purposes.\n\n<!-- File: tools/com-plugin/README.md (Tokens: ~367 | Category: plugin-manifest) -->\n# COMMON symbol ordering linker plugin\n\nThis repository contains a plugin for linkers that support the External Linker Plugin API that allows providing a manual specification for COMMON symbol ordering, intended to support matching decompilations that must reproduce an order for COMMON symbols whose names are unknown. Currently only 32-bit Big-Endian MIPS ELF object files are supported.\n\n## How it works\n\nThe plugin expects a symbol order txt file listing the COMMON symbols in order on each line. The plugin searches each input file for the symbol definitions for these and emits a new ELF file containing BSS definitions for each COMMON symbol found with the appropriate size and alignment. This ELF file is then added as an extra input file to the linker, overriding the COMMON definitions in the other input files.\n\n## Usage\n\nAdd `-plugin common-plugin.so -plugin-opt order=bss_order.txt` to the linker invocation, replacing `bss_order.txt` with an alternative path if desired.\n\nAn optional argument `-plugin-opt min_align=N` can specify the minimum alignment for the bss output files. If unset, the minimum alignment is 0: the resulting section alignment is equal to the minimum alignment required by the symbols.\n\nAlso add any bss output files mentioned in the order file to the linker script (e.g. `bss.o` would be added as `*bss.o(.bss*)`) so that the additional input file is not discarded, if required.\n\n### **Symbol order file syntax**\n\n```\n<ofile> {\n    <sym1>;\n    <sym2>;\n    <sym3>;\n    [...]\n}\n[...]\n```\n\nThe order file supports 2 styles of single-line comments (`//` and `#`) and C-style multi-line comments and ignores whitespace.\n\n## Building\n\nRun `make` to build `common-plugin.so`.\n\n<!-- File: tools/fado/lib/vc_vector/README.md (Tokens: ~564 | Category: plugin-manifest) -->\n# vc_vector\nFast simple C vector implementation\n\n[![Build Status: make && make test](https://travis-ci.org/skogorev/vc_vector.svg)](https://travis-ci.org/skogorev/vc_vector)\n\n## Usage\n\n### Basic\n```c\n#include \"vc_vector.h\"\n\nint main() {\n  // Creates an empty vector with the default reserved size\n  // and without custom deleter. Vector will contain 'int'\n  vc_vector* v = vc_vector_create(0, sizeof(int), NULL);\n  if (!v) {\n    return 1;\n  }\n\n  const int count = 10;\n  for (int i = 0; i < count; ++i) {\n    // The function takes a pointer to the elements,\n    // but the vector will make a copy of the element\n    vc_vector_push_back(v, &i);\n  }\n\n  // Print each vector element\n  for (void* i = vc_vector_begin(v);\n             i != vc_vector_end(v);\n             i = vc_vector_next(v, i)) {\n    printf(\"%u; \", *(int*)i);\n  }\n\n  vc_vector_release(v);\n  return 0;\n}\n```\n\n### Advanced\n```c\n#include \"vc_vector.h\"\n\nstruct Item {\n  int val1;\n  int val2;\n};\n\nint main() {\n  const int n = 10;\n\n  // Creates an empty vector with the reserved size for the 'n' elements\n  // and with custom deleter 'free'. Vector will contain pointers to 'Item'\n  vc_vector* v = vc_vector_create(n, sizeof(struct Node*), free);\n  if (!v) {\n    return 1;\n  }\n\n  struct Item* item = NULL;\n  const int count = n + 1;\n  // Vector automatically increases the reserved size when 'n + 1' will be added\n  for (int i = 0; i < count; ++i) {\n    // Creating item\n    item = malloc(sizeof(struct Item));\n    if (!item) {\n      continue;\n    }\n\n    item->val1 = i;\n    item->val2 = 0;\n\n    // Pushing to the end of the vector\n    if (!vc_vector_push_back(v, item)) {\n      // If the item was not pushed, you have to delete it\n      free(item);\n    }\n  }\n\n  // ...\n\n  // Calls custom deleter 'free' for all items\n  // and releases the vector\n  vc_vector_release(v);\n  return 0;\n}\n```\n\n## Projects that use vc_vector\n[kraken.io](https://kraken.io/)\n\n## License\n\n[MIT License](LICENSE.md)\n\n<!-- File: tools/fado/README.md (Tokens: ~1163 | Category: plugin-manifest) -->\n# fado\n*Fairy-Assisted (relocations for) Decomplied Overlays*\n<!-- Nice backronym... -->\n\nContains\n- **Fairy** a library for reading relocatable MIPS ELF object files (big-endian, suitable for Nintendo 64 games)\n- **Fado** a program for generating the `.ovl`/relocation section for Zelda64 overlay files\n- **Mido** an automatic dependency file generator\n\nCompatible with both IDO and GCC (although [see below](N_B)). Both ordinary MIPS REL sections and RELA sections are now supported.\n\nOutput format is the standard \"Zelda64\" .ovl section, with the relocs divided by section, as used by\n- *The Legend of Zelda: Ocarina of Time* (all Nintendo 64/Gamecube/iQue releases)\n- *The Legend of Zelda: Majora's Mask* (all Nintendo 64/Gamecube releases)\n\nIn theory it will also work for other Nintendo 64 games that use this system, such as *Yoshi's Story*, but has yet to be tested with these.\n\n\n## Explanation\n\nThe overlay relocation sections used by Zelda64 is described [here](z64_relocation_section_format.md). Fado will produce a `.ovl` section compatible with this format, although as noted there, some compilers need persuasion to produce compatible objects.\n\n\n## How to use\n\nCompile by running `make`.\n\nA standalone invocation of Fado would look something like\n\n```sh\n./fado.elf z_en_hs2.o -n ovl_En_Hs2 -o ovl_En_Hs2_reloc.s\n```\nThis takes as input the compiled object file from the C file (e.g. [this one](https://github.com/zeldaret/oot/blob/eadc477187888e1ae078d021b4a00b1366f0c9a4/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c)), the name of the overlay (`ovl_En_Hs2`) and will output an assembly file `ovl_En_Hs2_reloc.s` containing the relocation section. An example output is included in the repo [here](ovl_En_Hs_reloc.s). Fado will print information from the object file to assist with debugging, by splitting relocs by section, and for each, printing the type, offset, and associated symbol (or section if static):\n\n```mips\n# TEXT RELOCS\n.word 0x45000084 # R_MIPS_HI16 0x000084 .data\n.word 0x4600008C # R_MIPS_LO16 0x00008C .data\n.word 0x450000B4 # R_MIPS_HI16 0x0000B4 .rodata\n.word 0x460000BC # R_MIPS_LO16 0x0000BC .rodata\n.word 0x450000C0 # R_MIPS_HI16 0x0000C0 func_80A6F1A4\n.word 0x460000C4 # R_MIPS_LO16 0x0000C4 func_80A6F1A4\n```\n\nIf invoking in a makefile, you will probably want to generate these from a predefined filelist, and with the appropriate dependencies. [The Ocarina of Time decomp repository](http://github.com/zeldaret/oot) contains an example of how to do this using a supplementary program to parse the `spec` format.\n\nMore information can be obtained by running\n\n```sh\n./fado.elf --help\n```\n\nwhich contains information on the various options, such as automatic dependency file generation, etc.\n\n\n## N.B.\n\n- Fado expects the linker script to output symbols for the section sizes, and for them to be declared separately, in the format\n\n```\n_SEGMENTNAMESegmentSECTIONSize\n```\n\ne.g.\n\n```\n_ovl_En_Hs2SegmentTextSize\n```\n\netc.\n\n- By default Fado expects sections to be 0x10-aligned, as is usual for IDO. Some versions of GCC like to align sections to smaller widths, which Fado will handle appropriately, but the linker script must also address this, and at least the default settings seem unable to size the sections correctly due ot placing `fill`s in the wrong places. For now it is recommended to manually align sections to 0x10 if the compiler does not automatically.\n  - The experimental flag `--alignment`/`-a` can be passed to Fado, and it will use the alignment declared by each section in the elf file instead of padding them to 0x10 bytes, It should be noted this option has not been fully tested because currently we don't have any linker script tool that can properly address the incorrect placing of `fill`s. Fado must be rebuilt passing `EXPERIMENTAL=1` to be able to use this flag.\n\n- To prevent GCC producing non-compliant HI/LOs, you must pass *both* of the following compiler flags: `-mno-explicit-relocs -mno-split-addresses`. See [here](z64_relocation_section_format.md#hilo) for more details.\n\n- It is recommended, though not strictly required, that `-fno-merge-constants` is used for GCC, to avoid unpredictable section sizes, and comply with the Zelda64 relocation format's expectation of at most one rodata section. See [here](z64_relocation_section_format.md#rodata) for more details.\n\n<!-- File: .cursorrules (java-springboot-jpa-cursorrules-prompt-file.mdc) (Tokens: ~963 | Category: cursor-rule) -->\n---\ndescription: \"Cursor rules for Java development with Springboot and JPA integration.\"\nglobs: **/*\nalwaysApply: false\n---\n## Instruction to developer: save this file as .cursorrules and place it on the root project directory\n\nAI Persona：\n\nYou are an experienced Senior Java Developer, You always adhere to SOLID principles, DRY principles, KISS principles and YAGNI principles. You always follow OWASP best practices. You always break task down to smallest units and approach to solve any task in step by step manner.\n\nTechnology stack：\n\nFramework: Java Spring Boot 3 Maven with Java 17 Dependencies: Spring Web, Spring Data JPA, Thymeleaf, Lombok, PostgreSQL driver\n\nApplication Logic Design：\n\n1. All request and response handling must be done only in RestController.\n2. All database operation logic must be done in ServiceImpl classes, which must use methods provided by Repositories.\n3. RestControllers cannot autowire Repositories directly unless absolutely beneficial to do so.\n4. ServiceImpl classes cannot query the database directly and must use Repositories methods, unless absolutely necessary.\n5. Data carrying between RestControllers and serviceImpl classes, and vice versa, must be done only using DTOs.\n6. Entity classes must be used only to carry data out of database query executions.\n\nEntities\n\n1. Must annotate entity classes with @Entity.\n2. Must annotate entity classes with @Data (from Lombok), unless specified in a prompt otherwise.\n3. Must annotate entity ID with @Id and @GeneratedValue(strategy=GenerationType.IDENTITY).\n4. Must use FetchType.LAZY for relationships, unless specified in a prompt otherwise.\n5. Annotate entity properties properly according to best practices, e.g., @Size, @NotEmpty, @Email, etc.\n\nRepository (DAO):\n\n1. Must annotate repository classes with @Repository.\n2. Repository classes must be of type interface.\n3. Must extend JpaRepository with the entity and entity ID as parameters, unless specified in a prompt otherwise.\n4. Must use JPQL for all @Query type methods, unless specified in a prompt otherwise.\n5. Must use @EntityGraph(attributePaths={\"relatedEntity\"}) in relationship queries to avoid the N+1 problem.\n6. Must use a DTO as The data container for multi-join queries with @Query.\n\nService：\n\n1. Service classes must be of type interface.\n2. All service class method implementations must be in ServiceImpl classes that implement the service class,\n3. All ServiceImpl classes must be annotated with @Service.\n4. All dependencies in ServiceImpl classes must be @Autowired without a constructor, unless specified otherwise.\n5. Return objects of ServiceImpl methods should be DTOs, not entity classes, unless absolutely necessary.\n6. For any logic requiring checking the existence of a record, use the corresponding repository method with an appropriate .orElseThrow lambda method.\n7. For any multiple sequential database executions, must use @Transactional or transactionTemplate, whichever is appropriate.\n\nData Transfer object (DTo)：\n\n1. Must be of type record, unless specified in a prompt otherwise.\n2. Must specify a compact canonical constructor to validate input parameter data (not null, blank, etc., as appropriate).\n\nRestController:\n\n1. Must annotate controller classes with @RestController.\n2. Must specify class-level API routes with @RequestMapping, e.g. (\"/api/user\").\n3. Use @GetMapping for fetching, @PostMapping for creating, @PutMapping for updating, and @DeleteMapping for deleting. Keep paths resource-based (e.g., '/users/{id}'), avoiding verbs like '/create', '/update', '/delete', '/get', or '/edit'\n4. All dependencies in class methods must be @Autowired without a constructor, unless specified otherwise.\n5. Methods return objects must be of type Response Entity of type ApiResponse.\n6. All class method logic must be implemented in a try..catch block(s).\n7. Caught errors in catch blocks must be handled by the Custom GlobalExceptionHandler class.\n\nApiResponse Class (/ApiResponse.java):\n\n@Data\n@NoArgsConstructor\n@AllArgsConstructor\npublic class ApiResponse<T> {\n  private String result;    // SUCCESS or ERROR\n  private String message;   // success or error message\n  private T data;           // return object from service class, if successful\n}\n\nGlobalExceptionHandler Class (/GlobalExceptionHandler.java)\n\n@RestControllerAdvice\npublic class GlobalExceptionHandler {\n\n    public static ResponseEntity<ApiResponse<?>> errorResponseEntity(String message, HttpStatus status) {\n      ApiResponse<?> response = new ApiResponse<>(\"error\", message, null)\n      return new ResponseEntity<>(response, status);\n    }\n\n    @ExceptionHandler(IllegalArgumentException.class)\n    public ResponseEntity<ApiResponse<?>> handleIllegalArgumentException(IllegalArgumentException ex) {\n        return new ResponseEntity<>(ApiResponse.error(400, ex.getMessage()), HttpStatus.BAD_REQUEST);\n    }\n}\n</yakaai_skills>"}