tp/src/d/actor/d_a_demo_item.cpp

589 lines
21 KiB
C++

/**
* @file d_a_demo_item.cpp
*
*/
#include "d/actor/d_a_demo_item.h"
#include "d/d_com_inf_game.h"
#include "d/d_item.h"
#include "d/d_item_data.h"
#include "d/d_a_itembase_static.h"
#include "d/actor/d_a_player.h"
#include "JSystem/J3DGraphBase/J3DMaterial.h"
#include "Z2AudioLib/Z2Instances.h"
/* 804DFBCC-804DFBD4 0000EC 0008+00 1/0 0/0 0/0 .text __CreateHeap__9daDitem_cFv */
int daDitem_c::__CreateHeap() {
return 1;
}
/* 804E19D4-804E19D8 000000 0004+00 6/6 0/0 0/0 .rodata l_light_color */
static const GXColor l_light_color = {0x8C, 0x7C, 0x6A, 0xFF};
/* 804DFBD4-804DFC98 0000F4 00C4+00 1/1 0/0 0/0 .text CreateInit__9daDitem_cFv */
int daDitem_c::CreateInit() {
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
fopAcM_setCullSizeBox2(this, mpModel->getModelData());
hide();
field_0x93d = daDitem_prm::getFlag(this);
field_0x93e = 1;
initEffectLight();
if (chkArgFlag(0x20)) {
scale.setall(1.0f);
} else {
scale.setall(0.0f);
}
mSound.init(&current.pos, 1);
set_mtx();
return 1;
}
/* 804DFC98-804DFD10 0001B8 0078+00 1/1 0/0 0/0 .text action__9daDitem_cFv */
void daDitem_c::action() {
switch (mAction) {
case ACTION_START_e:
actionStart();
break;
case ACTION_EVENT_e:
actionEvent();
break;
case ACTION_WAIT_LIGHT_END_e:
actionWaitLightEnd();
break;
case ACTION_END_e:
actionEnd();
break;
}
followInsectEffect();
}
/* 804DFD10-804E00A0 000230 0390+00 1/1 0/0 0/0 .text actionStart__9daDitem_cFv */
void daDitem_c::actionStart() {
if (chkDraw()) {
if (!chkArgFlag(0x2) && !chkArgFlag(0x4) && !mSetLightEff) {
mSetLightEff = true;
settingEffectLight();
dKy_efplight_set(&mLight);
// "Get Item: Effect Light set & display start!\n"
OS_REPORT("ゲットアイテム:エフェクトライトセット&表示スタート!\n");
}
if (m_itemNo == fpcNm_ITEM_DUNGEON_EXIT || m_itemNo == fpcNm_ITEM_DUNGEON_EXIT_2) {
current.angle.y = dComIfGp_getPlayer(0)->shape_angle.y;
}
if (m_itemNo == fpcNm_ITEM_UTAWA_HEART || m_itemNo == fpcNm_ITEM_KAKERA_HEART) {
JPABaseEmitter* emitter = field_0x96c.getEmitter();
if (emitter == NULL) {
dComIfGp_particle_set(0x8DE, &current.pos, NULL, NULL, 0xFF, &field_0x96c, -1, NULL, NULL, NULL);
}
emitter = field_0x980.getEmitter();
if (emitter == NULL) {
dComIfGp_particle_set(0x8DF, &current.pos, NULL, NULL, 0xFF, &field_0x96c, -1, NULL, NULL, NULL);
}
mParticleAlpha = 0xFF;
}
if ((m_itemNo == fpcNm_ITEM_ORANGE_RUPEE || m_itemNo == fpcNm_ITEM_SILVER_RUPEE) && field_0x96c.getEmitter() == NULL) {
cXyz scale(0.55f, 0.55f, 0.55f);
dComIfGp_particle_set(0xC14, &field_0x99c, NULL, &scale, 0xFF, &field_0x96c, -1, NULL, NULL, NULL);
}
if (m_itemNo == fpcNm_ITEM_WALLET_LV3 && field_0x96c.getEmitter() == NULL) {
cXyz scale(1.2f, 1.2f, 1.2f);
dComIfGp_particle_set(0xC14, &field_0x99c, NULL, &scale, 0xFF, &field_0x96c, -1, NULL, NULL, NULL);
}
if (m_itemNo == fpcNm_ITEM_CHUCHU_RARE && field_0x96c.getEmitter() == NULL) {
cXyz scale(0.8f, 0.8f, 0.8f);
dComIfGp_particle_set(0xC14, &field_0x99c, NULL, &scale, 0xFF, &field_0x96c, -1, NULL, NULL, NULL);
}
if ((m_itemNo == fpcNm_ITEM_FAIRY_DROP || m_itemNo == fpcNm_ITEM_DROP_BOTTLE) && field_0x96c.getEmitter() == NULL) {
dComIfGp_particle_set(0x8C15, &field_0x99c, NULL, NULL, 0xFF, &field_0x96c, -1, NULL, NULL, NULL);
}
if (isInsect(m_itemNo)) {
setInsectEffect();
}
fopAcM_onDraw(this);
setAction(ACTION_EVENT_e);
}
}
/* 804E00DC-804E0A50 0005FC 0974+00 1/1 0/0 0/0 .text actionEvent__9daDitem_cFv */
// NONMATCHING - r30/r31 swap
void daDitem_c::actionEvent() {
if (mSetLightEff) {
cLib_addCalc2(&mLight.mPow, mLightStrength, 0.1f, 1.0f);
}
if (m_itemNo == fpcNm_ITEM_POU_SPIRIT) {
mSound.startLevelSound(Z2SE_EN_PO_SOUL, 0, -1);
}
if (chkDead()) {
if (!chkArgFlag(0x1)) {
execItemGet(m_itemNo);
}
if (m_itemNo == fpcNm_ITEM_KAKERA_HEART) {
s32 room_no = dComIfGp_roomControl_getStayNo();
if (strcmp(dComIfGp_getStartStageName(), "F_SP116") == 0 && room_no == 2) {
onEventReg(0, 0);
} else if (strcmp(dComIfGp_getStartStageName(), "F_SP118") == 0 && room_no == 1) {
onEventReg(0, 1);
} else if (strcmp(dComIfGp_getStartStageName(), "F_SP121") == 0 && room_no == 6) {
onEventReg(0, 2);
} else if (strcmp(dComIfGp_getStartStageName(), "D_SB06") == 0 && room_no == 1 && dComIfG_play_c::getLayerNo(0) == 2) {
onEventReg(0, 3);
} else if (strcmp(dComIfGp_getStartStageName(), "F_SP115") == 0 && room_no == 0) {
onEventReg(0, 4);
} else if (strcmp(dComIfGp_getStartStageName(), "F_SP108") == 0 && room_no == 14) {
onEventReg(0, 5);
} else if (strcmp(dComIfGp_getStartStageName(), "F_SP115") == 0 && room_no == 1) {
onEventReg(0, 6);
} else if (strcmp(dComIfGp_getStartStageName(), "F_SP121") == 0 && room_no == 11) {
onEventReg(1, 0);
} else if (strcmp(dComIfGp_getStartStageName(), "D_SB06") == 0 && room_no == 1 && dComIfG_play_c::getLayerNo(0) == 0) {
onEventReg(1, 1);
} else if (strcmp(dComIfGp_getStartStageName(), "F_SP110") == 0 && room_no == 0) {
onEventReg(1, 2);
} else if (strcmp(dComIfGp_getStartStageName(), "F_SP109") == 0 && room_no == 0 && dComIfGs_isTmpBit(0x0604)) {
onEventReg(1, 3);
} else if (strcmp(dComIfGp_getStartStageName(), "F_SP126") == 0 && room_no == 0) {
onEventReg(1, 5);
} else if (strcmp(dComIfGp_getStartStageName(), "D_MN05") == 0 && room_no == 5) {
onEventReg(1, 6);
} else if (strcmp(dComIfGp_getStartStageName(), "D_MN05") == 0 && room_no == 3) {
onEventReg(1, 7);
} else if (strcmp(dComIfGp_getStartStageName(), "D_MN04") == 0 && room_no == 6) {
onEventReg(2, 0);
} else if (strcmp(dComIfGp_getStartStageName(), "D_MN04") == 0 && room_no == 4) {
onEventReg(2, 1);
} else if (strcmp(dComIfGp_getStartStageName(), "D_MN01") == 0 && room_no == 3) {
onEventReg(2, 2);
} else if (strcmp(dComIfGp_getStartStageName(), "D_MN01") == 0 && room_no == 8) {
onEventReg(2, 3);
} else if (strcmp(dComIfGp_getStartStageName(), "D_MN10") == 0 && room_no == 13) {
onEventReg(2, 4);
} else if (strcmp(dComIfGp_getStartStageName(), "D_MN10") == 0 && room_no == 2) {
onEventReg(2, 5);
} else if (strcmp(dComIfGp_getStartStageName(), "D_MN11") == 0 && room_no == 7) {
onEventReg(2, 6);
} else if (strcmp(dComIfGp_getStartStageName(), "D_MN11") == 0 && room_no == 0) {
onEventReg(2, 7);
} else if (strcmp(dComIfGp_getStartStageName(), "D_MN06") == 0 && room_no == 4) {
onEventReg(3, 0);
} else if (strcmp(dComIfGp_getStartStageName(), "D_MN06") == 0 && room_no == 3) {
onEventReg(3, 1);
} else if (strcmp(dComIfGp_getStartStageName(), "D_MN07") == 0 && room_no == 11) {
onEventReg(3, 2);
} else if (strcmp(dComIfGp_getStartStageName(), "D_MN07") == 0 && room_no == 12) {
onEventReg(3, 3);
} else if (strcmp(dComIfGp_getStartStageName(), "D_MN08") == 0 && room_no == 4) {
onEventReg(3, 4);
} else if (strcmp(dComIfGp_getStartStageName(), "D_MN08") == 0 && room_no == 1) {
onEventReg(3, 5);
} else if (strcmp(dComIfGp_getStartStageName(), "F_SP128") == 0 && room_no == 0) {
onEventReg(3, 7);
} else if (strcmp(dComIfGp_getStartStageName(), "F_SP114") == 0 && room_no == 1) {
onEventReg(4, 0);
} else if (strcmp(dComIfGp_getStartStageName(), "F_SP00") == 0 && room_no == 0) {
onEventReg(4, 3);
} else if (strcmp(dComIfGp_getStartStageName(), "F_SP108") == 0 && room_no == 5) {
onEventReg(4, 5);
} else if (strcmp(dComIfGp_getStartStageName(), "F_SP127") == 0 && room_no == 0) {
onEventReg(4, 6);
} else if (strcmp(dComIfGp_getStartStageName(), "D_SB02") == 0 && room_no == 0) {
onEventReg(4, 7);
} else if (strcmp(dComIfGp_getStartStageName(), "D_SB03") == 0 && room_no == 0) {
onEventReg(5, 0);
} else if (strcmp(dComIfGp_getStartStageName(), "D_SB04") == 0 && room_no == 10) {
onEventReg(5, 1);
} else if (strcmp(dComIfGp_getStartStageName(), "D_SB00") == 0 && room_no == 0) {
onEventReg(5, 2);
} else if (strcmp(dComIfGp_getStartStageName(), "F_SP117") == 0 && room_no == 2) {
onEventReg(5, 3);
}
}
endInsectEffect();
fopAcM_offDraw(this);
setAction(ACTION_WAIT_LIGHT_END_e);
}
}
/* 804E0A50-804E0B40 000F70 00F0+00 1/1 0/0 0/0 .text actionWaitLightEnd__9daDitem_cFv */
void daDitem_c::actionWaitLightEnd() {
BOOL particle_hidden = TRUE;
if (m_itemNo == fpcNm_ITEM_UTAWA_HEART || m_itemNo == fpcNm_ITEM_KAKERA_HEART) {
particle_hidden = cLib_chaseUC(&mParticleAlpha, 0, 26);
JPABaseEmitter* emitter = field_0x96c.getEmitter();
if (emitter != NULL) {
emitter->setGlobalAlpha(mParticleAlpha);
}
emitter = field_0x980.getEmitter();
if (emitter != NULL) {
emitter->setGlobalAlpha(mParticleAlpha);
}
}
cLib_addCalc(&mLight.mPow, 0.0f, 0.2f, 3.0f, 1.0f);
if (mSetLightEff && mLight.mPow == 0.0f && particle_hidden) {
setAction(ACTION_END_e);
} else if (chkArgFlag(0x2) || chkArgFlag(0x4)) {
setAction(ACTION_END_e);
}
}
/* 804E0B40-804E0B60 001060 0020+00 1/1 0/0 0/0 .text actionEnd__9daDitem_cFv */
void daDitem_c::actionEnd() {
fopAcM_delete(this);
}
/* 804E0B60-804E0C44 001080 00E4+00 1/1 0/0 0/0 .text setInsectEffect__9daDitem_cFv */
void daDitem_c::setInsectEffect() {
if (!chkArgFlag(0x2) && !chkArgFlag(0x4)) {
field_0x994 = dComIfGp_particle_set(0xA1B, &current.pos, &home.angle, NULL, 0xFF, NULL, -1, NULL, NULL, NULL);
}
field_0x998 = dComIfGp_particle_set(0xA1C, &current.pos, &home.angle, NULL, 0xFF, NULL, -1, NULL, NULL, NULL);
}
/* 804E0C44-804E0CB0 001164 006C+00 1/1 0/0 0/0 .text followInsectEffect__9daDitem_cFv */
void daDitem_c::followInsectEffect() {
if (field_0x994 != NULL) {
field_0x994->setGlobalTranslation(current.pos);
}
if (field_0x998 != NULL) {
field_0x998->setGlobalTranslation(current.pos);
}
}
/* 804E0CB0-804E0D44 0011D0 0094+00 2/2 0/0 0/0 .text endInsectEffect__9daDitem_cFv */
void daDitem_c::endInsectEffect() {
if (field_0x994 != NULL) {
field_0x994->stopCreateParticle();
field_0x994->quitImmortalEmitter();
field_0x994->becomeInvalidEmitter();
field_0x994 = NULL;
}
if (field_0x998 != NULL) {
field_0x998->stopCreateParticle();
field_0x998->quitImmortalEmitter();
field_0x998->becomeInvalidEmitter();
field_0x998 = NULL;
}
}
/* 804E0D44-804E0DB4 001264 0070+00 1/1 0/0 0/0 .text onEventReg__9daDitem_cFii */
void daDitem_c::onEventReg(int i_regNo, int i_value) {
static u16 const l_event_reg[] = {
0xF0FF, 0xEFFF, 0xEEFF, 0xEDFF, 0xECFF, 0xEBFF,
};
u8 reg = dComIfGs_getEventReg(l_event_reg[i_regNo]);
reg |= (1 << i_value);
dComIfGs_setEventReg(l_event_reg[i_regNo], reg);
// "Heart Piece: %d %d\n"
OS_REPORT("ハートの欠片:%d %d\n", i_regNo, i_value);
}
UNK_BSS(1109)
UNK_BSS(1107)
UNK_BSS(1105)
UNK_BSS(1104)
UNK_BSS(1099)
UNK_BSS(1097)
UNK_BSS(1095)
UNK_BSS(1094)
UNK_BSS(1057)
UNK_BSS(1055)
UNK_BSS(1053)
UNK_BSS(1052)
UNK_BSS(1014)
UNK_BSS(1012)
UNK_BSS(1010)
UNK_BSS(1009)
/* 804E1C34-804E1C40 000054 000C+00 0/2 0/0 0/0 .bss l_player_offset */
static cXyz l_player_offset(0.0f, 115.0f, 54.0f);
/* 804E1C4C-804E1C58 00006C 000C+00 0/2 0/0 0/0 .bss l_wolf_offset */
static cXyz l_wolf_offset(13.0f, 135.0f, 57.0f);
/* 804E1C64-804E1C70 000084 000C+00 0/2 0/0 0/0 .bss l_horse_offset */
static cXyz l_horse_offset(0.0f, 20.0f, 54.0f);
/* 804E0DB4-804E105C 0012D4 02A8+00 1/1 0/0 0/0 .text set_pos__9daDitem_cFv */
void daDitem_c::set_pos() {
daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0);
cXyz pos;
cXyz offset;
cXyz sp38(player->current.pos);
static cXyz offset_tbl[] = {
cXyz(0.0f, 200.0f, 0.0f),
cXyz(0.0f, 90.0f, 50.0f),
cXyz(30.0f, 140.0f, 20.0f),
};
if (chkArgFlag(0x8)) {
current.pos = mOffsetPos;
return;
} else if (chkArgFlag(0x2)) {
offset = offset_tbl[1];
} else if (chkArgFlag(0x4)) {
offset = offset_tbl[1];
} else if (chkArgFlag(0x10)) {
offset = mOffsetPos;
} else {
offset = offset_tbl[0];
}
if (daPy_py_c::checkNowWolf()) {
offset = l_wolf_offset;
sp38.y = player->getLeftFootPosP()->y;
} else if (player->checkHorseRide()) {
offset = l_horse_offset;
} else {
offset = l_player_offset;
sp38.y = player->getLeftFootPosP()->y;
}
cLib_offsetPos(&pos, &sp38, player->shape_angle.y, &offset);
current.pos = pos;
}
/* 804E105C-804E1098 00157C 003C+00 1/1 0/0 0/0 .text anim_control__9daDitem_cFv */
void daDitem_c::anim_control() {
animPlay(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f);
}
/* 804E1098-804E10D0 0015B8 0038+00 1/1 0/0 0/0 .text initEffectLight__9daDitem_cFv */
void daDitem_c::initEffectLight() {
mLight.mColor.r = l_light_color.r;
mLight.mColor.g = l_light_color.g;
mLight.mColor.b = l_light_color.b;
mLight.mPow = 0.0f;
mLight.mFluctuation = 0.0f;
mSetLightEff = false;
}
/* 804E10D0-804E111C 0015F0 004C+00 2/2 0/0 0/0 .text settingEffectLight__9daDitem_cFv */
void daDitem_c::settingEffectLight() {
f32 var_f31 = mpModel->getModelData()->getJointNodePointer(0)->getMax()->y;
mLight.mPosition.set(current.pos.x, current.pos.y + (var_f31 * 0.5f), current.pos.z);
mLightStrength = 8.0f;
}
/* 804E111C-804E11D4 00163C 00B8+00 2/2 0/0 0/0 .text set_mtx__9daDitem_cFv */
void daDitem_c::set_mtx() {
mpModel->setBaseScale(scale);
if (m_itemNo != fpcNm_ITEM_DUNGEON_EXIT && m_itemNo != fpcNm_ITEM_DUNGEON_BACK && m_itemNo != fpcNm_ITEM_LV7_DUNGEON_EXIT && m_itemNo != fpcNm_ITEM_DUNGEON_EXIT_2) {
s16 var_r28 = 0xFFFF / 250;
fopAcM_addAngleY(this, current.angle.y + var_r28, var_r28);
}
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::YrotM(current.angle.y);
mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
}
/* 804E11D4-804E122C 0016F4 0058+00 1/0 0/0 0/0 .text setTevStr__9daDitem_cFv */
void daDitem_c::setTevStr() {
g_env_light.settingTevStruct(14, &current.pos, &tevStr);
g_env_light.setLightTevColorType_MAJI(mpModel, &tevStr);
}
/* 804E122C-804E1230 00174C 0004+00 1/0 0/0 0/0 .text setListStart__9daDitem_cFv */
void daDitem_c::setListStart() {}
/* 804E1230-804E12C8 001750 0098+00 1/1 0/0 0/0 .text draw_WOOD_STICK__9daDitem_cFv */
void daDitem_c::draw_WOOD_STICK() {
static const char nodisp_mat[] = "parts_m";
J3DModelData* modelData = mpModel->getModelData();
JUTNameTab* nametab = modelData->getMaterialTable().getMaterialName();
for (u16 i = 0; i < modelData->getMaterialNum(); i++) {
if (strcmp(nodisp_mat, nametab->getName(i)) == 0) {
modelData->getMaterialNodePointer(i)->getShape()->hide();
}
}
}
int daDitem_c::Delete() {
if (!chkArgFlag(0x2) && !chkArgFlag(0x4) && mSetLightEff) {
dKy_efplight_cut(&mLight);
}
if (m_itemNo == fpcNm_ITEM_UTAWA_HEART || m_itemNo == fpcNm_ITEM_KAKERA_HEART) {
field_0x96c.remove();
field_0x980.remove();
}
if (m_itemNo == fpcNm_ITEM_ORANGE_RUPEE || m_itemNo == fpcNm_ITEM_SILVER_RUPEE || m_itemNo == fpcNm_ITEM_WALLET_LV3 || m_itemNo == fpcNm_ITEM_FAIRY_DROP || m_itemNo == fpcNm_ITEM_DROP_BOTTLE || m_itemNo == fpcNm_ITEM_CHUCHU_RARE) {
field_0x96c.remove();
}
endInsectEffect();
mSound.deleteObject();
return DeleteBase(dItem_data::getArcName(m_itemNo));
}
/* 804E12C8-804E13C8 0017E8 0100+00 1/0 0/0 0/0 .text daDitem_Delete__FP9daDitem_c */
static int daDitem_Delete(daDitem_c* i_this) {
return i_this->Delete();
}
int daDitem_c::create() {
fopAcM_SetupActor(this, daDitem_c);
m_itemNo = daDitem_prm::getNo(this);
const char* arc_name = dItem_data::getArcName(m_itemNo);
s16 bmd_name = dItem_data::getBmdName(m_itemNo);
if (bmd_name < 0 || arc_name == NULL) {
if (bmd_name == 0) {
// "It's an item with no model data! [%d]\n"
OS_REPORT_ERROR("モデルデータのないアイテムゲットです![%d]\n", m_itemNo);
}
if (arc_name == NULL) {
// "There's no archive name for Get Model! [%d]\n"
OS_REPORT_ERROR("ゲット用モデルのアーカイブ名がありません![%d]\n", m_itemNo);
}
m_itemNo = fpcNm_ITEM_GREEN_RUPEE;
}
int phase_state = dComIfG_resLoad(&mPhase, dItem_data::getArcName(m_itemNo));
if (phase_state == cPhs_COMPLEATE_e) {
if (!fopAcM_entrySolidHeap(this, CheckItemCreateHeap, 0x80003390)) {
return cPhs_ERROR_e;
}
CreateInit();
OS_REPORT("DEMOITEM PARAM:%x\n", fopAcM_GetParam(this));
}
return phase_state;
}
/* 804E13C8-804E15BC 0018E8 01F4+00 1/0 0/0 0/0 .text daDitem_Create__FP9daDitem_c */
static int daDitem_Create(daDitem_c* i_this) {
return i_this->create();
}
int daDitem_c::execute() {
m_timer++;
action();
set_pos();
anim_control();
if (chkDraw()) {
f32 target_scale_x = 1.0f;
if (mMaxScale != 0.0f) {
target_scale_x = mMaxScale;
}
cLib_chaseF(&scale.x, target_scale_x, 0.35f);
scale.y = scale.x;
scale.z = scale.x;
}
settingEffectLight();
set_mtx();
eyePos = current.pos;
eyePos.y += mpModel->getModelData()->getJointNodePointer(0)->getMax()->y * 0.5f;
if (m_itemNo == fpcNm_ITEM_ORANGE_RUPEE || m_itemNo == fpcNm_ITEM_SILVER_RUPEE) {
field_0x99c = current.pos;
field_0x99c.y += 10.0f;
} else if (m_itemNo == fpcNm_ITEM_WALLET_LV3 || m_itemNo == fpcNm_ITEM_CHUCHU_RARE) {
field_0x99c = current.pos;
field_0x99c.y += 15.0f;
} else if (m_itemNo == fpcNm_ITEM_FAIRY_DROP || m_itemNo == fpcNm_ITEM_DROP_BOTTLE) {
field_0x99c = current.pos;
}
mSound.framework(0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
return 1;
}
/* 804E16BC-804E1878 001BDC 01BC+00 1/0 0/0 0/0 .text daDitem_Execute__FP9daDitem_c */
static int daDitem_Execute(daDitem_c* i_this) {
return i_this->execute();
}
int daDitem_c::draw() {
switch (m_itemNo) {
case fpcNm_ITEM_WOOD_STICK:
draw_WOOD_STICK();
break;
}
DrawBase();
return 1;
}
/* 804E1878-804E18CC 001D98 0054+00 1/0 0/0 0/0 .text daDitem_Draw__FP9daDitem_c */
static int daDitem_Draw(daDitem_c* i_this) {
return i_this->draw();
}
/* 804E1B10-804E1B30 -00001 0020+00 1/0 0/0 0/0 .data l_daDitem_Method */
static actor_method_class l_daDitem_Method = {
(process_method_func)daDitem_Create,
(process_method_func)daDitem_Delete,
(process_method_func)daDitem_Execute,
(process_method_func)NULL,
(process_method_func)daDitem_Draw,
};
/* 804E1B30-804E1B60 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Demo_Item */
extern actor_process_profile_definition g_profile_Demo_Item = {
fpcLy_CURRENT_e, // mLayerID
7, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_Demo_Item, // mProcName
&g_fpcLf_Method.base, // sub_method
sizeof(daDitem_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
241, // mPriority
&l_daDitem_Method, // sub_method
0x00060000, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
AUDIO_INSTANCES;