Reset paintings on network shutdown (#393)

This commit is contained in:
Agent X 2023-05-14 22:15:25 -04:00 committed by GitHub
parent 05592d524b
commit 55dc1b6403
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 468 additions and 0 deletions

View File

@ -73,6 +73,20 @@ extern struct Painting ttm_painting;
extern struct Painting ttc_painting;
extern struct Painting sl_painting;
extern struct Painting thi_huge_painting;
extern struct Painting default_bob_painting;
extern struct Painting default_ccm_painting;
extern struct Painting default_wf_painting;
extern struct Painting default_jrb_painting;
extern struct Painting default_lll_painting;
extern struct Painting default_ssl_painting;
extern struct Painting default_hmc_painting;
extern struct Painting default_ddd_painting;
extern struct Painting default_wdw_painting;
extern struct Painting default_thi_tiny_painting;
extern struct Painting default_ttm_painting;
extern struct Painting default_ttc_painting;
extern struct Painting default_sl_painting;
extern struct Painting default_thi_huge_painting;
extern const Gfx inside_castle_seg7_dl_07023DB0[];
extern const Gfx inside_castle_seg7_dl_07028FD0[];
extern const Gfx inside_castle_seg7_dl_07029578[];

View File

@ -1743,3 +1743,381 @@ struct Painting thi_huge_painting = {
/* Size */ 1638.4f,
/* Ripples */ { 0 },
};
struct Painting default_bob_painting = {
/* id */ 0x0000,
/* Image Count */ 0x02,
/* Texture Type */ PAINTING_IMAGE,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 90.0f,
/* Position */ -5222.4f, 409.6f, -153.6f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
/* Ripple Decay */ 1.0f, 0.9608f, 0.9524f,
/* Ripple Rate */ 0.0f, 0.24f, 0.14f,
/* Ripple Dispersion */ 0.0f, 40.0f, 30.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_07023050,
/* Texture Maps */ inside_castle_seg7_painting_texture_maps_07022518,
/* Textures */ inside_castle_seg7_painting_textures_070235C0,
/* Texture w, h */ 64, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07021AC0,
/* Ripple Trigger */ RIPPLE_TRIGGER_PROXIMITY,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 614.0f,
/* Ripples */ { 0 },
};
struct Painting default_ccm_painting = {
/* id */ 0x0001,
/* Image Count */ 0x02,
/* Texture Type */ PAINTING_IMAGE,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 0.0f,
/* Position */ -2611.2f, -307.2f, -4352.0f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
/* Ripple Decay */ 1.0f, 0.9608f, 0.9524f,
/* Ripple Rate */ 0.0f, 0.24f, 0.14f,
/* Ripple Dispersion */ 0.0f, 40.0f, 30.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_070230B0,
/* Texture Maps */ inside_castle_seg7_painting_texture_maps_07022518,
/* Textures */ inside_castle_seg7_painting_textures_070235C8,
/* Texture w, h */ 64, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07021AC0,
/* Ripple Trigger */ RIPPLE_TRIGGER_PROXIMITY,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 614.0f,
/* Ripples */ { 0 },
};
struct Painting default_wf_painting = {
/* id */ 0x0002,
/* Image Count */ 0x02,
/* Texture Type */ PAINTING_IMAGE,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 0.0f,
/* Position */ -51.2f, -204.8f, -4505.6f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
/* Ripple Decay */ 1.0f, 0.9608f, 0.9524f,
/* Ripple Rate */ 0.0f, 0.24f, 0.14f,
/* Ripple Dispersion */ 0.0f, 40.0f, 30.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_07023110,
/* Texture Maps */ inside_castle_seg7_painting_texture_maps_07022518,
/* Textures */ inside_castle_seg7_painting_textures_070235D0,
/* Texture w, h */ 64, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07021AC0,
/* Ripple Trigger */ RIPPLE_TRIGGER_PROXIMITY,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 614.0f,
/* Ripples */ { 0 },
};
struct Painting default_jrb_painting = {
/* id */ 0x0003,
/* Image Count */ 0x02,
/* Texture Type */ PAINTING_IMAGE,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 270.0f,
/* Position */ 4300.8f, 409.6f, -537.6f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
/* Ripple Decay */ 1.0f, 0.9608f, 0.9524f,
/* Ripple Rate */ 0.0f, 0.24f, 0.14f,
/* Ripple Dispersion */ 0.0f, 40.0f, 30.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_07023170,
/* Texture Maps */ inside_castle_seg7_painting_texture_maps_07022518,
/* Textures */ inside_castle_seg7_painting_textures_070235D8,
/* Texture w, h */ 64, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07021AC0,
/* Ripple Trigger */ RIPPLE_TRIGGER_PROXIMITY,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 614.0f,
/* Ripples */ { 0 },
};
struct Painting default_lll_painting = {
/* id */ 0x0004,
/* Image Count */ 0x02,
/* Texture Type */ PAINTING_IMAGE,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 0.0f,
/* Position */ -1689.6f, -1126.4f, -3942.4f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
/* Ripple Decay */ 1.0f, 0.9608f, 0.9524f,
/* Ripple Rate */ 0.0f, 0.24f, 0.14f,
/* Ripple Dispersion */ 0.0f, 40.0f, 30.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_070231D0,
/* Texture Maps */ inside_castle_seg7_painting_texture_maps_07022518,
/* Textures */ inside_castle_seg7_painting_textures_070235E0,
/* Texture w, h */ 64, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07021AC0,
/* Ripple Trigger */ RIPPLE_TRIGGER_PROXIMITY,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 614.0f,
/* Ripples */ { 0 },
};
struct Painting default_ssl_painting = {
/* id */ 0x0005,
/* Image Count */ 0x02,
/* Texture Type */ PAINTING_IMAGE,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 180.0f,
/* Position */ -2611.2f, -1177.6f, -1075.2f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
/* Ripple Decay */ 1.0f, 0.9608f, 0.9524f,
/* Ripple Rate */ 0.0f, 0.24f, 0.14f,
/* Ripple Dispersion */ 0.0f, 40.0f, 30.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_07023230,
/* Texture Maps */ inside_castle_seg7_painting_texture_maps_07022518,
/* Textures */ inside_castle_seg7_painting_textures_070235E8,
/* Texture w, h */ 64, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07021AC0,
/* Ripple Trigger */ RIPPLE_TRIGGER_PROXIMITY,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 614.0f,
/* Ripples */ { 0 },
};
struct Painting default_hmc_painting = {
/* id */ 0x000E,
/* Image Count */ 0x01,
/* Texture Type */ PAINTING_ENV_MAP,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 270.0f, 0.0f,
/* Position */ 2099.2f, -1484.8f, -2278.4f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 10.0f, 30.0f,
/* Ripple Decay */ 1.0f, 1.0f, 0.98f,
/* Ripple Rate */ 0.0f, 0.05f, 0.05f,
/* Ripple Dispersion */ 0.0f, 15.0f, 15.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_07023580,
/* Texture Maps */ inside_castle_seg7_painting_env_map_texture_maps_07023044,
/* Textures */ inside_castle_seg7_painting_textures_070235F0,
/* Texture w, h */ 32, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07022640,
/* Ripple Trigger */ RIPPLE_TRIGGER_CONTINUOUS,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 768.0f,
/* Ripples */ { 0 },
};
struct Painting default_ddd_painting = {
/* id */ 0x0007,
/* Image Count */ 0x01,
/* Texture Type */ PAINTING_ENV_MAP,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 270.0f,
/* Position */ 3456.0f, -1075.2f, 1587.2f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 10.0f, 30.0f,
/* Ripple Decay */ 1.0f, 1.0f, 0.98f,
/* Ripple Rate */ 0.0f, 0.05f, 0.05f,
/* Ripple Dispersion */ 0.0f, 15.0f, 15.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_070235B8,
/* Texture Maps */ inside_castle_seg7_painting_env_map_texture_maps_07023044,
/* Textures */ inside_castle_seg7_painting_textures_070235F4,
/* Texture w, h */ 32, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07022640,
/* Ripple Trigger */ RIPPLE_TRIGGER_CONTINUOUS,
/* Alpha */ 0xB4,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 819.2f,
/* Ripples */ { 0 },
};
struct Painting default_wdw_painting = {
/* id */ 0x0008,
/* Image Count */ 0x02,
/* Texture Type */ PAINTING_IMAGE,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 0.0f,
/* Position */ -966.656f, 1305.6f, -143.36f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
/* Ripple Decay */ 1.0f, 0.9608f, 0.9524f,
/* Ripple Rate */ 0.0f, 0.24f, 0.14f,
/* Ripple Dispersion */ 0.0f, 40.0f, 30.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_07023290,
/* Texture Maps */ inside_castle_seg7_painting_texture_maps_07022518,
/* Textures */ inside_castle_seg7_painting_textures_070235F8,
/* Texture w, h */ 64, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07021AC0,
/* Ripple Trigger */ RIPPLE_TRIGGER_PROXIMITY,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 614.0f,
/* Ripples */ { 0 },
};
struct Painting default_thi_tiny_painting = {
/* id */ 0x0009,
/* Image Count */ 0x02,
/* Texture Type */ PAINTING_IMAGE,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 180.0f,
/* Position */ -4598.7842f, 1354.752f, 3005.44f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
/* Ripple Decay */ 1.0f, 0.9608f, 0.9524f,
/* Ripple Rate */ 0.0f, 0.24f, 0.14f,
/* Ripple Dispersion */ 0.0f, 40.0f, 30.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_070232F0,
/* Texture Maps */ inside_castle_seg7_painting_texture_maps_07022518,
/* Textures */ inside_castle_seg7_painting_textures_07023600,
/* Texture w, h */ 64, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07021AC0,
/* Ripple Trigger */ RIPPLE_TRIGGER_PROXIMITY,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 393.216f,
/* Ripples */ { 0 },
};
struct Painting default_ttm_painting = {
/* id */ 0x000A,
/* Image Count */ 0x02,
/* Texture Type */ PAINTING_IMAGE,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 180.0f,
/* Position */ -546.816f, 1356.8f, 3813.376f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
/* Ripple Decay */ 1.0f, 0.9608f, 0.9524f,
/* Ripple Rate */ 0.0f, 0.24f, 0.14f,
/* Ripple Dispersion */ 0.0f, 40.0f, 30.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_07023350,
/* Texture Maps */ inside_castle_seg7_painting_texture_maps_07022518,
/* Textures */ inside_castle_seg7_painting_textures_07023608,
/* Texture w, h */ 64, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07021AC0,
/* Ripple Trigger */ RIPPLE_TRIGGER_PROXIMITY,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 256.0f,
/* Ripples */ { 0 },
};
struct Painting default_ttc_painting = {
/* id */ 0x000B,
/* Image Count */ 0x02,
/* Texture Type */ PAINTING_IMAGE,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 180.0f,
/* Position */ 0.0f, 2713.6f, 7232.5122f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
/* Ripple Decay */ 1.0f, 0.9608f, 0.9524f,
/* Ripple Rate */ 0.0f, 0.24f, 0.14f,
/* Ripple Dispersion */ 0.0f, 40.0f, 30.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_070233B0,
/* Texture Maps */ inside_castle_seg7_painting_texture_maps_07022518,
/* Textures */ inside_castle_seg7_painting_textures_07023610,
/* Texture w, h */ 64, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07021AC0,
/* Ripple Trigger */ RIPPLE_TRIGGER_PROXIMITY,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 409.6f,
/* Ripples */ { 0 },
};
struct Painting default_sl_painting = {
/* id */ 0x000C,
/* Image Count */ 0x02,
/* Texture Type */ PAINTING_IMAGE,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 0.0f,
/* Position */ 3179.52f, 1408.0f, -271.36f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
/* Ripple Decay */ 1.0f, 0.9608f, 0.9524f,
/* Ripple Rate */ 0.0f, 0.24f, 0.14f,
/* Ripple Dispersion */ 0.0f, 40.0f, 30.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_07023410,
/* Texture Maps */ inside_castle_seg7_painting_texture_maps_07022518,
/* Textures */ inside_castle_seg7_painting_textures_07023618,
/* Texture w, h */ 64, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07021AC0,
/* Ripple Trigger */ RIPPLE_TRIGGER_PROXIMITY,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 716.8f,
/* Ripples */ { 0 },
};
struct Painting default_thi_huge_painting = {
/* id */ 0x000D,
/* Image Count */ 0x02,
/* Texture Type */ PAINTING_IMAGE,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 0.0f,
/* Position */ -5614.5918f, 1510.4f, -3292.16f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 40.0f, 160.0f,
/* Ripple Decay */ 1.0f, 0.9608f, 0.9524f,
/* Ripple Rate */ 0.0f, 0.12f, 0.07f,
/* Ripple Dispersion */ 0.0f, 80.0f, 60.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_070232F0,
/* Texture Maps */ inside_castle_seg7_painting_texture_maps_07022518,
/* Textures */ inside_castle_seg7_painting_textures_07023600,
/* Texture w, h */ 64, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07021AC0,
/* Ripple Trigger */ RIPPLE_TRIGGER_PROXIMITY,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 1638.4f,
/* Ripples */ { 0 },
};

View File

@ -547,3 +547,30 @@ struct Painting cotmc_painting = {
/* Size */ 723.968018f,
/* Ripples */ { 0 },
};
struct Painting default_cotmc_painting = {
/* id */ 0x000E,
/* Image Count */ 0x01,
/* Texture Type */ PAINTING_ENV_MAP,
/* Floor Status */ 0x00, 0x00 , 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 270.0f, 0.0f,
/* Position */ 2989.055908f, -4485.120117f, 5135.359863f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 10.0f, 30.0f,
/* Ripple Decay */ 1.0f, 1.0f, 0.98f,
/* Ripple Rate */ 0.0f, 0.05f, 0.05f,
/* Ripple Dispersion */ 0.0f, 15.0f, 15.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ hmc_seg7_painting_dl_070254E0,
/* Texture Maps */ hmc_seg7_painting_texture_maps_07024CD4,
/* Textures */ hmc_seg7_painting_textures_07025518,
/* Texture w, h */ 32, 32,
/* Ripple DList */ hmc_seg7_painting_dl_070242D0,
/* Ripple Trigger */ RIPPLE_TRIGGER_CONTINUOUS,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 723.968018f,
/* Ripples */ { 0 },
};

View File

@ -76,6 +76,7 @@ extern const Gfx hmc_seg7_dl_07024268[];
extern const Gfx hmc_seg7_dl_070242A0[];
extern const u8 *const hmc_seg7_painting_textures_07025518[];
extern struct Painting cotmc_painting;
extern struct Painting default_cotmc_painting;
extern const Collision hmc_seg7_collision_level[];
extern const MacroObject hmc_seg7_macro_objs[];
extern const u8 hmc_seg7_rooms[];

View File

@ -576,3 +576,30 @@ struct Painting ttm_slide_painting = {
/* Size */ 460.8f,
/* Ripples */ { 0 },
};
struct Painting default_ttm_slide_painting = {
/* id */ 0x0000,
/* Image Count */ 0x02,
/* Texture Type */ PAINTING_IMAGE,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 90.0f,
/* Position */ 3072.0f, 921.6f, -819.2f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
/* Ripple Decay */ 1.0f, 0.9608f, 0.9524f,
/* Ripple Rate */ 0.0f, 0.24f, 0.14f,
/* Ripple Dispersion */ 0.0f, 40.0f, 30.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ ttm_seg7_painting_dl_07012E98,
/* Texture Maps */ ttm_seg7_painting_texture_maps_07012E88,
/* Textures */ ttm_seg7_painting_textures_07012EF8,
/* Texture w, h */ 64, 32,
/* Ripple DList */ ttm_seg7_painting_dl_07012430,
/* Ripple Trigger */ RIPPLE_TRIGGER_PROXIMITY,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 460.8f,
/* Ripples */ { 0 },
};

View File

@ -72,6 +72,7 @@ extern const Gfx ttm_seg7_dl_070123A0[];
extern const Gfx ttm_seg7_dl_070123B8[];
extern const Gfx ttm_seg7_dl_07012410[];
extern struct Painting ttm_slide_painting;
extern struct Painting default_ttm_slide_painting;
extern const Gfx ttm_seg7_dl_07013430[];
extern const Gfx ttm_seg7_dl_07013608[];
extern const Collision ttm_seg7_collision_pitoune_2[];

View File

@ -299,5 +299,25 @@ __attribute__((constructor))
void hardcoded_reset_default_values(void) {
gLevelValues = gDefaultLevelValues;
gBehaviorValues = gDefaultBehaviorValues;
memcpy(&cotmc_painting, &default_cotmc_painting, sizeof(struct Painting));
memcpy(&bob_painting, &default_bob_painting, sizeof(struct Painting));
memcpy(&ccm_painting, &default_ccm_painting, sizeof(struct Painting));
memcpy(&wf_painting, &default_wf_painting, sizeof(struct Painting));
memcpy(&jrb_painting, &default_jrb_painting, sizeof(struct Painting));
memcpy(&lll_painting, &default_lll_painting, sizeof(struct Painting));
memcpy(&ssl_painting, &default_ssl_painting, sizeof(struct Painting));
memcpy(&hmc_painting, &default_hmc_painting, sizeof(struct Painting));
memcpy(&ddd_painting, &default_ddd_painting, sizeof(struct Painting));
memcpy(&wdw_painting, &default_wdw_painting, sizeof(struct Painting));
memcpy(&thi_tiny_painting, &default_thi_tiny_painting, sizeof(struct Painting));
memcpy(&ttm_painting, &default_ttm_painting, sizeof(struct Painting));
memcpy(&ttc_painting, &default_ttc_painting, sizeof(struct Painting));
memcpy(&sl_painting, &default_sl_painting, sizeof(struct Painting));
memcpy(&thi_huge_painting, &default_thi_huge_painting, sizeof(struct Painting));
memcpy(&ttm_slide_painting, &default_ttm_slide_painting, sizeof(struct Painting));
gPaintingValues = gDefaultPaintingValues;
}