to_add.txt 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330
  1. Bugs-
  2. Fire bug :)
  3. Block transfer BETWEEN boards (exporting to a MZS file?)
  4. Status counters ALWAYS shown as 0 (&COUNTER&)
  5. Status booleans (!COUNTER!)
  6. BK palette fading
  7. IF MOD ORDER?
  8. ZAP ALL KEY LABELS/etc
  9. PLAYERX/PLAYERY counters
  10. TO ADD TO MZX II- (for sure) (*=Done, +=Added to info_mzx.txt file)
  11. Partial .CHR import? (from-to)
  12. Replace lowercase strings w/uppercase to merge them
  13. Search all code for speed and SIZE improvements. Check all dynamic
  14. allocations for possible EMS usage. Check all data for a size reduction.
  15. In general, target mem. free is 250k w/EMS usage, and 150k w/o EMS usage.
  16. Make sure FARMALLOC is only used dynamically for MOD, SAM, boards/file
  17. lists, and MAYBE help. Possibly pre-allocate a buffer for help and
  18. another for file lists.
  19. * Context-sensitive help.
  20. * Remember double-under for player, for bombs/sensors.
  21. * Changing to Lava, etc fixes param for anim.
  22. * TELEPORT doesn't fade or show latest update.
  23. * Allow resizing board without mess up using a temp file to hold board during
  24. conversion.
  25. * Add && support to?- INPUT STRING PROMPT, MOD, TELEPORT, BOARD DIR,
  26. ASK PROMPT, MOD FADE IN, LOAD CHR SET, LOAD PAL, SWAP WORLD
  27. * Transporting onto a sensor works properly. Others push it.
  28. * New conditions- musicon and pcsfxon
  29. * Make sure ALL cmds work w/global robot, at least in code.
  30. * Make sure ALL cmds are param checked.
  31. * Block options w/o block operates on current line.
  32. * Changing things to spaces CLEARS them, to avoid screwing up floors.
  33. * Restart position not changed during a save/load
  34. * Label- :playerhurt for NON bullets, not sent on invincible hurts
  35. * Max cmds per cycle at 40, not 25
  36. * Global robot runs normally in freeze/slow time
  37. * Remember to save player color if a robot or potion sets/incs INVINCO.
  38. * Choice of 100x100, 200x50, 400x25, 80x125, or 60x166.
  39. * REMEMBER IN CONVERTER- Robots w/& need it as a &&!
  40. * Character editor remembers character you were editing.
  41. * Robo-P renamed to Robotic (can become something cooler if wished)
  42. * Scrolls now allow proper use of mouse, pgup, and pgdn.
  43. * Scrollborder became Scrollcorner.
  44. * :gooptouched auto label added.
  45. * Messages like "You got a red key" are now "You got a key" so palette
  46. fiddling won't make strange words. :)
  47. * "rel counters last" and "rel counters first" uses special counters-
  48. FIRSTXPOS, LASTYPOS, etc.
  49. * Within robotic messages (box/line) a &INPUT& will be replaced by the
  50. exact text of the currently inputted string
  51. * Replace character vars in WINDOW.CPP with #defines (IE pc_dot)
  52. * Notes in play of same freq won't run together
  53. Points in included games (besides Caverns)
  54. * Explosions won't destroy entrances, lava, water, ice, or goop
  55. * Note that time resets upon leaving/entering room (in help)
  56. * Must stop robots from firing if there is already a bullet of the same
  57. dir/type in that dir.
  58. * Add MOD making info to help file
  59. * Remember to get rotate to work w/sensors
  60. * Get the contortions right for getting TELEPORT to work with REL ???
  61. since the change is now done much later when REL is not handy
  62. * Other things will push the player ONTO a sensor.
  63. * The above will trigger the SENSORON label.
  64. * If player is on an entrance without having been there before the update,
  65. use it. (IE can now be pushed onto entrances)
  66. * Teleporting or walking onto a screen and starting on a sensor will
  67. trigger the SENSORON label
  68. * Non-players/puzzle pieces now transport properly.
  69. * Make sure attempts to change the player's color during invinco set
  70. saved_pl_color instead.
  71. * PLAYERLASTDIR (0-4) and PLAYERFACEDIR (0-3) as counters.
  72. * Points for killing enemies (3) and points for rings/potions (5)
  73. * Way to disable edging spaces on message row- ENABLE MESG EDGE, DISABLE.
  74. * Cmds- LOOP START, LOOP # TIMES, ABORT LOOP, robot ctr LOOPCOUNT
  75. * Make sure pc sfx and pc digi can coexist properly
  76. * Increase non-built in counter limit to 50.
  77. * Robots- Writing to an "off" overlay makes it "transparent". Clearing an
  78. overlay entirely while it is "transparent" makes it "off".
  79. * Add game over music toggle
  80. * New passage search order- 1) Same type, same color 2) Same color 3) Same
  81. type, same foreground 4) Same foreground 5) Same type 6) Default player
  82. position
  83. * Palette import/export
  84. * If starting board is deleted, change it to title.
  85. * "Sets of five" numerical input should actually go by fives
  86. * Store ASCII set in .EXE
  87. * Rename RIP-OFF PROTECTION to CAN'T SAVE PROTECTION (ANTI-RIPOFF)
  88. * Fix bug- Board size/pos screen leaves Cancel buttons as Center for other
  89. dialogs
  90. * Holding the mouse button on a numeric arrow button should cycle the num.
  91. * Menu changes can wrap the menu line (PgDn/PgUp in editor)
  92. * Remove the "." Directory from file menus
  93. * Player dir pic is based only on arrow keys, NOT on ice or water. Robot
  94. movement DOES change the pic. Starts facing south.
  95. * Six (not four) status counters.
  96. * Text file export is for MAPS. (making note of purpose for future ref)
  97. * Overlay mode- robots set not to off but to transparent- there, not shown,
  98. though. (so that the actual overlay info is still saved) Transparent
  99. mode also available in world editor.
  100. * CHANGE blah p?? blah p?? (notice the p?? added for the first) Can be p??.
  101. * Doors, if can't move, don't advance in anim.
  102. * Parameters are stored as 0 thru 256- 0-255 normal, 256 wild (IE no change)
  103. * CHANGE cmds between types resets the parameters unless between "custom"
  104. types, robot types, or scroll/signs.
  105. * "Persistent go" command, like /"nsew" but WAITS to move if blocked.
  106. * No chest message on empty.
  107. * Lava on CAVERNS.MZX on screen that leads to other lava. (since a second
  108. lavawalk invocation is required)
  109. * Startup "help" screen on first use.
  110. * Explosions Leave Empty shouldn't mess up ANY floors, etc. (does web.)
  111. * Add to file format room for sound effects, possibly optional. Limit
  112. their size, allow special codes (&) for SAMs in sound effects. Update
  113. Load World, Save World, and Import World. (offsets for board areas)
  114. * Much better fill routine. Remember to test it with robots/etc and
  115. over robots/etc.
  116. * Entering a non-cmd with the first character as a [, ., :, etc auto
  117. formats it. Leading and trailing spaces and quotes are cleared first.
  118. * Save/Load game should be accessed through F-keys.
  119. * Remove special menu for Alt+M (modify) in editor- just modify!
  120. * Converting ver 1.02 files- make sure Goop character is reset.
  121. * Change palette code so that EGA/VGA differences are only noticed in the
  122. actual palette changing code and the init- Otherwise it is always
  123. stored as 18 bit rgb.
  124. * Windowing code- use vid pages 2/3 for the last two screen save slots.
  125. * In editor, keeps track of whether world has been modified.
  126. * Ceiling layer- noninteractive, but overlays things and looks neat.
  127. Wouldn't need a parameter code, the id code would be the character
  128. code. Include in editor- Edit, display toggle. Robots- changing it
  129. by character, copying areas of it, and filling an area of it by
  130. cmd or string (IE set area to "A string") Two arrays- overlay_char
  131. and overlay_color. Char of 32 is see-thru. Layer during game can be
  132. on, off, or static (IE not scrolling) just showing upper left portion.
  133. * Robot commands to change the mode of saving.
  134. * Use an additional 64k of robot memory for ONLY the global robot and
  135. #0 scrolls/robots. Limit any one robot/scroll to 31k.
  136. * Allow placing shooting fire in editor.
  137. * Make all enemies without speed arguments move 1/2 thier speed. Make
  138. dragons move same speed with occasional stupidity, as well as super
  139. intellegents- have occasional stupidity.
  140. * Player CANNOT be overwritten, you must place him anew to move him.
  141. * Make sure first line of robot shows if it is a box mesg.
  142. * Speeds in game- 0=no vert retrace wait, 1=# vert retrace waits
  143. * Input strings should allow input of spaces.
  144. * Time limits- Out of time zaps to entrance automatically, THEN RESETS
  145. TIMER. Counter TIMERESET holds reset value for timer, and is stored in
  146. time_limit variable. The TIME counter holds the current time.
  147. * MOD code has only an error on no memory. Errors for loading mods and
  148. sams (IE not enough memory) are activatable via a special debbuging
  149. option via the Settings menu. Sam for errors for not found. The
  150. errors are always within in the editor, but then they have the note
  151. saying "(MOD still set for this board)" unless it was a file error.
  152. File errors ALWAYS give errors.
  153. * First test of a game should NOT give GAME OVER.
  154. * Make sure sound effects aren't cut off across screens.
  155. * Make sure mod errors are less frequent.
  156. * Make sure MOD is put into mod_playing if music is off (editor AND robots)
  157. or for loading error (editor only)
  158. * Placing a bomb while upon a passage warps to title. Fix.
  159. * Sensors must be pushable.
  160. * Add a new sensor-activated label- SENSORPUSHED, when the sensor is
  161. pushed, with or without the player on it.
  162. * Make sure that when the player is pushed, that if a sensor is beneath the
  163. player, it is pushed as well. (this and the above allow vehicles)
  164. * Label- JUSTENTERED when the player just entered the screen or the game
  165. is started. (NOT restored)
  166. * Command- Can lock/unlock board scrolling temporarily- LOCKSCROLL,
  167. UNLOCKSCROLL.
  168. * IF ALIGNEDROBOT "robot" "label"
  169. * Damage editing- Changing the amount of damage things inflict.
  170. * Change cheat keys. Only include Give All key and Destroy Surrounding key.
  171. Still have available during Test mode. Cheat cmd line option- A dash '-'
  172. followed by ascii 254.
  173. * Load title screen directly when loading game for title. Prevents music on
  174. first board from playing, and saves time.
  175. * New robot-specific auto-counters- (read only) THISX, THISY.
  176. * Aha- Anywhere a number can go, a counter can too. Wherever there is a
  177. number, it is automatically assumed to be a COUNTER unless the first
  178. character of the string is a 0. Then the next two numbers are a two
  179. byte integer. Now add param checking, etc. X/Y positions are still
  180. shown -/+ but stored unsigned to become signed.
  181. * Going even farther- Characters and colors can optionally be represented
  182. by either numbers, which are immed. converted to the char/color, or
  183. counters. Same storage format. (unsigned int) Colors with wilds are now
  184. stored as the unsigned int with "bit 256" set. Things, conditions,
  185. expressions, params, items, strings, and directions remain normal.
  186. * Change the -keyboard2 cmd line option to -keyb2.
  187. * Cmd line- load MZX file.
  188. * Cmd lines- Force ega-only, don't use ems.
  189. * Config file for options, ask "OK?" on startup. Remove all config
  190. cmd line options.
  191. * Cmd- SCROLLVIEW X Y. (upper left hand corner is specified) Based off of
  192. current player position.
  193. * Cmd- SWAP TO WORLD "world.mzx" as if starting the world up. Skips any
  194. title screen. (you could put a message there) The other world can have
  195. a "Only play from swap" option.
  196. * Quicksave key in game- Saves without asking for filename and confirmation
  197. unless there isn't a current save file.
  198. * Quickload key in game- Same idea.
  199. * Option (default off) on world to clear messages, bullets, and spitfires
  200. from a screen when exited.
  201. * Defaults should be more logical for boards, specifically, default
  202. board position should be at 3,2 with a size of 74,21.
  203. * Label JUSTLOADED sent to as soon as the game is started or restored.
  204. (including the title screen and actual playing)
  205. * Shows character number on char edit and char selection.
  206. * Shows color number on color selection.
  207. * Revamped user interface.
  208. * Multiple spots to SAVE/RESTORE/EXCHANGE PLAYER POSITION. (8)
  209. * RESTORE/EXCHANGE PLAYER POSITION with the option to duplicate the robot
  210. to take his place. When the player moves back, the robot is, of course,
  211. deleted.
  212. * Remove RANDOM POS/SIZE options.
  213. * Page flip in editor.
  214. * Robot logic to avoid slowdown loops (IE short loops w/o WAITs) by keeping
  215. a location counter of the last label passed/jumped to and stopping if
  216. you ever reach it again WITHOUT any code inbetween that changes a
  217. counter. (or stops the cycle, of course)
  218. * Allow labels to interrupt in a robot's scroll code and have the scroll
  219. still show uninterrupted.
  220. * Show a pic of the item next to it in the THINGS menus.
  221. * The viewport sizing commands should be param checked. (runtime)
  222. * CHANGE CHAR ID # 'x' should be param checked. (runtime)
  223. * Different bullet pics/colors for player, neutral, and enemy bullets.
  224. * Status shown counters should NOT show if the value is 0.
  225. * Use EMS for robots, scrolls, and boards. (Not the current board)
  226. * Prefixes that affect only the first or last x y pair of a command.
  227. * Mod fade commands (background)
  228. * Allow lives/health to max out at 65535.
  229. * Score as a counter, although still stored and treated as a LONG.
  230. * Maximum of 150 boards. (not 127)
  231. * Cmd- COPY BLOCK x y x y x y.
  232. * Add label for SpitFire hitting a robot.
  233. * Add label for Lazer hitting a robot.
  234. * Cmd- Clip Input (chops first word + spaces off of input)
  235. * Cmd- Checking input but only the first word
  236. * KEY1 through KEY9 labels. (like KEYA thru KEYZ)
  237. * Allow viewport sizes down to 1x1.
  238. * PUSH robot command- push things to dir without moving there.
  239. * ONE global robot. (No ID) Stored seperate from a board.
  240. * Robots- Allow importing of a character into a CHAR EDIT command.
  241. * Robots- Have SCROLL CHAR, FLIP CHAR, and COPY CHAR commands.
  242. * Full backward compatibility w/old Megazeux via a conversion program.
  243. * Editable built-in sfx. (including to digitized)
  244. * Elements- Add Goop, which is like Water from ZZT.
  245. * EGA/VGA palette editor, with easy fading. Commands- COLOR INTENSITY #
  246. PERCENT, COLOR INTENSITY "counter" PERCENT, COLOR FADE IN, COLOR FADE OUT,
  247. SET COLOR # TO r g b, SET COLOR # TO INTENSITY # PERCENT, SET COLOR
  248. "counter" TO INTENSITY "counter" PERCENT. (note- the FADE OUT/IN cmds
  249. are "quick" fades, IE not in the bk, but they actually stall the game
  250. a bit. They also end the current cycle.)
  251. * Display counters within strings, IE * "You have &GEMS& gems." (use &&
  252. for &)
  253. * Robot command- Load .chr set.
  254. * New default characters for global chars and char set.
  255. * When adding another board, copy most of the options (can attack, etc.)
  256. from the current board, including MOD file.
  257. * Edit ANY character/color from Global Chars.
  258. * Char editor- Revert to Ascii, Revert to Megazeux, change REVERSE to
  259. NEGATIVE.
  260. * Alt-Y Debug info should LABEL each line.
  261. * Block command- Paint (w/color).
  262. * Board editor- Scroll when cursor is five spaces from the edge.
  263. * Work help file better.
  264. * Fade in/out between screens and program areas.
  265. * Ice should NOT keep pushing you against something. If you are blocked,
  266. cease movement.
  267. * When entering a new screen, show update THEN load screen.
  268. * Make sound test available in editor as an option. Remove it from the
  269. previous way of access. (access from Alt+F sound FX editor)
  270. * Stabalize speed with and without mods, even after a mod error.
  271. * Can't test a save-locked game w/o pw and fix it so it doesn't lock up.
  272. * Remove scroll coloring on line by line.
  273. * Simplify scroll editing. (scrolls are really unimportant)
  274. * Export .ANS file. Document in help how blink works in this case.
  275. * Command line option- -? to list help for cmd line options. An invalid
  276. option will also do this.
  277. * Redraw a nice, sleek gray "tech" intro screen, using box commands, not
  278. by storing it as a color_string.
  279. * Energizer should return player color to old color.
  280. * Capture and throw away Ctrl-C, PrintScreen, SysRq, and Pause.
  281. * Rewrite keyboard code as above and to avoid Shift/Alt/Ctrl lock.
  282. TO ADD TO MZX II, ALREADY DOABLE IN CURRENT SOMEHOW-
  283. * Return in editor at end of program should be able to add a blank line.
  284. * Allow marking of a section of robot, in lines. (for editing)
  285. * Remove -bios, -mouse, -debug, -prism, and -ii! options.
  286. * Remove useless "pro" mode.
  287. * Robot commands- DIVIDE, MULTIPLY, MODULO.
  288. * Different player pics per direction.
  289. TO ADD TO MZX II, MAYBE- (?=VERY VERY unlikely)
  290. ? New MOD/SAM code.
  291. ? MIDi support. (and/or CMF, ROL, etc)
  292. TO ADD TO A VGA ONLY VERSION OF MZX-
  293. VGA 256-color (320x240) (tiles instead of chars) (page flipping)
  294. Tile size of 16x16.
  295. Palette editing. (full VGA)
  296. Support fully EMS/XMS/virtual memory/storage in graphics memory for tiles.
  297. GOOD tile editor (VGA).
  298. Tile editing of multiple tiles in a setup at a time.
  299. Minimum of 500 tiles.
  300. Smooth movement for VGA. (slides from tile to tile but still limited to
  301. stopping within tiles)
  302. Choose tiles for borders.
  303. Windows-style dialogs.
  304. Palette rotation. (auto)
  305. Overlay page (graphics) w/optional parallax scrolling. (overlay page is
  306. pure graphics and although editable by robots has no gameplay value
  307. except to cover the main layer)
  308. Import PCX/GIF/etc. (seperates into non-duplicated tiles and layers as
  309. either CustomFloor, CustomBlock, or into the overlay page)
  310. Player and robots can be two tiles high. (for graphical purposes only)
  311. Overlaid sprites? (Independant graphical entitys)
  312. Default characters for objects that are logical for tiles.