コード例 #1
0
    // Token: 0x060005F3 RID: 1523 RVA: 0x00034ABC File Offset: 0x00032CBC
    private static AppMain.DMS_STFRL_SONIC_WORK DmStfrlMdlCtrlSetSonicObj()
    {
        OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.OBM_OBJECT_TASK_DETAIL_INIT(24576, 0, 0, 0, () => new AppMain.DMS_STFRL_SONIC_WORK(), "STAFFROLL_SONIC");

        AppMain.DMS_STFRL_SONIC_WORK dms_STFRL_SONIC_WORK = (AppMain.DMS_STFRL_SONIC_WORK)obs_OBJECT_WORK;
        AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.dm_stfrl_sonic_obj_3d_list[0], obs_OBJECT_WORK.obj_3d);
        obs_OBJECT_WORK.obj_3d.blend_spd = 0.0625f;
        AppMain.ObjDrawObjectSetToon(obs_OBJECT_WORK);
        AppMain.OBS_ACTION3D_NN_WORK obj_3d = dms_STFRL_SONIC_WORK.obj_work.obj_3d;
        AppMain.ObjObjectAction3dNNMotionLoad(obs_OBJECT_WORK, 0, true, GmPlayer.g_gm_player_data_work[( int )(( UIntPtr )0)][4], null, 0, null, 136, 16);
        obs_OBJECT_WORK.flag            |= 16U;
        obs_OBJECT_WORK.disp_flag       |= 4194309U;
        obs_OBJECT_WORK.disp_flag       &= 4294967263U;
        obs_OBJECT_WORK.disp_flag       |= 150995456U;
        obs_OBJECT_WORK.obj_3d.drawflag |= 8388608U;
        obs_OBJECT_WORK.pos.x            = 0;
        obs_OBJECT_WORK.pos.y            = 98304;
        obs_OBJECT_WORK.pos.z            = -12288;
        obs_OBJECT_WORK.dir.y            = ( ushort )AkMath.DEGtoA16(90);
        obs_OBJECT_WORK.obj_3d.draw_state.alpha.alpha = 1f;
        dms_STFRL_SONIC_WORK.alpha = 1f;
        AppMain.ObjDrawObjectActionSet(obs_OBJECT_WORK, 21);
        obs_OBJECT_WORK.ppOut  = AppMain.dmStfrlMdlCtrlSonicDrawFunc;
        obs_OBJECT_WORK.ppFunc = AppMain.dmStfrlMdlCtrlSonicProcWaitSetup;
        return(dms_STFRL_SONIC_WORK);
    }
コード例 #2
0
 // Token: 0x0600078F RID: 1935 RVA: 0x00043078 File Offset: 0x00041278
 public static void gmEneTStarWalkMain(OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENE_T_STAR_WORK gms_ENE_T_STAR_WORK = (AppMain.GMS_ENE_T_STAR_WORK)obj_work;
     obj_work.disp_flag |= 4U;
     if (gms_ENE_T_STAR_WORK.rotate > 0)
     {
         obj_work.dir.z = ( ushort )(obj_work.dir.z + ( ushort )AkMath.DEGtoA16(10));
         AppMain.GMS_ENE_T_STAR_WORK gms_ENE_T_STAR_WORK2 = gms_ENE_T_STAR_WORK;
         gms_ENE_T_STAR_WORK2.rotate -= 1;
         if (gms_ENE_T_STAR_WORK.rotate == 0)
         {
             obj_work.dir.z = 0;
         }
     }
     if (gms_ENE_T_STAR_WORK.timer > 0)
     {
         gms_ENE_T_STAR_WORK.timer--;
         if (gms_ENE_T_STAR_WORK.timer == 60)
         {
             gms_ENE_T_STAR_WORK.rotate = 36;
         }
         return;
     }
     obj_work.spd.x            = 0;
     obj_work.spd.y            = 0;
     gms_ENE_T_STAR_WORK.timer = 15;
     obj_work.ppFunc           = AppMain.gmEneTStarStopMain;
 }
