ZoriaRPG

New ZScript (ZC 2.54, Alpha 2)

Oct 24th, 2017
164
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ZC 2.54, Alpha 2
  2.  
  3. /////////////////
  4. /// ZScript ///
  5. /////////////////
  6.  
  7.  
  8. Added Audio-> pointer, for audio and music functions. Old functions such as PlaySOund are /cloned/ here, so
  9. you may do either game->PlaySound(), or Audio->PlaySOund() with the same effect.
  10. New audio function will be here.
  11. Added Debug-> pointer, for experimental stuff, and things meant purely for debugging.
  12. Added NPCData-> pointer, for editing the enemy editor npc values.
  13. Added Text-> Pointer, for modern text dialgoue.
  14. Added Graphics-> Pointer, for graphical functions. Old isntructions will be cloned, and new instructions, such as
  15. palette editing, will go here.
  16. Added ComboData-> Pointer, for editing the ombo table properties by script.
  17. Added SpriteData->Pointer, for editing the weapons/misc sprite properties by script.
  18.  
  19. ////////////////
  20. /// Global ///
  21. ////////////////
  22.  
  23.  
  24. int SizeOfArrayBool(bool array[]); ZASM Instruction:
  25. ARRAYSIZEB d2
  26. /**
  27. * Returns the index size of the array pointed by 'array'.
  28. * As SizeOfArray(int *ptr), save that it works specifically with bool typed arrays.
  29. * Useful in for loops.
  30. *
  31. */ Example Use:
  32.  
  33.  
  34. /************************************************************************************************************/
  35.  
  36. int SizeOfArrayFFC(ffc array[]); ZASM Instruction:
  37. ARRAYSIZEF d2
  38. /**
  39. * Returns the index size of the array pointed by 'array'.
  40. * As SizeOfArray(int *ptr), save that it works specifically with ffc typed arrays.
  41. * Useful in for loops.
  42. *
  43. */ Example Use:
  44.  
  45.  
  46. /************************************************************************************************************/
  47.  
  48. int SizeOfArrayNPC(npc array[]); ZASM Instruction:
  49. ARRAYSIZEN d2
  50. /**
  51. * Returns the index size of the array pointed by 'array'.
  52. * As SizeOfArray(int *ptr), save that it works specifically with npc typed arrays.
  53. * Useful in for loops.
  54. *
  55. */ Example Use:
  56.  
  57. /************************************************************************************************************/
  58.  
  59. int SizeOfArrayItem(item array[]); ZASM Instruction:
  60. ARRAYSIZEI d2
  61. /**
  62. * Returns the index size of the array pointed by 'array'.
  63. * As SizeOfArray(int *ptr), save that it works specifically with item typed arrays.
  64. * Useful in for loops.
  65. *
  66. */ Example Use:
  67.  
  68. /************************************************************************************************************/
  69.  
  70. int SizeOfArrayItemdata(itemdata array[]);
  71. ZASM Instruction:
  72. ARRAYSIZEID d2
  73. /**
  74. * Returns the index size of the array pointed by 'array'.
  75. * As SizeOfArray(int *ptr), save that it works specifically with itemdata typed arrays.
  76. * Useful in for loops.
  77. *
  78. */ Example Use:
  79.  
  80. /************************************************************************************************************/
  81.  
  82. int SizeOfArrayLWeapon(lweapon array[]);
  83. ZASM Instruction:
  84. ARRAYSIZEL d2
  85. /**
  86. * Returns the index size of the array pointed by 'array'.
  87. * As SizeOfArray(int *ptr), save that it works specifically with lweapon typed arrays.
  88. * Useful in for loops.
  89. *
  90. */ Example Use:
  91.  
  92. /************************************************************************************************************/
  93.  
  94. int SizeOfArrayEWeapon(eweapon array[]);
  95. ZASM Instruction:
  96. ARRAYSIZEE d2
  97. /**
  98. * Returns the index size of the array pointed by 'array'.
  99. * As SizeOfArray(int *ptr), save that it works specifically with eweapon typed arrays.
  100. * Useful in for loops.
  101. *
  102. */ Example Use:
  103.  
  104. /************************************************************************************************************/
  105.  
  106. void OverlayTile(int firsttile, int secondtile); ZASM Instruction:
  107. OVERLAYTILEVV
  108. OVERLAYTILEVR
  109. OVERLAYTILERV
  110. OVERLAYTILERR
  111. /**
  112. * Overlays secondtile onto firsttile, ignoring all pixels of colour 0.
  113. * The valid tile value range is 0 to 65519.
  114. * This change is *TEMPORARY* within the quest file
  115. * and will not be retained when saving the game.
  116. *
  117. */ Example Use:
  118.  
  119.  
  120. //////////////
  121. /// GAME ///
  122. //////////////
  123.  
  124. int Game->GetItemScript(int ptr[]); ZASM Instruction:
  125. GETITEMSCRIPT
  126.  
  127.  
  128. /**
  129. * Returns the number of the item script with the given name or -1 if there is
  130. * no such script. The script name should be passed as a string.
  131. * (!) This was added at 2.54 beta 52.5, 1st June 2017
  132. *
  133. */ Example Use:
  134.  
  135.  
  136. /************************************************************************************************************/
  137.  
  138. int GetBoolPointer(bool *ptr[]); ZASM Instruction:
  139. BOOLARRPTR
  140. /**
  141. * Returns the pointer of a bool array as a float.
  142. */ Example Use:
  143. bool arr[16];
  144. int size = SizeOfArray( GetPointer(arr) );
  145. //Size == 16
  146.  
  147. /************************************************************************************************************/
  148.  
  149. bool SetBoolPointer(bool *ptr[]); ZASM Instruction:
  150. BOOLARRPTR2
  151. /**
  152. * Converts an int pointer to the bool type, for assigning.
  153. */ Example Use:
  154. bool arr[16];
  155. int size = SizeOfArray( GetPointer(arr) );
  156. //Size == 16
  157.  
  158. /************************************************************************************************************/
  159.  
  160. void GreyscaleOn() ZASM Instruction
  161. GREYSCALEON
  162.  
  163. /**
  164. * Renders the entire display in greyscale.
  165. */ Example Use: !#!
  166.  
  167. /************************************************************************************************************/
  168.  
  169. void GreyscaleOff() ZASM Instruction
  170. GREYSCALEOFF
  171.  
  172. /**
  173. * Returns the display rendering to colour.
  174. */ Example Use: !#!
  175.  
  176. /************************************************************************************************************/
  177.  
  178. int DMapPalette[]; ZASM Instruction:
  179. DMAPLEVELPAL
  180. /**
  181. * An array of 512 integers containing each DMap's Level Palette
  182. */ Example Use: !#!
  183.  
  184. /************************************************************************************************************/
  185.  
  186. void SetMessage(int message, int buffer[]);
  187.  
  188. ZASM Instruction:
  189. SETMESSAGE
  190. /**
  191. * Loads string 'buffer[]' into ZQ Message 'message'.
  192. */ Example Use: !#!
  193.  
  194. /************************************************************************************************************/
  195.  
  196. void SetDMapName(int dmap_id, int buffer[]);
  197.  
  198. ZASM Instruction:
  199. SETDMAPNAME
  200. /**
  201. * Loads string 'buffer[]' to the DMap Name field for DMap with ID 'dmap_id'.
  202. * See std_constsnts.zh for appropriate buffer size.
  203. */ Example Use: !#!
  204.  
  205. /************************************************************************************************************/
  206.  
  207. void SetDMapTitle(int DMap, int buffer[]);
  208.  
  209. ZASM Instruction:
  210. SETDMAPTITLE
  211. /**
  212. * Loads string 'buffer[]' to the DMap Title field for DMap with ID 'dmap_id'.
  213. * See std_constsnts.zh for appropriate buffer size.
  214. */ Example Use: !#!
  215.  
  216. /************************************************************************************************************/
  217.  
  218. void SetDMapIntro(int DMap, int buffer[]);
  219.  
  220. ZASM Instruction:
  221. SETDMAPINTRO
  222. /**
  223. * Loads string 'buffer[]' to the DMap Intro field for DMap with ID 'dmap_id'.
  224. * See std_constsnts.zh for appropriate buffer size.
  225. */ Example Use: !#!
  226.  
  227. /************************************************************************************************************/
  228.  
  229. int Version; ZASM Instruction:
  230. ZELDAVERSION
  231.  
  232. /**
  233. * Returns the version of ZC being used.
  234. *
  235. */ Example Use: !#!
  236.  
  237. /************************************************************************************************************/
  238.  
  239. int Build; ZASM Instruction:
  240. ZELDABUILD
  241.  
  242. /**
  243. * Returns the Build ID of the version of ZC being used.
  244. *
  245. */ Example Use: !#!
  246.  
  247. /************************************************************************************************************/
  248.  
  249. int Beta; ZASM Instruction:
  250. ZELDABETA
  251.  
  252. /**
  253. * Returns the Beta ID of the version of ZC being used. If the build is not a beta, this returns 0.
  254. *
  255. */ Example Use: !#!
  256.  
  257. /************************************************************************************************************/
  258.  
  259. bool DisableActiveSubscreen; ZASM Instruction:
  260. NOACTIVESUBSC
  261.  
  262. /**
  263. * If set true, the active subscreen will not fall into view ehen the player presses Start.
  264. *
  265. */ Example Use: !#!
  266.  
  267. /************************************************************************************************************/
  268.  
  269.  
  270. void SetScreenFlag(int map, int screen, int flag, bool state); ZASM Instruction:
  271. SCREENFLAG
  272.  
  273. /**
  274. *
  275. *
  276. */ Example Use:
  277.  
  278.  
  279. /************************************************************************************************************/
  280.  
  281. bool ButtonPress[18]; ZASM Instruction:
  282. BUTTONPRESS
  283. /**
  284. * An array of 18 button states that correspond to Link->Press*
  285. *
  286. */ Example Use:
  287.  
  288. /************************************************************************************************************/
  289.  
  290. bool ButtonInput[18]; ZASM Instruction:
  291. BUTTONINPUT
  292. /**
  293. * An array of 18 button states that correspond to Link->Input*
  294. *
  295. */ Example Use:
  296.  
  297. /************************************************************************************************************/
  298.  
  299. bool ButtonHeld[18]; ZASM Instruction:
  300. BUTTONHELD
  301. /**
  302. * An array of 18 button states that returns if a button is being held down.
  303. * MAY only represent a joypad.
  304. *
  305. */ Example Use:
  306.  
  307. /************************************************************************************************************/
  308.  
  309. bool KeyPress[127]; ZASM Instruction:
  310. KEYPRESS
  311. /**
  312. * An array of 127 indices, each representing a keypress on the keyboard.
  313. * See std_keyboard.zh for constants ands functions that relate to reading from, or writing to the keyboard.
  314. *
  315. */ Example Use:
  316.  
  317. /************************************************************************************************************/
  318.  
  319. bool ReadKey[127]; ZASM Instruction:
  320. READKEY
  321. /**
  322. * A read-only array of 127 indices, each representing a keypress on the keyboard.
  323. * Returns true if a key is pressed or held.
  324. * See std_keyboard.zh for constants ands functions that relate to reading from, or writing to the keyboard.
  325. *
  326. */ Example Use:
  327.  
  328. /************************************************************************************************************/
  329.  
  330. bool JoypadPress[18]; ZASM Instruction:
  331. JOYPADPRESS
  332. /**
  333. * An array of 18 button states that corresponds to whether the player is pressing a button on a Joypad \
  334. * controller, but not the keyboard. REQUIRES TESTING.
  335. *
  336. */ Example Use:
  337.  
  338. /************************************************************************************************************/
  339.  
  340.  
  341. int NumMessages; ZASM Instruction
  342. int HighestStringID GAMENUMMESSAGES
  343.  
  344.  
  345. /**
  346. *
  347. * Returns the number of message strings used in a quest.
  348. *
  349. *
  350. * /
  351.  
  352. /************************************************************************************************************/
  353.  
  354.  
  355. SetScreenEnemy(int map, int screen, int enemy_index, int enem_type);
  356. GetScreenEnemy(int map, int screen, int enemy_index);
  357.  
  358. /************************************************************************************************************/
  359.  
  360.  
  361. SetScreenDoor(int map, int screen, int door_index, int door_type);
  362. GetScreenDoor(int map, int screen, int door_index);
  363.  
  364. /************************************************************************************************************/
  365.  
  366.  
  367. SetScreenWidth(int map, int screen, int value);
  368. GetScreenWidth(int map, int screen);
  369.  
  370. /************************************************************************************************************/
  371.  
  372.  
  373. SetScreenHeight(int map, int screen, int value);
  374. GetScreenHeight(int map, int screen);
  375.  
  376. /************************************************************************************************************/
  377.  
  378.  
  379. SetScreenViewX(int map, int screen, int value);
  380. GetScreenViewX(int map, int screen);
  381.  
  382. /************************************************************************************************************/
  383.  
  384.  
  385. SetScreenViewY(int map, int screen, int value);
  386. GetScreenViewY(int map, int screen);
  387.  
  388. /************************************************************************************************************/
  389.  
  390.  
  391. SetScreenGuy(int map, int screen, int value);
  392. GetScreenGuy(int map, int screen);
  393.  
  394. /************************************************************************************************************/
  395.  
  396.  
  397. SetScreenString(int map, int screen, int value);
  398. GetScreenString(int map, int screen);
  399.  
  400. /************************************************************************************************************/
  401.  
  402.  
  403. SetScreenRoomType(int map, int screen, int value);
  404. GetScreenRoomType(int map, int screen);
  405.  
  406. /************************************************************************************************************/
  407.  
  408.  
  409. SetScreenEntryX(int map, int screen, int value);
  410. GetScreenEntryX(int map, int screen);
  411.  
  412. /************************************************************************************************************/
  413.  
  414.  
  415. SetScreenEntryY(int map, int screen, int value);
  416. GetScreenEntryY(int map, int screen);
  417.  
  418. /************************************************************************************************************/
  419.  
  420.  
  421. SetScreenItem(int map, int screen, int value);
  422. GetScreenItem(int map, int screen);
  423.  
  424. /************************************************************************************************************/
  425.  
  426.  
  427. SetScreenUndercombo(int map, int screen, int value);
  428. GetScreenUndercombo(int map, int screen);
  429.  
  430. /************************************************************************************************************/
  431.  
  432.  
  433. SetScreenUnderCSet(int map, int screen, int value);
  434. GetScreenUnderCSet(int map, int screen);
  435.  
  436. /************************************************************************************************************/
  437.  
  438.  
  439. SetScreenCatchall(int map, int screen, int value);
  440. GetScreenCatchall(int map, int screen);
  441.  
  442. /************************************************************************************************************/
  443.  
  444.  
  445. SetScreenLayerOpacity(int map, int screen, int layer, int opacity);
  446. GetScreenLayerOpacity(int map, int screen, int layer);
  447.  
  448. /************************************************************************************************************/
  449.  
  450. SetScreenSecretCombo(int map, int screen, int index, int value);
  451. GetScreenSecretCombo(int map, int screen, int index);
  452.  
  453. /************************************************************************************************************/
  454.  
  455.  
  456. SetScreenSecretCSet(int map, int screen, int index, int value);
  457. GetScreenSecretCSet(int map, int screen, int index);
  458.  
  459. /************************************************************************************************************/
  460.  
  461.  
  462. SetScreenSecretFlag(int map, int screen, int index, int value);
  463. GetScreenSecretFlag(int map, int screen, int index);
  464.  
  465. /************************************************************************************************************/
  466.  
  467.  
  468. SetScreenLayerMap(int map, int screen, int layer, int map);
  469. GetScreenLayerMap(int map, int screen, int layer);
  470.  
  471. /************************************************************************************************************/
  472.  
  473.  
  474. SetScreenLayerScreen(int map, int screen, int layer, int screen);
  475. GetScreenLayerScreen(int map, int screen, int layer);
  476.  
  477. /************************************************************************************************************/
  478.  
  479.  
  480. SetScreenPath(int map, int screen, int path, int dest);
  481. GetScreenPath(int map, int screen, int path);
  482.  
  483. /************************************************************************************************************/
  484.  
  485.  
  486. SetScreenWarpReturnX(int map, int screen, int warp, int posX);
  487. GetScreenWarpReturnX(int map, int screen, int warp);
  488.  
  489. /************************************************************************************************************/
  490.  
  491.  
  492. SetScreenWarpReturnY(int map, int screen, int warp, int posY);
  493. GetScreenWarpReturnY(int map, int screen, int warp);
  494.  
  495.  
  496. /************************************************************************************************************/
  497.  
  498. int GetMaxMaps()
  499. int MapCount() ZASM Instruction
  500. GETMAXMAPS
  501.  
  502. /**
  503. *
  504. * Returns the number of maps used by a quest.
  505. *
  506. *
  507. * /
  508.  
  509. /************************************************************************************************************/
  510.  
  511. int GetScreenEnemy(int map, int screen, int enemy_index)
  512. ZASM Instruction
  513. GETSCREENENEMY
  514.  
  515. /**
  516. * Reads values from enemy lists anywhere in the game.
  517. * Returns the Nth enemy of a given map, and screen where 'enemy_index' is the Nth index
  518. * 'map' is the desired map, and 'screen' is the desired screen.
  519. * Returns 0 if there is no enemy in the desired index.
  520. *
  521. * Use DMaptoMap() from std_functions to simplify in-game use with DMaps.
  522. * /
  523.  
  524. /************************************************************************************************************/
  525.  
  526. int SetScreenEnemy(int map, int screen, int enemy_index, int enemy_id)
  527. ZASM Instruction
  528. SETSCREENENEMY
  529.  
  530. /**
  531. * Sets values to enemy lists anywhere in the game.
  532. * Sets the Nth enemy of a given map, and screen to a specified NPC, where 'enemy_index' is
  533. * the Nth index 'map' is the desired map, and 'screen' is the desired screen, and 'enemy_id'.
  534. * is the ID of the enemy that you wish to use.
  535. *
  536. * If changing the enemies on the current screen and map, enemies will change upon reloading the screen.
  537. *
  538. * Use DMaptoMap() from std_functions to simplify in-game use with DMaps.
  539. * /
  540.  
  541. /************************************************************************************************************/
  542.  
  543. int GetScreenDoor(int map, int screen, int index)
  544. ZASM Instruction
  545. GETSCREENDOOR
  546.  
  547. /**
  548. * Reads value of a door on any screen in the game environment.
  549. * Returns Screen->Door[index] of a given map, and screen where 'index' is the Door[] index,
  550. * 'map' is the desired map, and 'screen' is the desired screen.
  551. * Returns 0 if there is no door present (open).
  552. *
  553. * Use DMaptoMap() from std_functions to simplify in-game use with DMaps.
  554. * /
  555.  
  556. /************************************************************************************************************/
  557.  
  558. int SetScreenDoor(int map, int screen, int index, int type)
  559. ZASM Instruction
  560. SETSCREENDOOR
  561.  
  562. /**
  563. * Sets the value of a door on any screen in the game environment.
  564. * Sets Screen->Door[index] of a given map, and screen where 'index' is the Door[] index,
  565. * 'map' is the desired map, and 'screen' is the desired screen, and 'type'.
  566. * is the door type.
  567. *
  568. * If changing the doors on the current screen and map, doors will change upon reloading the screen.
  569. *
  570. * Use DMaptoMap() from std_functions to simplify in-game use with DMaps.
  571. * /
  572.  
  573. /************************************************************************************************************/
  574.  
  575.  
  576. ///////////////
  577. /// Audio ///
  578. ///////////////
  579.  
  580.  
  581.  
  582. void PauseSound(int soundid); ZASM Instruction:
  583. PAUSESOUNDR
  584. PAUSESOUNDV
  585. /**
  586. * Pauses one of the quest's playing sound effects. Use the SFX_ constants in
  587. * std.zh as values of soundid.
  588. */ Example Use: !#!
  589.  
  590. /************************************************************************************************************/
  591.  
  592. void ResumeSound(int soundid); ZASM Instruction:
  593. RESUMESOUNDR
  594. RESUMESOUNDV
  595. /**
  596. * Resumes one of the quest's paused sound effects. Use the SFX_ constants in
  597. * std.zh as values of soundid.
  598. */ Example Use: !#!
  599.  
  600. /************************************************************************************************************/
  601.  
  602. void EndSound(int soundid); ZASM Instruction:
  603. ENDSOUNDR
  604. ENDSOUNDV
  605. /**
  606. * Kills one of the quest's playing sound effects. Use the SFX_ constants in
  607. * std.zh as values of soundid.
  608. */ Example Use: !#!
  609.  
  610. /************************************************************************************************************/
  611.  
  612. void PauseMusic(); ZASM Instruction:
  613. PAUSEMUSIC
  614. PAUSEMUSIC
  615. /**
  616. * Pauses the present, playing MIDI or Enhanced Music file.
  617. */ Example Use: !#!
  618.  
  619. /************************************************************************************************************/
  620.  
  621. void ResumeMusic(); ZASM Instruction:
  622. RESUMEMUSIC
  623. RESUMEMUSIC
  624. /**
  625. * Resumes the present, playing MIDI or Enhanced Music file.
  626. */ Example Use: !#!
  627.  
  628. /************************************************************************************************************/
  629.  
  630. void PlaySound(int sfx);
  631.  
  632. /************************************************************************************************************/
  633.  
  634.  
  635. /////////////
  636. /// FFC ///
  637. /////////////
  638.  
  639. int ID; ZASM Instruction
  640. FFCID
  641.  
  642. /**
  643. * Returns the screen index of the FFC.
  644. * Can be set, to change the index of a pointer, but this requires testing and may be unstable.
  645. *
  646. */
  647.  
  648. /************************************************************************************************************/
  649.  
  650.  
  651. //////////////////
  652. /// Itemdata ///
  653. //////////////////
  654.  
  655. int Attributes[10]; ZASM Instruction:
  656. IDATAATTRIB
  657.  
  658. /**
  659. * An array of ten integers containing the Attributes values.
  660. * These correspond to the text entry fields, in the item editor 'Data' tab.
  661. *
  662. */
  663.  
  664. /************************************************************************************************************/
  665.  
  666. int Sprites[10]; ZASM Instruction:
  667. IDATASPRITES
  668.  
  669. /**
  670. * An array of ten integers containing the Sprites values.
  671. * These correspond to the pull-down options in the item editor 'Action' tab. .
  672. *
  673. */
  674.  
  675. /************************************************************************************************************/
  676.  
  677. bool Flags[5]; ZASM Instruction:
  678. IDATAFLAGS
  679.  
  680. /**
  681. * An array of five multipurpose boolean flags. The properties of this flag change based on the item class (family).
  682. * Flag[0] corresponds to the box directly below 'Equiment Item'. For swords, this is 'B.H. is Percent'.
  683. * Flag[1] corresponds to the box directly below 'Flag 1'. For swords, this is 'B.D. is Percent'.
  684. * Flag[2] corresponds to the box directly right of 'Equiment Item'. For swords, this is 'B. Penetrates Enemies'.
  685. * Flag[3] corresponds to the box directly right of 'Flag 2'. For swords, this is 'Can Slash'.
  686. * Flag[4] corresponds to the box directly below 'Flag 4'.For swords, this is '<Unused>', and greyed out.
  687. *
  688. * Scripted item classes may make use of these as a general-purpose script flags.
  689. * See 'zscript_itemdata.txt' for more information on what this flag does, based on the item class.
  690. */
  691.  
  692. /************************************************************************************************************/
  693.  
  694. //////////////
  695. /// Item ///
  696. /////////////
  697.  
  698. int ACLock; ZASM Instruction:
  699. ITEMACLC
  700.  
  701. /**
  702. * Returns the present tick of the animation clock.
  703. *
  704. */
  705.  
  706. /************************************************************************************************************/
  707.  
  708.  
  709. /////////////
  710. /// NPC ///
  711. /////////////
  712.  
  713. int InvFrames; ZASM Instruction:
  714. NPCINVINC
  715. /**
  716. * Returns if the enemy is temporarily invincible, from being hit, or otherwise.
  717. * Returns the number of remaining invincibility frames if the enemy is invincible, otherwise 0.
  718. *
  719. */ Example Use: !#!
  720.  
  721. /************************************************************************************************************/
  722.  
  723. int Invincible; ZASM Instruction:
  724. NPCSUPERMAN
  725. /**
  726. * Returns if the enemy is invincible, because of ( superman variable ).
  727. *
  728. */ Example Use: !#!
  729.  
  730. /************************************************************************************************************/
  731.  
  732. bool HasItem; ZASM Instruction:
  733. NPCHASITEM
  734. /**
  735. * Returns if the enemy is holding the screen item.
  736. *
  737. */ Example Use: !#!
  738.  
  739. /************************************************************************************************************/
  740.  
  741. bool Ringleader; ZASM Instruction:
  742. NPCRINGLEAD
  743. /**
  744. * Returns if the enemy is a 'ringleader'.
  745. *
  746. */ Example Use: !#!
  747.  
  748. /************************************************************************************************************/
  749.  
  750. int ScriptDefense[]; ZASM Instruction:
  751. NPCSCRDEFENSED
  752. /**
  753. * The npc's Script Weapon Defense values, as an array of 10 integers. Use the NPCSD_ and NPCDT_ constants
  754. * in std.zh to set or compare these values.
  755. *
  756. * This corresponds to the 'Defenses 3' tab in the Enemy Editor.
  757. */
  758.  
  759. /************************************************************************************************************/
  760.  
  761. /////////////////
  762. /// LWeapon ///
  763. /////////////////
  764.  
  765. int Range; ZASM Instruction:
  766. LWPNRANGE
  767.  
  768. /**
  769. * The range of the weapon in pixels.
  770. * The range in pixels for boomerang and hookshot lweapons; and the duration in frames for arrow lweapons.
  771. *
  772. */ Example Use: !#!
  773.  
  774. /************************************************************************************************************/
  775.  
  776.  
  777. ////////////////
  778. /// Screen ///
  779. ////////////////
  780.  
  781. void TriggerSecret(int flag); ZASM Instruction:
  782. TRIGGERSECRETR
  783. TRIGGERSECRETV
  784.  
  785. Triggers all secrets of the type 'flag' on the current screen
  786.  
  787.  
  788. /************************************************************************************************************/
  789.  
  790.  
  791. lweapon CreateLWeaponDx(int type, int baseitem)
  792. ZASM Instruction
  793. CREATELWEAPONDX
  794.  
  795. /**
  796. *
  797. * Create an lweapon with the type 'type', using data as if the weapon was created
  798. * by using the item 'item_id', thus forwarding sprites, sounds, and other values.
  799. *
  800. *
  801. * /
  802.  
  803. /************************************************************************************************************/
  804.  
  805. void Polygon();
  806.  
  807. /************************************************************************************************************/
  808.  
  809.  
  810. //////////////
  811. /// Link ///
  812. //////////////
  813.  
  814.  
  815. bool Link->DisableItem[256]; ZASM Instruction:
  816. DISABLEDITEM
  817. /**
  818. * An array of 256 values that represents whether items are disabeld on the current DMap.
  819. * A disabled item returns 'true'.
  820. * Writing to this array should disable or enable an item on the current DMap, but the behaviour
  821. * if Link does not have that item MAY not be fully defined.
  822. *
  823. */ Example Use:
  824.  
  825. /************************************************************************************************************/
  826.  
  827. int UsingItem; ZASM Instruction:
  828. LINKUSINITEM
  829.  
  830. /**
  831. * Returns the ID of an item used when Link uses an item.
  832. * Setting this does nothing.
  833. *
  834. */ Example Use: !#!
  835.  
  836. /************************************************************************************************************/
  837.  
  838. int Attack; ZASM Instruction:
  839. LINKUSINITEMA
  840.  
  841. /**
  842. * Returns LinkClass::attack (?)
  843. *
  844. */ Example Use: !#!
  845.  
  846. /************************************************************************************************************/
  847.  
  848. int Animation; ZASM Instruction:
  849. LINKANIMTYPE
  850.  
  851. /**
  852. * Link;s Animation style, as set in Quest->Graphics->Sprites->Link
  853. * Valid types are 0, 1, 2, and 3.
  854. *
  855. */ Example Use: !#!
  856.  
  857. /************************************************************************************************************/
  858.  
  859. int WalkASpeed; ZASM Instruction:
  860. LINKWALKANMSPD
  861.  
  862. /**
  863. * Link's Walking Animation speed as set in Quest->Graphics->Sprites->Link
  864. * valid types are:
  865. *
  866. */ Example Use: !#!
  867.  
  868. /************************************************************************************************************/
  869.  
  870. int SwimASpeed; ZASM Instruction:
  871. LINKSWIMSPD
  872. /**
  873. * Link's Swiming Animation speed as set in Quest->Graphics->Sprites->Link
  874. * valid types are:
  875. *
  876. */ Example Use: !#!
  877.  
  878. /************************************************************************************************************/
  879.  
  880. int InvFrames; ZASM Instruction:
  881. LINKINVFRAME
  882.  
  883. /**
  884. * The number of frames for which Link is invincible, when hit by an enemy or weapon.
  885. * This returns how long Link will remain invincible, or you may set it to a value between 0 and 214747.
  886. * Returns 0 if Link is not invincible.
  887. *
  888. */ Example Use: !#!
  889.  
  890. /************************************************************************************************************/
  891.  
  892. bool InvFlicker; ZASM Instruction:
  893. LINKCANFLICKER
  894.  
  895. /**
  896. * Set true by default. If this is true, Link will either flicker, or flash when invincible, depending
  897. * on your Quest rules settings. If set false, Link will neither flash, nor flicker when invincible.
  898. */ Example Use: !#!
  899.  
  900. /************************************************************************************************************/
  901.  
  902. int HurtSound; ZASM Instruction:
  903. LINKHURTSFX
  904.  
  905. /**
  906. * The sound that plays when Link is injured. By default this is '16', but you may change it at any time.
  907. *
  908. */ Example Use: !#!
  909.  
  910. /************************************************************************************************************/
  911.  
  912. int HitHeight; ZASM Instruction:
  913. LINKHYSZ
  914.  
  915. /**
  916. * link's Hitbox height in pixels starting from his 0x,0y (upper-left) corner, going down.
  917. * Note that this works on a per-sprite, per-direction basis.
  918. * If you wish to extend Link's hitbox upwards on the Y-Axis, set this value, and adjust his HitYOffset.
  919. * You can read a value that you assign to this (e.g. for custom collision functions).
  920. * This value is not preserved through sessions: Loading a saved game will reset it to the default.
  921. *
  922. */ Example Use: !#!
  923.  
  924. /************************************************************************************************************/
  925.  
  926. int HitWidth; ZASM Instruction:
  927. LINKHXSZ
  928.  
  929. /**
  930. * Link's Hitbox width in pixels starting from his x0,y0 (upper-left) corner, going right.
  931. * Note that this works on a per-sprite, per-direction basis.
  932. * This value is not preserved through sessions: Loading a saved game will reset it to the default.
  933. *
  934. */ Example Use: !#!
  935.  
  936. /************************************************************************************************************/
  937. //Not implemented. Use Extend and Sprites.
  938. int TileWidth; ZASM Instruction:
  939. LINKTYSZ
  940. /**
  941. * Link's width, in tiles.
  942. * This is not usable, as Link->Extend cannot be set.
  943. * While setting it is not syntactically incorrect, it does nothing.
  944. * You can read a value that you assign to this (e.g. for custom/proxy sprite drawing).
  945. * This value is not preserved through sessions: Loading a saved game will reset it to the default.
  946. *
  947. */ Example Use: !#!
  948.  
  949. /************************************************************************************************************/
  950. //Not implemented. Use Extend and Sprites.
  951. int TileHeight; ZASM Instruction:
  952. LINKTXSZ
  953.  
  954. /**
  955. * Link's height, in tiles.
  956. * This is not usable, as Link->Extend cannot be set.
  957. * While setting it is not syntactically incorrect, it does nothing.
  958. * You can read a value that you assign to this (e.g. for custom/proxy sprite drawing).
  959. * This value is not preserved through sessions: Loading a saved game will reset it to the default.
  960. *
  961. */ Example Use: !#!
  962.  
  963. /************************************************************************************************************/
  964. //Not implemented.
  965. int HitZHeight; ZASM Instruction:
  966. LINKHZSZ
  967.  
  968. /**
  969. * The Z-axis height of Link's hitbox, or collision rectangle.
  970. * The lower it is, the lower a flying or jumping enemy must fly in order to hit Link.
  971. * To jump over a sprite, you must be higher than its Z + HitZHeight.
  972. * The values of DrawZOffset and HitZHeight are linked. Setting one, also sets the other.
  973. * Writing to this is ignored unless Extend is set to values >=3.
  974. * This is not usable, as Link->Extend cannot be set.
  975. * While setting it is not syntactically incorrect, it does nothing.
  976. * You can read a value that you assign to this (e.g. for custom collision functions).
  977. * This value is not preserved through sessions: Loading a saved game will reset it to the default.
  978. *
  979. */ Example Use: !#!
  980.  
  981. /************************************************************************************************************/
  982.  
  983. int HitXOffset; ZASM Instruction:
  984. LINKHXOFS
  985.  
  986. /**
  987. * The X offset of Link's hitbox, or collision rectangle.
  988. * Setting it to positive or negative values will move Link's hitbox left or right.
  989. * Writing to this is ignored unless Extend is set to values >=3.
  990. * Note that this works on a per-sprite, per-direction basis.
  991. * You can read a value that you assign to this (e.g. for custom collision functions).
  992. * This value is not preserved through sessions: Loading a saved game will reset it to the default.
  993. *
  994. */ Example Use: !#!
  995.  
  996. /************************************************************************************************************/
  997.  
  998. int HitYOffset; ZASM Instruction:
  999. LINKHYOFS
  1000.  
  1001. /**
  1002. * The Y offset of Link's hitbox, or collision rectangle.
  1003. * Setting it to positive or negative values will move Link's hitbox up or down.
  1004. * Writing to this is ignored unless Extend is set to values >=3.
  1005. * Note that this works on a per-sprite, per-direction basis.
  1006. * You can read a value that you assign to this (e.g. for custom collision functions).
  1007. * This value is not preserved through sessions: Loading a saved game will reset it to the default.
  1008. *
  1009. */ Example Use: !#!
  1010.  
  1011. /************************************************************************************************************/
  1012. //Not yet implemented
  1013. int DrawXOffset; ZASM Instruction:
  1014. LINKXOFS
  1015.  
  1016. /**
  1017. * The X offset of Link's sprite.
  1018. * Setting it to positive or negative values will move the sprite's tiles left or right relative to its position.
  1019. * Writing to this is ignored unless Extend is set to values >=3.
  1020. * This is not usable, as Link->Extend cannot be set.
  1021. * While setting it is not syntactically incorrect, it does nothing.
  1022. * You can read a value that you assign to this.
  1023. * This value is not preserved through sessions: Loading a saved game will reset it to the default.
  1024. *
  1025. */ Example Use: !#!
  1026.  
  1027. /************************************************************************************************************/
  1028. //Not yet implemented
  1029. int DrawYOffset; ZASM Instruction:
  1030. LINKYOFS
  1031.  
  1032. /**
  1033. * The Y offset of Link's sprite.
  1034. * Setting it to positive or negative values will move the sprite's tiles up or down relative to its position.
  1035. * Writing to this is ignored unless Extend is set to values >=3.
  1036. * This is not usable, as Link->Extend cannot be set.
  1037. * While setting it is not syntactically incorrect, it does nothing.
  1038. * You can read a value that you assign to this.
  1039. * This value is not preserved through sessions: Loading a saved game will reset it to the default.
  1040. *
  1041. */ Example Use: !#!
  1042.  
  1043. /************************************************************************************************************/
  1044.  
  1045. //! Link->Equipment is now read-write, and needs testing.
  1046. //! It is also a pain to write bitwise values, to test it.
  1047.  
  1048. int Equipment; ZASM Instruction:
  1049. LINKEQUIP
  1050.  
  1051. /**
  1052. * Contains the item IDs of what is currently equiped to Link's A and B buttons.
  1053. * The first 8 bits contain the A button item, and the second 8 bits contain the B button item.
  1054. * If you are not comfortable with performing binary operations,
  1055. * you can use the functions GetEquipmentA() or GetEquipmentB() in std.zh.
  1056. *
  1057. */ Example Use: !#!
  1058.  
  1059. /************************************************************************************************************/
  1060.  
  1061. int ItemA; ZASM Instruction:
  1062. LINKITEMA
  1063.  
  1064. /**
  1065. * Contains the item IDs of what is currently equiped to Link's A button.
  1066. * Writing to this variable will set an item to the A-button.
  1067. * This will occur even if the item is not in inventory, and not on the subscreen.
  1068. * This will ignore if you have B+A or B-only subscreens, and force-set the item.
  1069. * The intent of this is to allow scriters to easily create scripted subscreens.
  1070. *
  1071. */ Example Use: !#!
  1072.  
  1073. /************************************************************************************************************/
  1074.  
  1075. int ItemB; ZASM Instruction:
  1076. LINKITEMB
  1077.  
  1078. /**
  1079. * Contains the item IDs of what is currently equiped to Link's B button.
  1080. * Writing to this variable will set an item to the A-button.
  1081. * This will occur even if the item is not in inventory, and not on the subscreen.
  1082. * The intent of this is to allow scriters to easily create scripted subscreens.
  1083. *
  1084. */ Example Use: !#!
  1085.  
  1086. /************************************************************************************************************/
  1087. //! Untested
  1088. int SetItemSlot(int itm_id, bool a_button, bool force);
  1089. ZASM Instruction:
  1090. LINKITEMB
  1091.  
  1092. /**
  1093. * This allows you to set Link's button items without binary operations, and to decide whether to
  1094. * obey quest rules, or inventory.
  1095. *
  1096. * When using this, 'itm_id' is the ID number of the item.
  1097. * Set 'a_button' true to set this item to the A-button, false to set it to the B-button.
  1098. * Set' force' true to set the item even if Link does not have it, or if the Quest Rules disallow it.
  1099. * Otherwise, set 'force' false, and the item will only be set if Link has it. Furthermore
  1100. * it will only set to slot A if either it is a sword, or the B+A quest rule is enabled.
  1101. *
  1102. */ Example Use: !#!
  1103.  
  1104. /************************************************************************************************************/
  1105.  
  1106. int Eaten; ZASM Instruction:
  1107. LINKEATEN
  1108.  
  1109. /**
  1110. * This stores a counter for how long Link has been inside a LikeLike, or similar enemy.
  1111. * It returns 0 if Link is not eaten, otherwise it returns the duration of him being eaten.
  1112. *
  1113. */ Example Use: !#!
  1114.  
  1115. /************************************************************************************************************/
  1116.  
  1117. int Extend; ZASM Instruction:
  1118. LINKEXTEND
  1119.  
  1120.  
  1121. /**
  1122. * Sets the extend value for all of Link's various actions for his current sprite, and direction.
  1123. * This is equivalent to the Extend value set in Quest->Graphics->Sprites->Link when selecting
  1124. * a tile, click on his sprites for any given action, and press the 'x' key.
  1125. * The options are 16x16, 16x32, and 32x32; which correspond to Extend values of ( 0, 1, and 2 )
  1126. * respectively.
  1127. *
  1128. * This also returns the present extend value of Link's sprite for his current direction and sprite.
  1129. *
  1130. * You may force-set all sprites, and directions to an extend value by assigning a negative number to
  1131. * this variable, where -1 == 0 -2 == 1, -3 == 2, -4 == 3, and -5 == 4.
  1132. *
  1133. * See the 'LINKEXTEND_* values in std_constants for more details.
  1134. */
  1135.  
  1136. /************************************************************************************************************/
  1137.  
  1138. int GetLinkExtend(int sprite, int dir); ZASM Instruction:
  1139. SETLINKEXTEND
  1140.  
  1141. /**
  1142. * Gets the extend value for one of Link's various actions based on a direction.
  1143. * This is equivalent to the Extend value set in Quest->Graphics->Sprites->Link when selecting a tile.
  1144. * See 'std_constants' entries under LSPR_* for a list of the various attributes for 'sprite'.
  1145. */
  1146.  
  1147. /************************************************************************************************************/
  1148.  
  1149. void SetLinkExtend(int sprite, int dir, int extend);
  1150. ZASM Instruction:
  1151. SETLINKEXTEND
  1152.  
  1153. /**
  1154. * Sets the extend value for one of Link's various actions.
  1155. * This is equivalent to the Extend value set in Quest->Graphics->Sprites->Link when selecting a tile.
  1156. * 'sprite' is the 'action', 'dir' is the sprite direction, and 'extend' is a value between 1 and 3.
  1157. * An extend value of '4' is reserved for future implementations of Link->Hit/DrawOffsets ad HitWidth/height.
  1158. * See 'std_constants' entries under LSPR_* for a list of the various attributes for 'sprite'.
  1159. */
  1160.  
  1161. /************************************************************************************************************/
  1162. //Untested
  1163. void SetLinkTile(int sprite, int tile, int dir)
  1164. ZASM Instruction:
  1165. SETLINKTILE
  1166.  
  1167. /**
  1168. * Sets the tile for Link's various actions. This is intended to work as OTile for Link.
  1169. * 'sprite' is the action for the tile. See Quest->Graphics->Sprites->Link for a visual reference.
  1170. * 'tile is the base tile for the sequence. It uses the animation style set in the sprites editor.
  1171. * 'dir' is the direction for the tile.
  1172. * See 'std_constants' entries under LSPR_* for a list of the various attributes for 'sprite'.
  1173. *
  1174. * See the 'LINKEXTEND_* values in std_constants for more details on possible extend values.
  1175. */
  1176.  
  1177. /************************************************************************************************************/
  1178. //!Untested
  1179. int GetLinkTile(int sprite, int dir)
  1180. ZASM Instruction:
  1181. LINKGETTILE
  1182.  
  1183. /**
  1184. * Returns the OTile for one of Link's various actions.
  1185. * 'sprite' is the action for the tile. See Quest->Graphics->Sprites->Link for a visual reference.
  1186. * 'dir' is the direction for the tile.
  1187. * See 'std_constants' entries under LSPR_* for a list of the various attributes for 'sprite'.
  1188. */
  1189.  
  1190. /************************************************************************************************************/
  1191.  
  1192. /////////////////
  1193. /// NPCData ///
  1194. /////////////////
  1195.  
  1196. // NPCData-> (Getter Functions)
  1197. int GetFlags(int npc_id);
  1198. int GetFlags2(int npc_id);
  1199. int GetWidth(int npc_id);
  1200. int GetHeight(int npc_id);
  1201. int GetSTile(int npc_id);
  1202. int GetSWidth(int npc_id);
  1203. int GetSHeight(int npc_id);
  1204. int GetETile(int npc_id);
  1205. int GetEWidth(int npc_id);
  1206. int GetHP(int npc_id);
  1207. int GetFamily(int npc_id);
  1208. int GetCSet(int npc_id);
  1209. int GetAnim(int npc_id);
  1210. int GetEAnim(int npc_id);
  1211. int GetFramerate(int npc_id);
  1212. int GetEFramerate(int npc_id);
  1213. int GetTouchDamage(int npc_id);
  1214. int GetWeaponDamage(int npc_id);
  1215. int GetWeapon(int npc_id);
  1216. int GetRandom(int npc_id);
  1217. int GetHaltRate(int npc_id);
  1218. int GetStep(int npc_id);
  1219. int GetHoming(int npc_id);
  1220. int GetHunger(int npc_id);
  1221. int GetDropset(int npc_id);
  1222. int GetBGSFX(int npc_id);
  1223. int GetHitSFX(int npc_id);
  1224. int GetDeathSFX(int npc_id);
  1225. int GetDrawXOffset(int npc_id);
  1226. int GetDrawYOffset(int npc_id);
  1227. int GetDrawZOffset(int npc_id);
  1228. int GetHitXOffset(int npc_id);
  1229. int GetHitYOffset(int npc_id);
  1230. int GetHitWidth(int npc_id);
  1231. int GetHitHeight(int npc_id);
  1232. int GetHitZHeight(int npc_id);
  1233. int GetTileWidth(int npc_id);
  1234. int GetTileHeight(int npc_id);
  1235. int GetWeaponSprite(int npc_id);
  1236.  
  1237. int GetScriptDefense(int npc_id, int def_index); //2.future compat.
  1238. int GetDefense(int npc_id, int def_index);
  1239. bool GetSizeFlag(int npc_id, int size_flag);
  1240. int GetAttribute(int npc_id, int attrib);
  1241.  
  1242. // NPCData-> (Setter Functions)
  1243. void SetFlags(int npc_id, int value);
  1244. void SetFlags2(int npc_id, int value);
  1245. void SetWidth(int npc_id, int value);
  1246. void SetHeight(int npc_id, int value);
  1247. void SetSTile(int npc_id, int value);
  1248. void SetSWidth (int npc_id, int value);
  1249. void SetSHeight(int npc_id, int value);
  1250. void SetETile(int npc_id, int value);
  1251. void SetEWidth(int npc_id, int value);
  1252. void SetHP(int npc_id, int value);
  1253. void SetFamily(int npc_id, int value);
  1254. void SetCSet(int npc_id, int value);
  1255. void SetAnim(int npc_id, int value);
  1256. void SetEAnim(int npc_id, int value);
  1257. void SetFramerate(int npc_id, int value);
  1258. void SetEFramerate(int npc_id, int value);
  1259. void SetTouchDamage(int npc_id, int value);
  1260. void SetWeaponDamage(int npc_id, int value);
  1261. void SetWeapon(int npc_id, int value);
  1262. void SetRandom(int npc_id, int value);
  1263. void SetHaltRate(int npc_id, int value);
  1264. void SetStep(int npc_id, int value);
  1265. void SetHoming(int npc_id, int value);
  1266. void SetHunger(int npc_id, int value);
  1267. void SetDropset(int npc_id, int value);
  1268. void SetBGSFX(int npc_id, int value);
  1269. void SetHitSFX(int npc_id, int value);
  1270. void SetDeathSFX(int npc_id, int value);
  1271. void SetDrawXOffset(int npc_id, int value);
  1272. void SetDrawYOffset(int npc_id, int value);
  1273. void SetDrawZOffset(int npc_id, int value);
  1274. void SetHitXOffset(int npc_id, int value);
  1275. void SetHitYOffset(int npc_id, int value);
  1276. void SetHitWidth(int npc_id, int value);
  1277. void SetHitHeight(int npc_id, int value);
  1278. void SetHitZHeight(int npc_id, int value);
  1279. void SetTileWidth(int npc_id, int value);
  1280. void SetTileHeight(int npc_id, int value);
  1281. void SetWeaponSprite(int npc_id, int value);
  1282.  
  1283. void SetScriptDefense(int npc_id, int def_index, int value);
  1284. void SetDefense(int npc_id, int def_index, int value);
  1285. void SetSizeFlag(int npc_id, int size_flag, bool set);
  1286. void SetAttribute(int npc_id, int attribute, int value);
  1287.  
  1288.  
  1289.  
  1290. /************************************************************************************************************/
  1291.  
  1292. //////////////
  1293. /// Text ///
  1294. //////////////
  1295. Text-> This is for text boxes and similar.
  1296.  
  1297.  
  1298. /************************************************************************************************************/
  1299.  
  1300. //////////////////
  1301. /// Graphics ///
  1302. //////////////////
  1303. Graphics-> A potential container for graphical functions, palette editing, and similar to Audio->.
  1304.  
  1305.  
  1306. /************************************************************************************************************/
  1307.  
  1308. ///////////////////
  1309. /// ComboData ///
  1310. ///////////////////
  1311. ComboData-> For modifying the combo tables by script.
  1312.  
  1313. GetBlockEnemies(int combo_id);
  1314. GetBlockHole(int combo_id);
  1315. GetBlockTrigger(int combo_id);
  1316. GetConveyorSpeedX(int combo_id);
  1317. GetConveyorSpeedY(int combo_id);
  1318. GetCreateEnemy(int combo_id);
  1319. GetCreateEnemyWhen(int combo_id);
  1320. GetCreateEnemyChange(int combo_id);
  1321. GetDirChangeType(int combo_id);
  1322. GetDistanceChangeTiles(int combo_id);
  1323. GetDiveItem(int combo_id);
  1324. GetDock(int combo_id);
  1325. GetFairy(int combo_id);
  1326. GetFFComboChangeAttrib(int combo_id);
  1327. GetFootDecorationsTile(int combo_id);
  1328. GetFootDecorationsType(int combo_id);
  1329. GetHookshotGrab(int combo_id);
  1330. GetLadderPass(int combo_id);
  1331. GetLockBlockType(int combo_id);
  1332. GetLockBlockChange(int combo_id);
  1333. GetMagicMirror(int combo_id);
  1334. GetModifyHPAmount(int combo_id);
  1335. GetModifyHPDelay(int combo_id);
  1336. GetModifyHPType(int combo_id);
  1337. GetModifyMPAmount(int combo_id);
  1338. GetModifyMPDelay(int combo_id);
  1339. GetModifyMPType(int combo_id);
  1340. GetNoPushBlocks(int combo_id);
  1341. GetOverhead(int combo_id);
  1342. GetPlaceEnemy(int combo_id);
  1343. GetPushDirection(int combo_id);
  1344. GetPushWeight(int combo_id);
  1345. GetPushWait(int combo_id);
  1346. GetPushed(int combo_id);
  1347. GetRaft(int combo_id);
  1348. GetResetRoom(int combo_id);
  1349. GetSavePoint(int combo_id);
  1350. GetScreenFreeze(int combo_id);
  1351. GetSecretCombo(int combo_id);
  1352. GetSingular(int combo_id);
  1353. GetSlowMove(int combo_id);
  1354. GetStatue(int combo_id);
  1355. GetStepType(int combo_id);
  1356. GetStepChangeTo(int combo_id);
  1357. GetStrikeRemnants(int combo_id);
  1358. GetStrikeRemnantsType(int combo_id);
  1359. GetStrikeChange(int combo_id);
  1360. GetStrikeItem(int combo_id);
  1361. GetTouchItem(int combo_id);
  1362. GetTouchStairs(int combo_id);
  1363. GetTriggerType(int combo_id);
  1364. GetTriggerSens(int combo_id);
  1365. GetWarpType(int combo_id);
  1366. GetWarpSens(int combo_id);
  1367. GetWarpDirect(int combo_id);
  1368. GetWarpLocation(int combo_id);
  1369. GetWater(int combo_id);
  1370. GetWhistle(int combo_id);
  1371. GetWinGame(int combo_id);
  1372. GetBlockWeaponLevel(int combo_id);
  1373. GetTile(int combo_id);
  1374. GetFlip(int combo_id);
  1375. GetWalkability(int combo_id);
  1376. GetType(int combo_id);
  1377. GetCSets(int combo_id);
  1378. GetFoo(int combo_id);
  1379. GetFrames(int combo_id);
  1380. GetSpeed(int combo_id);
  1381. GetNextCombo(int combo_id);
  1382. GetNextCSet(int combo_id);
  1383. GetFlag(int combo_id);
  1384. GetSkipAnim(int combo_id);
  1385. GetNextTimer(int combo_id);
  1386. GetSkipAnimY(int combo_id);
  1387. GetAnimFlags(int combo_id);
  1388.  
  1389. //two inputs, one return
  1390. GetBlockWeapon(int combo_id, int index); //[32]
  1391. GetExpansion(int combo_id, int index); //[6]
  1392. GetStrikeWeapons(int combo_id, int index); //[32]
  1393.  
  1394. //two inputs, no return
  1395. SetBlockEnemies(int combo_id, int value);
  1396. SetBlockHole(int combo_id, int value);
  1397. SetBlockTrigger(int combo_id, int value);
  1398. SetConveyorSpeedX(int combo_id, int value);
  1399. SetConveyorSpeedY(int combo_id, int value);
  1400. SetCreateEnemy(int combo_id, int value);
  1401. SetCreateEnemyWhen(int combo_id, int value);
  1402. SetCreateEnemyChange(int combo_id, int value);
  1403. SetDirChangeType(int combo_id, int value);
  1404. SetDistanceChangeTiles(int combo_id, int value);
  1405. SetDiveItem(int combo_id, int value);
  1406. SetDock(int combo_id, int value);
  1407. SetFairy(int combo_id, int value);
  1408. SetFFComboChangeAttrib(int combo_id, int value);
  1409. SetFootDecorationsTile(int combo_id, int value);
  1410. SetFootDecorationsType(int combo_id, int value);
  1411. SetHookshotGrab(int combo_id, int value);
  1412. SetLadderPass(int combo_id, int value);
  1413. SetLockBlockType(int combo_id, int value);
  1414. SetLockBlockChange(int combo_id, int value);
  1415. SetMagicMirror(int combo_id, int value);
  1416. SetModifyHPAmount(int combo_id, int value);
  1417. SetModifyHPDelay(int combo_id, int value);
  1418. SetModifyHPType(int combo_id, int value);
  1419. SetModifyMPAmount(int combo_id, int value);
  1420. SetModifyMPDelay(int combo_id, int value);
  1421. SetModifyMPType(int combo_id, int value);
  1422. SetNoPushBlocks(int combo_id, int value);
  1423. SetOverhead(int combo_id, int value);
  1424. SetPlaceEnemy(int combo_id, int value);
  1425. SetPushDirection(int combo_id, int value);
  1426. SetPushWeight(int combo_id, int value);
  1427. SetPushWait(int combo_id, int value);
  1428. SetPushed(int combo_id, int value);
  1429. SetRaft(int combo_id, int value);
  1430. SetResetRoom(int combo_id, int value);
  1431. SetSavePoint(int combo_id, int value);
  1432. SetScreenFreeze(int combo_id, int value);
  1433. SetSecretCombo(int combo_id, int value);
  1434. SetSingular(int combo_id, int value);
  1435. SetSlowMove(int combo_id, int value);
  1436. SetStatue(int combo_id, int value);
  1437. SetStepType(int combo_id, int value);
  1438. SetStepChangeTo(int combo_id, int value);
  1439. SetStrikeRemnants(int combo_id, int value);
  1440. SetStrikeRemnantsType(int combo_id, int value);
  1441. SetStrikeChange(int combo_id, int value);
  1442. SetStrikeItem(int combo_id, int value);
  1443. SetTouchItem(int combo_id, int value);
  1444. SetTouchStairs(int combo_id, int value);
  1445. SetTriggerType(int combo_id, int value);
  1446. SetTriggerSens(int combo_id, int value);
  1447. SetWarpType(int combo_id, int value);
  1448. SetWarpSens(int combo_id, int value);
  1449. SetWarpDirect(int combo_id, int value);
  1450. SetWarpLocation(int combo_id, int value);
  1451. SetWater(int combo_id, int value);
  1452. SetWhistle(int combo_id, int value);
  1453. SetWinGame(int combo_id, int value);
  1454. SetBlockWeaponLevel(int combo_id, int value);
  1455. SetTile(int combo_id, int value);
  1456. SetFlip(int combo_id, int value);
  1457. SetWalkability(int combo_id, int value);
  1458. SetType(int combo_id, int value);
  1459. SetCSets(int combo_id, int value);
  1460. SetFoo(int combo_id, int value);
  1461. SetFrames(int combo_id, int value);
  1462. SetSpeed(int combo_id, int value);
  1463. SetNextCombo(int combo_id, int value);
  1464. SetNextCSet(int combo_id, int value);
  1465. SetFlag(int combo_id, int value);
  1466. SetSkipAnim(int combo_id, int value);
  1467. SetNextTimer(int combo_id, int value);
  1468. SetSkipAnimY(int combo_id, int value);
  1469. SetAnimFlags(int combo_id, int value);
  1470.  
  1471. //three inputs, no return
  1472. SetBlockWeapon(int combo_id, int index, int value); //[32]
  1473. GetExpansion(int combo_id, int index, int value); //[32]
  1474. SetStrikeWeapons(int combo_id, int index, int value); //[32]
  1475.  
  1476. /************************************************************************************************************/
  1477.  
  1478. ////////////////////
  1479. /// SpriteData ///
  1480. ////////////////////
  1481. SpriteData-> For modifying the weapon/misc sprites by script.
  1482.  
  1483. GetTile(int sprite_id);
  1484. GetMisc(int sprite_id);
  1485. GetCSets(int sprite_id);
  1486. GetFrames(int sprite_id);
  1487. GetSpeed(int sprite_id);
  1488. GetType(int sprite_id);
  1489. SetTile(int sprite_id, int value);
  1490. SetMisc(int sprite_id, int value);
  1491. SetCSets(int sprite_id, int value);
  1492. SetFrames(int sprite_id, int value);
  1493. SetSpeed(int sprite_id, int value);
  1494. SetType(int sprite_id, int value);
  1495.  
  1496. /************************************************************************************************************/
  1497.  
  1498.  
  1499.  
  1500. ///////////////
  1501. /// Input ///
  1502. ///////////////
  1503.  
  1504. Input->
  1505.  
  1506. /************************************************************************************************************/
  1507.  
  1508. bool Press[18]; ZASM Instruction:
  1509. BUTTONPRESS
  1510. /**
  1511. * An array of 18 button states that correspond to Link->Press*
  1512. *
  1513. */ Example Use:
  1514.  
  1515. /************************************************************************************************************/
  1516.  
  1517. bool Button[18]; ZASM Instruction:
  1518. BUTTONINPUT
  1519. /**
  1520. * An array of 18 button states that correspond to Link->Input*
  1521. *
  1522. */ Example Use:
  1523.  
  1524. /************************************************************************************************************/
  1525.  
  1526. bool Hold[18]; ZASM Instruction:
  1527. BUTTONHELD
  1528. /**
  1529. * An array of 18 button states that returns if a button is being held down.
  1530. * MAY only represent a joypad.
  1531. *
  1532. */ Example Use:
  1533.  
  1534. /************************************************************************************************************/
  1535.  
  1536. bool Key[127]; ZASM Instruction:
  1537. KEYPRESS
  1538. /**
  1539. * An array of 127 indices, each representing a keypress on the keyboard.
  1540. * See std_keyboard.zh for constants ands functions that relate to reading from, or writing to the keyboard.
  1541. *
  1542. */ Example Use:
  1543.  
  1544. /************************************************************************************************************/
  1545.  
  1546. bool ReadKey[127]; ZASM Instruction:
  1547. READKEY
  1548. /**
  1549. * A read-only array of 127 indices, each representing a keypress on the keyboard.
  1550. * Returns true if a key is pressed or held.
  1551. * See std_keyboard.zh for constants ands functions that relate to reading from, or writing to the keyboard.
  1552. *
  1553. */ Example Use:
  1554.  
  1555. /************************************************************************************************************/
  1556.  
  1557. bool Joypad[18]; ZASM Instruction:
  1558. JOYPADPRESS
  1559. /**
  1560. * An array of 18 button states that corresponds to whether the player is pressing a button on a Joypad \
  1561. * controller, but not the keyboard. REQUIRES TESTING.
  1562. *
  1563. */ Example Use:
  1564.  
  1565. /************************************************************************************************************/
  1566.  
  1567. int Mouse[6]
  1568.  
  1569. /**
  1570. * An array of six integers for the mouse X, Y and Z positions, and Left, Right, and Middle Clicks.
  1571. *
  1572. * You can write to clicks by setting their array indices to 0 or 1.
  1573. * /
  1574.  
  1575. /************************************************************************************************************/
  1576.  
  1577.  
  1578. /////////////////
  1579. /// MapData ///
  1580. /////////////////
  1581.  
  1582. MapData->
  1583.  
  1584. SetEnemy(int map, int screen, int enemy_index, int enem_type);
  1585. GetEnemy(int map, int screen, int enemy_index);
  1586.  
  1587. /************************************************************************************************************/
  1588.  
  1589.  
  1590. SetDoor(int map, int screen, int door_index, int door_type);
  1591. GetDoor(int map, int screen, int door_index);
  1592.  
  1593. /************************************************************************************************************/
  1594.  
  1595.  
  1596. SetWidth(int map, int screen, int value);
  1597. GetWidth(int map, int screen);
  1598.  
  1599. /************************************************************************************************************/
  1600.  
  1601.  
  1602. SetHeight(int map, int screen, int value);
  1603. GetHeight(int map, int screen);
  1604.  
  1605. /************************************************************************************************************/
  1606.  
  1607.  
  1608. SetViewX(int map, int screen, int value);
  1609. GetViewX(int map, int screen);
  1610.  
  1611. /************************************************************************************************************/
  1612.  
  1613.  
  1614. SetViewY(int map, int screen, int value);
  1615. GetViewY(int map, int screen);
  1616.  
  1617. /************************************************************************************************************/
  1618.  
  1619.  
  1620. SetGuy(int map, int screen, int value);
  1621. GetGuy(int map, int screen);
  1622.  
  1623. /************************************************************************************************************/
  1624.  
  1625.  
  1626. SetString(int map, int screen, int value);
  1627. GetString(int map, int screen);
  1628.  
  1629. /************************************************************************************************************/
  1630.  
  1631.  
  1632. SetRoomType(int map, int screen, int value);
  1633. GetRoomType(int map, int screen);
  1634.  
  1635. /************************************************************************************************************/
  1636.  
  1637.  
  1638. SetEntryX(int map, int screen, int value);
  1639. GetEntryX(int map, int screen);
  1640.  
  1641. /************************************************************************************************************/
  1642.  
  1643.  
  1644. SetEntryY(int map, int screen, int value);
  1645. GetEntryY(int map, int screen);
  1646.  
  1647. /************************************************************************************************************/
  1648.  
  1649.  
  1650. SetItem(int map, int screen, int value);
  1651. GetItem(int map, int screen);
  1652.  
  1653. /************************************************************************************************************/
  1654.  
  1655.  
  1656. SetUndercombo(int map, int screen, int value);
  1657. GetUndercombo(int map, int screen);
  1658.  
  1659. /************************************************************************************************************/
  1660.  
  1661.  
  1662. SetUnderCSet(int map, int screen, int value);
  1663. GetUnderCSet(int map, int screen);
  1664.  
  1665. /************************************************************************************************************/
  1666.  
  1667.  
  1668. SetCatchall(int map, int screen, int value);
  1669. GetCatchall(int map, int screen);
  1670.  
  1671. /************************************************************************************************************/
  1672.  
  1673.  
  1674. SetLayerOpacity(int map, int screen, int layer, int opacity);
  1675. GetLayerOpacity(int map, int screen, int layer);
  1676.  
  1677. /************************************************************************************************************/
  1678.  
  1679. SetSecretCombo(int map, int screen, int index, int value);
  1680. GetSecretCombo(int map, int screen, int index);
  1681.  
  1682. /************************************************************************************************************/
  1683.  
  1684.  
  1685. SetSecretCSet(int map, int screen, int index, int value);
  1686. GetSecretCSet(int map, int screen, int index);
  1687.  
  1688. /************************************************************************************************************/
  1689.  
  1690.  
  1691. SetSecretFlag(int map, int screen, int index, int value);
  1692. GetSecretFlag(int map, int screen, int index);
  1693.  
  1694. /************************************************************************************************************/
  1695.  
  1696.  
  1697. SetLayerMap(int map, int screen, int layer, int map);
  1698. GetLayerMap(int map, int screen, int layer);
  1699.  
  1700. /************************************************************************************************************/
  1701.  
  1702.  
  1703. SetLayerScreen(int map, int screen, int layer, int screen);
  1704. GetLayerScreen(int map, int screen, int layer);
  1705.  
  1706. /************************************************************************************************************/
  1707.  
  1708.  
  1709. SetPath(int map, int screen, int path, int dest);
  1710. GetPath(int map, int screen, int path);
  1711.  
  1712. /************************************************************************************************************/
  1713.  
  1714.  
  1715. SetWarpReturnX(int map, int screen, int warp, int posX);
  1716. GetWarpReturnX(int map, int screen, int warp);
  1717.  
  1718. /************************************************************************************************************/
  1719.  
  1720.  
  1721. SetWarpReturnY(int map, int screen, int warp, int posY);
  1722. GetWarpReturnY(int map, int screen, int warp);
  1723.  
  1724.  
  1725. /************************************************************************************************************/
  1726.  
  1727. int GetEnemy(int map, int screen, int enemy_index)
  1728. ZASM Instruction
  1729. GETSCREENENEMY
  1730.  
  1731. /**
  1732. * Reads values from enemy lists anywhere in the game.
  1733. * Returns the Nth enemy of a given map, and screen where 'enemy_index' is the Nth index
  1734. * 'map' is the desired map, and 'screen' is the desired screen.
  1735. * Returns 0 if there is no enemy in the desired index.
  1736. *
  1737. * Use DMaptoMap() from std_functions to simplify in-game use with DMaps.
  1738. * /
  1739.  
  1740. /************************************************************************************************************/
  1741.  
  1742. int SetEnemy(int map, int screen, int enemy_index, int enemy_id)
  1743. ZASM Instruction
  1744. SETSCREENENEMY
  1745.  
  1746. /**
  1747. * Sets values to enemy lists anywhere in the game.
  1748. * Sets the Nth enemy of a given map, and screen to a specified NPC, where 'enemy_index' is
  1749. * the Nth index 'map' is the desired map, and 'screen' is the desired screen, and 'enemy_id'.
  1750. * is the ID of the enemy that you wish to use.
  1751. *
  1752. * If changing the enemies on the current screen and map, enemies will change upon reloading the screen.
  1753. *
  1754. * Use DMaptoMap() from std_functions to simplify in-game use with DMaps.
  1755. * /
  1756.  
  1757. /************************************************************************************************************/
  1758.  
  1759. int GetDoor(int map, int screen, int index)
  1760. ZASM Instruction
  1761. GETSCREENDOOR
  1762.  
  1763. /**
  1764. * Reads value of a door on any screen in the game environment.
  1765. * Returns Screen->Door[index] of a given map, and screen where 'index' is the Door[] index,
  1766. * 'map' is the desired map, and 'screen' is the desired screen.
  1767. * Returns 0 if there is no door present (open).
  1768. *
  1769. * Use DMaptoMap() from std_functions to simplify in-game use with DMaps.
  1770. * /
  1771.  
  1772. /************************************************************************************************************/
  1773.  
  1774. int SetDoor(int map, int screen, int index, int type)
  1775. ZASM Instruction
  1776. SETSCREENDOOR
  1777.  
  1778. /**
  1779. * Sets the value of a door on any screen in the game environment.
  1780. * Sets Screen->Door[index] of a given map, and screen where 'index' is the Door[] index,
  1781. * 'map' is the desired map, and 'screen' is the desired screen, and 'type'.
  1782. * is the door type.
  1783. *
  1784. * If changing the doors on the current screen and map, doors will change upon reloading the screen.
  1785. *
  1786. * Use DMaptoMap() from std_functions to simplify in-game use with DMaps.
  1787. * /
  1788.  
  1789. /************************************************************************************************************/
  1790.  
  1791.  
  1792. ///////////////
  1793. /// Debug ///
  1794. ///////////////
  1795.  
  1796. /************************************************************************************************************/
  1797. DEBUGGING: These might find their way into namespace Debug->
  1798. /************************************************************************************************************/
  1799.  
  1800.  
  1801. int GetFFCPointer(ffc *ptr[]); ZASM Instruction:
  1802. FFCARRPTR
  1803. /**
  1804. * Returns the pointer of a ffc array as a float.
  1805. */ Example Use:
  1806. ffc arr[16];
  1807. int size = SizeOfArray( GetPointer(arr) );
  1808. //Size == 16
  1809.  
  1810. /************************************************************************************************************/
  1811.  
  1812. ffc SetFFCPointer(int value); ZASM Instruction:
  1813. FFCARRPTR2
  1814. /**
  1815. * Converts an int pointer to the ffc type, for assigning.
  1816. */ Example Use:
  1817. ffc arr[16]; ffc arrB[2]; int arrC[2];
  1818. arrC[0] = GetPointer(arr);
  1819. arrB[0] = SetPointer(arrC[0]);
  1820.  
  1821. /************************************************************************************************************/
  1822.  
  1823. int GetItemPointer(item *ptr[]); ZASM Instruction:
  1824. ITEMARRPTR
  1825. /**
  1826. * Returns the pointer of a item array as a float.
  1827. */ Example Use:
  1828. item arr[16];
  1829. int size = SizeOfArray( GetPointer(arr) );
  1830. //Size == 16
  1831.  
  1832. /************************************************************************************************************/
  1833.  
  1834. item SetItemPointer(int value); ZASM Instruction:
  1835. ITEMARRPTR2
  1836. /**
  1837. * Converts an int pointer to the item type, for assigning.
  1838. */ Example Use:
  1839. item arr[16]; item arrB[2]; int arrC[2];
  1840. arrC[0] = GetPointer(arr);
  1841. arrB[0] = SetPointer(arrC[0]);
  1842.  
  1843. /************************************************************************************************************/
  1844.  
  1845.  
  1846. int GetItemdataPointer(itemdata *ptr[]); ZASM Instruction:
  1847. IDATAARRPTR
  1848. /**
  1849. * Returns the pointer of a itemdata array as a float.
  1850. */ Example Use:
  1851. itemdata arr[16];
  1852. int size = SizeOfArray( GetPointer(arr) );
  1853. //Size == 16
  1854.  
  1855. /************************************************************************************************************/
  1856.  
  1857. itemdata SetItemdataPointer(int value); ZASM Instruction:
  1858. IDATAARRPTR2
  1859. /**
  1860. * Converts an int pointer to the itemdata type, for assigning.
  1861. */ Example Use:
  1862. itemdata arr[16]; itemdata arrB[2]; int arrC[2];
  1863. arrC[0] = GetPointer(arr);
  1864. arrB[0] = SetPointer(arrC[0]);
  1865.  
  1866. /************************************************************************************************************/
  1867.  
  1868. int GetNPCPointer(npc *ptr[]); ZASM Instruction:
  1869. NPCARRPTR
  1870. /**
  1871. * Returns the pointer of a item array as a float.
  1872. */ Example Use:
  1873. item arr[16];
  1874. int size = SizeOfArray( GetPointer(arr) );
  1875. //Size == 16
  1876.  
  1877. /************************************************************************************************************/
  1878.  
  1879. npc SetNPCPointer(int value); ZASM Instruction:
  1880. NPCARRPTR2
  1881. /**
  1882. * Converts an int pointer to the npc type, for assigning.
  1883. */ Example Use:
  1884. npc arr[16]; npc arrB[2]; int arrC[2];
  1885. arrC[0] = GetPointer(arr);
  1886. arrB[0] = SetPointer(arrC[0]);
  1887.  
  1888. /************************************************************************************************************/
  1889.  
  1890. int GetLWeaponPointer(lweapon *ptr[]); ZASM Instruction:
  1891. LWPNARRPTR
  1892. /**
  1893. * Returns the pointer of a lweapon array as a float.
  1894. */ Example Use:
  1895. lweapon arr[16];
  1896. int size = SizeOfArray( GetPointer(arr) );
  1897. //Size == 16
  1898.  
  1899. /************************************************************************************************************/
  1900.  
  1901. lweapon SetLWeaponPointer(int value); ZASM Instruction:
  1902. LWPNARRPTR2
  1903. /**
  1904. * Converts an int pointer to the lweapon type, for assigning.
  1905. */ Example Use:
  1906. lweapon arr[16]; lweapon arrB[2]; int arrC[2];
  1907. arrC[0] = GetPointer(arr);
  1908. arrB[0] = SetPointer(arrC[0]);
  1909.  
  1910. /************************************************************************************************************/
  1911.  
  1912. int GetEWeaponPointer(eweapon *ptr[]); ZASM Instruction:
  1913. EWPNARRPTR
  1914. /**
  1915. * Returns the pointer of a eweapon array as a float.
  1916. */ Example Use:
  1917. eweapon arr[16];
  1918. int size = SizeOfArray( GetPointer(arr) );
  1919. //Size == 16
  1920.  
  1921. /************************************************************************************************************/
  1922.  
  1923. eweapon SetEWeaponPointer(int value); ZASM Instruction:
  1924. EWPNARRPTR2
  1925. /**
  1926. * Converts an int pointer to the eweapon type, for assigning.
  1927. */ Example Use:
  1928. eweapon arr[16]; eweapon arrB[2]; int arrC[2];
  1929. arrC[0] = GetPointer(arr);
  1930. arrB[0] = SetPointer(arrC[0]);
  1931.  
  1932. /************************************************************************************************************/
  1933.  
  1934. int RefFFC; ZASM Instruction:
  1935. REFFFC
  1936. /**
  1937. * Returns the present ffc refrence from the stack. FOR DEBUGGING ONLY!
  1938. * THIS WILL BE DISABLED IN RELEASE BUILDS !
  1939. */ Example Use:
  1940.  
  1941. /************************************************************************************************************/
  1942.  
  1943. int RefItem; ZASM Instruction:
  1944. REFITEM
  1945. /**
  1946. * Returns the present item refrence from the stack. FOR DEBUGGING ONLY!
  1947. * THIS WILL BE DISABLED IN RELEASE BUILDS !
  1948. */ Example Use:
  1949.  
  1950. /************************************************************************************************************/
  1951.  
  1952. int RefItemdata; ZASM Instruction:
  1953. REFIDATA
  1954. /**
  1955. * Returns the present itemdata refrence from the stack. FOR DEBUGGING ONLY!
  1956. * THIS WILL BE DISABLED IN RELEASE BUILDS !
  1957. */ Example Use:
  1958.  
  1959. /************************************************************************************************************/
  1960.  
  1961. int RefLWeapon; ZASM Instruction:
  1962. REFLWPN
  1963. /**
  1964. * Returns the present lweapon refrence from the stack. FOR DEBUGGING ONLY!
  1965. * THIS WILL BE DISABLED IN RELEASE BUILDS !
  1966. */ Example Use:
  1967.  
  1968. /************************************************************************************************************/
  1969.  
  1970. int RefEWeapon; ZASM Instruction:
  1971. REFEWPN
  1972. /**
  1973. * Returns the present eweapon refrence from the stack. FOR DEBUGGING ONLY!
  1974. * THIS WILL BE DISABLED IN RELEASE BUILDS !
  1975. */ Example Use:
  1976.  
  1977. /************************************************************************************************************/
  1978.  
  1979. int RefNPC; ZASM Instruction:
  1980. REFNPC
  1981. /**
  1982. * Returns the present npc refrence from the stack. FOR DEBUGGING ONLY!
  1983. * THIS WILL BE DISABLED IN RELEASE BUILDS !
  1984. */ Example Use:
  1985.  
  1986. /************************************************************************************************************/
  1987.  
  1988. int SP; ZASM Instruction:
  1989. SP
  1990. /**
  1991. * Returns the value of the stack pointer. FOR DEBUGGING ONLY!
  1992. * THIS WILL BE DISABLED IN RELEASE BUILDS !
  1993. */ Example Use:
  1994.  
  1995. /************************************************************************************************************/
RAW Paste Data