BUGS.txt 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742
  1. bug 0001: Dual Marathon gimmick
  2. The keys control both a platform game (in the top window) and a
  3. tetromino stacking game (in the bottom window). If you die on
  4. either window, you lose.
  5. bug 0002: Customizable top out behavior
  6. Parity: Tetris (NES), freepuzzlearena
  7. A rule can dictate that "top out" occurs when the following happens:
  8. * Overlap or lock out: Entry overlapping blocks, or lock entirely
  9. above ceiling (current behavior)
  10. * Partial lock out: Lock with any block above ceiling
  11. * Garbage out: Entry with any block above ceiling
  12. * Loose block out: Lock overlapping blocks; block can be shifted
  13. out of the way in some cases (like Tetris for NES)
  14. bug 0003: Mode 7 style blitter for PC
  15. Platform: PC
  16. Parity: TOD
  17. Extend blitField(LJView *) to scale and rotate the field as it's
  18. being copied to the screen.
  19. bug 0004: Mode 7 style blitter for GBA and DS
  20. Platform: GBA
  21. Extend blitField(LJView *) to calculate scaling and rotation factors
  22. for each scanline, and extend other functions to start DMA.
  23. bug 0005: Port Lockjaw: The Overdose (TOD)
  24. Requires: 0002, 0003, 0004
  25. Parity: TOD
  26. TOD used Carbon Engine. I want to migrate away from Carbon Engine.
  27. bug 0006: Ridin' Spinners
  28. Requires: 0005
  29. SRS and Infinity are turned on. If you abuse lock delay, or you make
  30. a "spin triple" twist, the screen begins to spin, and the music
  31. changes to a cover of "Ridin' Spinners" by Three 6 Mafia.
  32. bug 0007: Improve Items gimmick
  33. Requires: 0008
  34. Votes: Caithness
  35. Parity: Tetris DS
  36. Give only one item at a time in the early stages.
  37. bug 0008: Prerotated next queue
  38. Parity: Tetris DS
  39. Store the orientation of each piece in the next queue.
  40. bug 0009: TDS 4-player worldwide simulation
  41. Parity: Tetris DS
  42. 3/4 of the time you start it, it will play annoying music for
  43. two minutes, give an 86420 error, and quit. The rest of the
  44. time, it will play annoying music for between 15 seconds and
  45. two minutes and then switch to Items gimmick.
  46. bug 0010: Colored blocks
  47. Parity: freepuzzlearena
  48. In active, hold, and next, have each block store its color.
  49. bug 0011: H&R Blocks scoring method
  50. Parity: freepuzzlearena
  51. First spotted in freepuzzlearena Tetanus. Each piece is either
  52. entirely dark or entirely light. A line of all dark or all light
  53. scores as 2 lines. Score for n lines with one piece is n*(n+1)*50.
  54. bug 0012: Two physical keys per vkey
  55. Platform: PC
  56. Allow the player to set more than one key that operates a given,
  57. game function, like StepMania does.
  58. bug 0013: Two-player mode
  59. Parity: freepuzzlearena
  60. Allow two players to play at once, and allow garbage to be sent back
  61. and forth.
  62. bug 0014: Store and display assertion text
  63. Lockjaw Engine has ljassert(). If an assertion fails, have some way
  64. for front-ends to retrieve the text.
  65. bug 0015: Rotation system should be array of structs
  66. A single struct should describe all aspects of a rotation system.
  67. The descriptions in wktables.c should be an array of structs, not
  68. struct of arrays. While you're at it, extend the kick tables
  69. from 5 to 8 positions.
  70. bug 0016: Rotation system editor
  71. Platform: PC
  72. Requires: 0015
  73. Votes: Needle, DIGITAL, (RA) Red Star, jujube, fnord
  74. Before developing Lockjaw Engine, I described Wall Kick Explorer, an
  75. editor for rotation systems. Make this.
  76. * initial shift and orientation of each piece
  77. * kick tables for +90deg and +270deg
  78. bug 0017: Adjustable window size
  79. Votes: Bloodstar
  80. Resolution: Fixed in 0.42
  81. The skin should control the screen resolution or the size of the
  82. window. This would make camstudio recording on older PCs feasible.
  83. bug 0018: Store keypress count in .ljm
  84. Replays should store the number of keypresses, so that Baboo! result
  85. screens are correct.
  86. bug 0019: Start .ljm only during ARE
  87. It would probably simplify the code to start a replay only during
  88. entry delay. This would also allow playback to become slightly
  89. more resilient to game engine changes, as the viewer would at least
  90. be able to view block placements.
  91. bug 0020: Option for fractional row kick
  92. Parity: Tetris DX
  93. Right now, a floor kick will move a piece by the minimal amount
  94. needed to place a block in the correct row. This means downward
  95. kicks move to the top of the row, and upward kicks move to the bottom
  96. and immediately start lock delay. Other games don't do this.
  97. To simulate Tetris DX properly, we need a new option:
  98. Fractional floor kick
  99. Unchanged
  100. > Minimal move (current behavior)
  101. Move to top (Tetris DX behavior)
  102. bug 0021: Double buffer entire screen
  103. Platform: PC
  104. Votes: 4matsy
  105. On some video cards, the score flashes. Double buffering the entire
  106. screen, not just the well, would fix this.
  107. bug 0022: Automatic exit on Vista
  108. Platform: PC
  109. One machine running Windows Vista had Esc perform an immediate exit
  110. rather than a pause > exit.
  111. <tepples>
  112. Might it have been caused by vsync() returning immediately?
  113. If so, 0.42 fixes that.
  114. bug 0023: Draw internal preview without clipping to well edge
  115. Requires: 0020
  116. Votes: 4matsy
  117. Internal preview should extend outside the well if the piece is close
  118. enough to the wall.
  119. bug 0024: Improve garbage options
  120. Votes: Bloodstar
  121. Parity: Tetris (NES)
  122. Add option for garbage density, especially for B-type
  123. Garbage density
  124. Half
  125. Two holes
  126. > One hole
  127. Add option for garbage randomness (1-100)
  128. bug 0025: Internet play
  129. Requires: 0013
  130. Votes: Bloodstar
  131. Parity: Tetris DS
  132. Allow sending garbage over the Internet.
  133. bug 0026: FreeType font support
  134. Platform: PC
  135. Votes: Bloodstar
  136. Use TrueType fonts instead of bitmapped fonts.
  137. bug 0027: AVI export
  138. Platform: PC
  139. Votes: Bloodstar
  140. Parity: Tetris (NES) in emulation
  141. FCE Ultra and Nestopia can convert a replay to an AVI.
  142. Lockjaw should too.
  143. bug 0028: Game_Music_Emu music support
  144. Platform: PC
  145. Votes: Bloodstar
  146. Parity: Tetris (NES) in emulation
  147. I'd like to play nsf/sid/spc music without having to
  148. convert it to .ogg first.
  149. bug 0029: Height-sensitive music
  150. Platform: PC
  151. Votes: Bloodstar
  152. Parity: Tetris (NES), Tetris (GB)
  153. Tetris DX changes the music when the stack surpasses a certain
  154. height. Lockjaw should too.
  155. bug 0030: Music on GBA
  156. Platform: GBA
  157. Votes: Bloodstar
  158. Parity: TOD
  159. GBA has sound effects. I'd like some sort of music too. Pimpmobile?
  160. bug 0031: Debrief on handhelds
  161. Platform: GBA, DS
  162. Votes: Bloodstar, zzo38computer
  163. PC has a result screen. I want this on GBA and DS
  164. <tepples>
  165. Fixed in 0.42 for DS. To get this onto the GBA, we'd have to
  166. eliminate three lines of text from the result screen.
  167. bug 0032: Baboo! should force infinite lock delay
  168. Votes: caffeine
  169. right now, Baboo! is defined by use of 0g. it should be
  170. infinite lock delay instead.
  171. <tepples>
  172. Why? It would add an extra keystroke to Zangi-moves.
  173. bug 0033: Move all skin-related files to a folder
  174. Platform: PC
  175. Votes: caffeine
  176. Skin-related files should be kept together in the folder "skin".
  177. bug 0034: Configure console buttons
  178. Platform: PC
  179. Votes: caffeine
  180. Parity: StepMania
  181. Escape to pause, [ to record, ] to play should be configurable.
  182. bug 0035: skip ready go and game over animations
  183. Votes: caffeine
  184. I like to kill and restart games when I make one little mistake,
  185. and startingAnimation and gameOverAnimation slow me down.
  186. I want to skip them, even though each is less than 2 seconds.
  187. bug 0036: Skip to mistakes
  188. Platform: PC
  189. Votes: caffeine
  190. While watching a replay, I want to skip to a piece that increases
  191. the number of holes or whose active time is greater than three
  192. times the average.
  193. bug 0037: Hide active times in results
  194. Votes: caffeine
  195. The Quadra-style "active time" statistics confuse me. I want to
  196. see stats based on wall time only.
  197. bug 0038: Result time unit
  198. Votes: caffeine
  199. I'd like to control whether statistics are expressed per minute
  200. or per second.
  201. <tepples>
  202. Why? DDR is measured in beats per minute, and gasoline engine speed
  203. is measured in revolutions per minute.
  204. bug 0039: More garbage options
  205. Votes: Caithness
  206. I want more realistic garbage.
  207. <tepples>
  208. In what way?
  209. bug 0040: Custom speed curves
  210. Votes: Caithness, caffeine, Ezzelin, zzo38computer
  211. Let the user modify speed curves: for example, user should be
  212. able to make rhythm speed up slower
  213. bug 0041: Saved rule sets
  214. Votes: Needle, kotetsu213, jujube, DIGITAL, Rich Nagel, Deets
  215. Votes: Kukuunen
  216. Parity: Tetris Worlds, Heboris
  217. Let the user create sets of options that override the user's
  218. current options, and replace the gimmick selection screen
  219. with preset selection.
  220. <tepples>
  221. 0.42 adds scenario support for the PC. A scenario editor and
  222. scenario support for handhelds will have to wait.
  223. bug 0042: Release Lockjaw XLII
  224. Requires: 0041
  225. Lockjaw 0.42 won't be released until noticeable progress is made
  226. on these issues.
  227. <tepples>
  228. As of Monday, January 28, 2008, scenario support is in, so Lockjaw
  229. will be released the morning before the Super Bowl.
  230. bug 0043: More rotation systems
  231. Requires: 0016
  232. Votes: herc
  233. Once the rotation system editor is in place, create these:
  234. * Flat-up SRS
  235. bug 0044: Vanish zone
  236. Platform: PC
  237. Votes: DIGITAL
  238. The skin should allow showing the vanish zone.
  239. bug 0045: Handheld skin support
  240. Platform: GBA
  241. Votes: Dood77, matt_hatter83
  242. Parity: TOD
  243. GBA and DS should have skins too.
  244. bug 0046: Pussy 20G
  245. Votes: herc, DIGITAL
  246. Option for moving a piece up 1 cell when shifting it,
  247. counting it as a floor kick.
  248. bug 0047: Pentominoes
  249. Votes: Dood77, jujube, colour_thief
  250. Parity: Bombliss
  251. Add the 5-block pieces.
  252. bug 0048: Bastet randomizer
  253. Votes: zzo38computer
  254. Parity: Abandoned Blocks
  255. In bastet, AI plays each possible next piece in each
  256. possible position and gives one of the worst 3.
  257. bug 0049: lj-contrib as skins
  258. Platform: PC
  259. Votes: Rich Nagel
  260. lj-contrib was written before .skin files were done.
  261. bug 0050: Next above shadow (faint)
  262. Platform: PC
  263. Votes: cdsboy
  264. Draw next above shadow, but draw it semitransparent.
  265. bug 0051: Separate keys for initial actions
  266. Votes: DIGITAL
  267. I like initial actions, but not ARE. Can I get separate
  268. keys to perform initial actions on the next piece before
  269. this one locks down?
  270. bug 0052: Speed graph in debrief
  271. Platform: PC
  272. Votes: Cubicz
  273. Parity: StepMania
  274. Screen 1 is results. Screen 2 is settings.
  275. Why not put a speed graph on screen 3?
  276. bug 0053: High score table
  277. Requires: 0041
  278. Votes: Cubicz, Ezzelin, Rich Nagel, Kuukunen
  279. For each ruleset, keep the highest scores achieved on that
  280. ruleset.
  281. bug 0054: Disable ljconn
  282. Platform: PC
  283. Votes: kotetsu213, Needle
  284. Parity: Tetris The Grand Master, The New Tetris
  285. The skin should be able to turn off ljconn for falling pieces
  286. (as opposed to blocks in the stack). That would improve
  287. accuracy of TNT and TGM simulation.
  288. bug 0055: Skin control for sound effects
  289. Platform: PC
  290. Votes: Cubicz, Needle
  291. Parity: Lumines
  292. Allow skins to specify a .dat file or set of .wav files used
  293. for sound effects.
  294. bug 0056: Bleep gimmick
  295. Votes: Lardarse
  296. Player must clear row 1, 2, 1, 3, 1, 4, 1, 5, 1, ..., 20, 1.
  297. bug 0057: Bravo
  298. Votes: Lardarse
  299. Parity: Luminesweeper
  300. Several other falling block games display "BRAVO!" or another similar
  301. message when there are no blocks left in the well after a line clear,
  302. and award lots of bonus points. Detect and score for this situation.
  303. bug 0058: Vs. Elite garbage
  304. Votes: PetitPrince
  305. you get 7 garbages after random(1,7) seconds, then random(3,5)
  306. garbage every random (5,20) seconds
  307. bug 0059: Wall kick control for IRS
  308. Votes: jagorochi
  309. Parity: TGM
  310. In TGM, initial rotation does not perform kicks.
  311. Change "Initial rotation" thus:
  312. Off: no IRS (current behavior)
  313. > On: if collision, try wall kick (current behavior)
  314. On no kick: if collision, fail
  315. bug 0060: Menu background
  316. Platform: PC
  317. Votes: lvankeulen, Kuukunen
  318. Parity: Tetris (NES)
  319. The skin should specify a background image to be drawn behind
  320. the menu text.
  321. bug 0061: Frame stepping
  322. Platform: PC
  323. Votes: jagorochi
  324. Parity: Tetris (NES) in emulation
  325. To check the event loop for off-by-one errors that affect
  326. accuracy against other games, it would be useful to be able
  327. to step the game engine forward by one frame at a time.
  328. bug 0062: Replay stepping by piece
  329. Platform: PC
  330. Votes: Lardarse
  331. Pause demo playback (with well still visible) with hold button;
  332. advance to next lock with rotate button
  333. bug 0063: Option for goal
  334. Votes: Lardarse, caffeine, Rosti LFC, fnord
  335. Separate goal and countdown code out of gimmicks into an option,
  336. controlled by LJField::goalType. Goals include none, lines,
  337. level, score, time, and keys, which activate comparisons against
  338. goalCount. This would obsolete most gimmicks.
  339. bug 0064: Fill in missing sound effects on handhelds
  340. Platform: GBA, DS
  341. Votes: Lardarse
  342. These sounds are missing:
  343. GBA: Ready, go, countdown
  344. DS: Ready, go, lose, distinct countdown
  345. <tepples>
  346. 0.42 adds "lose" on DS
  347. bug 0065: Bombliss game mode
  348. Requires: 0010
  349. Votes: Joshua
  350. Parity: Bombliss
  351. When game mode is set to Bombliss, line clears no longer remove
  352. lines from the field. Instead, one block of each piece is
  353. colored differently and explodes, removing blocks, when in a
  354. line clear.
  355. bug 0066: Dr. Mario clone
  356. Requires: 0010
  357. Votes: Lardarse
  358. Parity: freepuzzlearena
  359. You made Vitamins. Can you make domino rotation, color matching,
  360. and floating garbage with fast DAS, IRS, and 20G?
  361. bug 0067: Puyo clone
  362. Requires: 0010
  363. Votes: Lardarse
  364. Parity: freepuzzlearena
  365. You made a puyo clone in FPA. Can you port it to LJ?
  366. bug 0068: Preload hold piece
  367. Votes: Lardarse
  368. Option to load a specific piece (such as I or T) into the hold box
  369. at game start.
  370. bug 0069: Bag with good start
  371. Votes: Rosti LFC
  372. Parity: Tetris The Grand Master ACE
  373. Randomizer should always give a "preferred piece" (e.g. I, J, L, T)
  374. first, like history does.
  375. bug 0070: Small skins shouldn't hide the score
  376. Votes: Rich Nagel
  377. Platform: PC
  378. Make wiki.skin (and other small-blkW skins) not hide the score
  379. bug 0071: Preview at left
  380. Votes: DIGITAL
  381. Platform: PC
  382. Skin should specify that the vertical preview ("Next at top")
  383. can be moved to the left side of the playfield.
  384. bug 0072: Volume for sfx
  385. Votes: DIGITAL
  386. Platform: PC
  387. Skin should specify volume for sound effects, as it does for music.
  388. bug 0073: Make PC use GBA options
  389. Votes: jujube
  390. Platform: PC
  391. Move non-GBA/DS specific code from gbaopt.c to options.c,
  392. then take out everything in old_pc_options.c that isn't
  393. load, save, or LJPCView related
  394. <tepples>
  395. 0.42 takes some steps in this direction.
  396. bug 0074: Macro editor
  397. Votes: deepdorp
  398. Make the actions performed by the macro vkeys editable.
  399. bug 0075: Pattern randomizer
  400. Votes: Rich Nagel
  401. Allow the player to define a piece sequence, such as the Sega
  402. power-on pattern, and deal that. It could replace iCheat(tm).
  403. bug 0076: Skin should vary per section
  404. Votes: Needle, Rich Nagel
  405. Parity: freepuzzlearena
  406. For speed curves that have sections, it should be possible for a
  407. skin to specify a background image and music for each section.
  408. bug 0077: Define conditions that trigger initial drop
  409. Votes: Needle
  410. Parity: Tetris The Absolute The Grand Master 2 PLUS
  411. In TAP, initial hard drop and initial soft drop don't get turned on
  412. in Master 900+ or in Death 0+. Find an appropriate rule for whether
  413. to do initial hard drop, and document it.
  414. bug 0078: Set random seed
  415. Votes: Rich Nagel, colour_thief, Lardarse
  416. Parity: FreeCell
  417. For competition purposes, it should be possible to seed the
  418. randomizer to a constant value. Note that this differs from the
  419. "power on pattern" proposal of bug 0075.
  420. bug 0079: Customizable speedometer sample window
  421. Votes: matt_hatter83
  422. The speedometer uses a sliding window of 10 pieces. Can one make it
  423. shorter in options?
  424. bug 0080: Portrait monitor support
  425. Votes: PetitPrince
  426. Skin setting to rotate the entire playfield by 90 degrees.
  427. bug 0081: DTET rotation system
  428. Requires: 0015
  429. Votes: cdsboy, caffeine, fnord
  430. Parity: DTET
  431. Implement the rotation system of DTET, as described on the wiki.
  432. This includes a third set of wall kick tables for each piece in each
  433. rotation system for +180 (in addition to existing +90 and +270).
  434. bug 0082: Paged options on PC
  435. Votes: Cubicz
  436. Break the PC options menu into pages like it is on the handhelds.
  437. bug 0083: Undo
  438. Votes: Kuukunen
  439. Press a button to take back one drop. Useful for training.
  440. bug 0084: Manual entry delay
  441. Votes: Kuukunen
  442. Pause after each piece with game displayed. Press a button to
  443. resume. Useful for training.
  444. bug 0085: Forward progress lock delay reset
  445. Votes: zaphod77
  446. Keep track of the lowest space that this piece has fallen to.
  447. A floor kick should never reset lock delay, and only a net
  448. downward movement should reset lock delay below where it was
  449. when the was last reset.
  450. bug 0086: Carbon Engine style lock delay reset
  451. Carbon Engine implemented lock delay as follows: When a piece
  452. rotates or shifts from landed to falling, recharge one row's
  453. worth of lock delay for each row that the piece moves down.
  454. To implement this in Lockjaw Engine, move the piece down by
  455. (lockDelay - stateTime). If the piece is less than
  456. (lockDelay - stateTime) * gravity above the shadow, only add
  457. (y - shadowY) / gravity to stateTime.
  458. bug 0087: Blackjack randomizer framework
  459. Votes: Lardarse
  460. Lardarse and tepples described a language for describing randomizers
  461. on tetrisconcept.com's wiki. It is called Blackjack.
  462. bug 0100: Import old bugs
  463. Parity: bugzilla.mozilla.org
  464. Bring some order to the old 'todo.txt' enhancement list.