14 Commits
Author SHA1 Message Date
Gleb Mazovetskiy 124d113b57 Extract spell data to a TSV 2023-12-05 21:33:23 +01:00
Gleb Mazovetskiy 7e70c3b305 RecordReader: Simplify error handling 2023-11-18 17:33:14 +00:00
Gleb Mazovetskiy 17f95a04da Migrate missile sprite data to txtdata 2023-11-18 17:33:14 +00:00
Gleb Mazovetskiy 7cb24054a3 DataFile: Add a couple of helper methods 2023-11-18 17:33:14 +00:00
Gleb Mazovetskiy cfdade5f37 Simplify txtdata parsing with a helper class 2023-11-14 00:20:17 +00:00
Gleb Mazovetskiy 99fea0d1c5 Migrate unique monsters to data files 2023-11-10 17:44:45 +00:00
Gleb Mazovetskiy 2eae121931 Migrate monstdat to a data file
We may want to migrate this to 1 file per monster but for now the
migration is as close to the hard-coded version as possible.

Sprites that are used by multiple monsters are only loaded from disk
once.
2023-11-10 06:01:40 +00:00
Gleb Mazovetskiy ab1546311a LoadClassAttributes: Mandate field order
Makes parsing simpler.

Additional columns and rows are ignored.
2023-09-17 14:49:12 +01:00
Gleb Mazovetskiy e090c8bf31 Extract some player attributes to data files 2023-09-17 14:49:12 +01:00
ephphatha 3fda0586bd Add support for parsing fixed point decimal strings 2023-09-17 10:42:23 +01:00
ephphatha f3de9d6e71 Use dedicated error enum for parsing failures 2023-09-17 10:42:23 +01:00
Gleb Mazovetskiy 9bbc138b0f Simplify ColumnDefinition using C++20 features
1. Default comparison: https://en.cppreference.com/w/cpp/language/default_comparisons
2. Parentheses initialization for aggregate types
2023-09-03 01:13:48 +01:00
ephphatha 5f6e5ae9fb Refactor iterator parsing to allow more reuse 2023-08-29 15:17:54 +02:00
ephphathaandGleb Mazovetskiy 32c3316743 Load experience data from file
Also added an iterator based API, though it's not useful for this use-case. Might be nice in the future?

The field/record iterators is single-pass input iterators with shared state.
To avoid rescanning fields unnecessarily parseInt currently can only be called once, it would be possible to make these iterators bidirectional with a bit of extra state (holding onto the start pointer)

Co-authored-by: Gleb Mazovetskiy <[email protected]>
2023-08-24 05:46:44 +02:00