コード例 #3
0
    // Token: 0x06000DEF RID: 3567 RVA: 0x0007AAF4 File Offset: 0x00078CF4
    private static OBS_OBJECT_WORK GmEneUnidesInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type)
    {
        AppMain.UNREFERENCED_PARAMETER(type);
        OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, () => new AppMain.GMS_ENE_UNIDES_WORK(), "ENE_UNIDES");

        AppMain.GMS_ENEMY_3D_WORK   gms_ENEMY_3D_WORK   = (AppMain.GMS_ENEMY_3D_WORK)obs_OBJECT_WORK;
        AppMain.GMS_ENE_UNIDES_WORK gms_ENE_UNIDES_WORK = (AppMain.GMS_ENE_UNIDES_WORK)obs_OBJECT_WORK;
        AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_ene_unides_obj_3d_list[0], gms_ENEMY_3D_WORK.obj_3d);
        AppMain.ObjObjectAction3dNNMotionLoad(obs_OBJECT_WORK, 0, true, AppMain.ObjDataGet(692), null, 0, null);
        AppMain.ObjDrawObjectSetToon(obs_OBJECT_WORK);
        obs_OBJECT_WORK.pos.z = 655360;
        AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[1];
        AppMain.ObjRectWorkSet(obs_RECT_WORK, -8, 0, 8, 16);
        obs_RECT_WORK.flag |= 4U;
        obs_RECT_WORK       = gms_ENEMY_3D_WORK.ene_com.rect_work[0];
        AppMain.ObjRectWorkSet(obs_RECT_WORK, -16, -8, 16, 16);
        obs_RECT_WORK.flag |= 4U;
        gms_ENEMY_3D_WORK.ene_com.rect_work[2].flag &= 4294967291U;
        obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[2];
        AppMain.ObjRectWorkSet(obs_RECT_WORK, -19, -16, 19, 16);
        obs_RECT_WORK.flag        &= 4294967291U;
        obs_OBJECT_WORK.move_flag &= 4294967167U;
        obs_OBJECT_WORK.move_flag |= 256U;
        if ((eve_rec.flag & 1) == 0)
        {
            obs_OBJECT_WORK.disp_flag |= 1U;
            obs_OBJECT_WORK.dir.y      = ( ushort )AkMath.DEGtoA16(45);
        }
        else
        {
            obs_OBJECT_WORK.dir.y = ( ushort )AkMath.DEGtoA16(-45);
        }
        obs_OBJECT_WORK.user_work        = ( uint )(obs_OBJECT_WORK.pos.x + (( int )eve_rec.left << 12));
        obs_OBJECT_WORK.user_flag        = ( uint )(obs_OBJECT_WORK.pos.x + (( int )(eve_rec.left + ( sbyte )eve_rec.width) << 12));
        gms_ENE_UNIDES_WORK.spd_dec      = 76;
        gms_ENE_UNIDES_WORK.spd_dec_dist = 15360;
        gms_ENE_UNIDES_WORK.len          = 17.5f;
        gms_ENE_UNIDES_WORK.rot_x        = AkMath.DEGtoA32(90f);
        gms_ENE_UNIDES_WORK.rot_y        = AkMath.DEGtoA32(0f);
        gms_ENE_UNIDES_WORK.rot_z        = AkMath.DEGtoA32(0f);
        gms_ENE_UNIDES_WORK.num          = 0;
        AppMain.gmEneUnidesWaitInit(obs_OBJECT_WORK);
        for (int i = 0; i < 4; i++)
        {
            OBS_OBJECT_WORK obs_OBJECT_WORK2 = AppMain.GmEventMgrLocalEventBirth(309, pos_x, pos_y, 0, 0, 0, 0, 0, 0);
            obs_OBJECT_WORK2.parent_obj = obs_OBJECT_WORK;
            AppMain.GMS_ENE_UNIDES_WORK gms_ENE_UNIDES_WORK2 = (AppMain.GMS_ENE_UNIDES_WORK)obs_OBJECT_WORK2;
            gms_ENE_UNIDES_WORK2.num = i;
            gms_ENE_UNIDES_WORK.num++;
        }
        gms_ENE_UNIDES_WORK.attack             = 0;
        gms_ENE_UNIDES_WORK.attack_first       = 0;
        gms_ENE_UNIDES_WORK.zoom_now           = 0;
        gms_ENE_UNIDES_WORK.zoom               = 1f;
        obs_OBJECT_WORK.obj_3d.use_light_flag &= 4294967294U;
        obs_OBJECT_WORK.obj_3d.use_light_flag |= 64U;
        return(obs_OBJECT_WORK);
    }
