All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
0.9.0 (2021-10-22)
- map: bundle as .cjs so nodejs will load the cli while under esm mode (09c387d)
- map: correctly parse the seed as a unsigned int not a signed int (d5efb34)
- map: log unsigned ints as hex (45943ff)
- map: unload act if seed or difficulty changes (9293907)
- map: add den of evil as good exit (50634e0)
- map: add isGoodExit for common exits which are important (2925ed3)
- map: restart map process quickly if it crashes rather than waiting for timeout (fed0797)
- map: start multiple map processes if required (a2202ff)
- viewer: add more doors (5ede0bb)
- viewer: honor pitch and bearing in addition to zoom (#188) (fde7fee)
- viewer: include all object properties in rendering (ccdc3f1)
0.8.0 (2021-10-17)
- bintools: log the correct name for objects (079b5ac)
- map: correct command path for docker (b86169a)
- map: correctly debug mapId (369ea47)
- map: do not offset locations (06453e9)
- map: make the view hight slightly smaller to prevent scroll bars (ad55299)
- map: only load the mpq data once (e0c9f8c)
- bintools: simple mpq cli to load and explore the d2 mpqs (1c7e86e)
- map: include waypoint names (a6b421c)
- map: offset super unique names slightly (bf5b38f)
- map: render super uniques and names on the map (9cb2c09)
- map: show unknown objects on the map (44132e2)
- map: since maps are generated by zone render more maps before restarting (3d4b45f)
- map: split the components so the server and viewer can be imported easier (7a44862)
- map: support multiple command locations (d7cff17)
- split map into map server and map viewer (#186) (b92efb9)
- viewer: make things look a bit nicer (a9f3414)
- this splits the map viewer out into @diablo2/viewer and moves a lot of types around
0.7.0 (2021-10-16)
- data: super unique ids are not quite right (8b71cb0)
- map: expand cli usage examples (1c2f8fe)
- map: expose the location of super uniques (93f1ea9)
- map: improve map name from mpq (ef395b5)
- map: include operate code for objects (12e6cc2)
- map: load object/exit/level names from mpq and add to map (#185) (5510753)
- map: remove more unusued objects (fd6af41)
- map: render map to png using canvas (#160) (90c36a1)
- map: start exporting doors (997404a)
- map: use the new act endpoint (90921c3)
- memory: die after too many errors (4d1fab2)
0.6.0 (2021-10-13)
- correct broken scanner (4ec512d)
- map: die if offsets cannot be defined (ab61cfd)
- map: force a flush after log lines are printed (9c9a662)
- map: increase timeout to 30seconds for map generation (5053d46)
- memory: do a full memory scan until we know of a good location (fb46c49)
- memory: do not crash if cannot read pid (c7a6c20)
- data: add more known attributes (a7217ff)
- find map seed from a player name (#124) (4763715)
- map: add some debug timings into log generation (3976008)
- map: include git commit and hash in cli (#159) (04ac188)
- map: serve the index.html/js from the container (0b0751c)
- map: show exits and waypoints on the map (#157) (a0d335f)
- map: support diablo2 client v1.13c (#158) (2b248d9)
- map: support generating just a single act's data (24d69ba)
- memory: track player xp (008f920)
- memory: track where the last good memory addresses are (5211f0a)
- track where the last address was and start from that point (fc1d397)
- Revert "wip: look at near by rooms" (150dede)
0.5.0 (2021-03-26)
- packets/pd2: correct parsing of packet 0x56 (459ef8a)
- expose npc enchants out of game state (2a933c2)
- bintools: parsing of tbl files where the hash count and index count differ (77d2f85)
- core: skip packet 0x2b as we cannot parse it right now (4eb2001)
- map: skip mapid 150 on pd2 as it doesnt seem to work yet (a268073)
- mpq: allow extraction of uncompressed files (25edc0c)
- mpq: correct exploding of implode compressed mpq (f0e50d7)
- packets: actually export all the packets (bc7b6c2)
- sniffer: force close the game if the session cuts out (3390faa)
- core: basic game state from packets flowing though it (#10) (c052059)
- core: easier debugging of packet parse failures (3958f68)
- core: expand on game state tracking (7e6dcc7)
- core: filter out old objects if they havent been seen in a while (2a01ea6)
- core: improve xp tracking (6a1e757)
- core: track when monsters die (6309f29)
- core: track when packets are not parsed correctly (0ed0975)
- data: expose toHex function (86e6dbd)
- mpq: alias exists to has (613888f)
- packets: support unknown 0x56 packet for pd2 (33b25de)
- sniffer: change packet output location to
packets-${date)-${id}.ndjson
(108ef99) - sniffer: include hour in replay filename (0cabc6d)
- add NpcEnchants to track modifiers to Npcs (9c602c4)
- sniffer: expose findLocalIps function (9c4d1d7)
0.4.0 (2020-11-06)
- support both pod and pd2 (d89f86e)
- support project diablo2 (f794865)
- map: cache map generations in memory (24f1bdd)
- packets: add missing 0xaa StateAdd packet (c31f565)
0.3.0 (2020-09-20)
- bintools: load data directly from the mpq (#6) (d2824f7)
- mpq: allow both / and \ as path separators (#4) (c315148)
- mpq: support encrypted mpq files (#5) (45560a1)
0.2.1 (2020-09-19)
Note: Version bump only for package @diablo2/core
0.2.0 (2020-09-19)
- packets: correct typings for binary parser for npc/item packets (9665ee6)
- packets: dont error if we do not know the attribute name (14a3bbd)
- mpq: mpq reader that can extract files from patch_d2.mpq (#2) (e4ee39b)
- sniffer: allow the sniffer to be init without capturing packets (20507e8)
- map: allow both Normal.json and 0.json for difficulty (9835262)
- sniffer: dont automatically dump alll packets (5a24c61)
- map: docker container to render collision maps for most d2 maps (#1) (93b09b1)
- adding client packets (2cdf7e3)
- correctly load lang and parse npcs (9a82945)
- initial commit (4e1a573)
- initial work on binary file parser (4f16516)
- load lang files from tbl to parse items (29eca9a)
- more packet parsing (dcc75b8)
- parse npcs from packets using mpq data (2fa03e2)
- somewhat working packet parser (be51126)
- start loading mpq data in to be read by the packet parser (5745736)
- start parsing monster information (8a66db3)
- binparse: typesafe binary parser (5503ce3)