mirror of
https://github.com/zeldaret/oot.git
synced 2025-07-03 06:24:30 +00:00
Decompile Gameplay_Keep and fix all existing decompiled objects (#595)
* First batch of files * Add missing folders back * Fix missing folders again * Finish fixing existing texture files * Gameplay_Keep XML finished * Most actor gameplay_keep undefined syms removed * Only ~200 gkeep symbols remain * All gkeep symbols that ZAP supports are fixed * Cleanup, and make gkeep names more accurate * Starting to figure out what some unknown blobs are, merge zeldaret in * fix a few more things * refactor gkeep * Change how gitkeep is handled * gkeep xml cleanup * Gkeep finished, now just waiting up ZAP updates * 100 link animations finished * 150 link animations finished * 200 link animations finished * 250 link animations finished * 350 link animations finished * 400 link animations finished * 450 link animations finished * 500 link animations finished * 550 link animations finished * All Link animations finished cannot build yet because ZAP doesn't have LinkAnimationHeader yet * xml changes for new zap stuff * finish gameplay_keep * fixing existing objects * ready for pr besides zap padding issue * mostly ready for pr * format all c files * all conflicts fixed * make changes that roman requested * fix thing i didn't mean to change * some animation symbols renamed * fixed roman's stuff * lifemeter hardcoded pointers removed * fix issue with incorrect data in gameplay_keep * removed unused asm * fixed most of fig's comments * fix all of fig's comments * reformat files * Update assets/xml/textures/icon_item_static.xml Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * Update assets/xml/textures/icon_item_static.xml Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * fixed stuff * fixed most of roman's comments * remove leading zeroes * should build now * git subrepo pull --force tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "f84d8337b" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "f84d8337b" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * all of gkeep symbols fixed * compiler error fixed * format files * final changes Co-authored-by: Zelllll <elijah@DESKTOP-NMP1I89.localdomain> Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
This commit is contained in:
parent
84195fcef6
commit
20c1f4e648
198 changed files with 4775 additions and 4232 deletions
|
@ -6,7 +6,7 @@
|
|||
[subrepo]
|
||||
remote = https://github.com/zeldaret/ZAPD.git
|
||||
branch = master
|
||||
commit = 2e1174063f3ed6bcf929bc7093cd2d1b05f8518b
|
||||
parent = d73976503126d10a82016f8f72fac4092dff1932
|
||||
commit = f84d8337bdc55f39dfa5a6dbb39a4fcae0b24e1c
|
||||
parent = 1d4d75f09bc6939438dd4b0fe6e1c212c3f1e198
|
||||
method = merge
|
||||
cmdver = 0.4.3
|
||||
|
|
|
@ -26,6 +26,17 @@ public:
|
|||
|
||||
static void CreateDirectory(const std::string& path)
|
||||
{
|
||||
fs::create_directory(path);
|
||||
std::string curPath = "";
|
||||
std::vector<std::string> split = StringHelper::Split(path, "/");
|
||||
|
||||
for (std::string s : split)
|
||||
{
|
||||
curPath += s + "/";
|
||||
|
||||
if (!Exists(curPath))
|
||||
fs::create_directory(curPath);
|
||||
}
|
||||
|
||||
//fs::create_directory(path);
|
||||
}
|
||||
};
|
||||
|
|
|
@ -17,6 +17,7 @@ Globals::Globals()
|
|||
symbolMap = std::map <uint32_t, std::string>();
|
||||
segmentRefs = map<int, string>();
|
||||
segmentRefFiles = map<int, ZFile*>();
|
||||
game = ZGame::OOT_RETAIL;
|
||||
genSourceFile = true;
|
||||
testMode = false;
|
||||
profile = false;
|
||||
|
@ -117,3 +118,12 @@ bool Globals::HasSegment(int segment)
|
|||
{
|
||||
return std::find(segments.begin(), segments.end(), segment) != segments.end();
|
||||
}
|
||||
|
||||
GameConfig::GameConfig()
|
||||
{
|
||||
segmentRefs = map<int, string>();
|
||||
segmentRefFiles = map<int, ZFile*>();
|
||||
symbolMap = std::map<uint32_t, std::string>();
|
||||
actorList = std::vector<std::string>();
|
||||
objectList = std::vector<std::string>();
|
||||
}
|
||||
|
|
|
@ -13,6 +13,8 @@ typedef enum VerbosityLevel {
|
|||
VERBOSITY_DEBUG
|
||||
} VerbosityLevel;
|
||||
|
||||
class GameConfig;
|
||||
|
||||
class Globals
|
||||
{
|
||||
public:
|
||||
|
@ -27,6 +29,7 @@ public:
|
|||
ZFileMode fileMode;
|
||||
std::string baseRomPath, inputPath, outputPath, cfgPath;
|
||||
TextureType texType;
|
||||
ZGame game;
|
||||
|
||||
std::vector<ZFile*> files;
|
||||
std::vector<int> segments;
|
||||
|
@ -43,6 +46,21 @@ public:
|
|||
bool HasSegment(int segment);
|
||||
};
|
||||
|
||||
class GameConfig
|
||||
{
|
||||
public:
|
||||
std::map<int, std::string> segmentRefs;
|
||||
std::map<int, ZFile*> segmentRefFiles;
|
||||
std::map<uint32_t, std::string> symbolMap;
|
||||
std::vector<std::string> actorList;
|
||||
std::vector<std::string> objectList;
|
||||
|
||||
GameConfig();
|
||||
|
||||
private:
|
||||
|
||||
};
|
||||
|
||||
/*
|
||||
* Note: In being able to track references across files, there are a few major files that make use of segments...
|
||||
* Segment 1: nintendo_rogo_static/title_static
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include "Overlays/ZOverlay.h"
|
||||
#include "Path.h"
|
||||
#include "File.h"
|
||||
#include "Directory.h"
|
||||
#include "Globals.h"
|
||||
|
||||
#if !defined(_MSC_VER) && !defined(__CYGWIN__)
|
||||
|
|
|
@ -199,7 +199,7 @@
|
|||
<Filter>Source Files\Z64</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ZVtx.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
<Filter>Source Files\Z64</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
|
|
@ -37,8 +37,6 @@ void ZAnimation::Save(const std::string& outFolder)
|
|||
void ZAnimation::ParseXML(tinyxml2::XMLElement* reader)
|
||||
{
|
||||
ZResource::ParseXML(reader);
|
||||
|
||||
name = reader->Attribute("Name");
|
||||
}
|
||||
|
||||
string ZAnimation::GetSourceOutputCode(const std::string& prefix)
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -9,6 +9,60 @@
|
|||
#include <map>
|
||||
#include <string>
|
||||
|
||||
enum class F3DEXOpcode
|
||||
{
|
||||
G_SPNOOP = 0x00,
|
||||
G_MTX = 0x01,
|
||||
G_MOVEMEM = 0x03,
|
||||
G_VTX = 0x04,
|
||||
G_DL = 0x06,
|
||||
G_LOAD_UCODE = 0xAF,
|
||||
G_BRANCH_Z = 0xB0,
|
||||
G_TRI2 = 0xB1,
|
||||
G_MODIFYVTX = 0xB2,
|
||||
G_RDPHALF_2 = 0xB3,
|
||||
G_RDPHALF_1 = 0xB4,
|
||||
G_QUAD = 0xB5,
|
||||
G_CLEARGEOMETRYMODE = 0xB6,
|
||||
G_SETGEOMETRYMODE = 0xB7,
|
||||
G_ENDDL = 0xB8,
|
||||
G_SETOTHERMODE_L = 0xB9,
|
||||
G_SETOTHERMODE_H = 0xBA,
|
||||
G_TEXTURE = 0xBB,
|
||||
G_MOVEWORD = 0xBC,
|
||||
G_POPMTX = 0xBD,
|
||||
G_CULLDL = 0xBE,
|
||||
G_TRI1 = 0xBF,
|
||||
G_NOOP = 0xC0,
|
||||
G_TEXRECT = 0xE4,
|
||||
G_TEXRECTFLIP = 0xE5,
|
||||
G_RDPLOADSYNC = 0xE6,
|
||||
G_RDPPIPESYNC = 0xE7,
|
||||
G_RDPTILESYNC = 0xE8,
|
||||
G_RDPFULLSYNC = 0xE9,
|
||||
G_SETKEYGB = 0xEA,
|
||||
G_SETKEYR = 0xEB,
|
||||
G_SETCONVERT = 0xEC,
|
||||
G_SETSCISSOR = 0xED,
|
||||
G_SETPRIMDEPTH = 0xEE,
|
||||
G_RDPSETOTHERMODE = 0xEF,
|
||||
G_LOADTLUT = 0xF0,
|
||||
G_SETTILESIZE = 0xF2,
|
||||
G_LOADBLOCK = 0xF3,
|
||||
G_LOADTILE = 0xF4,
|
||||
G_SETTILE = 0xF5,
|
||||
G_FILLRECT = 0xF6,
|
||||
G_SETFILLCOLOR = 0xF7,
|
||||
G_SETFOGCOLOR = 0xF8,
|
||||
G_SETBLENDCOLOR = 0xF9,
|
||||
G_SETPRIMCOLOR = 0xFA,
|
||||
G_SETENVCOLOR = 0xFB,
|
||||
G_SETCOMBINE = 0xFC,
|
||||
G_SETTIMG = 0xFD,
|
||||
G_SETZIMG = 0xFE,
|
||||
G_SETCIMG = 0xFF
|
||||
};
|
||||
|
||||
enum class F3DZEXOpcode
|
||||
{
|
||||
G_NOOP = 0x00,
|
||||
|
@ -83,6 +137,12 @@ enum class F3DZEXTexSizes
|
|||
G_IM_SIZ_32b
|
||||
};
|
||||
|
||||
enum class DListType
|
||||
{
|
||||
F3DZEX,
|
||||
F3DEX,
|
||||
};
|
||||
|
||||
enum class OoTSegments
|
||||
{
|
||||
DirectReference = 0,
|
||||
|
@ -104,6 +164,11 @@ enum class OoTSegments
|
|||
FrameBuffer = 16,
|
||||
};
|
||||
|
||||
#define G_MDSFT_ALPHACOMPARE 0
|
||||
#define G_MDSFT_ZSRCSEL 2
|
||||
#define G_MDSFT_RENDERMODE 3
|
||||
#define G_MDSFT_BLENDER 16
|
||||
|
||||
#define G_RM_FOG_SHADE_A 0xC8000000
|
||||
#define G_RM_FOG_PRIM_A 0xC4000000
|
||||
#define G_RM_PASS 0x0C080000
|
||||
|
@ -198,6 +263,24 @@ enum class OoTSegments
|
|||
#define G_RM_OPA_CI 0x0C080000
|
||||
#define G_RM_OPA_CI2 0x03020000
|
||||
|
||||
#define AA_EN 0x8
|
||||
#define Z_CMP 0x10
|
||||
#define Z_UPD 0x20
|
||||
#define IM_RD 0x40
|
||||
#define CLR_ON_CVG 0x80
|
||||
#define CVG_DST_CLAMP 0
|
||||
#define CVG_DST_WRAP 0x100
|
||||
#define CVG_DST_FULL 0x200
|
||||
#define CVG_DST_SAVE 0x300
|
||||
#define ZMODE_OPA 0
|
||||
#define ZMODE_INTER 0x400
|
||||
#define ZMODE_XLU 0x800
|
||||
#define ZMODE_DEC 0xc00
|
||||
#define CVG_X_ALPHA 0x1000
|
||||
#define ALPHA_CVG_SEL 0x2000
|
||||
#define FORCE_BL 0x4000
|
||||
#define TEX_EDGE 0x0000
|
||||
|
||||
class Vertex
|
||||
{
|
||||
public:
|
||||
|
@ -223,16 +306,44 @@ protected:
|
|||
static TextureType TexFormatToTexType(F3DZEXTexFormats fmt, F3DZEXTexSizes siz);
|
||||
void ParseRawData();
|
||||
|
||||
void ParseF3DZEX(F3DZEXOpcode opcode, uint64_t data, int i, std::string prefix, char* line);
|
||||
void ParseF3DEX(F3DEXOpcode opcode, uint64_t data, int i, std::string prefix, char* line);
|
||||
|
||||
// Various Instruction Optimizations
|
||||
bool SequenceCheck(std::vector<F3DZEXOpcode> sequence, int startIndex);
|
||||
int OptimizationChecks(int startIndex, std::string& output, std::string prefix);
|
||||
int OptimizationCheck_LoadTextureBlock(int startIndex, std::string& output, std::string prefix);
|
||||
int OptimizationCheck_LoadMultiBlock(int startIndex, std::string& output, std::string prefix);
|
||||
|
||||
// F3DEX Specific Opcode Values
|
||||
void Opcode_F3DEX_G_SETOTHERMODE_L(uint64_t data, int i, std::string prefix, char* line);
|
||||
|
||||
// Shared Opcodes between F3DZEX and F3DEX
|
||||
void Opcode_G_DL(uint64_t data, int i, std::string prefix, char* line);
|
||||
void Opcode_G_MODIFYVTX(uint64_t data, int i, std::string prefix, char* line);
|
||||
void Opcode_G_CULLDL(uint64_t data, int i, std::string prefix, char* line);
|
||||
void Opcode_G_TRI1(uint64_t data, int i, std::string prefix, char* line);
|
||||
void Opcode_G_TRI2(uint64_t data, int i, std::string prefix, char* line);
|
||||
void Opcode_G_MTX(uint64_t data, int i, std::string prefix, char* line);
|
||||
void Opcode_G_VTX(uint64_t data, int i, std::string prefix, char* line);
|
||||
void Opcode_G_TEXTURE(uint64_t data, int i, std::string prefix, char* line);
|
||||
void Opcode_G_SETTIMG(uint64_t data, int i, std::string prefix, char* line);
|
||||
void Opcode_G_SETTILE(uint64_t data, int i, std::string prefix, char* line);
|
||||
void Opcode_G_SETTILESIZE(uint64_t data, int i, std::string prefix, char* line);
|
||||
void Opcode_G_LOADBLOCK(uint64_t data, int i, std::string prefix, char* line);
|
||||
void Opcode_G_SETCOMBINE(uint64_t data, int i, std::string prefix, char* line);
|
||||
void Opcode_G_SETPRIMCOLOR(uint64_t data, int i, std::string prefix, char* line);
|
||||
void Opcode_G_SETOTHERMODE_L(uint64_t data, int i, std::string prefix, char* line);
|
||||
void Opcode_G_SETOTHERMODE_H(uint64_t data, int i, std::string prefix, char* line);
|
||||
void Opcode_G_LOADTLUT(uint64_t data, int i, std::string prefix, char* line);
|
||||
void Opcode_G_ENDDL(uint64_t data, int i, std::string prefix, char* line);
|
||||
public:
|
||||
std::string sceneSegName;
|
||||
ZRoom* scene;
|
||||
std::vector<uint64_t> instructions;
|
||||
|
||||
DListType dListType;
|
||||
|
||||
//int dListAddress;
|
||||
|
||||
std::map<uint32_t, std::vector<Vertex>> vertices;
|
||||
|
@ -255,7 +366,7 @@ public:
|
|||
|
||||
void TextureGenCheck(std::string prefix);
|
||||
static bool TextureGenCheck(std::vector<uint8_t> fileData, std::map<uint32_t, ZTexture*>& textures, ZRoom* scene, ZFile* parent, std::string prefix, uint32_t texWidth, uint32_t texHeight, uint32_t texAddr, uint32_t texSeg, F3DZEXTexFormats texFmt, F3DZEXTexSizes texSiz, bool texLoaded, bool texIsPalette);
|
||||
static int GetDListLength(std::vector<uint8_t> rawData, int rawDataIndex);
|
||||
static int GetDListLength(std::vector<uint8_t> rawData, int rawDataIndex, DListType dListType);
|
||||
|
||||
std::vector<uint8_t> GetRawData();
|
||||
int GetRawDataSize() override;
|
||||
|
|
|
@ -70,6 +70,24 @@ void ZFile::ParseXML(ZFileMode mode, XMLElement* reader, std::string filename, b
|
|||
|
||||
int segment = -1;
|
||||
|
||||
// TODO: This should be a variable on the ZFile, but it is a large change in order to force all ZResource types to have a parent ZFile.
|
||||
const char* gameStr = reader->Attribute("Game");
|
||||
if (reader->Attribute("Game") != nullptr)
|
||||
{
|
||||
if (string(gameStr) == "MM")
|
||||
{
|
||||
Globals::Instance->game = ZGame::MM_RETAIL;
|
||||
}
|
||||
else if (string(gameStr) == "SW97" || string(gameStr) == "OOTSW97")
|
||||
{
|
||||
Globals::Instance->game = ZGame::OOT_SW97;
|
||||
}
|
||||
else
|
||||
{
|
||||
// TODO: Error here.
|
||||
}
|
||||
}
|
||||
|
||||
if (reader->Attribute("BaseAddress") != NULL)
|
||||
baseAddress = (uint32_t)strtoul(StringHelper::Split(reader->Attribute("BaseAddress"), "0x")[1].c_str(), NULL, 16);
|
||||
|
||||
|
@ -144,7 +162,7 @@ void ZFile::ParseXML(ZFileMode mode, XMLElement* reader, std::string filename, b
|
|||
ZResource* dList = nullptr;
|
||||
|
||||
if (mode == ZFileMode::Extract)
|
||||
dList = ZDisplayList::ExtractFromXML(child, rawData, rawDataIndex, ZDisplayList::GetDListLength(rawData, rawDataIndex), folderName);
|
||||
dList = ZDisplayList::ExtractFromXML(child, rawData, rawDataIndex, ZDisplayList::GetDListLength(rawData, rawDataIndex, Globals::Instance->game == ZGame::OOT_SW97 ? DListType::F3DEX : DListType::F3DZEX), folderName);
|
||||
//else
|
||||
//dList = ZDisplayList::BuildFromXML(child, folderName, mode == ZFileMode::Build);
|
||||
else
|
||||
|
@ -1014,6 +1032,9 @@ void ZFile::ProcessDeclarationText(Declaration* decl)
|
|||
|
||||
if (c == '@' && c2 == 'r')
|
||||
{
|
||||
if (refIndex >= decl->references.size())
|
||||
break;
|
||||
|
||||
Declaration* refDecl = GetDeclarationRanged(decl->references[refIndex]);
|
||||
uint32_t refDeclAddr = GetDeclarationRangedAddress(decl->references[refIndex]);
|
||||
|
||||
|
@ -1021,10 +1042,17 @@ void ZFile::ProcessDeclarationText(Declaration* decl)
|
|||
{
|
||||
if (refDecl->isArray)
|
||||
{
|
||||
int itemSize = refDecl->size / refDecl->arrayItemCnt;
|
||||
int itemIndex = (decl->references[refIndex] - refDeclAddr) / itemSize;
|
||||
if (refDecl->arrayItemCnt != 0)
|
||||
{
|
||||
int itemSize = refDecl->size / refDecl->arrayItemCnt;
|
||||
int itemIndex = (decl->references[refIndex] - refDeclAddr) / itemSize;
|
||||
|
||||
decl->text.replace(i, 2, StringHelper::Sprintf("&%s[%i]", refDecl->varName.c_str(), itemIndex));
|
||||
decl->text.replace(i, 2, StringHelper::Sprintf("&%s[%i]", refDecl->varName.c_str(), itemIndex));
|
||||
}
|
||||
else
|
||||
{
|
||||
decl->text.replace(i, 2, StringHelper::Sprintf("ERROR ARRAYITEMCNT = 0"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -18,6 +18,13 @@ enum class ZFileMode
|
|||
Invalid
|
||||
};
|
||||
|
||||
enum class ZGame
|
||||
{
|
||||
OOT_RETAIL,
|
||||
OOT_SW97,
|
||||
MM_RETAIL
|
||||
};
|
||||
|
||||
class ZFile
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -16,7 +16,10 @@ ZResource::ZResource()
|
|||
|
||||
void ZResource::ParseXML(tinyxml2::XMLElement* reader)
|
||||
{
|
||||
name = reader->Attribute("Name");
|
||||
if (reader->Attribute("Name") != nullptr)
|
||||
name = reader->Attribute("Name");
|
||||
else
|
||||
name = "";
|
||||
|
||||
if (reader->Attribute("OutName") != nullptr)
|
||||
outName = reader->Attribute("OutName");
|
||||
|
|
|
@ -4,475 +4,476 @@
|
|||
|
||||
static const std::string ActorList[] =
|
||||
{
|
||||
"ACTOR_PLAYER",
|
||||
"ACTOR_UNSET_1",
|
||||
"ACTOR_EN_TEST",
|
||||
"ACTOR_UNSET_3",
|
||||
"ACTOR_EN_GIRLA",
|
||||
"ACTOR_UNSET_5",
|
||||
"ACTOR_UNSET_6",
|
||||
"ACTOR_EN_PART",
|
||||
"ACTOR_EN_LIGHT",
|
||||
"ACTOR_EN_DOOR",
|
||||
"ACTOR_EN_BOX",
|
||||
"ACTOR_BG_DY_YOSEIZO",
|
||||
"ACTOR_BG_HIDAN_FIREWALL",
|
||||
"ACTOR_EN_POH",
|
||||
"ACTOR_EN_OKUTA",
|
||||
"ACTOR_BG_YDAN_SP",
|
||||
"ACTOR_EN_BOM",
|
||||
"ACTOR_EN_WALLMAS",
|
||||
"ACTOR_EN_DODONGO",
|
||||
"ACTOR_EN_FIREFLY",
|
||||
"ACTOR_EN_HORSE",
|
||||
"ACTOR_EN_ITEM00",
|
||||
"ACTOR_EN_ARROW",
|
||||
"ACTOR_UNSET_17",
|
||||
"ACTOR_EN_ELF",
|
||||
"ACTOR_EN_NIW",
|
||||
"ACTOR_UNSET_1A",
|
||||
"ACTOR_EN_TITE",
|
||||
"ACTOR_EN_REEBA",
|
||||
"ACTOR_EN_PEEHAT",
|
||||
"ACTOR_EN_BUTTE",
|
||||
"ACTOR_UNSET_1F",
|
||||
"ACTOR_EN_INSECT",
|
||||
"ACTOR_EN_FISH",
|
||||
"ACTOR_UNSET_22",
|
||||
"ACTOR_EN_HOLL",
|
||||
"ACTOR_EN_SCENE_CHANGE",
|
||||
"ACTOR_EN_ZF",
|
||||
"ACTOR_EN_HATA",
|
||||
"ACTOR_BOSS_DODONGO",
|
||||
"ACTOR_BOSS_GOMA",
|
||||
"ACTOR_EN_ZL1",
|
||||
"ACTOR_EN_VIEWER",
|
||||
"ACTOR_EN_GOMA",
|
||||
"ACTOR_BG_PUSHBOX",
|
||||
"ACTOR_EN_BUBBLE",
|
||||
"ACTOR_DOOR_SHUTTER",
|
||||
"ACTOR_EN_DODOJR",
|
||||
"ACTOR_EN_BDFIRE",
|
||||
"ACTOR_UNSET_31",
|
||||
"ACTOR_EN_BOOM",
|
||||
"ACTOR_EN_TORCH2",
|
||||
"ACTOR_EN_BILI",
|
||||
"ACTOR_EN_TP",
|
||||
"ACTOR_UNSET_36",
|
||||
"ACTOR_EN_ST",
|
||||
"ACTOR_EN_BW",
|
||||
"ACTOR_EN_A_OBJ",
|
||||
"ACTOR_EN_EIYER",
|
||||
"ACTOR_EN_RIVER_SOUND",
|
||||
"ACTOR_EN_HORSE_NORMAL",
|
||||
"ACTOR_EN_OSSAN",
|
||||
"ACTOR_BG_TREEMOUTH",
|
||||
"ACTOR_BG_DODOAGO",
|
||||
"ACTOR_BG_HIDAN_DALM",
|
||||
"ACTOR_BG_HIDAN_HROCK",
|
||||
"ACTOR_EN_HORSE_GANON",
|
||||
"ACTOR_BG_HIDAN_ROCK",
|
||||
"ACTOR_BG_HIDAN_RSEKIZOU",
|
||||
"ACTOR_BG_HIDAN_SEKIZOU",
|
||||
"ACTOR_BG_HIDAN_SIMA",
|
||||
"ACTOR_BG_HIDAN_SYOKU",
|
||||
"ACTOR_EN_XC",
|
||||
"ACTOR_BG_HIDAN_CURTAIN",
|
||||
"ACTOR_BG_SPOT00_HANEBASI",
|
||||
"ACTOR_EN_MB",
|
||||
"ACTOR_EN_BOMBF",
|
||||
"ACTOR_EN_ZL2",
|
||||
"ACTOR_BG_HIDAN_FSLIFT",
|
||||
"ACTOR_EN_OE2",
|
||||
"ACTOR_BG_YDAN_HASI",
|
||||
"ACTOR_BG_YDAN_MARUTA",
|
||||
"ACTOR_BOSS_GANONDROF",
|
||||
"ACTOR_UNSET_53",
|
||||
"ACTOR_EN_AM",
|
||||
"ACTOR_EN_DEKUBABA",
|
||||
"ACTOR_EN_M_FIRE1",
|
||||
"ACTOR_EN_M_THUNDER",
|
||||
"ACTOR_BG_DDAN_JD",
|
||||
"ACTOR_BG_BREAKWALL",
|
||||
"ACTOR_EN_JJ",
|
||||
"ACTOR_EN_HORSE_ZELDA",
|
||||
"ACTOR_BG_DDAN_KD",
|
||||
"ACTOR_DOOR_WARP1",
|
||||
"ACTOR_OBJ_SYOKUDAI",
|
||||
"ACTOR_ITEM_B_HEART",
|
||||
"ACTOR_EN_DEKUNUTS",
|
||||
"ACTOR_BG_MENKURI_KAITEN",
|
||||
"ACTOR_BG_MENKURI_EYE",
|
||||
"ACTOR_EN_VALI",
|
||||
"ACTOR_BG_MIZU_MOVEBG",
|
||||
"ACTOR_BG_MIZU_WATER",
|
||||
"ACTOR_ARMS_HOOK",
|
||||
"ACTOR_EN_FHG",
|
||||
"ACTOR_BG_MORI_HINERI",
|
||||
"ACTOR_EN_BB",
|
||||
"ACTOR_BG_TOKI_HIKARI",
|
||||
"ACTOR_EN_YUKABYUN",
|
||||
"ACTOR_BG_TOKI_SWD",
|
||||
"ACTOR_EN_FHG_FIRE",
|
||||
"ACTOR_BG_MJIN",
|
||||
"ACTOR_BG_HIDAN_KOUSI",
|
||||
"ACTOR_DOOR_TOKI",
|
||||
"ACTOR_BG_HIDAN_HAMSTEP",
|
||||
"ACTOR_EN_BIRD",
|
||||
"ACTOR_UNSET_73",
|
||||
"ACTOR_UNSET_74",
|
||||
"ACTOR_UNSET_75",
|
||||
"ACTOR_UNSET_76",
|
||||
"ACTOR_EN_WOOD02",
|
||||
"ACTOR_UNSET_78",
|
||||
"ACTOR_UNSET_79",
|
||||
"ACTOR_UNSET_7A",
|
||||
"ACTOR_UNSET_7B",
|
||||
"ACTOR_EN_LIGHTBOX",
|
||||
"ACTOR_EN_PU_BOX",
|
||||
"ACTOR_UNSET_7E",
|
||||
"ACTOR_UNSET_7F",
|
||||
"ACTOR_EN_TRAP",
|
||||
"ACTOR_EN_AROW_TRAP",
|
||||
"ACTOR_EN_VASE",
|
||||
"ACTOR_UNSET_83",
|
||||
"ACTOR_EN_TA",
|
||||
"ACTOR_EN_TK",
|
||||
"ACTOR_BG_MORI_BIGST",
|
||||
"ACTOR_BG_MORI_ELEVATOR",
|
||||
"ACTOR_BG_MORI_KAITENKABE",
|
||||
"ACTOR_BG_MORI_RAKKATENJO",
|
||||
"ACTOR_EN_VM",
|
||||
"ACTOR_DEMO_EFFECT",
|
||||
"ACTOR_DEMO_KANKYO",
|
||||
"ACTOR_BG_HIDAN_FWBIG",
|
||||
"ACTOR_EN_FLOORMAS",
|
||||
"ACTOR_EN_HEISHI1",
|
||||
"ACTOR_EN_RD",
|
||||
"ACTOR_EN_PO_SISTERS",
|
||||
"ACTOR_BG_HEAVY_BLOCK",
|
||||
"ACTOR_BG_PO_EVENT",
|
||||
"ACTOR_OBJ_MURE",
|
||||
"ACTOR_EN_SW",
|
||||
"ACTOR_BOSS_FD",
|
||||
"ACTOR_OBJECT_KANKYO",
|
||||
"ACTOR_EN_DU",
|
||||
"ACTOR_EN_FD",
|
||||
"ACTOR_EN_HORSE_LINK_CHILD",
|
||||
"ACTOR_DOOR_ANA",
|
||||
"ACTOR_BG_SPOT02_OBJECTS",
|
||||
"ACTOR_BG_HAKA",
|
||||
"ACTOR_MAGIC_WIND",
|
||||
"ACTOR_MAGIC_FIRE",
|
||||
"ACTOR_UNSET_A0",
|
||||
"ACTOR_EN_RU1",
|
||||
"ACTOR_BOSS_FD2",
|
||||
"ACTOR_EN_FD_FIRE",
|
||||
"ACTOR_EN_DH",
|
||||
"ACTOR_EN_DHA",
|
||||
"ACTOR_EN_RL",
|
||||
"ACTOR_EN_ENCOUNT1",
|
||||
"ACTOR_DEMO_DU",
|
||||
"ACTOR_DEMO_IM",
|
||||
"ACTOR_DEMO_TRE_LGT",
|
||||
"ACTOR_EN_FW",
|
||||
"ACTOR_BG_VB_SIMA",
|
||||
"ACTOR_EN_VB_BALL",
|
||||
"ACTOR_BG_HAKA_MEGANE",
|
||||
"ACTOR_BG_HAKA_MEGANEBG",
|
||||
"ACTOR_BG_HAKA_SHIP",
|
||||
"ACTOR_BG_HAKA_SGAMI",
|
||||
"ACTOR_UNSET_B2",
|
||||
"ACTOR_EN_HEISHI2",
|
||||
"ACTOR_EN_ENCOUNT2",
|
||||
"ACTOR_EN_FIRE_ROCK",
|
||||
"ACTOR_EN_BROB",
|
||||
"ACTOR_MIR_RAY",
|
||||
"ACTOR_BG_SPOT09_OBJ",
|
||||
"ACTOR_BG_SPOT18_OBJ",
|
||||
"ACTOR_BOSS_VA",
|
||||
"ACTOR_BG_HAKA_TUBO",
|
||||
"ACTOR_BG_HAKA_TRAP",
|
||||
"ACTOR_BG_HAKA_HUTA",
|
||||
"ACTOR_BG_HAKA_ZOU",
|
||||
"ACTOR_BG_SPOT17_FUNEN",
|
||||
"ACTOR_EN_SYATEKI_ITM",
|
||||
"ACTOR_EN_SYATEKI_MAN",
|
||||
"ACTOR_EN_TANA",
|
||||
"ACTOR_EN_NB",
|
||||
"ACTOR_BOSS_MO",
|
||||
"ACTOR_EN_SB",
|
||||
"ACTOR_EN_BIGOKUTA",
|
||||
"ACTOR_EN_KAREBABA",
|
||||
"ACTOR_BG_BDAN_OBJECTS",
|
||||
"ACTOR_DEMO_SA",
|
||||
"ACTOR_DEMO_GO",
|
||||
"ACTOR_EN_IN",
|
||||
"ACTOR_EN_TR",
|
||||
"ACTOR_BG_SPOT16_BOMBSTONE",
|
||||
"ACTOR_UNSET_CE",
|
||||
"ACTOR_BG_HIDAN_KOWARERUKABE",
|
||||
"ACTOR_BG_BOMBWALL",
|
||||
"ACTOR_BG_SPOT08_ICEBLOCK",
|
||||
"ACTOR_EN_RU2",
|
||||
"ACTOR_OBJ_DEKUJR",
|
||||
"ACTOR_BG_MIZU_UZU",
|
||||
"ACTOR_BG_SPOT06_OBJECTS",
|
||||
"ACTOR_BG_ICE_OBJECTS",
|
||||
"ACTOR_BG_HAKA_WATER",
|
||||
"ACTOR_UNSET_D8",
|
||||
"ACTOR_EN_MA2",
|
||||
"ACTOR_EN_BOM_CHU",
|
||||
"ACTOR_EN_HORSE_GAME_CHECK",
|
||||
"ACTOR_BOSS_TW",
|
||||
"ACTOR_EN_RR",
|
||||
"ACTOR_EN_BA",
|
||||
"ACTOR_EN_BX",
|
||||
"ACTOR_EN_ANUBICE",
|
||||
"ACTOR_EN_ANUBICE_FIRE",
|
||||
"ACTOR_BG_MORI_HASHIGO",
|
||||
"ACTOR_BG_MORI_HASHIRA4",
|
||||
"ACTOR_BG_MORI_IDOMIZU",
|
||||
"ACTOR_BG_SPOT16_DOUGHNUT",
|
||||
"ACTOR_BG_BDAN_SWITCH",
|
||||
"ACTOR_EN_MA1",
|
||||
"ACTOR_BOSS_GANON",
|
||||
"ACTOR_BOSS_SST",
|
||||
"ACTOR_UNSET_EA",
|
||||
"ACTOR_UNSET_EB",
|
||||
"ACTOR_EN_NY",
|
||||
"ACTOR_EN_FR",
|
||||
"ACTOR_ITEM_SHIELD",
|
||||
"ACTOR_BG_ICE_SHELTER",
|
||||
"ACTOR_EN_ICE_HONO",
|
||||
"ACTOR_ITEM_OCARINA",
|
||||
"ACTOR_UNSET_F2",
|
||||
"ACTOR_UNSET_F3",
|
||||
"ACTOR_MAGIC_DARK",
|
||||
"ACTOR_DEMO_6K",
|
||||
"ACTOR_EN_ANUBICE_TAG",
|
||||
"ACTOR_BG_HAKA_GATE",
|
||||
"ACTOR_BG_SPOT15_SAKU",
|
||||
"ACTOR_BG_JYA_GOROIWA",
|
||||
"ACTOR_BG_JYA_ZURERUKABE",
|
||||
"ACTOR_UNSET_FB",
|
||||
"ACTOR_BG_JYA_COBRA",
|
||||
"ACTOR_BG_JYA_KANAAMI",
|
||||
"ACTOR_FISHING",
|
||||
"ACTOR_OBJ_OSHIHIKI",
|
||||
"ACTOR_BG_GATE_SHUTTER",
|
||||
"ACTOR_EFF_DUST",
|
||||
"ACTOR_BG_SPOT01_FUSYA",
|
||||
"ACTOR_BG_SPOT01_IDOHASHIRA",
|
||||
"ACTOR_BG_SPOT01_IDOMIZU",
|
||||
"ACTOR_BG_PO_SYOKUDAI",
|
||||
"ACTOR_BG_GANON_OTYUKA",
|
||||
"ACTOR_BG_SPOT15_RRBOX",
|
||||
"ACTOR_BG_UMAJUMP",
|
||||
"ACTOR_UNSET_0109",
|
||||
"ACTOR_ARROW_FIRE",
|
||||
"ACTOR_ARROW_ICE",
|
||||
"ACTOR_ARROW_LIGHT",
|
||||
"ACTOR_UNSET_010D",
|
||||
"ACTOR_UNSET_010E",
|
||||
"ACTOR_ITEM_ETCETERA",
|
||||
"ACTOR_OBJ_KIBAKO",
|
||||
"ACTOR_OBJ_TSUBO",
|
||||
"ACTOR_EN_WONDER_ITEM",
|
||||
"ACTOR_EN_IK",
|
||||
"ACTOR_DEMO_IK",
|
||||
"ACTOR_EN_SKJ",
|
||||
"ACTOR_EN_SKJNEEDLE",
|
||||
"ACTOR_EN_G_SWITCH",
|
||||
"ACTOR_DEMO_EXT",
|
||||
"ACTOR_DEMO_SHD",
|
||||
"ACTOR_EN_DNS",
|
||||
"ACTOR_ELF_MSG",
|
||||
"ACTOR_EN_HONOTRAP",
|
||||
"ACTOR_EN_TUBO_TRAP",
|
||||
"ACTOR_OBJ_ICE_POLY",
|
||||
"ACTOR_BG_SPOT03_TAKI",
|
||||
"ACTOR_BG_SPOT07_TAKI",
|
||||
"ACTOR_EN_FZ",
|
||||
"ACTOR_EN_PO_RELAY",
|
||||
"ACTOR_BG_RELAY_OBJECTS",
|
||||
"ACTOR_EN_DIVING_GAME",
|
||||
"ACTOR_EN_KUSA",
|
||||
"ACTOR_OBJ_BEAN",
|
||||
"ACTOR_OBJ_BOMBIWA",
|
||||
"ACTOR_UNSET_0128",
|
||||
"ACTOR_UNSET_0129",
|
||||
"ACTOR_OBJ_SWITCH",
|
||||
"ACTOR_OBJ_ELEVATOR",
|
||||
"ACTOR_OBJ_LIFT",
|
||||
"ACTOR_OBJ_HSBLOCK",
|
||||
"ACTOR_EN_OKARINA_TAG",
|
||||
"ACTOR_EN_YABUSAME_MARK",
|
||||
"ACTOR_EN_GOROIWA",
|
||||
"ACTOR_EN_EX_RUPPY",
|
||||
"ACTOR_EN_TORYO",
|
||||
"ACTOR_EN_DAIKU",
|
||||
"ACTOR_UNSET_0134",
|
||||
"ACTOR_EN_NWC",
|
||||
"ACTOR_EN_BLKOBJ",
|
||||
"ACTOR_ITEM_INBOX",
|
||||
"ACTOR_EN_GE1",
|
||||
"ACTOR_OBJ_BLOCKSTOP",
|
||||
"ACTOR_EN_SDA",
|
||||
"ACTOR_EN_CLEAR_TAG",
|
||||
"ACTOR_EN_NIW_LADY",
|
||||
"ACTOR_EN_GM",
|
||||
"ACTOR_EN_MS",
|
||||
"ACTOR_EN_HS",
|
||||
"ACTOR_BG_INGATE",
|
||||
"ACTOR_EN_KANBAN",
|
||||
"ACTOR_EN_HEISHI3",
|
||||
"ACTOR_EN_SYATEKI_NIW",
|
||||
"ACTOR_EN_ATTACK_NIW",
|
||||
"ACTOR_BG_SPOT01_IDOSOKO",
|
||||
"ACTOR_EN_SA",
|
||||
"ACTOR_EN_WONDER_TALK",
|
||||
"ACTOR_BG_GJYO_BRIDGE",
|
||||
"ACTOR_EN_DS",
|
||||
"ACTOR_EN_MK",
|
||||
"ACTOR_EN_BOM_BOWL_MAN",
|
||||
"ACTOR_EN_BOM_BOWL_PIT",
|
||||
"ACTOR_EN_OWL",
|
||||
"ACTOR_EN_ISHI",
|
||||
"ACTOR_OBJ_HANA",
|
||||
"ACTOR_OBJ_LIGHTSWITCH",
|
||||
"ACTOR_OBJ_MURE2",
|
||||
"ACTOR_EN_GO",
|
||||
"ACTOR_EN_FU",
|
||||
"ACTOR_UNSET_0154",
|
||||
"ACTOR_EN_CHANGER",
|
||||
"ACTOR_BG_JYA_MEGAMI",
|
||||
"ACTOR_BG_JYA_LIFT",
|
||||
"ACTOR_BG_JYA_BIGMIRROR",
|
||||
"ACTOR_BG_JYA_BOMBCHUIWA",
|
||||
"ACTOR_BG_JYA_AMISHUTTER",
|
||||
"ACTOR_BG_JYA_BOMBIWA",
|
||||
"ACTOR_BG_SPOT18_BASKET",
|
||||
"ACTOR_UNSET_015D",
|
||||
"ACTOR_EN_GANON_ORGAN",
|
||||
"ACTOR_EN_SIOFUKI",
|
||||
"ACTOR_EN_STREAM",
|
||||
"ACTOR_UNSET_0161",
|
||||
"ACTOR_EN_MM",
|
||||
"ACTOR_EN_KO",
|
||||
"ACTOR_EN_KZ",
|
||||
"ACTOR_EN_WEATHER_TAG",
|
||||
"ACTOR_BG_SST_FLOOR",
|
||||
"ACTOR_EN_ANI",
|
||||
"ACTOR_EN_EX_ITEM",
|
||||
"ACTOR_BG_JYA_IRONOBJ",
|
||||
"ACTOR_EN_JS",
|
||||
"ACTOR_EN_JSJUTAN",
|
||||
"ACTOR_EN_CS",
|
||||
"ACTOR_EN_MD",
|
||||
"ACTOR_EN_HY",
|
||||
"ACTOR_EN_GANON_MANT",
|
||||
"ACTOR_EN_OKARINA_EFFECT",
|
||||
"ACTOR_EN_MAG",
|
||||
"ACTOR_DOOR_GERUDO",
|
||||
"ACTOR_ELF_MSG2",
|
||||
"ACTOR_DEMO_GT",
|
||||
"ACTOR_EN_PO_FIELD",
|
||||
"ACTOR_EFC_ERUPC",
|
||||
"ACTOR_BG_ZG",
|
||||
"ACTOR_EN_HEISHI4",
|
||||
"ACTOR_EN_ZL3",
|
||||
"ACTOR_BOSS_GANON2",
|
||||
"ACTOR_EN_KAKASI",
|
||||
"ACTOR_EN_TAKARA_MAN",
|
||||
"ACTOR_OBJ_MAKEOSHIHIKI",
|
||||
"ACTOR_OCEFF_SPOT",
|
||||
"ACTOR_END_TITLE",
|
||||
"ACTOR_UNSET_0180",
|
||||
"ACTOR_EN_TORCH",
|
||||
"ACTOR_DEMO_EC",
|
||||
"ACTOR_SHOT_SUN",
|
||||
"ACTOR_EN_DY_EXTRA",
|
||||
"ACTOR_EN_WONDER_TALK2",
|
||||
"ACTOR_EN_GE2",
|
||||
"ACTOR_OBJ_ROOMTIMER",
|
||||
"ACTOR_EN_SSH",
|
||||
"ACTOR_EN_STH",
|
||||
"ACTOR_OCEFF_WIPE",
|
||||
"ACTOR_OCEFF_STORM",
|
||||
"ACTOR_EN_WEIYER",
|
||||
"ACTOR_BG_SPOT05_SOKO",
|
||||
"ACTOR_BG_JYA_1FLIFT",
|
||||
"ACTOR_BG_JYA_HAHENIRON",
|
||||
"ACTOR_BG_SPOT12_GATE",
|
||||
"ACTOR_BG_SPOT12_SAKU",
|
||||
"ACTOR_EN_HINTNUTS",
|
||||
"ACTOR_EN_NUTSBALL",
|
||||
"ACTOR_BG_SPOT00_BREAK",
|
||||
"ACTOR_EN_SHOPNUTS",
|
||||
"ACTOR_EN_IT",
|
||||
"ACTOR_EN_GELDB",
|
||||
"ACTOR_OCEFF_WIPE2",
|
||||
"ACTOR_OCEFF_WIPE3",
|
||||
"ACTOR_EN_NIW_GIRL",
|
||||
"ACTOR_EN_DOG",
|
||||
"ACTOR_EN_SI",
|
||||
"ACTOR_BG_SPOT01_OBJECTS2",
|
||||
"ACTOR_OBJ_COMB",
|
||||
"ACTOR_BG_SPOT11_BAKUDANKABE",
|
||||
"ACTOR_OBJ_KIBAKO2",
|
||||
"ACTOR_EN_DNT_DEMO",
|
||||
"ACTOR_EN_DNT_JIJI",
|
||||
"ACTOR_EN_DNT_NOMAL",
|
||||
"ACTOR_EN_GUEST",
|
||||
"ACTOR_BG_BOM_GUARD",
|
||||
"ACTOR_EN_HS2",
|
||||
"ACTOR_DEMO_KEKKAI",
|
||||
"ACTOR_BG_SPOT08_BAKUDANKABE",
|
||||
"ACTOR_BG_SPOT17_BAKUDANKABE",
|
||||
"ACTOR_UNSET_01A9",
|
||||
"ACTOR_OBJ_MURE3",
|
||||
"ACTOR_EN_TG",
|
||||
"ACTOR_EN_MU",
|
||||
"ACTOR_EN_GO2",
|
||||
"ACTOR_EN_WF",
|
||||
"ACTOR_EN_SKB",
|
||||
"ACTOR_DEMO_GJ",
|
||||
"ACTOR_DEMO_GEFF",
|
||||
"ACTOR_BG_GND_FIREMEIRO",
|
||||
"ACTOR_BG_GND_DARKMEIRO",
|
||||
"ACTOR_BG_GND_SOULMEIRO",
|
||||
"ACTOR_BG_GND_NISEKABE",
|
||||
"ACTOR_BG_GND_ICEBLOCK",
|
||||
"ACTOR_EN_GB",
|
||||
"ACTOR_EN_GS",
|
||||
"ACTOR_BG_MIZU_BWALL",
|
||||
"ACTOR_BG_MIZU_SHUTTER",
|
||||
"ACTOR_EN_DAIKU_KAKARIKO",
|
||||
"ACTOR_BG_BOWL_WALL",
|
||||
"ACTOR_EN_WALL_TUBO",
|
||||
"ACTOR_EN_PO_DESERT",
|
||||
"ACTOR_EN_CROW",
|
||||
"ACTOR_DOOR_KILLER",
|
||||
"ACTOR_BG_SPOT11_OASIS",
|
||||
"ACTOR_BG_SPOT18_FUTA",
|
||||
"ACTOR_BG_SPOT18_SHUTTER",
|
||||
"ACTOR_EN_MA3",
|
||||
"ACTOR_EN_COW",
|
||||
"ACTOR_BG_ICE_TURARA",
|
||||
"ACTOR_BG_ICE_SHUTTER",
|
||||
"ACTOR_EN_KAKASI2",
|
||||
"ACTOR_EN_KAKASI3",
|
||||
"ACTOR_OCEFF_WIPE4",
|
||||
"ACTOR_EN_EG",
|
||||
"ACTOR_BG_MENKURI_NISEKABE",
|
||||
"ACTOR_EN_ZO",
|
||||
"ACTOR_OBJ_MAKEKINSUTA",
|
||||
"ACTOR_EN_GE3",
|
||||
"ACTOR_OBJ_TIMEBLOCK",
|
||||
"ACTOR_OBJ_HAMISHI",
|
||||
"ACTOR_EN_ZL4",
|
||||
"ACTOR_EN_MM2",
|
||||
"ACTOR_BG_JYA_BLOCK",
|
||||
"ACTOR_OBJ_WARP2BLOCK",
|
||||
/* 0x0000 */ "ACTOR_PLAYER",
|
||||
/* 0x0001 */ "ACTOR_UNSET_1",
|
||||
/* 0x0002 */ "ACTOR_EN_TEST",
|
||||
/* 0x0003 */ "ACTOR_UNSET_3",
|
||||
/* 0x0004 */ "ACTOR_EN_GIRLA",
|
||||
/* 0x0005 */ "ACTOR_UNSET_5",
|
||||
/* 0x0006 */ "ACTOR_UNSET_6",
|
||||
/* 0x0007 */ "ACTOR_EN_PART",
|
||||
/* 0x0008 */ "ACTOR_EN_LIGHT",
|
||||
/* 0x0009 */ "ACTOR_EN_DOOR",
|
||||
/* 0x000A */ "ACTOR_EN_BOX", // Treasure Chest
|
||||
/* 0x000B */ "ACTOR_BG_DY_YOSEIZO",
|
||||
/* 0x000C */ "ACTOR_BG_HIDAN_FIREWALL",
|
||||
/* 0x000D */ "ACTOR_EN_POH",
|
||||
/* 0x000E */ "ACTOR_EN_OKUTA",
|
||||
/* 0x000F */ "ACTOR_BG_YDAN_SP",
|
||||
/* 0x0010 */ "ACTOR_EN_BOM",
|
||||
/* 0x0011 */ "ACTOR_EN_WALLMAS",
|
||||
/* 0x0012 */ "ACTOR_EN_DODONGO",
|
||||
/* 0x0013 */ "ACTOR_EN_FIREFLY",
|
||||
/* 0x0014 */ "ACTOR_EN_HORSE",
|
||||
/* 0x0015 */ "ACTOR_EN_ITEM00",
|
||||
/* 0x0016 */ "ACTOR_EN_ARROW",
|
||||
/* 0x0017 */ "ACTOR_UNSET_17",
|
||||
/* 0x0018 */ "ACTOR_EN_ELF",
|
||||
/* 0x0019 */ "ACTOR_EN_NIW",
|
||||
/* 0x001A */ "ACTOR_UNSET_1A",
|
||||
/* 0x001B */ "ACTOR_EN_TITE",
|
||||
/* 0x001C */ "ACTOR_EN_REEBA",
|
||||
/* 0x001D */ "ACTOR_EN_PEEHAT",
|
||||
/* 0x001E */ "ACTOR_EN_BUTTE",
|
||||
/* 0x001F */ "ACTOR_UNSET_1F",
|
||||
/* 0x0020 */ "ACTOR_EN_INSECT",
|
||||
/* 0x0021 */ "ACTOR_EN_FISH",
|
||||
/* 0x0022 */ "ACTOR_UNSET_22",
|
||||
/* 0x0023 */ "ACTOR_EN_HOLL",
|
||||
/* 0x0024 */ "ACTOR_EN_SCENE_CHANGE",
|
||||
/* 0x0025 */ "ACTOR_EN_ZF",
|
||||
/* 0x0026 */ "ACTOR_EN_HATA",
|
||||
/* 0x0027 */ "ACTOR_BOSS_DODONGO",
|
||||
/* 0x0028 */ "ACTOR_BOSS_GOMA",
|
||||
/* 0x0029 */ "ACTOR_EN_ZL1",
|
||||
/* 0x002A */ "ACTOR_EN_VIEWER",
|
||||
/* 0x002B */ "ACTOR_EN_GOMA",
|
||||
/* 0x002C */ "ACTOR_BG_PUSHBOX",
|
||||
/* 0x002D */ "ACTOR_EN_BUBBLE",
|
||||
/* 0x002E */ "ACTOR_DOOR_SHUTTER",
|
||||
/* 0x002F */ "ACTOR_EN_DODOJR",
|
||||
/* 0x0030 */ "ACTOR_EN_BDFIRE",
|
||||
/* 0x0031 */ "ACTOR_UNSET_31",
|
||||
/* 0x0032 */ "ACTOR_EN_BOOM",
|
||||
/* 0x0033 */ "ACTOR_EN_TORCH2",
|
||||
/* 0x0034 */ "ACTOR_EN_BILI",
|
||||
/* 0x0035 */ "ACTOR_EN_TP",
|
||||
/* 0x0036 */ "ACTOR_UNSET_36",
|
||||
/* 0x0037 */ "ACTOR_EN_ST",
|
||||
/* 0x0038 */ "ACTOR_EN_BW",
|
||||
/* 0x0039 */ "ACTOR_EN_A_OBJ",
|
||||
/* 0x003A */ "ACTOR_EN_EIYER",
|
||||
/* 0x003B */ "ACTOR_EN_RIVER_SOUND",
|
||||
/* 0x003C */ "ACTOR_EN_HORSE_NORMAL",
|
||||
/* 0x003D */ "ACTOR_EN_OSSAN",
|
||||
/* 0x003E */ "ACTOR_BG_TREEMOUTH",
|
||||
/* 0x003F */ "ACTOR_BG_DODOAGO",
|
||||
/* 0x0040 */ "ACTOR_BG_HIDAN_DALM",
|
||||
/* 0x0041 */ "ACTOR_BG_HIDAN_HROCK",
|
||||
/* 0x0042 */ "ACTOR_EN_HORSE_GANON",
|
||||
/* 0x0043 */ "ACTOR_BG_HIDAN_ROCK",
|
||||
/* 0x0044 */ "ACTOR_BG_HIDAN_RSEKIZOU",
|
||||
/* 0x0045 */ "ACTOR_BG_HIDAN_SEKIZOU",
|
||||
/* 0x0046 */ "ACTOR_BG_HIDAN_SIMA",
|
||||
/* 0x0047 */ "ACTOR_BG_HIDAN_SYOKU",
|
||||
/* 0x0048 */ "ACTOR_EN_XC",
|
||||
/* 0x0049 */ "ACTOR_BG_HIDAN_CURTAIN",
|
||||
/* 0x004A */ "ACTOR_BG_SPOT00_HANEBASI",
|
||||
/* 0x004B */ "ACTOR_EN_MB",
|
||||
/* 0x004C */ "ACTOR_EN_BOMBF",
|
||||
/* 0x004D */ "ACTOR_EN_ZL2",
|
||||
/* 0x004E */ "ACTOR_BG_HIDAN_FSLIFT",
|
||||
/* 0x004F */ "ACTOR_EN_OE2",
|
||||
/* 0x0050 */ "ACTOR_BG_YDAN_HASI",
|
||||
/* 0x0051 */ "ACTOR_BG_YDAN_MARUTA",
|
||||
/* 0x0052 */ "ACTOR_BOSS_GANONDROF",
|
||||
/* 0x0053 */ "ACTOR_UNSET_53",
|
||||
/* 0x0054 */ "ACTOR_EN_AM",
|
||||
/* 0x0055 */ "ACTOR_EN_DEKUBABA",
|
||||
/* 0x0056 */ "ACTOR_EN_M_FIRE1",
|
||||
/* 0x0057 */ "ACTOR_EN_M_THUNDER",
|
||||
/* 0x0058 */ "ACTOR_BG_DDAN_JD",
|
||||
/* 0x0059 */ "ACTOR_BG_BREAKWALL",
|
||||
/* 0x005A */ "ACTOR_EN_JJ",
|
||||
/* 0x005B */ "ACTOR_EN_HORSE_ZELDA",
|
||||
/* 0x005C */ "ACTOR_BG_DDAN_KD",
|
||||
/* 0x005D */ "ACTOR_DOOR_WARP1",
|
||||
/* 0x005E */ "ACTOR_OBJ_SYOKUDAI",
|
||||
/* 0x005F */ "ACTOR_ITEM_B_HEART",
|
||||
/* 0x0060 */ "ACTOR_EN_DEKUNUTS",
|
||||
/* 0x0061 */ "ACTOR_BG_MENKURI_KAITEN",
|
||||
/* 0x0062 */ "ACTOR_BG_MENKURI_EYE",
|
||||
/* 0x0063 */ "ACTOR_EN_VALI",
|
||||
/* 0x0064 */ "ACTOR_BG_MIZU_MOVEBG",
|
||||
/* 0x0065 */ "ACTOR_BG_MIZU_WATER",
|
||||
/* 0x0066 */ "ACTOR_ARMS_HOOK",
|
||||
/* 0x0067 */ "ACTOR_EN_FHG",
|
||||
/* 0x0068 */ "ACTOR_BG_MORI_HINERI",
|
||||
/* 0x0069 */ "ACTOR_EN_BB",
|
||||
/* 0x006A */ "ACTOR_BG_TOKI_HIKARI",
|
||||
/* 0x006B */ "ACTOR_EN_YUKABYUN",
|
||||
/* 0x006C */ "ACTOR_BG_TOKI_SWD",
|
||||
/* 0x006D */ "ACTOR_EN_FHG_FIRE",
|
||||
/* 0x006E */ "ACTOR_BG_MJIN",
|
||||
/* 0x006F */ "ACTOR_BG_HIDAN_KOUSI",
|
||||
/* 0x0070 */ "ACTOR_DOOR_TOKI",
|
||||
/* 0x0071 */ "ACTOR_BG_HIDAN_HAMSTEP",
|
||||
/* 0x0072 */ "ACTOR_EN_BIRD",
|
||||
/* 0x0073 */ "ACTOR_UNSET_73",
|
||||
/* 0x0074 */ "ACTOR_UNSET_74",
|
||||
/* 0x0075 */ "ACTOR_UNSET_75",
|
||||
/* 0x0076 */ "ACTOR_UNSET_76",
|
||||
/* 0x0077 */ "ACTOR_EN_WOOD02",
|
||||
/* 0x0078 */ "ACTOR_UNSET_78",
|
||||
/* 0x0079 */ "ACTOR_UNSET_79",
|
||||
/* 0x007A */ "ACTOR_UNSET_7A",
|
||||
/* 0x007B */ "ACTOR_UNSET_7B",
|
||||
/* 0x007C */ "ACTOR_EN_LIGHTBOX",
|
||||
/* 0x007D */ "ACTOR_EN_PU_BOX",
|
||||
/* 0x007E */ "ACTOR_UNSET_7E",
|
||||
/* 0x007F */ "ACTOR_UNSET_7F",
|
||||
/* 0x0080 */ "ACTOR_EN_TRAP",
|
||||
/* 0x0081 */ "ACTOR_EN_AROW_TRAP",
|
||||
/* 0x0082 */ "ACTOR_EN_VASE",
|
||||
/* 0x0083 */ "ACTOR_UNSET_83",
|
||||
/* 0x0084 */ "ACTOR_EN_TA",
|
||||
/* 0x0085 */ "ACTOR_EN_TK",
|
||||
/* 0x0086 */ "ACTOR_BG_MORI_BIGST",
|
||||
/* 0x0087 */ "ACTOR_BG_MORI_ELEVATOR",
|
||||
/* 0x0088 */ "ACTOR_BG_MORI_KAITENKABE",
|
||||
/* 0x0089 */ "ACTOR_BG_MORI_RAKKATENJO",
|
||||
/* 0x008A */ "ACTOR_EN_VM",
|
||||
/* 0x008B */ "ACTOR_DEMO_EFFECT",
|
||||
/* 0x008C */ "ACTOR_DEMO_KANKYO",
|
||||
/* 0x008D */ "ACTOR_BG_HIDAN_FWBIG",
|
||||
/* 0x008E */ "ACTOR_EN_FLOORMAS",
|
||||
/* 0x008F */ "ACTOR_EN_HEISHI1",
|
||||
/* 0x0090 */ "ACTOR_EN_RD",
|
||||
/* 0x0091 */ "ACTOR_EN_PO_SISTERS",
|
||||
/* 0x0092 */ "ACTOR_BG_HEAVY_BLOCK",
|
||||
/* 0x0093 */ "ACTOR_BG_PO_EVENT",
|
||||
/* 0x0094 */ "ACTOR_OBJ_MURE",
|
||||
/* 0x0095 */ "ACTOR_EN_SW",
|
||||
/* 0x0096 */ "ACTOR_BOSS_FD",
|
||||
/* 0x0097 */ "ACTOR_OBJECT_KANKYO",
|
||||
/* 0x0098 */ "ACTOR_EN_DU",
|
||||
/* 0x0099 */ "ACTOR_EN_FD",
|
||||
/* 0x009A */ "ACTOR_EN_HORSE_LINK_CHILD",
|
||||
/* 0x009B */ "ACTOR_DOOR_ANA",
|
||||
/* 0x009C */ "ACTOR_BG_SPOT02_OBJECTS",
|
||||
/* 0x009D */ "ACTOR_BG_HAKA",
|
||||
/* 0x009E */ "ACTOR_MAGIC_WIND",
|
||||
/* 0x009F */ "ACTOR_MAGIC_FIRE",
|
||||
/* 0x00A0 */ "ACTOR_UNSET_A0",
|
||||
/* 0x00A1 */ "ACTOR_EN_RU1",
|
||||
/* 0x00A2 */ "ACTOR_BOSS_FD2",
|
||||
/* 0x00A3 */ "ACTOR_EN_FD_FIRE",
|
||||
/* 0x00A4 */ "ACTOR_EN_DH",
|
||||
/* 0x00A5 */ "ACTOR_EN_DHA",
|
||||
/* 0x00A6 */ "ACTOR_EN_RL",
|
||||
/* 0x00A7 */ "ACTOR_EN_ENCOUNT1",
|
||||
/* 0x00A8 */ "ACTOR_DEMO_DU",
|
||||
/* 0x00A9 */ "ACTOR_DEMO_IM",
|
||||
/* 0x00AA */ "ACTOR_DEMO_TRE_LGT",
|
||||
/* 0x00AB */ "ACTOR_EN_FW",
|
||||
/* 0x00AC */ "ACTOR_BG_VB_SIMA",
|
||||
/* 0x00AD */ "ACTOR_EN_VB_BALL",
|
||||
/* 0x00AE */ "ACTOR_BG_HAKA_MEGANE",
|
||||
/* 0x00AF */ "ACTOR_BG_HAKA_MEGANEBG",
|
||||
/* 0x00B0 */ "ACTOR_BG_HAKA_SHIP",
|
||||
/* 0x00B1 */ "ACTOR_BG_HAKA_SGAMI",
|
||||
/* 0x00B2 */ "ACTOR_UNSET_B2",
|
||||
/* 0x00B3 */ "ACTOR_EN_HEISHI2",
|
||||
/* 0x00B4 */ "ACTOR_EN_ENCOUNT2",
|
||||
/* 0x00B5 */ "ACTOR_EN_FIRE_ROCK",
|
||||
/* 0x00B6 */ "ACTOR_EN_BROB",
|
||||
/* 0x00B7 */ "ACTOR_MIR_RAY",
|
||||
/* 0x00B8 */ "ACTOR_BG_SPOT09_OBJ",
|
||||
/* 0x00B9 */ "ACTOR_BG_SPOT18_OBJ",
|
||||
/* 0x00BA */ "ACTOR_BOSS_VA",
|
||||
/* 0x00BB */ "ACTOR_BG_HAKA_TUBO",
|
||||
/* 0x00BC */ "ACTOR_BG_HAKA_TRAP",
|
||||
/* 0x00BD */ "ACTOR_BG_HAKA_HUTA",
|
||||
/* 0x00BE */ "ACTOR_BG_HAKA_ZOU",
|
||||
/* 0x00BF */ "ACTOR_BG_SPOT17_FUNEN",
|
||||
/* 0x00C0 */ "ACTOR_EN_SYATEKI_ITM",
|
||||
/* 0x00C1 */ "ACTOR_EN_SYATEKI_MAN",
|
||||
/* 0x00C2 */ "ACTOR_EN_TANA",
|
||||
/* 0x00C3 */ "ACTOR_EN_NB",
|
||||
/* 0x00C4 */ "ACTOR_BOSS_MO",
|
||||
/* 0x00C5 */ "ACTOR_EN_SB",
|
||||
/* 0x00C6 */ "ACTOR_EN_BIGOKUTA",
|
||||
/* 0x00C7 */ "ACTOR_EN_KAREBABA",
|
||||
/* 0x00C8 */ "ACTOR_BG_BDAN_OBJECTS",
|
||||
/* 0x00C9 */ "ACTOR_DEMO_SA",
|
||||
/* 0x00CA */ "ACTOR_DEMO_GO",
|
||||
/* 0x00CB */ "ACTOR_EN_IN",
|
||||
/* 0x00CC */ "ACTOR_EN_TR",
|
||||
/* 0x00CD */ "ACTOR_BG_SPOT16_BOMBSTONE",
|
||||
/* 0x00CE */ "ACTOR_UNSET_CE",
|
||||
/* 0x00CF */ "ACTOR_BG_HIDAN_KOWARERUKABE",
|
||||
/* 0x00D0 */ "ACTOR_BG_BOMBWALL",
|
||||
/* 0x00D1 */ "ACTOR_BG_SPOT08_ICEBLOCK",
|
||||
/* 0x00D2 */ "ACTOR_EN_RU2",
|
||||
/* 0x00D3 */ "ACTOR_OBJ_DEKUJR",
|
||||
/* 0x00D4 */ "ACTOR_BG_MIZU_UZU",
|
||||
/* 0x00D5 */ "ACTOR_BG_SPOT06_OBJECTS",
|
||||
/* 0x00D6 */ "ACTOR_BG_ICE_OBJECTS",
|
||||
/* 0x00D7 */ "ACTOR_BG_HAKA_WATER",
|
||||
/* 0x00D8 */ "ACTOR_UNSET_D8",
|
||||
/* 0x00D9 */ "ACTOR_EN_MA2",
|
||||
/* 0x00DA */ "ACTOR_EN_BOM_CHU",
|
||||
/* 0x00DB */ "ACTOR_EN_HORSE_GAME_CHECK",
|
||||
/* 0x00DC */ "ACTOR_BOSS_TW",
|
||||
/* 0x00DD */ "ACTOR_EN_RR",
|
||||
/* 0x00DE */ "ACTOR_EN_BA",
|
||||
/* 0x00DF */ "ACTOR_EN_BX",
|
||||
/* 0x00E0 */ "ACTOR_EN_ANUBICE",
|
||||
/* 0x00E1 */ "ACTOR_EN_ANUBICE_FIRE",
|
||||
/* 0x00E2 */ "ACTOR_BG_MORI_HASHIGO",
|
||||
/* 0x00E3 */ "ACTOR_BG_MORI_HASHIRA4",
|
||||
/* 0x00E4 */ "ACTOR_BG_MORI_IDOMIZU",
|
||||
/* 0x00E5 */ "ACTOR_BG_SPOT16_DOUGHNUT",
|
||||
/* 0x00E6 */ "ACTOR_BG_BDAN_SWITCH",
|
||||
/* 0x00E7 */ "ACTOR_EN_MA1",
|
||||
/* 0x00E8 */ "ACTOR_BOSS_GANON",
|
||||
/* 0x00E9 */ "ACTOR_BOSS_SST",
|
||||
/* 0x00EA */ "ACTOR_UNSET_EA",
|
||||
/* 0x00EB */ "ACTOR_UNSET_EB",
|
||||
/* 0x00EC */ "ACTOR_EN_NY",
|
||||
/* 0x00ED */ "ACTOR_EN_FR",
|
||||
/* 0x00EE */ "ACTOR_ITEM_SHIELD",
|
||||
/* 0x00EF */ "ACTOR_BG_ICE_SHELTER",
|
||||
/* 0x00F0 */ "ACTOR_EN_ICE_HONO",
|
||||
/* 0x00F1 */ "ACTOR_ITEM_OCARINA",
|
||||
/* 0x00F2 */ "ACTOR_UNSET_F2",
|
||||
/* 0x00F3 */ "ACTOR_UNSET_F3",
|
||||
/* 0x00F4 */ "ACTOR_MAGIC_DARK",
|
||||
/* 0x00F5 */ "ACTOR_DEMO_6K",
|
||||
/* 0x00F6 */ "ACTOR_EN_ANUBICE_TAG",
|
||||
/* 0x00F7 */ "ACTOR_BG_HAKA_GATE",
|
||||
/* 0x00F8 */ "ACTOR_BG_SPOT15_SAKU",
|
||||
/* 0x00F9 */ "ACTOR_BG_JYA_GOROIWA",
|
||||
/* 0x00FA */ "ACTOR_BG_JYA_ZURERUKABE",
|
||||
/* 0x00FB */ "ACTOR_UNSET_FB",
|
||||
/* 0x00FC */ "ACTOR_BG_JYA_COBRA",
|
||||
/* 0x00FD */ "ACTOR_BG_JYA_KANAAMI",
|
||||
/* 0x00FE */ "ACTOR_FISHING",
|
||||
/* 0x00FF */ "ACTOR_OBJ_OSHIHIKI",
|
||||
/* 0x0100 */ "ACTOR_BG_GATE_SHUTTER",
|
||||
/* 0x0101 */ "ACTOR_EFF_DUST",
|
||||
/* 0x0102 */ "ACTOR_BG_SPOT01_FUSYA",
|
||||
/* 0x0103 */ "ACTOR_BG_SPOT01_IDOHASHIRA",
|
||||
/* 0x0104 */ "ACTOR_BG_SPOT01_IDOMIZU",
|
||||
/* 0x0105 */ "ACTOR_BG_PO_SYOKUDAI",
|
||||
/* 0x0106 */ "ACTOR_BG_GANON_OTYUKA",
|
||||
/* 0x0107 */ "ACTOR_BG_SPOT15_RRBOX",
|
||||
/* 0x0108 */ "ACTOR_BG_UMAJUMP",
|
||||
/* 0x0109 */ "ACTOR_UNSET_109",
|
||||
/* 0x010A */ "ACTOR_ARROW_FIRE",
|
||||
/* 0x010B */ "ACTOR_ARROW_ICE",
|
||||
/* 0x010C */ "ACTOR_ARROW_LIGHT",
|
||||
/* 0x010D */ "ACTOR_UNSET_10D",
|
||||
/* 0x010E */ "ACTOR_UNSET_10E",
|
||||
/* 0x010F */ "ACTOR_ITEM_ETCETERA",
|
||||
/* 0x0110 */ "ACTOR_OBJ_KIBAKO",
|
||||
/* 0x0111 */ "ACTOR_OBJ_TSUBO",
|
||||
/* 0x0112 */ "ACTOR_EN_WONDER_ITEM",
|
||||
/* 0x0113 */ "ACTOR_EN_IK",
|
||||
/* 0x0114 */ "ACTOR_DEMO_IK",
|
||||
/* 0x0115 */ "ACTOR_EN_SKJ",
|
||||
/* 0x0116 */ "ACTOR_EN_SKJNEEDLE",
|
||||
/* 0x0117 */ "ACTOR_EN_G_SWITCH",
|
||||
/* 0x0118 */ "ACTOR_DEMO_EXT",
|
||||
/* 0x0119 */ "ACTOR_DEMO_SHD",
|
||||
/* 0x011A */ "ACTOR_EN_DNS",
|
||||
/* 0x011B */ "ACTOR_ELF_MSG",
|
||||
/* 0x011C */ "ACTOR_EN_HONOTRAP",
|
||||
/* 0x011D */ "ACTOR_EN_TUBO_TRAP",
|
||||
/* 0x011E */ "ACTOR_OBJ_ICE_POLY",
|
||||
/* 0x011F */ "ACTOR_BG_SPOT03_TAKI",
|
||||
/* 0x0120 */ "ACTOR_BG_SPOT07_TAKI",
|
||||
/* 0x0121 */ "ACTOR_EN_FZ",
|
||||
/* 0x0122 */ "ACTOR_EN_PO_RELAY",
|
||||
/* 0x0123 */ "ACTOR_BG_RELAY_OBJECTS",
|
||||
/* 0x0124 */ "ACTOR_EN_DIVING_GAME",
|
||||
/* 0x0125 */ "ACTOR_EN_KUSA",
|
||||
/* 0x0126 */ "ACTOR_OBJ_BEAN",
|
||||
/* 0x0127 */ "ACTOR_OBJ_BOMBIWA",
|
||||
/* 0x0128 */ "ACTOR_UNSET_128",
|
||||
/* 0x0129 */ "ACTOR_UNSET_129",
|
||||
/* 0x012A */ "ACTOR_OBJ_SWITCH",
|
||||
/* 0x012B */ "ACTOR_OBJ_ELEVATOR",
|
||||
/* 0x012C */ "ACTOR_OBJ_LIFT",
|
||||
/* 0x012D */ "ACTOR_OBJ_HSBLOCK",
|
||||
/* 0x012E */ "ACTOR_EN_OKARINA_TAG",
|
||||
/* 0x012F */ "ACTOR_EN_YABUSAME_MARK",
|
||||
/* 0x0130 */ "ACTOR_EN_GOROIWA",
|
||||
/* 0x0131 */ "ACTOR_EN_EX_RUPPY",
|
||||
/* 0x0132 */ "ACTOR_EN_TORYO",
|
||||
/* 0x0133 */ "ACTOR_EN_DAIKU",
|
||||
/* 0x0134 */ "ACTOR_UNSET_134",
|
||||
/* 0x0135 */ "ACTOR_EN_NWC",
|
||||
/* 0x0136 */ "ACTOR_EN_BLKOBJ",
|
||||
/* 0x0137 */ "ACTOR_ITEM_INBOX",
|
||||
/* 0x0138 */ "ACTOR_EN_GE1",
|
||||
/* 0x0139 */ "ACTOR_OBJ_BLOCKSTOP",
|
||||
/* 0x013A */ "ACTOR_EN_SDA",
|
||||
/* 0x013B */ "ACTOR_EN_CLEAR_TAG",
|
||||
/* 0x013C */ "ACTOR_EN_NIW_LADY",
|
||||
/* 0x013D */ "ACTOR_EN_GM",
|
||||
/* 0x013E */ "ACTOR_EN_MS",
|
||||
/* 0x013F */ "ACTOR_EN_HS",
|
||||
/* 0x0140 */ "ACTOR_BG_INGATE",
|
||||
/* 0x0141 */ "ACTOR_EN_KANBAN",
|
||||
/* 0x0142 */ "ACTOR_EN_HEISHI3",
|
||||
/* 0x0143 */ "ACTOR_EN_SYATEKI_NIW",
|
||||
/* 0x0144 */ "ACTOR_EN_ATTACK_NIW",
|
||||
/* 0x0145 */ "ACTOR_BG_SPOT01_IDOSOKO",
|
||||
/* 0x0146 */ "ACTOR_EN_SA",
|
||||
/* 0x0147 */ "ACTOR_EN_WONDER_TALK",
|
||||
/* 0x0148 */ "ACTOR_BG_GJYO_BRIDGE",
|
||||
/* 0x0149 */ "ACTOR_EN_DS",
|
||||
/* 0x014A */ "ACTOR_EN_MK",
|
||||
/* 0x014B */ "ACTOR_EN_BOM_BOWL_MAN",
|
||||
/* 0x014C */ "ACTOR_EN_BOM_BOWL_PIT",
|
||||
/* 0x014D */ "ACTOR_EN_OWL",
|
||||
/* 0x014E */ "ACTOR_EN_ISHI",
|
||||
/* 0x014F */ "ACTOR_OBJ_HANA",
|
||||
/* 0x0150 */ "ACTOR_OBJ_LIGHTSWITCH",
|
||||
/* 0x0151 */ "ACTOR_OBJ_MURE2",
|
||||
/* 0x0152 */ "ACTOR_EN_GO",
|
||||
/* 0x0153 */ "ACTOR_EN_FU",
|
||||
/* 0x0154 */ "ACTOR_UNSET_154",
|
||||
/* 0x0155 */ "ACTOR_EN_CHANGER",
|
||||
/* 0x0156 */ "ACTOR_BG_JYA_MEGAMI",
|
||||
/* 0x0157 */ "ACTOR_BG_JYA_LIFT",
|
||||
/* 0x0158 */ "ACTOR_BG_JYA_BIGMIRROR",
|
||||
/* 0x0159 */ "ACTOR_BG_JYA_BOMBCHUIWA",
|
||||
/* 0x015A */ "ACTOR_BG_JYA_AMISHUTTER",
|
||||
/* 0x015B */ "ACTOR_BG_JYA_BOMBIWA",
|
||||
/* 0x015C */ "ACTOR_BG_SPOT18_BASKET",
|
||||
/* 0x015D */ "ACTOR_UNSET_15D",
|
||||
/* 0x015E */ "ACTOR_EN_GANON_ORGAN",
|
||||
/* 0x015F */ "ACTOR_EN_SIOFUKI",
|
||||
/* 0x0160 */ "ACTOR_EN_STREAM",
|
||||
/* 0x0161 */ "ACTOR_UNSET_161",
|
||||
/* 0x0162 */ "ACTOR_EN_MM",
|
||||
/* 0x0163 */ "ACTOR_EN_KO",
|
||||
/* 0x0164 */ "ACTOR_EN_KZ",
|
||||
/* 0x0165 */ "ACTOR_EN_WEATHER_TAG",
|
||||
/* 0x0166 */ "ACTOR_BG_SST_FLOOR",
|
||||
/* 0x0167 */ "ACTOR_EN_ANI",
|
||||
/* 0x0168 */ "ACTOR_EN_EX_ITEM",
|
||||
/* 0x0169 */ "ACTOR_BG_JYA_IRONOBJ",
|
||||
/* 0x016A */ "ACTOR_EN_JS",
|
||||
/* 0x016B */ "ACTOR_EN_JSJUTAN",
|
||||
/* 0x016C */ "ACTOR_EN_CS",
|
||||
/* 0x016D */ "ACTOR_EN_MD",
|
||||
/* 0x016E */ "ACTOR_EN_HY",
|
||||
/* 0x016F */ "ACTOR_EN_GANON_MANT",
|
||||
/* 0x0170 */ "ACTOR_EN_OKARINA_EFFECT",
|
||||
/* 0x0171 */ "ACTOR_EN_MAG",
|
||||
/* 0x0172 */ "ACTOR_DOOR_GERUDO",
|
||||
/* 0x0173 */ "ACTOR_ELF_MSG2",
|
||||
/* 0x0174 */ "ACTOR_DEMO_GT",
|
||||
/* 0x0175 */ "ACTOR_EN_PO_FIELD",
|
||||
/* 0x0176 */ "ACTOR_EFC_ERUPC",
|
||||
/* 0x0177 */ "ACTOR_BG_ZG",
|
||||
/* 0x0178 */ "ACTOR_EN_HEISHI4",
|
||||
/* 0x0179 */ "ACTOR_EN_ZL3",
|
||||
/* 0x017A */ "ACTOR_BOSS_GANON2",
|
||||
/* 0x017B */ "ACTOR_EN_KAKASI",
|
||||
/* 0x017C */ "ACTOR_EN_TAKARA_MAN",
|
||||
/* 0x017D */ "ACTOR_OBJ_MAKEOSHIHIKI",
|
||||
/* 0x017E */ "ACTOR_OCEFF_SPOT",
|
||||
/* 0x017F */ "ACTOR_END_TITLE",
|
||||
/* 0x0180 */ "ACTOR_UNSET_180",
|
||||
/* 0x0181 */ "ACTOR_EN_TORCH",
|
||||
/* 0x0182 */ "ACTOR_DEMO_EC",
|
||||
/* 0x0183 */ "ACTOR_SHOT_SUN",
|
||||
/* 0x0184 */ "ACTOR_EN_DY_EXTRA",
|
||||
/* 0x0185 */ "ACTOR_EN_WONDER_TALK2",
|
||||
/* 0x0186 */ "ACTOR_EN_GE2",
|
||||
/* 0x0187 */ "ACTOR_OBJ_ROOMTIMER",
|
||||
/* 0x0188 */ "ACTOR_EN_SSH",
|
||||
/* 0x0189 */ "ACTOR_EN_STH",
|
||||
/* 0x018A */ "ACTOR_OCEFF_WIPE",
|
||||
/* 0x018B */ "ACTOR_OCEFF_STORM",
|
||||
/* 0x018C */ "ACTOR_EN_WEIYER",
|
||||
/* 0x018D */ "ACTOR_BG_SPOT05_SOKO",
|
||||
/* 0x018E */ "ACTOR_BG_JYA_1FLIFT",
|
||||
/* 0x018F */ "ACTOR_BG_JYA_HAHENIRON",
|
||||
/* 0x0190 */ "ACTOR_BG_SPOT12_GATE",
|
||||
/* 0x0191 */ "ACTOR_BG_SPOT12_SAKU",
|
||||
/* 0x0192 */ "ACTOR_EN_HINTNUTS",
|
||||
/* 0x0193 */ "ACTOR_EN_NUTSBALL",
|
||||
/* 0x0194 */ "ACTOR_BG_SPOT00_BREAK",
|
||||
/* 0x0195 */ "ACTOR_EN_SHOPNUTS",
|
||||
/* 0x0196 */ "ACTOR_EN_IT",
|
||||
/* 0x0197 */ "ACTOR_EN_GELDB",
|
||||
/* 0x0198 */ "ACTOR_OCEFF_WIPE2",
|
||||
/* 0x0199 */ "ACTOR_OCEFF_WIPE3",
|
||||
/* 0x019A */ "ACTOR_EN_NIW_GIRL",
|
||||
/* 0x019B */ "ACTOR_EN_DOG",
|
||||
/* 0x019C */ "ACTOR_EN_SI",
|
||||
/* 0x019D */ "ACTOR_BG_SPOT01_OBJECTS2",
|
||||
/* 0x019E */ "ACTOR_OBJ_COMB",
|
||||
/* 0x019F */ "ACTOR_BG_SPOT11_BAKUDANKABE",
|
||||
/* 0x01A0 */ "ACTOR_OBJ_KIBAKO2",
|
||||
/* 0x01A1 */ "ACTOR_EN_DNT_DEMO",
|
||||
/* 0x01A2 */ "ACTOR_EN_DNT_JIJI",
|
||||
/* 0x01A3 */ "ACTOR_EN_DNT_NOMAL",
|
||||
/* 0x01A4 */ "ACTOR_EN_GUEST",
|
||||
/* 0x01A5 */ "ACTOR_BG_BOM_GUARD",
|
||||
/* 0x01A6 */ "ACTOR_EN_HS2",
|
||||
/* 0x01A7 */ "ACTOR_DEMO_KEKKAI",
|
||||
/* 0x01A8 */ "ACTOR_BG_SPOT08_BAKUDANKABE",
|
||||
/* 0x01A9 */ "ACTOR_BG_SPOT17_BAKUDANKABE",
|
||||
/* 0x01AA */ "ACTOR_UNSET_1AA",
|
||||
/* 0x01AB */ "ACTOR_OBJ_MURE3",
|
||||
/* 0x01AC */ "ACTOR_EN_TG",
|
||||
/* 0x01AD */ "ACTOR_EN_MU",
|
||||
/* 0x01AE */ "ACTOR_EN_GO2",
|
||||
/* 0x01AF */ "ACTOR_EN_WF",
|
||||
/* 0x01B0 */ "ACTOR_EN_SKB",
|
||||
/* 0x01B1 */ "ACTOR_DEMO_GJ",
|
||||
/* 0x01B2 */ "ACTOR_DEMO_GEFF",
|
||||
/* 0x01B3 */ "ACTOR_BG_GND_FIREMEIRO",
|
||||
/* 0x01B4 */ "ACTOR_BG_GND_DARKMEIRO",
|
||||
/* 0x01B5 */ "ACTOR_BG_GND_SOULMEIRO",
|
||||
/* 0x01B6 */ "ACTOR_BG_GND_NISEKABE",
|
||||
/* 0x01B7 */ "ACTOR_BG_GND_ICEBLOCK",
|
||||
/* 0x01B8 */ "ACTOR_EN_GB",
|
||||
/* 0x01B9 */ "ACTOR_EN_GS",
|
||||
/* 0x01BA */ "ACTOR_BG_MIZU_BWALL",
|
||||
/* 0x01BB */ "ACTOR_BG_MIZU_SHUTTER",
|
||||
/* 0x01BC */ "ACTOR_EN_DAIKU_KAKARIKO",
|
||||
/* 0x01BD */ "ACTOR_BG_BOWL_WALL",
|
||||
/* 0x01BE */ "ACTOR_EN_WALL_TUBO",
|
||||
/* 0x01BF */ "ACTOR_EN_PO_DESERT",
|
||||
/* 0x01C0 */ "ACTOR_EN_CROW",
|
||||
/* 0x01C1 */ "ACTOR_DOOR_KILLER",
|
||||
/* 0x01C2 */ "ACTOR_BG_SPOT11_OASIS",
|
||||
/* 0x01C3 */ "ACTOR_BG_SPOT18_FUTA",
|
||||
/* 0x01C4 */ "ACTOR_BG_SPOT18_SHUTTER",
|
||||
/* 0x01C5 */ "ACTOR_EN_MA3",
|
||||
/* 0x01C6 */ "ACTOR_EN_COW",
|
||||
/* 0x01C7 */ "ACTOR_BG_ICE_TURARA",
|
||||
/* 0x01C8 */ "ACTOR_BG_ICE_SHUTTER",
|
||||
/* 0x01C9 */ "ACTOR_EN_KAKASI2",
|
||||
/* 0x01CA */ "ACTOR_EN_KAKASI3",
|
||||
/* 0x01CB */ "ACTOR_OCEFF_WIPE4",
|
||||
/* 0x01CC */ "ACTOR_EN_EG",
|
||||
/* 0x01CD */ "ACTOR_BG_MENKURI_NISEKABE",
|
||||
/* 0x01CE */ "ACTOR_EN_ZO",
|
||||
/* 0x01CF */ "ACTOR_OBJ_MAKEKINSUTA",
|
||||
/* 0x01D0 */ "ACTOR_EN_GE3",
|
||||
/* 0x01D1 */ "ACTOR_OBJ_TIMEBLOCK",
|
||||
/* 0x01D2 */ "ACTOR_OBJ_HAMISHI",
|
||||
/* 0x01D3 */ "ACTOR_EN_ZL4",
|
||||
/* 0x01D4 */ "ACTOR_EN_MM2",
|
||||
/* 0x01D5 */ "ACTOR_BG_JYA_BLOCK",
|
||||
/* 0x01D6 */ "ACTOR_OBJ_WARP2BLOCK",
|
||||
/* 0x01D7 */ "ACTOR_ID_MAX" // originally "ACTOR_DLF_MAX"
|
||||
};
|
|
@ -4,6 +4,7 @@
|
|||
#include "../ActorList.h"
|
||||
#include "../../BitConverter.h"
|
||||
#include "../../StringHelper.h"
|
||||
#include "../../Globals.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
|
@ -63,19 +64,32 @@ string SetActorList::GenerateSourceCodePass2(string roomName, int baseAddress)
|
|||
int index = 0;
|
||||
for (ActorSpawnEntry* entry : actors)
|
||||
{
|
||||
if (entry->actorNum < sizeof(ActorList) / sizeof(ActorList[0]))
|
||||
declaration += StringHelper::Sprintf("\t{ %s, %i, %i, %i, %i, %i, %i, 0x%04X }, //0x%06X", ActorList[entry->actorNum].c_str(), entry->posX, entry->posY, entry->posZ, entry->rotX, entry->rotY, entry->rotZ, (uint16_t)entry->initVar, segmentOffset + (index * 16));
|
||||
else
|
||||
declaration += StringHelper::Sprintf("\t{ 0x%04X, %i, %i, %i, %i, %i, %i, 0x%04X }, //0x%06X", entry->actorNum, entry->posX, entry->posY, entry->posZ, entry->rotX, entry->rotY, entry->rotZ, (uint16_t)entry->initVar, segmentOffset + (index * 16));
|
||||
uint16_t actorNum = entry->actorNum;
|
||||
|
||||
if (index < actors.size() - 1)
|
||||
declaration += "\n";
|
||||
// SW97 Actor 0x22 was removed, so we want to not output a working actor.
|
||||
if (actorNum == 0x22 && Globals::Instance->game == ZGame::OOT_SW97)
|
||||
declaration += StringHelper::Sprintf("\t//{ %s, %i, %i, %i, %i, %i, %i, 0x%04X }, //0x%06X", StringHelper::Sprintf("SW_REMOVED_0x%04X", actorNum), entry->posX, entry->posY, entry->posZ, entry->rotX, entry->rotY, entry->rotZ, (uint16_t)entry->initVar, segmentOffset + (index * 16));
|
||||
else
|
||||
{
|
||||
// SW97 Actor 0x23 and above are shifted up by one because 0x22 was removed between SW97 and retail.
|
||||
// We need to shift down by one
|
||||
if (Globals::Instance->game == ZGame::OOT_SW97 && actorNum >= 0x23)
|
||||
actorNum--;
|
||||
|
||||
if (actorNum < sizeof(ActorList) / sizeof(ActorList[0]))
|
||||
declaration += StringHelper::Sprintf("\t{ %s, %i, %i, %i, %i, %i, %i, 0x%04X }, //0x%06X", ActorList[actorNum].c_str(), entry->posX, entry->posY, entry->posZ, entry->rotX, entry->rotY, entry->rotZ, (uint16_t)entry->initVar, segmentOffset + (index * 16));
|
||||
else
|
||||
declaration += StringHelper::Sprintf("\t{ 0x%04X, %i, %i, %i, %i, %i, %i, 0x%04X }, //0x%06X", actorNum, entry->posX, entry->posY, entry->posZ, entry->rotX, entry->rotY, entry->rotZ, (uint16_t)entry->initVar, segmentOffset + (index * 16));
|
||||
|
||||
if (index < actors.size() - 1)
|
||||
declaration += "\n";
|
||||
}
|
||||
|
||||
index++;
|
||||
}
|
||||
|
||||
zRoom->parent->AddDeclarationArray(segmentOffset, DeclarationAlignment::None, DeclarationPadding::Pad16, actors.size() * 16,
|
||||
"ActorEntry", StringHelper::Sprintf("%sActorList0x%06X", roomName.c_str(), segmentOffset), actors.size(), declaration);
|
||||
"ActorEntry", StringHelper::Sprintf("%sActorList0x%06X", roomName.c_str(), segmentOffset), GetActorListArraySize(), declaration);
|
||||
|
||||
return sourceOutput;
|
||||
}
|
||||
|
@ -85,9 +99,31 @@ int32_t SetActorList::GetRawDataSize()
|
|||
return ZRoomCommand::GetRawDataSize() + ((int)actors.size() * 16);
|
||||
}
|
||||
|
||||
int SetActorList::GetActorListArraySize()
|
||||
{
|
||||
int actorCount = 0;
|
||||
|
||||
// Doing an else-if here so we only do the loop when the game is SW97.
|
||||
// Actor 0x22 is removed from SW97, so we need to ensure that we don't increment the actor count for it.
|
||||
if (Globals::Instance->game == ZGame::OOT_SW97)
|
||||
{
|
||||
actorCount = 0;
|
||||
|
||||
for (ActorSpawnEntry* entry : actors)
|
||||
if (entry->actorNum != 0x22)
|
||||
actorCount++;
|
||||
}
|
||||
else
|
||||
{
|
||||
actorCount = (int)actors.size();
|
||||
}
|
||||
|
||||
return actorCount;
|
||||
}
|
||||
|
||||
string SetActorList::GenerateExterns()
|
||||
{
|
||||
return StringHelper::Sprintf("extern ActorEntry %sActorList0x%06X[%i];\n", zRoom->GetName().c_str(), segmentOffset, (int)actors.size());
|
||||
return StringHelper::Sprintf("extern ActorEntry %sActorList0x%06X[%i];\n", zRoom->GetName().c_str(), segmentOffset, GetActorListArraySize());
|
||||
}
|
||||
|
||||
string SetActorList::GetCommandCName()
|
||||
|
|
|
@ -32,6 +32,7 @@ public:
|
|||
virtual std::string GenerateExterns();
|
||||
|
||||
private:
|
||||
int GetActorListArraySize();
|
||||
int numActors;
|
||||
std::vector<ActorSpawnEntry*> actors;
|
||||
uint32_t segmentOffset;
|
||||
|
|
|
@ -14,8 +14,6 @@ SetMesh::SetMesh(ZRoom* nZRoom, std::vector<uint8_t> rawData, int rawDataIndex,
|
|||
segmentOffset = SEG2FILESPACE(BitConverter::ToInt32BE(rawData, rawDataIndex + 4));
|
||||
|
||||
string declaration = "";
|
||||
char line[2048];
|
||||
|
||||
int8_t meshHeaderType = rawData[segmentOffset + 0];
|
||||
|
||||
if (meshHeaderType == 0)
|
||||
|
@ -24,8 +22,8 @@ SetMesh::SetMesh(ZRoom* nZRoom, std::vector<uint8_t> rawData, int rawDataIndex,
|
|||
meshHeader0->headerType = 0;
|
||||
meshHeader0->entries = vector<MeshEntry0*>();
|
||||
|
||||
meshHeader0->dListStart = BitConverter::ToInt32BE(rawData, segmentOffset + 4) & 0x00FFFFFF;
|
||||
meshHeader0->dListEnd = BitConverter::ToInt32BE(rawData, segmentOffset + 8) & 0x00FFFFFF;
|
||||
meshHeader0->dListStart = SEG2FILESPACE(BitConverter::ToInt32BE(rawData, segmentOffset + 4));
|
||||
meshHeader0->dListEnd = SEG2FILESPACE(BitConverter::ToInt32BE(rawData, segmentOffset + 8));
|
||||
|
||||
int8_t numEntries = rawData[segmentOffset + 1];
|
||||
uint32_t currentPtr = meshHeader0->dListStart;
|
||||
|
@ -40,12 +38,12 @@ SetMesh::SetMesh(ZRoom* nZRoom, std::vector<uint8_t> rawData, int rawDataIndex,
|
|||
for (int i = 0; i < numEntries; i++)
|
||||
{
|
||||
MeshEntry0* entry = new MeshEntry0();
|
||||
entry->opaqueDListAddr = BitConverter::ToInt32BE(rawData, currentPtr + 0) & 0x00FFFFFF;
|
||||
entry->translucentDListAddr = BitConverter::ToInt32BE(rawData, currentPtr + 4) & 0x00FFFFFF;
|
||||
entry->opaqueDListAddr = SEG2FILESPACE(BitConverter::ToInt32BE(rawData, currentPtr + 0));
|
||||
entry->translucentDListAddr = SEG2FILESPACE(BitConverter::ToInt32BE(rawData, currentPtr + 4));
|
||||
|
||||
if (entry->opaqueDListAddr != 0)
|
||||
{
|
||||
entry->opaqueDList = new ZDisplayList(rawData, entry->opaqueDListAddr, ZDisplayList::GetDListLength(rawData, entry->opaqueDListAddr));
|
||||
entry->opaqueDList = new ZDisplayList(rawData, entry->opaqueDListAddr, ZDisplayList::GetDListLength(rawData, entry->opaqueDListAddr, Globals::Instance->game == ZGame::OOT_SW97 ? DListType::F3DEX : DListType::F3DZEX));
|
||||
entry->opaqueDList->scene = zRoom->scene;
|
||||
entry->opaqueDList->parent = zRoom->parent;
|
||||
GenDListDeclarations(rawData, entry->opaqueDList);
|
||||
|
@ -53,7 +51,7 @@ SetMesh::SetMesh(ZRoom* nZRoom, std::vector<uint8_t> rawData, int rawDataIndex,
|
|||
|
||||
if (entry->translucentDListAddr != 0)
|
||||
{
|
||||
entry->translucentDList = new ZDisplayList(rawData, entry->translucentDListAddr, ZDisplayList::GetDListLength(rawData, entry->translucentDListAddr));
|
||||
entry->translucentDList = new ZDisplayList(rawData, entry->translucentDListAddr, ZDisplayList::GetDListLength(rawData, entry->translucentDListAddr, Globals::Instance->game == ZGame::OOT_SW97 ? DListType::F3DEX : DListType::F3DZEX));
|
||||
entry->translucentDList->scene = zRoom->scene;
|
||||
entry->translucentDList->parent = zRoom->parent;
|
||||
GenDListDeclarations(rawData, entry->translucentDList);
|
||||
|
@ -64,22 +62,17 @@ SetMesh::SetMesh(ZRoom* nZRoom, std::vector<uint8_t> rawData, int rawDataIndex,
|
|||
currentPtr += 8;
|
||||
}
|
||||
|
||||
//declaration += StringHelper::Sprintf("MeshHeader0 %sMeshHeade0x%06X = { { 0 }, 0x%02X, ", zRoom->GetName().c_str(), segmentOffset, meshHeader0->entries.size());
|
||||
declaration += StringHelper::Sprintf("{ 0 }, 0x%02X, ", meshHeader0->entries.size());
|
||||
|
||||
if (meshHeader0->dListStart != 0)
|
||||
sprintf(line, "(u32)&%sMeshDListEntry0x%06X, ", zRoom->GetName().c_str(), meshHeader0->dListStart);
|
||||
declaration += StringHelper::Sprintf("(u32)&%sMeshDListEntry0x%06X, ", zRoom->GetName().c_str(), meshHeader0->dListStart);
|
||||
else
|
||||
sprintf(line, "0, ");
|
||||
|
||||
declaration += line;
|
||||
declaration += "0, ";
|
||||
|
||||
if (meshHeader0->dListEnd != 0)
|
||||
sprintf(line, "(u32)&(%sMeshDListEntry0x%06X) + sizeof(%sMeshDListEntry0x%06X)", zRoom->GetName().c_str(), meshHeader0->dListStart, zRoom->GetName().c_str(), meshHeader0->dListStart);
|
||||
declaration += StringHelper::Sprintf("(u32)&(%sMeshDListEntry0x%06X) + sizeof(%sMeshDListEntry0x%06X)", zRoom->GetName().c_str(), meshHeader0->dListStart, zRoom->GetName().c_str(), meshHeader0->dListStart);
|
||||
else
|
||||
sprintf(line, "0");
|
||||
|
||||
declaration += line;
|
||||
declaration += "0";
|
||||
|
||||
zRoom->parent->AddDeclaration(segmentOffset, DeclarationAlignment::Align16, 12, "MeshHeader0", StringHelper::Sprintf("%sMeshHeader0x%06X", zRoom->GetName().c_str(), segmentOffset),
|
||||
declaration);
|
||||
|
@ -89,22 +82,16 @@ SetMesh::SetMesh(ZRoom* nZRoom, std::vector<uint8_t> rawData, int rawDataIndex,
|
|||
for (int i = 0; i < meshHeader0->entries.size(); i++)
|
||||
{
|
||||
if (meshHeader0->entries[i]->opaqueDListAddr != 0)
|
||||
sprintf(line, "\t{ (u32)%sDlist0x%06X, ", zRoom->GetName().c_str(), meshHeader0->entries[i]->opaqueDListAddr);
|
||||
declaration += StringHelper::Sprintf("\t{ (u32)%sDlist0x%06X, ", zRoom->GetName().c_str(), meshHeader0->entries[i]->opaqueDListAddr);
|
||||
else
|
||||
sprintf(line, "\t{ 0, ");
|
||||
|
||||
declaration += line;
|
||||
declaration += "\t{ 0, ";
|
||||
|
||||
if (meshHeader0->entries[i]->translucentDListAddr != 0)
|
||||
sprintf(line, "(u32)%sDlist0x%06X },\n", zRoom->GetName().c_str(), meshHeader0->entries[i]->translucentDListAddr);
|
||||
declaration += StringHelper::Sprintf("(u32)%sDlist0x%06X },\n", zRoom->GetName().c_str(), meshHeader0->entries[i]->translucentDListAddr);
|
||||
else
|
||||
sprintf(line, "0 },\n");
|
||||
|
||||
declaration += line;
|
||||
declaration += "0 },\n";
|
||||
}
|
||||
|
||||
//declaration += "static u32 terminatorMaybe = 0x01000000; // This always appears after the mesh entries. Its purpose is not clear.\n";
|
||||
|
||||
zRoom->parent->AddDeclarationArray(meshHeader0->dListStart, DeclarationAlignment::None, DeclarationPadding::None, (meshHeader0->entries.size() * 8) + 0, "MeshEntry0",
|
||||
StringHelper::Sprintf("%sMeshDListEntry0x%06X", zRoom->GetName().c_str(), meshHeader0->dListStart), meshHeader0->entries.size(), declaration);
|
||||
|
||||
|
@ -186,8 +173,8 @@ SetMesh::SetMesh(ZRoom* nZRoom, std::vector<uint8_t> rawData, int rawDataIndex,
|
|||
meshHeader2->headerType = 2;
|
||||
|
||||
meshHeader2->entries = vector<MeshEntry2*>();
|
||||
meshHeader2->dListStart = BitConverter::ToInt32BE(rawData, segmentOffset + 4) & 0x00FFFFFF;
|
||||
meshHeader2->dListEnd = BitConverter::ToInt32BE(rawData, segmentOffset + 8) & 0x00FFFFFF;
|
||||
meshHeader2->dListStart = SEG2FILESPACE(BitConverter::ToInt32BE(rawData, segmentOffset + 4));
|
||||
meshHeader2->dListEnd = SEG2FILESPACE(BitConverter::ToInt32BE(rawData, segmentOffset + 8));
|
||||
|
||||
int8_t numEntries = rawData[segmentOffset + 1];
|
||||
uint32_t currentPtr = meshHeader2->dListStart;
|
||||
|
@ -206,7 +193,7 @@ SetMesh::SetMesh(ZRoom* nZRoom, std::vector<uint8_t> rawData, int rawDataIndex,
|
|||
|
||||
if (entry->opaqueDListAddr != 0)
|
||||
{
|
||||
entry->opaqueDList = new ZDisplayList(rawData, entry->opaqueDListAddr, ZDisplayList::GetDListLength(rawData, entry->opaqueDListAddr));
|
||||
entry->opaqueDList = new ZDisplayList(rawData, entry->opaqueDListAddr, ZDisplayList::GetDListLength(rawData, entry->opaqueDListAddr, Globals::Instance->game == ZGame::OOT_SW97 ? DListType::F3DEX : DListType::F3DZEX));
|
||||
entry->opaqueDList->scene = zRoom->scene;
|
||||
entry->opaqueDList->parent = zRoom->parent;
|
||||
GenDListDeclarations(rawData, entry->opaqueDList); // HOTSPOT
|
||||
|
@ -214,7 +201,7 @@ SetMesh::SetMesh(ZRoom* nZRoom, std::vector<uint8_t> rawData, int rawDataIndex,
|
|||
|
||||
if (entry->translucentDListAddr != 0)
|
||||
{
|
||||
entry->translucentDList = new ZDisplayList(rawData, entry->translucentDListAddr, ZDisplayList::GetDListLength(rawData, entry->translucentDListAddr));
|
||||
entry->translucentDList = new ZDisplayList(rawData, entry->translucentDListAddr, ZDisplayList::GetDListLength(rawData, entry->translucentDListAddr, Globals::Instance->game == ZGame::OOT_SW97 ? DListType::F3DEX : DListType::F3DZEX));
|
||||
entry->translucentDList->scene = zRoom->scene;
|
||||
entry->translucentDList->parent = zRoom->parent;
|
||||
GenDListDeclarations(rawData, entry->translucentDList); // HOTSPOT
|
||||
|
@ -225,55 +212,38 @@ SetMesh::SetMesh(ZRoom* nZRoom, std::vector<uint8_t> rawData, int rawDataIndex,
|
|||
currentPtr += 16;
|
||||
}
|
||||
|
||||
sprintf(line, "{ 2 }, 0x%02lX, ", meshHeader2->entries.size());
|
||||
declaration += line;
|
||||
declaration += StringHelper::Sprintf("{ 2 }, 0x%02lX, ", meshHeader2->entries.size());
|
||||
|
||||
if (meshHeader2->dListStart != 0)
|
||||
sprintf(line, "(u32)&%sMeshDListEntry0x%06X, ", zRoom->GetName().c_str(), meshHeader2->dListStart);
|
||||
declaration += StringHelper::Sprintf("(u32)&%sMeshDListEntry0x%06X, ", zRoom->GetName().c_str(), meshHeader2->dListStart);
|
||||
else
|
||||
sprintf(line, "0, ");
|
||||
|
||||
declaration += line;
|
||||
declaration += "0, ";
|
||||
|
||||
if (meshHeader2->dListEnd != 0)
|
||||
sprintf(line, "(u32)&(%sMeshDListEntry0x%06X) + sizeof(%sMeshDListEntry0x%06X)", zRoom->GetName().c_str(), meshHeader2->dListStart, zRoom->GetName().c_str(), meshHeader2->dListStart);
|
||||
declaration += StringHelper::Sprintf("(u32)&(%sMeshDListEntry0x%06X) + sizeof(%sMeshDListEntry0x%06X)", zRoom->GetName().c_str(), meshHeader2->dListStart, zRoom->GetName().c_str(), meshHeader2->dListStart);
|
||||
else
|
||||
sprintf(line, "0");
|
||||
|
||||
declaration += line;
|
||||
declaration += "0";
|
||||
|
||||
zRoom->parent->AddDeclaration(segmentOffset, DeclarationAlignment::None, 12, "MeshHeader2",
|
||||
StringHelper::Sprintf("%sMeshHeader0x%06X", zRoom->GetName().c_str(), segmentOffset), declaration);
|
||||
|
||||
declaration = "";
|
||||
|
||||
//sprintf(line, "MeshEntry2 %sMeshDListEntry0x%06X[%i] = \n{\n", zRoom->GetName().c_str(), meshHeader2->dListStart, meshHeader2->entries.size());
|
||||
//declaration += line;
|
||||
|
||||
for (int i = 0; i < meshHeader2->entries.size(); i++)
|
||||
{
|
||||
sprintf(line, "\t{ %i, %i, %i, %i, ", meshHeader2->entries[i]->playerXMax, meshHeader2->entries[i]->playerZMax, meshHeader2->entries[i]->playerXMin, meshHeader2->entries[i]->playerZMin);
|
||||
|
||||
declaration += line;
|
||||
declaration += StringHelper::Sprintf("\t{ %i, %i, %i, %i, ", meshHeader2->entries[i]->playerXMax, meshHeader2->entries[i]->playerZMax, meshHeader2->entries[i]->playerXMin, meshHeader2->entries[i]->playerZMin);
|
||||
|
||||
if (meshHeader2->entries[i]->opaqueDListAddr != 0)
|
||||
sprintf(line, "(u32)%sDlist0x%06X, ", zRoom->GetName().c_str(), meshHeader2->entries[i]->opaqueDListAddr);
|
||||
declaration += StringHelper::Sprintf("(u32)%sDlist0x%06X, ", zRoom->GetName().c_str(), meshHeader2->entries[i]->opaqueDListAddr);
|
||||
else
|
||||
sprintf(line, "0, ");
|
||||
|
||||
declaration += line;
|
||||
declaration += "0, ";
|
||||
|
||||
if (meshHeader2->entries[i]->translucentDListAddr != 0)
|
||||
sprintf(line, "(u32)%sDlist0x%06X },\n", zRoom->GetName().c_str(), meshHeader2->entries[i]->translucentDListAddr);
|
||||
declaration += StringHelper::Sprintf("(u32)%sDlist0x%06X },\n", zRoom->GetName().c_str(), meshHeader2->entries[i]->translucentDListAddr);
|
||||
else
|
||||
sprintf(line, "0 },\n");
|
||||
|
||||
declaration += line;
|
||||
declaration += "0 },\n";
|
||||
}
|
||||
|
||||
//declaration += "};\n\n";
|
||||
//declaration += "static u32 terminatorMaybe = 0x01000000; // This always appears after the mesh entries. Its purpose is not clear.\n";
|
||||
|
||||
zRoom->parent->AddDeclarationArray(meshHeader2->dListStart, DeclarationAlignment::None, DeclarationPadding::None, (meshHeader2->entries.size() * 16) + 0,
|
||||
"MeshEntry2", StringHelper::Sprintf("%sMeshDListEntry0x%06X", zRoom->GetName().c_str(), meshHeader2->dListStart, meshHeader2->entries.size()), meshHeader2->entries.size(), declaration);
|
||||
|
||||
|
@ -314,8 +284,6 @@ void SetMesh::GenDListDeclarations(std::vector<uint8_t> rawData, ZDisplayList* d
|
|||
{
|
||||
zRoom->parent->AddDeclarationArray(vtxEntry.first, DeclarationAlignment::Align8, dList->vertices[vtxEntry.first].size() * 16, "static Vtx",
|
||||
StringHelper::Sprintf("%sVtx_%06X", zRoom->GetName().c_str(), vtxEntry.first), dList->vertices[vtxEntry.first].size(), vtxEntry.second);
|
||||
|
||||
//zRoom->parent->declarations[vtxEntry.first] = new Declaration(DeclarationAlignment::Align8, dList->vertices[vtxEntry.first].size() * 16, vtxEntry.second);
|
||||
}
|
||||
|
||||
for (pair<uint32_t, string> texEntry : dList->texDeclarations)
|
||||
|
@ -345,9 +313,6 @@ std::string SetMesh::GenDListExterns(ZDisplayList* dList)
|
|||
for (ZDisplayList* otherDList : dList->otherDLists)
|
||||
sourceOutput += GenDListExterns(otherDList);
|
||||
|
||||
//for (pair<uint32_t, string> vtxEntry : dList->vtxDeclarations)
|
||||
//sourceOutput += StringHelper::Sprintf("extern Vtx %sVtx_%06X[%i];\n", zRoom->GetName().c_str(), vtxEntry.first, dList->vertices[vtxEntry.first].size());
|
||||
|
||||
for (pair<uint32_t, string> texEntry : dList->texDeclarations)
|
||||
sourceOutput += StringHelper::Sprintf("extern u64 %sTex_%06X[];\n", zRoom->GetName().c_str(), texEntry.first);
|
||||
|
||||
|
|
|
@ -42,7 +42,16 @@ string SetTransitionActorList::GenerateSourceCodePass1(string roomName, int base
|
|||
string declaration = "";
|
||||
|
||||
for (TransitionActorEntry* entry : transitionActors)
|
||||
declaration += StringHelper::Sprintf("\t{ %i, %i, %i, %i, %s, %i, %i, %i, %i, 0x%04X }, \n", entry->frontObjectRoom, entry->frontTransitionReaction, entry->backObjectRoom, entry->backTransitionReaction, ActorList[entry->actorNum].c_str(), entry->posX, entry->posY, entry->posZ, entry->rotY, (uint16_t)entry->initVar);
|
||||
{
|
||||
string actorStr = "";
|
||||
|
||||
if (entry->actorNum < sizeof(ActorList) / sizeof(ActorList[0]))
|
||||
actorStr = ActorList[entry->actorNum];
|
||||
else
|
||||
actorStr = StringHelper::Sprintf("0x%04X", entry->actorNum);
|
||||
|
||||
declaration += StringHelper::Sprintf("\t{ %i, %i, %i, %i, %s, %i, %i, %i, %i, 0x%04X }, \n", entry->frontObjectRoom, entry->frontTransitionReaction, entry->backObjectRoom, entry->backTransitionReaction, actorStr.c_str(), entry->posX, entry->posY, entry->posZ, entry->rotY, (uint16_t)entry->initVar);
|
||||
}
|
||||
|
||||
zRoom->parent->AddDeclarationArray(segmentOffset, DeclarationAlignment::None, transitionActors.size() * 16, "TransitionActorEntry",
|
||||
StringHelper::Sprintf("%sTransitionActorList0x%06X", roomName.c_str(), segmentOffset), 0, declaration);
|
||||
|
|
|
@ -4,406 +4,406 @@
|
|||
|
||||
static const std::string ObjectList[] =
|
||||
{
|
||||
"OBJ_0000",
|
||||
"GAMEPLAY_KEEP",
|
||||
"GAMEPLAY_FIELD_KEEP",
|
||||
"GAMEPLAY_DANGEON_KEEP",
|
||||
"OBJ_0004",
|
||||
"OBJ_0005",
|
||||
"OBJECT_HUMAN",
|
||||
"OBJECT_OKUTA",
|
||||
"OBJECT_CROW",
|
||||
"OBJECT_POH",
|
||||
"OBJECT_DY_OBJ",
|
||||
"OBJECT_WALLMASTER",
|
||||
"OBJECT_DODONGO",
|
||||
"OBJECT_FIREFLY",
|
||||
"OBJECT_BOX",
|
||||
"OBJECT_FIRE",
|
||||
"OBJ_0010",
|
||||
"OBJ_0011",
|
||||
"OBJECT_BUBBLE",
|
||||
"OBJECT_NIW",
|
||||
"OBJECT_LINK_BOY",
|
||||
"OBJECT_LINK_CHILD",
|
||||
"OBJECT_TITE",
|
||||
"OBJECT_REEBA",
|
||||
"OBJECT_PEEHAT",
|
||||
"OBJECT_KINGDODONGO",
|
||||
"OBJECT_HORSE",
|
||||
"OBJECT_ZF",
|
||||
"OBJECT_GOMA",
|
||||
"OBJECT_ZL1",
|
||||
"OBJECT_GOL",
|
||||
"OBJECT_DODOJR",
|
||||
"OBJECT_TORCH2",
|
||||
"OBJECT_BL",
|
||||
"OBJECT_TP",
|
||||
"OBJECT_OA1",
|
||||
"OBJECT_ST",
|
||||
"OBJECT_BW",
|
||||
"OBJECT_EI",
|
||||
"OBJECT_HORSE_NORMAL",
|
||||
"OBJECT_OB1",
|
||||
"OBJECT_O_ANIME",
|
||||
"OBJECT_SPOT04_OBJECTS",
|
||||
"OBJECT_DDAN_OBJECTS",
|
||||
"OBJECT_HIDAN_OBJECTS",
|
||||
"OBJECT_HORSE_GANON",
|
||||
"OBJECT_OA2",
|
||||
"OBJECT_SPOT00_OBJECTS",
|
||||
"OBJECT_MB",
|
||||
"OBJECT_BOMBF",
|
||||
"OBJECT_SK2",
|
||||
"OBJECT_OE1",
|
||||
"OBJECT_OE_ANIME",
|
||||
"OBJECT_OE2",
|
||||
"OBJECT_YDAN_OBJECTS",
|
||||
"OBJECT_GND",
|
||||
"OBJECT_AM",
|
||||
"OBJECT_DEKUBABA",
|
||||
"OBJECT_003A",
|
||||
"OBJECT_OA3",
|
||||
"OBJECT_OA4",
|
||||
"OBJECT_OA5",
|
||||
"OBJECT_OA6",
|
||||
"OBJECT_OA7",
|
||||
"OBJECT_JJ",
|
||||
"OBJECT_OA8",
|
||||
"OBJECT_OA9",
|
||||
"OBJECT_OB2",
|
||||
"OBJECT_OB3",
|
||||
"OBJECT_OB4",
|
||||
"OBJECT_HORSE_ZELDA",
|
||||
"OBJECT_OPENING_DEMO1",
|
||||
"OBJECT_WARP1",
|
||||
"OBJECT_B_HEART",
|
||||
"OBJECT_DEKUNUTS",
|
||||
"OBJECT_OE3",
|
||||
"OBJECT_OE4",
|
||||
"OBJECT_MENKURI_OBJECTS",
|
||||
"OBJECT_OE5",
|
||||
"OBJECT_OE6",
|
||||
"OBJECT_OE7",
|
||||
"OBJECT_OE8",
|
||||
"OBJECT_OE9",
|
||||
"OBJECT_OE10",
|
||||
"OBJECT_OE11",
|
||||
"OBJECT_OE12",
|
||||
"OBJECT_VALI",
|
||||
"OBJECT_OA10",
|
||||
"OBJECT_OA11",
|
||||
"OBJECT_MIZU_OBJECTS",
|
||||
"OBJECT_FHG",
|
||||
"OBJECT_OSSAN",
|
||||
"OBJECT_MORI_HINERI1",
|
||||
"OBJECT_BB",
|
||||
"OBJECT_TOKI_OBJECTS",
|
||||
"OBJECT_YUKABYUN",
|
||||
"OBJECT_ZL2",
|
||||
"OBJECT_MJIN",
|
||||
"OBJECT_MJIN_FLASH",
|
||||
"OBJECT_MJIN_DARK",
|
||||
"OBJECT_MJIN_FLAME",
|
||||
"OBJECT_MJIN_ICE",
|
||||
"OBJECT_MJIN_SOUL",
|
||||
"OBJECT_MJIN_WIND",
|
||||
"OBJECT_MJIN_OKA",
|
||||
"OBJECT_HAKA_OBJECTS",
|
||||
"OBJECT_SPOT06_OBJECTS",
|
||||
"OBJECT_ICE_OBJECTS",
|
||||
"OBJECT_RELAY_OBJECTS",
|
||||
"OBJECT_PO_FIELD",
|
||||
"OBJECT_PO_COMPOSER",
|
||||
"OBJECT_MORI_HINERI1A",
|
||||
"OBJECT_MORI_HINERI2",
|
||||
"OBJECT_MORI_HINERI2A",
|
||||
"OBJECT_MORI_OBJECTS",
|
||||
"OBJECT_MORI_TEX",
|
||||
"OBJECT_SPOT08_OBJ",
|
||||
"OBJECT_WARP2",
|
||||
"OBJECT_HATA",
|
||||
"OBJECT_BIRD",
|
||||
"OBJ_0078",
|
||||
"OBJ_0079",
|
||||
"OBJ_007A",
|
||||
"OBJ_007B",
|
||||
"OBJECT_WOOD02",
|
||||
"OBJ_007D",
|
||||
"OBJ_007E",
|
||||
"OBJ_007F",
|
||||
"OBJ_0080",
|
||||
"OBJECT_LIGHTBOX",
|
||||
"OBJECT_PU_BOX",
|
||||
"OBJ_0083",
|
||||
"OBJ_0084",
|
||||
"OBJECT_TRAP",
|
||||
"OBJECT_VASE",
|
||||
"OBJECT_IM",
|
||||
"OBJECT_TA",
|
||||
"OBJECT_TK",
|
||||
"OBJECT_XC",
|
||||
"OBJECT_VM",
|
||||
"OBJECT_BV",
|
||||
"OBJECT_HAKACH_OBJECTS",
|
||||
"OBJECT_EFC_CRYSTAL_LIGHT",
|
||||
"OBJECT_EFC_FIRE_BALL",
|
||||
"OBJECT_EFC_FLASH",
|
||||
"OBJECT_EFC_LGT_SHOWER",
|
||||
"OBJECT_EFC_STAR_FIELD",
|
||||
"OBJECT_GOD_LGT",
|
||||
"OBJECT_LIGHT_RING",
|
||||
"OBJECT_TRIFORCE_SPOT",
|
||||
"OBJECT_BDAN_OBJECTS",
|
||||
"OBJECT_SD",
|
||||
"OBJECT_RD",
|
||||
"OBJECT_PO_SISTERS",
|
||||
"OBJECT_HEAVY_OBJECT",
|
||||
"OBJECT_GNDD",
|
||||
"OBJECT_FD",
|
||||
"OBJECT_DU",
|
||||
"OBJECT_FW",
|
||||
"OBJECT_MEDAL",
|
||||
"OBJECT_HORSE_LINK_CHILD",
|
||||
"OBJECT_SPOT02_OBJECTS",
|
||||
"OBJECT_HAKA",
|
||||
"OBJECT_RU1",
|
||||
"OBJECT_SYOKUDAI",
|
||||
"OBJECT_FD2",
|
||||
"OBJECT_DH",
|
||||
"OBJECT_RL",
|
||||
"OBJECT_EFC_TW",
|
||||
"OBJECT_DEMO_TRE_LGT",
|
||||
"OBJECT_GI_KEY",
|
||||
"OBJECT_MIR_RAY",
|
||||
"OBJECT_BROB",
|
||||
"OBJECT_GI_JEWEL",
|
||||
"OBJECT_SPOT09_OBJ",
|
||||
"OBJECT_SPOT18_OBJ",
|
||||
"OBJECT_BDOOR",
|
||||
"OBJECT_SPOT17_OBJ",
|
||||
"OBJECT_SHOP_DUNGEN",
|
||||
"OBJECT_NB",
|
||||
"OBJECT_MO",
|
||||
"OBJECT_SB",
|
||||
"OBJECT_GI_MELODY",
|
||||
"OBJECT_GI_HEART",
|
||||
"OBJECT_GI_COMPASS",
|
||||
"OBJECT_GI_BOSSKEY",
|
||||
"OBJECT_GI_MEDAL",
|
||||
"OBJECT_GI_NUTS",
|
||||
"OBJECT_SA",
|
||||
"OBJECT_GI_HEARTS",
|
||||
"OBJECT_GI_ARROWCASE",
|
||||
"OBJECT_GI_BOMBPOUCH",
|
||||
"OBJECT_IN",
|
||||
"OBJECT_TR",
|
||||
"OBJECT_SPOT16_OBJ",
|
||||
"OBJECT_OE1S",
|
||||
"OBJECT_OE4S",
|
||||
"OBJECT_OS_ANIME",
|
||||
"OBJECT_GI_BOTTLE",
|
||||
"OBJECT_GI_STICK",
|
||||
"OBJECT_GI_MAP",
|
||||
"OBJECT_OF1D_MAP",
|
||||
"OBJECT_RU2",
|
||||
"OBJECT_GI_SHIELD_1",
|
||||
"OBJECT_DEKUJR",
|
||||
"OBJECT_GI_MAGICPOT",
|
||||
"OBJECT_GI_BOMB_1",
|
||||
"OBJECT_OF1S",
|
||||
"OBJECT_MA2",
|
||||
"OBJECT_GI_PURSE",
|
||||
"OBJECT_HNI",
|
||||
"OBJECT_TW",
|
||||
"OBJECT_RR",
|
||||
"OBJECT_BXA",
|
||||
"OBJECT_ANUBICE",
|
||||
"OBJECT_GI_GERUDO",
|
||||
"OBJECT_GI_ARROW",
|
||||
"OBJECT_GI_BOMB_2",
|
||||
"OBJECT_GI_EGG",
|
||||
"OBJECT_GI_SCALE",
|
||||
"OBJECT_GI_SHIELD_2",
|
||||
"OBJEFCT_GI_HOOKSHOT",
|
||||
"OBJECT_GI_OCARINA",
|
||||
"OBJECT_GI_MILK",
|
||||
"OBJECT_MA1",
|
||||
"OBJECT_GANON",
|
||||
"OBJECT_SST",
|
||||
"OBJECT_NY",
|
||||
"OBJ_00E4",
|
||||
"OBJECT_NY",
|
||||
"OBJECT_FR",
|
||||
"OBJECT_GI_PACHINKO",
|
||||
"OBJECT_GI_BOOMERANG",
|
||||
"OBJECT_GI_BOW",
|
||||
"OBJECT_GI_GLASSES",
|
||||
"OBJECT_GI_LIQUID",
|
||||
"OBJECT_ANI",
|
||||
"OBJECT_DEMO_6K",
|
||||
"OBJECT_GI_SHIELD_3",
|
||||
"OBJECT_GI_LETTER",
|
||||
"OBJECT_SPOT15_OBJ",
|
||||
"OBJECT_JYA_OBJ",
|
||||
"OBJECT_GI_CLOTHES",
|
||||
"OBJECT_GI_BEAN",
|
||||
"OBJECT_GI_FISH",
|
||||
"OBJECT_GI_SAW",
|
||||
"OBJECT_GI_HAMMER",
|
||||
"OBJECT_GI_GRASS",
|
||||
"OBJECT_GI_LONGSWORD",
|
||||
"OBJECT_SPOT01_OBJECTS",
|
||||
"OBJECT_MD",
|
||||
"OBJECT_MD",
|
||||
"OBJECT_KM1",
|
||||
"OBJECT_KW1",
|
||||
"OBJECT_ZO",
|
||||
"OBJECT_KZ",
|
||||
"OBJECT_UMAJUMP",
|
||||
"OBJECT_MASTERKOKIRI",
|
||||
"OBJECT_MASTERKOKIRIHEAD",
|
||||
"OBJECT_MASTERGOLON",
|
||||
"OBJECT_MASTERZOORA",
|
||||
"OBJECT_AOB",
|
||||
"OBJECT_IK",
|
||||
"OBJECT_AHG",
|
||||
"OBJECT_CNE",
|
||||
"OBJECT_GI_NIWATORI",
|
||||
"OBJECT_SKJ",
|
||||
"OBJECT_GI_BOTTLE_LETTER",
|
||||
"OBJECT_BJI",
|
||||
"OBJECT_BBA",
|
||||
"OBJECT_GI_OCARINA_0",
|
||||
"OBJECT_DS",
|
||||
"OBJECT_ANE",
|
||||
"OBJECT_BOJ",
|
||||
"OBJECT_SPOT03_OBJECT",
|
||||
"OBJECT_SPOT07_OBJECT",
|
||||
"OBJECT_FZ",
|
||||
"OBJECT_BOB",
|
||||
"OBJECT_GE1",
|
||||
"OBJECT_YABUSAME_POINT",
|
||||
"OBJECT_GI_BOOTS_2",
|
||||
"OBJECT_GI_SEED",
|
||||
"OBJECT_GND_MAGIC",
|
||||
"OBJECT_D_ELEVATOR",
|
||||
"OBJECT_D_HSBLOCK",
|
||||
"OBJECT_D_LIFT",
|
||||
"OBJECT_MAMENOKI",
|
||||
"OBJECT_GOROIWA",
|
||||
"OBJ_0120",
|
||||
"OBJECT_TORYO",
|
||||
"OBJECT_DAIKU",
|
||||
"OBJ_0123",
|
||||
"OBJECT_NWC",
|
||||
"OBJECT_BLKOBJ",
|
||||
"OBJECT_GM",
|
||||
"OBJECT_MS",
|
||||
"OBJECT_HS",
|
||||
"OBJECT_INGATE",
|
||||
"OBJECT_LIGHTSWITCH",
|
||||
"OBJECT_KUSA",
|
||||
"OBJECT_TSUBO",
|
||||
"OBJECT_GI_GLOVES",
|
||||
"OBJECT_GI_COIN",
|
||||
"OBJECT_KANBAN",
|
||||
"OBJECT_GJYO_OBJECTS",
|
||||
"OBJECT_OWL",
|
||||
"OBJECT_MK",
|
||||
"OBJECT_FU",
|
||||
"OBJECT_GI_KI_TAN_MASK",
|
||||
"OBJECT_GI_REDEAD_MASK",
|
||||
"OBJECT_GI_SKJ_MASK",
|
||||
"OBJECT_GI_RABIT_MASK",
|
||||
"OBJECT_GI_TRUTH_MASK",
|
||||
"OBJECT_GANON_OBJECTS",
|
||||
"OBJECT_SIOFUKI",
|
||||
"OBJECT_STREAM",
|
||||
"OBJECT_MM",
|
||||
"OBJECT_FA",
|
||||
"OBJECT_OS",
|
||||
"OBJECT_GI_EYE_LOTION",
|
||||
"OBJECT_GI_POWDER",
|
||||
"OBJECT_GI_MUSHROOM",
|
||||
"OBJECT_GI_TICKETSTONE",
|
||||
"OBJECT_GI_BROKENSWORD",
|
||||
"OBJECT_JS",
|
||||
"OBJECT_CS",
|
||||
"OBJECT_GI_PRESCRIPTION",
|
||||
"OBJECT_GI_BRACELET",
|
||||
"OBJECT_GI_SOLDOUT",
|
||||
"OBJECT_GI_FROG",
|
||||
"OBJECT_MAG",
|
||||
"OBJECT_DOOR_GERUDO",
|
||||
"OBJECT_GT",
|
||||
"OBJECT_EFC_ERUPC",
|
||||
"OBJECT_ZL2_ANIME1",
|
||||
"OBJECT_ZL2_ANIME2",
|
||||
"OBJECT_GI_GOLONMASK",
|
||||
"OBJECT_GI_ZORAMASK",
|
||||
"OBJECT_GI_GERUDOMASK",
|
||||
"OBJECT_GANON2",
|
||||
"OBJECT_KA",
|
||||
"OBJECT_TS",
|
||||
"OBJECT_ZG",
|
||||
"OBJECT_GI_HOVERBOOTS",
|
||||
"OBJECT_GI_M_ARROW",
|
||||
"OBJECT_DS2",
|
||||
"OBJECT_EC",
|
||||
"OBJECT_FISH",
|
||||
"OBJECT_GI_SUTARU",
|
||||
"OBJECT_GI_GODDESS",
|
||||
"OBJECT_SSH",
|
||||
"OBJECT_BIGOKUTA",
|
||||
"OBJECT_BG",
|
||||
"OBJECT_SPOT05_OBJECTS",
|
||||
"OBJECT_SPOT12_OBJ",
|
||||
"OBJECT_BOMBIWA",
|
||||
"OBJECT_HINTNUTS",
|
||||
"OBJECT_RS",
|
||||
"OBJECT_SPOT00_BREAK",
|
||||
"OBJECT_GLA",
|
||||
"OBJECT_SHOPNUTS",
|
||||
"OBJECT_GELDB",
|
||||
"OBJECT_GR",
|
||||
"OBJECT_DOG",
|
||||
"OBJECT_JYA_IRON",
|
||||
"OBJECT_JYA_DOOR",
|
||||
"OBJ_016E",
|
||||
"OBJECT_SPOT11_OBJ",
|
||||
"OBJECT_KIBAKO2",
|
||||
"OBJECT_DNS",
|
||||
"OBJECT_DNK",
|
||||
"OBJECT_GI_FIRE",
|
||||
"OBJECT_GI_INSECT",
|
||||
"OBJECT_GI_BUTTERFLY",
|
||||
"OBJECT_GI_GHOST",
|
||||
"OBJECT_GI_SOUL",
|
||||
"OBJECT_BOWL",
|
||||
"OBJECT_DEMO_KEKKAI",
|
||||
"OBJECT_EFC_DOUGHNUT",
|
||||
"OBJECT_GI_DEKUPOUCH",
|
||||
"OBJECT_GANON_ANIME1",
|
||||
"OBJECT_GANON_ANIME2",
|
||||
"OBJECT_GANON_ANIME3",
|
||||
"OBJECT_GI_RUPY",
|
||||
"OBJECT_SPOT01_MATOYA",
|
||||
"OBJECT_SPOT01_MATOYAB",
|
||||
"OBJECT_MU",
|
||||
"OBJECT_WF",
|
||||
"OBJECT_SKB",
|
||||
"OBJECT_GJ",
|
||||
"OBJECT_GEFF",
|
||||
"OBJECT_HAKA_DOOR",
|
||||
"OBJECT_GS",
|
||||
"OBJECT_PS",
|
||||
"OBJECT_BWALL",
|
||||
"OBJECT_COW",
|
||||
"OBJECT_COB",
|
||||
"OBJECT_GI_SWORD_1",
|
||||
"OBJECT_DOOR_KILLER",
|
||||
"OBJECT_OUKE_HAKA",
|
||||
"OBJECT_TIMEBLOCK",
|
||||
"OBJECT_ZL4",
|
||||
/* 0x0000 */ "OBJECT_UNSET_0",
|
||||
/* 0x0001 */ "OBJECT_GAMEPLAY_KEEP",
|
||||
/* 0x0002 */ "OBJECT_GAMEPLAY_FIELD_KEEP",
|
||||
/* 0x0003 */ "OBJECT_GAMEPLAY_DANGEON_KEEP",
|
||||
/* 0x0004 */ "OBJECT_UNSET_4",
|
||||
/* 0x0005 */ "OBJECT_UNSET_5",
|
||||
/* 0x0006 */ "OBJECT_HUMAN",
|
||||
/* 0x0007 */ "OBJECT_OKUTA",
|
||||
/* 0x0008 */ "OBJECT_CROW",
|
||||
/* 0x0009 */ "OBJECT_POH",
|
||||
/* 0x000A */ "OBJECT_DY_OBJ",
|
||||
/* 0x000B */ "OBJECT_WALLMASTER",
|
||||
/* 0x000C */ "OBJECT_DODONGO",
|
||||
/* 0x000D */ "OBJECT_FIREFLY",
|
||||
/* 0x000E */ "OBJECT_BOX",
|
||||
/* 0x000F */ "OBJECT_FIRE",
|
||||
/* 0x0010 */ "OBJECT_UNSET_10",
|
||||
/* 0x0011 */ "OBJECT_UNSET_11",
|
||||
/* 0x0012 */ "OBJECT_BUBBLE",
|
||||
/* 0x0013 */ "OBJECT_NIW",
|
||||
/* 0x0014 */ "OBJECT_LINK_BOY",
|
||||
/* 0x0015 */ "OBJECT_LINK_CHILD",
|
||||
/* 0x0016 */ "OBJECT_TITE",
|
||||
/* 0x0017 */ "OBJECT_REEBA",
|
||||
/* 0x0018 */ "OBJECT_PEEHAT",
|
||||
/* 0x0019 */ "OBJECT_KINGDODONGO",
|
||||
/* 0x001A */ "OBJECT_HORSE",
|
||||
/* 0x001B */ "OBJECT_ZF",
|
||||
/* 0x001C */ "OBJECT_GOMA",
|
||||
/* 0x001D */ "OBJECT_ZL1",
|
||||
/* 0x001E */ "OBJECT_GOL",
|
||||
/* 0x001F */ "OBJECT_DODOJR",
|
||||
/* 0x0020 */ "OBJECT_TORCH2",
|
||||
/* 0x0021 */ "OBJECT_BL",
|
||||
/* 0x0022 */ "OBJECT_TP",
|
||||
/* 0x0023 */ "OBJECT_OA1",
|
||||
/* 0x0024 */ "OBJECT_ST",
|
||||
/* 0x0025 */ "OBJECT_BW",
|
||||
/* 0x0026 */ "OBJECT_EI",
|
||||
/* 0x0027 */ "OBJECT_HORSE_NORMAL",
|
||||
/* 0x0028 */ "OBJECT_OB1",
|
||||
/* 0x0029 */ "OBJECT_O_ANIME",
|
||||
/* 0x002A */ "OBJECT_SPOT04_OBJECTS",
|
||||
/* 0x002B */ "OBJECT_DDAN_OBJECTS",
|
||||
/* 0x002C */ "OBJECT_HIDAN_OBJECTS",
|
||||
/* 0x002D */ "OBJECT_HORSE_GANON",
|
||||
/* 0x002E */ "OBJECT_OA2",
|
||||
/* 0x002F */ "OBJECT_SPOT00_OBJECTS",
|
||||
/* 0x0030 */ "OBJECT_MB",
|
||||
/* 0x0031 */ "OBJECT_BOMBF",
|
||||
/* 0x0032 */ "OBJECT_SK2",
|
||||
/* 0x0033 */ "OBJECT_OE1",
|
||||
/* 0x0034 */ "OBJECT_OE_ANIME",
|
||||
/* 0x0035 */ "OBJECT_OE2",
|
||||
/* 0x0036 */ "OBJECT_YDAN_OBJECTS",
|
||||
/* 0x0037 */ "OBJECT_GND",
|
||||
/* 0x0038 */ "OBJECT_AM",
|
||||
/* 0x0039 */ "OBJECT_DEKUBABA",
|
||||
/* 0x003A */ "OBJECT_UNSET_3A",
|
||||
/* 0x003B */ "OBJECT_OA3",
|
||||
/* 0x003C */ "OBJECT_OA4",
|
||||
/* 0x003D */ "OBJECT_OA5",
|
||||
/* 0x003E */ "OBJECT_OA6",
|
||||
/* 0x003F */ "OBJECT_OA7",
|
||||
/* 0x0040 */ "OBJECT_JJ",
|
||||
/* 0x0041 */ "OBJECT_OA8",
|
||||
/* 0x0042 */ "OBJECT_OA9",
|
||||
/* 0x0043 */ "OBJECT_OB2",
|
||||
/* 0x0044 */ "OBJECT_OB3",
|
||||
/* 0x0045 */ "OBJECT_OB4",
|
||||
/* 0x0046 */ "OBJECT_HORSE_ZELDA",
|
||||
/* 0x0047 */ "OBJECT_OPENING_DEMO1",
|
||||
/* 0x0048 */ "OBJECT_WARP1",
|
||||
/* 0x0049 */ "OBJECT_B_HEART",
|
||||
/* 0x004A */ "OBJECT_DEKUNUTS",
|
||||
/* 0x004B */ "OBJECT_OE3",
|
||||
/* 0x004C */ "OBJECT_OE4",
|
||||
/* 0x004D */ "OBJECT_MENKURI_OBJECTS",
|
||||
/* 0x004E */ "OBJECT_OE5",
|
||||
/* 0x004F */ "OBJECT_OE6",
|
||||
/* 0x0050 */ "OBJECT_OE7",
|
||||
/* 0x0051 */ "OBJECT_OE8",
|
||||
/* 0x0052 */ "OBJECT_OE9",
|
||||
/* 0x0053 */ "OBJECT_OE10",
|
||||
/* 0x0054 */ "OBJECT_OE11",
|
||||
/* 0x0055 */ "OBJECT_OE12",
|
||||
/* 0x0056 */ "OBJECT_VALI",
|
||||
/* 0x0057 */ "OBJECT_OA10",
|
||||
/* 0x0058 */ "OBJECT_OA11",
|
||||
/* 0x0059 */ "OBJECT_MIZU_OBJECTS",
|
||||
/* 0x005A */ "OBJECT_FHG",
|
||||
/* 0x005B */ "OBJECT_OSSAN",
|
||||
/* 0x005C */ "OBJECT_MORI_HINERI1",
|
||||
/* 0x005D */ "OBJECT_BB",
|
||||
/* 0x005E */ "OBJECT_TOKI_OBJECTS",
|
||||
/* 0x005F */ "OBJECT_YUKABYUN",
|
||||
/* 0x0060 */ "OBJECT_ZL2",
|
||||
/* 0x0061 */ "OBJECT_MJIN",
|
||||
/* 0x0062 */ "OBJECT_MJIN_FLASH",
|
||||
/* 0x0063 */ "OBJECT_MJIN_DARK",
|
||||
/* 0x0064 */ "OBJECT_MJIN_FLAME",
|
||||
/* 0x0065 */ "OBJECT_MJIN_ICE",
|
||||
/* 0x0066 */ "OBJECT_MJIN_SOUL",
|
||||
/* 0x0067 */ "OBJECT_MJIN_WIND",
|
||||
/* 0x0068 */ "OBJECT_MJIN_OKA",
|
||||
/* 0x0069 */ "OBJECT_HAKA_OBJECTS",
|
||||
/* 0x006A */ "OBJECT_SPOT06_OBJECTS",
|
||||
/* 0x006B */ "OBJECT_ICE_OBJECTS",
|
||||
/* 0x006C */ "OBJECT_RELAY_OBJECTS",
|
||||
/* 0x006D */ "OBJECT_PO_FIELD",
|
||||
/* 0x006E */ "OBJECT_PO_COMPOSER",
|
||||
/* 0x006F */ "OBJECT_MORI_HINERI1A",
|
||||
/* 0x0070 */ "OBJECT_MORI_HINERI2",
|
||||
/* 0x0071 */ "OBJECT_MORI_HINERI2A",
|
||||
/* 0x0072 */ "OBJECT_MORI_OBJECTS",
|
||||
/* 0x0073 */ "OBJECT_MORI_TEX",
|
||||
/* 0x0074 */ "OBJECT_SPOT08_OBJ",
|
||||
/* 0x0075 */ "OBJECT_WARP2",
|
||||
/* 0x0076 */ "OBJECT_HATA",
|
||||
/* 0x0077 */ "OBJECT_BIRD",
|
||||
/* 0x0078 */ "OBJECT_UNSET_78",
|
||||
/* 0x0079 */ "OBJECT_UNSET_79",
|
||||
/* 0x007A */ "OBJECT_UNSET_7A",
|
||||
/* 0x007B */ "OBJECT_UNSET_7B",
|
||||
/* 0x007C */ "OBJECT_WOOD02",
|
||||
/* 0x007D */ "OBJECT_UNSET_7D",
|
||||
/* 0x007E */ "OBJECT_UNSET_7E",
|
||||
/* 0x007F */ "OBJECT_UNSET_7F",
|
||||
/* 0x0080 */ "OBJECT_UNSET_80",
|
||||
/* 0x0081 */ "OBJECT_LIGHTBOX",
|
||||
/* 0x0082 */ "OBJECT_PU_BOX",
|
||||
/* 0x0083 */ "OBJECT_UNSET_83",
|
||||
/* 0x0084 */ "OBJECT_UNSET_84",
|
||||
/* 0x0085 */ "OBJECT_TRAP",
|
||||
/* 0x0086 */ "OBJECT_VASE",
|
||||
/* 0x0087 */ "OBJECT_IM",
|
||||
/* 0x0088 */ "OBJECT_TA",
|
||||
/* 0x0089 */ "OBJECT_TK",
|
||||
/* 0x008A */ "OBJECT_XC",
|
||||
/* 0x008B */ "OBJECT_VM",
|
||||
/* 0x008C */ "OBJECT_BV",
|
||||
/* 0x008D */ "OBJECT_HAKACH_OBJECTS",
|
||||
/* 0x008E */ "OBJECT_EFC_CRYSTAL_LIGHT",
|
||||
/* 0x008F */ "OBJECT_EFC_FIRE_BALL",
|
||||
/* 0x0090 */ "OBJECT_EFC_FLASH",
|
||||
/* 0x0091 */ "OBJECT_EFC_LGT_SHOWER",
|
||||
/* 0x0092 */ "OBJECT_EFC_STAR_FIELD",
|
||||
/* 0x0093 */ "OBJECT_GOD_LGT",
|
||||
/* 0x0094 */ "OBJECT_LIGHT_RING",
|
||||
/* 0x0095 */ "OBJECT_TRIFORCE_SPOT",
|
||||
/* 0x0096 */ "OBJECT_BDAN_OBJECTS",
|
||||
/* 0x0097 */ "OBJECT_SD",
|
||||
/* 0x0098 */ "OBJECT_RD",
|
||||
/* 0x0099 */ "OBJECT_PO_SISTERS",
|
||||
/* 0x009A */ "OBJECT_HEAVY_OBJECT",
|
||||
/* 0x009B */ "OBJECT_GNDD",
|
||||
/* 0x009C */ "OBJECT_FD",
|
||||
/* 0x009D */ "OBJECT_DU",
|
||||
/* 0x009E */ "OBJECT_FW",
|
||||
/* 0x009F */ "OBJECT_MEDAL",
|
||||
/* 0x00A0 */ "OBJECT_HORSE_LINK_CHILD",
|
||||
/* 0x00A1 */ "OBJECT_SPOT02_OBJECTS",
|
||||
/* 0x00A2 */ "OBJECT_HAKA",
|
||||
/* 0x00A3 */ "OBJECT_RU1",
|
||||
/* 0x00A4 */ "OBJECT_SYOKUDAI",
|
||||
/* 0x00A5 */ "OBJECT_FD2",
|
||||
/* 0x00A6 */ "OBJECT_DH",
|
||||
/* 0x00A7 */ "OBJECT_RL",
|
||||
/* 0x00A8 */ "OBJECT_EFC_TW",
|
||||
/* 0x00A9 */ "OBJECT_DEMO_TRE_LGT",
|
||||
/* 0x00AA */ "OBJECT_GI_KEY",
|
||||
/* 0x00AB */ "OBJECT_MIR_RAY",
|
||||
/* 0x00AC */ "OBJECT_BROB",
|
||||
/* 0x00AD */ "OBJECT_GI_JEWEL",
|
||||
/* 0x00AE */ "OBJECT_SPOT09_OBJ",
|
||||
/* 0x00AF */ "OBJECT_SPOT18_OBJ",
|
||||
/* 0x00B0 */ "OBJECT_BDOOR",
|
||||
/* 0x00B1 */ "OBJECT_SPOT17_OBJ",
|
||||
/* 0x00B2 */ "OBJECT_SHOP_DUNGEN",
|
||||
/* 0x00B3 */ "OBJECT_NB",
|
||||
/* 0x00B4 */ "OBJECT_MO",
|
||||
/* 0x00B5 */ "OBJECT_SB",
|
||||
/* 0x00B6 */ "OBJECT_GI_MELODY",
|
||||
/* 0x00B7 */ "OBJECT_GI_HEART",
|
||||
/* 0x00B8 */ "OBJECT_GI_COMPASS",
|
||||
/* 0x00B9 */ "OBJECT_GI_BOSSKEY",
|
||||
/* 0x00BA */ "OBJECT_GI_MEDAL",
|
||||
/* 0x00BB */ "OBJECT_GI_NUTS",
|
||||
/* 0x00BC */ "OBJECT_SA",
|
||||
/* 0x00BD */ "OBJECT_GI_HEARTS",
|
||||
/* 0x00BE */ "OBJECT_GI_ARROWCASE",
|
||||
/* 0x00BF */ "OBJECT_GI_BOMBPOUCH",
|
||||
/* 0x00C0 */ "OBJECT_IN",
|
||||
/* 0x00C1 */ "OBJECT_TR",
|
||||
/* 0x00C2 */ "OBJECT_SPOT16_OBJ",
|
||||
/* 0x00C3 */ "OBJECT_OE1S",
|
||||
/* 0x00C4 */ "OBJECT_OE4S",
|
||||
/* 0x00C5 */ "OBJECT_OS_ANIME",
|
||||
/* 0x00C6 */ "OBJECT_GI_BOTTLE",
|
||||
/* 0x00C7 */ "OBJECT_GI_STICK",
|
||||
/* 0x00C8 */ "OBJECT_GI_MAP",
|
||||
/* 0x00C9 */ "OBJECT_OF1D_MAP",
|
||||
/* 0x00CA */ "OBJECT_RU2",
|
||||
/* 0x00CB */ "OBJECT_GI_SHIELD_1",
|
||||
/* 0x00CC */ "OBJECT_DEKUJR",
|
||||
/* 0x00CD */ "OBJECT_GI_MAGICPOT",
|
||||
/* 0x00CE */ "OBJECT_GI_BOMB_1",
|
||||
/* 0x00CF */ "OBJECT_OF1S",
|
||||
/* 0x00D0 */ "OBJECT_MA2",
|
||||
/* 0x00D1 */ "OBJECT_GI_PURSE",
|
||||
/* 0x00D2 */ "OBJECT_HNI",
|
||||
/* 0x00D3 */ "OBJECT_TW",
|
||||
/* 0x00D4 */ "OBJECT_RR",
|
||||
/* 0x00D5 */ "OBJECT_BXA",
|
||||
/* 0x00D6 */ "OBJECT_ANUBICE",
|
||||
/* 0x00D7 */ "OBJECT_GI_GERUDO",
|
||||
/* 0x00D8 */ "OBJECT_GI_ARROW",
|
||||
/* 0x00D9 */ "OBJECT_GI_BOMB_2",
|
||||
/* 0x00DA */ "OBJECT_GI_EGG",
|
||||
/* 0x00DB */ "OBJECT_GI_SCALE",
|
||||
/* 0x00DC */ "OBJECT_GI_SHIELD_2",
|
||||
/* 0x00DD */ "OBJECT_GI_HOOKSHOT",
|
||||
/* 0x00DE */ "OBJECT_GI_OCARINA",
|
||||
/* 0x00DF */ "OBJECT_GI_MILK",
|
||||
/* 0x00E0 */ "OBJECT_MA1",
|
||||
/* 0x00E1 */ "OBJECT_GANON",
|
||||
/* 0x00E2 */ "OBJECT_SST",
|
||||
/* 0x00E3 */ "OBJECT_NY_UNUSED",
|
||||
/* 0x00E4 */ "OBJECT_UNSET_E4",
|
||||
/* 0x00E5 */ "OBJECT_NY",
|
||||
/* 0x00E6 */ "OBJECT_FR",
|
||||
/* 0x00E7 */ "OBJECT_GI_PACHINKO",
|
||||
/* 0x00E8 */ "OBJECT_GI_BOOMERANG",
|
||||
/* 0x00E9 */ "OBJECT_GI_BOW",
|
||||
/* 0x00EA */ "OBJECT_GI_GLASSES",
|
||||
/* 0x00EB */ "OBJECT_GI_LIQUID",
|
||||
/* 0x00EC */ "OBJECT_ANI",
|
||||
/* 0x00ED */ "OBJECT_DEMO_6K",
|
||||
/* 0x00EE */ "OBJECT_GI_SHIELD_3",
|
||||
/* 0x00EF */ "OBJECT_GI_LETTER",
|
||||
/* 0x00F0 */ "OBJECT_SPOT15_OBJ",
|
||||
/* 0x00F1 */ "OBJECT_JYA_OBJ",
|
||||
/* 0x00F2 */ "OBJECT_GI_CLOTHES",
|
||||
/* 0x00F3 */ "OBJECT_GI_BEAN",
|
||||
/* 0x00F4 */ "OBJECT_GI_FISH",
|
||||
/* 0x00F5 */ "OBJECT_GI_SAW",
|
||||
/* 0x00F6 */ "OBJECT_GI_HAMMER",
|
||||
/* 0x00F7 */ "OBJECT_GI_GRASS",
|
||||
/* 0x00F8 */ "OBJECT_GI_LONGSWORD",
|
||||
/* 0x00F9 */ "OBJECT_SPOT01_OBJECTS",
|
||||
/* 0x00FA */ "OBJECT_MD_UNUSED",
|
||||
/* 0x00FB */ "OBJECT_MD",
|
||||
/* 0x00FC */ "OBJECT_KM1",
|
||||
/* 0x00FD */ "OBJECT_KW1",
|
||||
/* 0x00FE */ "OBJECT_ZO",
|
||||
/* 0x00FF */ "OBJECT_KZ",
|
||||
/* 0x0100 */ "OBJECT_UMAJUMP",
|
||||
/* 0x0101 */ "OBJECT_MASTERKOKIRI",
|
||||
/* 0x0102 */ "OBJECT_MASTERKOKIRIHEAD",
|
||||
/* 0x0103 */ "OBJECT_MASTERGOLON",
|
||||
/* 0x0104 */ "OBJECT_MASTERZOORA",
|
||||
/* 0x0105 */ "OBJECT_AOB",
|
||||
/* 0x0106 */ "OBJECT_IK",
|
||||
/* 0x0107 */ "OBJECT_AHG",
|
||||
/* 0x0108 */ "OBJECT_CNE",
|
||||
/* 0x0109 */ "OBJECT_GI_NIWATORI",
|
||||
/* 0x010A */ "OBJECT_SKJ",
|
||||
/* 0x010B */ "OBJECT_GI_BOTTLE_LETTER",
|
||||
/* 0x010C */ "OBJECT_BJI",
|
||||
/* 0x010D */ "OBJECT_BBA",
|
||||
/* 0x010E */ "OBJECT_GI_OCARINA_0",
|
||||
/* 0x010F */ "OBJECT_DS",
|
||||
/* 0x0110 */ "OBJECT_ANE",
|
||||
/* 0x0111 */ "OBJECT_BOJ",
|
||||
/* 0x0112 */ "OBJECT_SPOT03_OBJECT",
|
||||
/* 0x0113 */ "OBJECT_SPOT07_OBJECT",
|
||||
/* 0x0114 */ "OBJECT_FZ",
|
||||
/* 0x0115 */ "OBJECT_BOB",
|
||||
/* 0x0116 */ "OBJECT_GE1",
|
||||
/* 0x0117 */ "OBJECT_YABUSAME_POINT",
|
||||
/* 0x0118 */ "OBJECT_GI_BOOTS_2",
|
||||
/* 0x0119 */ "OBJECT_GI_SEED",
|
||||
/* 0x011A */ "OBJECT_GND_MAGIC",
|
||||
/* 0x011B */ "OBJECT_D_ELEVATOR",
|
||||
/* 0x011C */ "OBJECT_D_HSBLOCK",
|
||||
/* 0x011D */ "OBJECT_D_LIFT",
|
||||
/* 0x011E */ "OBJECT_MAMENOKI",
|
||||
/* 0x011F */ "OBJECT_GOROIWA",
|
||||
/* 0x0120 */ "OBJECT_UNSET_120",
|
||||
/* 0x0121 */ "OBJECT_TORYO",
|
||||
/* 0x0122 */ "OBJECT_DAIKU",
|
||||
/* 0x0123 */ "OBJECT_UNSET_123",
|
||||
/* 0x0124 */ "OBJECT_NWC",
|
||||
/* 0x0125 */ "OBJECT_BLKOBJ",
|
||||
/* 0x0126 */ "OBJECT_GM",
|
||||
/* 0x0127 */ "OBJECT_MS",
|
||||
/* 0x0128 */ "OBJECT_HS",
|
||||
/* 0x0129 */ "OBJECT_INGATE",
|
||||
/* 0x012A */ "OBJECT_LIGHTSWITCH",
|
||||
/* 0x012B */ "OBJECT_KUSA",
|
||||
/* 0x012C */ "OBJECT_TSUBO",
|
||||
/* 0x012D */ "OBJECT_GI_GLOVES",
|
||||
/* 0x012E */ "OBJECT_GI_COIN",
|
||||
/* 0x012F */ "OBJECT_KANBAN",
|
||||
/* 0x0130 */ "OBJECT_GJYO_OBJECTS",
|
||||
/* 0x0131 */ "OBJECT_OWL",
|
||||
/* 0x0132 */ "OBJECT_MK",
|
||||
/* 0x0133 */ "OBJECT_FU",
|
||||
/* 0x0134 */ "OBJECT_GI_KI_TAN_MASK",
|
||||
/* 0x0135 */ "OBJECT_GI_REDEAD_MASK",
|
||||
/* 0x0136 */ "OBJECT_GI_SKJ_MASK",
|
||||
/* 0x0137 */ "OBJECT_GI_RABIT_MASK",
|
||||
/* 0x0138 */ "OBJECT_GI_TRUTH_MASK",
|
||||
/* 0x0139 */ "OBJECT_GANON_OBJECTS",
|
||||
/* 0x013A */ "OBJECT_SIOFUKI",
|
||||
/* 0x013B */ "OBJECT_STREAM",
|
||||
/* 0x013C */ "OBJECT_MM",
|
||||
/* 0x013D */ "OBJECT_FA",
|
||||
/* 0x013E */ "OBJECT_OS",
|
||||
/* 0x013F */ "OBJECT_GI_EYE_LOTION",
|
||||
/* 0x0140 */ "OBJECT_GI_POWDER",
|
||||
/* 0x0141 */ "OBJECT_GI_MUSHROOM",
|
||||
/* 0x0142 */ "OBJECT_GI_TICKETSTONE",
|
||||
/* 0x0143 */ "OBJECT_GI_BROKENSWORD",
|
||||
/* 0x0144 */ "OBJECT_JS",
|
||||
/* 0x0145 */ "OBJECT_CS",
|
||||
/* 0x0146 */ "OBJECT_GI_PRESCRIPTION",
|
||||
/* 0x0147 */ "OBJECT_GI_BRACELET",
|
||||
/* 0x0148 */ "OBJECT_GI_SOLDOUT",
|
||||
/* 0x0149 */ "OBJECT_GI_FROG",
|
||||
/* 0x014A */ "OBJECT_MAG",
|
||||
/* 0x014B */ "OBJECT_DOOR_GERUDO",
|
||||
/* 0x014C */ "OBJECT_GT",
|
||||
/* 0x014D */ "OBJECT_EFC_ERUPC",
|
||||
/* 0x014E */ "OBJECT_ZL2_ANIME1",
|
||||
/* 0x014F */ "OBJECT_ZL2_ANIME2",
|
||||
/* 0x0150 */ "OBJECT_GI_GOLONMASK",
|
||||
/* 0x0151 */ "OBJECT_GI_ZORAMASK",
|
||||
/* 0x0152 */ "OBJECT_GI_GERUDOMASK",
|
||||
/* 0x0153 */ "OBJECT_GANON2",
|
||||
/* 0x0154 */ "OBJECT_KA",
|
||||
/* 0x0155 */ "OBJECT_TS",
|
||||
/* 0x0156 */ "OBJECT_ZG",
|
||||
/* 0x0157 */ "OBJECT_GI_HOVERBOOTS",
|
||||
/* 0x0158 */ "OBJECT_GI_M_ARROW",
|
||||
/* 0x0159 */ "OBJECT_DS2",
|
||||
/* 0x015A */ "OBJECT_EC",
|
||||
/* 0x015B */ "OBJECT_FISH",
|
||||
/* 0x015C */ "OBJECT_GI_SUTARU",
|
||||
/* 0x015D */ "OBJECT_GI_GODDESS",
|
||||
/* 0x015E */ "OBJECT_SSH",
|
||||
/* 0x015F */ "OBJECT_BIGOKUTA",
|
||||
/* 0x0160 */ "OBJECT_BG",
|
||||
/* 0x0161 */ "OBJECT_SPOT05_OBJECTS",
|
||||
/* 0x0162 */ "OBJECT_SPOT12_OBJ",
|
||||
/* 0x0163 */ "OBJECT_BOMBIWA",
|
||||
/* 0x0164 */ "OBJECT_HINTNUTS",
|
||||
/* 0x0165 */ "OBJECT_RS",
|
||||
/* 0x0166 */ "OBJECT_SPOT00_BREAK",
|
||||
/* 0x0167 */ "OBJECT_GLA",
|
||||
/* 0x0168 */ "OBJECT_SHOPNUTS",
|
||||
/* 0x0169 */ "OBJECT_GELDB",
|
||||
/* 0x016A */ "OBJECT_GR",
|
||||
/* 0x016B */ "OBJECT_DOG",
|
||||
/* 0x016C */ "OBJECT_JYA_IRON",
|
||||
/* 0x016D */ "OBJECT_JYA_DOOR",
|
||||
/* 0x016E */ "OBJECT_UNSET_16E",
|
||||
/* 0x016F */ "OBJECT_SPOT11_OBJ",
|
||||
/* 0x0170 */ "OBJECT_KIBAKO2",
|
||||
/* 0x0171 */ "OBJECT_DNS",
|
||||
/* 0x0172 */ "OBJECT_DNK",
|
||||
/* 0x0173 */ "OBJECT_GI_FIRE",
|
||||
/* 0x0174 */ "OBJECT_GI_INSECT",
|
||||
/* 0x0175 */ "OBJECT_GI_BUTTERFLY",
|
||||
/* 0x0176 */ "OBJECT_GI_GHOST",
|
||||
/* 0x0177 */ "OBJECT_GI_SOUL",
|
||||
/* 0x0178 */ "OBJECT_BOWL",
|
||||
/* 0x0179 */ "OBJECT_DEMO_KEKKAI",
|
||||
/* 0x017A */ "OBJECT_EFC_DOUGHNUT",
|
||||
/* 0x017B */ "OBJECT_GI_DEKUPOUCH",
|
||||
/* 0x017C */ "OBJECT_GANON_ANIME1",
|
||||
/* 0x017D */ "OBJECT_GANON_ANIME2",
|
||||
/* 0x017E */ "OBJECT_GANON_ANIME3",
|
||||
/* 0x017F */ "OBJECT_GI_RUPY",
|
||||
/* 0x0180 */ "OBJECT_SPOT01_MATOYA",
|
||||
/* 0x0181 */ "OBJECT_SPOT01_MATOYAB",
|
||||
/* 0x0182 */ "OBJECT_MU",
|
||||
/* 0x0183 */ "OBJECT_WF",
|
||||
/* 0x0184 */ "OBJECT_SKB",
|
||||
/* 0x0185 */ "OBJECT_GJ",
|
||||
/* 0x0186 */ "OBJECT_GEFF",
|
||||
/* 0x0187 */ "OBJECT_HAKA_DOOR",
|
||||
/* 0x0188 */ "OBJECT_GS",
|
||||
/* 0x0189 */ "OBJECT_PS",
|
||||
/* 0x018A */ "OBJECT_BWALL",
|
||||
/* 0x018B */ "OBJECT_COW",
|
||||
/* 0x018C */ "OBJECT_COB",
|
||||
/* 0x018D */ "OBJECT_GI_SWORD_1",
|
||||
/* 0x018E */ "OBJECT_DOOR_KILLER",
|
||||
/* 0x018F */ "OBJECT_OUKE_HAKA",
|
||||
/* 0x0190 */ "OBJECT_TIMEBLOCK",
|
||||
/* 0x0191 */ "OBJECT_ZL4",
|
||||
};
|
|
@ -66,6 +66,12 @@ ZRoom* ZRoom::ExtractFromXML(XMLElement* reader, vector<uint8_t> nRawData, int r
|
|||
|
||||
room->scene = nScene;
|
||||
|
||||
if (string(reader->Name()) == "Scene")
|
||||
{
|
||||
room->scene = room;
|
||||
Globals::Instance->lastScene = room;
|
||||
}
|
||||
|
||||
Globals::Instance->AddSegment(SEGMENT_ROOM);
|
||||
Globals::Instance->AddSegment(SEGMENT_SCENE);
|
||||
|
||||
|
@ -93,7 +99,7 @@ ZRoom* ZRoom::ExtractFromXML(XMLElement* reader, vector<uint8_t> nRawData, int r
|
|||
string addressStr = child->Attribute("Offset");
|
||||
int address = strtol(StringHelper::Split(addressStr, "0x")[1].c_str(), NULL, 16);
|
||||
|
||||
ZDisplayList* dList = new ZDisplayList(room->rawData, address, ZDisplayList::GetDListLength(room->rawData, address));
|
||||
ZDisplayList* dList = new ZDisplayList(room->rawData, address, ZDisplayList::GetDListLength(room->rawData, address, Globals::Instance->game == ZGame::OOT_SW97 ? DListType::F3DEX : DListType::F3DZEX));
|
||||
|
||||
if (child->Attribute("Name") != NULL)
|
||||
name = string(child->Attribute("Name"));
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include "ZSkeleton.h"
|
||||
#include "BitConverter.h"
|
||||
#include "StringHelper.h"
|
||||
#include "Globals.h"
|
||||
#include "HighLevel/HLModelIntermediette.h"
|
||||
#include <typeinfo>
|
||||
|
||||
|
@ -170,7 +171,7 @@ std::string ZSkeleton::GetSourceOutputCode(const std::string& prefix)
|
|||
|
||||
if (limb->dListPtr != 0 && parent->GetDeclaration(limb->dListPtr) == nullptr)
|
||||
{
|
||||
ZDisplayList* dList = new ZDisplayList(rawData, limb->dListPtr, ZDisplayList::GetDListLength(rawData, limb->dListPtr));
|
||||
ZDisplayList* dList = new ZDisplayList(rawData, limb->dListPtr, ZDisplayList::GetDListLength(rawData, limb->dListPtr, Globals::Instance->game == ZGame::OOT_SW97 ? DListType::F3DEX : DListType::F3DZEX));
|
||||
dList->parent = parent;
|
||||
dList->SetName(StringHelper::Sprintf("%sLimbDL_%06X", defaultPrefix.c_str(), limb->dListPtr));
|
||||
dList->GetSourceOutputCode(defaultPrefix);
|
||||
|
@ -187,7 +188,7 @@ std::string ZSkeleton::GetSourceOutputCode(const std::string& prefix)
|
|||
|
||||
if (limbLOD->farDListPtr != 0 && parent->GetDeclaration(limbLOD->farDListPtr) == nullptr)
|
||||
{
|
||||
ZDisplayList* dList = new ZDisplayList(rawData, limbLOD->farDListPtr, ZDisplayList::GetDListLength(rawData, limbLOD->farDListPtr));
|
||||
ZDisplayList* dList = new ZDisplayList(rawData, limbLOD->farDListPtr, ZDisplayList::GetDListLength(rawData, limbLOD->farDListPtr, Globals::Instance->game == ZGame::OOT_SW97 ? DListType::F3DEX : DListType::F3DZEX));
|
||||
dList->parent = parent;
|
||||
dList->SetName(StringHelper::Sprintf("%s_farLimbDlist_%06X", defaultPrefix.c_str(), limbLOD->farDListPtr));
|
||||
dList->GetSourceOutputCode(defaultPrefix);
|
||||
|
|
|
@ -28,8 +28,6 @@ void ZVector::ParseXML(tinyxml2::XMLElement* reader)
|
|||
{
|
||||
ZResource::ParseXML(reader);
|
||||
|
||||
name = reader->Attribute("Name");
|
||||
|
||||
std::string type = reader->Attribute("Type");
|
||||
this->scalarType = ZScalar::MapOutputTypeToScalarType(type);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue