Skip to content

Commit

Permalink
v3 markdown
Browse files Browse the repository at this point in the history
  • Loading branch information
kirjavascript committed Dec 29, 2020
1 parent 62983c9 commit b7fd620
Show file tree
Hide file tree
Showing 6 changed files with 101 additions and 9 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
- Pace Trainer
- Seed Trainer
- Controller input can be enabled outside of Debug Mode
- PAL Mode now has correct SFX
- Tweaks to make Garbage Trainer more realistic

## [v2]
Expand Down
51 changes: 43 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,18 @@
* [Trainers](#modes)
* [Tetris](#tetris)
* [T-Spins](#t-spins)
* [Seed](#seed)
* [Stacking](#stacking)
* [Pace](#pace)
* [Setups](#setups)
* [Floor](#floor)
* [(Quick)Tap](#%28quick%29-tap)
* [Garbage](#garbage)
* [Drought](#drought)
* [Input Display](#input-display)
* [Debug Mode](#debug-mode)
* [Level Editor](#level-editor)
* [Savestates](#savestates)
* [Controller Input Display](#controller-input-display)
* [PAL Mode](#pal-mode)
* [Resources](#resources)

Expand Down Expand Up @@ -50,12 +52,43 @@ Same gameplay as Type-A, with some improvements: no score cap, no rocket, no cur

Spawn T-Spins in random positions. Additional entry delay on successful T-Spin to prepare for the next state.

### Seed

Provides same piece sets for VS battles (or practise).

Press `select` to generate a random seed.

### Stacking

![Stacking](/screens/stacking.png)

An experiment in highlighting areas of the playfield.

### Pace

![Pace](/screens/pace.png)

Indicates how close you are to achieving a score by 230 lines. Loosely based on Tetris rate.

You can choose scores up to and including 1.5m in increments of 100k.

This can be adjusted for transition or PAL games;

| value | score at 130 lines |
| ----- | ------------------ |
| 4 | 201261 |
| 5 | 252936 |
| 6 | 300278 |
| 7 | 353015 |
| 8 | 400356 |
| 9 | 452031 |
| A | 508690 |
| B | 552131 |
| C | 600535 |
| D | 655460 |
| E | 706051 |
| F | 752310 |

### Setups

![Setups](/screens/setups.png)
Expand Down Expand Up @@ -102,6 +135,15 @@ Create artificially inflated droughts. Increasing the value causes less I pieces

0 = normal gameplay I = no line pieces

### Input Display

![Controller](/screens/controller.png)

In debug mode

* Select + Right
Toggle controller input display

## Debug Mode

![Controller](/screens/debug.png)
Expand Down Expand Up @@ -157,13 +199,6 @@ Savestates require SRAM to work. Tested and working on Everdrive / Emulator / Mi

Combined with the level editor, savestates are effective for practising specific scenarios.

### Controller input display

![Controller](/screens/controller.png)

* Select + Right
Toggle controller input display

## PAL Mode

Dictate if the NTSC or PAL gameplay mechanics should be used. Should automatically detect region, but can be manually overwritten otherwise.
Expand Down
2 changes: 1 addition & 1 deletion main.asm
Original file line number Diff line number Diff line change
Expand Up @@ -4830,7 +4830,7 @@ targetTable:
.byte $5A,$A,$89,$1 ; 7
.byte $B8,$B,$DE,$1 ; 8
.byte $3E,$D,$B,$2 ; 9
.byte $A0,$F,$5C,$1 ; A
.byte $F2,$E,$A,$2 ; A
.byte $2C,$10,$83,$2 ; B
.byte $94,$11,$CD,$2 ; C
.byte $38,$13,$DC,$2 ; D
Expand Down
Binary file modified screens/menu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added screens/pace.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
56 changes: 56 additions & 0 deletions tools/pace.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
Targets = %q(
.byte $0,$0,$0,$0
.byte $68,$1,$4B,$0 ; 1
.byte $F8,$2,$6E,$0 ; 2
.byte $7E,$4,$9A,$0 ; 3
.byte $E6,$5,$E5,$0 ; 4
.byte $6C,$7,$12,$1 ; 5
.byte $CA,$8,$67,$1 ; 6
.byte $5A,$A,$89,$1 ; 7
.byte $B8,$B,$DE,$1 ; 8
.byte $3E,$D,$B,$2 ; 9
.byte $F2,$E,$A,$2 ; A
.byte $2C,$10,$83,$2 ; B
.byte $94,$11,$CD,$2 ; C
.byte $38,$13,$DC,$2 ; D
.byte $B4,$14,$13,$3 ; E
.byte $08,$16,$72,$3
)
.scan(/\$(.+),\$(.+),\$(.+),\$([0-9A-F]+)( |$)/i)
.map.with_index { |a, i|
[
i.to_s(16).upcase,
(a[1].to_i(16) << 8) + a[0].to_i(16),
(a[3].to_i(16) << 8) + a[2].to_i(16)
]
}

def print_pace(threshold, target, range, step = 1)
_, base, mult = Targets[target]

for i in range
index = i * step
if index <= threshold
points = base
else
points = base + (((index-threshold) / (230.0-threshold)) * mult)
end

# print "
# T: #{target.to_s(16).upcase}\
# L: #{index}\
# M: #{points.floor}\
# P: #{(points * index).floor}\
# "

print "| #{target.to_s(16).upcase} | #{(points * index).floor} |\n"
end
end

# pp targets

for target in 0..0xF
print_pace 110, target, 130..130, 1
end

# print_pace 110, 0xA, 1..23, 10

0 comments on commit b7fd620

Please sign in to comment.