inital museum insect progress, match ac_museum_insect.c

This commit is contained in:
roeming
2025-02-07 16:13:56 -05:00
parent ff808840f4
commit 87d2a22822
20 changed files with 538 additions and 5 deletions
+6 -3
View File
@@ -172,7 +172,8 @@ config.asflags = [
"-I include/libc",
"-I src/static/dolphin",
f"-I build/{config.version}/include",
f"-I build/{config.version}/bin/assets", # needed for JUTResFONT_Ascfont_fix12
# needed for JUTResFONT_Ascfont_fix12
f"-I build/{config.version}/bin/assets",
f"--defsym version={version_num}",
]
config.ldflags = [
@@ -2720,7 +2721,8 @@ for url in N64_SDK_urls:
os.makedirs(os.path.dirname(file_path), exist_ok=True)
print(f"Fetching {file_path} from {url}")
req = urllib.request.Request(url, headers={"User-Agent": "Mozilla/5.0"})
req = urllib.request.Request(
url, headers={"User-Agent": "Mozilla/5.0"})
with urllib.request.urlopen(req) as response:
if response.getcode() == 200:
content = response.read()
@@ -2744,7 +2746,8 @@ config.progress_categories = [
ProgressCategory("game", "Game Code"),
ProgressCategory("sdk", "SDK Code"),
ProgressCategory("jsystem", "JSystem Code"),
ProgressCategory("library", "Library Code"), # catch-all for the rest of static
# catch-all for the rest of static
ProgressCategory("library", "Library Code"),
]
config.progress_each_module = args.verbose
-2
View File
@@ -1,7 +1,6 @@
#ifndef AC_MUSEUM_INSECT_H
#define AC_MUSEUM_INSECT_H
#include "types.h"
#include "m_actor.h"
#ifdef __cplusplus
@@ -15,4 +14,3 @@ extern ACTOR_PROFILE Museum_Insect_Profile;
#endif
#endif
+297
View File
@@ -0,0 +1,297 @@
#ifndef AC_MUSEUM_INSECT_PRIV_H
#define AC_MUSEUM_INSECT_PRIV_H
#include "ac_museum_insect.h"
#include "m_msg.h"
#include "m_common_data.h"
#include "sys_matrix.h"
#include "m_player_lib.h"
#include "m_debug_mode.h"
#include "m_rcp.h"
#include "ac_insect_h.h"
#ifdef __cplusplus
extern "C" {
#endif
#define artificial_padding(lastOffset, currentOffset, typeOfLastMember) \
u8 __##currentOffset##padding[currentOffset - lastOffset - sizeof(typeOfLastMember)]
struct _MUSEUM_INSECT_PRIVATE_DATA;
typedef void (*PRIV_INSECT_PROCESS)(struct _MUSEUM_INSECT_PRIVATE_DATA*, GAME*);
typedef struct _MUSEUM_INSECT_PRIVATE_DATA {
int _00;
artificial_padding(0, 0x14, int);
f32 _14; // scale
artificial_padding(0x14, 0x8c, f32);
s16 _8C;
s16 _8E;
s16 _90;
s16 _92;
} MUSEUM_INSECT_PRIVATE_DATA;
typedef struct _INSECT_DISPLAY_MSG_INFO {
s16 insectName;
s16 insectInfo;
} INSECT_DISPLAY_MSG_INFO;
typedef struct _MUSEUM_INSECT_ACTOR {
ACTOR actor; // offset: 0x0
MUSEUM_INSECT_PRIVATE_DATA privInsects[aINS_INSECT_TYPE_NUM];
artificial_padding(0x174, 0x2F78, MUSEUM_INSECT_PRIVATE_DATA[aINS_INSECT_TYPE_NUM]);
int _2F78; // offset: 0x2F78
int _2F7C; // offset: 0x2F7C
INSECT_DISPLAY_MSG_INFO _2F80[7]; // offset: 0x2F82
s16 _2F9C[5]; // offset: 0x2F9C
} MUSEUM_INSECT_ACTOR;
extern PRIV_INSECT_PROCESS minsect_ct[aINS_INSECT_TYPE_NUM];
extern PRIV_INSECT_PROCESS minsect_mv[aINS_INSECT_TYPE_NUM];
extern PRIV_INSECT_PROCESS minsect_dw[aINS_INSECT_TYPE_NUM];
extern f32 minsect_scale_tbl[aINS_INSECT_TYPE_NUM];
extern f32 minsect_scale_tbl[aINS_INSECT_TYPE_NUM];
extern rgba_t window_color;
// ac_museum_insect.c
int Museum_Insect_GetMsgNo(ACTOR* actorx);
int Museum_Insect_Check_Talk_Distance(GAME* game, int i);
void Museum_Insect_Set_MsgInsectInfo(ACTOR* actor, int i);
void Museum_Insect_set_talk_info(ACTOR* actor);
void Museum_Insect_Talk_process(ACTOR* actor, GAME* game);
void Museum_Insect_Actor_ct(ACTOR* actor, GAME* game);
void Museum_Insect_Actor_dt(ACTOR* actor, GAME* game);
void Museum_Insect_Actor_move(ACTOR* actor, GAME* game);
void Museum_Insect_Actor_draw(ACTOR* actor, GAME* game);
// ac_museum_insect_base.c_inc
void mID_insect_moveF(void);
void minsect_amenbo_ct(void);
void minsect_amenbo_mv(void);
void minsect_amenbo_dw(void);
void ari_alone_ct(void);
void ari_alone_make(void);
void ari_alone_dt(void);
void ari_alone_move(void);
void ari_alone_draw(void);
void minsect_ari_ct(void);
void minsect_ari_mv(void);
void minsect_ari_dw(void);
void minsect_draw_shadow(void);
void minsect_fly_BGCheck(void);
void minsect_garden_BGCheck(void);
void minsect_flower_BGCheck(void);
void minsect_goki_BGCheck(void);
void minsect_kanban_BGCheck(void);
void minsect_tree_ObjCheck(void);
void minsect_rock_ObjCheck(void);
void minsect_batta_ObjCheck(void);
void get_now_mind_flag(void);
void set_relax_active_time(MUSEUM_INSECT_PRIVATE_DATA* actor, GAME* game);
// ac_museum_insect_chou.c_inc
void minsect_chou_ct(void);
void minsect_chou_normal_process_init(void);
void minsect_chou_normal_process(void);
void minsect_chou_aim_flower_process_init(void);
void minsect_chou_aim_flower_process(void);
void minsect_chou_flower_process_init(void);
void minsect_chou_flower_process(void);
void minsect_chou_fly_process_init(void);
void minsect_chou_fly_process(void);
void minsect_chou_mv(void);
void minsect_chou_dw(void);
// ac_museum_insect_semi.c_inc
void minsect_semi_ct(void);
void mi_semi_hane_anime(void);
void mi_semi_check_player(void);
void minsect_semi_mv(void);
void minsect_semi_dw(void);
// ac_museum_insect_tonbo.c_inc
void minsect_tonbo_ct(void);
void mi_tonbo_check_player(void);
void minsect_tonbo_bg_check(void);
void minsect_tonbo_near_target_set(void);
void minsect_tonbo_rock_target_set(void);
void minsect_tonbo_suprised_rest_player(void);
void minsect_tonbo_acc_change(void);
void minsect_tonbo_max_speed_set(void);
void minsect_tonbo_aim_distance_set(void);
void minsect_tonbo_aim_angle_check(void);
void minsect_tonbo_normal_process_init(void);
void minsect_tonbo_normal_process(void);
void minsect_tonbo_aim_rock_process_init(void);
void minsect_tonbo_aim_rock_process(void);
void minsect_tonbo_rock_process_init(void);
void minsect_tonbo_rock_process(void);
void minsect_tonbo_rock_wait_process_init(void);
void minsect_tonbo_rock_wait_process(void);
void minsect_tonbo_fly_process_init(void);
void minsect_tonbo_fly_process(void);
void minsect_tonbo_mv(void);
void minsect_tonbo_dw(void);
void minsect_tonbo_MoveF(void);
// ac_museum_insect_batta.c_inc
void mi_batta_check_player(void);
void mi_batta_suzumushi_hane_anime(void);
void mi_batta_hane_anime(void);
void minsect_batta_ct(void);
void minsect_batta_normal_process_init(void);
void minsect_batta_normal_process(void);
void minsect_batta_silent_process_init(void);
void minsect_batta_silent_process(void);
void minsect_batta_jump_wait_process_init(void);
void minsect_batta_jump_wait_process(void);
void minsect_batta_jump_process_init(void);
void minsect_batta_jump_process(void);
void minsect_batta_mv(void);
void minsect_batta_dw(void);
// ac_museum_insect_tentou.c_inc
void mi_tentou_check_player(void);
void mi_tentou_kama_anime(void);
void mi_tentou_wait_init(void);
void mi_tentou_wait(void);
void mi_tentou_move_init(void);
void mi_tentou_move(void);
void mi_tentou_menace_init(void);
void mi_tentou_menace(void);
void mi_tentou_setupAction(void);
void minsect_tentou_ct(void);
void minsect_tentou_mv(void);
void minsect_tentou_dw(void);
// ac_museum_insect_hachi.c_inc
void mi_hachi_hane_anime(void);
void mi_hachi_mitu_init(void);
void mi_hachi_mitu(void);
void mi_hachi_wait_init(void);
void mi_hachi_wait(void);
void mi_hachi_move_init(void);
void mi_hachi_move(void);
void mi_hachi_setupAction(void);
void minsect_hachi_ct(void);
void minsect_hachi_mv(void);
void minsect_hachi_dw(void);
// ac_museum_insect_kabuto.c_inc
void minsect_kabuto_ct(void);
void minsect_kabuto_mv(void);
void minsect_kabuto_dw(void);
// ac_museum_insect_kuwagata.c_inc
void mi_kuwagata_rensa_init(void);
void mi_kuwagata_rensa(void);
void mi_kuwagata_wait_init(void);
void mi_kuwagata_wait(void);
void mi_kuwagata_move_init(void);
void mi_kuwagata_move(void);
void mi_kuwagata_battle_init(void);
void mi_kuwagata_battle(void);
void mi_kuwagata_menace_init(void);
void mi_kuwagata_menace(void);
void mi_kuwagata_attack_init(void);
void mi_kuwagata_attack(void);
void mi_kuwagata_setupAction(void);
void minsect_kuwagata_ct(void);
void minsect_kuwagata_mv(void);
void minsect_kuwagata_dw(void);
// ac_museum_insect_mino.c_inc
void minsect_mino_up_init(void);
void minsect_mino_up(void);
void minsect_mino_down_init(void);
void minsect_mino_down(void);
void minsect_mino_move_init(void);
void minsect_mino_move(void);
void minsect_mino_check_dush_player(void);
void minsect_mino_furiko(void);
void minsect_mino_wait_init(void);
void minsect_mino_wait(void);
void minsect_mino_hineri(void);
void minsect_mino_setupAction(void);
void minsect_mino_ct(void);
void minsect_mino_mv(void);
void minsect_mino_dw(void);
// ac_museum_insect_kumo.c_inc
void minsect_kumo_hide_init(void);
void minsect_kumo_hide(void);
void minsect_kumo_up_init(void);
void minsect_kumo_up(void);
void minsect_kumo_down_init(void);
void minsect_kumo_down(void);
void minsect_kumo_move_init(void);
void minsect_kumo_move(void);
void minsect_kumo_check_player(void);
void minsect_kumo_furiko(void);
void minsect_kumo_wait_init(void);
void minsect_kumo_wait(void);
void minsect_kumo_hineri(void);
void minsect_kumo_setupAction(void);
void minsect_kumo_ct(void);
void minsect_kumo_mv(void);
void minsect_kumo_dw(void);
// ac_museum_insect_goki.c_inc
void minsect_goki_ct(void);
void goki_player_check(void);
void goki_wall_hit_angle_corect_sub(void);
void goki_wall_hit_angle_corect(void);
void goki_set_talk_info_init(void);
void goki_talk_process(void);
void goki_talk_process_init(void);
void minsect_goki_mv(void);
void minsect_goki_dw(void);
// ac_museum_insect_genji.c_inc
void mi_genji_check_player(void);
void genji_light_ct(void);
void genji_light_make(void);
void genji_light_anime(void);
void genji_light_move(void);
void genji_light_draw(void);
void minsect_genji_ct(void);
void minsect_genji_mv(void);
void minsect_genji_dw(void);
// ac_museum_insect_dango.c_inc
void mi_dango_defence_anime(void);
void mi_dango_check_player(void);
void mi_dango_move_init(void);
void mi_dango_move(void);
void mi_dango_defence_init(void);
void mi_dango_defence(void);
void mi_dango_setupAction(void);
void minsect_dango_ct(void);
void minsect_dango_mv(void);
void minsect_dango_dw(void);
// ac_museum_insect_okera.c_inc
void mi_okera_check_player(void);
void minsect_okera_ct(void);
void okera_dig_up_process_init(void);
void okera_dig_up_process(void);
void okera_normal_process_init(void);
void okera_normal_process(void);
void okera_dig_down_process_init(void);
void okera_dig_down_process(void);
void okera_dig_wait_process_init(void);
void okera_dig_wait_process(void);
void minsect_okera_mv(void);
void minsect_okera_dw(void);
// ac_museum_insect_ka.c_inc
void minsect_ka_ct(void);
void minsect_ka_mv(void);
void minsect_ka_dw(void);
#ifdef __cplusplus
}
#endif
#endif
+203
View File
@@ -0,0 +1,203 @@
#include "ac_museum_insect_priv.h"
ACTOR_PROFILE Museum_Insect_Profile = {
mAc_PROFILE_MUSEUM_INSECT,
ACTOR_PART_BG,
ACTOR_STATE_CAN_MOVE_IN_DEMO_SCENES | ACTOR_STATE_NO_MOVE_WHILE_CULLED | ACTOR_STATE_NO_DRAW_WHILE_CULLED,
EMPTY_NO,
ACTOR_OBJ_BANK_408,
sizeof(MUSEUM_INSECT_ACTOR),
Museum_Insect_Actor_ct,
Museum_Insect_Actor_dt,
Museum_Insect_Actor_move,
Museum_Insect_Actor_draw,
NULL,
};
MUSEUM_INSECT_ACTOR* MI_Control_Actor;
int Museum_Insect_GetMsgNo(ACTOR* actorx) {
static u8 item_name[mIN_ITEM_NAME_LEN];
MUSEUM_INSECT_ACTOR* actor = (MUSEUM_INSECT_ACTOR*)actorx;
int insect_caught_by = actor->_2F80[actor->_2F7C].insectInfo;
s16 insect_no = ITM_INSECT_START + actor->_2F80[actor->_2F7C].insectName;
int msgNo;
mIN_copy_name_str(item_name, insect_no);
mMsg_Set_item_str_art(mMsg_Get_base_window_p(), mMsg_ITEM_STR0, item_name, ARRAY_COUNT(item_name),
mIN_get_item_article(insect_no));
if (insect_caught_by >= 1 && insect_caught_by <= 4) {
mMsg_Set_free_str(mMsg_Get_base_window_p(), mMsg_FREE_STR0,
common_data.save.save.private_data[insect_caught_by - 1].player_ID.player_name, 8);
}
if (actor->_2F7C < actor->_2F78 - 1) {
if (insect_caught_by >= 1 && insect_caught_by <= 4) {
msgNo = 0x2fa2;
} else {
msgNo = 0x2fa3;
}
} else {
if (insect_caught_by >= 1 && insect_caught_by <= 4) {
msgNo = 0x2f9f;
} else {
msgNo = 0x2fa0;
}
}
return msgNo;
}
int Museum_Insect_Check_Talk_Distance(GAME* game, int i) {
static xyz_t kanban_pos[6] = { { 140.f, 40.f, 60.f }, { 420.f, 40.f, 60.f }, { 220.f, 40.f, 300.f },
{ 380.f, 40.f, 300.f }, { 180.f, 40.f, 540.f }, { 340.f, 40.f, 540.f } };
GAME_PLAY* play = (GAME_PLAY*)game;
xyz_t p;
PLAYER_ACTOR* player_actor = get_player_actor_withoutCheck(play);
s16 newAngle = player_actor->actor_class.world.angle.y + DEG2SHORT_ANGLE(-180);
xyz_t_sub(&player_actor->actor_class.world.position, &kanban_pos[i], &p);
if (ABS(p.x) < 20.f && ABS(p.z) < 20.f && ABS(newAngle) < DEG2SHORT_ANGLE(67.5f)) {
return TRUE;
}
return FALSE;
}
void Museum_Insect_Set_MsgInsectInfo(ACTOR* actorx, int groupNum) {
MUSEUM_INSECT_ACTOR* actor = (MUSEUM_INSECT_ACTOR*)actorx;
int i;
static int group_max_num[6] = { 7, 6, 6, 6, 7, 7 };
static int group_1_insect_name[7] = { 22, 4, 21, 29, 38, 20, 7 };
static int group_2_insect_name[6] = { 31, 30, 19, 5, 23, 6 };
static int group_3_insect_name[6] = { 0, 25, 26, 1, 27, 2 };
static int group_4_insect_name[6] = { 32, 34, 37, 3, 24, 39 };
static int group_5_insect_name[7] = { 35, 8, 33, 9, 10, 11, 12 };
static int group_6_insect_name[7] = { 15, 16, 18, 17, 13, 14, 36 };
static int* group_insect_name[6] = { group_1_insect_name, group_2_insect_name, group_3_insect_name,
group_4_insect_name, group_5_insect_name, group_6_insect_name };
actor->_2F78 = 0;
actor->_2F7C = 0;
for (i = 0; i < group_max_num[groupNum]; i++) {
s16 insectName = group_insect_name[groupNum][i];
s16 s = mMmd_InsectInfo(insectName);
if (s) {
actor->_2F80[actor->_2F78].insectName = insectName;
actor->_2F80[actor->_2F78].insectInfo = s;
actor->_2F78++;
}
}
}
void Museum_Insect_set_talk_info(ACTOR* actorx) {
MUSEUM_INSECT_ACTOR* actor = (MUSEUM_INSECT_ACTOR*)actorx;
int x;
if (actor->_2F78 > 0) {
x = Museum_Insect_GetMsgNo(actorx);
actor->_2F7C++;
} else {
x = 0x2fa1;
}
mDemo_Set_talk_window_color(&window_color);
mDemo_Set_msg_num(x);
mDemo_Set_talk_display_name(FALSE);
mDemo_Set_ListenAble();
mDemo_Set_camera(CAMERA2_PROCESS_NORMAL);
mDemo_Set_use_zoom_sound(TRUE);
}
void Museum_Insect_Talk_process(ACTOR* actorx, GAME* game) {
MUSEUM_INSECT_ACTOR* actor = (MUSEUM_INSECT_ACTOR*)actorx;
if (mDemo_Check(mDemo_TYPE_SPEAK, actorx)) {
s_xyz rot = get_player_actor_withoutCheck((GAME_PLAY*)game)->actor_class.shape_info.rotation;
add_calc_short_angle2(&rot.y, DEG2SHORT_ANGLE(-180), 0.3f, DEG2SHORT_ANGLE(22.5), DEG2SHORT_ANGLE(0));
get_player_actor_withoutCheck((GAME_PLAY*)gamePT)
->Set_force_position_angle_proc(gamePT, NULL, &rot, mPlayer_FORCE_POSITION_ANGLE_ROTY);
if (mMsg_Check_MainNormalContinue(mMsg_Get_base_window_p())) {
int choice = mChoice_Get_ChoseNum(mChoice_Get_base_window_p());
if (choice != -1) {
if (choice == 0) {
int msgNum = Museum_Insect_GetMsgNo(actorx);
actor->_2F7C++;
mMsg_Set_continue_msg_num(mMsg_Get_base_window_p(), msgNum);
mMsg_Unset_LockContinue(mMsg_Get_base_window_p());
} else {
mMsg_Set_CancelNormalContinue(mMsg_Get_base_window_p());
mMsg_Unset_LockContinue(mMsg_Get_base_window_p());
}
}
}
} else if (chkTrigger(BUTTON_A) && !mDemo_Get_talk_actor()) {
int i;
for (i = 0; i < 6; i++) {
if (Museum_Insect_Check_Talk_Distance(game, i)) {
Museum_Insect_Set_MsgInsectInfo(actorx, i);
mDemo_Request(mDemo_TYPE_SPEAK, actorx, Museum_Insect_set_talk_info);
}
}
}
}
void Museum_Insect_Actor_ct(ACTOR* actorx, GAME* game) {
int i;
MUSEUM_INSECT_ACTOR* actor = (MUSEUM_INSECT_ACTOR*)actorx;
MI_Control_Actor = actor;
for (i = 0; i < 5; i++) {
actor->_2F9C[i] = 0;
}
for (i = 0; i < aINS_INSECT_TYPE_NUM; i++) {
if (mMmd_InsectInfo(i)) {
actor->privInsects[i]._8C |= 1;
actor->privInsects[i]._00 = i;
actor->privInsects[i]._14 = minsect_scale_tbl[i];
set_relax_active_time(&actor->privInsects[i], game);
minsect_ct[i](&actor->privInsects[i], game);
}
}
}
void Museum_Insect_Actor_dt(ACTOR* actor, GAME* game) {
return;
}
void Museum_Insect_Actor_move(ACTOR* actorx, GAME* game) {
MUSEUM_INSECT_ACTOR* actor = (MUSEUM_INSECT_ACTOR*)actorx;
int i;
actor->actor.world.position.y = 4000.f;
Museum_Insect_Talk_process(actorx, game);
for (i = 0; i < aINS_INSECT_TYPE_NUM; i++) {
if (actor->privInsects[i]._8C & 1) {
minsect_mv[i](&actor->privInsects[i], game);
}
}
}
extern EVW_ANIME_DATA obj_museum4_water_evw_anime;
extern Gfx obj_museum4_water_modelT[];
void Museum_Insect_Actor_draw(ACTOR* actorx, GAME* game) {
MUSEUM_INSECT_ACTOR* actor = (MUSEUM_INSECT_ACTOR*)actorx;
GRAPH* graph;
int i;
_texture_z_light_fog_prim_xlu(game->graph);
Evw_Anime_Set((GAME_PLAY*)game, &obj_museum4_water_evw_anime);
graph = game->graph;
Matrix_translate(100.0f, 0.0f, 0.0f, FALSE);
Matrix_scale(0.01f, 0.01f, 0.01f, TRUE);
OPEN_DISP(graph);
gSPMatrix(NEXT_POLY_XLU_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(NEXT_POLY_XLU_DISP, obj_museum4_water_modelT);
CLOSE_DISP(graph);
for (i = 0; i < aINS_INSECT_TYPE_NUM; i++) {
if (actor->privInsects[i]._8C & 1) {
if (GETREG(TAKREG, 0) == i + 1) {
actor->privInsects[i]._14 = (GETREG(TAKREG, 1) * 0.0001f) + minsect_scale_tbl[i];
}
minsect_dw[i](&actor->privInsects[i], game);
if (GETREG(TAKREG, 0) == i + 1) {
actor->privInsects[i]._14 = minsect_scale_tbl[i];
}
}
}
}
#include "../src/actor/ac_museum_insect_base.c_inc"
+17
View File
@@ -0,0 +1,17 @@
#include "ac_museum_insect_priv.h"
#include "../src/actor/ac_museum_insect_chou.c_inc"
#include "../src/actor/ac_museum_insect_semi.c_inc"
#include "../src/actor/ac_museum_insect_tonbo.c_inc"
#include "../src/actor/ac_museum_insect_batta.c_inc"
#include "../src/actor/ac_museum_insect_tentou.c_inc"
#include "../src/actor/ac_museum_insect_hachi.c_inc"
#include "../src/actor/ac_museum_insect_kabuto.c_inc"
#include "../src/actor/ac_museum_insect_kuwagata.c_inc"
#include "../src/actor/ac_museum_insect_mino.c_inc"
#include "../src/actor/ac_museum_insect_kumo.c_inc"
#include "../src/actor/ac_museum_insect_goki.c_inc"
#include "../src/actor/ac_museum_insect_genji.c_inc"
#include "../src/actor/ac_museum_insect_dango.c_inc"
#include "../src/actor/ac_museum_insect_okera.c_inc"
#include "../src/actor/ac_museum_insect_ka.c_inc"
+1
View File
@@ -0,0 +1 @@
#include "ac_museum_insect_priv.h"
+1
View File
@@ -0,0 +1 @@
#include "ac_museum_insect_priv.h"
+1
View File
@@ -0,0 +1 @@
#include "ac_museum_insect_priv.h"
+1
View File
@@ -0,0 +1 @@
#include "ac_museum_insect_priv.h"
+1
View File
@@ -0,0 +1 @@
#include "ac_museum_insect_priv.h"
+1
View File
@@ -0,0 +1 @@
#include "ac_museum_insect_priv.h"
+1
View File
@@ -0,0 +1 @@
#include "ac_museum_insect_priv.h"
+1
View File
@@ -0,0 +1 @@
#include "ac_museum_insect_priv.h"
+1
View File
@@ -0,0 +1 @@
#include "ac_museum_insect_priv.h"
@@ -0,0 +1 @@
#include "ac_museum_insect_priv.h"
+1
View File
@@ -0,0 +1 @@
#include "ac_museum_insect_priv.h"
+1
View File
@@ -0,0 +1 @@
#include "ac_museum_insect_priv.h"
+1
View File
@@ -0,0 +1 @@
#include "ac_museum_insect_priv.h"
+1
View File
@@ -0,0 +1 @@
#include "ac_museum_insect_priv.h"
+1
View File
@@ -0,0 +1 @@
#include "ac_museum_insect_priv.h"