• R/O
  • HTTP
  • SSH

List of commits

No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

A Nix-friendly SQLite-enhanced fork of Flitter, a speedrunning split timer for Unix-style terminals

Rev. Time Author
46bc328 master 2023-05-31 08:31:09 Corbin

Encapsulate prepared statements, caching them.

SQLite doesn't automatically cache prepared statements, and the OCaml
wrapper doesn't do it for us. We want to feel comfortable calling into
this storage module multiple times per run, but we want the statement to
be prepared and cached for us without keeping it in scope. (We can keep
the SQL string in scope because it's a pre-buildable global constant.)

0300ea5 2023-05-31 07:19:03 Corbin

Remove unused custom summary code.

d166d22 2023-05-31 04:03:33 Corbin

Remove two more gettimeofday().

30ff584 2023-05-31 03:32:47 Corbin

Somewhat factor timer state.

I might have to just hack and slash for the next commit.

4426350 2023-05-26 03:11:22 Corbin

Finish hacking on summary tool.

All of the queries seem to report accurate data. Summation of segments
across categories is working; if you run a game that branches into many
categories, then statistics are accumulated across all categories.

0ca9689 2023-05-25 05:42:42 Corbin

Summarize entire categories segment-by-segment.

a30462a 2023-05-25 04:40:35 Corbin

Tighten the data model; start at "New Game".

I don't have a good way to customize this, but at least it exists.

6df03b7 2023-05-24 14:53:04 Corbin

Start factoring SQLite access.

Also, reuse the existing Welford implementation. The SQLite user-defined
function bindings worked perfectly on the first try, and this was much
easier than requiring a special SQLite with extra extension functions.

b108d27 2023-05-23 13:35:35 Corbin

Start rebuilding summary tool.

Haven't ported the statistics yet. Need sleeps first.

a7e940f 2023-05-23 05:24:02 Corbin

Migrate heterogenous splits correctly.

972e787 2023-05-23 03:12:25 Corbin

Implement the bulk of the migration.

I think I've got the data model nailed down. Aside from a couple
optional fields for datetimes, which we'll want in the future, this is
basically complete.

One of my savefiles doesn't import. It uses different split titles in
its attempts, due to rerouting. This is exactly the sort of thing I
wanted to preserve, so I'll fix it.

70e6f40 2023-05-17 03:48:00 Corbin

Fulfill the flitter-new command.

1136943 2023-05-17 03:10:49 Corbin

Clean up docs.

a266e67 2023-05-17 02:54:22 Corbin

Implement the first half of the migration script.

Create games, checkpoints, and routes. Don't upsert routes; if there's
multiple routes possible, then we'll want a flag or something to confirm
to the user that we haven't already imported this particular savefile.

be5ecf2 2023-05-14 14:46:58 Corbin

Clean up display padding.

Some of it is still nasty, but we're at least not reinventing
left-padding arithmetic any longer.

ec99f5d 2023-05-14 12:01:25 Corbin

Don't show all splits if there's not room.

Instead, take only some splits.

52844dd 2023-05-14 09:35:17 Corbin

Lift some constants.

395d887 2023-05-14 07:01:34 Corbin

Start building a SQLite migration tool.

a03f09e 2023-05-12 06:22:40 Corbin

Depend on sqlite3.

37505f2 2023-04-25 15:09:27 Corbin

Become a Nix flake.

And we have to use 22.11 because LWT is broken on unstable.

fcd2863 2022-12-23 17:09:32 Corbin

Clean up handling of optional values.

84bb701 2022-12-23 16:19:32 Corbin

Clean up gettimeofday in Duration, Splits and Colors.

2696389 2022-12-23 10:21:21 Corbin

Start factoring gettimeofday() calls.

I know that this doesn't look like progress, but I'm trying to work

bd8de5a 2022-12-23 05:05:21 Corbin

Add timestamp to timer state.

In the next commit, we'll switch to using this timestamp.

11b0668 2022-12-21 08:06:10 Corbin

Factor out Welford's algorithm.

a15b6e3 2022-12-21 04:17:27 Corbin

Use nixpkgs' ocamlPackages.color.

7c3d48e 2022-12-21 04:12:43 Corbin

Lay out a future set of types for history.

Also, factor out routes, so that the big timer type is just a route and
some history. This will make the big refactoring a bit easier.

f6115fe 2022-12-20 19:10:21 Corbin

Use interface files to declare module boundaries.

This will make refactoring easier.

8ef92b3 2022-12-20 08:55:14 Corbin

Add command for summarizing splits.

So that I don't have to run the entire timer just to look at a single
split file.

f88028c 2022-12-19 10:03:13 Corbin

Fix thinko.