Advertisement
Guest User

Petit Smash Bros V1.2 WIP

a guest
Aug 14th, 2013
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.18 KB | None | 0 0
  1. CLEAR
  2. GOSUB @SETUP
  3. MENU_NUMBER=1
  4.  
  5. @MAIN_MENU
  6.  
  7.  
  8. @DRAW_MENU
  9. CLS
  10. LOCATE 0, 2
  11. PRINT "=============================="
  12. PRINT "----PETIT SMASH BROS V1.2 ----"
  13. PRINT "=============================-"
  14. PRINT "| 2013 by GimmeMoreCoinz |"
  15. PRINT "| ~Use Up or Down to pick~ |"
  16. PRINT "| |"
  17. PRINT "| |"
  18. PRINT "| |"
  19. PRINT "| |"
  20. PRINT "------------------------------"
  21.  
  22.  
  23. LOCATE CURSOR_X, CURSOR_Y
  24. PRINT "up/down "+CURSOR_TEXT$(MENU_NUMBER, CURSOR_OPTION)
  25.  
  26. LOCATE CURSOR_X, CURSOR_Y+20
  27. PRINT "Press Start to choose this option"
  28.  
  29. IF SKIP_MAIN==1 THEN GOTO @SKIPMAIN
  30.  
  31. '=====this just deals with selecting an option==== '
  32. B=BUTTON()
  33. IF B==1024 AND CURSOR_OPTION==1 THEN GOSUB @OPTIONS
  34. IF B==1024 AND CURSOR_OPTION==2 THEN GOSUB @SINGLEPLAYER
  35. IF B==1024 AND CURSOR_OPTION==3 THEN GOSUB @TRAINING
  36. IF B==1024 AND CURSOR_OPTION==4 THEN GOSUB @ADVENTURE
  37. IF B==1024 AND CURSOR_OPTION==5 THEN GOSUB @GALLERY
  38.  
  39. IF B==1 THEN CURSOR_OPTION=CURSOR_OPTION-1
  40. IF B==2 THEN CURSOR_OPTION=CURSOR_OPTION+1
  41. IF B>0 THEN BEEP 2
  42.  
  43. IF CURSOR_OPTION>5 THEN CURSOR_OPTION=1
  44. IF CURSOR_OPTION<1 THEN CURSOR_OPTION=5
  45. SPOFS 5, MENUMARIOX, MENUMARIOY, 2
  46. IF MENUMARIOX>254 THEN GOSUB @MARIOCHANGELEFT
  47. IF MENUMARIOX<1 THEN GOSUB @MARIOCHANGERIGHT
  48.  
  49. IF MENUMARIODIR==1 THEN MENUMARIOX=MENUMARIOX+2
  50. IF MENUMARIODIR==2 THEN MENUMARIOX=MENUMARIOX-2
  51.  
  52.  
  53. @SKIPMAIN
  54.  
  55.  
  56.  
  57. VSYNC 5
  58.  
  59. GOTO @DRAW_MENU
  60.  
  61.  
  62. @MARIOCHANGELEFT
  63. SPCHR 5, 32
  64. MENUMARIODIR=2
  65. RETURN
  66.  
  67. @MARIOCHANGERIGHT
  68. SPCHR 5, 0
  69. MENUMARIODIR=1
  70. RETURN
  71.  
  72. @SETUP
  73. PLAYER_X=0 'the player's X coordinate
  74. PLAYER_Y=0 'the player's Y coordinate
  75. CAMERA_X=0 'offsets in 8 pixels (one tile) per scroll
  76. CAMERA_Y=0 'offsets in 8 pixels (one tile) per scroll
  77. PLAYER_SPRITENUM=NULL 'is that a constant in this?
  78. DIM CHARACTER_NAMES$(4)
  79. CHARACTER_NAMES$(1)="Mario"
  80. CHARACTER_NAMES$(2)="Link"
  81. DIM LINKSPRITES$(3)
  82. LINKSPRITES$(1)="Lruns1_p" 'the first four frames of link's run cycle
  83. LINKSPRITES$(2)="Lruns2_p" 'the second four frames of link's run cycle
  84. DIM MARIOSPRITES$(3)
  85. MARIOSPRITES$(1)="MRUNS_"
  86. MARIOSPRITES$(2)="MPUNCHU"
  87. DIM CHARPALLETES$(4) 'one for link, one for mario, and two more for the other two characters
  88. CHARPALLETES$(1)="THISPAL"
  89. CHARPALLETES$(2)="Linkbgco" 'link's pallete for running
  90. DIM CHARACTERSIZES(4, 3) ' Four characters, one size for their X and one size for their Y
  91. CHARACTERSIZES(1, 1)=16 'Mario's X_size is 16
  92. CHARACTERSIZES(1, 2)=32 'Mario's Y_size is 32
  93. CHARACTERSIZES(2, 1)=64 'Link's X_size is 64
  94. CHARACTERSIZES(2, 2)=64 'Link's y_size is 64
  95.  
  96. DIM CURSOR_TEXT$(5, 6)
  97. CURSOR_TEXT$(1, 1)="Options"
  98. CURSOR_TEXT$(1, 2)="Single Player
  99. CURSOR_TEXT$(1, 3)="Training"
  100. CURSOR_TEXT$(1, 4)="Adventure"
  101. CURSOR_TEXT$(1, 5)="Gallery"
  102.  
  103.  
  104. DIM NPC_VARIABLES(5, 25) ''25 npc variables
  105. DIM NPC_PHYSICS(4, 4) 'since ptc allows for negative numbers I dont have to worry too much
  106. 'three npc's four physics values
  107. '1 is if their landed or not
  108. '2 is if their falling or not
  109. '3 is their X velocity with knockback and can be + or -
  110. '4 is their y velocity with knockback and can be + or -
  111.  
  112. '1=npc_x ; 2=npc_y ; 3=npc_playernumber ;4=npc_control number ; 5=npc map_x ; 6=npc map_y
  113. '7=npc_damage_percent ; 8=npc_status ; 9=npc_ai_mode ; 10=npc_held_item ; 11=npc_current_frame
  114. '12=npc_chr_num ; 13=npc_pallete ; 14=npc_knockback ; 15=npc_level ; 16=npc_damage_ratio
  115. '17=npc_knockback_resist ; 18=npc_pose ; 19=npc_fallspeed ; 20=npc_recover_time
  116. '21=npc_pokeball set only if has pokeball
  117. '22=npc_on_screen
  118. '23=npc_scale ' for scaling and rendering the npc to offscreen slowly or foreground
  119. '24=npc_sprite_priority 'the system will have a sprite priority i'm assuming ptc draws one sprite o
  120. 'ER ANOTHER
  121. '25=reserved //this is reserved. don't ask why. It's just a good idea.
  122.  
  123. 'NPC_Control numbers will ALWAYS be from 5 to 9. That's four npcs in total.
  124.  
  125. NPC_VARIABLES(1, 4)=5 'NPC 1 is control number 5
  126. NPC_VARIABLES(2, 4)=6 'NPC 2 is control number 6
  127. NPC_VARIABLES(3, 4)=7 'NPC 3 is control number 7
  128. NPC_VARIABLES(4, 4)=8 'NPC 4 is control number 8
  129.  
  130. CURSOR_Y=3*8
  131. CURSOR_X=25
  132. CURSOR_OPTION=1
  133. CURRENT_STAGE=0 'no stage selected! this is important
  134.  
  135. '=======stage data is unused================
  136.  
  137. DIM STAGE_DATA(3, 5) ''five values for stage data
  138. '1 is stage_size_X
  139. '2 is stage_size_y
  140. '3 stage_bg_file
  141. '============================================
  142.  
  143. DIM STAGE_BGS$(5)
  144. DIM STAGE_COLS$(5)
  145. DIM STAGE_NAMES$(5)
  146. STAGE_BGS$(1)="YOSHI_BG"
  147. STAGE_NAMES$(1)="Yoshi's Bridge"
  148. STAGE_COLS$(1)="YOSHPAL"
  149.  
  150.  
  151. SKIP_MAIN=0 'only used to make the menu more modular and re-usable
  152.  
  153. 'just a note . some custom collision detection will
  154. 'be needed
  155. 'i'm not using offsets
  156.  
  157.  
  158. LOAD"SPU0:"+MARIOSPRITES$(1), FALSE
  159. MARPAL$=CHARPALLETES$(1)
  160. LOAD"COL1:"+MARPAL$, FALSE
  161. SPSET 5, 0, 0, 0, 0, 0, 32, 32
  162. SPANIM 5, 8, 8, 0
  163. SPOFS 5, 0, 128, 0
  164. MENUMARIOX=0
  165. MENUMARIOY=128
  166. MENUMARIODIR=1
  167.  
  168. RETURN
  169.  
  170.  
  171. @SET_NPC_VALUES
  172.  
  173. NPC_VARIABLES(NPC_SELECT, 1)=NPC_X
  174. NPC_VARIABLES(NPC_SELECT, 2)=NPC_Y
  175. NPC_VARIABLES(NPC_SELECT, 3)=NPC_PLAYERNUMBER
  176. NPC_VARIABLES(NPC_SELECT, 4)=NPC_CONTROLNUMBER
  177. NPC_VARIABLES(NPC_SELECT, 5)=NPC_MAP_X
  178. NPC_VARIABLES(NPC_SELECT, 6)=NPC_MAP_Y
  179. NPC_VARIABLES(NPC_SELECT, 7)=NPC_DAMAGE_PERCENT
  180. NPC_VARIABLES(NPC_SELECT, 8)=NPC_STATUS
  181. NPC_VARIABLES(NPC_SELECT, 9)=NPC_AI_MODE
  182. NPC_VARIABLES(NPC_SELECT, 10)=NPC_HELD_ITEM
  183. NPC_VARIABLES(NPC_SELECT, 11)=NPC_CURRENT_FRAME
  184. NPC_VARIABLES(NPC_SELECT, 12)=NPC_CHR_NUM
  185. NPC_VARIABLES(NPC_SELECT, 13)=NPC_PALLETE
  186. NPC_VARIABLES(NPC_SELECT, 14)=NPC_KNOCKBACK
  187. NPC_VARIABLES(NPC_SELECT, 15)=NPC_LEVEL
  188. NPC_VARIABLES(NPC_SELECT, 16)=NPC_DAMAGE_RATIO
  189. NPC_VARIABLES(NPC_SELECT, 17)=NPC_KNOCKBACK_RESIST
  190. NPC_VARIABLES(NPC_SELECT, 18)=NPC_POSE
  191. NPC_VARIABLES(NPC_SELECT, 19)=NPC_FALLSPEED
  192. NPC_VARIABLES(NPC_SELECT, 20)=NPC_RECOVER_TIME
  193. NPC_VARIABLES(NPC_SELECT, 21)=NPC_POKEBALL
  194. NPC_VARIABLES(NPC_SELECT, 22)=NPC_ON_SCREEN
  195. NPC_VARIABLES(NPC_SELECT, 23)=NPC_SCALE
  196. NPC_VARIABLES(NPC_SELECT, 24)=NPC_SPRITE_PRIORITY
  197.  
  198.  
  199. RETURN
  200.  
  201. @LOAD_NPC_VALUES
  202. NPC_X=NPC_VARIABLES(NPC_SELECT, 1)
  203. NPC_Y=NPC_VARIABLES(NPC_SELECT, 2)
  204. NPC_PLAYERNUMBER=NPC_VARIABLES(NPC_SELECT, 3)
  205. NPC_CONTROL_NUMBER=NPC_VARIABLES(NPC_SELECT, 4)
  206. NPC_MAP_X=NPC_VARIABLES(NPC_SELECT, 5)
  207. NPC_MAP_Y=NPC_VARIABLES(NPC_SELECT, 6)
  208. NPC_DAMAGE_PERCENT=NPC_VARIABLES(NPC_SELECT, 7)
  209. NPC_STATUS=NPC_VARIABLES(NPC_SELECT, 8)
  210. NPC_AI_MODE=NPC_VARIABLES(NPC_SELECT, 9)
  211. NPC_HELD_ITEM=NPC_VARIABLES(NPC_SELECT, 10)
  212. NPC_CURRENT_FRAME=NPC_VARIABLES(NPC_SELECT, 11)
  213. NPC_CHR_NUM=NPC_VARIABLES(NPC_SELECT, 12)
  214. NPC_PALLETE=NPC_VARIABLES(NPC_SELECT, 13)
  215. NPC_KNOCKBACK=NPC_VARIABLES(NPC_SELECT, 14)
  216. NPC_LEVEL=NPC_VARIABLES(NPC_SELECT, 15)
  217. NPC_DAMAGE_RATIO=NPC_VARIABLES(NPC_SELECT, 16)
  218. NPC_KNOCKBACK_RESIST=NPC_VARIABLES(NPC_SELECT, 17)
  219. NPC_POSE=NPC_VARIABLES(NPC_SELECT, 18)
  220. NPC_FALLSPEED=NPC_VARIABLES(NPC_SELECT, 19)
  221. NPC_RECOVER_TIME=NPC_VARIABLES(NPC_SELECT, 20)
  222. NPC_POKEBALL=NPC_VARIABLES(NPC_SELECT, 21)
  223. NPC_ON_SCREEN=NPC_VARIABLES(NPC_SELECT, 22)
  224. NPC_SCALE=NPC_VARIABLES(NPC_SELECT, 23)
  225. NPC_SPRITE_PRIORITY=NPC_VARIABLES(NPC_SELECT, 24)
  226.  
  227.  
  228.  
  229. RETURN
  230.  
  231.  
  232.  
  233. @OPTIONS
  234.  
  235. RETURN
  236.  
  237. @SINGLEPLAYER
  238.  
  239.  
  240. RETURN
  241.  
  242. @TRAINING
  243.  
  244.  
  245. RETURN
  246.  
  247. @GALLERY
  248.  
  249.  
  250. RETURN
  251.  
  252.  
  253. @DRAW_STAGE
  254.  
  255.  
  256.  
  257. RETURN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement