EvilEngine/VIL: Difference between revisions

m
Seil moved page VIL to EvilEngine/VIL
mNo edit summary
m (Seil moved page VIL to EvilEngine/VIL)
 
(15 intermediate revisions by 5 users not shown)
Line 1:
<onlyinclude>
==VIL==
{{#vardefine:typeid|VIL}}<nowiki/>
This asset defines an entry for an NPC, enemy, tiki and others. (I think VIL stands for ''villager'', villain would be a more obvious choice though)
{{#vardefine:name|NPC}}<nowiki/>
{{#vardefine:type|[[Entity]]}}<nowiki/>
{{#vardefine:basetype|0x2B}}<nowiki/>
{{#vardefine:games|BFBB Incredibles}}<nowiki/>
{{#vardefine:sourcecode|[https://github.com/bfbbdecomp/bfbb/blob/master/src/Game/zNPCTypeCommon.h zNPCTypeCommon.h]}}<nowiki/>
{{#vardefine:image|}}<nowiki/>
</onlyinclude>
{{AutoAssetInfobox}}
 
This asset defines an entry for an NPC, enemy, tiki and others.
 
==Format==
VIL are [[Entity|entity assets]], so they start with their 0x54 byte header, then are followed by:
 
{| class="wikitable"
! Offset !! Type !! Variable !! Description
|-
| 0x54 || int || '''npcFlags''' ||
! colspan="3" | Header
|-
| 0x000x58 || [[AssetID]]int || '''Asset IDnpcModel'''. || See Models (BFBB) below
|-
| 0x5C || [[AssetID]] || '''npcProps''' || {{SlashTrick|DYNA/game_object:NPCSettings}}
| 0x04 || byte || '''Asset type'''. 0x2B for VIL.
|-
| 0x050x60 || byte[[AssetID]] || '''Number of Eventsmovepoint'''. || [[MVPT]]
|-
| 0x060x64 || short[[AssetID]] || '''FlagstaskWidgetPrime'''. Usually 00|| 1D[[DYNA]]
|-
| 0x68 || [[AssetID]] || '''taskWidgetSecond''' || [[DYNA]]
! colspan="3" | VIL
|-
! colspan="4" | Events
| 0x08 || byte[4] || Unknown. Usually 01 00 00 02 but sometimes different
|-
| 0x6C || Event[numberOfEvents] || '''[[Events]]''' ||
| 0x0C || int || null
|}
 
==Models (BFBB)==
{| class="wikitable sortable"
! ID !! Type !! Internal name
|-
| 5FD123F5 || '''Fodder''' || robot_0a_fodder_bind
| 0x10 || int || null
|-
| 0x14 || Vector3A3A4A769 || '''RotationBomb-Bot''' || robot_0a_bomb_bind
|-
| 8261AFFB || '''Chomp-Bot''' || robot_0a_chomper_bind
| 0x20 || Vector3 || '''Position'''
|-
| 0x2C || Vector3A1631FFD || '''ScaleBzzt-Bot''' || robot_0a_bzzt_bind
|-
| 0x38 || Vector3A944368C || '''ColorHam-Mer''' || ham_bind
|-
| 0x44A217899A || Vector2Unused || '''Unknown'''hamspin_bind
|-
| 0x4C || [[AssetID]]0FC4B05C || '''[[MINF]]Tar-Tar''' || robot_tar_bind
|-
| 0x50764CF576 || int'''G-Love''' || nullg_love_bind
|-
| 3D15C952 || '''Monsoon''' || robot_4a_monsoon_bind
| 0x54 || int || null
|-
| 5BA6E135 || '''Sleepy-Time''' || robot_sleepy-time_bind
| 0x58 || [[AssetID]] || ?
|-
| 0x5C5BAF15D7 || int'''Arf Dog''' || nullrobot_arf_dog_bind
|-
| 0x60 || [[AssetID]]68E03F90 || '''[[MVPT]]Arf''' || robot_arf_bind
|-
| 0x64 || [[AssetID]]A12CD18D || '''[[DYNA]]Chuck''' || robot_chuck_bind
|-
| 0x68 || [[AssetID]]D7A7D3A5 || '''[[DYNA]]Tubelet''' || tubelet_bind
|-
| EF2450C9 || '''Tubelet Slave''' || tubelet_slave_bind
! colspan="3" | Events
|-
| C3EBC377 || '''Slick''' || robot_9a_bind
| 0x6C || Event[numberOfEvents] || '''[[Events]]'''
|-
| FB532857 || Unused || critter_a_bind
|-
| F6D773CA || Unused || critter_b_bind
|-
| F25BBF3D || Unused || critter_c_bind
|-
| EDE00AB0 || Unused || critter_d_bind
|-
| E9645623 || Unused || critter_e_bind
|-
| E4E8A196 || Unused || critter_f_bind
|-
| E06CED09 || Unused || critter_g_bind
|-
| DBF1387C || Unused || critter_h_bind
|-
| D77583EF || Unused || critter_i_bind
|-
| D2F9CF62 || Unused || critter_j_bind
|-
| CE7E1AD5 || Unused || critter_k_bind
|-
| CA026648 || Unused || critter_l_bind
|-
| C586B1BB || Unused || critter_m_bind
|-
| C10AFD2E || Unused || critter_n_bind
|-
| BC8F48A1 || Unused || critter_o_bind
|-
| B8139414 || Unused || critter_p_bind
|-
| B397DF87 || Unused || critter_q_bind
|-
| AF1C2AFA || Unused || critter_r_bind
|-
| AAA0766D || Unused || critter_s_bind
|-
| A624C1E0 || Unused || critter_t_bind
|-
| A1A90D53 || Unused || critter_u_bind
|-
| 9D2D58C6 || Unused || critter_v_bind
|-
| 98B1A439 || Unused || critter_w_bind
|-
| 9435EFAC || Unused || critter_x_bind
|-
| 8FBA3B1F || Unused || critter_y_bind
|-
| 8B3E8692 || Unused || critter_z_bind
|-
| 3970AB97 || '''Duplicatotron 1000''' || duplicatotron1000_bind
|-
| 19D945B6 || '''Flying Dutchman Boss''' || dutchman_bind
|-
| F58D78D2 || '''King Jellyfish Boss''' || king_jelly_bind
|-
| 22F462DA || '''Prawn Boss''' || prawn_bind
|-
| C8448290 || '''Robo-Sandy Boss''' || boss_sa_bind
|-
| CF3BCEA4 || '''Robo-Patrick Boss''' || boss_patrick_bind
|-
| 0BA53F51 || '''Muscle-Bob Boss''' || boss_sb_muscle_bind
|-
| DDDFF654 || '''Robo-Sponge Boss''' || boss_sb_body_bind
|-
| A6C46DA9 || '''Robo-Plankton''' || plankton_boss_bind
|-
| 3914EC2E || '''Wooden Tiki''' || tiki_wooden_bind
|-
| C1208F79 || '''Floating/Lovey-Dovey Tiki''' || tiki_lovey_dovey_bind
|-
| B378B961 || '''Shhh Tiki''' || tiki_shhhh_bind
|-
| DFF6B2B8 || '''Thunder Tiki''' || tiki_thunder_bind
|-
| 6DB301F7 || '''Stone Tiki''' || tiki_stone_bind
|-
| 66CC02E1 || '''Pink Jellyfish''' || jellyfish_pink_bind
|-
| 79D3F271 || '''Blue Jellyfish''' || jellyfish_blue_bind
|-
| D14C45B3 || '''King Neptune''' || king_neptune_bind
|-
| 5CE9F999 || Unused || mime_fish_bind
|-
| 0936EEB1 || Unused || cow_bind
|-
| 4FD1353E || '''Squidward''' || squidward_bind_01
|-
| 9742CE78 || Unused || squidward_music_bind_01
|-
| 0AE61BFA || '''Squidward''' (band-aids) || squidward_bandaid_bind_01
|-
| 95D046DD || '''Flying Dutchman''' || dutchman_notsubboss_bind
|-
| 8D4F38F7 || '''Mr. Krabs''' || mr_krabs_bind
|-
| C61F8F94 || '''Mrs. Puff''' || mspuffs_bind
|-
| 235628B3 || '''Gary''' || gary_bind
|-
| FBAC5B15 || '''Bubble Buddy''' || bubble_buddy_bind
|-
| 774602DE || '''Sandy''' (bikini) || sandy_bikini_bind
|-
| D1BC2FA9 || '''Sandy''' || sandy_npc_bind
|-
| 7362A2AC || '''Patrick''' || patrick_npc_bind
|-
| A92E3C8F || Unused || spongebob_npc_bind
|-
| 51B1A425 || Unused || plankton_npc_bind
|-
| 75B45673 || '''Plankton''' || plankton_bind
|-
| 4BBC3503 || Unused || motorist_bind
|-
| 71C779F9 || Unused || worm_bind
|-
| B504D90C || '''Mermaid Man''' || mermaid_man_bind
|-
| 09D80036 || '''Mermaid Man''' (chair) || mermaid_man_chair_bind
|-
| E8A70701 || '''Barnacle Boy''' || barnacle_boy_bind
|-
| EB1A1149 || '''Newscaster''' (Bosses) || newscaster_bind
|-
| 202BFC36 || '''Newscaster''' (TV) || newscaster_tv_bind
|-
| 07B910CE || '''Larry the Lobster''' || larry_lobster_bind
|-
| 4AC1D50F || '''Old Fish A''' (Shady Shoals) || oldfish_A_bind
|-
| 46462082 || '''Old Fish B''' (Shady Shoals) || oldfish_B_bind
|-
| 41CA6BF5 || '''Old Fish C''' (Shady Shoals) || oldfish_C_bind
|-
| B2ED753A || '''Fish A''' || fish_a_bind
|-
| 700765CB || '''Fish A-1''' || fish_a_bind01
|-
| 700765CC || Unused || fish_a_bind02
|-
| 700765CD || Unused || fish_a_bind03
|-
| 0B6F62EB || '''Fish A-1''' (Goo Lagoon) || fish_a_beach_bind01
|-
| 0B6F62EC || Unused || fish_a_beach_bind02
|-
| 0B6F62ED || '''Fish A-3''' (Goo Lagoon) || fish_a_beach_bind03
|-
| 3826A197 || '''Fish A-1''' (Kelp Forest) || fish_a_camp_bind01
|-
| 3826A198 || Unused || fish_a_camp_bind02
|-
| 3826A199 || Unused || fish_a_camp_bind03
|-
| A3FA0CCC || '''Fish A-1''' (Rock Bottom) || fish_a_rb_bind01
|-
| A3FA0CCD || Unused || fish_a_rb_bind02
|-
| A3FA0CCE || Unused || fish_a_rb_bind03
|-
| DD40F9BD || '''Fish A-1''' (Sand Mountain) || fish_a_snow_bind01
|-
| DD40F9BE || '''Fish A-2''' (Sand Mountain) || fish_a_snow_bind02
|-
| DD40F9BF || '''Fish A-3''' (Sand Mountain) || fish_a_snow_bind03
|-
| AE71C0AD || '''Fish B''' || fish_b_bind
|-
| E76D25D6 || '''Fish B-1''' || fish_b_bind01
|-
| E76D25D7 || Unused || fish_b_bind02
|-
| E76D25D8 || Unused || fish_b_bind03
|-
| 1F9BD53E || Unused || fish_b_beach_bind01
|-
| 1F9BD53F || '''Fish B-2''' (Goo Lagoon) || fish_b_beach_bind02
|-
| 1F9BD540 || Unused || fish_b_beach_bind03
|-
| 78CB1F88 || Unused || fish_b_camp_bind01
|-
| 78CB1F89 || Unused || fish_b_camp_bind02
|-
| 78CB1F8A || '''Fish B-3''' (Kelp Forest) || fish_b_camp_bind03
|-
| 0ACEA275 || '''Fish B-1''' (Rock Bottom) || fish_b_rb_bind01
|-
| 0ACEA276 || Unused || fish_b_rb_bind02
|-
| 0ACEA277 || Unused || fish_b_rb_bind03
|-
| 1DE577AE || '''Fish B-1''' (Sand Mountain) || fish_b_snow_bind01
|-
| 1DE577AF || '''Fish B-2''' (Sand Mountain) || fish_b_snow_bind02
|-
| 1DE577B0 || Unused || fish_b_snow_bind03
|-
| A9F60C20 || '''Fish C''' || fish_c_bind
|-
| 5ED2E5E1 || Unused || fish_c_bind01
|-
| 5ED2E5E2 || '''Fish C-2''' || fish_c_bind02
|-
| 5ED2E5E3 || Unused || fish_c_bind03
|-
| 33C84791 || Unused || fish_c_beach_bind01
|-
| 33C84792 || Unused || fish_c_beach_bind02
|-
| 33C84793 || '''Fish C-3''' (Goo Lagoon) || fish_c_beach_bind03
|-
| B96F9D79 || Unused || fish_c_camp_bind01
|-
| B96F9D7A || Unused || fish_c_camp_bind02
|-
| B96F9D7B || Unused || fish_c_camp_bind03
|-
| 71A3381E || '''Fish C-1''' (Rock Bottom) || fish_c_rb_bind01
|-
| 71A3381F || Unused || fish_c_rb_bind02
|-
| 71A33820 || Unused || fish_c_rb_bind03
|-
| 5E89F59F || '''Fish C-1''' (Sand Mountain) || fish_c_snow_bind01
|-
| 5E89F5A0 || '''Fish C-2''' (Sand Mountain) || fish_c_snow_bind02
|-
| 5E89F5A1 || '''Fish C-3''' (Sand Mountain) || fish_c_snow_bind03
|-
| A57A5793 || '''Fish D''' || fish_d_bind
|-
| D638A5EC || Unused || fish_d_bind01
|-
| D638A5ED || Unused || fish_d_bind02
|-
| D638A5EE || Unused || fish_d_bind03
|-
| 47F4B9E4 || '''Fish D-1''' (Goo Lagoon) || fish_d_beach_bind01
|-
| 47F4B9E5 || Unused || fish_d_beach_bind02
|-
| 47F4B9E6 || Unused || fish_d_beach_bind03
|-
| FA141B6A || Unused || fish_d_camp_bind01
|-
| FA141B6B || Unused || fish_d_camp_bind02
|-
| FA141B6C || '''Fish D-3''' (Kelp Forest) || fish_d_camp_bind03
|-
| D877CDC7 || '''Fish D-1''' (Rock Bottom) || fish_d_rb_bind01
|-
| D877CDC8 || Unused || fish_d_rb_bind02
|-
| D877CDC9 || Unused || fish_d_rb_bind03
|-
| 9F2E7390 || '''Fish D-1''' (Sand Mountain) || fish_d_snow_bind01
|-
| 9F2E7391 || '''Fish D-2''' (Sand Mountain) || fish_d_snow_bind02
|-
| 9F2E7392 || Unused || fish_d_snow_bind03
|-
| 17A440EC || '''Fish D Balloon Kid''' (Goo Lagoon) || fish_d_balloon_kid_bind
|-
| A0FEA306 || '''Fish E''' || fish_e_bind
|-
| 4D9E65F7 || Unused || fish_e_bind01
|-
| 4D9E65F8 || '''Fish E-2''' || fish_e_bind02
|-
| 4D9E65F9 || Unused || fish_e_bind03
|-
| 5C212C37 || Unused || fish_e_beach_bind01
|-
| 5C212C38 || Unused || fish_e_beach_bind02
|-
| 5C212C39 || Unused || fish_e_beach_bind03
|-
| 3AB8995B || Unused || fish_e_camp_bind01
|-
| 3AB8995C || Unused || fish_e_camp_bind02
|-
| 3AB8995D || Unused || fish_e_camp_bind03
|-
| 3F4C6370 || '''Fish E-1''' (Rock Bottom) || fish_e_rb_bind01
|-
| 3F4C6371 || Unused || fish_e_rb_bind02
|-
| 3F4C6372 || Unused || fish_e_rb_bind03
|-
| DFD2F181 || '''Fish E-1''' (Sand Mountain) || fish_e_snow_bind01
|-
| DFD2F182 || '''Fish E-2''' (Sand Mountain) || fish_e_snow_bind02
|-
| DFD2F183 || '''Fish E-3''' (Sand Mountain) || fish_e_snow_bind03
|-
| 9C82EE79 || '''Fish F''' || fish_f_bind
|-
| C5042602 || '''Fish F-1''' || fish_f_bind01
|-
| C5042603 || '''Fish F-2''' || fish_f_bind02
|-
| C5042604 || Unused || fish_f_bind03
|-
| 704D9E8A || Unused || fish_f_beach_bind01
|-
| 704D9E8B || Unused || fish_f_beach_bind02
|-
| 704D9E8C || Unused || fish_f_beach_bind03
|-
| 7B5D174C || Unused || fish_f_camp_bind01
|-
| 7B5D174D || Unused || fish_f_camp_bind02
|-
| 7B5D174E || Unused || fish_f_camp_bind03
|-
| A620F919 || Unused || fish_f_rb_bind01
|-
| A620F91A || Unused || fish_f_rb_bind02
|-
| A620F91B || Unused || fish_f_rb_bind03
|-
| 20776F72 || '''Fish F-1''' (Sand Mountain) || fish_f_snow_bind01
|-
| 20776F73 || Unused || fish_f_snow_bind02
|-
| 20776F74 || Unused || fish_f_snow_bind03
|-
| 980739EC || '''Fish G''' || fish_g_bind
|-
| 3C69E60D || '''Fish G-1''' || fish_g_bind01
|-
| 3C69E60E || Unused || fish_g_bind02
|-
| 3C69E60F || Unused || fish_g_bind03
|-
| 847A10DD || Unused || fish_g_beach_bind01
|-
| 847A10DE || Unused || fish_g_beach_bind02
|-
| 847A10DF || Unused || fish_g_beach_bind03
|-
| BC01953D || Unused || fish_g_camp_bind01
|-
| BC01953E || '''Fish G-2''' (Kelp Forest) || fish_g_camp_bind02
|-
| BC01953F || Unused || fish_g_camp_bind03
|-
| 0CF58EC2 || Unused || fish_g_rb_bind01
|-
| 0CF58EC3 || Unused || fish_g_rb_bind02
|-
| 0CF58EC4 || Unused || fish_g_rb_bind03
|-
| 611BED63 || '''Fish G-1''' (Sand Mountain) || fish_g_snow_bind01
|-
| 611BED64 || Unused || fish_g_snow_bind02
|-
| 611BED65 || '''Fish G-3''' (Sand Mountain) || fish_g_snow_bind03
|-
| 938B855F || Unused || fish_h_bind
|-
| B3CFA618 || '''Fish H-1''' || fish_h_bind01
|-
| B3CFA619 || Unused || fish_h_bind02
|-
| B3CFA61A || Unused || fish_h_bind03
|-
| 98A68330 || Unused || fish_h_beach_bind01
|-
| 98A68331 || Unused || fish_h_beach_bind02
|-
| 98A68332 || Unused || fish_h_beach_bind03
|-
| 1A5784AE || Unused || fish_h_ranger_bind01
|-
| 73CA246B || Unused || fish_h_rb_bind01
|-
| 73CA246C || Unused || fish_h_rb_bind02
|-
| 73CA246D || Unused || fish_h_rb_bind03
|-
| 021014F1 || Unused || fish_h_rb02_bind01
|-
| 021014F2 || Unused || fish_h_rb02_bind02
|-
| 021014F3 || Unused || fish_h_rb02_bind03
|-
| A1C06B54 || '''Fish H-1''' (Sand Mountain) || fish_h_snow_bind01
|-
| A1C06B55 || Unused || fish_h_snow_bind02
|-
| A1C06B56 || '''Fish H-3''' (Sand Mountain) || fish_h_snow_bind03
|-
| 8F0FD0D2 || '''Fish I''' || fish_i_bind
|-
| 2B356623 || '''Fish I-1''' || fish_i_bind01
|-
| 2B356624 || Unused || fish_i_bind02
|-
| 2B356625 || Unused || fish_i_bind03
|-
| ACD2F583 || Unused || fish_i_beach_bind01
|-
| ACD2F584 || Unused || fish_i_beach_bind02
|-
| ACD2F585 || Unused || fish_i_beach_bind03
|-
| 3D4A911F || Unused || fish_i_camp_bind01
|-
| 3D4A9120 || Unused || fish_i_camp_bind02
|-
| 3D4A9121 || Unused || fish_i_camp_bind03
|-
| DA9EBA14 || Unused || fish_i_rb_bind01
|-
| DA9EBA15 || Unused || fish_i_rb_bind02
|-
| DA9EBA16 || Unused || fish_i_rb_bind03
|-
| E264E945 || '''Fish I-1''' (Sand Mountain) || fish_i_snow_bind01
|-
| E264E946 || Unused || fish_i_snow_bind02
|-
| E264E947 || Unused || fish_i_snow_bind03
|-
| 8A941C45 || '''Fish J''' || fish_j_bind
|-
| A29B262E || '''Fish J-1''' || fish_j_bind01
|-
| A29B262F || Unused || fish_j_bind02
|-
| A29B2630 || Unused || fish_j_bind03
|-
| C0FF67D6 || '''Fish J-1''' (Goo Lagoon) || fish_j_beach_bind01
|-
| C0FF67D7 || Unused || fish_j_beach_bind02
|-
| C0FF67D8 || Unused || fish_j_beach_bind03
|-
| 7DEF0F10 || '''Fish J-1''' (Kelp Forest) || fish_j_camp_bind01
|-
| 7DEF0F11 || Unused || fish_j_camp_bind02
|-
| 7DEF0F12 || Unused || fish_j_camp_bind03
|-
| 41734FBD || Unused || fish_j_rb_bind01
|-
| 41734FBE || Unused || fish_j_rb_bind02
|-
| 41734FBF || Unused || fish_j_rb_bind03
|-
| 23096736 || '''Fish J-1''' (Sand Mountain) || fish_j_snow_bind01
|-
| 23096737 || Unused || fish_j_snow_bind02
|-
| 23096738 || Unused || fish_j_snow_bind03
|-
| FF6460AE || Unused || fish_h_fried_bind
|}
 
==Links==
[https://github.com/igorseabra4/IndustrialPark-EditorFiles/tree/master/BattleForBikiniBottom/GameCube/Enemies Enemy HIP files contains all the files needed for an enemy to be used ingame]. It can be easily added using Edit>Import HIP Archive
 
{{Assets}}
{{AutoGameNavs}}
 
[[Category:Asset]]