sm64

A Super Mario 64 decompilation
Log | Files | Refs | README | LICENSE

geo.inc.c (12810B)


      1 // 0x160003A8
      2 const GeoLayout castle_door_geo[] = {
      3     GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
      4     GEO_OPEN_NODE(),
      5         GEO_SCALE(0x00, 16384),
      6         GEO_OPEN_NODE(),
      7             GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
      8             GEO_OPEN_NODE(),
      9                 GEO_OPEN_NODE(),
     10                     GEO_RENDER_RANGE(-2048, 3500),
     11                     GEO_OPEN_NODE(),
     12                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
     13                     GEO_CLOSE_NODE(),
     14                     GEO_RENDER_RANGE(3500, 32767),
     15                     GEO_OPEN_NODE(),
     16                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03014100),
     17                     GEO_CLOSE_NODE(),
     18                 GEO_CLOSE_NODE(),
     19                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
     20                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
     21             GEO_CLOSE_NODE(),
     22         GEO_CLOSE_NODE(),
     23     GEO_CLOSE_NODE(),
     24     GEO_CLOSE_NODE(), //! more close than open nodes
     25     GEO_END(),
     26 };
     27 
     28 // 0x1600043C
     29 const GeoLayout cabin_door_geo[] = {
     30     GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
     31     GEO_OPEN_NODE(),
     32         GEO_SCALE(0x00, 16384),
     33         GEO_OPEN_NODE(),
     34             GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
     35             GEO_OPEN_NODE(),
     36                 GEO_OPEN_NODE(),
     37                     GEO_RENDER_RANGE(-2048, 3500),
     38                     GEO_OPEN_NODE(),
     39                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013EA8),
     40                     GEO_CLOSE_NODE(),
     41                     GEO_RENDER_RANGE(3500, 32767),
     42                     GEO_OPEN_NODE(),
     43                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03014128),
     44                     GEO_CLOSE_NODE(),
     45                 GEO_CLOSE_NODE(),
     46                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
     47                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
     48             GEO_CLOSE_NODE(),
     49         GEO_CLOSE_NODE(),
     50     GEO_CLOSE_NODE(),
     51     GEO_CLOSE_NODE(), //! more close than open nodes
     52     GEO_END(),
     53 };
     54 
     55 // 0x160004D0
     56 const GeoLayout wooden_door_geo[] = {
     57     GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
     58     GEO_OPEN_NODE(),
     59         GEO_SCALE(0x00, 16384),
     60         GEO_OPEN_NODE(),
     61             GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
     62             GEO_OPEN_NODE(),
     63                 GEO_OPEN_NODE(),
     64                     GEO_RENDER_RANGE(-2048, 3500),
     65                     GEO_OPEN_NODE(),
     66                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03014A80),
     67                     GEO_CLOSE_NODE(),
     68                     GEO_RENDER_RANGE(3500, 32767),
     69                     GEO_OPEN_NODE(),
     70                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03014F98),
     71                     GEO_CLOSE_NODE(),
     72                 GEO_CLOSE_NODE(),
     73                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
     74                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
     75             GEO_CLOSE_NODE(),
     76         GEO_CLOSE_NODE(),
     77     GEO_CLOSE_NODE(),
     78     GEO_CLOSE_NODE(), //! more close than open nodes
     79     GEO_END(),
     80 };
     81 
     82 // 0x16000564
     83 const GeoLayout wooden_door2_geo[] = {
     84     GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
     85     GEO_OPEN_NODE(),
     86         GEO_SCALE(0x00, 16384),
     87         GEO_OPEN_NODE(),
     88             GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
     89             GEO_OPEN_NODE(),
     90                 GEO_OPEN_NODE(),
     91                     GEO_RENDER_RANGE(-2048, 3500),
     92                     GEO_OPEN_NODE(),
     93                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03014B30),
     94                     GEO_CLOSE_NODE(),
     95                     GEO_RENDER_RANGE(3500, 32767),
     96                     GEO_OPEN_NODE(),
     97                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03015008),
     98                     GEO_CLOSE_NODE(),
     99                 GEO_CLOSE_NODE(),
    100                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
    101                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
    102             GEO_CLOSE_NODE(),
    103         GEO_CLOSE_NODE(),
    104     GEO_CLOSE_NODE(),
    105     GEO_CLOSE_NODE(), //! more close than open nodes
    106     GEO_END(),
    107 };
    108 
    109 // 0x160005F8
    110 const GeoLayout metal_door_geo[] = {
    111     GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
    112     GEO_OPEN_NODE(),
    113         GEO_SCALE(0x00, 16384),
    114         GEO_OPEN_NODE(),
    115             GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
    116             GEO_OPEN_NODE(),
    117                 GEO_OPEN_NODE(),
    118                     GEO_RENDER_RANGE(-2048, 3500),
    119                     GEO_OPEN_NODE(),
    120                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03014BE0),
    121                     GEO_CLOSE_NODE(),
    122                     GEO_RENDER_RANGE(3500, 32767),
    123                     GEO_OPEN_NODE(),
    124                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03015078),
    125                     GEO_CLOSE_NODE(),
    126                 GEO_CLOSE_NODE(),
    127                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
    128                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
    129             GEO_CLOSE_NODE(),
    130         GEO_CLOSE_NODE(),
    131     GEO_CLOSE_NODE(),
    132     GEO_CLOSE_NODE(), //! more close than open nodes
    133     GEO_END(),
    134 };
    135 
    136 // 0x1600068C
    137 const GeoLayout hazy_maze_door_geo[] = {
    138     GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
    139     GEO_OPEN_NODE(),
    140         GEO_SCALE(0x00, 16384),
    141         GEO_OPEN_NODE(),
    142             GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
    143             GEO_OPEN_NODE(),
    144                 GEO_OPEN_NODE(),
    145                     GEO_RENDER_RANGE(-2048, 3500),
    146                     GEO_OPEN_NODE(),
    147                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03014C90),
    148                     GEO_CLOSE_NODE(),
    149                     GEO_RENDER_RANGE(3500, 32767),
    150                     GEO_OPEN_NODE(),
    151                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_030150E8),
    152                     GEO_CLOSE_NODE(),
    153                 GEO_CLOSE_NODE(),
    154                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
    155                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
    156             GEO_CLOSE_NODE(),
    157         GEO_CLOSE_NODE(),
    158     GEO_CLOSE_NODE(),
    159     GEO_CLOSE_NODE(), //! more close than open nodes
    160     GEO_END(),
    161 };
    162 
    163 // 0x16000720
    164 const GeoLayout haunted_door_geo[] = {
    165     GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
    166     GEO_OPEN_NODE(),
    167         GEO_SCALE(0x00, 16384),
    168         GEO_OPEN_NODE(),
    169             GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
    170             GEO_OPEN_NODE(),
    171                 GEO_OPEN_NODE(),
    172                     GEO_RENDER_RANGE(-2048, 3500),
    173                     GEO_OPEN_NODE(),
    174                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03014D40),
    175                     GEO_CLOSE_NODE(),
    176                     GEO_RENDER_RANGE(3500, 32767),
    177                     GEO_OPEN_NODE(),
    178                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03015158),
    179                     GEO_CLOSE_NODE(),
    180                 GEO_CLOSE_NODE(),
    181                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
    182                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
    183             GEO_CLOSE_NODE(),
    184         GEO_CLOSE_NODE(),
    185     GEO_CLOSE_NODE(),
    186     GEO_CLOSE_NODE(), //! more close than open nodes
    187     GEO_END(),
    188 };
    189 
    190 // 0x160007B4
    191 const GeoLayout castle_door_0_star_geo[] = {
    192     GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
    193     GEO_OPEN_NODE(),
    194         GEO_SCALE(0x00, 16384),
    195         GEO_OPEN_NODE(),
    196             GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
    197             GEO_OPEN_NODE(),
    198                 GEO_OPEN_NODE(),
    199                     GEO_RENDER_RANGE(-2048, 1000),
    200                     GEO_OPEN_NODE(),
    201                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
    202                         GEO_OPEN_NODE(),
    203                             GEO_DISPLAY_LIST(LAYER_TRANSPARENT, door_seg3_dl_03014250),
    204                         GEO_CLOSE_NODE(),
    205                     GEO_CLOSE_NODE(),
    206                     GEO_RENDER_RANGE(1000, 32767),
    207                     GEO_OPEN_NODE(),
    208                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
    209                         GEO_OPEN_NODE(),
    210                             GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, door_seg3_dl_03014280),
    211                         GEO_CLOSE_NODE(),
    212                     GEO_CLOSE_NODE(),
    213                 GEO_CLOSE_NODE(),
    214                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
    215                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
    216             GEO_CLOSE_NODE(),
    217         GEO_CLOSE_NODE(),
    218     GEO_CLOSE_NODE(),
    219     GEO_CLOSE_NODE(), //! more close than open nodes
    220     GEO_END(),
    221 };
    222 
    223 // 0x16000868
    224 const GeoLayout castle_door_1_star_geo[] = {
    225     GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
    226     GEO_OPEN_NODE(),
    227         GEO_SCALE(0x00, 16384),
    228         GEO_OPEN_NODE(),
    229             GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
    230             GEO_OPEN_NODE(),
    231                 GEO_OPEN_NODE(),
    232                     GEO_RENDER_RANGE(-2048, 1000),
    233                     GEO_OPEN_NODE(),
    234                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
    235                         GEO_OPEN_NODE(),
    236                             GEO_DISPLAY_LIST(LAYER_TRANSPARENT, door_seg3_dl_030142B0),
    237                         GEO_CLOSE_NODE(),
    238                     GEO_CLOSE_NODE(),
    239                     GEO_RENDER_RANGE(1000, 32767),
    240                     GEO_OPEN_NODE(),
    241                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
    242                         GEO_OPEN_NODE(),
    243                             GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, door_seg3_dl_030142E0),
    244                         GEO_CLOSE_NODE(),
    245                     GEO_CLOSE_NODE(),
    246                 GEO_CLOSE_NODE(),
    247                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
    248                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
    249             GEO_CLOSE_NODE(),
    250         GEO_CLOSE_NODE(),
    251     GEO_CLOSE_NODE(),
    252     GEO_CLOSE_NODE(), //! more close than open nodes
    253     GEO_END(),
    254 };
    255 
    256 // 0x1600091C
    257 const GeoLayout castle_door_3_stars_geo[] = {
    258     GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
    259     GEO_OPEN_NODE(),
    260         GEO_SCALE(0x00, 16384),
    261         GEO_OPEN_NODE(),
    262             GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
    263             GEO_OPEN_NODE(),
    264                 GEO_OPEN_NODE(),
    265                     GEO_RENDER_RANGE(-2048, 1000),
    266                     GEO_OPEN_NODE(),
    267                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
    268                         GEO_OPEN_NODE(),
    269                             GEO_DISPLAY_LIST(LAYER_TRANSPARENT, door_seg3_dl_03014310),
    270                         GEO_CLOSE_NODE(),
    271                     GEO_CLOSE_NODE(),
    272                     GEO_RENDER_RANGE(1000, 32767),
    273                     GEO_OPEN_NODE(),
    274                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
    275                         GEO_OPEN_NODE(),
    276                             GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, door_seg3_dl_03014340),
    277                         GEO_CLOSE_NODE(),
    278                     GEO_CLOSE_NODE(),
    279                 GEO_CLOSE_NODE(),
    280                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
    281                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
    282             GEO_CLOSE_NODE(),
    283         GEO_CLOSE_NODE(),
    284     GEO_CLOSE_NODE(),
    285     GEO_CLOSE_NODE(), //! more close than open nodes
    286     GEO_END(),
    287 };
    288 
    289 // 0x160009D0
    290 const GeoLayout key_door_geo[] = {
    291     GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
    292     GEO_OPEN_NODE(),
    293         GEO_SCALE(0x00, 16384),
    294         GEO_OPEN_NODE(),
    295             GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
    296             GEO_OPEN_NODE(),
    297                 GEO_OPEN_NODE(),
    298                     GEO_RENDER_RANGE(-2048, 1000),
    299                     GEO_OPEN_NODE(),
    300                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
    301                         GEO_OPEN_NODE(),
    302                             GEO_DISPLAY_LIST(LAYER_OPAQUE, door_seg3_dl_03014540),
    303                         GEO_CLOSE_NODE(),
    304                     GEO_CLOSE_NODE(),
    305                     GEO_RENDER_RANGE(1000, 32767),
    306                     GEO_OPEN_NODE(),
    307                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
    308                         GEO_OPEN_NODE(),
    309                             GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, door_seg3_dl_03014528),
    310                         GEO_CLOSE_NODE(),
    311                     GEO_CLOSE_NODE(),
    312                 GEO_CLOSE_NODE(),
    313                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
    314                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
    315             GEO_CLOSE_NODE(),
    316         GEO_CLOSE_NODE(),
    317     GEO_CLOSE_NODE(),
    318     GEO_CLOSE_NODE(), //! more close than open nodes
    319     GEO_END(),
    320 };