diff --git a/docs/lua/examples/custom-level/actors/big_paddle/collision.inc.c b/docs/lua/examples/custom-level/actors/big_paddle/collision.inc.c new file mode 100644 index 000000000..e45fead8a --- /dev/null +++ b/docs/lua/examples/custom-level/actors/big_paddle/collision.inc.c @@ -0,0 +1,69 @@ +const Collision big_paddle_collision[] = { + COL_INIT(), + COL_VERTEX_INIT(24), + COL_VERTEX(-40, -40, -400), + COL_VERTEX(-120, 40, -400), + COL_VERTEX(-120, 40, -800), + COL_VERTEX(-40, -40, -720), + COL_VERTEX(120, 40, -800), + COL_VERTEX(40, -40, -720), + COL_VERTEX(120, 40, -400), + COL_VERTEX(40, -40, -400), + COL_VERTEX(-40, -40, 40), + COL_VERTEX(-40, 40, 40), + COL_VERTEX(-40, 40, -40), + COL_VERTEX(-40, -40, -40), + COL_VERTEX(40, 40, -40), + COL_VERTEX(40, -40, -40), + COL_VERTEX(12, -12, -60), + COL_VERTEX(12, 12, -60), + COL_VERTEX(40, 40, 40), + COL_VERTEX(40, -40, 40), + COL_VERTEX(12, -12, -400), + COL_VERTEX(12, 12, -400), + COL_VERTEX(-12, -12, -60), + COL_VERTEX(-12, 12, -60), + COL_VERTEX(-12, -12, -400), + COL_VERTEX(-12, 12, -400), + COL_TRI_INIT(SURFACE_DEFAULT, 38), + COL_TRI(0, 1, 2), + COL_TRI(0, 2, 3), + COL_TRI(3, 2, 4), + COL_TRI(3, 4, 5), + COL_TRI(5, 4, 6), + COL_TRI(5, 6, 7), + COL_TRI(7, 6, 1), + COL_TRI(7, 1, 0), + COL_TRI(3, 5, 7), + COL_TRI(3, 7, 0), + COL_TRI(4, 2, 1), + COL_TRI(4, 1, 6), + COL_TRI(8, 9, 10), + COL_TRI(8, 10, 11), + COL_TRI(12, 13, 14), + COL_TRI(12, 14, 15), + COL_TRI(13, 12, 16), + COL_TRI(13, 16, 17), + COL_TRI(17, 16, 9), + COL_TRI(17, 9, 8), + COL_TRI(11, 13, 17), + COL_TRI(11, 17, 8), + COL_TRI(12, 10, 9), + COL_TRI(12, 9, 16), + COL_TRI(15, 14, 18), + COL_TRI(15, 18, 19), + COL_TRI(13, 11, 20), + COL_TRI(13, 20, 14), + COL_TRI(10, 12, 15), + COL_TRI(10, 15, 21), + COL_TRI(11, 10, 21), + COL_TRI(11, 21, 20), + COL_TRI(14, 20, 22), + COL_TRI(14, 22, 18), + COL_TRI(21, 15, 19), + COL_TRI(21, 19, 23), + COL_TRI(20, 21, 23), + COL_TRI(20, 23, 22), + COL_TRI_STOP(), + COL_END() +}; diff --git a/docs/lua/examples/custom-level/actors/big_paddle/collision_header.h b/docs/lua/examples/custom-level/actors/big_paddle/collision_header.h new file mode 100644 index 000000000..03d5ea60e --- /dev/null +++ b/docs/lua/examples/custom-level/actors/big_paddle/collision_header.h @@ -0,0 +1 @@ +extern const Collision big_paddle_collision[]; diff --git a/docs/lua/examples/custom-level/actors/big_paddle/geo.inc.c b/docs/lua/examples/custom-level/actors/big_paddle/geo.inc.c new file mode 100644 index 000000000..a2acc99de --- /dev/null +++ b/docs/lua/examples/custom-level/actors/big_paddle/geo.inc.c @@ -0,0 +1,10 @@ +#include "src/game/envfx_snow.h" + +const GeoLayout big_paddle_geo[] = { + GEO_NODE_START(), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_OPAQUE, big_paddle_paddle_mesh_layer_1), + GEO_DISPLAY_LIST(LAYER_OPAQUE, big_paddle_material_revert_render_settings), + GEO_CLOSE_NODE(), + GEO_END(), +}; diff --git a/docs/lua/examples/custom-level/actors/big_paddle/geo_header.h b/docs/lua/examples/custom-level/actors/big_paddle/geo_header.h new file mode 100644 index 000000000..aef1b61f5 --- /dev/null +++ b/docs/lua/examples/custom-level/actors/big_paddle/geo_header.h @@ -0,0 +1,10 @@ +extern const GeoLayout big_paddle_geo[]; +extern Lights1 big_paddle_f3d_material_lights; +extern u8 big_paddle_custom_box_surface_rgba16_ci4[]; +extern u8 big_paddle_custom_box_surface_rgba16_ci4_pal_rgba16[]; +extern Vtx big_paddle_paddle_mesh_layer_1_vtx_0[76]; +extern Gfx big_paddle_paddle_mesh_layer_1_tri_0[]; +extern Gfx mat_big_paddle_f3d_material[]; +extern Gfx mat_revert_big_paddle_f3d_material[]; +extern Gfx big_paddle_paddle_mesh_layer_1[]; +extern Gfx big_paddle_material_revert_render_settings[]; diff --git a/docs/lua/examples/custom-level/actors/big_paddle/model.inc.c b/docs/lua/examples/custom-level/actors/big_paddle/model.inc.c new file mode 100644 index 000000000..43e045f44 --- /dev/null +++ b/docs/lua/examples/custom-level/actors/big_paddle/model.inc.c @@ -0,0 +1,252 @@ +Lights1 big_paddle_f3d_material_lights = gdSPDefLights1( + 0x7F, 0x7F, 0x7F, + 0xFE, 0xFE, 0xFE, 0x28, 0x28, 0x28); + +Gfx big_paddle_custom_box_surface_rgba16_ci4_aligner[] = {gsSPEndDisplayList()}; +u8 big_paddle_custom_box_surface_rgba16_ci4[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + +}; + +Gfx big_paddle_custom_box_surface_rgba16_ci4_pal_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 big_paddle_custom_box_surface_rgba16_ci4_pal_rgba16[] = { + 0x00, 0x01, 0x00, 0xff, +}; + +Vtx big_paddle_paddle_mesh_layer_1_vtx_0[76] = { + {{{-40, -40, -400},0, {982, 982},{0xA6, 0xA6, 0x0, 0xFF}}}, + {{{-120, 40, -400},0, {982, 10},{0xA6, 0xA6, 0x0, 0xFF}}}, + {{{-120, 40, -800},0, {10, 10},{0xA6, 0xA6, 0x0, 0xFF}}}, + {{{-40, -40, -720},0, {10, 982},{0xA6, 0xA6, 0x0, 0xFF}}}, + {{{-40, -40, -720},0, {982, 982},{0x0, 0xA6, 0xA6, 0xFF}}}, + {{{-120, 40, -800},0, {982, 10},{0x0, 0xA6, 0xA6, 0xFF}}}, + {{{120, 40, -800},0, {10, 10},{0x0, 0xA6, 0xA6, 0xFF}}}, + {{{40, -40, -720},0, {10, 982},{0x0, 0xA6, 0xA6, 0xFF}}}, + {{{40, -40, -720},0, {10, 10},{0x5A, 0xA6, 0x0, 0xFF}}}, + {{{120, 40, -800},0, {10, 982},{0x5A, 0xA6, 0x0, 0xFF}}}, + {{{120, 40, -400},0, {982, 982},{0x5A, 0xA6, 0x0, 0xFF}}}, + {{{40, -40, -400},0, {982, 10},{0x5A, 0xA6, 0x0, 0xFF}}}, + {{{40, -40, -400},0, {22, 86},{0x0, 0x0, 0x7F, 0xFF}}}, + {{{120, 40, -400},0, {22, 906},{0x0, 0x0, 0x7F, 0xFF}}}, + {{{-120, 40, -400},0, {74, 906},{0x0, 0x0, 0x7F, 0xFF}}}, + {{{-40, -40, -400},0, {74, 86},{0x0, 0x0, 0x7F, 0xFF}}}, + {{{-40, -40, -720},0, {10, 982},{0x0, 0x81, 0x0, 0xFF}}}, + {{{40, -40, -720},0, {982, 982},{0x0, 0x81, 0x0, 0xFF}}}, + {{{40, -40, -400},0, {982, 10},{0x0, 0x81, 0x0, 0xFF}}}, + {{{-40, -40, -400},0, {10, 10},{0x0, 0x81, 0x0, 0xFF}}}, + {{{120, 40, -800},0, {10, 982},{0x0, 0x7F, 0x0, 0xFF}}}, + {{{-120, 40, -800},0, {982, 982},{0x0, 0x7F, 0x0, 0xFF}}}, + {{{-120, 40, -400},0, {982, 10},{0x0, 0x7F, 0x0, 0xFF}}}, + {{{120, 40, -400},0, {10, 10},{0x0, 0x7F, 0x0, 0xFF}}}, + {{{-40, -40, 40},0, {1008, 1008},{0x81, 0x0, 0x0, 0xFF}}}, + {{{-40, 40, 40},0, {1008, -16},{0x81, 0x0, 0x0, 0xFF}}}, + {{{-40, 40, -40},0, {-16, -16},{0x81, 0x0, 0x0, 0xFF}}}, + {{{-40, -40, -40},0, {-16, 1008},{0x81, 0x0, 0x0, 0xFF}}}, + {{{40, 40, -40},0, {-16, 240},{0x4A, 0x0, 0x99, 0xFF}}}, + {{{40, -40, -40},0, {-16, 752},{0x4A, 0x0, 0x99, 0xFF}}}, + {{{12, -12, -60},0, {1008, 573},{0x4A, 0x0, 0x99, 0xFF}}}, + {{{12, 12, -60},0, {1008, 419},{0x4A, 0x0, 0x99, 0xFF}}}, + {{{40, -40, -40},0, {-16, -16},{0x7F, 0x0, 0x0, 0xFF}}}, + {{{40, 40, -40},0, {-16, 1008},{0x7F, 0x0, 0x0, 0xFF}}}, + {{{40, 40, 40},0, {1008, 1008},{0x7F, 0x0, 0x0, 0xFF}}}, + {{{40, -40, 40},0, {1008, -16},{0x7F, 0x0, 0x0, 0xFF}}}, + {{{40, -40, 40},0, {-16, -16},{0x0, 0x0, 0x7F, 0xFF}}}, + {{{40, 40, 40},0, {-16, 1008},{0x0, 0x0, 0x7F, 0xFF}}}, + {{{-40, 40, 40},0, {1008, 1008},{0x0, 0x0, 0x7F, 0xFF}}}, + {{{-40, -40, 40},0, {1008, -16},{0x0, 0x0, 0x7F, 0xFF}}}, + {{{-40, -40, -40},0, {982, 10},{0x0, 0x81, 0x0, 0xFF}}}, + {{{40, -40, -40},0, {10, 10},{0x0, 0x81, 0x0, 0xFF}}}, + {{{40, -40, 40},0, {10, 982},{0x0, 0x81, 0x0, 0xFF}}}, + {{{-40, -40, 40},0, {982, 982},{0x0, 0x81, 0x0, 0xFF}}}, + {{{40, 40, -40},0, {-16, 1008},{0x0, 0x7F, 0x0, 0xFF}}}, + {{{-40, 40, -40},0, {1008, 1008},{0x0, 0x7F, 0x0, 0xFF}}}, + {{{-40, 40, 40},0, {1008, -16},{0x0, 0x7F, 0x0, 0xFF}}}, + {{{40, 40, 40},0, {-16, -16},{0x0, 0x7F, 0x0, 0xFF}}}, + {{{12, 12, -60},0, {189, -16},{0x7F, 0x0, 0x0, 0xFF}}}, + {{{12, -12, -60},0, {189, 1008},{0x7F, 0x0, 0x0, 0xFF}}}, + {{{12, -12, -400},0, {803, 1008},{0x7F, 0x0, 0x0, 0xFF}}}, + {{{12, 12, -400},0, {803, -16},{0x7F, 0x0, 0x0, 0xFF}}}, + {{{40, -40, -40},0, {752, 1008},{0x0, 0xB6, 0x99, 0xFF}}}, + {{{-40, -40, -40},0, {240, 1008},{0x0, 0xB6, 0x99, 0xFF}}}, + {{{-12, -12, -60},0, {419, -16},{0x0, 0xB6, 0x99, 0xFF}}}, + {{{12, -12, -60},0, {573, -16},{0x0, 0xB6, 0x99, 0xFF}}}, + {{{-40, 40, -40},0, {240, 1008},{0x0, 0x4A, 0x99, 0xFF}}}, + {{{40, 40, -40},0, {752, 1008},{0x0, 0x4A, 0x99, 0xFF}}}, + {{{12, 12, -60},0, {573, -16},{0x0, 0x4A, 0x99, 0xFF}}}, + {{{-12, 12, -60},0, {419, -16},{0x0, 0x4A, 0x99, 0xFF}}}, + {{{-40, -40, -40},0, {-16, 752},{0xB6, 0x0, 0x99, 0xFF}}}, + {{{-40, 40, -40},0, {-16, 240},{0xB6, 0x0, 0x99, 0xFF}}}, + {{{-12, 12, -60},0, {1008, 419},{0xB6, 0x0, 0x99, 0xFF}}}, + {{{-12, -12, -60},0, {1008, 573},{0xB6, 0x0, 0x99, 0xFF}}}, + {{{12, -12, -60},0, {1008, 803},{0x0, 0x81, 0x0, 0xFF}}}, + {{{-12, -12, -60},0, {-16, 803},{0x0, 0x81, 0x0, 0xFF}}}, + {{{-12, -12, -400},0, {-16, 189},{0x0, 0x81, 0x0, 0xFF}}}, + {{{12, -12, -400},0, {1008, 189},{0x0, 0x81, 0x0, 0xFF}}}, + {{{-12, 12, -60},0, {-16, 803},{0x0, 0x7F, 0x0, 0xFF}}}, + {{{12, 12, -60},0, {1008, 803},{0x0, 0x7F, 0x0, 0xFF}}}, + {{{12, 12, -400},0, {1008, 189},{0x0, 0x7F, 0x0, 0xFF}}}, + {{{-12, 12, -400},0, {-16, 189},{0x0, 0x7F, 0x0, 0xFF}}}, + {{{-12, -12, -60},0, {189, 1008},{0x81, 0x0, 0x0, 0xFF}}}, + {{{-12, 12, -60},0, {189, -16},{0x81, 0x0, 0x0, 0xFF}}}, + {{{-12, 12, -400},0, {803, -16},{0x81, 0x0, 0x0, 0xFF}}}, + {{{-12, -12, -400},0, {803, 1008},{0x81, 0x0, 0x0, 0xFF}}}, +}; + +Gfx big_paddle_paddle_mesh_layer_1_tri_0[] = { + gsSPVertex(big_paddle_paddle_mesh_layer_1_vtx_0 + 0, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 2, 3, 0), + gsSP1Triangle(4, 5, 6, 0), + gsSP1Triangle(4, 6, 7, 0), + gsSP1Triangle(8, 9, 10, 0), + gsSP1Triangle(8, 10, 11, 0), + gsSP1Triangle(12, 13, 14, 0), + gsSP1Triangle(12, 14, 15, 0), + gsSPVertex(big_paddle_paddle_mesh_layer_1_vtx_0 + 16, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 2, 3, 0), + gsSP1Triangle(4, 5, 6, 0), + gsSP1Triangle(4, 6, 7, 0), + gsSP1Triangle(8, 9, 10, 0), + gsSP1Triangle(8, 10, 11, 0), + gsSP1Triangle(12, 13, 14, 0), + gsSP1Triangle(12, 14, 15, 0), + gsSPVertex(big_paddle_paddle_mesh_layer_1_vtx_0 + 32, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 2, 3, 0), + gsSP1Triangle(4, 5, 6, 0), + gsSP1Triangle(4, 6, 7, 0), + gsSP1Triangle(8, 9, 10, 0), + gsSP1Triangle(8, 10, 11, 0), + gsSP1Triangle(12, 13, 14, 0), + gsSP1Triangle(12, 14, 15, 0), + gsSPVertex(big_paddle_paddle_mesh_layer_1_vtx_0 + 48, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 2, 3, 0), + gsSP1Triangle(4, 5, 6, 0), + gsSP1Triangle(4, 6, 7, 0), + gsSP1Triangle(8, 9, 10, 0), + gsSP1Triangle(8, 10, 11, 0), + gsSP1Triangle(12, 13, 14, 0), + gsSP1Triangle(12, 14, 15, 0), + gsSPVertex(big_paddle_paddle_mesh_layer_1_vtx_0 + 64, 12, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 2, 3, 0), + gsSP1Triangle(4, 5, 6, 0), + gsSP1Triangle(4, 6, 7, 0), + gsSP1Triangle(8, 9, 10, 0), + gsSP1Triangle(8, 10, 11, 0), + gsSPEndDisplayList(), +}; + + +Gfx mat_big_paddle_f3d_material[] = { + gsDPPipeSync(), + gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetTextureLUT(G_TT_RGBA16), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, big_paddle_custom_box_surface_rgba16_ci4_pal_rgba16), + gsDPTileSync(), + gsDPSetTile(0, 0, 0, 256, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadSync(), + gsDPLoadTLUTCmd(7, 1), + gsDPPipeSync(), + gsDPTileSync(), + gsDPSetTextureImage(G_IM_FMT_CI, G_IM_SIZ_16b, 1, big_paddle_custom_box_surface_rgba16_ci4), + gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_16b, 0, 0, 7, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPLoadSync(), + gsDPLoadBlock(7, 0, 0, 255, 1024), + gsDPPipeSync(), + gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_4b, 2, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), + gsSPSetLights1(big_paddle_f3d_material_lights), + gsSPEndDisplayList(), +}; + +Gfx mat_revert_big_paddle_f3d_material[] = { + gsDPPipeSync(), + gsDPSetTextureLUT(G_TT_NONE), + gsSPEndDisplayList(), +}; + +Gfx big_paddle_paddle_mesh_layer_1[] = { + gsSPDisplayList(mat_big_paddle_f3d_material), + gsSPDisplayList(big_paddle_paddle_mesh_layer_1_tri_0), + gsSPDisplayList(mat_revert_big_paddle_f3d_material), + gsSPEndDisplayList(), +}; + +Gfx big_paddle_material_revert_render_settings[] = { + gsDPPipeSync(), + gsSPSetGeometryMode(G_LIGHTING), + gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT), + gsSPTexture(65535, 65535, 0, 0, 0), + gsDPSetEnvColor(255, 255, 255, 255), + gsDPSetAlphaCompare(G_AC_NONE), + gsSPEndDisplayList(), +}; + diff --git a/docs/lua/examples/custom-level/actors/big_paddle_collision.col b/docs/lua/examples/custom-level/actors/big_paddle_collision.col new file mode 100644 index 000000000..13462b642 Binary files /dev/null and b/docs/lua/examples/custom-level/actors/big_paddle_collision.col differ diff --git a/docs/lua/examples/custom-level/actors/big_paddle_geo.bin b/docs/lua/examples/custom-level/actors/big_paddle_geo.bin new file mode 100644 index 000000000..30b059dc8 Binary files /dev/null and b/docs/lua/examples/custom-level/actors/big_paddle_geo.bin differ diff --git a/docs/lua/examples/custom-level/levels/bob/area_1/collision.inc.c b/docs/lua/examples/custom-level/levels/bob/area_1/collision.inc.c new file mode 100644 index 000000000..0cccfde7d --- /dev/null +++ b/docs/lua/examples/custom-level/levels/bob/area_1/collision.inc.c @@ -0,0 +1,27 @@ +const Collision bob_area_1_collision[] = { + COL_INIT(), + COL_VERTEX_INIT(8), + COL_VERTEX(1000, 0, -1000), + COL_VERTEX(-1000, 0, -1000), + COL_VERTEX(-1000, 0, 1000), + COL_VERTEX(1000, 0, 1000), + COL_VERTEX(1000, -2000, 1000), + COL_VERTEX(-1000, -2000, 1000), + COL_VERTEX(-1000, -2000, -1000), + COL_VERTEX(1000, -2000, -1000), + COL_TRI_INIT(SURFACE_DEFAULT, 12), + COL_TRI(0, 1, 2), + COL_TRI(0, 2, 3), + COL_TRI(4, 3, 2), + COL_TRI(4, 2, 5), + COL_TRI(5, 2, 1), + COL_TRI(5, 1, 6), + COL_TRI(6, 7, 4), + COL_TRI(6, 4, 5), + COL_TRI(7, 0, 3), + COL_TRI(7, 3, 4), + COL_TRI(6, 1, 0), + COL_TRI(6, 0, 7), + COL_TRI_STOP(), + COL_END() +}; diff --git a/docs/lua/examples/custom-level/levels/bob/area_1/geo.inc.c b/docs/lua/examples/custom-level/levels/bob/area_1/geo.inc.c new file mode 100644 index 000000000..c2fad38cd --- /dev/null +++ b/docs/lua/examples/custom-level/levels/bob/area_1/geo.inc.c @@ -0,0 +1,35 @@ +#include "src/game/envfx_snow.h" + +const GeoLayout bob_area_1_geo[] = { + GEO_NODE_START(), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_OPAQUE, bob_dl_LevelGeometry_mesh_layer_1), + GEO_CLOSE_NODE(), + GEO_RETURN(), +}; +const GeoLayout bob_area_1[] = { + GEO_NODE_SCREEN_AREA(10, SCREEN_WIDTH/2, SCREEN_HEIGHT/2, SCREEN_WIDTH/2, SCREEN_HEIGHT/2), + GEO_OPEN_NODE(), + GEO_ZBUFFER(0), + GEO_OPEN_NODE(), + GEO_NODE_ORTHO(100.0000), + GEO_OPEN_NODE(), + GEO_BACKGROUND(space_skybox_ptrlist, geo_skybox_main), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_ZBUFFER(1), + GEO_OPEN_NODE(), + GEO_CAMERA_FRUSTUM_WITH_FUNC(45.0000, 100, 30000, geo_camera_fov), + GEO_OPEN_NODE(), + GEO_CAMERA(CAMERA_MODE_8_DIRECTIONS, 0, 0, 0, 0, -100, 0, geo_camera_main), + GEO_OPEN_NODE(), + GEO_BRANCH(1, bob_area_1_geo), + GEO_RENDER_OBJ(), + GEO_ASM(ENVFX_MODE_NONE, geo_envfx_main), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_DISPLAY_LIST(LAYER_OPAQUE, bob_dl_material_revert_render_settings), + GEO_CLOSE_NODE(), + GEO_END(), +}; diff --git a/docs/lua/examples/custom-level/levels/bob/area_1/macro.inc.c b/docs/lua/examples/custom-level/levels/bob/area_1/macro.inc.c new file mode 100644 index 000000000..1e302b4cd --- /dev/null +++ b/docs/lua/examples/custom-level/levels/bob/area_1/macro.inc.c @@ -0,0 +1,4 @@ +const MacroObject bob_area_1_macro_objs[] = { + MACRO_OBJECT_END(), +}; + diff --git a/docs/lua/examples/custom-level/levels/bob/area_1/spline.inc.c b/docs/lua/examples/custom-level/levels/bob/area_1/spline.inc.c new file mode 100644 index 000000000..e69de29bb diff --git a/docs/lua/examples/custom-level/levels/bob/geo.c b/docs/lua/examples/custom-level/levels/bob/geo.c new file mode 100644 index 000000000..a4891e244 --- /dev/null +++ b/docs/lua/examples/custom-level/levels/bob/geo.c @@ -0,0 +1,17 @@ +#include +#include "sm64.h" +#include "geo_commands.h" + +#include "game/level_geo.h" +#include "game/geo_misc.h" +#include "game/camera.h" +#include "game/moving_texture.h" +#include "game/screen_transition.h" +#include "game/paintings.h" + +#include "make_const_nonconst.h" + +#include "levels/bob/header.h" + + +#include "levels/bob/geo.inc.c" diff --git a/docs/lua/examples/custom-level/levels/bob/geo.inc.c b/docs/lua/examples/custom-level/levels/bob/geo.inc.c new file mode 100644 index 000000000..24866f592 --- /dev/null +++ b/docs/lua/examples/custom-level/levels/bob/geo.inc.c @@ -0,0 +1 @@ +#include "levels/bob/area_1/geo.inc.c" diff --git a/docs/lua/examples/custom-level/levels/bob/header.h b/docs/lua/examples/custom-level/levels/bob/header.h new file mode 100644 index 000000000..3e56316bf --- /dev/null +++ b/docs/lua/examples/custom-level/levels/bob/header.h @@ -0,0 +1,12 @@ +#ifndef BOB_HEADER_H +#define BOB_HEADER_H + +#include "types.h" +#include "game/moving_texture.h" + +extern const LevelScript level_bob_entry[]; + + +#include "levels/bob/header.inc.h" + +#endif diff --git a/docs/lua/examples/custom-level/levels/bob/header.inc.h b/docs/lua/examples/custom-level/levels/bob/header.inc.h new file mode 100644 index 000000000..dadc87e01 --- /dev/null +++ b/docs/lua/examples/custom-level/levels/bob/header.inc.h @@ -0,0 +1,13 @@ +extern const GeoLayout bob_area_1_geo[]; +extern const GeoLayout bob_area_1[]; +extern const Collision bob_area_1_collision[]; +extern const MacroObject bob_area_1_macro_objs[]; +extern Lights1 bob_dl_f3d_material_lights; +extern u8 bob_dl_custom_box_surface_rgba16_ci4[]; +extern u8 bob_dl_custom_box_surface_rgba16_ci4_pal_rgba16[]; +extern Vtx bob_dl_LevelGeometry_mesh_layer_1_vtx_0[24]; +extern Gfx bob_dl_LevelGeometry_mesh_layer_1_tri_0[]; +extern Gfx mat_bob_dl_f3d_material[]; +extern Gfx mat_revert_bob_dl_f3d_material[]; +extern Gfx bob_dl_LevelGeometry_mesh_layer_1[]; +extern Gfx bob_dl_material_revert_render_settings[]; diff --git a/docs/lua/examples/custom-level/levels/bob/leveldata.c b/docs/lua/examples/custom-level/levels/bob/leveldata.c new file mode 100644 index 000000000..c6c6c448f --- /dev/null +++ b/docs/lua/examples/custom-level/levels/bob/leveldata.c @@ -0,0 +1,14 @@ +#include " +#include "sm64.h" +#include "surface_terrains.h" +#include "moving_texture_macros.h" +#include "level_misc_macros.h" +#include "macro_preset_names.h" +#include "special_preset_names.h" +#include "textures.h" +#include "dialog_ids.h" + +#include "make_const_nonconst.h" + + +#include "levels/bob/leveldata.inc.c" diff --git a/docs/lua/examples/custom-level/levels/bob/leveldata.inc.c b/docs/lua/examples/custom-level/levels/bob/leveldata.inc.c new file mode 100644 index 000000000..fb7443d84 --- /dev/null +++ b/docs/lua/examples/custom-level/levels/bob/leveldata.inc.c @@ -0,0 +1,4 @@ +#include "levels/bob/area_1/collision.inc.c" +#include "levels/bob/area_1/macro.inc.c" +#include "levels/bob/area_1/spline.inc.c" +#include "levels/bob/model.inc.c" diff --git a/docs/lua/examples/custom-level/levels/bob/model.inc.c b/docs/lua/examples/custom-level/levels/bob/model.inc.c new file mode 100644 index 000000000..c7a4f9ddb --- /dev/null +++ b/docs/lua/examples/custom-level/levels/bob/model.inc.c @@ -0,0 +1,170 @@ +Lights1 bob_dl_f3d_material_lights = gdSPDefLights1( + 0x7F, 0x7F, 0x7F, + 0xFE, 0xFE, 0xFE, 0x28, 0x28, 0x28); + +Gfx bob_dl_custom_box_surface_rgba16_ci4_aligner[] = {gsSPEndDisplayList()}; +u8 bob_dl_custom_box_surface_rgba16_ci4[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + +}; + +Gfx bob_dl_custom_box_surface_rgba16_ci4_pal_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 bob_dl_custom_box_surface_rgba16_ci4_pal_rgba16[] = { + 0x00, 0x01, 0x00, 0xff, +}; + +Vtx bob_dl_LevelGeometry_mesh_layer_1_vtx_0[24] = { + {{{1000, 0, -1000},0, {1008, -16},{0x0, 0x7F, 0x0, 0xFF}}}, + {{{-1000, 0, -1000},0, {-16, -16},{0x0, 0x7F, 0x0, 0xFF}}}, + {{{-1000, 0, 1000},0, {-16, 1008},{0x0, 0x7F, 0x0, 0xFF}}}, + {{{1000, 0, 1000},0, {1008, 1008},{0x0, 0x7F, 0x0, 0xFF}}}, + {{{1000, -2000, 1000},0, {1008, 1008},{0x0, 0x0, 0x7F, 0xFF}}}, + {{{1000, 0, 1000},0, {1008, -16},{0x0, 0x0, 0x7F, 0xFF}}}, + {{{-1000, 0, 1000},0, {-16, -16},{0x0, 0x0, 0x7F, 0xFF}}}, + {{{-1000, -2000, 1000},0, {-16, 1008},{0x0, 0x0, 0x7F, 0xFF}}}, + {{{-1000, -2000, 1000},0, {-16, 1008},{0x81, 0x0, 0x0, 0xFF}}}, + {{{-1000, 0, 1000},0, {-16, -16},{0x81, 0x0, 0x0, 0xFF}}}, + {{{-1000, 0, -1000},0, {1008, -16},{0x81, 0x0, 0x0, 0xFF}}}, + {{{-1000, -2000, -1000},0, {1008, 1008},{0x81, 0x0, 0x0, 0xFF}}}, + {{{-1000, -2000, -1000},0, {-16, -16},{0x0, 0x81, 0x0, 0xFF}}}, + {{{1000, -2000, -1000},0, {1008, -16},{0x0, 0x81, 0x0, 0xFF}}}, + {{{1000, -2000, 1000},0, {1008, 1008},{0x0, 0x81, 0x0, 0xFF}}}, + {{{-1000, -2000, 1000},0, {-16, 1008},{0x0, 0x81, 0x0, 0xFF}}}, + {{{1000, -2000, -1000},0, {1008, 1008},{0x7F, 0x0, 0x0, 0xFF}}}, + {{{1000, 0, -1000},0, {1008, -16},{0x7F, 0x0, 0x0, 0xFF}}}, + {{{1000, 0, 1000},0, {-16, -16},{0x7F, 0x0, 0x0, 0xFF}}}, + {{{1000, -2000, 1000},0, {-16, 1008},{0x7F, 0x0, 0x0, 0xFF}}}, + {{{-1000, -2000, -1000},0, {-16, 1008},{0x0, 0x0, 0x81, 0xFF}}}, + {{{-1000, 0, -1000},0, {-16, -16},{0x0, 0x0, 0x81, 0xFF}}}, + {{{1000, 0, -1000},0, {1008, -16},{0x0, 0x0, 0x81, 0xFF}}}, + {{{1000, -2000, -1000},0, {1008, 1008},{0x0, 0x0, 0x81, 0xFF}}}, +}; + +Gfx bob_dl_LevelGeometry_mesh_layer_1_tri_0[] = { + gsSPVertex(bob_dl_LevelGeometry_mesh_layer_1_vtx_0 + 0, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 2, 3, 0), + gsSP1Triangle(4, 5, 6, 0), + gsSP1Triangle(4, 6, 7, 0), + gsSP1Triangle(8, 9, 10, 0), + gsSP1Triangle(8, 10, 11, 0), + gsSP1Triangle(12, 13, 14, 0), + gsSP1Triangle(12, 14, 15, 0), + gsSPVertex(bob_dl_LevelGeometry_mesh_layer_1_vtx_0 + 16, 8, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 2, 3, 0), + gsSP1Triangle(4, 5, 6, 0), + gsSP1Triangle(4, 6, 7, 0), + gsSPEndDisplayList(), +}; + +Gfx mat_bob_dl_f3d_material[] = { + gsDPPipeSync(), + gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetTextureLUT(G_TT_RGBA16), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bob_dl_custom_box_surface_rgba16_ci4_pal_rgba16), + gsDPTileSync(), + gsDPSetTile(0, 0, 0, 256, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadSync(), + gsDPLoadTLUTCmd(7, 1), + gsDPPipeSync(), + gsDPTileSync(), + gsDPSetTextureImage(G_IM_FMT_CI, G_IM_SIZ_16b, 1, bob_dl_custom_box_surface_rgba16_ci4), + gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_16b, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0), + gsDPLoadSync(), + gsDPLoadBlock(7, 0, 0, 255, 1024), + gsDPPipeSync(), + gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_4b, 2, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), + gsSPSetLights1(bob_dl_f3d_material_lights), + gsSPEndDisplayList(), +}; + +Gfx mat_revert_bob_dl_f3d_material[] = { + gsDPPipeSync(), + gsDPSetTextureLUT(G_TT_NONE), + gsSPEndDisplayList(), +}; + +Gfx bob_dl_LevelGeometry_mesh_layer_1[] = { + gsSPDisplayList(mat_bob_dl_f3d_material), + gsSPDisplayList(bob_dl_LevelGeometry_mesh_layer_1_tri_0), + gsSPDisplayList(mat_revert_bob_dl_f3d_material), + gsSPEndDisplayList(), +}; + +Gfx bob_dl_material_revert_render_settings[] = { + gsDPPipeSync(), + gsSPSetGeometryMode(G_LIGHTING), + gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT), + gsSPTexture(65535, 65535, 0, 0, 0), + gsDPSetEnvColor(255, 255, 255, 255), + gsDPSetAlphaCompare(G_AC_NONE), + gsSPEndDisplayList(), +}; + diff --git a/docs/lua/examples/custom-level/levels/bob/script.c b/docs/lua/examples/custom-level/levels/bob/script.c new file mode 100644 index 000000000..64fb45f45 --- /dev/null +++ b/docs/lua/examples/custom-level/levels/bob/script.c @@ -0,0 +1,59 @@ +#include +#include "sm64.h" +#include "behavior_data.h" +#include "model_ids.h" +#include "seq_ids.h" +#include "dialog_ids.h" +#include "segment_symbols.h" +#include "level_commands.h" + +#include "game/level_update.h" + +#include "levels/scripts.h" + + +/* Fast64 begin persistent block [includes] */ +/* Fast64 end persistent block [includes] */ + +#include "make_const_nonconst.h" +#include "levels/bob/header.h" + +/* Fast64 begin persistent block [scripts] */ +/* Fast64 end persistent block [scripts] */ + +const LevelScript level_bob_entry[] = { + INIT_LEVEL(), + LOAD_MIO0(0x7, _bob_segment_7SegmentRomStart, _bob_segment_7SegmentRomEnd), + LOAD_MIO0(0xa, _water_skybox_mio0SegmentRomStart, _water_skybox_mio0SegmentRomEnd), + ALLOC_LEVEL_POOL(), + MARIO(MODEL_MARIO, 0x00000001, bhvMario), + + /* Fast64 begin persistent block [level commands] */ + /* Fast64 end persistent block [level commands] */ + + AREA(1, bob_area_1), + WARP_NODE(0x0A, LEVEL_BOB, 0x01, 0x0A, WARP_NO_CHECKPOINT), + WARP_NODE(0xF3, LEVEL_CASTLE, 0x01, 0x20, WARP_NO_CHECKPOINT), + WARP_NODE(0xF0, LEVEL_CASTLE, 0x01, 0x26, WARP_NO_CHECKPOINT), + WARP_NODE(0xF1, LEVEL_CASTLE, 0x01, 0x23, WARP_NO_CHECKPOINT), + OBJECT(E_MODEL_BIG_PADDLE, 0, 300, 0, 0, 0, 0, 0x00000000, id_bhvBigPaddle), + OBJECT(E_MODEL_BIG_PADDLE, 0, 600, 0, 0, 30, 0, 0x00000000, id_bhvBigPaddle), + OBJECT(E_MODEL_BIG_PADDLE, 0, 900, 0, 0, 60, 0, 0x00000000, id_bhvBigPaddle), + OBJECT(E_MODEL_BIG_PADDLE, 0, 1200, 0, 0, 90, 0, 0x00000000, id_bhvBigPaddle), + OBJECT(MODEL_NONE, -300, 200, 0, 0, 0, 0, (10 << 16), bhvAirborneWarp), + TERRAIN(bob_area_1_collision), + MACRO_OBJECTS(bob_area_1_macro_objs), + SET_BACKGROUND_MUSIC(0x00, SEQ_LEVEL_GRASS), + TERRAIN_TYPE(TERRAIN_GRASS), + /* Fast64 begin persistent block [area commands] */ + /* Fast64 end persistent block [area commands] */ + END_AREA(), + + FREE_LEVEL_POOL(), + MARIO_POS(1, 0, 0, 0, 0), + CALL(0, lvl_init_or_update), + CALL_LOOP(1, lvl_init_or_update), + CLEAR_LEVEL(), + SLEEP_BEFORE_EXIT(1), + EXIT(), +}; diff --git a/docs/lua/examples/custom-level/levels/bob/space_skybox.c b/docs/lua/examples/custom-level/levels/bob/space_skybox.c new file mode 100644 index 000000000..1cb48b6e1 --- /dev/null +++ b/docs/lua/examples/custom-level/levels/bob/space_skybox.c @@ -0,0 +1,422 @@ +#include "types.h" + +#include "make_const_nonconst.h" + +ALIGNED8 static const Texture space_skybox_texture_00000[] = { +#include "../skybox/space.0.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00001[] = { +#include "../skybox/space.1.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00002[] = { +#include "../skybox/space.2.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00003[] = { +#include "../skybox/space.3.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00004[] = { +#include "../skybox/space.4.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00005[] = { +#include "../skybox/space.5.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00006[] = { +#include "../skybox/space.6.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00007[] = { +#include "../skybox/space.7.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00008[] = { +#include "../skybox/space.8.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00009[] = { +#include "../skybox/space.9.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00010[] = { +#include "../skybox/space.10.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00011[] = { +#include "../skybox/space.11.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00012[] = { +#include "../skybox/space.12.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00013[] = { +#include "../skybox/space.13.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00014[] = { +#include "../skybox/space.14.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00015[] = { +#include "../skybox/space.15.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00016[] = { +#include "../skybox/space.16.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00017[] = { +#include "../skybox/space.17.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00018[] = { +#include "../skybox/space.18.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00019[] = { +#include "../skybox/space.19.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00020[] = { +#include "../skybox/space.20.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00021[] = { +#include "../skybox/space.21.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00022[] = { +#include "../skybox/space.22.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00023[] = { +#include "../skybox/space.23.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00024[] = { +#include "../skybox/space.24.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00025[] = { +#include "../skybox/space.25.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00026[] = { +#include "../skybox/space.26.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00027[] = { +#include "../skybox/space.27.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00028[] = { +#include "../skybox/space.28.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00029[] = { +#include "../skybox/space.29.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00030[] = { +#include "../skybox/space.30.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00031[] = { +#include "../skybox/space.31.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00032[] = { +#include "../skybox/space.32.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00033[] = { +#include "../skybox/space.33.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00034[] = { +#include "../skybox/space.34.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00035[] = { +#include "../skybox/space.35.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00036[] = { +#include "../skybox/space.36.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00037[] = { +#include "../skybox/space.37.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00038[] = { +#include "../skybox/space.38.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00039[] = { +#include "../skybox/space.39.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00040[] = { +#include "../skybox/space.40.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00041[] = { +#include "../skybox/space.41.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00042[] = { +#include "../skybox/space.42.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00043[] = { +#include "../skybox/space.43.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00044[] = { +#include "../skybox/space.44.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00045[] = { +#include "../skybox/space.45.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00046[] = { +#include "../skybox/space.46.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00047[] = { +#include "../skybox/space.47.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00048[] = { +#include "../skybox/space.48.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00049[] = { +#include "../skybox/space.49.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00050[] = { +#include "../skybox/space.50.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00051[] = { +#include "../skybox/space.51.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00052[] = { +#include "../skybox/space.52.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00053[] = { +#include "../skybox/space.53.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00054[] = { +#include "../skybox/space.54.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00055[] = { +#include "../skybox/space.55.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00056[] = { +#include "../skybox/space.56.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00057[] = { +#include "../skybox/space.57.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00058[] = { +#include "../skybox/space.58.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00059[] = { +#include "../skybox/space.59.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00060[] = { +#include "../skybox/space.60.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00061[] = { +#include "../skybox/space.61.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00062[] = { +#include "../skybox/space.62.rgba16.inc.c" +}; + +ALIGNED8 static const Texture space_skybox_texture_00063[] = { +#include "../skybox/space.63.rgba16.inc.c" +}; + +const Texture *const space_skybox_ptrlist[] = { + space_skybox_texture_00000, + space_skybox_texture_00001, + space_skybox_texture_00002, + space_skybox_texture_00003, + space_skybox_texture_00004, + space_skybox_texture_00005, + space_skybox_texture_00006, + space_skybox_texture_00007, + space_skybox_texture_00000, + space_skybox_texture_00001, + space_skybox_texture_00008, + space_skybox_texture_00009, + space_skybox_texture_00010, + space_skybox_texture_00011, + space_skybox_texture_00012, + space_skybox_texture_00013, + space_skybox_texture_00014, + space_skybox_texture_00015, + space_skybox_texture_00008, + space_skybox_texture_00009, + space_skybox_texture_00016, + space_skybox_texture_00017, + space_skybox_texture_00018, + space_skybox_texture_00019, + space_skybox_texture_00020, + space_skybox_texture_00021, + space_skybox_texture_00022, + space_skybox_texture_00023, + space_skybox_texture_00016, + space_skybox_texture_00017, + space_skybox_texture_00024, + space_skybox_texture_00025, + space_skybox_texture_00026, + space_skybox_texture_00027, + space_skybox_texture_00028, + space_skybox_texture_00029, + space_skybox_texture_00030, + space_skybox_texture_00031, + space_skybox_texture_00024, + space_skybox_texture_00025, + space_skybox_texture_00032, + space_skybox_texture_00033, + space_skybox_texture_00034, + space_skybox_texture_00035, + space_skybox_texture_00036, + space_skybox_texture_00037, + space_skybox_texture_00038, + space_skybox_texture_00039, + space_skybox_texture_00032, + space_skybox_texture_00033, + space_skybox_texture_00040, + space_skybox_texture_00041, + space_skybox_texture_00042, + space_skybox_texture_00043, + space_skybox_texture_00044, + space_skybox_texture_00045, + space_skybox_texture_00046, + space_skybox_texture_00047, + space_skybox_texture_00040, + space_skybox_texture_00041, + space_skybox_texture_00048, + space_skybox_texture_00049, + space_skybox_texture_00050, + space_skybox_texture_00051, + space_skybox_texture_00052, + space_skybox_texture_00053, + space_skybox_texture_00054, + space_skybox_texture_00055, + space_skybox_texture_00048, + space_skybox_texture_00049, + space_skybox_texture_00056, + space_skybox_texture_00057, + space_skybox_texture_00058, + space_skybox_texture_00059, + space_skybox_texture_00060, + space_skybox_texture_00061, + space_skybox_texture_00062, + space_skybox_texture_00063, + space_skybox_texture_00056, + space_skybox_texture_00057, +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/lua/examples/custom-level/levels/level_bob_entry.lvl b/docs/lua/examples/custom-level/levels/level_bob_entry.lvl new file mode 100644 index 000000000..68a80cd48 Binary files /dev/null and b/docs/lua/examples/custom-level/levels/level_bob_entry.lvl differ diff --git a/docs/lua/examples/custom-level/main.lua b/docs/lua/examples/custom-level/main.lua new file mode 100644 index 000000000..d029b26c4 --- /dev/null +++ b/docs/lua/examples/custom-level/main.lua @@ -0,0 +1,24 @@ +-- name: Custom Level Example +-- description: This is an example of a custom level that replaces BOB.\nIt has a custom object with a custom behavior.\nIt also has a custom skybox. +-- incompatible: romhack + + +E_MODEL_BIG_PADDLE = smlua_model_util_get_id("big_paddle_geo") +COL_BIG_PADDLE = smlua_collision_util_get("big_paddle_collision") + +---------------------------------- + +function bhv_big_paddle_init(obj) + obj.oFlags = OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE + obj.oCollisionDistance = 1000 + obj.oAngleVelYaw = -0x100 + obj.collisionData = COL_BIG_PADDLE + network_init_object(obj, false, nil) +end + +function bhv_big_paddle_loop(obj) + obj.oFaceAngleYaw = obj.oFaceAngleYaw + obj.oAngleVelYaw + load_object_collision_model() +end + +id_bhvBigPaddle = hook_behavior(nil, OBJ_LIST_SURFACE, true, bhv_big_paddle_init, bhv_big_paddle_loop) diff --git a/docs/lua/examples/custom-level/skybox/space.0.rgba16.png b/docs/lua/examples/custom-level/skybox/space.0.rgba16.png new file mode 100644 index 000000000..deac82f83 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.0.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.1.rgba16.png b/docs/lua/examples/custom-level/skybox/space.1.rgba16.png new file mode 100644 index 000000000..e9bb51468 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.1.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.10.rgba16.png b/docs/lua/examples/custom-level/skybox/space.10.rgba16.png new file mode 100644 index 000000000..1defb9af3 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.10.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.11.rgba16.png b/docs/lua/examples/custom-level/skybox/space.11.rgba16.png new file mode 100644 index 000000000..933f8bd3d Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.11.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.12.rgba16.png b/docs/lua/examples/custom-level/skybox/space.12.rgba16.png new file mode 100644 index 000000000..f5c3ce80c Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.12.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.13.rgba16.png b/docs/lua/examples/custom-level/skybox/space.13.rgba16.png new file mode 100644 index 000000000..6eb5f6a44 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.13.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.14.rgba16.png b/docs/lua/examples/custom-level/skybox/space.14.rgba16.png new file mode 100644 index 000000000..19a4a694f Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.14.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.15.rgba16.png b/docs/lua/examples/custom-level/skybox/space.15.rgba16.png new file mode 100644 index 000000000..3966d5bc9 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.15.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.16.rgba16.png b/docs/lua/examples/custom-level/skybox/space.16.rgba16.png new file mode 100644 index 000000000..1517fd92a Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.16.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.17.rgba16.png b/docs/lua/examples/custom-level/skybox/space.17.rgba16.png new file mode 100644 index 000000000..7a5ad7e22 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.17.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.18.rgba16.png b/docs/lua/examples/custom-level/skybox/space.18.rgba16.png new file mode 100644 index 000000000..cc71991ad Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.18.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.19.rgba16.png b/docs/lua/examples/custom-level/skybox/space.19.rgba16.png new file mode 100644 index 000000000..469347d1d Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.19.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.2.rgba16.png b/docs/lua/examples/custom-level/skybox/space.2.rgba16.png new file mode 100644 index 000000000..ae5693773 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.2.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.20.rgba16.png b/docs/lua/examples/custom-level/skybox/space.20.rgba16.png new file mode 100644 index 000000000..17e084d10 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.20.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.21.rgba16.png b/docs/lua/examples/custom-level/skybox/space.21.rgba16.png new file mode 100644 index 000000000..49f5740fd Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.21.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.22.rgba16.png b/docs/lua/examples/custom-level/skybox/space.22.rgba16.png new file mode 100644 index 000000000..0ee8e8b93 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.22.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.23.rgba16.png b/docs/lua/examples/custom-level/skybox/space.23.rgba16.png new file mode 100644 index 000000000..02f6d7034 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.23.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.24.rgba16.png b/docs/lua/examples/custom-level/skybox/space.24.rgba16.png new file mode 100644 index 000000000..2324a157b Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.24.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.25.rgba16.png b/docs/lua/examples/custom-level/skybox/space.25.rgba16.png new file mode 100644 index 000000000..16effb616 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.25.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.26.rgba16.png b/docs/lua/examples/custom-level/skybox/space.26.rgba16.png new file mode 100644 index 000000000..32774261a Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.26.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.27.rgba16.png b/docs/lua/examples/custom-level/skybox/space.27.rgba16.png new file mode 100644 index 000000000..9ccc42cc2 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.27.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.28.rgba16.png b/docs/lua/examples/custom-level/skybox/space.28.rgba16.png new file mode 100644 index 000000000..6ceab7c2a Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.28.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.29.rgba16.png b/docs/lua/examples/custom-level/skybox/space.29.rgba16.png new file mode 100644 index 000000000..47b267b4f Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.29.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.3.rgba16.png b/docs/lua/examples/custom-level/skybox/space.3.rgba16.png new file mode 100644 index 000000000..8bfe549ca Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.3.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.30.rgba16.png b/docs/lua/examples/custom-level/skybox/space.30.rgba16.png new file mode 100644 index 000000000..e9e833856 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.30.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.31.rgba16.png b/docs/lua/examples/custom-level/skybox/space.31.rgba16.png new file mode 100644 index 000000000..668b9adad Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.31.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.32.rgba16.png b/docs/lua/examples/custom-level/skybox/space.32.rgba16.png new file mode 100644 index 000000000..b7c92e5ea Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.32.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.33.rgba16.png b/docs/lua/examples/custom-level/skybox/space.33.rgba16.png new file mode 100644 index 000000000..e763a98f4 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.33.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.34.rgba16.png b/docs/lua/examples/custom-level/skybox/space.34.rgba16.png new file mode 100644 index 000000000..ae2356ae4 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.34.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.35.rgba16.png b/docs/lua/examples/custom-level/skybox/space.35.rgba16.png new file mode 100644 index 000000000..5d6948732 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.35.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.36.rgba16.png b/docs/lua/examples/custom-level/skybox/space.36.rgba16.png new file mode 100644 index 000000000..092503b8a Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.36.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.37.rgba16.png b/docs/lua/examples/custom-level/skybox/space.37.rgba16.png new file mode 100644 index 000000000..9be7bd2b5 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.37.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.38.rgba16.png b/docs/lua/examples/custom-level/skybox/space.38.rgba16.png new file mode 100644 index 000000000..110747280 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.38.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.39.rgba16.png b/docs/lua/examples/custom-level/skybox/space.39.rgba16.png new file mode 100644 index 000000000..79aeaee1d Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.39.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.4.rgba16.png b/docs/lua/examples/custom-level/skybox/space.4.rgba16.png new file mode 100644 index 000000000..86cd6307b Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.4.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.40.rgba16.png b/docs/lua/examples/custom-level/skybox/space.40.rgba16.png new file mode 100644 index 000000000..b68c670fc Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.40.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.41.rgba16.png b/docs/lua/examples/custom-level/skybox/space.41.rgba16.png new file mode 100644 index 000000000..ebdb0a6ca Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.41.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.42.rgba16.png b/docs/lua/examples/custom-level/skybox/space.42.rgba16.png new file mode 100644 index 000000000..961275114 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.42.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.43.rgba16.png b/docs/lua/examples/custom-level/skybox/space.43.rgba16.png new file mode 100644 index 000000000..2497908b1 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.43.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.44.rgba16.png b/docs/lua/examples/custom-level/skybox/space.44.rgba16.png new file mode 100644 index 000000000..14b09d323 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.44.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.45.rgba16.png b/docs/lua/examples/custom-level/skybox/space.45.rgba16.png new file mode 100644 index 000000000..589699b22 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.45.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.46.rgba16.png b/docs/lua/examples/custom-level/skybox/space.46.rgba16.png new file mode 100644 index 000000000..507c8be3c Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.46.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.47.rgba16.png b/docs/lua/examples/custom-level/skybox/space.47.rgba16.png new file mode 100644 index 000000000..1c42d2fc8 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.47.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.48.rgba16.png b/docs/lua/examples/custom-level/skybox/space.48.rgba16.png new file mode 100644 index 000000000..f37ac8a65 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.48.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.49.rgba16.png b/docs/lua/examples/custom-level/skybox/space.49.rgba16.png new file mode 100644 index 000000000..2d322d8bb Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.49.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.5.rgba16.png b/docs/lua/examples/custom-level/skybox/space.5.rgba16.png new file mode 100644 index 000000000..38992b61a Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.5.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.50.rgba16.png b/docs/lua/examples/custom-level/skybox/space.50.rgba16.png new file mode 100644 index 000000000..a15879b45 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.50.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.51.rgba16.png b/docs/lua/examples/custom-level/skybox/space.51.rgba16.png new file mode 100644 index 000000000..032cf3172 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.51.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.52.rgba16.png b/docs/lua/examples/custom-level/skybox/space.52.rgba16.png new file mode 100644 index 000000000..2d52145fc Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.52.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.53.rgba16.png b/docs/lua/examples/custom-level/skybox/space.53.rgba16.png new file mode 100644 index 000000000..78bf8edb2 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.53.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.54.rgba16.png b/docs/lua/examples/custom-level/skybox/space.54.rgba16.png new file mode 100644 index 000000000..60c23cf5f Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.54.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.55.rgba16.png b/docs/lua/examples/custom-level/skybox/space.55.rgba16.png new file mode 100644 index 000000000..fd46a81b2 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.55.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.56.rgba16.png b/docs/lua/examples/custom-level/skybox/space.56.rgba16.png new file mode 100644 index 000000000..93cecc3f5 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.56.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.57.rgba16.png b/docs/lua/examples/custom-level/skybox/space.57.rgba16.png new file mode 100644 index 000000000..316a7a827 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.57.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.58.rgba16.png b/docs/lua/examples/custom-level/skybox/space.58.rgba16.png new file mode 100644 index 000000000..02c64529d Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.58.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.59.rgba16.png b/docs/lua/examples/custom-level/skybox/space.59.rgba16.png new file mode 100644 index 000000000..6f90d5e67 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.59.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.6.rgba16.png b/docs/lua/examples/custom-level/skybox/space.6.rgba16.png new file mode 100644 index 000000000..5e4ae2b41 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.6.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.60.rgba16.png b/docs/lua/examples/custom-level/skybox/space.60.rgba16.png new file mode 100644 index 000000000..36805b19c Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.60.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.61.rgba16.png b/docs/lua/examples/custom-level/skybox/space.61.rgba16.png new file mode 100644 index 000000000..41b4c3b6c Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.61.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.62.rgba16.png b/docs/lua/examples/custom-level/skybox/space.62.rgba16.png new file mode 100644 index 000000000..73a76f50d Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.62.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.63.rgba16.png b/docs/lua/examples/custom-level/skybox/space.63.rgba16.png new file mode 100644 index 000000000..14f8d793a Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.63.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.7.rgba16.png b/docs/lua/examples/custom-level/skybox/space.7.rgba16.png new file mode 100644 index 000000000..58753f780 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.7.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.8.rgba16.png b/docs/lua/examples/custom-level/skybox/space.8.rgba16.png new file mode 100644 index 000000000..154d3a487 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.8.rgba16.png differ diff --git a/docs/lua/examples/custom-level/skybox/space.9.rgba16.png b/docs/lua/examples/custom-level/skybox/space.9.rgba16.png new file mode 100644 index 000000000..17efb4ef2 Binary files /dev/null and b/docs/lua/examples/custom-level/skybox/space.9.rgba16.png differ diff --git a/docs/lua/lua.md b/docs/lua/lua.md index 5cf27f378..ce8fbe5ba 100644 --- a/docs/lua/lua.md +++ b/docs/lua/lua.md @@ -57,6 +57,7 @@ All of this is a holdover from when there were only two players. It was a reason - [Moonjump](examples/moonjump.lua) - [Instant Clip](examples/instant-clip.lua) - [Water Height Changer](examples/water-level.lua) +- [Custom Level](examples/custom-level) ## Example Lua mods (large) - [Extended Moveset](../../mods/extended-moveset.lua)