Super Mario 64s source code (from a leak on 4chan so be careful)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

126 lines
5.0 KiB

6 years ago
  1. glabel level_intro_entry_1
  2. init_level
  3. fixed_load /*loadAddr*/ _goddardSegmentStart, /*romStart*/ _goddardSegmentRomStart, /*romEnd*/ _goddardSegmentRomEnd
  4. load_raw /*seg*/ 0x13, /*romStart*/ _behaviorSegmentRomStart, /*romEnd*/ _behaviorSegmentRomEnd
  5. load_mio0 /*seg*/ 0x07, /*romStart*/ _intro_segment_7SegmentRomStart, /*romEnd*/ _intro_segment_7SegmentRomEnd
  6. alloc_level_pool
  7. area /*index*/ 1, /*geo*/ intro_geo_0002D0
  8. end_area
  9. free_level_pool
  10. load_area /*area*/ 1
  11. call /*arg*/ 0, /*func*/ LevelProc_8016F508
  12. sleep /*frames*/ 75
  13. transition /*unk2*/ 1, /*unk3*/ 16, /*color*/ 0, 0, 0
  14. sleep /*frames*/ 16
  15. cmd2A /*unk2*/ 1
  16. clear_level
  17. sleep /*frames*/ 2
  18. exit_and_execute /*seg*/ 0x14, /*script*/ _introSegmentRomStart, /*scriptEnd*/ _introSegmentRomEnd, /*entry*/ level_intro_entry_2
  19. glabel level_intro_entry_2
  20. init_level
  21. blackout /*active*/ TRUE
  22. fixed_load /*loadAddr*/ _goddardSegmentStart, /*romStart*/ _goddardSegmentRomStart, /*romEnd*/ _goddardSegmentRomEnd
  23. load_mario_head /*loadHeadID*/ REGULAR_FACE
  24. load_raw /*seg*/ 0x13, /*romStart*/ _behaviorSegmentRomStart, /*romEnd*/ _behaviorSegmentRomEnd
  25. load_mio0_texture /*seg*/ 0x0A, /*romStart*/ _title_screen_bg_mio0SegmentRomStart, /*romEnd*/ _title_screen_bg_mio0SegmentRomEnd
  26. alloc_level_pool
  27. area /*index*/ 1, /*geo*/ intro_geo_00035C
  28. end_area
  29. free_level_pool
  30. sleep /*frames*/ 2
  31. blackout /*active*/ FALSE
  32. load_area /*area*/ 1
  33. set_menu_music /*seq*/ 0x0002
  34. transition /*unk2*/ 8, /*unk3*/ 20, /*color*/ 0, 0, 0
  35. sleep /*frames*/ 20
  36. call_loop /*arg*/ 1, /*func*/ LevelProc_8016F508
  37. jump_if /*op*/ OP_EQ, /*arg*/ 100, /*target*/ L1
  38. jump_if /*op*/ OP_EQ, /*arg*/ 101, /*target*/ L2
  39. jump /*target*/ L4
  40. glabel level_intro_entry_3
  41. init_level
  42. blackout /*active*/ TRUE
  43. fixed_load /*loadAddr*/ _goddardSegmentStart, /*romStart*/ _goddardSegmentRomStart, /*romEnd*/ _goddardSegmentRomEnd
  44. load_mario_head /*loadHeadID*/ DIZZY_FACE
  45. load_raw /*seg*/ 0x13, /*romStart*/ _behaviorSegmentRomStart, /*romEnd*/ _behaviorSegmentRomEnd
  46. load_mio0_texture /*seg*/ 0x0A, /*romStart*/ _title_screen_bg_mio0SegmentRomStart, /*romEnd*/ _title_screen_bg_mio0SegmentRomEnd
  47. alloc_level_pool
  48. area /*index*/ 1, /*geo*/ intro_geo_0003B8
  49. end_area
  50. free_level_pool
  51. sleep /*frames*/ 2
  52. blackout /*active*/ FALSE
  53. load_area /*area*/ 1
  54. set_menu_music /*seq*/ 0x0082
  55. transition /*unk2*/ 8, /*unk3*/ 20, /*color*/ 0, 0, 0
  56. sleep /*frames*/ 20
  57. call_loop /*arg*/ 2, /*func*/ LevelProc_8016F508
  58. jump_if /*op*/ OP_EQ, /*arg*/ 100, /*target*/ L1
  59. jump_if /*op*/ OP_EQ, /*arg*/ 101, /*target*/ L2
  60. jump /*target*/ L4
  61. glabel level_intro_entry_4
  62. init_level
  63. load_raw /*seg*/ 0x13, /*romStart*/ _behaviorSegmentRomStart, /*romEnd*/ _behaviorSegmentRomEnd
  64. load_mio0_texture /*seg*/ 0x0A, /*romStart*/ _title_screen_bg_mio0SegmentRomStart, /*romEnd*/ _title_screen_bg_mio0SegmentRomEnd
  65. load_mio0 /*seg*/ 0x07, /*romStart*/ _debug_level_select_mio0SegmentRomStart, /*romEnd*/ _debug_level_select_mio0SegmentRomEnd
  66. fixed_load /*loadAddr*/ _goddardSegmentStart, /*romStart*/ _goddardSegmentRomStart, /*romEnd*/ _goddardSegmentRomEnd
  67. alloc_level_pool
  68. area /*index*/ 1, /*geo*/ intro_geo_000414
  69. end_area
  70. free_level_pool
  71. load_area /*area*/ 1
  72. set_menu_music /*seq*/ 0x0002
  73. transition /*unk2*/ 0, /*unk3*/ 16, /*color*/ -1, -1, -1
  74. sleep /*frames*/ 16
  75. call_loop /*arg*/ 3, /*func*/ LevelProc_8016F508
  76. jump_if /*op*/ OP_EQ, /*arg*/ -1, /*target*/ L5
  77. jump /*target*/ L3
  78. L1:
  79. cmd38 /*unk2*/ 0x00BE
  80. transition /*unk2*/ 1, /*unk3*/ 16, /*color*/ -1, -1, -1
  81. sleep /*frames*/ 16
  82. clear_level
  83. sleep /*frames*/ 2
  84. set_reg /*value*/ 16
  85. exit_and_execute /*seg*/ 0x14, /*script*/ _menuSegmentRomStart, /*scriptEnd*/ _menuSegmentRomEnd, /*entry*/ level_main_menu_entry_1
  86. L2:
  87. transition /*unk2*/ 1, /*unk3*/ 16, /*color*/ -1, -1, -1
  88. sleep /*frames*/ 16
  89. clear_level
  90. sleep /*frames*/ 2
  91. exit_and_execute /*seg*/ 0x14, /*script*/ _introSegmentRomStart, /*scriptEnd*/ _introSegmentRomEnd, /*entry*/ level_intro_entry_4
  92. L3:
  93. cmd38 /*unk2*/ 0x00BE
  94. transition /*unk2*/ 1, /*unk3*/ 16, /*color*/ -1, -1, -1
  95. sleep /*frames*/ 16
  96. clear_level
  97. sleep /*frames*/ 2
  98. exit_and_execute /*seg*/ 0x15, /*script*/ _scriptsSegmentRomStart, /*scriptEnd*/ _scriptsSegmentRomEnd, /*entry*/ level_main_scripts_entry
  99. L4:
  100. transition /*unk2*/ 1, /*unk3*/ 16, /*color*/ -1, -1, -1
  101. sleep /*frames*/ 16
  102. clear_level
  103. sleep /*frames*/ 2
  104. exit_and_execute /*seg*/ 0x15, /*script*/ _scriptsSegmentRomStart, /*scriptEnd*/ _scriptsSegmentRomEnd, /*entry*/ level_main_scripts_entry
  105. L5:
  106. cmd38 /*unk2*/ 0x00BE
  107. transition /*unk2*/ 1, /*unk3*/ 16, /*color*/ 0, 0, 0
  108. sleep /*frames*/ 16
  109. clear_level
  110. sleep /*frames*/ 2
  111. exit_and_execute /*seg*/ 0x14, /*script*/ _introSegmentRomStart, /*scriptEnd*/ _introSegmentRomEnd, /*entry*/ level_intro_entry_1