Commit graph

25 commits

Author SHA1 Message Date
Golumpa
73bb100cd6 Add safe snapshot and segment assembly
Add envelope-aware snapshot and segment assembly for structured Monopoly and Arc history records.
2026-07-15 19:48:11 +01:00
Golumpa
a5312520e7 Implemented fallback decoder
Added a new fallback decoder on the chance things do not decode correctly with the primary decoder.
2026-07-15 19:32:40 +01:00
Golumpa
042d47e3d4 Added mappings updater
Implemented a mappings updater script that uses the Waifus-Grace/NTE_Assets repo to export all the required mappings.
2026-07-15 19:06:47 +01:00
Golumpa
99b1ee7854 Fixed skin item ID's
Not sure why they change the internal ID's but here we go 🤷
2026-07-08 18:36:15 +01:00
Golumpa
5bbebfad84 Added Shinku
Added Shinku and her items to the mappings files
2026-07-08 12:56:20 +01:00
Golumpa
98b2165b84 Stabilize UID generation and page-first dice parsing 2026-06-28 16:23:02 +01:00
Golumpa
241a15e584 update version to 0.1.8 2026-06-23 15:49:09 +01:00
Golumpa
666ff94e91
Update export format documentation for primary IDs
Added 'reward_type' to the list of fields to avoid as primary IDs.
2026-06-23 12:06:12 +01:00
Golumpa
0d8dde243d
Enhance UID generation explanation in export-format.md
Clarified UID generation process and uniqueness.
2026-06-23 11:59:12 +01:00
Golumpa
5fac4cd9e8 add update notification 2026-06-23 11:45:50 +01:00
Golumpa
f3b78400d4 bump to 0.1.6 2026-06-23 11:28:00 +01:00
Golumpa
098a7d7f2a Update export-format.md 2026-06-23 11:23:36 +01:00
Golumpa
8102e46b37 0.1.5
fix chase reward
2026-06-17 15:58:52 +01:00
Golumpa
21dcbdcd13 bump to 0.1.4 2026-06-17 15:23:02 +01:00
Golumpa
c5373aa9e0 Add PyInstaller release workflow 2026-06-17 14:54:25 +01:00
Golumpa
df1add6cf1 0.1.3 - Add user UID, capture source & TCP support
Introduce automatic user UID extraction and optional --user-uid override, include user_uid and capture_source in exported JSON, and prepend UID to export filenames (falls back to unknown). Propagate detected protocol (tcp/udp) through live/libpcap parsing and accept TCP packets for UID detection; adjust libpcap filter to capture TCP as well. Update CLI flags (--copy-clipboard semantics, --user-uid), prompt user when UID is missing, and wire UID through mitmproxy and live capture flows. Bump package/exporter version to 0.1.3 and add tests for UID extraction and filename behavior.
2026-06-17 11:20:31 +01:00
Golumpa
0e78906e3a 0.1.1 - Add libpcap/Npcap backend and robust live capture
Introduce a cross-platform libpcap/Npcap capture backend with a Windows raw-socket fallback and plumbing to select backends via --capture-backend. Add ctypes-based libpcap wrapper (open_libpcap_capture, CaptureStats, LibpcapUnavailable) and a backend factory; refactor live capture runner to use the new backend, StopKeyMonitor, and improved clipboard handling. Make session and protocol decoders resilient to pipelined/multi-page responses and non-byte-aligned streams (alignment iterator, alignment-aware decoding, embedded-record trimming, slice support). Update mitmproxy flows adapter to reuse LiveHistorySession. Expand console messages and docs/README to explain cross-platform requirements, usage, and capture diagnostics. Minor: update package description in pyproject and adjust ARC/response handling and row bookkeeping to record row indices.
2026-06-12 12:58:15 +01:00
Golumpa
0c9026284c improve readme 2026-06-11 15:48:11 +01:00
Golumpa
dd7b86a5de improve readme 2026-06-11 15:30:05 +01:00
Golumpa
5d16dac4d5 Export partially-captured groups as stable
Stop treating partially-captured oldest timestamp groups (including Arc 10-pulls) as a special "incomplete" case. All decoded rows are now exported and marked with stable UIDs; the previous INCOMPLETE_* warnings and related console hint logic were removed. annotate_groups and annotate_arc_groups were simplified to always set uid_status="stable" and export_record=True, and arc_stability_warnings was deleted. CLI, live capture runner, console, tests, docs and mappings were updated to reflect the new behavior and to remove emission/handling of those informational warnings.
2026-06-11 14:57:08 +01:00
Golumpa
20b2086299 Anchor scans to page 1; export stable prefixes
Anchor page-run selection to start at page 1 (select_continuous_run_from_page_1) instead of picking the longest run, so newest pages are preserved and the newest timestamp ordinal 0 is always captured. Change boundary logic to always assign stable UIDs and export the captured prefix of an oldest timestamp group even when it may be an unfinished 10-pull, emitting informational warnings (INCOMPLETE_TIMESTAMP_GROUP_EXPORTED / INCOMPLETE_ARC_10_PULL_EXPORTED) instead of dropping rows. Apply the same policy to Arc groups and update arc group annotation and warnings accordingly. Add a new console module for improved CLI output and update cli, live_capture, adapters, and session code to use the new run selection and console helpers. Update docs, mappings, and tests to reflect the new boundary/export behavior and messaging.
2026-06-11 12:22:34 +01:00
Golumpa
30dc4e4831 Export oldest boundary when dice %10==0
Allow an oldest-boundary timestamp group to be exported when its dice-only record count is a positive multiple of 10. This adds a dice_complete check in the boundary annotation logic so a proved-finished pull set on a full final page is exported (unseen continuation rows can only be non-dice tails that sort after seen rows, keeping ordinals/UIDs stable). Docs and README updated to explain the rule, and tests updated/expanded to cover dice-complete, partial, and newest-boundary behaviors.
2026-06-11 11:21:42 +01:00
Golumpa
354b0e9232 Decode reward keys and use mapping files
Add decoding for Monopoly reward keys and switch reward metadata to be looked up by decoded id. Implement decode_reward_key() and infer_reward_type(); replace the previous raw-key KNOWN_REWARDS approach with REWARDS_BY_ID built from mappings/*.json. Add mappings/items.json and expand mappings/arcs.json. Update decoder to produce reward_id, use REWARDS_BY_ID, and change guess_quantity() to accept reward_id. Refactor pool_mappings to reuse the new mapping loader, and update tests and docs to validate mapping files and document the reward key encoding/behavior.
2026-06-11 11:09:02 +01:00
Golumpa
63ea1b77ce Added example json structure 2026-06-11 00:21:33 +01:00
Golumpa
bb3fe3b19a Initial NTE history exporter
Initial NTE history exporter

Add a Windows live-capture exporter for NTE pull history with support for
Permanent Monopoly, Limited Monopoly, and Arc Miracle Box histories.

Included:
- live packet capture via Windows raw sockets
- CSV and JSON export generation
- normalized reward and banner mapping files
- Monopoly v7 Points Gift / Chase Reward classification
- Arc Miracle Box decoding with shared pity metadata
- timestamp grouping and UID generation
- Windows launcher scripts with admin prompting
- docs for usage, export format, limitations, and packet notes
- tests covering decoder behaviour and mapping consistency

Generated exports, captures, briefs, and local data are ignored for privacy.
2026-06-10 23:59:01 +01:00