int __cdecl quest__dungeon_new_jump(int a1)
{
int v1; // ecx@3
char v2; // ST10_1@3
int result; // eax@4
char v4; // ST10_1@8
signed int v5; // ebx@11
int v6; // edi@12
int v7; // ebx@14
double v8; // ST18_8@14
long double v9; // fst7@14
int v10; // [sp+34h] [bp-14h]@1
v10 = *(_DWORD *)_stack_chk_guard;
if ( lua_gettop(a1) > 2 )
{
if ( lua_isnumber(a1, 1) && lua_isnumber(a1, 2) && lua_isnumber(a1, 3) )
{
v5 = (signed int)lua_tonumber(a1, 1);
if ( !singleton_CDungeonManager___ms_singleton )
__assert("instance", "../../common/singleton.h", 26);
v6 = CDungeonManager__Create(singleton_CDungeonManager___ms_singleton, v5);
if ( v6 )
{
if ( !singleton_quest__CQuestManager___ms_singleton )
__assert("instance", "../../common/singleton.h", 26);
v7 = *(_DWORD *)(singleton_quest__CQuestManager___ms_singleton + 220);
v8 = lua_tonumber(a1, 3);
v9 = lua_tonumber(a1, 2);
CHARACTER__WarpSet(v7, *(_DWORD *)(v6 + 4), (signed int)v9, (signed int)v8);
}
else
{
if ( !singleton_quest__CQuestManager___ms_singleton )
__assert("instance", "../../common/singleton.h", 26);
quest__CQuestManager__QuestError(
singleton_quest__CQuestManager___ms_singleton,
(int)"dungeon_new_jump",
261,
"cannot create dungeon %d",
v5);
}
}
else
{
if ( !singleton_quest__CQuestManager___ms_singleton )
__assert("instance", "../../common/singleton.h", 26);
quest__CQuestManager__QuestError(
singleton_quest__CQuestManager___ms_singleton,
(int)"dungeon_new_jump",
251,
"wrong argument",
v4);
}
}
else
{
if ( !singleton_quest__CQuestManager___ms_singleton )
__assert("instance", "../../common/singleton.h", 26);
quest__CQuestManager__QuestError(
singleton_quest__CQuestManager___ms_singleton,
(int)"dungeon_new_jump",
245,
"not enough argument",
v2);
}
result = 0;
if ( *(_DWORD *)_stack_chk_guard != v10 )
__stack_chk_fail(v1, *(_DWORD *)_stack_chk_guard ^ v10);
return result;
}