コード例 #4
0
    // Token: 0x06000791 RID: 1937 RVA: 0x00043198 File Offset: 0x00041398
    public static void gmEneTStarAttackInit(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_ENE_T_STAR_WORK gms_ENE_T_STAR_WORK = (AppMain.GMS_ENE_T_STAR_WORK)obj_work;
        NNS_MATRIX nns_MATRIX = GlobalPool <NNS_MATRIX> .Alloc();

        NNS_MATRIX nns_MATRIX2 = GlobalPool <NNS_MATRIX> .Alloc();

        AppMain.nnMakeUnitMatrix(nns_MATRIX);
        AppMain.nnMakeUnitMatrix(nns_MATRIX2);
        AppMain.nnMakeRotateZMatrix(nns_MATRIX2, AkMath.DEGtoA32(72));
        NNS_VECTOR nns_VECTOR = GlobalPool <NNS_VECTOR> .Alloc();

        for (int i = 0; i < 5; i++)
        {
            OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GmEventMgrLocalEventBirth(308, obj_work.pos.x, obj_work.pos.y, 0, 0, 0, 0, 0, 0);
            obs_OBJECT_WORK.parent_obj = obj_work;
            obs_OBJECT_WORK.dir.y      = 49152;
            obs_OBJECT_WORK.dir.z      = ( ushort )AkMath.DEGtoA16(-72 * i);
            nns_VECTOR.x          = nns_MATRIX.M01;
            nns_VECTOR.y          = nns_MATRIX.M11;
            nns_VECTOR.z          = 0f;
            obs_OBJECT_WORK.spd.x = AppMain.FX_F32_TO_FX32(nns_VECTOR.x * 4f);
            obs_OBJECT_WORK.spd.y = -AppMain.FX_F32_TO_FX32(nns_VECTOR.y * 4f);
            OBS_OBJECT_WORK obs_OBJECT_WORK2 = obs_OBJECT_WORK;
            obs_OBJECT_WORK2.pos.x = obs_OBJECT_WORK2.pos.x + AppMain.FX_F32_TO_FX32(nns_VECTOR.x * 10f);
            OBS_OBJECT_WORK obs_OBJECT_WORK3 = obs_OBJECT_WORK;
            obs_OBJECT_WORK3.pos.y = obs_OBJECT_WORK3.pos.y + -AppMain.FX_F32_TO_FX32(nns_VECTOR.y * 10f);
            AppMain.nnMultiplyMatrix(nns_MATRIX, nns_MATRIX, nns_MATRIX2);
            AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obs_OBJECT_WORK;
            gms_ENEMY_3D_WORK.ene_com.enemy_flag |= 32768U;
            AppMain.GMS_EFFECT_3DES_WORK gms_EFFECT_3DES_WORK = AppMain.GmEfctEneEsCreate(obs_OBJECT_WORK, 10);
            gms_EFFECT_3DES_WORK.efct_com.obj_work.dir.z = ( ushort )AkMath.DEGtoA16(-72 * i);
        }
        GlobalPool <NNS_VECTOR> .Release(nns_VECTOR);

        obj_work.disp_flag       |= 32U;
        obj_work.disp_flag       |= 4U;
        obj_work.ppFunc           = AppMain.gmEneTStarAttackMain;
        obj_work.move_flag       &= 4294967291U;
        obj_work.spd.x            = 0;
        obj_work.spd.y            = 0;
        gms_ENE_T_STAR_WORK.timer = 300;
        AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK2 = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
        gms_ENEMY_3D_WORK2.ene_com.rect_work[1].flag &= 4294967291U;
        gms_ENEMY_3D_WORK2.ene_com.rect_work[0].flag &= 4294967291U;
        gms_ENEMY_3D_WORK2.ene_com.rect_work[2].flag &= 4294967291U;
        GmSound.PlaySE("Boss2_03");
        gms_ENEMY_3D_WORK2.ene_com.enemy_flag |= 65536U;
        GlobalPool <NNS_MATRIX> .Release(nns_MATRIX);

        GlobalPool <NNS_MATRIX> .Release(nns_MATRIX2);
    }
