説明なし

script_language.h 20KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947
  1. #include <config.h>
  2. #include <applymovements.h>
  3. @@ Compare operands
  4. .equ B_LT, 0x0
  5. .equ B_EQ, 0x1
  6. .equ B_GT, 0x2
  7. .equ B_LE, 0x3
  8. .equ B_GE, 0x4
  9. .equ B_NE, 0x5
  10. @@ Flag operands
  11. .equ B_T, 0x0
  12. .equ B_F, 0x1
  13. @@ callstd alias
  14. .equ ITEM_OBTAIN, 0
  15. .equ ITEM_FIND, 1
  16. .equ MSG_FACE, 2
  17. .equ MSG_SIGN, 3
  18. .equ MSG_KEYOPEN, 4
  19. .equ MSG_YES_NO, 5
  20. .equ MSG_STD, 6
  21. @@@@@@@@@@@@@@@@@ Macro
  22. @@ Custom commands
  23. .macro msgbox msgbox_textpointer:req msgbox_callstd:req
  24. loadpointer 0x0 \msgbox_textpointer
  25. callstd \msgbox_callstd
  26. .endm
  27. .macro giveitem giveitem_item:req giveitem_quantity:req giveitem_messagetyp:req
  28. setvarifnotzero 0x8000 \giveitem_item
  29. setvarifnotzero 0x8001 \giveitem_quantity
  30. callstd \giveitem_messagetyp
  31. .endm
  32. .macro giveitem2 giveitem2_item:req giveitem2_quantity:req giveitem2_song:req
  33. setvarifnotzero 0x8000 \giveitem2_item
  34. setvarifnotzero 0x8001 \giveitem2_quantity
  35. setvarifnotzero 0x8002 \giveitem2_song
  36. callstd 0x9
  37. .endm
  38. .macro wildbattle wildbattle_spezies:req wildbattle_level:req wildbattle_item:req
  39. setwildbattle \wildbattle_spezies \wildbattle_level \wildbattle_item
  40. dowildbattle
  41. .endm
  42. .macro wildbattle2 wildbattle2_spezies:req wildbattle2_level:req wildbattle2_item:req wildbattle2_battlestyle:req
  43. setwildbattle \wildbattle2_spezies \wildbattle2_level \wildbattle2_item
  44. special 0x137
  45. waitstate
  46. .endm
  47. .macro msgmugr msgmugr_textpointer:req msgmugr_callstd:req msgmugr_sprite:req
  48. setvar MUGHSOT_1_TABLE \msgmugr_sprite
  49. setvar MUGSHOT_1_X 0xD0
  50. setvar MUGSHOT_1_Y 0x60
  51. msgbox \msgmugr_textpointer \msgmugr_callstd
  52. setvar MUGHSOT_1_TABLE 0x0
  53. .endm
  54. .macro msgmugl msgmugl_textpointer:req msgmugl_callstd:req msgmugl_sprite:req
  55. setvar MUGHSOT_1_TABLE \msgmugl_sprite
  56. setvar MUGSHOT_1_X 0x16
  57. setvar MUGSHOT_1_Y 0x60
  58. msgbox \msgmugl_textpointer \msgmugl_callstd
  59. setvar MUGHSOT_1_TABLE 0x0
  60. .endm
  61. .macro transparenzon
  62. clearflag FLAG_ACTIVATE
  63. .endm
  64. .macro transparenzoff
  65. setflag FLAG_ACTIVATE
  66. .endm
  67. .macro battlescreen battlescreen_grass:req battlescreen_sea:req
  68. setvar NORMAL_VAR \battlescreen_grass
  69. setvar SEA_VAR \battlescreen_sea
  70. .endm
  71. .macro cameramove cameramove_xpos:req cameramove_ypos:req
  72. setvar CAMERA_VAR_X \cameramove_xpos
  73. setvar CAMERA_VAR_Y \cameramove_ypos
  74. setvar CALLASM_VAR 0x1
  75. special 0x68
  76. .endm
  77. .macro walkingscript walkingscript_value:req
  78. setvar WALK_SCRIPT_VAR \walkingscript_value
  79. .endm
  80. .macro walkingscripton
  81. setflag FLAG_WALK_SCRIPT
  82. .endm
  83. .macro walkingscriptoff
  84. clearflag FLAG_WALK_SCRIPT
  85. .endm
  86. .macro writemusikto1 writemusikto1_from:req writemusikto1_to:req
  87. setflag FLAG_ENABLE_MUSIC_OVERRIDES
  88. setvar VAR_FROM_1 \writemusikto1_from
  89. setvar VAR_TO_1 \writemusikto1_to
  90. .endm
  91. .macro writemusikto2 writemusikto2_from:req writemusikto2_to:req
  92. setflag FLAG_ENABLE_MUSIC_OVERRIDES
  93. setvar VAR_FROM_2 \writemusikto2_from
  94. setvar VAR_TO_2 \writemusikto2_to
  95. .endm
  96. .macro writemusikto3 writemusikto3_from:req writemusikto3_to:req
  97. setflag FLAG_ENABLE_MUSIC_OVERRIDES
  98. setvar VAR_FROM_3 \writemusikto3_from
  99. setvar VAR_TO_3 \writemusikto3_to
  100. .endm
  101. .macro writemusikwithmapmusik writemusikwithmapmusik_mapmusik:req
  102. setflag FLAG_ENABLE_MUSIC_OVERRIDES
  103. setvar VAR_FROM_1 \writemusikwithmapmusik_mapmusik
  104. setvar VAR_TO_1 MUS_SKIP_PLAY
  105. .endm
  106. .macro writemusikoff
  107. clearflag FLAG_ENABLE_MUSIC_OVERRIDES
  108. .endm
  109. @@ Index commands
  110. .macro nop
  111. .byte 0x0
  112. .endm
  113. .macro nop1
  114. .byte 0x1
  115. .endm
  116. .macro end
  117. .byte 0x2
  118. .endm
  119. .macro return
  120. .byte 0x3
  121. .endm
  122. .macro call call_address:req
  123. .byte 0x4
  124. .word \call_address
  125. .endm
  126. .macro goto goto_address:req
  127. .byte 0x5
  128. .word \goto_address
  129. .endm
  130. .macro gotoif if1_value:req if1_pointer:req
  131. .byte 0x6
  132. .byte \if1_value
  133. .word \if1_pointer
  134. .endm
  135. .macro callif if2_value:req if2_pointer:req
  136. .byte 0x7
  137. .byte \if2_value
  138. .word \if2_pointer
  139. .endm
  140. .macro callstd callstd_call:req
  141. .byte 0x9
  142. .byte \callstd_call
  143. .endm
  144. .macro killscript
  145. .byte 0xD
  146. .endm
  147. .macro loadpointer loadpointer_bank:req loadpointer_pointer:req
  148. .byte 0xF
  149. .byte \loadpointer_bank
  150. .word \loadpointer_pointer
  151. .endm
  152. .macro writebytetooffset writebytetooffset_bank:req writebytetooffset_location:req
  153. .byte 0x11
  154. .byte \writebytetooffset_bank
  155. .word \writebytetooffset_location
  156. .endm
  157. .macro setvar setvar_variable:req setvar_value:req
  158. .byte 0x16
  159. .hword \setvar_variable
  160. .hword \setvar_value
  161. .endm
  162. .macro addvar addvar_variable:req addvar_value:req
  163. .byte 0x17
  164. .hword \addvar_variable
  165. .hword \addvar_value
  166. .endm
  167. .macro subvar subvar_variable:req subvar_value:req
  168. .byte 0x18
  169. .hword \subvar_variable
  170. .hword \subvar_value
  171. .endm
  172. .macro copyvar copyvar_variableADestin:req copyvar_variableBSource:req
  173. .byte 0x19
  174. .hword \copyvar_variableADestin
  175. .hword \copyvar_variableBSource
  176. .endm
  177. .macro copyvarifnotzero copyvarifnotzero_variableADestin:req copyvarifnotzero_variableBSource:req
  178. .byte 0x1A
  179. .hword \copyvarifnotzero_variableADestin
  180. .hword \copyvarifnotzero_variableBSource
  181. .endm
  182. .macro compare compare_variable:req compare_value:req
  183. .byte 0x21
  184. .hword \compare_variable
  185. .hword \compare_value
  186. .endm
  187. .macro comparevars comparevars_variableA:req comparevars_variableB:req
  188. .byte 0x22
  189. .hword \comparevars_variableA
  190. .hword \comparevars_variableB
  191. .endm
  192. .macro callasm callasm_address:req
  193. .byte 0x23
  194. .word \callasm_address
  195. .endm
  196. .macro special special_number:req
  197. .byte 0x25
  198. .hword \special_number
  199. .endm
  200. .macro special2 special2_variable:req special2_number:req
  201. .byte 0x26
  202. .hword \special2_variable
  203. .hword \special2_number
  204. .endm
  205. .macro waitstate
  206. .byte 0x27
  207. .endm
  208. .macro pause pause_delay:req
  209. .byte 0x28
  210. .hword \pause_delay
  211. .endm
  212. .macro setflag setflag_flag:req
  213. .byte 0x29
  214. .hword \setflag_flag
  215. .endm
  216. .macro clearflag clearflag_flag:req
  217. .byte 0x2A
  218. .hword \clearflag_flag
  219. .endm
  220. .macro checkflag checkflag_flag:req
  221. .byte 0x2B
  222. .hword \checkflag_flag
  223. .endm
  224. .macro resetvars
  225. .byte 0x2E
  226. .endm
  227. .macro sound sound_song:req
  228. .byte 0x2F
  229. .hword \sound_song
  230. .endm
  231. .macro checksound
  232. .byte 0x30
  233. .endm
  234. .macro fanfare fanfare_song:req
  235. .byte 0x31
  236. .hword \fanfare_song
  237. .endm
  238. .macro waitfanfare
  239. .byte 0x32
  240. .endm
  241. .macro playsong playsong_song:req playsong_value:req
  242. .byte 0x33
  243. .hword \playsong_song
  244. .byte \playsong_value
  245. .endm
  246. .macro playsong2 playsong2_song:req
  247. .byte 0x34
  248. .hword \playsong2_song
  249. .endm
  250. .macro songfadedefault
  251. .byte 0x35
  252. .endm
  253. .macro fadesong fadesong_song:req
  254. .byte 0x36
  255. .hword \fadesong_song
  256. .endm
  257. .macro fadeout fadeout_volume:req
  258. .byte 0x37
  259. .byte \fadeout_volume
  260. .endm
  261. .macro fadein fadein_volume:req
  262. .byte 0x38
  263. .byte \fadein_volume
  264. .endm
  265. .macro warp warp_bank:req warp_map:req warp_exit:req warp_x:req warp_y:req
  266. .byte 0x39
  267. .byte \warp_bank
  268. .byte \warp_map
  269. .byte \warp_exit
  270. .hword \warp_x
  271. .hword \warp_y
  272. .endm
  273. .macro warpmuted warpmuted_bank:req warpmuted_map:req warpmuted_exit:req warpmuted_x:req warpmuted_y:req
  274. .byte 0x3A
  275. .byte \warpmuted_bank
  276. .byte \warpmuted_map
  277. .byte \warpmuted_exit
  278. .hword \warpmuted_x
  279. .hword \warpmuted_y
  280. .endm
  281. .macro warpwalk warpwalk_bank:req warpwalk_map:req warpwalk_exit:req warpwalk_x:req warpwalk_y:req
  282. .byte 0x3B
  283. .byte \warpwalk_bank
  284. .byte \warpwalk_map
  285. .byte \warpwalk_exit
  286. .hword \warpwalk_x
  287. .hword \warpwalk_y
  288. .endm
  289. .macro warphole warphole_bank:req warphole_map:req
  290. .byte 0x3C
  291. .byte \warphole_bank
  292. .byte \warphole_map
  293. .endm
  294. .macro warpteleport warpteleport_bank:req warpteleport_map:req warpteleport_exit:req warpteleport_x:req warpteleport_y:req
  295. .byte 0x3D
  296. .byte \warpteleport_bank
  297. .byte \warpteleport_map
  298. .byte \warpteleport_exit
  299. .hword \warpteleport_x
  300. .hword \warpteleport_y
  301. .endm
  302. .macro setwarpplace setwarpplace_bank:req setwarpplace_map:req setwarpplace_exit:req setwarpplace_x:req setwarpplace_y:req
  303. .byte 0x3F
  304. .byte \setwarpplace_bank
  305. .byte \setwarpplace_map
  306. .byte \setwarpplace_exit
  307. .hword \setwarpplace_x
  308. .hword \setwarpplace_y
  309. .endm
  310. .macro getplayerpos getplayerpos_variableX:req getplayerpos_variableY:req
  311. .byte 0x42
  312. .hword \getplayerpos_variableX
  313. .hword \getplayerpos_variableY
  314. .endm
  315. .macro countpokemon
  316. .byte 0x43
  317. .endm
  318. .macro additem additem_item:req additem_quantity:req
  319. .byte 0x44
  320. .hword \additem_item
  321. .hword \additem_quantity
  322. .endm
  323. .macro removeitem removeitem_item:req removeitem_quantity:req
  324. .byte 0x45
  325. .hword \removeitem_item
  326. .hword \removeitem_quantity
  327. .endm
  328. .macro checkitemroom checkitemroom_item:req checkitemroom_quantity:req
  329. .byte 0x46
  330. .hword \checkitemroom_item
  331. .hword \checkitemroom_quantity
  332. .endm
  333. .macro checkitem checkitem_item:req checkitem_quantity:req
  334. .byte 0x47
  335. .hword \checkitem_item
  336. .hword \checkitem_quantity
  337. .endm
  338. .macro checkitemtype checkitemtype_item:req
  339. .byte 0x48
  340. .hword \checkitemtype_item
  341. .endm
  342. .macro addpcitem addpcitem_item:req addpcitem_quantity:req
  343. .byte 0x49
  344. .hword \addpcitem_item
  345. .hword \addpcitem_quantity
  346. .endm
  347. .macro checkpcitem checkpcitem_item:req checkpcitem_quantity:req
  348. .byte 0x4A
  349. .hword \checkpcitem_item
  350. .hword \checkpcitem_quantity
  351. .endm
  352. .macro applymovement applymovement_people:req applymovement_movedata:req
  353. .byte 0x4F
  354. .hword \applymovement_people
  355. .word \applymovement_movedata
  356. .endm
  357. .macro applymovementpos applymovementpos_people:req applymovementpos_movedata:req applymovementpos_x:req applymovementpos_y:req
  358. .byte 0x50
  359. .hword \applymovementpos_people
  360. .word \applymovementpos_movedata
  361. .byte \applymovementpos_x
  362. .byte \applymovementpos_y
  363. .endm
  364. .macro waitmovement waitmovement_people:req
  365. .byte 0x51
  366. .hword \waitmovement_people
  367. .endm
  368. .macro waitmovementpos waitmovementpos_people:req waitmovementpos_x:req waitmovementpos_y:req
  369. .byte 0x52
  370. .hword \waitmovementpos_people
  371. .byte \waitmovementpos_x
  372. .byte \waitmovementpos_y
  373. .endm
  374. .macro hidesprite hidesprite_people:req
  375. .byte 0x53
  376. .hword \hidesprite_people
  377. .endm
  378. .macro hidespritepos hidesprite_people:req hidespritepos_x:req hidespritepos_y:req
  379. .byte 0x54
  380. .hword \hidespritepos_people
  381. .byte \hidespritepos_x
  382. .byte \hidespritepos_y
  383. .endm
  384. .macro showsprite showsprite_people:req
  385. .byte 0x55
  386. .hword \showsprite_people
  387. .endm
  388. .macro showspritepos showspritepos_people:req showspritepos_x:req showspritepos_y:req
  389. .byte 0x56
  390. .hword \showspritepos_people
  391. .byte \showspritepos_x
  392. .byte \showspritepos_y
  393. .endm
  394. .macro movesprite movesprite_people:req movesprite_x:req movesprite_y:req
  395. .byte 0x57
  396. .hword \movesprite_people
  397. .hword \movesprite_x
  398. .hword \movesprite_y
  399. .endm
  400. .macro spritevisible spritevisible_people:req spritevisible_bank:req spritevisible_map:req
  401. .byte 0x58
  402. .hword \spritevisible_people
  403. .byte \spritevisible_bank
  404. .byte \spritevisible_map
  405. .endm
  406. .macro spriteinvisible spriteinvisible_people:req spriteinvisible_bank:req spriteinvisible_map:req
  407. .byte 0x59
  408. .hword \spriteinvisible_people
  409. .byte \spriteinvisible_bank
  410. .byte \spriteinvisible_map
  411. .endm
  412. .macro faceplayer
  413. .byte 0x5A
  414. .endm
  415. .macro spriteface spriteface_people:req spriteface_facing:req
  416. .byte 0x5B
  417. .hword \spriteface_people
  418. .byte \spriteface_facing
  419. .endm
  420. .macro trainerbattle trainerbattle_kind:req trainerbattle_id:req trainerbattle_value:req trainerbattle_before:req trainerbattle_after:req trainerbattle_later
  421. .byte 0x5C
  422. .byte \trainerbattle_kind
  423. .hword \trainerbattle_id
  424. .hword \trainerbattle_value
  425. .word \trainerbattle_before
  426. .word \trainerbattle_after
  427. .word \trainerbattle_later
  428. .endm
  429. .macro repeattrainerbattle
  430. .byte 0x5D
  431. .endm
  432. .macro endtrainerbattle
  433. .byte 0x5E
  434. .endm
  435. .macro endtrainerbattle2
  436. .byte 0x5E
  437. .endm
  438. .macro checktrainerflag checktrainerflag_flag:req
  439. .byte 0x60
  440. .hword \checktrainerflag_flag
  441. .endm
  442. .macro settrainerflag settrainerflag_flag:req
  443. .byte 0x61
  444. .hword \settrainerflag_flag
  445. .endm
  446. .macro cleartrainerflag cleartrainerflag_flag:req
  447. .byte 0x62
  448. .hword \cleartrainerflag_flag
  449. .endm
  450. .macro movesprite2 movesprite2_people:req movesprite2_x:req movesprite2_y:req
  451. .byte 0x63
  452. .hword \movesprite2_people
  453. .hword \movesprite2_x
  454. .hword \movesprite2_y
  455. .endm
  456. .macro moveoffscreen moveoffscreen_people:req
  457. .byte 0x64
  458. .hword \moveoffscreen_people
  459. .endm
  460. .macro spritebehave spritebehave_people:req spritebehave_facing:req
  461. .byte 0x65
  462. .hword \spritebehave_people
  463. .byte \spritebehave_facing
  464. .endm
  465. .macro waitmsg
  466. .byte 0x66
  467. .endm
  468. .macro preparemsg preparemsg_text:req
  469. .byte 0x67
  470. .word \preparemsg_text
  471. .endm
  472. .macro closeonkeypress
  473. .byte 0x68
  474. .endm
  475. .macro lockall
  476. .byte 0x69
  477. .endm
  478. .macro lock
  479. .byte 0x6A
  480. .endm
  481. .macro releaseall
  482. .byte 0x6B
  483. .endm
  484. .macro release
  485. .byte 0x6C
  486. .endm
  487. .macro waitkeypress
  488. .byte 0x6D
  489. .endm
  490. .macro yesnobox yesnobox_x:req yesnobox_y:req
  491. .byte 0x6E
  492. .byte \yesnobox_x
  493. .byte \yesnobox_y
  494. .endm
  495. .macro multichoice multichoice_x:req multichoice_y:req multichoice_choiceList:req multichoice_determines:req
  496. .byte 0x6F
  497. .byte \multichoice_x
  498. .byte \multichoice_y
  499. .byte \multichoice_choiceList
  500. .byte \multichoice_determines
  501. .endm
  502. .macro multichoice2 multichoice2_x:req multichoice2_y:req multichoice2_choiceList:req multichoice2_defaultchoice:req multichoice2_determines:req
  503. .byte 0x70
  504. .byte \multichoice2_x
  505. .byte \multichoice2_y
  506. .byte \multichoice2_choiceList
  507. .byte \multichoice2_defaultchoice
  508. .byte \multichoice2_determines
  509. .endm
  510. .macro multichoice3 multichoice3_x:req multichoice3_y:req multichoice3_choiceList:req multichoice3_numberofchoices:req multichoice3_determines:req
  511. .byte 0x71
  512. .byte \multichoice3_x
  513. .byte \multichoice3_y
  514. .byte \multichoice3_choiceList
  515. .byte \multichoice3_numberofchoices
  516. .byte \multichoice3_determines
  517. .endm
  518. .macro showpokepic showpokepic_spezies:req showpokepic_x:req showpokepic_y:req
  519. .byte 0x75
  520. .hword \showpokepic_spezies
  521. .byte \showpokepic_x
  522. .byte \showpokepic_y
  523. .endm
  524. .macro hidepokepic
  525. .byte 0x76
  526. .endm
  527. .macro braile braile_data:req
  528. .byte 0x78
  529. .word \braile_data
  530. .endm
  531. .macro givepokemon givepokemon_spezies:req givepokemon_level:req givepokemon_item:req givepokemon_one givepokemon_two givepokemon_three
  532. .byte 0x79
  533. .hword \givepokemon_spezies
  534. .byte \givepokemon_level
  535. .hword \givepokemon_item
  536. .word 0x0
  537. .word 0x0
  538. .byte 0x0
  539. .endm
  540. .macro giveegg giveegg_spezies:req
  541. .byte 0x7A
  542. .hword \giveegg_spezies
  543. .endm
  544. .macro setpokemonmove setpokemonmove_partyslot:req setpokemonmove_moveslot:req setpokemonmove_move:req
  545. .byte 0x7B
  546. .byte \setpokemonmove_partyslot
  547. .byte \setpokemonmove_moveslot
  548. .hword \setpokemonmove_move
  549. .endm
  550. .macro checkattack checkattack_move:req
  551. .byte 0x7C
  552. .hword \checkattack_move
  553. .endm
  554. .macro bufferpokemon bufferpokemon_buffernumber:req bufferpokemon_spezies:req
  555. .byte 0x7D
  556. .byte \bufferpokemon_buffernumber
  557. .hword \bufferpokemon_spezies
  558. .endm
  559. .macro bufferfirstpokemon bufferfirstpokemon_buffernumber:req
  560. .byte 0x7E
  561. .byte \bufferfirstpokemon_buffernumber
  562. .endm
  563. .macro bufferpartypokemon bufferpartypokemon_buffernumber:req bufferpartypokemon_spezies:req
  564. .byte 0x7F
  565. .byte \bufferpartypokemon_buffernumber
  566. .hword \bufferpartypokemon_spezies
  567. .endm
  568. .macro bufferitem bufferitem_buffernumber:req bufferitem_item:req
  569. .byte 0x80
  570. .byte \bufferitem_buffernumber
  571. .hword \bufferitem_item
  572. .endm
  573. .macro bufferattack bufferattack_buffernumber:req bufferattack_attack:req
  574. .byte 0x82
  575. .byte \bufferattack_buffernumber
  576. .hword \bufferattack_attack
  577. .endm
  578. .macro buffernumber buffernumber_buffernumber:req buffernumber_variable:req
  579. .byte 0x83
  580. .byte \buffernumber_buffernumber
  581. .hword \buffernumber_variable
  582. .endm
  583. .macro bufferstd bufferstd_buffernumber:req bufferstd_variable:req
  584. .byte 0x84
  585. .byte \bufferstd_buffernumber
  586. .hword \bufferstd_stdnumber
  587. .endm
  588. .macro bufferstring bufferstring_buffernumber:req bufferstring_string:req
  589. .byte 0x85
  590. .byte \bufferstring_buffernumber
  591. .word \bufferstring_string
  592. .endm
  593. .macro pokemart pokemart_list:req
  594. .byte 0x86
  595. .word \pokemart_list
  596. .endm
  597. .macro pokemart3 pokemart_list_three:req
  598. .byte 0x86
  599. .word \pokemart_list_three
  600. .endm
  601. .macro random random_possiblities:req
  602. .byte 0x8F
  603. .hword \random_possiblities
  604. .endm
  605. .macro givemoney givemoney_quantity:req givemoney_command:req
  606. .byte 0x90
  607. .word \givemoney_quantity
  608. .byte \givemoney_command
  609. .endm
  610. .macro paymoney paymoney_quantity:req paymoney_command:req
  611. .byte 0x91
  612. .word \paymoney_quantity
  613. .byte \paymoney_command
  614. .endm
  615. .macro checkmoney checkmoney_quantity:req checkmoney_command:req
  616. .byte 0x92
  617. .word \checkmoney_quantity
  618. .byte \checkmoney_command
  619. .endm
  620. .macro showmoney showmoney_x:req showmoney_y:req showmoney_value:req
  621. .byte 0x93
  622. .byte \showmoney_x
  623. .byte \showmoney_y
  624. .byte \showmoney_value
  625. .endm
  626. .macro hidemoney hidemoney_x:req hidemoney_y:req
  627. .byte 0x94
  628. .byte \hidemoney_x
  629. .byte \hidemoney_y
  630. .endm
  631. .macro updatemoney updatemoney_x:req updatemoney_y:req updatemoney_value:req
  632. .byte 0x95
  633. .byte \updatemoney_x
  634. .byte \updatemoney_y
  635. .byte \updatemoney_value
  636. .endm
  637. .macro fadescreen fadescreen_effect:req
  638. .byte 0x97
  639. .byte \fadescreen_effect
  640. .endm
  641. .macro fadescreendelay fadescreendelay_effect:req fadescreendelay_delay:req
  642. .byte 0x98
  643. .byte \fadescreendelay_effect
  644. .byte \fadescreendelay_delay
  645. .endm
  646. .macro darken darken_flashsize:req
  647. .byte 0x99
  648. .hword \darken_flashsize
  649. .endm
  650. .macro lighten lighten_flashsize:req
  651. .byte 0x9A
  652. .hword \lighten_flashsize
  653. .endm
  654. .macro doanimation doanimation_animation:req
  655. .byte 0x9C
  656. .hword \doanimation_animation
  657. .endm
  658. .macro setanimation setanimation_animation:req setanimation_variable:req
  659. .byte 0x9D
  660. .byte \setanimation_animation
  661. .hword \setanimation_variable
  662. .endm
  663. .macro checkanimation checkanimation_animation:req
  664. .byte 0x9E
  665. .hword \checkanimation_animation
  666. .endm
  667. .macro sethealingplace sethealingplace_flightspot:req
  668. .byte 0x9F
  669. .hword \sethealingplace_flightspot
  670. .endm
  671. .macro checkgender
  672. .byte 0xA0
  673. .endm
  674. .macro cry cry_spezies:req cry_effect:req
  675. .byte 0xA1
  676. .hword \cry_spezies
  677. .hword \cry_effect
  678. .endm
  679. .macro setmaptile setmaptile_x:req setmaptile_y:req setmaptile_tile:req setmaptile_attribut:req
  680. .byte 0xA2
  681. .hword \setmaptile_x
  682. .hword \setmaptile_y
  683. .hword \setmaptile_tile
  684. .hword \setmaptile_attribut
  685. .endm
  686. .macro resetweather
  687. .byte 0xA3
  688. .endm
  689. .macro setweather setweather_weather:req
  690. .byte 0xA4
  691. .hword \setweather_weather
  692. .endm
  693. .macro doweather
  694. .byte 0xA5
  695. .endm
  696. .macro setmapfooter setmapfooter_footer:req
  697. .byte 0xA7
  698. .hword \setmapfooter_footer
  699. .endm
  700. .macro spritelevelup spritelevelup_people:req spritelevelup_bank:req spritelevelup_map:req
  701. .byte 0xA8
  702. .hword \spritelevelup_people
  703. .byte \spritelevelup_bank
  704. .byte \spritelevelup_map
  705. .byte 0x0
  706. .endm
  707. .macro restorespritelevel restorespritelevel_people:req restorespritelevel_bank:req restorespritelevel_map:req
  708. .byte 0xA9
  709. .hword \restorespritelevel_people
  710. .byte \restorespritelevel_bank
  711. .byte \restorespritelevel_map
  712. .endm
  713. .macro createsprite createsprite_sprite:req createsprite_id:req createsprite_x:req createsprite_y:req createsprite_behaviour:req createsprite_facing:req
  714. .byte 0xAA
  715. .byte \createsprite_sprite
  716. .byte \createsprite_id
  717. .hword \createsprite_x
  718. .hword \createsprite_y
  719. .byte \createsprite_behaviour
  720. .byte \createsprite_facing
  721. .endm
  722. .macro spriteface2 spriteface2_people:req spriteface2_facing:req
  723. .byte 0xAB
  724. .hword \spriteface2_people
  725. .byte \spriteface2_facing
  726. .endm
  727. .macro setdooropened setdooropened_x:req setdooropened_y:req
  728. .byte 0xAC
  729. .hword \setdooropened_x
  730. .hword \setdooropened_y
  731. .endm
  732. .macro setdoorclosed setdoorclosed_x:req setdoorclosed_y:req
  733. .byte 0xAD
  734. .hword \setdoorclosed_x
  735. .hword \setdoorclosed_y
  736. .endm
  737. .macro doorchange
  738. .byte 0xAE
  739. .endm
  740. .macro setdooropened2 setdooropened2_x:req setdooropened2_y:req
  741. .byte 0xAF
  742. .hword \setdooropened2_x
  743. .hword \setdooropened2_y
  744. .endm
  745. .macro setdoorclosed2 setdoorclosed2_x:req setdoorclosed2_y:req
  746. .byte 0xB0
  747. .hword \setdoorclosed2_x
  748. .hword \setdoorclosed2_y
  749. .endm
  750. .macro setwildbattle setwildbattle_spezies:req setwildbattle_level:req setwildbattle_item:req
  751. .byte 0xB6
  752. .hword \setwildbattle_spezies
  753. .byte \setwildbattle_level
  754. .hword \setwildbattle_item
  755. .endm
  756. .macro dowildbattle
  757. .byte 0xB7
  758. .endm
  759. .macro savincrementkey attr:req
  760. .byte 0xC3
  761. .byte \attr
  762. .endm
  763. .macro waitcry
  764. .byte 0xC5
  765. .endm
  766. .macro setworldmapflag setworldmapflag_flag:req
  767. .byte 0xD0
  768. .hword \setworldmapflag_flag
  769. .endm
  770. .macro bufferitems bufferitems_buffernumber:req bufferitems_item:req bufferitems_quantity:req
  771. .byte 0xD4
  772. .byte \bufferitems_buffernumber
  773. .hword \bufferitems_item
  774. .hword \bufferitems_quantity
  775. .endm