// Token: 0x060005E0 RID: 1504 RVA: 0x00034464 File Offset: 0x00032664 private static void gmBoss4EggSetActionIndependent(AppMain.GMS_BOSS4_EGG_WORK egg_work, int act_id, bool force_change) { AppMain.GMS_BOSS4_PART_ACT_INFO gms_BOSS4_PART_ACT_INFO = AppMain.gm_boss4_egg_act_id_tbl[act_id]; AppMain.OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_BS_OBJ(egg_work); AppMain.GMS_BOSS4_BODY_WORK gms_BOSS4_BODY_WORK = (AppMain.GMS_BOSS4_BODY_WORK)obs_OBJECT_WORK.parent_obj; if ((gms_BOSS4_BODY_WORK.flag[0] & 2U) != 0U) { return; } if (!force_change && (egg_work.flag & 1U) != 0U && egg_work.egg_act_id == act_id) { return; } egg_work.egg_act_id = act_id; egg_work.flag |= 1U; if (gms_BOSS4_PART_ACT_INFO.is_maintain == 0) { AppMain.GmBsCmnSetAction(obs_OBJECT_WORK, ( int )gms_BOSS4_PART_ACT_INFO.act_id, ( int )gms_BOSS4_PART_ACT_INFO.is_repeat, gms_BOSS4_PART_ACT_INFO.is_blend); } else if (gms_BOSS4_PART_ACT_INFO.is_repeat != 0) { AppMain.GMM_BS_OBJ(egg_work).disp_flag |= 4U; } obs_OBJECT_WORK.obj_3d.speed[0] = gms_BOSS4_PART_ACT_INFO.mtn_spd; obs_OBJECT_WORK.obj_3d.blend_spd = gms_BOSS4_PART_ACT_INFO.blend_spd; }
private static void gmBoss4CapsuleDamageDefFunc( AppMain.OBS_RECT_WORK my_rect, AppMain.OBS_RECT_WORK your_rect) { AppMain.OBS_OBJECT_WORK parentObj1 = my_rect.parent_obj; AppMain.OBS_OBJECT_WORK parentObj2 = your_rect.parent_obj; AppMain.GMS_BOSS4_CAP_WORK w = (AppMain.GMS_BOSS4_CAP_WORK)parentObj1; AppMain.GMS_BOSS4_BODY_WORK parentObj3 = (AppMain.GMS_BOSS4_BODY_WORK)parentObj1.parent_obj; if (parentObj2 == null || (ushort)1 != parentObj2.obj_type || AppMain._cap_inv_flag > 0) { return; } AppMain.GmBoss4UtilSetPlayerAttackReaction(parentObj2, parentObj1); AppMain.GmSoundPlaySE("Enemy"); AppMain.GmBoss4CapsuleSetInvincible(30); AppMain.GmBoss4UtilInitNoHitTimer(parentObj3.nohit_work, (AppMain.GMS_ENEMY_COM_WORK)parentObj3, 25); if (AppMain.IS_FLAG(4U, w)) { return; } AppMain.SET_FLAG(1073741824U, w); if (((int)parentObj3.flag[0] & 4096) != 0) { return; } parentObj3.flag[0] |= 2048U; parentObj3.avoid_timer = 90; }
// Token: 0x06000726 RID: 1830 RVA: 0x0003F934 File Offset: 0x0003DB34 private static void gmBoss4CapsuleDamageDefFunc(AppMain.OBS_RECT_WORK my_rect, AppMain.OBS_RECT_WORK your_rect) { AppMain.OBS_OBJECT_WORK parent_obj = my_rect.parent_obj; AppMain.OBS_OBJECT_WORK parent_obj2 = your_rect.parent_obj; AppMain.GMS_BOSS4_CAP_WORK w = (AppMain.GMS_BOSS4_CAP_WORK)parent_obj; AppMain.GMS_BOSS4_BODY_WORK gms_BOSS4_BODY_WORK = (AppMain.GMS_BOSS4_BODY_WORK)parent_obj.parent_obj; if (parent_obj2 != null && 1 == parent_obj2.obj_type) { if (AppMain._cap_inv_flag > 0) { return; } AppMain.GmBoss4UtilSetPlayerAttackReaction(parent_obj2, parent_obj); AppMain.GmSoundPlaySE("Enemy"); AppMain.GmBoss4CapsuleSetInvincible(30); AppMain.GmBoss4UtilInitNoHitTimer(gms_BOSS4_BODY_WORK.nohit_work, (AppMain.GMS_ENEMY_COM_WORK)gms_BOSS4_BODY_WORK, 25); if (!AppMain.IS_FLAG(4U, w)) { AppMain.SET_FLAG(1073741824U, w); if ((gms_BOSS4_BODY_WORK.flag[0] & 4096U) == 0U) { gms_BOSS4_BODY_WORK.flag[0] |= 2048U; gms_BOSS4_BODY_WORK.avoid_timer = 90; } } } }
private static void gmBoss4EffAfterburnerSetEnable( AppMain.GMS_BOSS4_BODY_WORK body_work, int type) { switch (type) { case 1: AppMain.MTM_ASSERT(0 == ((int)body_work.flag[0] & 16)); AppMain.MTM_ASSERT(0 == ((int)body_work.flag[0] & 33554432)); body_work.flag[0] &= 4294967039U; body_work.flag[0] &= 4293918719U; body_work.flag[0] |= 33554432U; break; case 2: AppMain.MTM_ASSERT(0 == ((int)body_work.flag[0] & 256)); AppMain.MTM_ASSERT(0 == ((int)body_work.flag[0] & 1048576)); body_work.flag[0] &= 4294967279U; body_work.flag[0] &= 4261412863U; body_work.flag[0] |= 1048576U; body_work.flag[0] &= 4294966271U; break; default: body_work.flag[0] &= 4294967279U; body_work.flag[0] &= 4261412863U; body_work.flag[0] &= 4294967039U; body_work.flag[0] &= 4293918719U; break; } }
private static void gmBoss4EffAfterburnerExProcMainR(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_BOSS4_BODY_WORK parentObj = (AppMain.GMS_BOSS4_BODY_WORK)obj_work.parent_obj; AppMain.MTM_ASSERT((int)parentObj.node_work.snm_work.reg_node_max); if (((int)obj_work.disp_flag & 8) != 0) { obj_work.flag |= 4U; } if (((int)parentObj.flag[0] & 256) == 0) { AppMain.ObjDrawKillAction3DES(obj_work); } AppMain.NNS_MATRIX nodeMatrix1 = AppMain.GmBoss4UtilGetNodeMatrix(parentObj.node_work, 8); AppMain.NNS_MATRIX nodeMatrix2 = AppMain.GmBoss4UtilGetNodeMatrix(parentObj.node_work, 2); AppMain.NNS_MATRIX nnsMatrix = AppMain.GlobalPool <AppMain.NNS_MATRIX> .Alloc(); AppMain.nnCopyMatrix(nnsMatrix, nodeMatrix1); nnsMatrix.M03 = (float)((double)nodeMatrix1.M03 - (double)nodeMatrix2.M03 + (double)parentObj.ene_3d.ene_com.obj_work.pos.x / 4096.0); AppMain.GmBoss4UtilSetMatrixES(obj_work, nnsMatrix); obj_work.disp_flag &= 4294963199U; if (((int)AppMain.g_obj.flag & 1) != 0) { obj_work.disp_flag |= 4096U; } AppMain.GlobalPool <AppMain.NNS_MATRIX> .Release(nnsMatrix); }
private static void gmBoss4EffABSmokeInit(AppMain.GMS_BOSS4_BODY_WORK body_work) { AppMain.GMS_EFFECT_3DES_WORK gmsEffect3DesWork = AppMain.GmEfctBossCmnEsCreate(AppMain.GMM_BS_OBJ((object)body_work), 5U); AppMain.GmBoss4EffChangeType(gmsEffect3DesWork, 2U, 19U); AppMain.GmEffect3DESAddDispOffset(gmsEffect3DesWork, 0.0f, 0.0f, -32f); AppMain.GMM_BS_OBJ((object)gmsEffect3DesWork).ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss4EffABSmokeProcMain); }
private static void gmBoss4EffBodySmokeInit(AppMain.GMS_BOSS4_BODY_WORK body_work) { AppMain.OBS_OBJECT_WORK parent_obj = AppMain.GMM_BS_OBJ((object)body_work); AppMain.GMS_EFFECT_3DES_WORK gmsEffect3DesWork1 = AppMain.GmEfctBossCmnEsCreate(parent_obj, 3U); AppMain.GmBoss4EffChangeType(gmsEffect3DesWork1, 2U, 19U); AppMain.GmEffect3DESAddDispOffset(gmsEffect3DesWork1, 0.0f, 0.0f, -32f); AppMain.GMM_BS_OBJ((object)gmsEffect3DesWork1).ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss4EffBodySmokeProcMain); float[][] numArray = new float[4][] { new float[3] { -36f, 0.0f, -6f }, new float[3] { -20f, 6f, 16f }, new float[3] { 0.0f, 8f, -24f }, new float[3] { 36f, 0.0f, 0.0f } }; for (int index = 0; index < 4; ++index) { AppMain.GMS_EFFECT_3DES_WORK gmsEffect3DesWork2 = AppMain.GmEfctBossCmnEsCreate(parent_obj, 2U); AppMain.GmBoss4EffChangeType(gmsEffect3DesWork2, 2U, 19U); AppMain.GmEffect3DESAddDispOffset(gmsEffect3DesWork2, numArray[index][0], numArray[index][1], numArray[index][2]); AppMain.GMM_BS_OBJ((object)gmsEffect3DesWork2).ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss4EffBodySmokeProcMain); } }
// Token: 0x060005E1 RID: 1505 RVA: 0x00034528 File Offset: 0x00032728 private static void gmBoss4EggRevertActionIndependent(AppMain.GMS_BOSS4_EGG_WORK egg_work) { AppMain.OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_BS_OBJ(egg_work); AppMain.GMS_BOSS4_BODY_WORK gms_BOSS4_BODY_WORK = (AppMain.GMS_BOSS4_BODY_WORK)obs_OBJECT_WORK.parent_obj; AppMain.MTM_ASSERT(egg_work.flag & 1U); egg_work.flag &= 4294967294U; AppMain.GmBsCmnSetAction(obs_OBJECT_WORK, ( int )AppMain.GmBoss4GetActInfo(gms_BOSS4_BODY_WORK.egg_revert_mtn_id, 1).act_id, ( int )AppMain.GmBoss4GetActInfo(gms_BOSS4_BODY_WORK.egg_revert_mtn_id, 1).is_repeat, 1); obs_OBJECT_WORK.obj_3d.frame[0] = AppMain.GMM_BS_OBJ(gms_BOSS4_BODY_WORK).obj_3d.frame[0]; }
// Token: 0x060005E5 RID: 1509 RVA: 0x000347F8 File Offset: 0x000329F8 private static void gmBoss4EggProcIdleUpdateLoop(AppMain.GMS_BOSS4_EGG_WORK egg_work) { AppMain.OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_BS_OBJ(egg_work); AppMain.GMS_BOSS4_BODY_WORK gms_BOSS4_BODY_WORK = (AppMain.GMS_BOSS4_BODY_WORK)obs_OBJECT_WORK.parent_obj; if ((gms_BOSS4_BODY_WORK.flag[0] & 268435456U) != 0U) { gms_BOSS4_BODY_WORK.flag[0] &= 4026531839U; AppMain.gmBoss4EggProcLaughInit(egg_work); } }
private static void gmBoss4EffAfterburnerInit(AppMain.GMS_BOSS4_BODY_WORK body_work) { AppMain.OBS_OBJECT_WORK parent_obj = AppMain.GMM_BS_OBJ((object)body_work); AppMain.GMS_EFFECT_3DES_WORK efct_3des1 = AppMain.GmEfctBossCmnEsCreate(parent_obj, 4U); AppMain.GmEffect3DESAddDispOffset(efct_3des1, 0.0f, -15f, -45f); AppMain.GMM_BS_OBJ((object)efct_3des1).ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss4EffAfterburnerProcMain); AppMain.GMS_EFFECT_3DES_WORK efct_3des2 = AppMain.GmEfctBossCmnEsCreate(parent_obj, 4U); AppMain.GmEffect3DESAddDispOffset(efct_3des2, 0.0f, 5f, -45f); AppMain.GMM_BS_OBJ((object)efct_3des2).ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss4EffAfterburnerProcMain); }
private static void gmBoss4EggProcIdleUpdateLoop(AppMain.GMS_BOSS4_EGG_WORK egg_work) { AppMain.GMS_BOSS4_BODY_WORK parentObj = (AppMain.GMS_BOSS4_BODY_WORK)AppMain.GMM_BS_OBJ((object)egg_work).parent_obj; if (((int)parentObj.flag[0] & 268435456) == 0) { return; } parentObj.flag[0] &= 4026531839U; AppMain.gmBoss4EggProcLaughInit(egg_work); }
// Token: 0x060005E2 RID: 1506 RVA: 0x000345AC File Offset: 0x000327AC private static void gmBoss4EggWaitLoad(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_BOSS4_BODY_WORK work = (AppMain.GMS_BOSS4_BODY_WORK)obj_work.parent_obj; AppMain.GMS_BOSS4_EGG_WORK gms_BOSS4_EGG_WORK = (AppMain.GMS_BOSS4_EGG_WORK)obj_work; if ((AppMain.GMM_BOSS4_MGR(work).flag & 1U) != 0U) { obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss4EggMain); AppMain.gmBoss4EggProcIdleInit(gms_BOSS4_EGG_WORK); AppMain.GmBoss4UtilInitNodeMatrix(gms_BOSS4_EGG_WORK.node_work, obj_work, 4); } }
private static void gmBoss4EggMain(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_BOSS4_BODY_WORK parentObj = (AppMain.GMS_BOSS4_BODY_WORK)obj_work.parent_obj; AppMain.GMS_BOSS4_EGG_WORK gmsBosS4EggWork = (AppMain.GMS_BOSS4_EGG_WORK)obj_work; AppMain.OBS_OBJECT_WORK obsObjectWork = (AppMain.OBS_OBJECT_WORK)parentObj; AppMain.NNS_MATRIX nodeMatrix1 = AppMain.GmBoss4UtilGetNodeMatrix(parentObj.node_work, 2); AppMain.NNS_MATRIX nodeMatrix2 = AppMain.GmBoss4UtilGetNodeMatrix(parentObj.node_work, 2); AppMain.NNS_MATRIX nnsMatrix = AppMain.GlobalPool <AppMain.NNS_MATRIX> .Alloc(); AppMain.nnCopyMatrix(nnsMatrix, nodeMatrix1); nnsMatrix.M03 = (float)((double)nodeMatrix1.M03 - (double)nodeMatrix2.M03 + (double)obsObjectWork.pos.x / 4096.0); AppMain.GmBoss4UtilSetMatrixNN(obj_work, nnsMatrix); AppMain.GmBoss4UtilUpdateTurnGently(gmsBosS4EggWork.dir_work); AppMain.GmBoss4UtilUpdateDirection(gmsBosS4EggWork.dir_work, obj_work); if (gmsBosS4EggWork.proc_update != null) { gmsBosS4EggWork.proc_update(gmsBosS4EggWork); } if (((int)parentObj.flag[0] & 8388608) != 0) { parentObj.flag[0] &= 4286578687U; AppMain.gmBoss4EggProcEscapeInit(gmsBosS4EggWork); } if (((int)parentObj.flag[0] & 2097152) != 0) { parentObj.flag[0] &= 4292870143U; AppMain.gmBoss4EggProcThrowInit(gmsBosS4EggWork); } if (((int)parentObj.flag[0] & 4194304) != 0) { parentObj.flag[0] &= 4290772991U; AppMain.gmBoss4EggProcThrowLeftInit(gmsBosS4EggWork); } if (((int)parentObj.flag[0] & 536870912) != 0) { parentObj.flag[0] &= 3758096383U; AppMain.gmBoss4EggProcDamageInit(gmsBosS4EggWork); } if (((int)parentObj.flag[0] & 16777216) != 0) { parentObj.flag[0] &= 4278190079U; AppMain.gmBoss4SetPartTextureBurnt(obj_work); } if (((int)AppMain.GMM_BS_OBJ((object)parentObj).disp_flag & 16) != 0) { obj_work.disp_flag |= 16U; } else { obj_work.disp_flag &= 4294967279U; } AppMain.GlobalPool <AppMain.NNS_MATRIX> .Release(nnsMatrix); }
// Token: 0x060005E3 RID: 1507 RVA: 0x00034600 File Offset: 0x00032800 private static void gmBoss4EggMain(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_BOSS4_BODY_WORK gms_BOSS4_BODY_WORK = (AppMain.GMS_BOSS4_BODY_WORK)obj_work.parent_obj; AppMain.GMS_BOSS4_EGG_WORK gms_BOSS4_EGG_WORK = (AppMain.GMS_BOSS4_EGG_WORK)obj_work; AppMain.OBS_OBJECT_WORK obs_OBJECT_WORK = (AppMain.OBS_OBJECT_WORK)gms_BOSS4_BODY_WORK; AppMain.NNS_MATRIX nns_MATRIX = AppMain.GmBoss4UtilGetNodeMatrix(gms_BOSS4_BODY_WORK.node_work, 2); AppMain.NNS_MATRIX nns_MATRIX2 = AppMain.GmBoss4UtilGetNodeMatrix(gms_BOSS4_BODY_WORK.node_work, 2); AppMain.NNS_MATRIX nns_MATRIX3 = AppMain.GlobalPool <AppMain.NNS_MATRIX> .Alloc(); AppMain.nnCopyMatrix(nns_MATRIX3, nns_MATRIX); nns_MATRIX3.M03 = nns_MATRIX.M03 - nns_MATRIX2.M03 + ( float )obs_OBJECT_WORK.pos.x / 4096f; AppMain.GmBoss4UtilSetMatrixNN(obj_work, nns_MATRIX3); AppMain.GmBoss4UtilUpdateTurnGently(gms_BOSS4_EGG_WORK.dir_work); AppMain.GmBoss4UtilUpdateDirection(gms_BOSS4_EGG_WORK.dir_work, obj_work); if (gms_BOSS4_EGG_WORK.proc_update != null) { gms_BOSS4_EGG_WORK.proc_update(gms_BOSS4_EGG_WORK); } if ((gms_BOSS4_BODY_WORK.flag[0] & 8388608U) != 0U) { gms_BOSS4_BODY_WORK.flag[0] &= 4286578687U; AppMain.gmBoss4EggProcEscapeInit(gms_BOSS4_EGG_WORK); } if ((gms_BOSS4_BODY_WORK.flag[0] & 2097152U) != 0U) { gms_BOSS4_BODY_WORK.flag[0] &= 4292870143U; AppMain.gmBoss4EggProcThrowInit(gms_BOSS4_EGG_WORK); } if ((gms_BOSS4_BODY_WORK.flag[0] & 4194304U) != 0U) { gms_BOSS4_BODY_WORK.flag[0] &= 4290772991U; AppMain.gmBoss4EggProcThrowLeftInit(gms_BOSS4_EGG_WORK); } if ((gms_BOSS4_BODY_WORK.flag[0] & 536870912U) != 0U) { gms_BOSS4_BODY_WORK.flag[0] &= 3758096383U; AppMain.gmBoss4EggProcDamageInit(gms_BOSS4_EGG_WORK); } if ((gms_BOSS4_BODY_WORK.flag[0] & 16777216U) != 0U) { gms_BOSS4_BODY_WORK.flag[0] &= 4278190079U; AppMain.gmBoss4SetPartTextureBurnt(obj_work); } if ((AppMain.GMM_BS_OBJ(gms_BOSS4_BODY_WORK).disp_flag & 16U) != 0U) { obj_work.disp_flag |= 16U; } else { obj_work.disp_flag &= 4294967279U; } AppMain.GlobalPool <AppMain.NNS_MATRIX> .Release(nns_MATRIX3); }
private static void gmBoss4EggWaitLoad(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_BOSS4_BODY_WORK parentObj = (AppMain.GMS_BOSS4_BODY_WORK)obj_work.parent_obj; AppMain.GMS_BOSS4_EGG_WORK egg_work = (AppMain.GMS_BOSS4_EGG_WORK)obj_work; if (((int)AppMain.GMM_BOSS4_MGR(parentObj).flag & 1) == 0) { return; } obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss4EggMain); AppMain.gmBoss4EggProcIdleInit(egg_work); AppMain.GmBoss4UtilInitNodeMatrix(egg_work.node_work, obj_work, 4); }
// Token: 0x060005E6 RID: 1510 RVA: 0x0003484C File Offset: 0x00032A4C private static void gmBoss4EggProcLaughInit(AppMain.GMS_BOSS4_EGG_WORK egg_work) { AppMain.GMS_BOSS4_BODY_WORK gms_BOSS4_BODY_WORK = (AppMain.GMS_BOSS4_BODY_WORK)((AppMain.OBS_OBJECT_WORK)egg_work).parent_obj; if (gms_BOSS4_BODY_WORK.dir.direction == 0) { AppMain.gmBoss4EggSetActionIndependent(egg_work, 1); } else { AppMain.gmBoss4EggSetActionIndependent(egg_work, 0); } egg_work.proc_update = new AppMain.MPP_VOID_GMS_BOSS4_EGG_WORK(AppMain.gmBoss4EggProcLaughUpdateLoop); }
private static void gmBoss4EffAfterburnerProcMain(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_BOSS4_BODY_WORK parentObj = (AppMain.GMS_BOSS4_BODY_WORK)obj_work.parent_obj; AppMain.MTM_ASSERT((int)parentObj.node_work.snm_work.reg_node_max); if (((int)obj_work.disp_flag & 8) != 0) { obj_work.flag |= 4U; } if (((int)parentObj.flag[0] & 16) == 0) { AppMain.ObjDrawKillAction3DES(obj_work); } AppMain.GmBsCmnUpdateObject3DESStuckWithNode(obj_work, parentObj.node_work.snm_work, parentObj.node_work.work[2], 1); }
private static void gmBoss4EffBodySmokeProcMain(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_BOSS4_BODY_WORK parentObj = (AppMain.GMS_BOSS4_BODY_WORK)obj_work.parent_obj; AppMain.MTM_ASSERT((int)parentObj.node_work.snm_work.reg_node_max); obj_work.disp_flag &= 4294963199U; if (((int)AppMain.g_obj.flag & 1) != 0) { obj_work.disp_flag |= 4096U; } else { obj_work.pos.x += AppMain.GmBoss4GetScrollOffset(); } AppMain.GmBsCmnUpdateObject3DESStuckWithNode(obj_work, parentObj.node_work.snm_work, parentObj.node_work.work[2], 1); }
private static void gmBoss4EffAfterburnerExInit(AppMain.GMS_BOSS4_BODY_WORK body_work) { AppMain.OBS_OBJECT_WORK parent_obj = AppMain.GMM_BS_OBJ((object)body_work); AppMain.GMS_EFFECT_3DES_WORK efct_3des1 = AppMain.GmBoss4EffCommonInit(741, new AppMain.VecFx32?(), parent_obj); AppMain.GMM_BS_OBJ((object)efct_3des1).ppFunc = (AppMain.MPP_VOID_OBS_OBJECT_WORK)null; AppMain.GmEffect3DESSetupBase(efct_3des1, 2U, 2U); AppMain.GmEffect3DESSetDispRotation(efct_3des1, (short)AppMain.GMD_BOSS4_EFF_ABURNER3_DISP_ROT_X, (short)0, (short)0); AppMain.GmEffect3DESAddDispOffset(efct_3des1, -0.0f, -0.0f, 0.0f); AppMain.GMM_BS_OBJ((object)efct_3des1).ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss4EffAfterburnerExProcMainL); AppMain.GMS_EFFECT_3DES_WORK efct_3des2 = AppMain.GmBoss4EffCommonInit(741, new AppMain.VecFx32?(), parent_obj); AppMain.GMM_BS_OBJ((object)efct_3des2).ppFunc = (AppMain.MPP_VOID_OBS_OBJECT_WORK)null; AppMain.GmEffect3DESSetupBase(efct_3des2, 2U, 2U); AppMain.GmEffect3DESSetDispRotation(efct_3des2, (short)AppMain.GMD_BOSS4_EFF_ABURNER3_DISP_ROT_X, (short)0, (short)0); AppMain.GmEffect3DESAddDispOffset(efct_3des2, 0.0f, -0.0f, 0.0f); AppMain.GMM_BS_OBJ((object)efct_3des2).ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss4EffAfterburnerExProcMainR); }
private static void gmBoss4MgrWaitLoad(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_BOSS4_MGR_WORK gmsBosS4MgrWork = (AppMain.GMS_BOSS4_MGR_WORK)obj_work; bool flag = false; int x = obj_work.pos.x; int y = obj_work.pos.y; if (AppMain.GmBsCmnIsFinalZoneType(obj_work) != 0) { if (AppMain.GmMainDatLoadBossBattleLoadCheck(3)) { flag = true; } } else { flag = true; } if (flag) { AppMain.OBS_OBJECT_WORK obsObjectWork1 = AppMain.GmEventMgrLocalEventBirth((ushort)321, x, y, (ushort)0, (sbyte)0, (sbyte)0, (byte)0, (byte)0, (byte)0); AppMain.GmBoss4IncObjCreateCount(); AppMain.OBS_OBJECT_WORK obsObjectWork2 = AppMain.GmEventMgrLocalEventBirth((ushort)322, x, y, (ushort)0, (sbyte)0, (sbyte)0, (byte)0, (byte)0, (byte)0); AppMain.GmBoss4IncObjCreateCount(); AppMain.GmBoss4CapsuleClear(); for (int index = 0; index < 6; ++index) { AppMain.GmEventMgrLocalEventBirth((ushort)323, x, y, (ushort)0, (sbyte)0, (sbyte)0, (byte)0, (byte)0, (byte)0).parent_obj = obsObjectWork1; AppMain.GmBoss4IncObjCreateCount(); } AppMain.GMS_BOSS4_BODY_WORK gmsBosS4BodyWork = (AppMain.GMS_BOSS4_BODY_WORK)obsObjectWork1; gmsBosS4MgrWork.body_work = gmsBosS4BodyWork; gmsBosS4BodyWork.mgr_work = gmsBosS4MgrWork; obsObjectWork1.parent_obj = obj_work; obsObjectWork2.parent_obj = obsObjectWork1; gmsBosS4BodyWork.parts_objs[0] = obsObjectWork1; gmsBosS4BodyWork.parts_objs[1] = obsObjectWork2; } if (!flag) { return; } gmsBosS4MgrWork.flag |= 1U; obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss4MgrMain); }
private static void gmBoss4ChibiAtkHitFunc( AppMain.OBS_RECT_WORK my_rect, AppMain.OBS_RECT_WORK your_rect) { AppMain.GMS_BOSS4_BODY_WORK parentObj1 = (AppMain.GMS_BOSS4_BODY_WORK)my_rect.parent_obj.parent_obj; AppMain.GMS_BOSS4_CHIBI_WORK parentObj2 = (AppMain.GMS_BOSS4_CHIBI_WORK)my_rect.parent_obj; parentObj1.flag[0] |= 268435456U; AppMain.GmEnemyDefaultAtkFunc(my_rect, your_rect); if (parentObj2.type != 0) { AppMain.GMS_PLAYER_WORK playerObj = (AppMain.GMS_PLAYER_WORK)AppMain.GmBsCmnGetPlayerObj(); if (AppMain.GmPlayerKeyCheckWalkLeft(playerObj)) { AppMain.GmPlayerSetReverse(playerObj); } } AppMain.SET_FLAG(1073741824U, parentObj2); }
private static void gmBoss4EffAfterburnerUpdateCreate(AppMain.GMS_BOSS4_BODY_WORK body_work) { if (((int)body_work.flag[0] & 1048576) != 0) { body_work.flag[0] &= 4261412863U; body_work.flag[0] &= 4293918719U; body_work.flag[0] |= 256U; AppMain.gmBoss4EffAfterburnerExInit(body_work); } if (((int)body_work.flag[0] & 33554432) == 0) { return; } body_work.flag[0] &= 4261412863U; body_work.flag[0] &= 4293918719U; body_work.flag[0] |= 16U; AppMain.gmBoss4EffAfterburnerInit(body_work); }
private static void gmBoss4MgrMain(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.OBS_CAMERA obsCamera = AppMain.ObjCameraGet(0); if (obsCamera == null) { return; } AppMain.GMS_BOSS4_MGR_WORK gmsBosS4MgrWork = (AppMain.GMS_BOSS4_MGR_WORK)obj_work; if (((int)gmsBosS4MgrWork.flag & 2) != 0) { if (gmsBosS4MgrWork.body_work != null) { AppMain.GMM_BS_OBJ((object)gmsBosS4MgrWork.body_work).flag |= 8U; gmsBosS4MgrWork.body_work = (AppMain.GMS_BOSS4_BODY_WORK)null; } if (AppMain.GmBsCmnIsFinalZoneType(obj_work) != 0) { obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss4MgrWaitRelease); } } AppMain.GmBoss4CapsuleUpdateRol(AppMain.GMD_BOSS4_CAP_ROTATE_SPD); obsCamera.flag &= 4294967294U; float move_size = obsCamera.disp_pos.x - obsCamera.prev_disp_pos.x; if ((double)move_size < -((double)AppMain.GMD_BOSS4_SCROLL_SPD_MAX + 8.0)) { move_size = AppMain.gmBoss4MgrMainStatics.xold; } if ((double)move_size > (double)AppMain.GMD_BOSS4_SCROLL_SPD_MAX + 8.0) { move_size = AppMain.gmBoss4MgrMainStatics.xold; } if (AppMain.g_gs_main_sys_info.stage_id != (ushort)16) { AppMain.GmMapSetAddMapUserScrlXAddSize(move_size); } AppMain.gmBoss4MgrMainStatics.xold = move_size; AppMain.OBS_OBJECT_WORK playerObj = AppMain.GmBsCmnGetPlayerObj(); AppMain.GMS_PLAYER_WORK gmsPlayerWork = (AppMain.GMS_PLAYER_WORK)playerObj; if (AppMain.gm_boss4_n_scroll == 0 && (double)AppMain.gm_boss4_f_scroll_spd <= 0.0) { return; } int left = AppMain.g_gm_main_system.map_fcol.left; int right = AppMain.g_gm_main_system.map_fcol.right; AppMain.NNS_VECTOR offset = new AppMain.NNS_VECTOR(AppMain.FX_FX32_TO_F32(AppMain.GmBoss4GetScrollOffset()), 0.0f, 0.0f); if ((double)offset.x < 0.0) { AppMain.amTrailEFOffsetPos((ushort)1, offset); } playerObj.pos.x += AppMain.GmBoss4GetScrollOffset(); int num1 = (int)AppMain.gm_boss4_f_scroll_spd * 4096; if (((int)gmsPlayerWork.player_flag & 1024) != 0) { num1 = 0; } if (gmsPlayerWork.seq_state == 17 && gmsPlayerWork.obj_work.spd.x < AppMain.FX_F32_TO_FX32(2f)) { num1 /= 4; } if (gmsPlayerWork.seq_state == 20 && gmsPlayerWork.obj_work.spd.x < AppMain.FX_F32_TO_FX32(3f)) { num1 /= 4; } playerObj.pos.x -= num1; int num2 = playerObj.pos.x / 4096; if (left + 48 > num2) { playerObj.pos.x = (left + 48) * 4096; } if (right < num2) { playerObj.pos.x = (right - 2) * 4096; } AppMain.GMS_BOSS4_BODY_WORK bodyWork = gmsBosS4MgrWork.body_work; AppMain.OBS_OBJECT_WORK obsObjectWork = (AppMain.OBS_OBJECT_WORK)bodyWork; if (obsObjectWork != null) { obsObjectWork.pos.x += AppMain.GmBoss4GetScrollOffset(); obsObjectWork.pos.x -= AppMain.FX_F32_TO_FX32(AppMain.gm_boss4_f_scroll_spd); if (AppMain.gm_boss4_n_scroll == 1) { obsObjectWork.pos.x += AppMain.FX_F32_TO_FX32(AppMain.GMD_BOSS4_SCROLL_SPD_BOSS); } else { obsObjectWork.pos.x += AppMain.FX_F32_TO_FX32(AppMain.GMD_BOSS4_SCROLL_SPD_BOSS_BROKEN); } int f32_1 = (int)AppMain.FX_FX32_TO_F32(obsObjectWork.pos.x); if (left > f32_1) { obsObjectWork.pos.x = AppMain.FX_F32_TO_FX32((float)left); } if (AppMain.gm_boss4_n_scroll == 1) { int f32_2 = (int)AppMain.FX_FX32_TO_F32(obsObjectWork.pos.x); if ((double)right - 50.0 > (double)f32_2) { obsObjectWork.pos.x = AppMain.FX_F32_TO_FX32((float)right - 50f); } } } if (obsObjectWork == null) { return; } AppMain.GMS_ENEMY_3D_WORK gmsEnemy3DWork = (AppMain.GMS_ENEMY_3D_WORK)bodyWork; if (Math.Abs(obsObjectWork.pos.x - playerObj.pos.x) > AppMain.FX_F32_TO_FX32(140f)) { gmsEnemy3DWork.ene_com.enemy_flag |= 32768U; } else { gmsEnemy3DWork.ene_com.enemy_flag &= 4294934527U; } }
private static void gmBoss4CapsuleMain(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_BOSS4_BODY_WORK parentObj = (AppMain.GMS_BOSS4_BODY_WORK)obj_work.parent_obj; AppMain.GMS_BOSS4_CAP_WORK w = (AppMain.GMS_BOSS4_CAP_WORK)obj_work; AppMain.NNS_MATRIX nnsMatrix1 = AppMain.GlobalPool <AppMain.NNS_MATRIX> .Alloc(); AppMain.NNS_MATRIX nnsMatrix2 = AppMain.GlobalPool <AppMain.NNS_MATRIX> .Alloc(); AppMain.NNS_MATRIX nnsMatrix3 = AppMain.GlobalPool <AppMain.NNS_MATRIX> .Alloc(); if (w.wait > 0) { obj_work.pos.z = 131072; AppMain.GmBoss4UtilUpdateFlicker(obj_work, w.flk_work); if (AppMain.GmBoss4UtilUpdate1ShotTimer(w.timer)) { AppMain.VecFx32 pos = obj_work.pos; pos.z = 135168; AppMain.GmBoss4EffCommonInit(735, new AppMain.VecFx32?(pos)); AppMain.T_FUNC(new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss4CapsuleBomb), obj_work); } } else { AppMain.GmBsCmnUpdateObject3DNNStuckWithNode(obj_work, parentObj.node_work.snm_work, parentObj.node_work.work[2], 0); obj_work.pos.y += AppMain.FX_F32_TO_FX32(20f); int ay = (AppMain._cap_rot_y + AppMain.AKM_DEGtoA32(360) / 6 * w.cap_no) % AppMain.AKM_DEGtoA32(360); AppMain.nnMakeRotateXMatrix(nnsMatrix1, AppMain._cap_rot_x); AppMain.nnRotateZMatrix(nnsMatrix1, nnsMatrix1, AppMain._cap_rot_z); AppMain.nnRotateYMatrix(nnsMatrix1, nnsMatrix1, ay); AppMain.nnMakeTranslateMatrix(nnsMatrix2, AppMain._cap_len, 0.0f, 0.0f); AppMain.nnMultiplyMatrix(nnsMatrix3, nnsMatrix1, nnsMatrix2); AppMain.NNS_VECTOR dst = new AppMain.NNS_VECTOR(); AppMain.nnCopyMatrixTranslationVector(dst, nnsMatrix3); obj_work.pos.x += AppMain.FX_F32_TO_FX32(dst.x); obj_work.pos.y += AppMain.FX_F32_TO_FX32(dst.y); obj_work.pos.z += AppMain.FX_F32_TO_FX32(dst.z); //AppMain.GlobalPool<AppMain.NNS_VECTOR>.Release(dst); } if (AppMain._cap_kill_flag != 0) { AppMain.VecFx32 pos = obj_work.pos; pos.z = 135168; AppMain.GmBoss4EffCommonInit(735, new AppMain.VecFx32?(pos)); w.wait = 30; AppMain.T_FUNC(new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss4CapsuleBomb), obj_work); AppMain.GlobalPool <AppMain.NNS_MATRIX> .Release(nnsMatrix3); AppMain.GlobalPool <AppMain.NNS_MATRIX> .Release(nnsMatrix2); AppMain.GlobalPool <AppMain.NNS_MATRIX> .Release(nnsMatrix1); } else { AppMain.GMS_ENEMY_3D_WORK gmsEnemy3DWork = (AppMain.GMS_ENEMY_3D_WORK)obj_work; if (AppMain._cap_inv_flag != 0) { if (!AppMain._cap_inv_hit) { gmsEnemy3DWork.ene_com.rect_work[0].flag |= 2048U; gmsEnemy3DWork.ene_com.rect_work[0].flag &= 4294967291U; } gmsEnemy3DWork.ene_com.rect_work[1].flag |= 2048U; } else { gmsEnemy3DWork.ene_com.rect_work[0].flag &= 4294965247U; gmsEnemy3DWork.ene_com.rect_work[0].flag |= 4U; gmsEnemy3DWork.ene_com.rect_work[1].flag &= 4294965247U; } if (AppMain.IS_FLAG(1073741824U, w)) { --AppMain._cap_count; gmsEnemy3DWork.ene_com.rect_work[0].flag &= 4294967291U; gmsEnemy3DWork.ene_com.rect_work[1].flag &= 4294967291U; gmsEnemy3DWork.ene_com.rect_work[2].flag &= 4294967291U; AppMain.RESET_FLAG(1073741824U, w); AppMain.GmBoss4UtilInitFlicker(obj_work, w.flk_work); AppMain.GmBoss4UtilInit1ShotTimer(w.timer, 20U); w.wait = 60; } AppMain.GlobalPool <AppMain.NNS_MATRIX> .Release(nnsMatrix3); AppMain.GlobalPool <AppMain.NNS_MATRIX> .Release(nnsMatrix2); AppMain.GlobalPool <AppMain.NNS_MATRIX> .Release(nnsMatrix1); } }
// Token: 0x06000723 RID: 1827 RVA: 0x0003F3C4 File Offset: 0x0003D5C4 private static void gmBoss4CapsuleMain(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_BOSS4_BODY_WORK gms_BOSS4_BODY_WORK = (AppMain.GMS_BOSS4_BODY_WORK)obj_work.parent_obj; AppMain.GMS_BOSS4_CAP_WORK gms_BOSS4_CAP_WORK = (AppMain.GMS_BOSS4_CAP_WORK)obj_work; AppMain.NNS_MATRIX nns_MATRIX = AppMain.GlobalPool <AppMain.NNS_MATRIX> .Alloc(); AppMain.NNS_MATRIX nns_MATRIX2 = AppMain.GlobalPool <AppMain.NNS_MATRIX> .Alloc(); AppMain.NNS_MATRIX nns_MATRIX3 = AppMain.GlobalPool <AppMain.NNS_MATRIX> .Alloc(); if (gms_BOSS4_CAP_WORK.wait > 0) { obj_work.pos.z = 131072; AppMain.GmBoss4UtilUpdateFlicker(obj_work, gms_BOSS4_CAP_WORK.flk_work); if (AppMain.GmBoss4UtilUpdate1ShotTimer(gms_BOSS4_CAP_WORK.timer)) { AppMain.VecFx32 pos = obj_work.pos; pos.z = 135168; AppMain.GmBoss4EffCommonInit(735, new AppMain.VecFx32?(pos)); AppMain.T_FUNC(new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss4CapsuleBomb), obj_work); } } else { AppMain.GmBsCmnUpdateObject3DNNStuckWithNode(obj_work, gms_BOSS4_BODY_WORK.node_work.snm_work, gms_BOSS4_BODY_WORK.node_work.work[2], 0); obj_work.pos.y = obj_work.pos.y + AppMain.FX_F32_TO_FX32(20f); int num = AppMain._cap_rot_y; num += AppMain.AKM_DEGtoA32(360) / 6 * gms_BOSS4_CAP_WORK.cap_no; num %= AppMain.AKM_DEGtoA32(360); AppMain.nnMakeRotateXMatrix(nns_MATRIX, AppMain._cap_rot_x); AppMain.nnRotateZMatrix(nns_MATRIX, nns_MATRIX, AppMain._cap_rot_z); AppMain.nnRotateYMatrix(nns_MATRIX, nns_MATRIX, num); AppMain.nnMakeTranslateMatrix(nns_MATRIX2, AppMain._cap_len, 0f, 0f); AppMain.nnMultiplyMatrix(nns_MATRIX3, nns_MATRIX, nns_MATRIX2); AppMain.NNS_VECTOR nns_VECTOR = AppMain.GlobalPool <AppMain.NNS_VECTOR> .Alloc(); AppMain.nnCopyMatrixTranslationVector(nns_VECTOR, nns_MATRIX3); obj_work.pos.x = obj_work.pos.x + AppMain.FX_F32_TO_FX32(nns_VECTOR.x); obj_work.pos.y = obj_work.pos.y + AppMain.FX_F32_TO_FX32(nns_VECTOR.y); obj_work.pos.z = obj_work.pos.z + AppMain.FX_F32_TO_FX32(nns_VECTOR.z); AppMain.GlobalPool <AppMain.NNS_VECTOR> .Release(nns_VECTOR); } if (AppMain._cap_kill_flag != 0) { AppMain.VecFx32 pos2 = obj_work.pos; pos2.z = 135168; AppMain.GmBoss4EffCommonInit(735, new AppMain.VecFx32?(pos2)); gms_BOSS4_CAP_WORK.wait = 30; AppMain.T_FUNC(new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss4CapsuleBomb), obj_work); AppMain.GlobalPool <AppMain.NNS_MATRIX> .Release(nns_MATRIX3); AppMain.GlobalPool <AppMain.NNS_MATRIX> .Release(nns_MATRIX2); AppMain.GlobalPool <AppMain.NNS_MATRIX> .Release(nns_MATRIX); return; } AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obj_work; if (AppMain._cap_inv_flag != 0) { if (!AppMain._cap_inv_hit) { gms_ENEMY_3D_WORK.ene_com.rect_work[0].flag |= 2048U; gms_ENEMY_3D_WORK.ene_com.rect_work[0].flag &= 4294967291U; } gms_ENEMY_3D_WORK.ene_com.rect_work[1].flag |= 2048U; } else { gms_ENEMY_3D_WORK.ene_com.rect_work[0].flag &= 4294965247U; gms_ENEMY_3D_WORK.ene_com.rect_work[0].flag |= 4U; gms_ENEMY_3D_WORK.ene_com.rect_work[1].flag &= 4294965247U; } if (AppMain.IS_FLAG(1073741824U, gms_BOSS4_CAP_WORK)) { AppMain._cap_count--; gms_ENEMY_3D_WORK.ene_com.rect_work[0].flag &= 4294967291U; gms_ENEMY_3D_WORK.ene_com.rect_work[1].flag &= 4294967291U; gms_ENEMY_3D_WORK.ene_com.rect_work[2].flag &= 4294967291U; AppMain.RESET_FLAG(1073741824U, gms_BOSS4_CAP_WORK); AppMain.GmBoss4UtilInitFlicker(obj_work, gms_BOSS4_CAP_WORK.flk_work); AppMain.GmBoss4UtilInit1ShotTimer(gms_BOSS4_CAP_WORK.timer, 20U); gms_BOSS4_CAP_WORK.wait = 60; } AppMain.GlobalPool <AppMain.NNS_MATRIX> .Release(nns_MATRIX3); AppMain.GlobalPool <AppMain.NNS_MATRIX> .Release(nns_MATRIX2); AppMain.GlobalPool <AppMain.NNS_MATRIX> .Release(nns_MATRIX); }
// Token: 0x06000725 RID: 1829 RVA: 0x0003F8F0 File Offset: 0x0003DAF0 private static void gmBoss4CapsuleAtkHitFunc(AppMain.OBS_RECT_WORK my_rect, AppMain.OBS_RECT_WORK your_rect) { AppMain.GMS_BOSS4_BODY_WORK gms_BOSS4_BODY_WORK = (AppMain.GMS_BOSS4_BODY_WORK)my_rect.parent_obj.parent_obj; gms_BOSS4_BODY_WORK.flag[0] |= 268435456U; AppMain.GmEnemyDefaultAtkFunc(my_rect, your_rect); }