コード例 #5
0
 // Token: 0x06000604 RID: 1540 RVA: 0x000354A4 File Offset: 0x000336A4
 private static void dmStfrlMdlCtrlBodyProcBodyCompInitStart(OBS_OBJECT_WORK obj_work)
 {
     AppMain.DMS_STFRL_BOSS_BODY_WORK dms_STFRL_BOSS_BODY_WORK = (AppMain.DMS_STFRL_BOSS_BODY_WORK)obj_work;
     obj_work.pos.x = 0;
     obj_work.pos.y = -737280;
     obj_work.pos.z = -81920;
     obj_work.dir.y = ( ushort )AkMath.DEGtoA16(300);
     if ((dms_STFRL_BOSS_BODY_WORK.flag & 2U) != 0U)
     {
         obj_work.ppFunc = AppMain.dmStfrlMdlCtrlBodyProcBodyCompStartWait;
         dms_STFRL_BOSS_BODY_WORK.flag &= 4294967293U;
     }
 }
コード例 #6
0
 // Token: 0x06000603 RID: 1539 RVA: 0x00035424 File Offset: 0x00033624
 private static void dmStfrlMdlCtrlBodyProcBodyMain(OBS_OBJECT_WORK obj_work)
 {
     AppMain.DMS_STFRL_BOSS_BODY_WORK dms_STFRL_BOSS_BODY_WORK = (AppMain.DMS_STFRL_BOSS_BODY_WORK)obj_work;
     obj_work.pos.x = 0;
     obj_work.pos.y = -65536;
     obj_work.pos.z = -81920;
     obj_work.dir.y = ( ushort )AkMath.DEGtoA16(300);
     if (dms_STFRL_BOSS_BODY_WORK.timer != 0)
     {
         dms_STFRL_BOSS_BODY_WORK.timer--;
         return;
     }
     dms_STFRL_BOSS_BODY_WORK.flag |= 2097152U;
 }
コード例 #7
0
    // Token: 0x06000501 RID: 1281 RVA: 0x0002B054 File Offset: 0x00029254
    private static void gmBoss5LdPartInitSpin(AppMain.GMS_BOSS5_LDPART_WORK ldpart_work)
    {
        AppMain.nnMakeUnitQuaternion(ref ldpart_work.cur_rot_quat);
        AppMain.nnMakeUnitQuaternion(ref ldpart_work.rot_diff_quat);
        int num = 0;

        while (( long )num < ( long )(( ulong )AppMain.GMD_BOSS5_LAND_LDPART_SPIN_ROT_AXIS_NUM))
        {
            NNS_VECTOR nns_VECTOR = GlobalPool <NNS_VECTOR> .Alloc();

            float num2 = AppMain.FX_FX32_TO_F32(AkMath.RandFx()) * 2f - 1f;
            num2 = AppMain.MTM_MATH_CLIP(num2, -1f, 1f);
            short rand_angle = AkMath.DEGtoA16(360f * AppMain.FX_FX32_TO_F32(AkMath.RandFx()));
            AkMath.GetRandomUnitVector(nns_VECTOR, num2, rand_angle);
            NNS_QUATERNION nns_QUATERNION;
            AppMain.nnMakeRotateAxisQuaternion(out nns_QUATERNION, nns_VECTOR.x, nns_VECTOR.y, nns_VECTOR.z, AppMain.GMD_BOSS5_LAND_LDPART_SPIN_ROT_SPD_DEG);
            AppMain.nnMultiplyQuaternion(ref ldpart_work.rot_diff_quat, ref nns_QUATERNION, ref ldpart_work.rot_diff_quat);
            num++;
        }
    }
