Stabilize UID generation and page-first dice parsing
This commit is contained in:
parent
241a15e584
commit
98b2165b84
6 changed files with 82 additions and 23 deletions
|
|
@ -92,18 +92,22 @@ nice names or ranks.
|
|||
|
||||
## UID generation
|
||||
|
||||
The `uid` is the first 32 hex characters of `sha256(source)`. We generate our own roll UID as the game does not send their own, so to make things trackable and to help prevent duplicates we create our own UID with a selection of feilds making each entry in the history 100% unique. The way it is done means on a rescan the same UID is generated for the same history item even if it is further in the history and you have pulled more since the last scan.
|
||||
The `uid` is the first 32 hex characters of `sha256(source)`. The game does not
|
||||
appear to send a stable pull/reward row ID, so the exporter builds one from the
|
||||
history pool, raw packet timestamp, and ordinal inside that timestamp group.
|
||||
Decoded content such as dice result, reward ID, and quantity is intentionally
|
||||
excluded so decoder fixes do not change the identity of an already-captured row.
|
||||
|
||||
Monopoly source:
|
||||
|
||||
```text
|
||||
nte|monopoly|pool_group_id|timestamp_raw|timestamp_group_ordinal|roll_result|reward_key_hex|quantity
|
||||
nte|monopoly|pool_group_id|timestamp_raw|timestamp_group_ordinal
|
||||
```
|
||||
|
||||
Arc source:
|
||||
|
||||
```text
|
||||
nte|gashapon|pool_group_id|timestamp_raw|timestamp_group_ordinal|reward_key_hex
|
||||
nte|gashapon|pool_group_id|timestamp_raw|timestamp_group_ordinal
|
||||
```
|
||||
|
||||
## Example records
|
||||
|
|
|
|||
|
|
@ -25,6 +25,9 @@ Decoded fields:
|
|||
|
||||
- `roll_result = first u32 / 4`
|
||||
- `roll_result = 0` means Points Gift
|
||||
- Some page-first records include a one-byte page prefix and an extra `0x14`
|
||||
field before the real dice u32. In that shape, the real dice u32 is at offset
|
||||
9 within the record chunk, not the earlier `0x14` field.
|
||||
- Some page-first records have a short prefix before the record body. For these, a hidden signed source flag immediately after the visible dice field overrides the visible dice:
|
||||
- `source_flag = 0` means Points Gift
|
||||
- `source_flag = -4` means Chase Reward
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue