sm64

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

geo.inc.c (20630B)


      1 // 0x0D0000D8
      2 const GeoLayout bowser_geo_0000D8[] = {
      3     GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0x9B, 400),
      4     GEO_OPEN_NODE(),
      5         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06040210),
      6         GEO_OPEN_NODE(),
      7             GEO_ANIMATED_PART(LAYER_OPAQUE, -89, -2, -18, NULL),
      8             GEO_OPEN_NODE(),
      9                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
     10                 GEO_OPEN_NODE(),
     11                     GEO_ANIMATED_PART(LAYER_OPAQUE, 69, 0, 0, NULL),
     12                     GEO_OPEN_NODE(),
     13                         GEO_ANIMATED_PART(LAYER_OPAQUE, 85, 0, 0, NULL),
     14                         GEO_OPEN_NODE(),
     15                             GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603D200),
     16                         GEO_CLOSE_NODE(),
     17                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603E6B8),
     18                     GEO_CLOSE_NODE(),
     19                 GEO_CLOSE_NODE(),
     20             GEO_CLOSE_NODE(),
     21             GEO_ANIMATED_PART(LAYER_OPAQUE, 0, -32, -112, NULL),
     22             GEO_OPEN_NODE(),
     23                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
     24                 GEO_OPEN_NODE(),
     25                     GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06043698),
     26                     GEO_ASM(0, geo_update_body_rot_from_parent),
     27                 GEO_CLOSE_NODE(),
     28             GEO_CLOSE_NODE(),
     29             GEO_ANIMATED_PART(LAYER_OPAQUE, 118, 67, 105, NULL),
     30             GEO_OPEN_NODE(),
     31                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
     32                 GEO_OPEN_NODE(),
     33                     GEO_ANIMATED_PART(LAYER_OPAQUE, 65, 0, 0, NULL),
     34                     GEO_OPEN_NODE(),
     35                         GEO_ANIMATED_PART(LAYER_OPAQUE, 49, 0, 0, NULL),
     36                         GEO_OPEN_NODE(),
     37                             GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603B208),
     38                         GEO_CLOSE_NODE(),
     39                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_060399D8),
     40                     GEO_CLOSE_NODE(),
     41                     GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_060392E0),
     42                 GEO_CLOSE_NODE(),
     43             GEO_CLOSE_NODE(),
     44             GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 136, 130, NULL),
     45             GEO_OPEN_NODE(),
     46                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
     47                 GEO_OPEN_NODE(),
     48                     GEO_ANIMATED_PART(LAYER_OPAQUE, 61, 0, 0, NULL),
     49                     GEO_OPEN_NODE(),
     50                         GEO_ANIMATED_PART(LAYER_OPAQUE, -13, 258, 0, bowser_seg6_dl_060431F0),
     51                     GEO_CLOSE_NODE(),
     52                     GEO_SWITCH_CASE(9, geo_switch_bowser_eyes),
     53                     GEO_OPEN_NODE(),
     54                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06042348),
     55                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_060423A0),
     56                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_060423F8),
     57                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06042450),
     58                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_060424A8),
     59                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06042500),
     60                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06042558),
     61                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_060425B0),
     62                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06042608),
     63                     GEO_CLOSE_NODE(),
     64                 GEO_CLOSE_NODE(),
     65             GEO_CLOSE_NODE(),
     66             GEO_ANIMATED_PART(LAYER_OPAQUE, -118, 67, 105, NULL),
     67             GEO_OPEN_NODE(),
     68                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
     69                 GEO_OPEN_NODE(),
     70                     GEO_ANIMATED_PART(LAYER_OPAQUE, 65, 0, 0, NULL),
     71                     GEO_OPEN_NODE(),
     72                         GEO_ANIMATED_PART(LAYER_OPAQUE, 49, 0, 0, NULL),
     73                         GEO_OPEN_NODE(),
     74                             GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603DFB0),
     75                         GEO_CLOSE_NODE(),
     76                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603C6D0),
     77                     GEO_CLOSE_NODE(),
     78                     GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603BFC8),
     79                 GEO_CLOSE_NODE(),
     80             GEO_CLOSE_NODE(),
     81             GEO_ANIMATED_PART(LAYER_OPAQUE, 89, -2, -18, NULL),
     82             GEO_OPEN_NODE(),
     83                 GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
     84                 GEO_OPEN_NODE(),
     85                     GEO_ANIMATED_PART(LAYER_OPAQUE, 69, 0, 0, NULL),
     86                     GEO_OPEN_NODE(),
     87                         GEO_ANIMATED_PART(LAYER_OPAQUE, 85, 0, 0, NULL),
     88                         GEO_OPEN_NODE(),
     89                             GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603A4E8),
     90                         GEO_CLOSE_NODE(),
     91                         GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603B8D0),
     92                     GEO_CLOSE_NODE(),
     93                 GEO_CLOSE_NODE(),
     94             GEO_CLOSE_NODE(),
     95             GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
     96             GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
     97             GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
     98             GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
     99             GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
    100             GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
    101             GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
    102             GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
    103             GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
    104         GEO_CLOSE_NODE(),
    105     GEO_CLOSE_NODE(),
    106     GEO_RETURN(),
    107 };
    108 
    109 // 0x0D000424
    110 const GeoLayout bowser_geo_000424[] = {
    111     GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0x9B, 400),
    112     GEO_OPEN_NODE(),
    113 #if BUGFIX_BOWSER_FADING_OUT
    114         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06040358),
    115 #else
    116         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06040210),
    117 #endif
    118         GEO_OPEN_NODE(),
    119             GEO_ANIMATED_PART(LAYER_TRANSPARENT, -89, -2, -18, NULL),
    120             GEO_OPEN_NODE(),
    121                 GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    122                 GEO_OPEN_NODE(),
    123                     GEO_ANIMATED_PART(LAYER_TRANSPARENT, 69, 0, 0, NULL),
    124                     GEO_OPEN_NODE(),
    125                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 85, 0, 0, NULL),
    126                         GEO_OPEN_NODE(),
    127                             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603D200),
    128                         GEO_CLOSE_NODE(),
    129                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603E6B8),
    130                     GEO_CLOSE_NODE(),
    131                 GEO_CLOSE_NODE(),
    132             GEO_CLOSE_NODE(),
    133             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, -32, -112, NULL),
    134             GEO_OPEN_NODE(),
    135                 GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    136                 GEO_OPEN_NODE(),
    137                     GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06043698),
    138                     GEO_ASM(0, geo_update_body_rot_from_parent),
    139                 GEO_CLOSE_NODE(),
    140             GEO_CLOSE_NODE(),
    141             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 118, 67, 105, NULL),
    142             GEO_OPEN_NODE(),
    143                 GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    144                 GEO_OPEN_NODE(),
    145                     GEO_ANIMATED_PART(LAYER_TRANSPARENT, 65, 0, 0, NULL),
    146                     GEO_OPEN_NODE(),
    147                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 49, 0, 0, NULL),
    148                         GEO_OPEN_NODE(),
    149                             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B208),
    150                         GEO_CLOSE_NODE(),
    151                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060399D8),
    152                     GEO_CLOSE_NODE(),
    153                     GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060392E0),
    154                 GEO_CLOSE_NODE(),
    155             GEO_CLOSE_NODE(),
    156             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 136, 130, NULL),
    157             GEO_OPEN_NODE(),
    158                 GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    159                 GEO_OPEN_NODE(),
    160                     GEO_ANIMATED_PART(LAYER_TRANSPARENT, 61, 0, 0, NULL),
    161                     GEO_OPEN_NODE(),
    162                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, -13, 258, 0, bowser_seg6_dl_060431F0),
    163                     GEO_CLOSE_NODE(),
    164                     GEO_SWITCH_CASE(9, geo_switch_bowser_eyes),
    165                     GEO_OPEN_NODE(),
    166                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042348),
    167                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060423A0),
    168                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060423F8),
    169                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042450),
    170                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060424A8),
    171                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042500),
    172                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042558),
    173                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060425B0),
    174                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042608),
    175                     GEO_CLOSE_NODE(),
    176                 GEO_CLOSE_NODE(),
    177             GEO_CLOSE_NODE(),
    178             GEO_ANIMATED_PART(LAYER_TRANSPARENT, -118, 67, 105, NULL),
    179             GEO_OPEN_NODE(),
    180                 GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    181                 GEO_OPEN_NODE(),
    182                     GEO_ANIMATED_PART(LAYER_TRANSPARENT, 65, 0, 0, NULL),
    183                     GEO_OPEN_NODE(),
    184                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 49, 0, 0, NULL),
    185                         GEO_OPEN_NODE(),
    186                             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603DFB0),
    187                         GEO_CLOSE_NODE(),
    188                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603C6D0),
    189                     GEO_CLOSE_NODE(),
    190                     GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603BFC8),
    191                 GEO_CLOSE_NODE(),
    192             GEO_CLOSE_NODE(),
    193             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 89, -2, -18, NULL),
    194             GEO_OPEN_NODE(),
    195                 GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    196                 GEO_OPEN_NODE(),
    197                     GEO_ANIMATED_PART(LAYER_TRANSPARENT, 69, 0, 0, NULL),
    198                     GEO_OPEN_NODE(),
    199                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 85, 0, 0, NULL),
    200                         GEO_OPEN_NODE(),
    201                             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603A4E8),
    202                         GEO_CLOSE_NODE(),
    203 #if BUGFIX_BOWSER_FADING_OUT
    204                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B948),
    205 #else
    206                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B8D0),
    207 #endif
    208                     GEO_CLOSE_NODE(),
    209                 GEO_CLOSE_NODE(),
    210             GEO_CLOSE_NODE(),
    211             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    212             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    213             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    214             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    215             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    216             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    217             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    218             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    219             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    220         GEO_CLOSE_NODE(),
    221     GEO_CLOSE_NODE(),
    222     GEO_RETURN(),
    223 };
    224 
    225 // 0x0D000770
    226 const GeoLayout bowser_geo_000770[] = {
    227     GEO_NODE_START(),
    228     GEO_OPEN_NODE(),
    229 #if BUGFIX_BOWSER_FADING_OUT
    230         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06040358),
    231 #else
    232         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06040210),
    233 #endif
    234         GEO_OPEN_NODE(),
    235             GEO_ANIMATED_PART(LAYER_TRANSPARENT, -89, -2, -18, NULL),
    236             GEO_OPEN_NODE(),
    237                 GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    238                 GEO_OPEN_NODE(),
    239                     GEO_ANIMATED_PART(LAYER_TRANSPARENT, 69, 0, 0, NULL),
    240                     GEO_OPEN_NODE(),
    241                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 85, 0, 0, NULL),
    242                         GEO_OPEN_NODE(),
    243                             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603D200),
    244                         GEO_CLOSE_NODE(),
    245                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603E6B8),
    246                     GEO_CLOSE_NODE(),
    247                 GEO_CLOSE_NODE(),
    248             GEO_CLOSE_NODE(),
    249             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, -32, -112, NULL),
    250             GEO_OPEN_NODE(),
    251                 GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    252                 GEO_OPEN_NODE(),
    253                     GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06043698),
    254                     GEO_ASM(0, geo_update_body_rot_from_parent),
    255                 GEO_CLOSE_NODE(),
    256             GEO_CLOSE_NODE(),
    257             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 118, 67, 105, NULL),
    258             GEO_OPEN_NODE(),
    259                 GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    260                 GEO_OPEN_NODE(),
    261                     GEO_ANIMATED_PART(LAYER_TRANSPARENT, 65, 0, 0, NULL),
    262                     GEO_OPEN_NODE(),
    263                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 49, 0, 0, NULL),
    264                         GEO_OPEN_NODE(),
    265                             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B208),
    266                         GEO_CLOSE_NODE(),
    267                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060399D8),
    268                     GEO_CLOSE_NODE(),
    269                     GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060392E0),
    270                 GEO_CLOSE_NODE(),
    271             GEO_CLOSE_NODE(),
    272             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 136, 130, NULL),
    273             GEO_OPEN_NODE(),
    274                 GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    275                 GEO_OPEN_NODE(),
    276                     GEO_ANIMATED_PART(LAYER_TRANSPARENT, 61, 0, 0, NULL),
    277                     GEO_OPEN_NODE(),
    278                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, -13, 258, 0, bowser_seg6_dl_060431F0),
    279                     GEO_CLOSE_NODE(),
    280                     GEO_SWITCH_CASE(9, geo_switch_bowser_eyes),
    281                     GEO_OPEN_NODE(),
    282                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042348),
    283                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060423A0),
    284                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060423F8),
    285                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042450),
    286                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060424A8),
    287                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042500),
    288                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042558),
    289                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060425B0),
    290                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042608),
    291                     GEO_CLOSE_NODE(),
    292                 GEO_CLOSE_NODE(),
    293             GEO_CLOSE_NODE(),
    294             GEO_ANIMATED_PART(LAYER_TRANSPARENT, -118, 67, 105, NULL),
    295             GEO_OPEN_NODE(),
    296                 GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    297                 GEO_OPEN_NODE(),
    298                     GEO_ANIMATED_PART(LAYER_TRANSPARENT, 65, 0, 0, NULL),
    299                     GEO_OPEN_NODE(),
    300                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 49, 0, 0, NULL),
    301                         GEO_OPEN_NODE(),
    302                             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603DFB0),
    303                         GEO_CLOSE_NODE(),
    304                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603C6D0),
    305                     GEO_CLOSE_NODE(),
    306                     GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603BFC8),
    307                 GEO_CLOSE_NODE(),
    308             GEO_CLOSE_NODE(),
    309             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 89, -2, -18, NULL),
    310             GEO_OPEN_NODE(),
    311                 GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    312                 GEO_OPEN_NODE(),
    313                     GEO_ANIMATED_PART(LAYER_TRANSPARENT, 69, 0, 0, NULL),
    314                     GEO_OPEN_NODE(),
    315                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 85, 0, 0, NULL),
    316                         GEO_OPEN_NODE(),
    317                             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603A4E8),
    318                         GEO_CLOSE_NODE(),
    319 #if BUGFIX_BOWSER_FADING_OUT
    320                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B948),
    321 #else
    322                         GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B8D0),
    323 #endif
    324                     GEO_CLOSE_NODE(),
    325                 GEO_CLOSE_NODE(),
    326             GEO_CLOSE_NODE(),
    327             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    328             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    329             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    330             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    331             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    332             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    333             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    334             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    335             GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
    336         GEO_CLOSE_NODE(),
    337     GEO_CLOSE_NODE(),
    338     GEO_RETURN(),
    339 };
    340 
    341 #ifndef VERSION_JP
    342 // 0x0D000AB8
    343 const GeoLayout bowser_shadow_geo[] = {
    344     GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0x9B, 400),
    345     GEO_RETURN(),
    346 };
    347 #endif
    348 
    349 // 0x0D000AB8 / 0AC4
    350 const GeoLayout bowser_geo[] = {
    351     GEO_NODE_START(),
    352     GEO_OPEN_NODE(),
    353         GEO_ASM(0, geo_update_layer_transparency),
    354 #ifndef VERSION_JP
    355         GEO_SWITCH_CASE(3, geo_switch_anim_state),
    356 #else
    357         GEO_SWITCH_CASE(2, geo_switch_anim_state),
    358 #endif
    359         GEO_OPEN_NODE(),
    360             GEO_NODE_START(),
    361             GEO_OPEN_NODE(),
    362                 GEO_ASM(0, geo_bits_bowser_coloring),
    363                 GEO_BRANCH(1, bowser_geo_0000D8),
    364             GEO_CLOSE_NODE(),
    365 
    366             GEO_NODE_START(),
    367             GEO_OPEN_NODE(),
    368                 GEO_ASM(0, geo_bits_bowser_coloring),
    369                 GEO_BRANCH(1, bowser_geo_000424),
    370             GEO_CLOSE_NODE(),
    371 
    372 #ifndef VERSION_JP
    373             GEO_NODE_START(),
    374             GEO_OPEN_NODE(),
    375                 GEO_ASM(0, geo_bits_bowser_coloring),
    376                 GEO_BRANCH(1, bowser_shadow_geo),
    377             GEO_CLOSE_NODE(),
    378 #endif
    379         GEO_CLOSE_NODE(),
    380 
    381     GEO_CLOSE_NODE(),
    382     GEO_END(),
    383 };
    384 
    385 // 0x0D000B18 / 0B40
    386 const GeoLayout bowser_geo_no_shadow[] = {
    387     GEO_NODE_START(),
    388     GEO_OPEN_NODE(),
    389         GEO_ASM(0, geo_update_layer_transparency),
    390 #ifndef VERSION_JP
    391         GEO_SWITCH_CASE(3, geo_switch_anim_state),
    392 #else
    393         GEO_SWITCH_CASE(2, geo_switch_anim_state),
    394 #endif
    395         GEO_OPEN_NODE(),
    396             GEO_NODE_START(),
    397             GEO_OPEN_NODE(),
    398                 GEO_ASM(0, geo_bits_bowser_coloring),
    399                 GEO_BRANCH(1, bowser_geo_0000D8),
    400             GEO_CLOSE_NODE(),
    401 
    402             GEO_NODE_START(),
    403             GEO_OPEN_NODE(),
    404                 GEO_ASM(0, geo_bits_bowser_coloring),
    405                 GEO_BRANCH(1, bowser_geo_000770),
    406             GEO_CLOSE_NODE(),
    407 
    408 #ifndef VERSION_JP
    409             GEO_NODE_START(),
    410             GEO_OPEN_NODE(),
    411                 GEO_ASM(0, geo_bits_bowser_coloring),
    412                 GEO_BRANCH(1, bowser_shadow_geo),
    413             GEO_CLOSE_NODE(),
    414 #endif
    415         GEO_CLOSE_NODE(),
    416 
    417     GEO_CLOSE_NODE(),
    418     GEO_END(),
    419 };