Sage Vaillancourt
4b9a94c2c2
Implement grounders and fly-outs.
...
Add a slight delay on npc fielder actions.
Speed up intro when userTeam == nil
2025-03-01 12:59:12 -05:00
Sage Vaillancourt
decd1f7080
Fix inverted dance animation
...
Switch XyPair and Point3d to @class, over @alias
Seems to work better with autocomplete
2025-03-01 09:54:05 -05:00
Sage Vaillancourt
04d25127fc
Extract batting.lua
2025-02-27 19:31:00 -05:00
Sage Vaillancourt
8b66e2e826
Drop within(). Just use distance between
2025-02-26 14:51:54 -05:00
Sage Vaillancourt
876f828117
Extract draw/ball.lua
...
Tweak pointIsSquarelyAboveLine() -> pointIsAboveLine()
2025-02-26 14:20:36 -05:00
Sage Vaillancourt
ce9a2d335e
Fix to re-enable user backwards baserunning
2025-02-26 13:14:19 -05:00
Sage Vaillancourt
80015dbe62
Extract draw/characters.lua
...
Pulls a bunch of draw logic out of main.lua; handles z-ordering.
Expand on save/load - though it's certainly not complete yet.
2025-02-26 13:04:38 -05:00
Sage Vaillancourt
176a7e6d5e
Add saveToFile()
...
Not *likely* to work yet, but start scoping out good times to make a save.
Also, correct the Pitch type.
2025-02-25 17:14:47 -05:00
Sage Vaillancourt
55a3a7b0ee
More type hints.
...
Also, move pointDirectlyUnderLine() to XyPair-based.
2025-02-24 23:55:03 -05:00
Sage Vaillancourt
ddfdc8947a
Bail early on pitch() if one was not actually requested
2025-02-24 22:37:15 -05:00
Sage Vaillancourt
e035c0ca72
Missed a spot on the font-building
2025-02-24 20:18:44 -05:00
Sage Vaillancourt
668fa9ffd4
Add fonts to assets.lua2p
...
Include until-now missing Roobert 11 font
Rename font-full-circle to fix casing
2025-02-24 20:16:18 -05:00
Sage Vaillancourt
b4ac028cd9
Consolidate assets into src/assets/
2025-02-24 19:58:47 -05:00
sage
30aa5bd6c6
Merge pull request 'extract-input-controllers' ( #4 ) from extract-input-controllers into main
...
Reviewed-on: #4
2025-02-24 19:50:23 -05:00
Sage Vaillancourt
09e48b65b4
Fix pitching
2025-02-24 19:49:32 -05:00
Sage Vaillancourt
9bbd68c302
Some other small main.lua refactoring
2025-02-24 17:01:51 -05:00
Sage Vaillancourt
7c7b5ff762
Extract Game:updatePitching()
...
Also, pull more from updateGameState() into updateBatting()
2025-02-24 16:24:21 -05:00
Sage Vaillancourt
b928ee3658
Tuck bat away if `batter` is `nil`
2025-02-24 15:55:59 -05:00
Sage Vaillancourt
3a465cb02d
Extract UserInput as an InputHandler.
...
Homogenous with Npc, which now also implements InputHandler.
2025-02-24 15:37:05 -05:00
Sage Vaillancourt
b44756ff57
Add testBall.lua, testMain.lua, and testStatistics.lua
...
testMain.lua is really just a does-this-big-harness-work check right now, but it does work!
Extract statistics.lua for testing
Consolidate BoxScore ALL into draw/box-score.lua
2025-02-24 13:33:34 -05:00
Sage Vaillancourt
48a9854653
Remove unused param
2025-02-24 11:36:07 -05:00
Sage Vaillancourt
51c80fa427
Add testActionQueue
2025-02-24 11:34:28 -05:00
Sage Vaillancourt
19ddae6273
Remove or update some outdated TODOs
2025-02-23 18:23:19 -05:00
Sage Vaillancourt
687bf74979
Check for a game over after each score.
...
In case the home team just came from behind in the bottom of the final inning.
2025-02-23 18:17:09 -05:00
Sage Vaillancourt
aa72d2a19f
Remove the TODO for the previous runner fix.
2025-02-23 18:11:39 -05:00
Sage Vaillancourt
f42ef06ff6
Only one runner can be safe on one base at a time.
...
Test this new change.
Add custom printTable() for use in test code.
2025-02-23 18:10:56 -05:00
Sage Vaillancourt
aceefeb25c
Add a screen for showing the game's controls
...
Tweak MainMenu appearance to show this new option.
Simple new drawButton() graphics function.
Set a max value for transition delta, to keep from leaving gaps in the mask.
2025-02-23 13:10:09 -05:00
Sage Vaillancourt
d82ab06534
Use `-v` in `make test`
2025-02-23 11:11:04 -05:00
Sage Vaillancourt
3715361718
Move fielder targeting to array-based system
...
Allows for *light* path-finding, but is currently liable to totally lose track of weirdly-hit balls.
BUT this may be more of an issue of not correctly parsing the ball's state (home run, foul ball, etc.
Bat is now white with a black outline.
Some linting.
Run tests with `-v`
playdate.timer.new in mocks.lua
Add test for ball-catchability.
2025-02-23 11:10:40 -05:00
Sage Vaillancourt
7525daccb6
Add testGraphics.lua
...
Fix bug on exactly-zero/exactly-400 ballX
2025-02-23 11:03:10 -05:00
Sage Vaillancourt
9dc8b10f15
Better spacing in assets file
2025-02-22 14:01:37 -05:00
Sage Vaillancourt
cea10a7706
Sort assets alphabetically
2025-02-22 13:43:34 -05:00
Sage Vaillancourt
7deadbe316
Remove some accidentally-committed testing code
...
Use blipper for scoredRunners
2025-02-21 15:18:11 -05:00
Sage Vaillancourt
7b49603760
Fix flickering on return-to-pitcher.
...
Some linting.
Prevent runners "sticking" to bases during walk/homeRun sequences.
Tweak logo to remove some trailing pixels.
2025-02-21 15:05:14 -05:00
Sage Vaillancourt
786f80b0df
Add dark-skin player sprites.
...
SpriteCollection -> PlayerImageBundle
SpriteCollection is now PlayerImageBundle[]
2025-02-20 20:33:46 -05:00
Sage Vaillancourt
384a14fe5f
Draw fans in the stands
2025-02-20 15:21:20 -05:00
Sage Vaillancourt
56c0c27d75
Add perfect-power indicator to throwMeter
...
Some other tightening-up in there.
E.g. clears the lastReadThrow when on a new fielder.
Add type annotations to assets files.
2025-02-20 13:56:57 -05:00
Sage Vaillancourt
35c7754207
Merge branch 'main' of https://git.sagev.space/sage/BatterUp
2025-02-20 13:52:22 -05:00
Sage Vaillancourt
92985da58f
Add some sprites for fans
2025-02-20 13:51:44 -05:00
Sage Vaillancourt
17a30e9822
Extract 'Fielders' type and drop 'ignore 631'
2025-02-20 01:03:04 -05:00
Sage Vaillancourt
2d6f83a23f
Add some slight linger time to draw/throwMeter
2025-02-20 00:28:14 -05:00
Sage Vaillancourt
e45231dadd
Lower MinCharge and idealPower
...
Makes it easier to throw at top speed without having to flick the crank.
Added a bit of a multiplier on the returned powerRatio, to compensate.
2025-02-20 00:16:32 -05:00
Sage Vaillancourt
08a3189780
Start supporting less accurate pitches
...
Fix secondsSinceRunnerLastMove nil bug
2025-02-20 00:06:43 -05:00
Sage Vaillancourt
d77675b0cb
Fix initial throw to pitcher being counted as a pitch.
2025-02-19 23:48:19 -05:00
Sage Vaillancourt
56a5e197cd
Linting, and pitcherIsReady() timing tweak
2025-02-19 23:38:51 -05:00
Sage Vaillancourt
699dab8c7d
Fielder.catchEligible -> Ball.catchable
...
Much simpler
2025-02-19 23:06:22 -05:00
Sage Vaillancourt
b003c148a4
Extract more into pitching.
...
More consistent (and visible!) throw meter.
It's still imperfect (by a lot!) but it feels much more controlled.
Throws are a little too soft right now, but it's in a halfway decent state.
2025-02-19 22:32:10 -05:00
Sage Vaillancourt
52434fe891
Correct and further consolidate returnToPitcher()
2025-02-19 17:26:05 -05:00
Sage Vaillancourt
ad82035ccc
Pan back from home runs
...
Move secondsSinceLastRunnerMove into Baserunning
Tweak draw offset logic - a little jumpy, but better at following the long ball
Taller GrassBackground
Move secondsSinceLastPitch into pitchTracker
Extract pitchTracker and throwMeter
Slightly more truthful utils.moveAtSpeed()
2025-02-19 17:13:06 -05:00
Sage Vaillancourt
aebbc35bac
Add some quick MenuMusic
...
And extract a bit more pitchTracker logic
2025-02-18 15:50:22 -05:00