diff BUGS.txt @ 0:c84446dfb3f5

initial add
author paulo@localhost
date Fri, 13 Mar 2009 00:39:12 -0700
parents
children
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/BUGS.txt	Fri Mar 13 00:39:12 2009 -0700
     1.3 @@ -0,0 +1,906 @@
     1.4 +bug 0001: Dual Marathon gimmick
     1.5 +
     1.6 +The keys control both a platform game (in the top window) and a
     1.7 +tetromino stacking game (in the bottom window).  If you die on
     1.8 +either window, you lose.
     1.9 +
    1.10 +
    1.11 +bug 0002: Customizable top out behavior
    1.12 +Parity: Tetris (NES), freepuzzlearena
    1.13 +
    1.14 +A rule can dictate that "top out" occurs when the following happens:
    1.15 +* Overlap or lock out: Entry overlapping blocks, or lock entirely
    1.16 +  above ceiling (current behavior)
    1.17 +* Partial lock out: Lock with any block above ceiling
    1.18 +* Garbage out: Entry with any block above ceiling
    1.19 +* Loose block out: Lock overlapping blocks; block can be shifted
    1.20 +  out of the way in some cases (like Tetris for NES)
    1.21 +
    1.22 +
    1.23 +bug 0003: Mode 7 style blitter for PC
    1.24 +Platform: PC
    1.25 +Parity: TOD
    1.26 +
    1.27 +Extend blitField(LJView *) to scale and rotate the field as it's
    1.28 +being copied to the screen.
    1.29 +
    1.30 +
    1.31 +bug 0004: Mode 7 style blitter for GBA and DS
    1.32 +Platform: GBA
    1.33 +
    1.34 +Extend blitField(LJView *) to calculate scaling and rotation factors
    1.35 +for each scanline, and extend other functions to start DMA.
    1.36 +
    1.37 +
    1.38 +bug 0005: Port Lockjaw: The Overdose (TOD)
    1.39 +Requires: 0002, 0003, 0004
    1.40 +Parity: TOD
    1.41 +
    1.42 +TOD used Carbon Engine.  I want to migrate away from Carbon Engine.
    1.43 +
    1.44 +
    1.45 +bug 0006: Ridin' Spinners
    1.46 +Requires: 0003, 0004
    1.47 +SRS and Infinity are turned on.  If you abuse lock delay, or you make
    1.48 +a "spin triple" twist, the screen begins to spin, and the music
    1.49 +changes to a cover of "Ridin' Spinners" by Three 6 Mafia.
    1.50 +
    1.51 +
    1.52 +bug 0007: Improve Items gimmick
    1.53 +Requires: 0008
    1.54 +Votes: Caithness
    1.55 +Parity: Tetris DS
    1.56 +
    1.57 +Give only one item at a time in the early stages.
    1.58 +
    1.59 +
    1.60 +bug 0008: Prerotated next queue
    1.61 +Parity: Tetris DS
    1.62 +
    1.63 +Store the orientation of each piece in the next queue.
    1.64 +
    1.65 +
    1.66 +bug 0009: TDS 4-player worldwide simulation
    1.67 +Parity: Tetris DS
    1.68 +
    1.69 +3/4 of the time you start it, it will play annoying music for
    1.70 +two minutes, give an 86420 error, and quit. The rest of the
    1.71 +time, it will play annoying music for between 15 seconds and
    1.72 +two minutes and then switch to Items gimmick.
    1.73 +
    1.74 +
    1.75 +bug 0010: Colored blocks
    1.76 +Parity: freepuzzlearena
    1.77 +
    1.78 +In active, hold, and next, have each block store its color.
    1.79 +
    1.80 +
    1.81 +bug 0011: H&R Blocks scoring method
    1.82 +Parity: freepuzzlearena
    1.83 +
    1.84 +First spotted in freepuzzlearena Tetanus.  Each piece is either
    1.85 +entirely dark or entirely light.  A line of all dark or all light
    1.86 +scores as 2 lines.  Score for n lines with one piece is n*(n+1)*50.
    1.87 +
    1.88 +
    1.89 +bug 0012: Two physical keys per vkey
    1.90 +Platform: PC
    1.91 +
    1.92 +Allow the player to set more than one key that operates a given,
    1.93 +game function, like StepMania does.
    1.94 +
    1.95 +
    1.96 +bug 0013: Two-player mode
    1.97 +Parity: freepuzzlearena
    1.98 +
    1.99 +Allow two players to play at once, and allow garbage to be sent back
   1.100 +and forth.
   1.101 +
   1.102 +
   1.103 +bug 0014: Store and display assertion text
   1.104 +
   1.105 +Lockjaw Engine has ljassert().  If an assertion fails, have some way
   1.106 +for front-ends to retrieve the text.
   1.107 +
   1.108 +
   1.109 +bug 0015: Rotation system should be array of structs
   1.110 +
   1.111 +A single struct should describe all aspects of a rotation system.
   1.112 +The descriptions in wktables.c should be an array of structs, not
   1.113 +struct of arrays.  While you're at it, extend the kick tables
   1.114 +from 5 to 8 positions.
   1.115 +
   1.116 +
   1.117 +bug 0016: Rotation system editor
   1.118 +Platform: PC
   1.119 +Requires: 0015
   1.120 +Votes: Needle, DIGITAL, (RA) Red Star, jujube, fnord
   1.121 +
   1.122 +Before developing Lockjaw Engine, I described Wall Kick Explorer, an
   1.123 +editor for rotation systems.  Make this.
   1.124 +* initial shift and orientation of each piece
   1.125 +* kick tables for +90deg and +270deg
   1.126 +
   1.127 +<tepples>
   1.128 +0.44 inverts rotation systems into a format that a loader might be
   1.129 +able to produce.
   1.130 +
   1.131 +
   1.132 +bug 0017: Adjustable window size
   1.133 +Votes: Bloodstar
   1.134 +Resolution: Fixed in 0.42
   1.135 +
   1.136 +The skin should control the screen resolution or the size of the
   1.137 +window.  This would make camstudio recording on older PCs feasible.
   1.138 +
   1.139 +
   1.140 +bug 0018: Store keypress count in .ljm
   1.141 +
   1.142 +Replays should store the number of keypresses, so that Baboo! result
   1.143 +screens are correct.
   1.144 +
   1.145 +
   1.146 +bug 0019: Start recording .ljm only during ARE
   1.147 +
   1.148 +It would probably simplify the code to start a replay only during
   1.149 +entry delay.  This would also allow playback to become slightly
   1.150 +more resilient to game engine changes, as the viewer would at least
   1.151 +be able to view block placements.
   1.152 +
   1.153 +
   1.154 +bug 0020: Option for fractional row kick
   1.155 +Parity: Tetris DX
   1.156 +
   1.157 +Right now, a floor kick will move a piece by the minimal amount
   1.158 +needed to place a block in the correct row.  This means downward
   1.159 +kicks move to the top of the row, and upward kicks move to the bottom
   1.160 +and immediately start lock delay.  Other games don't do this.
   1.161 +To simulate Tetris DX properly, we need a new option:
   1.162 +
   1.163 +Fractional floor kick
   1.164 +  Unchanged
   1.165 +> Minimal move (current behavior)
   1.166 +  Move to top (Tetris DX behavior)
   1.167 +
   1.168 +
   1.169 +bug 0021: Double buffer entire screen
   1.170 +Platform: PC
   1.171 +Votes: 4matsy
   1.172 +
   1.173 +On some video cards, the score flashes.  Double buffering the entire
   1.174 +screen, not just the well, would fix this.
   1.175 +
   1.176 +
   1.177 +bug 0022: Automatic exit on Vista
   1.178 +Platform: PC
   1.179 +Resolution: Fixed in 0.42
   1.180 +
   1.181 +One machine running Windows Vista had Esc perform an immediate exit
   1.182 +rather than a pause > exit.
   1.183 +
   1.184 +<tepples>
   1.185 +Might it have been caused by vsync() returning immediately?
   1.186 +If so, 0.42 fixes that.
   1.187 +
   1.188 +
   1.189 +bug 0023: Draw internal preview without clipping to well edge
   1.190 +Requires: 0020
   1.191 +Votes: 4matsy
   1.192 +
   1.193 +Internal preview should extend outside the well if the piece is close
   1.194 +enough to the wall.
   1.195 +
   1.196 +
   1.197 +bug 0024: Improve garbage options
   1.198 +Votes: Bloodstar, Lardarse
   1.199 +Parity: Tetris (NES)
   1.200 +
   1.201 +Add option for garbage density, especially for B-type
   1.202 +
   1.203 +Garbage density
   1.204 +  Half
   1.205 +  Two holes
   1.206 +> One hole
   1.207 +
   1.208 +Add option for garbage randomness (1-100)
   1.209 +
   1.210 +
   1.211 +bug 0025: Internet play
   1.212 +Requires: 0013
   1.213 +Votes: Bloodstar
   1.214 +Parity: Tetris DS
   1.215 +
   1.216 +Allow sending garbage over the Internet.
   1.217 +
   1.218 +
   1.219 +bug 0026: FreeType font support
   1.220 +Platform: PC
   1.221 +Votes: Bloodstar
   1.222 +
   1.223 +Use TrueType fonts instead of bitmapped fonts.
   1.224 +
   1.225 +
   1.226 +bug 0027: AVI export
   1.227 +Platform: PC
   1.228 +Votes: Bloodstar
   1.229 +Parity: Tetris (NES) in emulation
   1.230 +
   1.231 +FCE Ultra and Nestopia can convert a replay to an AVI.
   1.232 +Lockjaw should too.
   1.233 +
   1.234 +
   1.235 +bug 0028: Game_Music_Emu music support
   1.236 +Platform: PC
   1.237 +Votes: Bloodstar
   1.238 +Parity: Tetris (NES) in emulation
   1.239 +
   1.240 +I'd like to play nsf/sid/spc music without having to
   1.241 +convert it to .ogg first.
   1.242 +
   1.243 +
   1.244 +bug 0029: Height-sensitive music
   1.245 +Platform: PC
   1.246 +Votes: Bloodstar
   1.247 +Parity: Tetris (NES), Tetris (GB)
   1.248 +
   1.249 +Tetris DX changes the music when the stack surpasses a certain
   1.250 +height.  Lockjaw should too.
   1.251 +
   1.252 +
   1.253 +bug 0030: Music on GBA
   1.254 +Platform: GBA
   1.255 +Votes: Bloodstar
   1.256 +Parity: TOD
   1.257 +
   1.258 +GBA has sound effects.  I'd like some sort of music too.  Pimpmobile?
   1.259 +
   1.260 +
   1.261 +bug 0031: Debrief on handhelds
   1.262 +Platform: GBA, DS
   1.263 +Votes: Bloodstar, zzo38computer
   1.264 +Resolution: Fixed in 0.43
   1.265 +
   1.266 +PC has a result screen.  I want this on GBA and DS
   1.267 +
   1.268 +<tepples>
   1.269 +Fixed in 0.42 for DS.  To get this onto the GBA, we'd have to
   1.270 +eliminate three lines of text from the result screen.
   1.271 +
   1.272 +<tepples>
   1.273 +kesiev gave me a few ideas of how I could slim it down.  Fixing.
   1.274 +
   1.275 +
   1.276 +bug 0032: Baboo! should force infinite lock delay
   1.277 +Votes: caffeine
   1.278 +
   1.279 +right now, Baboo! is defined by use of 0g.  it should be
   1.280 +infinite lock delay instead.
   1.281 +
   1.282 +<tepples>
   1.283 +Why?  It would add an extra keystroke to Zangi-moves.
   1.284 +
   1.285 +
   1.286 +bug 0033: Move all skin-related files to a folder
   1.287 +Platform: PC
   1.288 +Votes: caffeine
   1.289 +Resolution: Fixed in 0.43
   1.290 +
   1.291 +Skin-related files should be kept together in the folder "skin".
   1.292 +
   1.293 +
   1.294 +bug 0034: Configure console buttons
   1.295 +Platform: PC
   1.296 +Votes: caffeine, 4matsy
   1.297 +Parity: StepMania
   1.298 +
   1.299 +Escape to pause, [ to record, ] to play should be configurable.
   1.300 +
   1.301 +<tepples>
   1.302 +4matsy said that MenuUp, MenuDown, MenuLeft, MenuRight,
   1.303 +MenuStart, and MenuBack also being configurable might help.
   1.304 +
   1.305 +
   1.306 +bug 0035: skip ready go and game over animations
   1.307 +Votes: caffeine
   1.308 +
   1.309 +I like to kill and restart games when I make one little mistake,
   1.310 +and startingAnimation and gameOverAnimation slow me down.
   1.311 +I want to skip them, even though each is less than 2 seconds.
   1.312 +
   1.313 +
   1.314 +bug 0036: Skip to mistakes
   1.315 +Platform: PC
   1.316 +Votes: caffeine
   1.317 +
   1.318 +While watching a replay, I want to skip to a piece that increases
   1.319 +the number of holes or whose active time is greater than three
   1.320 +times the average.
   1.321 +
   1.322 +
   1.323 +bug 0037: Hide active times in results
   1.324 +Votes: caffeine
   1.325 +
   1.326 +The Quadra-style "active time" statistics confuse me.  I want to
   1.327 +see stats based on wall time only.
   1.328 +
   1.329 +
   1.330 +bug 0038: Result time unit
   1.331 +Votes: caffeine
   1.332 +
   1.333 +I'd like to control whether statistics are expressed per minute
   1.334 +or per second.
   1.335 +
   1.336 +<tepples>
   1.337 +Why?  DDR is measured in beats per minute, and gasoline engine speed
   1.338 +is measured in revolutions per minute.
   1.339 +
   1.340 +
   1.341 +bug 0039: More garbage options
   1.342 +Votes: Caithness
   1.343 +
   1.344 +I want more realistic garbage.
   1.345 +
   1.346 +<tepples>
   1.347 +In what way?
   1.348 +
   1.349 +
   1.350 +bug 0040: Custom speed curves
   1.351 +Votes: Caithness, caffeine, Ezzelin, zzo38computer, DIGITAL, mushroom
   1.352 +
   1.353 +Let the user modify speed curves: for example, user should be
   1.354 +able to make rhythm speed up slower
   1.355 +
   1.356 +<tepples>
   1.357 +0.45 introduces a new speed curve format
   1.358 +
   1.359 +
   1.360 +bug 0041: Saved rule sets
   1.361 +Votes: Needle, kotetsu213, jujube, DIGITAL, Rich Nagel, Deets
   1.362 +Votes: Kukuunen
   1.363 +Parity: Tetris Worlds, Heboris
   1.364 +
   1.365 +Let the user create sets of options that override the user's
   1.366 +current options, and replace the gimmick selection screen
   1.367 +with preset selection.
   1.368 +
   1.369 +<tepples>
   1.370 +0.42 adds scenario support for the PC.  A scenario editor and
   1.371 +scenario support for handhelds will have to wait.
   1.372 +
   1.373 +
   1.374 +bug 0042: Release Lockjaw XLII
   1.375 +Requires: 0041
   1.376 +
   1.377 +Lockjaw 0.42 won't be released until noticeable progress is made
   1.378 +on these issues.
   1.379 +
   1.380 +<tepples>
   1.381 +As of Monday, January 28, 2008, scenario support is in, so Lockjaw
   1.382 +will be released the morning before the Super Bowl.
   1.383 +
   1.384 +
   1.385 +bug 0043: More rotation systems
   1.386 +Requires: 0016
   1.387 +Votes: herc
   1.388 +
   1.389 +Once the rotation system editor is in place, create these:
   1.390 +* Flat-up SRS
   1.391 +
   1.392 +
   1.393 +bug 0044: Vanish zone
   1.394 +Platform: PC
   1.395 +Votes: DIGITAL
   1.396 +
   1.397 +The skin should allow showing the vanish zone.
   1.398 +
   1.399 +
   1.400 +bug 0045: Handheld skin support
   1.401 +Platform: GBA
   1.402 +Votes: Dood77, matt_hatter83
   1.403 +Parity: TOD 
   1.404 +
   1.405 +GBA and DS should have skins too.
   1.406 +
   1.407 +
   1.408 +bug 0046: Pussy 20G
   1.409 +Votes: herc, DIGITAL
   1.410 +
   1.411 +Option for moving a piece up 1 cell when shifting it,
   1.412 +counting it as a floor kick.
   1.413 +
   1.414 +
   1.415 +bug 0047: Pentominoes
   1.416 +Votes: Dood77, jujube, colour_thief, Lardarse
   1.417 +Parity: Bombliss
   1.418 +
   1.419 +Add the 5-block pieces.
   1.420 +
   1.421 +
   1.422 +bug 0048: Bastet randomizer
   1.423 +Votes: zzo38computer
   1.424 +Parity: Abandoned Blocks
   1.425 +
   1.426 +In bastet, AI plays each possible next piece in each
   1.427 +possible position and gives one of the worst 3.
   1.428 +
   1.429 +
   1.430 +bug 0049: lj-contrib as skins
   1.431 +Platform: PC
   1.432 +Votes: Rich Nagel
   1.433 +
   1.434 +lj-contrib was written before .skin files were done.
   1.435 +
   1.436 +
   1.437 +bug 0050: Next above shadow (faint)
   1.438 +Platform: PC
   1.439 +Votes: cdsboy
   1.440 +
   1.441 +Draw next above shadow, but draw it semitransparent.
   1.442 +
   1.443 +
   1.444 +bug 0051: Separate keys for initial actions
   1.445 +Votes: DIGITAL
   1.446 +
   1.447 +I like initial actions, but not ARE.  Can I get separate
   1.448 +keys to perform initial actions on the next piece before
   1.449 +this one locks down?
   1.450 +
   1.451 +
   1.452 +bug 0052: Speed graph in debrief
   1.453 +Platform: PC
   1.454 +Votes: Cubicz
   1.455 +Parity: StepMania
   1.456 +
   1.457 +Screen 1 is results.  Screen 2 is settings.
   1.458 +Why not put a speed graph on screen 3?
   1.459 +
   1.460 +
   1.461 +bug 0053: High score table
   1.462 +Requires: 0041
   1.463 +Votes: Cubicz, Ezzelin, Rich Nagel, Kuukunen
   1.464 +
   1.465 +For each ruleset, keep the highest scores achieved on that
   1.466 +ruleset.
   1.467 +
   1.468 +
   1.469 +bug 0054: Disable ljconn
   1.470 +Platform: PC
   1.471 +Votes: kotetsu213, Needle
   1.472 +Parity: Tetris The Grand Master, The New Tetris
   1.473 +
   1.474 +The skin should be able to turn off ljconn for falling pieces
   1.475 +(as opposed to blocks in the stack).  That would improve
   1.476 +accuracy of TNT and TGM simulation.
   1.477 +
   1.478 +
   1.479 +bug 0055: Skin control for sound effects
   1.480 +Platform: PC
   1.481 +Votes: Cubicz, Needle
   1.482 +Parity: Lumines
   1.483 +
   1.484 +Allow skins to specify a .dat file or set of .wav files used
   1.485 +for sound effects.
   1.486 +
   1.487 +
   1.488 +bug 0056: Bleep gimmick
   1.489 +Votes: Lardarse
   1.490 +
   1.491 +Player must clear row 1, 2, 1, 3, 1, 4, 1, 5, 1, ..., 20, 1.
   1.492 +
   1.493 +
   1.494 +bug 0057: Bravo
   1.495 +Votes: Lardarse
   1.496 +Parity: Luminesweeper
   1.497 +
   1.498 +Several other falling block games display "BRAVO!" or another similar
   1.499 +message when there are no blocks left in the well after a line clear,
   1.500 +and award lots of bonus points.  Detect and score for this situation.
   1.501 +
   1.502 +
   1.503 +bug 0058: Vs. Elite garbage
   1.504 +Votes: PetitPrince
   1.505 +
   1.506 +you get 7 garbages after random(1,7) seconds, then random(3,5)
   1.507 +garbage every random (5,20) seconds
   1.508 +
   1.509 +
   1.510 +bug 0059: Wall kick control for IRS
   1.511 +Votes: jagorochi
   1.512 +Parity: TGM
   1.513 +
   1.514 +In TGM, initial rotation does not perform kicks.
   1.515 +Change the IRS option:
   1.516 +
   1.517 +Initial rotation 
   1.518 +  Off: do not IRS (current behavior)
   1.519 +  On, no kick: if collision, fail
   1.520 +> On: if collision, try wall kick (current behavior)
   1.521 +
   1.522 +<tepples>
   1.523 +0.43 disallows IRS kick entirely, changing the current behavior
   1.524 +from "On" to "On, no kick", by adding a new argument to
   1.525 +doRotateLeft and doRotateRight.  The change to this option (search
   1.526 +for !isFirstFrame) could be used to implement this option.
   1.527 +
   1.528 +
   1.529 +bug 0060: Menu background
   1.530 +Platform: PC
   1.531 +Votes: lvankeulen, Kuukunen
   1.532 +Parity: Tetris (NES)
   1.533 +
   1.534 +The skin should specify a background image to be drawn behind
   1.535 +the menu text.
   1.536 +
   1.537 +
   1.538 +bug 0061: Frame stepping
   1.539 +Platform: PC
   1.540 +Votes: jagorochi
   1.541 +Parity: Tetris (NES) in emulation
   1.542 +
   1.543 +To check the event loop for off-by-one errors that affect
   1.544 +accuracy against other games, it would be useful to be able
   1.545 +to step the game engine forward by one frame at a time.
   1.546 +
   1.547 +
   1.548 +bug 0062: Replay stepping by piece
   1.549 +Platform: PC
   1.550 +Votes: Lardarse
   1.551 +
   1.552 +Pause demo playback (with well still visible) with hold button;
   1.553 +advance to next lock with rotate button
   1.554 +
   1.555 +
   1.556 +bug 0063: Option for goal
   1.557 +Votes: Lardarse, caffeine, Rosti LFC, fnord, M.Bison
   1.558 +
   1.559 +Separate goal and countdown code out of gimmicks into an option,
   1.560 +controlled by LJField::goalType.  Goals include none, lines,
   1.561 +level, score, time, and keys, which activate comparisons against
   1.562 +goalCount.  This would obsolete many gimmicks.
   1.563 +
   1.564 +
   1.565 +bug 0064: Fill in missing sound effects on handhelds
   1.566 +Platform: GBA, DS
   1.567 +Votes: Lardarse
   1.568 +
   1.569 +These sounds are missing:
   1.570 +GBA: Ready, go, countdown
   1.571 +DS: Ready, go, lose, distinct countdown
   1.572 +
   1.573 +<tepples>
   1.574 +0.42 adds "lose" on DS
   1.575 +
   1.576 +
   1.577 +bug 0065: Bombliss game mode
   1.578 +Requires: 0010
   1.579 +Votes: Joshua
   1.580 +Parity: Bombliss
   1.581 +
   1.582 +When game mode is set to Bombliss, line clears no longer remove
   1.583 +lines from the field.  Instead, one block of each piece is
   1.584 +colored differently and explodes, removing blocks, when in a
   1.585 +line clear.
   1.586 +
   1.587 +
   1.588 +bug 0066: Dr. Mario clone
   1.589 +Requires: 0010
   1.590 +Votes: Lardarse
   1.591 +Parity: freepuzzlearena
   1.592 +
   1.593 +You made Vitamins. Can you make domino rotation, color matching,
   1.594 +and floating garbage with fast DAS, IRS, and 20G?
   1.595 +
   1.596 +
   1.597 +bug 0067: Puyo clone
   1.598 +Requires: 0010
   1.599 +Votes: Lardarse
   1.600 +Parity: freepuzzlearena
   1.601 +
   1.602 +You made a puyo clone in FPA. Can you port it to LJ?
   1.603 +
   1.604 +
   1.605 +bug 0068: Preload hold piece
   1.606 +Votes: Lardarse
   1.607 +
   1.608 +Option to load a specific piece (such as I or T) into the hold box
   1.609 +at game start.
   1.610 +
   1.611 +
   1.612 +bug 0069: Bag with good start
   1.613 +Votes: Rosti LFC
   1.614 +Parity: Tetris The Grand Master ACE
   1.615 +
   1.616 +Randomizer should always give a "preferred piece" (e.g. I, J, L, T)
   1.617 +first, like history does.
   1.618 +
   1.619 +
   1.620 +bug 0070: Small skins shouldn't hide the score
   1.621 +Votes: Rich Nagel
   1.622 +Platform: PC
   1.623 +
   1.624 +Make wiki.skin (and other small-blkW skins) not hide the score
   1.625 +
   1.626 +
   1.627 +bug 0071: Preview at left
   1.628 +Votes: DIGITAL
   1.629 +Platform: PC
   1.630 +
   1.631 +Skin should specify that the vertical preview ("Next at right")
   1.632 +can be moved to the left side of the playfield.
   1.633 +
   1.634 +
   1.635 +bug 0072: Volume for sfx
   1.636 +Votes: DIGITAL
   1.637 +Platform: PC
   1.638 +
   1.639 +Skin should specify volume for sound effects, as it does for music.
   1.640 +
   1.641 +
   1.642 +bug 0073: Make PC use GBA options
   1.643 +Votes: jujube
   1.644 +Platform: PC
   1.645 +Resolution: Fixed in 0.43
   1.646 +
   1.647 +Move non-GBA/DS specific code from gbaopt.c to options.c,
   1.648 +then take out everything in old_pc_options.c that isn't
   1.649 +load, save, or LJPCView related
   1.650 +
   1.651 +<tepples>
   1.652 +0.42 takes some steps in this direction.
   1.653 +
   1.654 +
   1.655 +bug 0074: Macro editor
   1.656 +Votes: deepdorp
   1.657 +
   1.658 +Make the actions performed by the macro vkeys editable.
   1.659 +
   1.660 +
   1.661 +bug 0075: Pattern randomizer
   1.662 +Votes: Rich Nagel
   1.663 +
   1.664 +Allow the player to define a piece sequence, such as the Sega
   1.665 +power-on pattern, and deal that.  It could replace iCheat(tm).
   1.666 +
   1.667 +
   1.668 +bug 0076: Skin should vary per section
   1.669 +Votes: Needle, Rich Nagel, DIGITAL
   1.670 +Parity: freepuzzlearena, Luminesweeper
   1.671 +
   1.672 +For speed curves that have sections, it should be possible for a
   1.673 +skin to specify a background image and music for each section.
   1.674 +
   1.675 +<Rich Nagel>
   1.676 +Option to load all skin files before the game starts, so as not to
   1.677 +make an unpredictable ARE at the start of a section.
   1.678 +
   1.679 +
   1.680 +bug 0077: Define conditions that trigger initial drop
   1.681 +Votes: Needle
   1.682 +Parity: Tetris The Absolute The Grand Master 2 PLUS
   1.683 +
   1.684 +In TAP, initial hard drop and initial soft drop don't get turned on
   1.685 +in Master 900+ or in Death 0+.  Find an appropriate rule for whether
   1.686 +to do initial hard drop, and document it.
   1.687 +
   1.688 +
   1.689 +bug 0078: Set random seed
   1.690 +Votes: Rich Nagel, colour_thief, Lardarse
   1.691 +Parity: FreeCell
   1.692 +
   1.693 +For competition purposes, it should be possible to seed the
   1.694 +randomizer to a constant value.  Note that this differs from the
   1.695 +"power on pattern" proposal of bug 0075.
   1.696 +
   1.697 +
   1.698 +bug 0079: Customizable speedometer sample window
   1.699 +Votes: matt_hatter83
   1.700 +
   1.701 +The speedometer uses a sliding window of 10 pieces.  Can one make it
   1.702 +shorter in options?
   1.703 +
   1.704 +
   1.705 +bug 0080: Portrait monitor support
   1.706 +Votes: PetitPrince
   1.707 +
   1.708 +Skin setting to rotate the entire playfield by 90 degrees.
   1.709 +
   1.710 +
   1.711 +bug 0081: DTET rotation system
   1.712 +Requires: 0015
   1.713 +Votes: cdsboy, caffeine, fnord
   1.714 +Parity: DTET
   1.715 +
   1.716 +Implement the rotation system of DTET, as described on the wiki.
   1.717 +This includes a third set of wall kick tables for each piece in each
   1.718 +rotation system for +180 (in addition to existing +90 and +270).
   1.719 +
   1.720 +
   1.721 +bug 0082: Paged options on PC
   1.722 +Votes: Cubicz
   1.723 +Resolution: Fixed in 0.43
   1.724 +
   1.725 +Break the PC options menu into pages like it is on the handhelds.
   1.726 +
   1.727 +
   1.728 +bug 0083: Undo
   1.729 +Votes: Kuukunen
   1.730 +
   1.731 +Press a button to take back one drop.  Useful for training.
   1.732 +
   1.733 +
   1.734 +bug 0084: Manual entry delay
   1.735 +Votes: Kuukunen
   1.736 +
   1.737 +Pause after each piece with game displayed.  Press a button to
   1.738 +resume.  Useful for training.
   1.739 +
   1.740 +
   1.741 +bug 0085: Forward progress lock delay reset
   1.742 +Votes: zaphod77
   1.743 +
   1.744 +Keep track of the lowest space that this piece has fallen to.
   1.745 +A floor kick should never reset lock delay, and only a net
   1.746 +downward movement below where it was when the lock delay was
   1.747 +last reset should reset lock delay.
   1.748 +
   1.749 +
   1.750 +bug 0086: Carbon Engine style lock delay reset
   1.751 +Parity: TOD
   1.752 +
   1.753 +Carbon Engine implemented lock delay as follows:  When a piece
   1.754 +rotates or shifts from landed to falling, recharge one row's
   1.755 +worth of lock delay for each row that the piece moves down.
   1.756 +
   1.757 +To implement this in Lockjaw Engine, move the piece down by
   1.758 +(lockDelay - stateTime).  If the piece is less than
   1.759 +(lockDelay - stateTime) * gravity above the shadow, only add
   1.760 +(y - shadowY) / gravity to stateTime.
   1.761 +
   1.762 +
   1.763 +bug 0087: Blackjack randomizer framework
   1.764 +Votes: Lardarse
   1.765 +
   1.766 +Lardarse and tepples described a language for describing randomizers
   1.767 +on tetrisconcept.com's wiki.  It is called Blackjack.
   1.768 +
   1.769 +
   1.770 +bug 0088: Option for piece color
   1.771 +Votes: Lardarse
   1.772 +Requires: 0010
   1.773 +
   1.774 +Once we have colors per block, add an option for piece colors,
   1.775 +which might replace the ljconnSRS vs. ljconnSega divide.
   1.776 +Skins would always be in Guideline order.
   1.777 +
   1.778 +> Set by rotation system (current behavior)
   1.779 +  SRS
   1.780 +  Sega
   1.781 +  Dualism (formerly H&R)
   1.782 +  Shuffle (randomize at game start)
   1.783 +  Super Shuffle (randomize every piece)
   1.784 +
   1.785 +
   1.786 +bug 0089: Long debrief lines are clipped
   1.787 +Requires: 0031
   1.788 +Votes: Lardarse, kesiev
   1.789 +Resolution: Fixed in 0.43
   1.790 +
   1.791 +The DS doesn't have a small font, so any debrief line longer than
   1.792 +about 48 characters will get clipped.  But in order to make this
   1.793 +line shorter, I need to move things around anyway.
   1.794 +
   1.795 +
   1.796 +bug 0089: Merge preliminary GNU/Linux support
   1.797 +Requires: 0091
   1.798 +Votes: kesiev
   1.799 +Resolution: Fixed in 0.43
   1.800 +
   1.801 +kesiev wrote a patch to let Lockjaw work with separate read-only
   1.802 +and read-write folders, as is often the case in GNU/Linux.
   1.803 +Merge these changes.
   1.804 +
   1.805 +<tepples>
   1.806 +kesiev's patch adds a function called 'turnslash' that turns '\' into
   1.807 +'/' in all path names.  In fact, I can use this on all platforms:
   1.808 +Mac and Linux use '/' as the native path separator, and the Windows
   1.809 +API accepts it even if some legacy command-line programs do not.
   1.810 +
   1.811 +LJVorbis_close: I must have missed that line in the ov_clear
   1.812 +documentation.
   1.813 +
   1.814 +
   1.815 +bug 0090: Process IRS before checking for block out
   1.816 +Votes: Kitaru
   1.817 +Parity: TGM series
   1.818 +Resolution: Fixed in 0.43
   1.819 +
   1.820 +TGM allows the player to IRS out of a block out situation.  So don't check for block out on the last frame of NEW_PIECE. Instead, check at
   1.821 +the end of the first frame (LJSND_SPAWN|LJSND_HOLD) of FALLING_PIECE.
   1.822 +
   1.823 +
   1.824 +bug 0091: Read-only vs. read-write directories
   1.825 +Votes: Ezzelin, kesiev
   1.826 +Resolution: Fixed in 0.43
   1.827 +
   1.828 +Lockjaw for PC currently runs as a "portable application".  But it
   1.829 +should support being installed in the same way as any other program
   1.830 +for Windows or Linux.  If an empty file called "installed" is in the
   1.831 +same folder as argv[0], switch to installed mode.
   1.832 +
   1.833 +Installed mode ignores the working directory when loading .dat,
   1.834 +.skin, .ini, etc.  Instead, it loads from the save data folder
   1.835 +($HOME/.lockjaw on Linux; %APPDATA%/Pin Eight/Lockjaw on Windows)
   1.836 +and then from the folder that contains argv[0].
   1.837 +
   1.838 +The program would usually be installed to /opt/Lockjaw under Linux
   1.839 +or %ProgramFiles%/Lockjaw under Windows.
   1.840 +
   1.841 +
   1.842 +bug 0092: Option to limit IRS to 90 degrees
   1.843 +Votes: jujube
   1.844 +Parity: TGM series
   1.845 +
   1.846 +Rotation limit
   1.847 +  90 degrees
   1.848 +> Unlimited (current behavior)
   1.849 +
   1.850 +And make Master and Death use 90 degrees.
   1.851 +
   1.852 +
   1.853 +bug 0093: Option to disable instant shifting
   1.854 +Parity: TGM series
   1.855 +
   1.856 +Add an option only to scenarios that limits shifting to 1G,
   1.857 +disallowing cheating with far left, far right, DAS=Instant.
   1.858 +
   1.859 +
   1.860 +bug 0094: World reverse
   1.861 +Votes: jujube
   1.862 +Parity: Ti
   1.863 +
   1.864 +Option in Game Keys to reverse rotation directions when playing
   1.865 +rotation systems that start the T flat-down (SRS, TOD M4).
   1.866 +
   1.867 +
   1.868 +bug 0095: Move mouse pointer out of the way
   1.869 +Votes: jujube
   1.870 +Resolution: Fixed in 0.43
   1.871 +
   1.872 +Some players navigate Lockjaw for PC entirely with the keyboard.
   1.873 +For these people, the mouse gets in the way after it has been used
   1.874 +in Replay or Skin (or, soon, Options and Game Keys).  Drop it to
   1.875 +the bottom of the window when the player goes to a screen that
   1.876 +doesn't use the mouse.
   1.877 +
   1.878 +
   1.879 +bug 0096: Allow options to "underride" skin settings
   1.880 +Votes: Rich Nagel
   1.881 +
   1.882 +Allow the user to change shift sound scale, next piece position,
   1.883 +playfield position, as it was in 0.41.  The game would use the
   1.884 +skin setting, or the user setting only if the skin does not specify.
   1.885 +
   1.886 +
   1.887 +bug 0097: Package as Windows installer
   1.888 +Requires: 0091
   1.889 +
   1.890 +Package the Windows executable as an installer that automatically
   1.891 +puts itself in %ProgramFiles%/Lockjaw.
   1.892 +
   1.893 +
   1.894 +bug 0098: Reactive speed curve and scoring
   1.895 +URL: http://www.jenovachen.com/flowingames/flowtheory.htm
   1.896 +Votes: herc
   1.897 +
   1.898 +Start with zero speed.  Track the player's speed using the existing
   1.899 +speedometer code.  Then once the player has dropped a few pieces,
   1.900 +start scaling up the delays and such so that entry + (20/gravity) +
   1.901 +lock delay equals the average time that the player took to place 
   1.902 +a piece.  Then multiply all line clear scores by the current speed.
   1.903 +
   1.904 +
   1.905 +bug 0100: Import old bugs
   1.906 +Parity: bugzilla.mozilla.org
   1.907 +
   1.908 +Bring some order to the old 'todo.txt' enhancement list.
   1.909 +