コード例 #8
0
    // Token: 0x060002AF RID: 687 RVA: 0x00016764 File Offset: 0x00014964
    private static AppMain.GMS_EFFECT_3DES_WORK GmBoss4EffCommonInit(int id, AppMain.VecFx32?pos, OBS_OBJECT_WORK parent_obj, uint type, uint flag, AppMain.GMS_BOSS4_NODE_MATRIX mtx, int link, AppMain.VecFx32?rot, uint[] ctrl_flag, uint mask)
    {
        OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_EFFECT_CREATE_WORK(() => new AppMain.GMS_BOSS4_EFF_COMMON_WORK(), parent_obj, 0, "B04_CapOver");

        AppMain.GMS_EFFECT_3DES_WORK      gms_EFFECT_3DES_WORK      = (AppMain.GMS_EFFECT_3DES_WORK)obs_OBJECT_WORK;
        AppMain.GMS_BOSS4_EFF_COMMON_WORK gms_BOSS4_EFF_COMMON_WORK = (AppMain.GMS_BOSS4_EFF_COMMON_WORK)obs_OBJECT_WORK;
        AppMain.ObjObjectAction3dESEffectLoad(AppMain.GMM_BS_OBJ(gms_EFFECT_3DES_WORK), gms_EFFECT_3DES_WORK.obj_3des, AppMain.ObjDataGet(id), null, 0, null);
        AppMain.ObjObjectAction3dESTextureLoad(AppMain.GMM_BS_OBJ(gms_EFFECT_3DES_WORK), gms_EFFECT_3DES_WORK.obj_3des, AppMain.ObjDataGet(733), null, 0, null, false);
        AppMain.ObjObjectAction3dESTextureSetByDwork(obs_OBJECT_WORK, AppMain.ObjDataGet(734));
        AppMain.GmEffect3DESSetupBase(gms_EFFECT_3DES_WORK, type, flag);
        if (pos != null)
        {
            AppMain.VEC_Set(ref obs_OBJECT_WORK.pos, pos.Value.x, pos.Value.y, pos.Value.z);
        }
        obs_OBJECT_WORK.ppFunc             = AppMain.gmBoss4EffMainFuncFlagLink;
        obs_OBJECT_WORK.flag              |= 32U;
        gms_BOSS4_EFF_COMMON_WORK.lookflag = ctrl_flag;
        gms_BOSS4_EFF_COMMON_WORK.lookmask = mask;
        if (gms_BOSS4_EFF_COMMON_WORK.lookflag != null)
        {
            gms_BOSS4_EFF_COMMON_WORK.lookflag[0] |= gms_BOSS4_EFF_COMMON_WORK.lookmask;
        }
        gms_BOSS4_EFF_COMMON_WORK.link = -1;
        if (link >= 0)
        {
            gms_BOSS4_EFF_COMMON_WORK.link      = link;
            gms_BOSS4_EFF_COMMON_WORK.node_work = mtx;
            if (rot != null)
            {
                AppMain.GmEffect3DESSetDispRotation(gms_EFFECT_3DES_WORK, AkMath.DEGtoA16(AppMain.FX_FX32_TO_F32(rot.Value.x)), AkMath.DEGtoA16(AppMain.FX_FX32_TO_F32(rot.Value.y)), AkMath.DEGtoA16(AppMain.FX_FX32_TO_F32(rot.Value.z)));
            }
            if (pos != null)
            {
                AppMain.GmEffect3DESAddDispOffset(gms_EFFECT_3DES_WORK, AppMain.FX_FX32_TO_F32(pos.Value.x), AppMain.FX_FX32_TO_F32(pos.Value.y), AppMain.FX_FX32_TO_F32(pos.Value.z));
            }
        }
        return(gms_EFFECT_3DES_WORK);
    }
