Custom level example

This commit is contained in:
MysterD 2022-04-15 22:01:19 -07:00
parent 6b67c983ec
commit 643850ef2e
87 changed files with 1145 additions and 0 deletions

View file

@ -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()
};

View file

@ -0,0 +1 @@
extern const Collision big_paddle_collision[];

View file

@ -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(),
};

View file

@ -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[];

View file

@ -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(),
};

View file

@ -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()
};

View file

@ -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(),
};

View file

@ -0,0 +1,4 @@
const MacroObject bob_area_1_macro_objs[] = {
MACRO_OBJECT_END(),
};

View file

@ -0,0 +1,17 @@
#include <ultra64.h>
#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"

View file

@ -0,0 +1 @@
#include "levels/bob/area_1/geo.inc.c"

View file

@ -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

View file

@ -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[];

View file

@ -0,0 +1,14 @@
#include <ultra64.h>"
#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"

View file

@ -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"

View file

@ -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(),
};

View file

@ -0,0 +1,59 @@
#include <ultra64.h>
#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(),
};

View file

@ -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,
};

View file

@ -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)

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 962 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -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) - [Moonjump](examples/moonjump.lua)
- [Instant Clip](examples/instant-clip.lua) - [Instant Clip](examples/instant-clip.lua)
- [Water Height Changer](examples/water-level.lua) - [Water Height Changer](examples/water-level.lua)
- [Custom Level](examples/custom-level)
## Example Lua mods (large) ## Example Lua mods (large)
- [Extended Moveset](../../mods/extended-moveset.lua) - [Extended Moveset](../../mods/extended-moveset.lua)