Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
f_op_actor_enemy.h
Go to the documentation of this file.
1#ifndef F_OP_ACTOR_ENEMY_H_
2#define F_OP_ACTOR_ENEMY_H_
3
6#include "d/actor/d_a_midna.h"
8#include "d/d_com_inf_game.h"
9#include "d/d_s_play.h"
10
12 cXyz* i_effSize) {
13 static GXColor e_prim[] = {
14 {0xFF, 0x78, 0x00, 0x00},
15 {0xFF, 0x64, 0x78, 0x00},
16 };
17 static GXColor e_env[] = {
18 {0x5A, 0x2D, 0x2D, 0x00},
19 {0x3C, 0x1E, 0x1E, 0x00},
20 };
21
24
25 if (player->getMidnaActor() && player->checkWolfLock(a_this)) {
26 cXyz sp48;
27
29 if (dKy_darkworld_check()) {
31 } else {
33 }
34
35 if (i_actorP->getMidnaBindMode() == 0) {
36 i_actorP->setMidnaBindMode(1);
37
38 csXyz sp68;
39 MTXCopy(player->getMidnaActor()->getMtxHairTop(), mDoMtx_stack_c::get());
40
41 cXyz sp54(nREG_F(8) + 100.0f, nREG_F(9), nREG_F(10));
43
45
46 sp68.y = cM_atan2s(sp60.x, sp60.z);
47 sp68.x = -cM_atan2s(sp60.y, JMAFastSqrt(sp60.x * sp60.x + sp60.z * sp60.z));
48 sp68.z = 0;
49
51 0x29B, i_effPos, &a_this->tevStr, &sp68, i_effSize, 0xFF, NULL,
53
54 if (emitter != NULL) {
55 emitter->setGlobalParticleHeightScale((JREG_F(7) + 0.01f) * sp60.abs());
56 }
57
58 dComIfGp_particle_set(0x29C, i_effPos, &a_this->tevStr, &a_this->shape_angle, i_effSize,
61
62 i_creatureP->startCreatureSound(Z2SE_MIDNA_BIND_LOCK_ON, 0, -1);
63 }
64
65 for (int i = 0; i < 3; i++) {
66 static u16 eff_id[] = {0x29D, 0x29E, 0x29F};
67
68 u32* bind_id = i_actorP->getMidnaBindID(i);
70 &a_this->shape_angle, i_effSize, 0xFF, NULL,
73 }
74
75 i_creatureP->startCreatureSoundLevel(Z2SE_MIDNA_BIND_LOCK_SUS, 0, -1);
76 return 1;
77 }
78
79 i_actorP->setMidnaBindMode(0);
80 return 0;
81}
82
83#endif
f32 JMAFastSqrt(register f32 input)
Definition JMath.h:31
@ Z2SE_MIDNA_BIND_LOCK_ON
Definition Z2SeMgr.h:1706
@ Z2SE_MIDNA_BIND_LOCK_SUS
Definition Z2SeMgr.h:1707
T cLib_calcTimer(T *value)
Definition c_lib.h:74
s16 cM_atan2s(float y, float x)
Definition c_math.cpp:119
Definition JPAEmitter.h:94
Definition Z2Creature.h:154
Definition f_op_actor.h:249
static SECTION_DATA u8 e_env[8]
Definition d_a_b_ds.cpp:108
static SECTION_DATA u8 e_prim[8]
Definition d_a_b_ds.cpp:100
static SECTION_DATA u8 eff_id[6+2]
Definition d_a_b_ds.cpp:116
static void dComIfGp_particle_set(u16 param_0, cXyz const *param_1, csXyz const *param_2, cXyz const *param_3)
Definition d_a_b_gm.cpp:1867
static void daPy_getPlayerActorClass()
Definition d_a_b_gnd.cpp:2857
bool dKy_darkworld_check()
Definition d_kankyo.cpp:4460
int i
Definition e_pow.c:165
static int setMidnaBindEffect(fopEn_enemy_c *i_actorP, Z2CreatureEnemy *i_creatureP, cXyz *i_effPos, cXyz *i_effSize)
Definition f_op_actor_enemy.h:11
s8 fopAcM_GetRoomNo(const fopAc_ac_c *pActor)
Definition f_op_actor_mng.h:180
f32 y
Definition vec.h:11
Definition d_a_ep.cpp:68
Definition d_a_hozelda.cpp:20
Definition d_a_ep.cpp:66
Definition d_a_npc_cd.cpp:15
Definition d_a_ep.cpp:19
static MtxP get()
Definition m_Do_mtx.h:226
static void multVec(const Vec *a, Vec *b)
Definition m_Do_mtx.h:249
int BOOL
Definition types.h:27
unsigned long u32
Definition types.h:10
unsigned short u16
Definition types.h:9