コード例 #9
0
    // Token: 0x0600093C RID: 2364 RVA: 0x00052F4C File Offset: 0x0005114C
    private static OBS_OBJECT_WORK GmEneKamaInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type)
    {
        OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, () => new AppMain.GMS_ENE_KAMA_WORK(), "ENE_KAMA");

        AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obs_OBJECT_WORK;
        AppMain.GMS_ENE_KAMA_WORK gms_ENE_KAMA_WORK = (AppMain.GMS_ENE_KAMA_WORK)obs_OBJECT_WORK;
        AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_ene_kama_obj_3d_list[0], gms_ENEMY_3D_WORK.obj_3d);
        AppMain.ObjObjectAction3dNNMotionLoad(obs_OBJECT_WORK, 0, true, AppMain.ObjDataGet(701), null, 0, null);
        AppMain.ObjDrawObjectSetToon(obs_OBJECT_WORK);
        obs_OBJECT_WORK.pos.z = 0;
        AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[1];
        AppMain.ObjRectWorkSet(obs_RECT_WORK, -11, -24, 11, 0);
        obs_RECT_WORK.flag |= 4U;
        obs_RECT_WORK       = gms_ENEMY_3D_WORK.ene_com.rect_work[0];
        AppMain.ObjRectWorkSet(obs_RECT_WORK, -19, -32, 19, 0);
        obs_RECT_WORK.flag |= 4U;
        gms_ENEMY_3D_WORK.ene_com.rect_work[2].flag &= 4294967291U;
        obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[2];
        AppMain.ObjRectWorkSet(obs_RECT_WORK, -19, -32, 19, 0);
        obs_RECT_WORK.flag &= 4294967291U;
        AppMain.ObjObjectFieldRectSet(obs_OBJECT_WORK, -4, -8, 4, 0);
        obs_OBJECT_WORK.move_flag |= 128U;
        if ((eve_rec.flag & 1) == 0)
        {
            obs_OBJECT_WORK.disp_flag |= 1U;
        }
        if ((eve_rec.flag & 2) != 0)
        {
            obs_OBJECT_WORK.disp_flag |= 2U;
            obs_OBJECT_WORK.move_flag &= 4294967167U;
            obs_OBJECT_WORK.dir.z      = ( ushort )AkMath.DEGtoA16(180);
            obs_OBJECT_WORK.disp_flag ^= 1U;
        }
        gms_ENE_KAMA_WORK.atk_wait = 0;
        if ((eve_rec.flag & 4) != 0)
        {
            gms_ENE_KAMA_WORK.atk_wait += 10;
        }
        if ((eve_rec.flag & 8) != 0)
        {
            gms_ENE_KAMA_WORK.atk_wait += 20;
        }
        if ((eve_rec.flag & 16) != 0)
        {
            gms_ENE_KAMA_WORK.atk_wait += 30;
        }
        gms_ENE_KAMA_WORK.walk_s = 0;
        if ((eve_rec.flag & 32) != 0)
        {
            gms_ENE_KAMA_WORK.walk_s = 1;
        }
        obs_OBJECT_WORK.user_work      = ( uint )(obs_OBJECT_WORK.pos.x + (( int )eve_rec.left << 12));
        obs_OBJECT_WORK.user_flag      = ( uint )(obs_OBJECT_WORK.pos.x + (( int )(eve_rec.left + ( sbyte )eve_rec.width) << 12));
        gms_ENE_KAMA_WORK.spd_dec      = 102;
        gms_ENE_KAMA_WORK.spd_dec_dist = 20480;
        AppMain.gmEneKamaWalkInit(obs_OBJECT_WORK);
        gms_ENE_KAMA_WORK.attack = 0;
        AppMain.GmEneUtilInitNodeMatrix(gms_ENE_KAMA_WORK.node_work, obs_OBJECT_WORK, 32);
        AppMain.mtTaskChangeTcbDestructor(obs_OBJECT_WORK.tcb, AppMain.gmEneKamaExit);
        AppMain.GmEneUtilGetNodeMatrix(gms_ENE_KAMA_WORK.node_work, 9);
        AppMain.GmEneUtilGetNodeMatrix(gms_ENE_KAMA_WORK.node_work, 6);
        OBS_OBJECT_WORK obs_OBJECT_WORK2 = AppMain.GmEventMgrLocalEventBirth(311, obs_OBJECT_WORK.pos.x, obs_OBJECT_WORK.pos.y, 0, 0, 0, 0, 0, 0);

        obs_OBJECT_WORK2.parent_obj            = obs_OBJECT_WORK;
        obs_OBJECT_WORK2                       = AppMain.GmEventMgrLocalEventBirth(312, obs_OBJECT_WORK.pos.x, obs_OBJECT_WORK.pos.y, 0, 0, 0, 0, 0, 0);
        obs_OBJECT_WORK2.parent_obj            = obs_OBJECT_WORK;
        obs_OBJECT_WORK.obj_3d.use_light_flag &= 4294967294U;
        obs_OBJECT_WORK.obj_3d.use_light_flag |= 64U;
        obs_OBJECT_WORK.flag                  |= 1073741824U;
        return(obs_OBJECT_WORK);
    }