sm64coopdx/docs/lua/examples/lighting-engine-demo/levels/hl/header.inc.h
Agent X 3e540790a3
Basic Vertex Point Lighting Engine (#716)
* CONCEPT: Basic vertex lighting engine

Set the geometry mode on your model to G_LIGHTING_ENGINE_EXT, spawn a `bhvAmbientLight`, spawn some `bhvPointLight`s, and then you got yourself a mighty interesting scene.

* Fixes

* How did I miss this

* Make light set home pos
2025-03-27 16:36:02 -04:00

271 lines
12 KiB
C

extern const GeoLayout hl_area_1_geo[];
extern const GeoLayout hl_area_1[];
extern const Collision hl_area_1_collision[];
extern const MacroObject hl_area_1_macro_objs[];
extern u8 hl_dl_fifties_cmp3b_rgba16[];
extern u8 hl_dl_ca1x_monside_rgba16[];
extern u8 hl_dl_drkmtlt_bord11_rgba16[];
extern u8 hl_dl_c2a4e_w1b_rgba16[];
extern u8 hl_dl_c1a0_labw4_rgba16[];
extern u8 hl_dl_drkmtl_scrn3_rgba16[];
extern u8 hl_dl_c1a0_labw5_rgba16[];
extern u8 hl_dl_drkmtlt_ceil01b_rgba16[];
extern u8 hl_dl_c1a0_labglu_rgba16[];
extern u8 hl_dl__0c2a4e_w1_rgba16[];
extern u8 hl_dl_fifties_cmp3c_rgba16[];
extern u8 hl_dl_c1a1_flr1_rgba16[];
extern u8 hl_dl_lab1_b4_rgba16[];
extern u8 hl_dl__spotyellow_rgba16[];
extern u8 hl_dl_c1a0_labw7_rgba16[];
extern u8 hl_dl_lab1_comp3e_rgba16[];
extern u8 hl_dl_basetrim02_rgba16[];
extern u8 hl_dl_out_dmplid_rgba16[];
extern u8 hl_dl__a_lab1_sw1_rgba16[];
extern u8 hl_dl_generic028_rgba16[];
extern u8 hl_dl_c1a1_flr2c_rgba16[];
extern u8 hl_dl_generic46_rgba16[];
extern u8 hl_dl_c2a4x_c1_rgba16[];
extern u8 hl_dl__0_generic85_rgba16[];
extern u8 hl_dl_fifties_mon1b_rgba16[];
extern u8 hl_dl__0_fifties_lgt2_rgba16[];
extern u8 hl_dl_generic015v2_rgba16[];
extern u8 hl_dl_drkmtl_scrn_rgba16[];
extern u8 hl_dl_babtech_ceil01_rgba16[];
extern u8 hl_dl__0_fifties_lgt3_rgba16[];
extern u8 hl_dl_c1a0_wx_rgba16[];
extern u8 hl_dl_black_rgba16[];
extern u8 hl_dl__lab_crt8_rgba16[];
extern u8 hl_dl_lab1_map2_rgba16[];
extern u8 hl_dl_flatbed_bumper_rgba16[];
extern u8 hl_dl_pfab_bks1b_rgba16[];
extern u8 hl_dl_paper1_rgba16[];
extern u8 hl_dl__spotblue_rgba16[];
extern u8 hl_dl_stripes2_rgba16[];
extern u8 hl_dl_pfab_bks1a_rgba16[];
extern u8 hl_dl__lab1_cmp2_rgba16[];
extern u8 hl_dl_lab1_flr10_rgba16[];
extern u8 hl_dl_duct_vnt_rgba16[];
extern u8 hl_dl_signc1a1_1_rgba16[];
extern u8 hl_dl_c1a1sign2a_rgba16[];
extern u8 hl_dl_lab1_map1_rgba16[];
extern u8 hl_dl_c1a1sign2b_rgba16[];
extern u8 hl_dl__gratestep2_rgba16[];
extern u8 hl_dl__lab_crt2_rgba16[];
extern u8 hl_dl_lab1_door2a_rgba16[];
extern u8 hl_dl_c1a1dooredge_rgba16[];
extern u8 hl_dl_lab1_gear3_rgba16[];
extern u8 hl_dl_lab1_gear2_rgba16[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_0[259];
extern Gfx hl_dl_map_mesh_layer_1_tri_0[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_1[67];
extern Gfx hl_dl_map_mesh_layer_1_tri_1[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_2[335];
extern Gfx hl_dl_map_mesh_layer_1_tri_2[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_3[379];
extern Gfx hl_dl_map_mesh_layer_1_tri_3[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_4[129];
extern Gfx hl_dl_map_mesh_layer_1_tri_4[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_5[24];
extern Gfx hl_dl_map_mesh_layer_1_tri_5[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_6[83];
extern Gfx hl_dl_map_mesh_layer_1_tri_6[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_7[90];
extern Gfx hl_dl_map_mesh_layer_1_tri_7[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_8[113];
extern Gfx hl_dl_map_mesh_layer_1_tri_8[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_9[111];
extern Gfx hl_dl_map_mesh_layer_1_tri_9[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_10[195];
extern Gfx hl_dl_map_mesh_layer_1_tri_10[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_11[60];
extern Gfx hl_dl_map_mesh_layer_1_tri_11[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_12[262];
extern Gfx hl_dl_map_mesh_layer_1_tri_12[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_13[24];
extern Gfx hl_dl_map_mesh_layer_1_tri_13[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_14[84];
extern Gfx hl_dl_map_mesh_layer_1_tri_14[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_15[9];
extern Gfx hl_dl_map_mesh_layer_1_tri_15[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_16[32];
extern Gfx hl_dl_map_mesh_layer_1_tri_16[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_17[12];
extern Gfx hl_dl_map_mesh_layer_1_tri_17[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_18[20];
extern Gfx hl_dl_map_mesh_layer_1_tri_18[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_19[124];
extern Gfx hl_dl_map_mesh_layer_1_tri_19[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_20[172];
extern Gfx hl_dl_map_mesh_layer_1_tri_20[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_21[20];
extern Gfx hl_dl_map_mesh_layer_1_tri_21[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_22[4];
extern Gfx hl_dl_map_mesh_layer_1_tri_22[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_23[13];
extern Gfx hl_dl_map_mesh_layer_1_tri_23[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_24[14];
extern Gfx hl_dl_map_mesh_layer_1_tri_24[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_25[16];
extern Gfx hl_dl_map_mesh_layer_1_tri_25[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_26[22];
extern Gfx hl_dl_map_mesh_layer_1_tri_26[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_27[16];
extern Gfx hl_dl_map_mesh_layer_1_tri_27[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_28[52];
extern Gfx hl_dl_map_mesh_layer_1_tri_28[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_29[13];
extern Gfx hl_dl_map_mesh_layer_1_tri_29[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_30[29];
extern Gfx hl_dl_map_mesh_layer_1_tri_30[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_31[8];
extern Gfx hl_dl_map_mesh_layer_1_tri_31[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_32[12];
extern Gfx hl_dl_map_mesh_layer_1_tri_32[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_33[7];
extern Gfx hl_dl_map_mesh_layer_1_tri_33[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_34[4];
extern Gfx hl_dl_map_mesh_layer_1_tri_34[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_35[16];
extern Gfx hl_dl_map_mesh_layer_1_tri_35[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_36[8];
extern Gfx hl_dl_map_mesh_layer_1_tri_36[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_37[8];
extern Gfx hl_dl_map_mesh_layer_1_tri_37[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_38[14];
extern Gfx hl_dl_map_mesh_layer_1_tri_38[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_39[8];
extern Gfx hl_dl_map_mesh_layer_1_tri_39[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_40[4];
extern Gfx hl_dl_map_mesh_layer_1_tri_40[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_41[11];
extern Gfx hl_dl_map_mesh_layer_1_tri_41[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_42[4];
extern Gfx hl_dl_map_mesh_layer_1_tri_42[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_43[4];
extern Gfx hl_dl_map_mesh_layer_1_tri_43[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_44[8];
extern Gfx hl_dl_map_mesh_layer_1_tri_44[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_45[7];
extern Gfx hl_dl_map_mesh_layer_1_tri_45[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_46[8];
extern Gfx hl_dl_map_mesh_layer_1_tri_46[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_47[72];
extern Gfx hl_dl_map_mesh_layer_1_tri_47[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_48[4];
extern Gfx hl_dl_map_mesh_layer_1_tri_48[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_49[22];
extern Gfx hl_dl_map_mesh_layer_1_tri_49[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_50[52];
extern Gfx hl_dl_map_mesh_layer_1_tri_50[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_51[112];
extern Gfx hl_dl_map_mesh_layer_1_tri_51[];
extern Vtx hl_dl_map_mesh_layer_1_vtx_52[158];
extern Gfx hl_dl_map_mesh_layer_1_tri_52[];
extern Gfx mat_hl_dl_HALFLIFE_FIFTIES_CMP3B_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_FIFTIES_CMP3B_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_CA1X_MONSIDE_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_CA1X_MONSIDE_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_DRKMTLT_BORD11_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_DRKMTLT_BORD11_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_C2A4E_W1B_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_C2A4E_W1B_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_C1A0_LABW4_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_C1A0_LABW4_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_DRKMTL_SCRN3_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_DRKMTL_SCRN3_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_C1A0_LABW5_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_C1A0_LABW5_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_DRKMTLT_CEIL01B_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_DRKMTLT_CEIL01B_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_C1A0_LABGLU_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_C1A0_LABGLU_f3d[];
extern Gfx mat_hl_dl_HALFLIFE__0C2A4E_W1_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE__0C2A4E_W1_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_FIFTIES_CMP3C_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_FIFTIES_CMP3C_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_C1A1_FLR1_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_C1A1_FLR1_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_LAB1_B4_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_LAB1_B4_f3d[];
extern Gfx mat_hl_dl_HALFLIFE__SPOTYELLOW_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE__SPOTYELLOW_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_C1A0_LABW7_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_C1A0_LABW7_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_LAB1_COMP3E_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_LAB1_COMP3E_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_BASETRIM02_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_BASETRIM02_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_OUT_DMPLID_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_OUT_DMPLID_f3d[];
extern Gfx mat_hl_dl_HALFLIFE__A_LAB1_SW1_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE__A_LAB1_SW1_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_GENERIC028_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_GENERIC028_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_C1A1_FLR2C_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_C1A1_FLR2C_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_GENERIC46_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_GENERIC46_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_C2A4X_C1_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_C2A4X_C1_f3d[];
extern Gfx mat_hl_dl_HALFLIFE__0_GENERIC85_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE__0_GENERIC85_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_FIFTIES_MON1B_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_FIFTIES_MON1B_f3d[];
extern Gfx mat_hl_dl_HALFLIFE__0_FIFTIES_LGT2_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE__0_FIFTIES_LGT2_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_GENERIC015V2_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_GENERIC015V2_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_DRKMTL_SCRN000_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_DRKMTL_SCRN000_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_BABTECH_CEIL01_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_BABTECH_CEIL01_f3d[];
extern Gfx mat_hl_dl_HALFLIFE__0_FIFTIES_LGT3_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE__0_FIFTIES_LGT3_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_C1A0_WX_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_C1A0_WX_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_BLACK_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_BLACK_f3d[];
extern Gfx mat_hl_dl_HALFLIFE__LAB_CRT8000_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE__LAB_CRT8000_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_LAB1_MAP2_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_LAB1_MAP2_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_FLATBED_BUMPER_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_FLATBED_BUMPER_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_PFAB_BKS1B_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_PFAB_BKS1B_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_PAPER1_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_PAPER1_f3d[];
extern Gfx mat_hl_dl_HALFLIFE__SPOTBLUE_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE__SPOTBLUE_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_STRIPES2_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_STRIPES2_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_PFAB_BKS1A_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_PFAB_BKS1A_f3d[];
extern Gfx mat_hl_dl_HALFLIFE__LAB1_CMP2000_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE__LAB1_CMP2000_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_LAB1_FLR10_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_LAB1_FLR10_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_DUCT_VNT_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_DUCT_VNT_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_SIGNC1A1_1_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_SIGNC1A1_1_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_C1A1SIGN2A_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_C1A1SIGN2A_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_LAB1_MAP1_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_LAB1_MAP1_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_C1A1SIGN2B_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_C1A1SIGN2B_f3d[];
extern Gfx mat_hl_dl_HALFLIFE__GRATESTEP2_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE__GRATESTEP2_f3d[];
extern Gfx mat_hl_dl_HALFLIFE__LAB_CRT2000_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE__LAB_CRT2000_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_LAB1_DOOR2A_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_LAB1_DOOR2A_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_C1A1DOOREDGE_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_C1A1DOOREDGE_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_LAB1_GEAR3_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_LAB1_GEAR3_f3d[];
extern Gfx mat_hl_dl_HALFLIFE_LAB1_GEAR2_f3d[];
extern Gfx mat_revert_hl_dl_HALFLIFE_LAB1_GEAR2_f3d[];
extern Gfx hl_dl_map_mesh_layer_1[];
extern Gfx hl_dl_material_revert_render_settings[];