Skip to content

Instantly share code, notes, and snippets.

@apocalyptech
Last active November 28, 2025 06:58
Show Gist options
  • Select an option

  • Save apocalyptech/3cbb308eb6111e49daba58da932bb042 to your computer and use it in GitHub Desktop.

Select an option

Save apocalyptech/3cbb308eb6111e49daba58da932bb042 to your computer and use it in GitHub Desktop.
These files were generated on November 28, 2025 (as an update to the
original versions posted in June 2024, which turned out to be not
accurate).
These savegames were generated to catalogue exactly what happens when you
overflow Animal Well's "moved walls" data structure. There are a total of
14 moveable walls which can be opened as part of regular gameplay, and a
further 3 which can be opened by using glitches or otherwise hacking the
game to access areas which aren't usually accessible to the player.
However, the structure which holds the moved-wall info can only hold 16
entries, and the way the game's coded, if a 17th entry is attempted to be
written to the list, a decent chunk of the savegame data ends up getting
overwritten with, essentially, junk.
So, I'd written a script to simulate the "changed" gamestate if each of
those 17 possibilities was the "last" one to trigger, thus overwriting the
data. The filenames tell you which moveable wall was the trigger; for
instance `AnimalWell-r0205_t0201_l0.sav` means that the moveable wall
in question was in Room 2,5, at Tile 2,1, in Layer 0. (All of them are
in Layer 0, but that became the convention for specifying coordinates.)
The chunks of data noted here should be exhaustive for each category:
if there are only 10 Eggs listed, then those will be the only 10 collected,
even if the save previously had others collected. Game data *not* listed in
here should be totally unaffected by the overflow. The labels given for
chests, button doors, and other such things are all taken from the 010
Editor binary template files, as collected here:
https://github.com/Kein/awsgtools
The naming conventions in there aren't totally consistent, alas -- some
of the "room coordinates" found in those strings are written as x,y whereas
others are y,x. They should at least be consistent within their category.
There's also various entries which have yet to be mapped out in there, so
you'll see some "unknowns."
Anyway, IMO this data should be quite reliable (unlike the original June
2024 version). For all the collected saves, the data's just stored in the
first savegame slot, should you want to investigate in-game. Regardless,
it's worth noting that these were generated by code rather than actually
triggering the wall-opens in the game itself. The saves were based on a
very early-game save from the first accessible phone, and were edited to
enable c.ring and health bar display.
The (pretty bad, sorry) generation script is included as
`overflow_walls.py`. It requires my own Animal Well savegame app, since it
uses that app's data library for savegame inspection:
https://github.com/apocalyptech/animalwellsave/
... actually running the script is an exercise for the reader, though
someone familiar with running Python scripts should be able to manage it
without too much trouble.
And now, the data!
--------------------------------------------------------
Writing to: AnimalWell-r0205_t0201_l0.sav
- Steps Taken: 20485 (would be more after walking to save point)
- Fill Levels:
- 1. (7,11): 5 - 3%
- 2. (4,15): 2 - 1%
- 3. (2,17) (middle): 1 - 0%
- 4. (2,17) (right): 2 - 1%
- 5. (2,17) (left): 5 - 3%
- Chests Opened: 17
- room_0403_0 - room_1109_0
- room_0407_0 - room_1214_1
- room_0603_0 - room_1302_0
- room_0703_0 (key) - room_1317_0
- room_0803_0 - room_1506_0
- room_0814_1 - unknown_0B_1
- room_0815_1 (key) - unknown_0C_0
- room_0913_0 - unknown_0C_2
- room_1008_1
- Button Doors Opened: 15
- room_0403_0 - room_1003_0
- room_0412_0 - room_1304_0
- room_0514_0 - room_1411_0
- room_0611_1 - room_1414_0
- room_0705_0 - room_1515_0
- room_0810_0 - room_1610_0
- room_0813_0 - room_1816_0
- room_0907_0
- Yellow Buttons Pressed: 22
- Button_0304 - Button_1314_2
- Button_0307_2 - Button_1316_0
- Button_0310_1 - Button_1318_2
- Button_0315_3 - Button_1405_2
- Button_0316_1 - Button_1511
- Button_0511_3 - Button_1707_0
- Button_0709_2 - Button_1707_2
- Button_0713_2 - Button_1708_0
- Button_0918_2 - Button_1715
- Button_1106 - Button_1718_3
- Button_1304_1 - Unk_10_2
- Purple Buttons Pressed: 5
- Button_1014_1
- Button_1204_0
- Button_1204_2
- Button_1308_1
- Button_1619_2
- Green Buttons Pressed: 2
- Button_0210
- Button_0511
- Fruit Picked: 19
- room_0404_0 - room_1411_0
- room_0412_1 - room_1515_0
- room_0513_0 - room_1517_0
- room_0716_1 - room_1916_0
- room_0814_0 - unknown_00_0
- room_0913_0 - unknown_03_1
- room_1004_1 - unknown_04_0
- room_1103_0 - unknown_09_1
- room_1110_0 - unknown_0D_1
- room_1216_0
- Firecrackers Picked: 10
- Firecracker_0207
- Firecracker_0504
- Firecracker_0609_0
- Firecracker_0714_1
- Firecracker_0804
- Firecracker_0917
- Firecracker_1012_1
- Firecracker_1113
- Firecracker_1211_1
- Firecracker_1607
- Eggs: 10
- Egg as a Service
- Future
- Holiday
- Ice
- Moon
- Raw
- Razzle
- Reference
- Scarlet
- Value
- Walls Blasted: 3
- Explosion_1007
- Explosion_1105
- Explosion_1615
- Detonators Triggered: 2
- Detonator_1007
- Detonator_1105
- Bunnies (legal): 4
- Ghost Dog
- Origami
- Tutorial
- UV
- Bunnies (illegal): 1
- Illegal 6
- Squirrels Frightened: 3
- Squirrel_0905
- Squirrel_1510
- Squirrel_1516
- Cat/Lynx Quests Done:
- Caged Cat 1 at 16,18
- Total Firecrackers Picked Up: 513
- Bubbles Popped: 517
- Times Saved: 517 (would be +1 after saving in-game though)
- Door Unlock Index: 1
- Pink Buttons Pressed: 2
- Floor Is Lava Bunny
- Lower Portal Nexus
- Nuts Collected: 1
- Layer 1 Chests Opened: 0
- Layer 2 Buttons Pressed: 2
- Room 10,19 Button 0
- Room 10,19 Button 2
- Num Keys: 2
- Num Matches: 1
- Num Firecrackers: 2
- Total Hearts: 5
- Gold Hearts: 2
- Last Groundhog Year: 513
- Egg Doors Open: 1
- Second (Pencil)
Writing to: AnimalWell-r1505_t0603_l0.sav
- Steps Taken: 63749 (would be more after walking to save point)
- Fill Levels:
- 1. (7,11): 5 - 3%
- 2. (4,15): 15 - 11%
- 3. (2,17) (middle): 3 - 2%
- 4. (2,17) (right): 6 - 4%
- 5. (2,17) (left): 5 - 3%
- Chests Opened: 32
- room_0403_0 - room_0913_1 - room_1411_0
- room_0407_0 - room_1002_0 - room_1506_0
- room_0603_0 - room_1008_1 - room_1512_0 (match)
- room_0608_0 (match) - room_1008_2 - unknown_01_0
- room_0703_0 (key) - room_1109_0 - unknown_01_2
- room_0704_0 - room_1205_0 - unknown_03_2
- room_0803_0 - room_1214_1 - unknown_0B_1
- room_0814_1 - room_1302_0 - unknown_0B_2
- room_0815_1 (key) - room_1314_0 - unknown_0C_0
- room_0912_0 - room_1317_0 - unknown_0C_2
- room_0913_0 - room_1409_0
- Button Doors Opened: 30
- room_0403_0 - room_0813_0 - room_1414_0
- room_0412_0 - room_0906_0 - room_1510_0
- room_0512_0 - room_0907_0 - room_1515_0
- room_0514_0 - room_0910_0 - room_1516_0
- room_0515_0 - room_0913_0 - room_1516_1
- room_0611_1 - room_1003_0 - room_1610_0
- room_0612_0 - room_1005_0 - room_1613_0
- room_0705_0 - room_1304_0 - room_1816_0
- room_0706_0 - room_1307_0 - room_1817_0
- room_0810_0 - room_1411_0 - unknown_01_3
- Yellow Buttons Pressed: 42
- Button_0304 - Button_0713_2 - Button_1316_0 - Button_1618_0
- Button_0307_2 - Button_0918_2 - Button_1316_1 - Button_1707_0
- Button_0307_3 - Button_0918_3 - Button_1316_2 - Button_1707_2
- Button_0310_1 - Button_1009 - Button_1318_2 - Button_1708_0
- Button_0310_2 - Button_1016 - Button_1405_1 - Button_1708_1
- Button_0315_3 - Button_1106 - Button_1405_2 - Button_1708_2
- Button_0316_1 - Button_1304_1 - Button_1413 - Button_1715
- Button_0511_3 - Button_1306 - Button_1505_0 - Button_1718_3
- Button_0515 - Button_1313 - Button_1505_1 - Unk_10_2
- Button_0709_2 - Button_1314_2 - Button_1511
- Button_0713_1 - Button_1314_3 - Button_1608_1
- Purple Buttons Pressed: 10
- Button_1014_1
- Button_1014_2
- Button_1204_0
- Button_1204_2
- Button_1308_0
- Button_1308_1
- Button_1310_0
- Button_1310_1
- Button_1619_2
- Button_1619_3
- Green Buttons Pressed: 2
- Button_0210
- Button_0511
- Fruit Picked: 38
- room_0404_0 - room_0906_0 - room_1208_0 - unknown_03_1
- room_0412_0 - room_0910_0 - room_1216_0 - unknown_03_2
- room_0412_1 - room_0913_0 - room_1303_0 - unknown_04_0
- room_0416_0 - room_0915_0 - room_1411_0 - unknown_09_1
- room_0504_0 - room_1004_1 - room_1412_0 - unknown_0D_1
- room_0513_0 - room_1005_0 - room_1515_0 - unknown_0D_2
- room_0604_0 - room_1103_0 - room_1517_0 - unknown_0D_3
- room_0716_1 - room_1110_0 - room_1710_0 - unknown_0E_1
- room_0812_0 - room_1204_1 - room_1916_0
- room_0814_0 - room_1206_0 - unknown_00_0
- Firecrackers Picked: 20
- Firecracker_0207 - Firecracker_0804
- Firecracker_0306_2 - Firecracker_0917
- Firecracker_0504 - Firecracker_1012_1
- Firecracker_0508_0 - Firecracker_1017
- Firecracker_0609_0 - Firecracker_1106_0
- Firecracker_0609_1 - Firecracker_1106_1
- Firecracker_0613_3 - Firecracker_1113
- Firecracker_0614_0 - Firecracker_1211_1
- Firecracker_0714_1 - Firecracker_1413
- Firecracker_0714_2 - Firecracker_1607
- Eggs: 20
- Chaos - Planet
- Depraved - Plant
- Egg as a Service - Raw
- Fire - Razzle
- Friendship - Reference
- Future - Sapphire
- Galaxy - Scarlet
- Holiday - Sunset
- Ice - Value
- Moon - Vanity
- Walls Blasted: 4
- Explosion_1007
- Explosion_1105
- Explosion_1414
- Explosion_1615
- Detonators Triggered: 3
- Detonator_0719
- Detonator_1007
- Detonator_1105
- Bunnies (legal): 7
- Bulb
- Chinchilla
- Ghost Dog
- Origami
- Tutorial
- TV
- UV
- Bunnies (illegal): 3
- Illegal 14
- Illegal 6
- Illegal 7
- Squirrels Frightened: 6
- Squirrel_0715
- Squirrel_0718
- Squirrel_0818
- Squirrel_0905
- Squirrel_1510
- Squirrel_1516
- Cat/Lynx Quests Done:
- Caged Cat 1 at 16,18
- Caged Cat 2 at 16,18
- Total Firecrackers Picked Up: 1539
- Bubbles Popped: 3845
- Times Saved: 3845 (would be +1 after saving in-game though)
- Door Unlock Index: 3
- Pink Buttons Pressed: 2
- Floor Is Lava Bunny
- Lower Portal Nexus
- Nuts Collected: 3
- Layer 1 Chests Opened: 0
- Layer 2 Buttons Pressed: 2
- Room 10,19 Button 0
- Room 10,19 Button 2
- Num Keys: 15
- Num Matches: 3
- Num Firecrackers: 6
- Total Hearts: 5
- Gold Hearts: 15
- Last Groundhog Year: 1539
- Egg Doors Open: 4
- First (Flute, Portal)
- Fourth (65th Egg)
- Second (Pencil)
- Third (Top)
Writing to: AnimalWell-r0606_t1614_l0.sav
- Steps Taken: 54502 (would be more after walking to save point)
- Fill Levels:
- 1. (7,11): 6 - 4%
- 2. (4,15): 6 - 4%
- 3. (2,17) (middle): 14 - 10%
- 4. (2,17) (right): 16 - 12%
- 5. (2,17) (left): 6 - 4%
- Chests Opened: 26
- room_0404_0 - room_0913_1 - room_1512_0 (match)
- room_0407_0 - room_1008_2 - room_1513_0 (key)
- room_0603_0 - room_1009_0 - room_1515_0 (key)
- room_0704_0 - room_1010_0 - room_1714_0
- room_0710_0 (match) - room_1210_0 - room_1814_0
- room_0810_0 - room_1217_0 - unknown_01_2
- room_0815_0 - room_1302_0 - unknown_02_2
- room_0815_1 (key) - room_1317_0 - unknown_0C_2
- room_0913_0 - room_1409_0
- Button Doors Opened: 24
- room_0410_0 - room_1005_0
- room_0412_0 - room_1006_0
- room_0514_0 - room_1013_0
- room_0515_0 - room_1314_0
- room_0612_0 - room_1413_0
- room_0613_0 - room_1414_0
- room_0614_0 - room_1515_0
- room_0716_0 - room_1516_0
- room_0811_0 - room_1613_0
- room_0813_0 - room_1615_0
- room_0907_0 - room_1615_1
- room_0910_0 - unknown_0B_4
- Yellow Buttons Pressed: 34
- Button_0316_0 - Button_1306 - Button_1506
- Button_0316_1 - Button_1309 - Button_1511
- Button_0507 - Button_1313 - Button_1514_0
- Button_0610 - Button_1314_3 - Button_1618_2
- Button_0713_2 - Button_1316_0 - Button_1707_1
- Button_0918_3 - Button_1316_1 - Button_1707_2
- Button_1009 - Button_1405_2 - Button_1708_0
- Button_1015_1 - Button_1406 - Button_1708_1
- Button_1018 - Button_1409_0 - Unk_10_1
- Button_1118_0 - Button_1411 - Unk_10_2
- Button_1304_0 - Button_1414
- Button_1304_1 - Button_1505_0
- Purple Buttons Pressed: 7
- Button_1014_2
- Button_1204_1
- Button_1204_2
- Button_1308_1
- Button_1310_0
- Button_1516_0
- Button_1516_1
- Green Buttons Pressed: 2
- Button_0211
- Button_0511
- Fruit Picked: 31
- room_0404_0 - room_0915_0 - room_1517_0
- room_0412_1 - room_0915_1 - room_1917_0
- room_0416_0 - room_0916_0 - stolen_nut (set the first time a nut is stolen)
- room_0604_0 - room_1015_0 - unknown_00_1
- room_0606_0 - room_1103_1 - unknown_09_1
- room_0608_0 - room_1110_0 - unknown_0B_4
- room_0707_0 - room_1206_0 - unknown_0D_1
- room_0716_0 - room_1303_0 - unknown_0D_2
- room_0716_1 - room_1305_0 - unknown_0E_1
- room_0814_0 - room_1305_1
- room_0906_0 - room_1516_0
- Firecrackers Picked: 16
- Firecracker_0207 - Firecracker_1012_0
- Firecracker_0508_0 - Firecracker_1012_1
- Firecracker_0508_1 - Firecracker_1106_0
- Firecracker_0508_2 - Firecracker_1113
- Firecracker_0704 - Firecracker_1114
- Firecracker_0714_2 - Firecracker_1413
- Firecracker_0804 - Firecracker_1509
- Firecracker_0818 - Firecracker_1514
- Eggs: 16
- Brown - Moon
- Bubble - Orange
- Depraved - Plant
- Desert - Rain
- Egg as a Service - Raw
- Fire - Razzle
- Galaxy - Red
- Jade - Transcendental
- Walls Blasted: 3
- Explosion_1007
- Explosion_1615
- Explosion_1706
- Detonators Triggered: 2
- Detonator_1007
- Detonator_1706
- Bunnies (legal): 4
- Bulb
- Dream
- Origami
- UV
- Bunnies (illegal): 4
- Illegal 1
- Illegal 7
- Illegal 8
- Illegal 9
- Squirrels Frightened: 4
- Squirrel_0718
- Squirrel_0909
- Squirrel_1510
- Squirrel_1516
- Cat/Lynx Quests Done:
- Caged Cat 1 at 14,19
- Caged Cat 2 at 16,18
- Caged Cat 3 at 16,18
- Total Firecrackers Picked Up: 4110
- Bubbles Popped: 1542
- Times Saved: 1542 (would be +1 after saving in-game though)
- Door Unlock Index: 14 (potential door overflow problem depending on save state!)
- Pink Buttons Pressed: 3
- Floor Is Lava Bunny
- Lower Portal Nexus
- Spike Bunny
- Nuts Collected: 14
- Layer 1 Chests Opened: 0
- Layer 2 Buttons Pressed: 2
- Room 10,19 Button 1
- Room 10,19 Button 2
- Num Keys: 6
- Num Matches: 14
- Num Firecrackers: 16
- Total Hearts: 6
- Gold Hearts: 6
- Last Groundhog Year: 4110
- Egg Doors Open: 2
- Second (Pencil)
- Third (Top)
Writing to: AnimalWell-r0706_t1601_l0.sav
- Steps Taken: 2790 (would be more after walking to save point)
- Fill Levels:
- 1. (7,11): 6 - 4%
- 2. (4,15): 7 - 5%
- 3. (2,17) (middle): 1 - 0%
- 4. (2,17) (right): 16 - 12%
- 5. (2,17) (left): 6 - 4%
- Chests Opened: 23
- room_0404_0 - room_1217_0
- room_0407_0 - room_1302_0
- room_0603_0 - room_1314_0
- room_0703_0 (key) - room_1317_0
- room_0810_0 - room_1409_0
- room_0815_0 - room_1506_0
- room_0815_1 (key) - room_1714_0
- room_0912_0 - room_1814_0
- room_0913_0 - unknown_01_0
- room_0913_1 - unknown_01_2
- room_1008_1 - unknown_0C_2
- room_1210_0
- Button Doors Opened: 21
- room_0410_0 - room_0910_0
- room_0412_0 - room_1003_0
- room_0512_0 - room_1314_0
- room_0514_0 - room_1413_0
- room_0515_0 - room_1414_0
- room_0611_1 - room_1510_0
- room_0716_0 - room_1515_0
- room_0811_0 - room_1516_0
- room_0813_0 - room_1610_0
- room_0906_0 - unknown_0B_4
- room_0907_0
- Yellow Buttons Pressed: 30
- Button_0316_0 - Button_1106 - Button_1505_0
- Button_0316_1 - Button_1304_0 - Button_1511
- Button_0507 - Button_1304_1 - Button_1608_1
- Button_0610 - Button_1313 - Button_1618_2
- Button_0709_2 - Button_1314_2 - Button_1707_1
- Button_0713_1 - Button_1316_0 - Button_1707_2
- Button_0713_2 - Button_1316_1 - Button_1708_0
- Button_0918_2 - Button_1405_1 - Button_1708_1
- Button_1015_1 - Button_1405_2 - Unk_10_1
- Button_1016 - Button_1411 - Unk_10_2
- Purple Buttons Pressed: 6
- Button_1014_1
- Button_1204_1
- Button_1204_2
- Button_1308_0
- Button_1308_1
- Button_1310_0
- Green Buttons Pressed: 2
- Button_0211
- Button_0511
- Fruit Picked: 27
- room_0404_0 - room_0814_0 - room_1516_0
- room_0412_0 - room_0906_0 - room_1517_0
- room_0412_1 - room_0913_0 - room_1710_0
- room_0416_0 - room_1015_0 - room_1916_0
- room_0513_0 - room_1103_1 - unknown_00_1
- room_0707_0 - room_1110_0 - unknown_09_1
- room_0716_0 - room_1204_1 - unknown_0B_4
- room_0716_1 - room_1206_0 - unknown_0D_1
- room_0812_0 - room_1216_0 - unknown_0D_2
- Firecrackers Picked: 14
- Firecracker_0207 - Firecracker_1012_0
- Firecracker_0306_2 - Firecracker_1012_1
- Firecracker_0613_3 - Firecracker_1106_0
- Firecracker_0704 - Firecracker_1113
- Firecracker_0714_1 - Firecracker_1413
- Firecracker_0804 - Firecracker_1509
- Firecracker_0818 - Firecracker_1607
- Eggs: 14
- Brown - Planet
- Depraved - Rain
- Egg as a Service - Raw
- Galaxy - Razzle
- Ice - Transcendental
- Jade - Value
- Moon - Vanity
- Walls Blasted: 4
- Explosion_1007
- Explosion_1414
- Explosion_1615
- Explosion_1706
- Detonators Triggered: 3
- Detonator_0719
- Detonator_1007
- Detonator_1706
- Bunnies (legal): 5
- Bulb
- Dream
- Origami
- TV
- UV
- Bunnies (illegal): 2
- Illegal 1
- Illegal 6
- Squirrels Frightened: 5
- Squirrel_0715
- Squirrel_0718
- Squirrel_0909
- Squirrel_1510
- Squirrel_1516
- Cat/Lynx Quests Done:
- Caged Cat 1 at 16,18
- Total Firecrackers Picked Up: 4097
- Bubbles Popped: 1798
- Times Saved: 1798 (would be +1 after saving in-game though)
- Door Unlock Index: 1
- Pink Buttons Pressed: 3
- Floor Is Lava Bunny
- Lower Portal Nexus
- Spike Bunny
- Nuts Collected: 1
- Layer 1 Chests Opened: 0
- Layer 2 Buttons Pressed: 2
- Room 10,19 Button 1
- Room 10,19 Button 2
- Num Keys: 7
- Num Matches: 1
- Num Firecrackers: 16
- Total Hearts: 6
- Gold Hearts: 7
- Last Groundhog Year: 4097
- Egg Doors Open: 3
- First (Flute, Portal)
- Second (Pencil)
- Third (Top)
Writing to: AnimalWell-r0706_t0514_l0.sav
- Steps Taken: 5382 (would be more after walking to save point)
- Fill Levels:
- 1. (7,11): 6 - 4%
- 2. (4,15): 7 - 5%
- 3. (2,17) (middle): 14 - 10%
- 4. (2,17) (right): 5 - 3%
- 5. (2,17) (left): 6 - 4%
- Chests Opened: 32
- room_0404_0 - room_1008_2 - room_1513_0 (key)
- room_0407_0 - room_1009_0 - room_1515_0 (key)
- room_0603_0 - room_1010_0 - room_1614_0
- room_0704_0 - room_1108_0 (match) - room_1814_0
- room_0710_0 (match) - room_1205_0 - unknown_01_0
- room_0802_0 - room_1217_0 - unknown_01_2
- room_0815_0 - room_1302_0 - unknown_02_2
- room_0815_1 (key) - room_1314_0 - unknown_03_2
- room_0912_0 - room_1317_0 - unknown_0B_2
- room_0913_0 - room_1409_0 - unknown_0C_2
- room_0913_1 - room_1512_0 (match)
- Button Doors Opened: 30
- room_0410_0 - room_0811_0 - room_1413_0
- room_0412_0 - room_0813_0 - room_1414_0
- room_0512_0 - room_0906_0 - room_1510_0
- room_0514_0 - room_0907_0 - room_1515_0
- room_0515_0 - room_0910_0 - room_1516_0
- room_0612_0 - room_1005_0 - room_1613_0
- room_0613_0 - room_1006_0 - room_1615_0
- room_0614_0 - room_1013_0 - room_1615_1
- room_0704_0 - room_1213_0 - room_1813_0
- room_0706_0 - room_1307_0 - room_1817_0
- Yellow Buttons Pressed: 42
- Button_0307_1 - Button_1009 - Button_1316_1 - Button_1514_0
- Button_0307_3 - Button_1016 - Button_1318_1 - Button_1608_1
- Button_0310_0 - Button_1018 - Button_1405_1 - Button_1618_0
- Button_0310_2 - Button_1118_0 - Button_1405_2 - Button_1707_1
- Button_0315_2 - Button_1304_0 - Button_1406 - Button_1707_2
- Button_0316_0 - Button_1304_1 - Button_1409_0 - Button_1708_0
- Button_0316_1 - Button_1306 - Button_1411 - Button_1708_1
- Button_0515 - Button_1309 - Button_1414 - Unk_10_1
- Button_0713_1 - Button_1313 - Button_1505_0 - Unk_10_2
- Button_0713_2 - Button_1314_3 - Button_1506
- Button_0918_3 - Button_1316_0 - Button_1511
- Purple Buttons Pressed: 10
- Button_1014_2
- Button_1204_1
- Button_1204_2
- Button_1308_0
- Button_1308_1
- Button_1310_0
- Button_1516_0
- Button_1516_1
- Button_1619_1
- Button_1619_3
- Green Buttons Pressed: 2
- Button_0211
- Button_0511
- Fruit Picked: 38
- room_0404_0 - room_0812_0 - room_1204_1 - stolen_nut (set the first time a nut is stolen)
- room_0412_0 - room_0814_0 - room_1206_0 - unknown_00_1
- room_0412_1 - room_0906_0 - room_1303_0 - unknown_03_2
- room_0416_0 - room_0915_0 - room_1305_0 - unknown_09_1
- room_0604_0 - room_0915_1 - room_1305_1 - unknown_0B_0
- room_0606_0 - room_0916_0 - room_1412_0 - unknown_0D_1
- room_0608_0 - room_1004_0 - room_1516_0 - unknown_0D_2
- room_0617_0 - room_1005_0 - room_1517_0 - unknown_0E_1
- room_0716_0 - room_1103_1 - room_1710_0
- room_0716_1 - room_1110_0 - room_1917_0
- Firecrackers Picked: 20
- Firecracker_0207 - Firecracker_0804
- Firecracker_0306_2 - Firecracker_1012_0
- Firecracker_0508_0 - Firecracker_1012_1
- Firecracker_0508_1 - Firecracker_1017
- Firecracker_0508_2 - Firecracker_1106_0
- Firecracker_0509_3 - Firecracker_1113
- Firecracker_0609_1 - Firecracker_1114
- Firecracker_0613_3 - Firecracker_1413
- Firecracker_0704 - Firecracker_1514
- Firecracker_0714_2 - Unk_07_0
- Eggs: 20
- Brown - Planet
- Bubble - Plant
- Depraved - Rain
- Desert - Raw
- Egg as a Service - Razzle
- Fire - Red
- Friendship - Rust
- Galaxy - Sapphire
- Moon - Vanity
- Orange - Zen
- Walls Blasted: 4
- Explosion_1007
- Explosion_1414
- Explosion_1615
- Explosion_1706
- Detonators Triggered: 3
- Detonator_0719
- Detonator_1007
- Detonator_1706
- Bunnies (legal): 4
- Bulb
- Origami
- TV
- UV
- Bunnies (illegal): 6
- Illegal 1
- Illegal 13
- Illegal 14
- Illegal 7
- Illegal 8
- Illegal 9
- Squirrels Frightened: 5
- Squirrel_0715
- Squirrel_0718
- Squirrel_0909
- Squirrel_1510
- Squirrel_1516
- Cat/Lynx Quests Done:
- Caged Cat 1 at 14,19
- Caged Cat 2 at 16,18
- Caged Cat 3 at 16,18
- Total Firecrackers Picked Up: 1294
- Bubbles Popped: 1798
- Times Saved: 1798 (would be +1 after saving in-game though)
- Door Unlock Index: 14 (potential door overflow problem depending on save state!)
- Pink Buttons Pressed: 3
- Floor Is Lava Bunny
- Lower Portal Nexus
- Spike Bunny
- Nuts Collected: 14
- Layer 1 Chests Opened: 1
- Two Rabbits Fig (room 11,11)
- Layer 2 Buttons Pressed: 2
- Room 10,19 Button 1
- Room 10,19 Button 2
- Num Keys: 7
- Num Matches: 14
- Num Firecrackers: 5
- Total Hearts: 6
- Gold Hearts: 7
- Last Groundhog Year: 1294
- Egg Doors Open: 3
- First (Flute, Portal)
- Second (Pencil)
- Third (Top)
Writing to: AnimalWell-r1307_t2901_l0.sav
- Steps Taken: 8135 (would be more after walking to save point)
- Fill Levels:
- 1. (7,11): 7 - 5%
- 2. (4,15): 13 - 10%
- 3. (2,17) (middle): 1 - 0%
- 4. (2,17) (right): 29 - 22%
- 5. (2,17) (left): 7 - 5%
- Chests Opened: 36
- room_0403_0 - room_0913_1 - room_1411_0
- room_0404_0 - room_1002_0 - room_1506_0
- room_0407_0 - room_1008_1 - room_1614_0
- room_0608_0 (match) - room_1108_0 (match) - room_1713_0
- room_0703_0 (key) - room_1205_0 - room_1714_0
- room_0802_0 - room_1208_0 - room_1814_0
- room_0808_0 - room_1210_0 - unknown_01_0
- room_0810_0 - room_1214_1 - unknown_01_2
- room_0814_1 - room_1217_0 - unknown_03_2
- room_0815_0 - room_1302_0 - unknown_0B_2
- room_0815_1 (key) - room_1314_0 - unknown_0C_0
- room_0912_0 - room_1409_0 - unknown_0C_2
- Button Doors Opened: 33
- room_0403_0 - room_0811_0 - room_1413_0
- room_0410_0 - room_0813_0 - room_1414_0
- room_0412_0 - room_0906_0 - room_1510_0
- room_0512_0 - room_0910_0 - room_1516_0
- room_0515_0 - room_0913_0 - room_1516_1
- room_0611_1 - room_1003_0 - room_1610_0
- room_0704_0 - room_1213_0 - room_1813_0
- room_0706_0 - room_1307_0 - room_1817_0
- room_0713_0 - room_1313_0 - unknown_01_3
- room_0716_0 - room_1314_0 - unknown_0B_3
- room_0810_0 - room_1411_0 - unknown_0B_4
- Yellow Buttons Pressed: 47
- Button_0304 - Button_0515 - Button_1314_2 - Button_1618_1
- Button_0307_1 - Button_0610 - Button_1316_1 - Button_1618_2
- Button_0307_3 - Button_0709_2 - Button_1316_2 - Button_1707_0
- Button_0310_0 - Button_0713_1 - Button_1318_1 - Button_1707_1
- Button_0310_2 - Button_0918_2 - Button_1405_1 - Button_1707_2
- Button_0315_2 - Button_1015_0 - Button_1411 - Button_1708_1
- Button_0316_0 - Button_1015_1 - Button_1413 - Button_1708_2
- Button_0316_1 - Button_1016 - Button_1505_0 - Button_1715
- Button_0407 - Button_1106 - Button_1505_1 - Button_1718_3
- Button_0507 - Button_1304_0 - Button_1511 - Unk_10_1
- Button_0510 - Button_1304_1 - Button_1608_1 - Unk_10_2
- Button_0511_3 - Button_1313 - Button_1618_0
- Purple Buttons Pressed: 9
- Button_1014_1
- Button_1204_0
- Button_1204_1
- Button_1204_2
- Button_1308_0
- Button_1310_0
- Button_1310_1
- Button_1619_1
- Button_1619_3
- Green Buttons Pressed: 3
- Button_0210
- Button_0211
- Button_0511
- Fruit Picked: 40
- room_0404_0 - room_0906_0 - room_1204_1 - room_1916_0
- room_0412_0 - room_0910_0 - room_1206_0 - unknown_00_0
- room_0416_0 - room_0913_0 - room_1208_0 - unknown_00_1
- room_0504_0 - room_1004_0 - room_1216_0 - unknown_03_2
- room_0513_0 - room_1005_0 - room_1412_0 - unknown_03_3
- room_0617_0 - room_1007_0 - room_1413_0 - unknown_04_0
- room_0707_0 - room_1015_0 - room_1515_0 - unknown_0B_0
- room_0716_0 - room_1103_0 - room_1516_0 - unknown_0B_4
- room_0716_1 - room_1103_1 - room_1517_0 - unknown_0D_2
- room_0812_0 - room_1110_0 - room_1710_0 - unknown_0D_3
- Firecrackers Picked: 22
- Firecracker_0306_2 - Firecracker_1012_1
- Firecracker_0504 - Firecracker_1017
- Firecracker_0509_3 - Firecracker_1106_0
- Firecracker_0609_1 - Firecracker_1106_1
- Firecracker_0613_3 - Firecracker_1109
- Firecracker_0614_0 - Firecracker_1211_1
- Firecracker_0704 - Firecracker_1413
- Firecracker_0714_1 - Firecracker_1509
- Firecracker_0804 - Firecracker_1607
- Firecracker_0818 - Unk_07_0
- Firecracker_1012_0 - Unk_07_3
- Eggs: 22
- Brown - Razzle
- Chaos - Reference
- Depraved - Ruby
- Friendship - Rust
- Galaxy - Sapphire
- Holiday - Sunset
- Ice - Transcendental
- Jade - Truth
- Planet - Value
- Rain - Vanity
- Raw - Zen
- Walls Blasted: 4
- Explosion_1007
- Explosion_1105
- Explosion_1414
- Explosion_1706
- Detonators Triggered: 4
- Detonator_0719
- Detonator_1007
- Detonator_1105
- Detonator_1706
- Bunnies (legal): 6
- Bulb
- Chinchilla
- Dream
- Origami
- Tutorial
- TV
- Bunnies (illegal): 5
- Illegal 1
- Illegal 13
- Illegal 14
- Illegal 15
- Illegal 6
- Squirrels Frightened: 6
- Squirrel_0715
- Squirrel_0718
- Squirrel_0818
- Squirrel_0905
- Squirrel_0909
- Squirrel_1510
- Cat/Lynx Quests Done:
- Caged Cat 1 at 16,18
- Total Firecrackers Picked Up: 7425
- Bubbles Popped: 3335
- Times Saved: 3335 (would be +1 after saving in-game though)
- Door Unlock Index: 1
- Pink Buttons Pressed: 2
- Floor Is Lava Bunny
- Spike Bunny
- Nuts Collected: 1
- Layer 1 Chests Opened: 1
- Two Rabbits Fig (room 11,11)
- Layer 2 Buttons Pressed: 3
- Room 10,19 Button 0
- Room 10,19 Button 1
- Room 10,19 Button 2
- Num Keys: 13
- Num Matches: 1
- Num Firecrackers: 29
- Total Hearts: 7
- Gold Hearts: 13
- Last Groundhog Year: 7425
- Egg Doors Open: 3
- First (Flute, Portal)
- Fourth (65th Egg)
- Third (Top)
Writing to: AnimalWell-r1008_t1617_l0.sav
- Steps Taken: 52136 (would be more after walking to save point)
- Fill Levels:
- 1. (7,11): 8 - 6%
- 2. (4,15): 10 - 7%
- 3. (2,17) (middle): 17 - 13%
- 4. (2,17) (right): 16 - 12%
- 5. (2,17) (left): 8 - 6%
- Chests Opened: 19
- room_0411_0 - room_1010_1
- room_0603_0 - room_1210_0
- room_0608_0 (match) - room_1303_0
- room_0703_0 (key) - room_1317_0
- room_0710_1 - room_1411_0
- room_0810_0 - room_1506_0
- room_0902_0 - room_1714_0
- room_0913_0 - unknown_0A_4
- room_1002_0 - unknown_0C_3
- room_1008_1
- Button Doors Opened: 18
- room_0413_0 - room_1105_0
- room_0514_0 - room_1314_0
- room_0611_1 - room_1415_0
- room_0615_0 - room_1515_0
- room_0716_0 - room_1516_1
- room_0813_1 - room_1610_0
- room_0907_0 - unknown_01_3
- room_0913_0 - unknown_0A_4
- room_1003_0 - unknown_0B_4
- Yellow Buttons Pressed: 25
- Button_0316_2 - Button_1118_1 - Button_1505_1
- Button_0507 - Button_1312 - Button_1514_1
- Button_0610 - Button_1314_2 - Button_1606_0
- Button_0709_2 - Button_1316_0 - Button_1618_2
- Button_0713_2 - Button_1316_2 - Button_1708_0
- Button_0808 - Button_1404 - Button_1708_2
- Button_0918_2 - Button_1405_2 - Unk_10_3
- Button_1015_1 - Button_1409_1
- Button_1106 - Button_1413
- Purple Buttons Pressed: 5
- Button_1014_1
- Button_1204_3
- Button_1308_1
- Button_1310_1
- Unk_02_4
- Green Buttons Pressed: 1
- Button_0213
- Fruit Picked: 22
- room_0412_1 - room_1110_1
- room_0504_0 - room_1208_0
- room_0513_0 - room_1216_0
- room_0609_0 - room_1313_0
- room_0707_0 - room_1603_0
- room_0802_0 - room_1916_0
- room_0814_0 - unknown_00_3
- room_0910_0 - unknown_09_1
- room_0913_0 - unknown_0B_4
- room_0917_0 - unknown_0D_1
- room_1015_0 - unknown_0D_3
- Firecrackers Picked: 12
- Firecracker_0207
- Firecracker_0409
- Firecracker_0614_0
- Firecracker_0714_1
- Firecracker_0818
- Firecracker_1106_1
- Firecracker_1113
- Firecracker_1115
- Firecracker_1412
- Firecracker_1509
- Firecracker_1607
- Firecracker_1704
- Eggs: 12
- Chaos
- Clover
- Dazzle
- Egg as a Service
- Ice
- Jade
- Moon
- Pickled
- Sour
- Sunset
- Transcendental
- Value
- Walls Blasted: 2
- Explosion_1108
- Explosion_1615
- Detonators Triggered: 1
- Detonator_1611
- Bunnies (legal): 4
- Chinchilla
- Dream
- Spike Room
- UV
- Bunnies (illegal): 2
- Illegal 10
- Illegal 6
- Squirrels Frightened: 3
- Squirrel_0818
- Squirrel_0911
- Squirrel_1516
- Cat/Lynx Quests Done:
- Caged Cat 1 at 16,18
- Caged Cat 2 at 14,19
- Total Firecrackers Picked Up: 4113
- Bubbles Popped: 2568
- Times Saved: 2568 (would be +1 after saving in-game though)
- Door Unlock Index: 17 (next unlocked door will cause another overflow!)
- Pink Buttons Pressed: 1
- Lower Portal Nexus
- Nuts Collected: 17
- Layer 1 Chests Opened: 0
- Layer 2 Buttons Pressed: 1
- Room 10,19 Button 3
- Num Keys: 10
- Num Matches: 17
- Num Firecrackers: 16
- Total Hearts: 8
- Gold Hearts: 10
- Last Groundhog Year: 4113
- Egg Doors Open: 2
- Fourth (65th Egg)
- Second (Pencil)
Writing to: AnimalWell-r0209_t0106_l0.sav
- Steps Taken: 70953 (would be more after walking to save point)
- Fill Levels:
- 1. (7,11): 9 - 7%
- 2. (4,15): 2 - 1%
- 3. (2,17) (middle): 6 - 4%
- 4. (2,17) (right): 1 - 0%
- 5. (2,17) (left): 9 - 7%
- Chests Opened: 20
- room_0403_0 - room_1108_0 (match)
- room_0411_0 - room_1214_1
- room_0603_0 - room_1303_0
- room_0704_0 - room_1317_0
- room_0802_0 - room_1512_0 (match)
- room_0814_1 - room_1513_0 (key)
- room_0902_0 - room_1614_0
- room_0913_0 - unknown_02_2
- room_1008_2 - unknown_0C_0
- room_1009_0 - unknown_0C_3
- Button Doors Opened: 18
- room_0403_0 - room_1005_0
- room_0413_0 - room_1006_0
- room_0514_0 - room_1213_0
- room_0612_0 - room_1411_0
- room_0613_0 - room_1415_0
- room_0704_0 - room_1515_0
- room_0810_0 - room_1613_0
- room_0813_1 - room_1615_0
- room_0907_0 - room_1813_0
- Yellow Buttons Pressed: 26
- Button_0304 - Button_1009 - Button_1405_2
- Button_0307_1 - Button_1018 - Button_1406
- Button_0310_0 - Button_1306 - Button_1414
- Button_0315_2 - Button_1309 - Button_1707_0
- Button_0316_2 - Button_1312 - Button_1708_0
- Button_0511_3 - Button_1314_3 - Button_1715
- Button_0713_2 - Button_1316_0 - Button_1718_3
- Button_0808 - Button_1318_1 - Unk_10_3
- Button_0918_3 - Button_1404
- Purple Buttons Pressed: 6
- Button_1014_2
- Button_1204_0
- Button_1204_3
- Button_1308_1
- Button_1516_0
- Button_1619_1
- Green Buttons Pressed: 2
- Button_0210
- Button_0213
- Fruit Picked: 23
- room_0412_1 - room_1305_0
- room_0604_0 - room_1515_0
- room_0606_0 - room_1603_0
- room_0617_0 - room_1917_0
- room_0802_0 - unknown_00_0
- room_0814_0 - unknown_00_3
- room_0915_0 - unknown_04_0
- room_0915_1 - unknown_09_1
- room_1004_0 - unknown_0B_0
- room_1103_0 - unknown_0D_1
- room_1110_1 - unknown_0E_1
- room_1303_0
- Firecrackers Picked: 12
- Firecracker_0207
- Firecracker_0504
- Firecracker_0508_0
- Firecracker_0508_1
- Firecracker_0509_3
- Firecracker_0714_2
- Firecracker_1113
- Firecracker_1114
- Firecracker_1211_1
- Firecracker_1412
- Firecracker_1704
- Unk_07_0
- Eggs: 12
- Bubble
- Dazzle
- Egg as a Service
- Fire
- Holiday
- Moon
- Pickled
- Plant
- Red
- Reference
- Rust
- Zen
- Walls Blasted: 3
- Explosion_1105
- Explosion_1108
- Explosion_1615
- Detonators Triggered: 2
- Detonator_1105
- Detonator_1611
- Bunnies (legal): 3
- Spike Room
- Tutorial
- UV
- Bunnies (illegal): 3
- Illegal 13
- Illegal 7
- Illegal 8
- Squirrels Frightened: 3
- Squirrel_0905
- Squirrel_0911
- Squirrel_1516
- Cat/Lynx Quests Done:
- Caged Cat 2 at 16,18
- Caged Cat 3 at 16,18
- Total Firecrackers Picked Up: 262
- Bubbles Popped: 521
- Times Saved: 521 (would be +1 after saving in-game though)
- Door Unlock Index: 6
- Pink Buttons Pressed: 1
- Lower Portal Nexus
- Nuts Collected: 6
- Layer 1 Chests Opened: 1
- Two Rabbits Fig (room 11,11)
- Layer 2 Buttons Pressed: 2
- Room 10,19 Button 0
- Room 10,19 Button 3
- Num Keys: 2
- Num Matches: 6
- Num Firecrackers: 1
- Total Hearts: 9
- Gold Hearts: 2
- Last Groundhog Year: 262
- Egg Doors Open: 1
- Second (Pencil)
Writing to: AnimalWell-r0910_t3906_l0.sav
- Steps Taken: 6954 (would be more after walking to save point)
- Fill Levels:
- 1. (7,11): 10 - 7%
- 2. (4,15): 9 - 7%
- 3. (2,17) (middle): 6 - 4%
- 4. (2,17) (right): 39 - 30%
- 5. (2,17) (left): 10 - 7%
- Chests Opened: 32
- room_0404_0 - room_1008_2 - room_1513_0 (key)
- room_0411_0 - room_1009_0 - room_1614_0
- room_0608_0 (match) - room_1108_0 (match) - room_1715_0
- room_0704_0 - room_1109_0 - room_1814_0
- room_0802_0 - room_1205_0 - unknown_01_0
- room_0803_0 - room_1211_0 - unknown_02_2
- room_0811_0 - room_1217_0 - unknown_03_2
- room_0815_0 - room_1303_0 - unknown_0B_1
- room_0902_0 - room_1314_0 - unknown_0B_2
- room_0912_0 - room_1411_0 - unknown_0C_3
- room_1002_0 - room_1512_0 (match)
- Button Doors Opened: 30
- room_0410_0 - room_0813_1 - room_1415_0
- room_0413_0 - room_0906_0 - room_1510_0
- room_0512_0 - room_0913_0 - room_1516_1
- room_0612_0 - room_1005_0 - room_1613_0
- room_0613_0 - room_1006_0 - room_1615_0
- room_0704_0 - room_1213_0 - room_1813_0
- room_0705_0 - room_1304_0 - room_1816_0
- room_0706_0 - room_1307_0 - room_1817_0
- room_0717_0 - room_1404_0 - room_1916_0
- room_0811_0 - room_1413_0 - unknown_01_3
- Yellow Buttons Pressed: 42
- Button_0307_1 - Button_0515 - Button_1309 - Button_1414
- Button_0307_2 - Button_0607 - Button_1312 - Button_1505_1
- Button_0307_3 - Button_0713_1 - Button_1314_3 - Button_1608_1
- Button_0310_0 - Button_0808 - Button_1316_2 - Button_1618_0
- Button_0310_1 - Button_0918_3 - Button_1318_1 - Button_1707_1
- Button_0310_2 - Button_1009 - Button_1318_2 - Button_1708_2
- Button_0315_2 - Button_1015_2 - Button_1404 - Button_1718_0
- Button_0315_3 - Button_1016 - Button_1405_1 - Unk_10_1
- Button_0316_0 - Button_1018 - Button_1406 - Unk_10_3
- Button_0316_2 - Button_1304_0 - Button_1411
- Button_0511_0 - Button_1306 - Button_1413
- Purple Buttons Pressed: 9
- Button_1014_2
- Button_1204_1
- Button_1204_3
- Button_1308_0
- Button_1310_1
- Button_1516_0
- Button_1619_1
- Button_1619_2
- Button_1619_3
- Green Buttons Pressed: 2
- Button_0211
- Button_0213
- Fruit Picked: 36
- room_0412_0 - room_1004_0 - room_1416_0
- room_0504_0 - room_1004_1 - room_1516_0
- room_0604_0 - room_1005_0 - room_1603_0
- room_0606_0 - room_1016_0 - room_1710_0
- room_0617_0 - room_1103_1 - room_1917_0
- room_0712_0 - room_1110_1 - unknown_00_1
- room_0716_0 - room_1204_1 - unknown_00_3
- room_0802_0 - room_1208_0 - unknown_03_1
- room_0812_0 - room_1303_0 - unknown_03_2
- room_0910_0 - room_1305_0 - unknown_0B_0
- room_0915_0 - room_1411_0 - unknown_0D_3
- room_0915_1 - room_1412_0 - unknown_0E_1
- Firecrackers Picked: 20
- Firecracker_0306_2 - Firecracker_0917
- Firecracker_0508_0 - Firecracker_0918
- Firecracker_0508_1 - Firecracker_1012_0
- Firecracker_0509_3 - Firecracker_1017
- Firecracker_0609_0 - Firecracker_1106_1
- Firecracker_0609_1 - Firecracker_1114
- Firecracker_0613_3 - Firecracker_1410
- Firecracker_0614_0 - Firecracker_1412
- Firecracker_0704 - Firecracker_1704
- Firecracker_0714_2 - Unk_07_0
- Eggs: 20
- Ancient - Planet
- Brown - Plant
- Bubble - Rain
- Chaos - Red
- Dazzle - Rust
- Fire - Sapphire
- Friendship - Scarlet
- Future - Sunset
- Obsidian - Vanity
- Pickled - Zen
- Walls Blasted: 3
- Explosion_1108
- Explosion_1414
- Explosion_1706
- Detonators Triggered: 3
- Detonator_0719
- Detonator_1611
- Detonator_1706
- Bunnies (legal): 4
- Chinchilla
- Ghost Dog
- Spike Room
- TV
- Bunnies (illegal): 6
- Illegal 1
- Illegal 13
- Illegal 14
- Illegal 16
- Illegal 7
- Illegal 8
- Squirrels Frightened: 4
- Squirrel_0715
- Squirrel_0818
- Squirrel_0909
- Squirrel_0911
- Cat/Lynx Quests Done:
- Caged Cat 2 at 16,18
- Caged Cat 3 at 16,18
- Total Firecrackers Picked Up: 9990
- Bubbles Popped: 2314
- Times Saved: 2314 (would be +1 after saving in-game though)
- Door Unlock Index: 6
- Pink Buttons Pressed: 1
- Spike Bunny
- Nuts Collected: 6
- Layer 1 Chests Opened: 1
- Two Rabbits Fig (room 11,11)
- Layer 2 Buttons Pressed: 2
- Room 10,19 Button 1
- Room 10,19 Button 3
- Num Keys: 9
- Num Matches: 6
- Num Firecrackers: 39
- Total Hearts: 10
- Gold Hearts: 9
- Last Groundhog Year: 9990
- Egg Doors Open: 2
- First (Flute, Portal)
- Fourth (65th Egg)
Writing to: AnimalWell-r0811_t3319_l0.sav
- Steps Taken: 95371 (would be more after walking to save point)
- Fill Levels:
- 1. (7,11): 11 - 8%
- 2. (4,15): 8 - 6%
- 3. (2,17) (middle): 19 - 14%
- 4. (2,17) (right): 33 - 25%
- 5. (2,17) (left): 11 - 8%
- Chests Opened: 30
- room_0403_0 - room_0815_0 - room_1303_0
- room_0404_0 - room_0902_0 - room_1411_0
- room_0411_0 - room_1002_0 - room_1506_0
- room_0608_0 (match) - room_1008_1 - room_1512_0 (match)
- room_0703_0 (key) - room_1008_2 - room_1614_0
- room_0704_0 - room_1010_1 - room_1715_0
- room_0710_1 - room_1108_0 (match) - room_1814_0
- room_0802_0 - room_1211_0 - unknown_0A_4
- room_0811_0 - room_1214_1 - unknown_0C_0
- room_0814_1 - room_1217_0 - unknown_0C_3
- Button Doors Opened: 27
- room_0403_0 - room_0811_0 - room_1413_0
- room_0410_0 - room_0813_1 - room_1415_0
- room_0413_0 - room_0913_0 - room_1516_1
- room_0611_1 - room_1003_0 - room_1610_0
- room_0612_0 - room_1005_0 - room_1613_0
- room_0615_0 - room_1105_0 - room_1813_0
- room_0704_0 - room_1213_0 - room_1916_0
- room_0717_0 - room_1404_0 - unknown_01_3
- room_0810_0 - room_1411_0 - unknown_0A_4
- Yellow Buttons Pressed: 39
- Button_0304 - Button_0808 - Button_1314_2 - Button_1606_0
- Button_0307_1 - Button_0918_2 - Button_1314_3 - Button_1707_0
- Button_0310_0 - Button_0918_3 - Button_1316_2 - Button_1707_1
- Button_0315_2 - Button_1009 - Button_1318_1 - Button_1708_2
- Button_0316_0 - Button_1015_2 - Button_1404 - Button_1715
- Button_0316_2 - Button_1106 - Button_1409_1 - Button_1718_0
- Button_0511_0 - Button_1118_1 - Button_1411 - Button_1718_3
- Button_0511_3 - Button_1304_0 - Button_1413 - Unk_10_1
- Button_0607 - Button_1306 - Button_1505_1 - Unk_10_3
- Button_0709_2 - Button_1312 - Button_1514_1
- Purple Buttons Pressed: 8
- Button_1014_1
- Button_1014_2
- Button_1204_0
- Button_1204_1
- Button_1204_3
- Button_1310_1
- Button_1619_1
- Unk_02_4
- Green Buttons Pressed: 3
- Button_0210
- Button_0211
- Button_0213
- Fruit Picked: 33
- room_0504_0 - room_0917_0 - room_1515_0
- room_0513_0 - room_1004_0 - room_1516_0
- room_0604_0 - room_1016_0 - room_1603_0
- room_0609_0 - room_1103_0 - room_1916_0
- room_0617_0 - room_1103_1 - unknown_00_0
- room_0712_0 - room_1110_1 - unknown_00_1
- room_0716_0 - room_1208_0 - unknown_00_3
- room_0802_0 - room_1216_0 - unknown_04_0
- room_0910_0 - room_1303_0 - unknown_0B_0
- room_0913_0 - room_1313_0 - unknown_0D_3
- room_0915_0 - room_1416_0 - unknown_0E_1
- Firecrackers Picked: 18
- Firecracker_0409 - Firecracker_1012_0
- Firecracker_0504 - Firecracker_1106_1
- Firecracker_0508_0 - Firecracker_1115
- Firecracker_0509_3 - Firecracker_1211_1
- Firecracker_0614_0 - Firecracker_1410
- Firecracker_0704 - Firecracker_1412
- Firecracker_0714_1 - Firecracker_1607
- Firecracker_0714_2 - Firecracker_1704
- Firecracker_0918 - Unk_07_0
- Eggs: 18
- Ancient - Pickled
- Brown - Plant
- Chaos - Rain
- Clover - Reference
- Dazzle - Rust
- Fire - Sour
- Holiday - Sunset
- Ice - Value
- Obsidian - Zen
- Walls Blasted: 3
- Explosion_1105
- Explosion_1108
- Explosion_1706
- Detonators Triggered: 3
- Detonator_1105
- Detonator_1611
- Detonator_1706
- Bunnies (legal): 3
- Chinchilla
- Spike Room
- Tutorial
- Bunnies (illegal): 6
- Illegal 1
- Illegal 10
- Illegal 13
- Illegal 16
- Illegal 6
- Illegal 7
- Squirrels Frightened: 4
- Squirrel_0818
- Squirrel_0905
- Squirrel_0909
- Squirrel_0911
- Cat/Lynx Quests Done:
- Caged Cat 1 at 16,18
- Caged Cat 2 at 14,19
- Caged Cat 2 at 16,18
- Total Firecrackers Picked Up: 8467
- Bubbles Popped: 2059
- Times Saved: 2059 (would be +1 after saving in-game though)
- Door Unlock Index: 19 (next unlocked door will cause another overflow!)
- Pink Buttons Pressed: 1
- Spike Bunny
- Nuts Collected: 19
- Layer 1 Chests Opened: 1
- Two Rabbits Fig (room 11,11)
- Layer 2 Buttons Pressed: 3
- Room 10,19 Button 0
- Room 10,19 Button 1
- Room 10,19 Button 3
- Num Keys: 8
- Num Matches: 19
- Num Firecrackers: 33
- Total Hearts: 11
- Gold Hearts: 8
- Last Groundhog Year: 8467
- Egg Doors Open: 1
- Fourth (65th Egg)
Writing to: AnimalWell-r1311_t3917_l0.sav
- Steps Taken: 28875 (would be more after walking to save point)
- Fill Levels:
- 1. (7,11): 11 - 8%
- 2. (4,15): 13 - 10%
- 3. (2,17) (middle): 17 - 13%
- 4. (2,17) (right): 39 - 30%
- 5. (2,17) (left): 11 - 8%
- Chests Opened: 39
- room_0403_0 - room_0815_0 - room_1211_0 - room_1814_0
- room_0404_0 - room_0902_0 - room_1214_1 - unknown_01_0
- room_0411_0 - room_0912_0 - room_1217_0 - unknown_01_2
- room_0608_0 (match) - room_0913_1 - room_1303_0 - unknown_03_2
- room_0703_0 (key) - room_1002_0 - room_1314_0 - unknown_0A_4
- room_0710_1 - room_1008_1 - room_1409_0 - unknown_0B_1
- room_0802_0 - room_1010_1 - room_1411_0 - unknown_0B_2
- room_0803_0 - room_1108_0 (match) - room_1506_0 - unknown_0C_0
- room_0811_0 - room_1109_0 - room_1614_0 - unknown_0C_3
- room_0814_1 - room_1205_0 - room_1715_0
- Button Doors Opened: 36
- room_0403_0 - room_0811_0 - room_1413_0
- room_0410_0 - room_0813_1 - room_1415_0
- room_0413_0 - room_0906_0 - room_1510_0
- room_0512_0 - room_0910_0 - room_1516_0
- room_0515_0 - room_0913_0 - room_1516_1
- room_0611_1 - room_1003_0 - room_1610_0
- room_0615_0 - room_1105_0 - room_1813_0
- room_0704_0 - room_1213_0 - room_1816_0
- room_0705_0 - room_1304_0 - room_1817_0
- room_0706_0 - room_1307_0 - room_1916_0
- room_0717_0 - room_1404_0 - unknown_01_3
- room_0810_0 - room_1411_0 - unknown_0A_4
- Yellow Buttons Pressed: 51
- Button_0304 - Button_0511_0 - Button_1118_1 - Button_1409_1 - Button_1708_1
- Button_0307_1 - Button_0511_3 - Button_1304_0 - Button_1411 - Button_1708_2
- Button_0307_2 - Button_0515 - Button_1312 - Button_1413 - Button_1715
- Button_0307_3 - Button_0607 - Button_1313 - Button_1505_0 - Button_1718_0
- Button_0310_0 - Button_0709_2 - Button_1314_2 - Button_1505_1 - Button_1718_3
- Button_0310_1 - Button_0713_1 - Button_1316_1 - Button_1514_1 - Unk_10_1
- Button_0310_2 - Button_0808 - Button_1316_2 - Button_1606_0 - Unk_10_3
- Button_0315_2 - Button_0918_2 - Button_1318_1 - Button_1608_1
- Button_0315_3 - Button_1015_2 - Button_1318_2 - Button_1618_0
- Button_0316_0 - Button_1016 - Button_1404 - Button_1707_0
- Button_0316_2 - Button_1106 - Button_1405_1 - Button_1707_1
- Purple Buttons Pressed: 11
- Button_1014_1
- Button_1204_0
- Button_1204_1
- Button_1204_3
- Button_1308_0
- Button_1310_0
- Button_1310_1
- Button_1619_1
- Button_1619_2
- Button_1619_3
- Unk_02_4
- Green Buttons Pressed: 3
- Button_0210
- Button_0211
- Button_0213
- Fruit Picked: 43
- room_0412_0 - room_0910_0 - room_1206_0 - room_1916_0
- room_0416_0 - room_0913_0 - room_1208_0 - unknown_00_0
- room_0504_0 - room_0917_0 - room_1216_0 - unknown_00_1
- room_0513_0 - room_1004_0 - room_1313_0 - unknown_00_3
- room_0609_0 - room_1004_1 - room_1411_0 - unknown_03_1
- room_0617_0 - room_1005_0 - room_1412_0 - unknown_03_2
- room_0712_0 - room_1016_0 - room_1416_0 - unknown_04_0
- room_0716_0 - room_1103_0 - room_1515_0 - unknown_0B_0
- room_0802_0 - room_1103_1 - room_1516_0 - unknown_0D_2
- room_0812_0 - room_1110_1 - room_1603_0 - unknown_0D_3
- room_0906_0 - room_1204_1 - room_1710_0
- Firecrackers Picked: 24
- Firecracker_0306_2 - Firecracker_1012_0
- Firecracker_0409 - Firecracker_1017
- Firecracker_0504 - Firecracker_1106_0
- Firecracker_0509_3 - Firecracker_1106_1
- Firecracker_0609_0 - Firecracker_1115
- Firecracker_0609_1 - Firecracker_1211_1
- Firecracker_0613_3 - Firecracker_1410
- Firecracker_0614_0 - Firecracker_1412
- Firecracker_0704 - Firecracker_1413
- Firecracker_0714_1 - Firecracker_1607
- Firecracker_0917 - Firecracker_1704
- Firecracker_0918 - Unk_07_0
- Eggs: 24
- Ancient - Pickled
- Brown - Planet
- Chaos - Rain
- Clover - Reference
- Dazzle - Rust
- Depraved - Sapphire
- Friendship - Scarlet
- Future - Sour
- Galaxy - Sunset
- Holiday - Value
- Ice - Vanity
- Obsidian - Zen
- Walls Blasted: 4
- Explosion_1105
- Explosion_1108
- Explosion_1414
- Explosion_1706
- Detonators Triggered: 4
- Detonator_0719
- Detonator_1105
- Detonator_1611
- Detonator_1706
- Bunnies (legal): 6
- Bulb
- Chinchilla
- Ghost Dog
- Spike Room
- Tutorial
- TV
- Bunnies (illegal): 6
- Illegal 1
- Illegal 10
- Illegal 13
- Illegal 14
- Illegal 16
- Illegal 6
- Squirrels Frightened: 6
- Squirrel_0715
- Squirrel_0718
- Squirrel_0818
- Squirrel_0905
- Squirrel_0909
- Squirrel_0911
- Cat/Lynx Quests Done:
- Caged Cat 1 at 16,18
- Caged Cat 2 at 14,19
- Total Firecrackers Picked Up: 10001
- Bubbles Popped: 3339
- Times Saved: 3339 (would be +1 after saving in-game though)
- Door Unlock Index: 17 (next unlocked door will cause another overflow!)
- Pink Buttons Pressed: 1
- Spike Bunny
- Nuts Collected: 17
- Layer 1 Chests Opened: 1
- Two Rabbits Fig (room 11,11)
- Layer 2 Buttons Pressed: 3
- Room 10,19 Button 0
- Room 10,19 Button 1
- Room 10,19 Button 3
- Num Keys: 13
- Num Matches: 17
- Num Firecrackers: 39
- Total Hearts: 11
- Gold Hearts: 13
- Last Groundhog Year: 10001
- Egg Doors Open: 3
- First (Flute, Portal)
- Fourth (65th Egg)
- Third (Top)
Writing to: AnimalWell-r0613_t3607_l0.sav
- Steps Taken: 40077 (would be more after walking to save point)
- Fill Levels:
- 1. (7,11): 13 - 10%
- 2. (4,15): 6 - 4%
- 3. (2,17) (middle): 7 - 5%
- 4. (2,17) (right): 36 - 28%
- 5. (2,17) (left): 13 - 10%
- Chests Opened: 33
- room_0403_0 - room_0913_1 - room_1506_0
- room_0407_0 - room_1008_1 - room_1512_0 (match)
- room_0411_0 - room_1008_2 - room_1513_0 (key)
- room_0603_0 - room_1009_0 - room_1715_0
- room_0703_0 (key) - room_1205_0 - unknown_01_2
- room_0704_0 - room_1211_0 - unknown_02_2
- room_0811_0 - room_1214_1 - unknown_03_2
- room_0814_1 - room_1302_0 - unknown_0B_2
- room_0815_1 (key) - room_1303_0 - unknown_0C_0
- room_0902_0 - room_1317_0 - unknown_0C_2
- room_0913_0 - room_1409_0 - unknown_0C_3
- Button Doors Opened: 30
- room_0403_0 - room_0810_0 - room_1411_0
- room_0412_0 - room_0813_0 - room_1414_0
- room_0413_0 - room_0813_1 - room_1415_0
- room_0514_0 - room_0907_0 - room_1515_0
- room_0515_0 - room_0910_0 - room_1516_0
- room_0611_1 - room_1003_0 - room_1610_0
- room_0612_0 - room_1005_0 - room_1613_0
- room_0613_0 - room_1006_0 - room_1615_0
- room_0706_0 - room_1307_0 - room_1817_0
- room_0717_0 - room_1404_0 - room_1916_0
- Yellow Buttons Pressed: 43
- Button_0304 - Button_0808 - Button_1313 - Button_1618_0
- Button_0307_3 - Button_0918_2 - Button_1314_2 - Button_1707_0
- Button_0310_2 - Button_0918_3 - Button_1314_3 - Button_1707_2
- Button_0316_1 - Button_1009 - Button_1316_0 - Button_1708_0
- Button_0316_2 - Button_1015_2 - Button_1316_1 - Button_1708_1
- Button_0511_0 - Button_1018 - Button_1404 - Button_1715
- Button_0511_3 - Button_1106 - Button_1405_2 - Button_1718_0
- Button_0515 - Button_1304_1 - Button_1406 - Button_1718_3
- Button_0607 - Button_1306 - Button_1414 - Unk_10_2
- Button_0709_2 - Button_1309 - Button_1505_0 - Unk_10_3
- Button_0713_2 - Button_1312 - Button_1511
- Purple Buttons Pressed: 9
- Button_1014_1
- Button_1014_2
- Button_1204_0
- Button_1204_2
- Button_1204_3
- Button_1308_1
- Button_1310_0
- Button_1516_0
- Button_1619_3
- Green Buttons Pressed: 3
- Button_0210
- Button_0213
- Button_0511
- Fruit Picked: 38
- room_0404_0 - room_0906_0 - room_1216_0 - unknown_00_0
- room_0412_1 - room_0913_0 - room_1303_0 - unknown_00_3
- room_0416_0 - room_0915_0 - room_1305_0 - unknown_03_2
- room_0513_0 - room_0915_1 - room_1412_0 - unknown_04_0
- room_0604_0 - room_1005_0 - room_1416_0 - unknown_09_1
- room_0606_0 - room_1016_0 - room_1515_0 - unknown_0D_1
- room_0712_0 - room_1103_0 - room_1517_0 - unknown_0D_2
- room_0716_1 - room_1110_0 - room_1603_0 - unknown_0E_1
- room_0802_0 - room_1110_1 - room_1916_0
- room_0814_0 - room_1206_0 - room_1917_0
- Firecrackers Picked: 20
- Firecracker_0207 - Firecracker_1017
- Firecracker_0504 - Firecracker_1106_0
- Firecracker_0508_0 - Firecracker_1113
- Firecracker_0508_1 - Firecracker_1114
- Firecracker_0609_1 - Firecracker_1211_1
- Firecracker_0714_1 - Firecracker_1410
- Firecracker_0714_2 - Firecracker_1412
- Firecracker_0804 - Firecracker_1413
- Firecracker_0918 - Firecracker_1607
- Firecracker_1012_1 - Firecracker_1704
- Eggs: 20
- Ancient - Moon
- Bubble - Obsidian
- Dazzle - Pickled
- Depraved - Plant
- Egg as a Service - Raw
- Fire - Razzle
- Friendship - Red
- Galaxy - Reference
- Holiday - Sapphire
- Ice - Value
- Walls Blasted: 4
- Explosion_1007
- Explosion_1105
- Explosion_1108
- Explosion_1615
- Detonators Triggered: 3
- Detonator_1007
- Detonator_1105
- Detonator_1611
- Bunnies (legal): 5
- Bulb
- Origami
- Spike Room
- Tutorial
- UV
- Bunnies (illegal): 5
- Illegal 14
- Illegal 16
- Illegal 6
- Illegal 7
- Illegal 8
- Squirrels Frightened: 5
- Squirrel_0718
- Squirrel_0905
- Squirrel_0911
- Squirrel_1510
- Squirrel_1516
- Cat/Lynx Quests Done:
- Caged Cat 1 at 16,18
- Caged Cat 2 at 16,18
- Caged Cat 3 at 16,18
- Total Firecrackers Picked Up: 9223
- Bubbles Popped: 1549
- Times Saved: 1549 (would be +1 after saving in-game though)
- Door Unlock Index: 7
- Pink Buttons Pressed: 2
- Floor Is Lava Bunny
- Lower Portal Nexus
- Nuts Collected: 7
- Layer 1 Chests Opened: 0
- Layer 2 Buttons Pressed: 3
- Room 10,19 Button 0
- Room 10,19 Button 2
- Room 10,19 Button 3
- Num Keys: 6
- Num Matches: 7
- Num Firecrackers: 36
- Total Hearts: 13
- Gold Hearts: 6
- Last Groundhog Year: 9223
- Egg Doors Open: 2
- Second (Pencil)
- Third (Top)
Writing to: AnimalWell-r0219_t0907_l0.sav
- WARNING: the next index remains above 15: 19
- Steps Taken: 54227 (would be more after walking to save point)
- Fill Levels:
- 1. (7,11): 19 - 14%
- 2. (4,15): 2 - 1%
- 3. (2,17) (middle): 7 - 5%
- 4. (2,17) (right): 9 - 7%
- 5. (2,17) (left): 19 - 14%
- Chests Opened: 30
- room_0403_0 - room_0913_0 - room_1512_0 (match)
- room_0404_0 - room_1008_1 - room_1513_0 (key)
- room_0603_0 - room_1008_2 - room_1614_0
- room_0703_0 (key) - room_1009_0 - room_1713_0
- room_0704_0 - room_1108_0 (match) - room_1814_0
- room_0802_0 - room_1208_0 - room_1908_0
- room_0808_0 - room_1214_1 - unknown_00_4
- room_0814_1 - room_1217_0 - unknown_02_2
- room_0815_0 - room_1317_0 - unknown_08_4 (b. wand)
- room_0903_0 - room_1506_0 - unknown_0C_0
- Button Doors Opened: 27
- room_0403_0 - room_0810_0 - room_1411_0
- room_0410_0 - room_0811_0 - room_1413_0
- room_0414_0 - room_0814_0 - room_1515_0
- room_0514_0 - room_0907_0 - room_1610_0
- room_0611_1 - room_1003_0 - room_1613_0
- room_0612_0 - room_1005_0 - room_1615_0
- room_0613_0 - room_1006_0 - room_1813_0
- room_0704_0 - room_1213_0 - unknown_08_4
- room_0713_0 - room_1313_0 - unknown_0B_3
- Yellow Buttons Pressed: 39
- Button_0304 - Button_0709_2 - Button_1306 - Button_1414
- Button_0307_1 - Button_0713_2 - Button_1309 - Button_1604
- Button_0310_0 - Button_0918_2 - Button_1314_2 - Button_1618_1
- Button_0315_2 - Button_0918_3 - Button_1314_3 - Button_1707_0
- Button_0316_0 - Button_1008 - Button_1316_0 - Button_1707_1
- Button_0316_3 - Button_1009 - Button_1318_1 - Button_1708_0
- Button_0407 - Button_1015_0 - Button_1319_0 - Button_1715
- Button_0413_0 - Button_1018 - Button_1405_2 - Button_1718_3
- Button_0510 - Button_1106 - Button_1406 - Unk_10_1
- Button_0511_3 - Button_1304_0 - Button_1411
- Purple Buttons Pressed: 8
- Button_1014_1
- Button_1014_2
- Button_1204_0
- Button_1204_1
- Button_1206_0
- Button_1308_1
- Button_1516_0
- Button_1619_1
- Green Buttons Pressed: 3
- Button_0210
- Button_0211
- Unk_00_4
- Fruit Picked: 34
- room_0407_0 - room_1004_0 - room_1917_0
- room_0412_1 - room_1007_0 - unknown_00_0
- room_0513_0 - room_1103_0 - unknown_00_1
- room_0604_0 - room_1103_1 - unknown_03_3
- room_0606_0 - room_1114_0 - unknown_04_0
- room_0617_0 - room_1216_0 - unknown_09_1
- room_0716_0 - room_1303_0 - unknown_0B_0
- room_0804_0 - room_1305_0 - unknown_0C_4
- room_0814_0 - room_1413_0 - unknown_0D_1
- room_0913_0 - room_1515_0 - unknown_0E_1
- room_0915_0 - room_1516_0
- room_0915_1 - room_1916_0
- Firecrackers Picked: 18
- Firecracker_0207 - Firecracker_0905
- Firecracker_0504 - Firecracker_1012_0
- Firecracker_0508_0 - Firecracker_1109
- Firecracker_0508_1 - Firecracker_1113
- Firecracker_0509_3 - Firecracker_1114
- Firecracker_0513 - Firecracker_1211_1
- Firecracker_0704 - Firecracker_1607
- Firecracker_0714_1 - Unk_07_0
- Firecracker_0714_2 - Unk_07_3
- Eggs: 18
- Big - Rain
- Brown - Red
- Bubble - Reference
- Egg as a Service - Ruby
- Fire - Rust
- Holiday - Truth
- Ice - Value
- Moon - Virtual
- Plant - Zen
- Walls Blasted: 4
- Explosion_1105
- Explosion_1615
- Explosion_1706
- Unk_00_4
- Detonators Triggered: 3
- Detonator_1105
- Detonator_1706
- Detonator_1711_0
- Bunnies (legal): 3
- Ghost
- Tutorial
- UV
- Bunnies (illegal): 6
- Illegal 1
- Illegal 13
- Illegal 15
- Illegal 6
- Illegal 7
- Illegal 8
- Squirrels Frightened: 4
- Squirrel_0905
- Squirrel_0909
- Squirrel_1012
- Squirrel_1516
- Cat/Lynx Quests Done:
- Caged Cat 1 at 16,18
- Caged Cat 2 at 16,18
- Caged Cat 3 at 16,18
- Total Firecrackers Picked Up: 2311
- Bubbles Popped: 531
- Times Saved: 531 (would be +1 after saving in-game though)
- Door Unlock Index: 7
- Pink Buttons Pressed: 3
- Lower Portal Nexus
- Map Number Bunny
- Spike Bunny
- Nuts Collected: 7
- Layer 1 Chests Opened: 1
- Two Rabbits Fig (room 11,11)
- Layer 2 Buttons Pressed: 2
- Room 10,19 Button 0
- Room 10,19 Button 1
- Num Keys: 2
- Num Matches: 7
- Num Firecrackers: 9
- Total Hearts: 19
- Gold Hearts: 2
- Last Groundhog Year: 2311
- Egg Doors Open: 1
- Second (Pencil)
Writing to: AnimalWell-r0219_t3107_l0.sav
- WARNING: the next index remains above 15: 19
- Steps Taken: 52979 (would be more after walking to save point)
- Fill Levels:
- 1. (7,11): 19 - 14%
- 2. (4,15): 2 - 1%
- 3. (2,17) (middle): 7 - 5%
- 4. (2,17) (right): 31 - 24%
- 5. (2,17) (left): 19 - 14%
- Chests Opened: 39
- room_0403_0 - room_0815_0 - room_1210_0 - room_1814_0
- room_0404_0 - room_0903_0 - room_1214_1 - room_1908_0
- room_0603_0 - room_0913_0 - room_1217_0 - unknown_00_4
- room_0703_0 (key) - room_1008_1 - room_1317_0 - unknown_02_2
- room_0704_0 - room_1008_2 - room_1506_0 - unknown_03_2
- room_0802_0 - room_1009_0 - room_1512_0 (match) - unknown_08_4 (b. wand)
- room_0803_0 - room_1108_0 (match) - room_1513_0 (key) - unknown_0B_1
- room_0808_0 - room_1109_0 - room_1614_0 - unknown_0B_2
- room_0810_0 - room_1205_0 - room_1713_0 - unknown_0C_0
- room_0814_1 - room_1208_0 - room_1714_0
- Button Doors Opened: 36
- room_0403_0 - room_0810_0 - room_1411_0
- room_0410_0 - room_0811_0 - room_1413_0
- room_0414_0 - room_0814_0 - room_1515_0
- room_0514_0 - room_0907_0 - room_1610_0
- room_0611_1 - room_1003_0 - room_1613_0
- room_0612_0 - room_1005_0 - room_1615_0
- room_0613_0 - room_1006_0 - room_1813_0
- room_0704_0 - room_1213_0 - room_1816_0
- room_0705_0 - room_1304_0 - room_1817_0
- room_0706_0 - room_1307_0 - unknown_08_4
- room_0713_0 - room_1313_0 - unknown_0B_3
- room_0716_0 - room_1314_0 - unknown_0B_4
- Yellow Buttons Pressed: 51
- Button_0304 - Button_0407 - Button_1008 - Button_1316_0 - Button_1618_2
- Button_0307_1 - Button_0413_0 - Button_1009 - Button_1318_1 - Button_1707_0
- Button_0307_2 - Button_0507 - Button_1015_0 - Button_1318_2 - Button_1707_1
- Button_0307_3 - Button_0510 - Button_1015_1 - Button_1319_0 - Button_1708_0
- Button_0310_0 - Button_0511_3 - Button_1018 - Button_1405_2 - Button_1715
- Button_0310_1 - Button_0515 - Button_1106 - Button_1406 - Button_1718_3
- Button_0310_2 - Button_0610 - Button_1304_0 - Button_1411 - Unk_10_1
- Button_0315_2 - Button_0709_2 - Button_1306 - Button_1414
- Button_0315_3 - Button_0713_2 - Button_1309 - Button_1604
- Button_0316_0 - Button_0918_2 - Button_1314_2 - Button_1618_0
- Button_0316_3 - Button_0918_3 - Button_1314_3 - Button_1618_1
- Purple Buttons Pressed: 10
- Button_1014_1
- Button_1014_2
- Button_1204_0
- Button_1204_1
- Button_1206_0
- Button_1308_1
- Button_1516_0
- Button_1619_1
- Button_1619_2
- Button_1619_3
- Green Buttons Pressed: 3
- Button_0210
- Button_0211
- Unk_00_4
- Fruit Picked: 43
- room_0407_0 - room_0915_0 - room_1303_0 - unknown_03_1
- room_0412_1 - room_0915_1 - room_1305_0 - unknown_03_2
- room_0513_0 - room_1004_0 - room_1411_0 - unknown_03_3
- room_0604_0 - room_1004_1 - room_1412_0 - unknown_04_0
- room_0606_0 - room_1005_0 - room_1413_0 - unknown_09_1
- room_0617_0 - room_1007_0 - room_1515_0 - unknown_0B_0
- room_0707_0 - room_1015_0 - room_1516_0 - unknown_0B_4
- room_0716_0 - room_1103_0 - room_1916_0 - unknown_0C_4
- room_0804_0 - room_1103_1 - room_1917_0 - unknown_0D_1
- room_0814_0 - room_1114_0 - unknown_00_0 - unknown_0E_1
- room_0913_0 - room_1216_0 - unknown_00_1
- Firecrackers Picked: 24
- Firecracker_0207 - Firecracker_0905
- Firecracker_0504 - Firecracker_0917
- Firecracker_0508_0 - Firecracker_1012_0
- Firecracker_0508_1 - Firecracker_1017
- Firecracker_0509_3 - Firecracker_1109
- Firecracker_0513 - Firecracker_1113
- Firecracker_0609_0 - Firecracker_1114
- Firecracker_0609_1 - Firecracker_1211_1
- Firecracker_0704 - Firecracker_1509
- Firecracker_0714_1 - Firecracker_1607
- Firecracker_0714_2 - Unk_07_0
- Firecracker_0818 - Unk_07_3
- Eggs: 24
- Big - Rain
- Brown - Red
- Bubble - Reference
- Egg as a Service - Ruby
- Fire - Rust
- Friendship - Sapphire
- Future - Scarlet
- Holiday - Transcendental
- Ice - Truth
- Jade - Value
- Moon - Virtual
- Plant - Zen
- Walls Blasted: 4
- Explosion_1105
- Explosion_1615
- Explosion_1706
- Unk_00_4
- Detonators Triggered: 3
- Detonator_1105
- Detonator_1706
- Detonator_1711_0
- Bunnies (legal): 5
- Dream
- Ghost
- Ghost Dog
- Tutorial
- UV
- Bunnies (illegal): 7
- Illegal 1
- Illegal 13
- Illegal 14
- Illegal 15
- Illegal 6
- Illegal 7
- Illegal 8
- Squirrels Frightened: 4
- Squirrel_0905
- Squirrel_0909
- Squirrel_1012
- Squirrel_1516
- Cat/Lynx Quests Done:
- Caged Cat 1 at 16,18
- Caged Cat 2 at 16,18
- Caged Cat 3 at 16,18
- Total Firecrackers Picked Up: 7943
- Bubbles Popped: 531
- Times Saved: 531 (would be +1 after saving in-game though)
- Door Unlock Index: 7
- Pink Buttons Pressed: 3
- Lower Portal Nexus
- Map Number Bunny
- Spike Bunny
- Nuts Collected: 7
- Layer 1 Chests Opened: 1
- Two Rabbits Fig (room 11,11)
- Layer 2 Buttons Pressed: 2
- Room 10,19 Button 0
- Room 10,19 Button 1
- Num Keys: 2
- Num Matches: 7
- Num Firecrackers: 31
- Total Hearts: 19
- Gold Hearts: 2
- Last Groundhog Year: 7943
- Egg Doors Open: 1
- Second (Pencil)
Writing to: AnimalWell-r1204_t2904_l0.sav
- Steps Taken: 4484 (would be more after walking to save point)
- Fill Levels:
- 1. (7,11): 4 - 3%
- 2. (4,15): 12 - 9%
- 3. (2,17) (middle): 4 - 3%
- 4. (2,17) (right): 29 - 22%
- 5. (2,17) (left): 4 - 3%
- Chests Opened: 25
- room_0407_0 - room_1108_0 (match) - room_1713_0
- room_0608_0 (match) - room_1205_0 - room_1714_0
- room_0802_0 - room_1208_0 - unknown_01_2
- room_0808_0 - room_1210_0 - unknown_02_2
- room_0810_0 - room_1302_0 - unknown_03_2
- room_0815_1 (key) - room_1409_0 - unknown_0B_2
- room_0913_1 - room_1411_0 - unknown_0C_2
- room_1002_0 - room_1513_0 (key)
- room_1009_0 - room_1614_0
- Button Doors Opened: 24
- room_0412_0 - room_1307_0
- room_0515_0 - room_1313_0
- room_0613_0 - room_1314_0
- room_0704_0 - room_1414_0
- room_0706_0 - room_1516_0
- room_0713_0 - room_1516_1
- room_0716_0 - room_1615_0
- room_0813_0 - room_1813_0
- room_0910_0 - room_1817_0
- room_0913_0 - unknown_01_3
- room_1006_0 - unknown_0B_3
- room_1213_0 - unknown_0B_4
- Yellow Buttons Pressed: 33
- Button_0307_1 - Button_1015_0 - Button_1414
- Button_0307_3 - Button_1015_1 - Button_1505_0
- Button_0310_0 - Button_1018 - Button_1505_1
- Button_0310_2 - Button_1304_1 - Button_1511
- Button_0315_2 - Button_1309 - Button_1618_0
- Button_0316_1 - Button_1313 - Button_1618_1
- Button_0407 - Button_1316_1 - Button_1618_2
- Button_0507 - Button_1316_2 - Button_1707_2
- Button_0510 - Button_1318_1 - Button_1708_1
- Button_0515 - Button_1406 - Button_1708_2
- Button_0610 - Button_1413 - Unk_10_2
- Purple Buttons Pressed: 6
- Button_1204_2
- Button_1310_0
- Button_1310_1
- Button_1516_0
- Button_1619_1
- Button_1619_3
- Green Buttons Pressed: 1
- Button_0511
- Fruit Picked: 28
- room_0404_0 - room_1004_0 - room_1517_0
- room_0416_0 - room_1005_0 - room_1917_0
- room_0504_0 - room_1007_0 - unknown_03_2
- room_0606_0 - room_1015_0 - unknown_03_3
- room_0617_0 - room_1110_0 - unknown_0B_0
- room_0707_0 - room_1206_0 - unknown_0B_4
- room_0716_1 - room_1208_0 - unknown_0D_2
- room_0906_0 - room_1305_0 - unknown_0D_3
- room_0910_0 - room_1412_0
- room_0915_1 - room_1413_0
- Firecrackers Picked: 16
- Firecracker_0508_1 - Firecracker_1106_0
- Firecracker_0509_3 - Firecracker_1106_1
- Firecracker_0609_1 - Firecracker_1109
- Firecracker_0614_0 - Firecracker_1114
- Firecracker_0804 - Firecracker_1413
- Firecracker_0818 - Firecracker_1509
- Firecracker_1012_1 - Unk_07_0
- Firecracker_1017 - Unk_07_3
- Eggs: 16
- Bubble - Red
- Chaos - Ruby
- Depraved - Rust
- Friendship - Sapphire
- Galaxy - Sunset
- Jade - Transcendental
- Raw - Truth
- Razzle - Zen
- Walls Blasted: 1
- Explosion_1007
- Detonators Triggered: 1
- Detonator_1007
- Bunnies (legal): 4
- Bulb
- Chinchilla
- Dream
- Origami
- Bunnies (illegal): 4
- Illegal 13
- Illegal 14
- Illegal 15
- Illegal 8
- Squirrels Frightened: 3
- Squirrel_0718
- Squirrel_0818
- Squirrel_1510
- Cat/Lynx Quests Done:
- Caged Cat 3 at 16,18
- Total Firecrackers Picked Up: 7428
- Bubbles Popped: 3076
- Times Saved: 3076 (would be +1 after saving in-game though)
- Door Unlock Index: 4
- Pink Buttons Pressed: 1
- Floor Is Lava Bunny
- Nuts Collected: 4
- Layer 1 Chests Opened: 1
- Two Rabbits Fig (room 11,11)
- Layer 2 Buttons Pressed: 1
- Room 10,19 Button 2
- Num Keys: 12
- Num Matches: 4
- Num Firecrackers: 29
- Total Hearts: 4
- Gold Hearts: 12
- Last Groundhog Year: 7428
- Egg Doors Open: 2
- Fourth (65th Egg)
- Third (Top)
Writing to: AnimalWell-r0307_t0503_l0.sav
- Steps Taken: 83463 (would be more after walking to save point)
- Fill Levels:
- 1. (7,11): 7 - 5%
- 2. (4,15): 3 - 2%
- 3. (2,17) (middle): 3 - 2%
- 4. (2,17) (right): 5 - 3%
- 5. (2,17) (left): 7 - 5%
- Chests Opened: 30
- room_0403_0 - room_0912_0 - room_1317_0
- room_0404_0 - room_0913_0 - room_1506_0
- room_0407_0 - room_1008_1 - room_1512_0 (match)
- room_0603_0 - room_1008_2 - room_1614_0
- room_0703_0 (key) - room_1108_0 (match) - room_1814_0
- room_0704_0 - room_1205_0 - unknown_01_0
- room_0802_0 - room_1214_1 - unknown_03_2
- room_0814_1 - room_1217_0 - unknown_0B_2
- room_0815_0 - room_1302_0 - unknown_0C_0
- room_0815_1 (key) - room_1314_0 - unknown_0C_2
- Button Doors Opened: 27
- room_0403_0 - room_0810_0 - room_1411_0
- room_0410_0 - room_0811_0 - room_1413_0
- room_0412_0 - room_0813_0 - room_1414_0
- room_0512_0 - room_0906_0 - room_1510_0
- room_0514_0 - room_0907_0 - room_1515_0
- room_0611_1 - room_1003_0 - room_1610_0
- room_0612_0 - room_1005_0 - room_1613_0
- room_0704_0 - room_1213_0 - room_1813_0
- room_0706_0 - room_1307_0 - room_1817_0
- Yellow Buttons Pressed: 39
- Button_0304 - Button_0709_2 - Button_1306 - Button_1618_0
- Button_0307_1 - Button_0713_1 - Button_1314_2 - Button_1707_0
- Button_0307_3 - Button_0713_2 - Button_1314_3 - Button_1707_1
- Button_0310_0 - Button_0918_2 - Button_1316_0 - Button_1707_2
- Button_0310_2 - Button_0918_3 - Button_1318_1 - Button_1708_0
- Button_0315_2 - Button_1009 - Button_1405_1 - Button_1715
- Button_0316_0 - Button_1016 - Button_1405_2 - Button_1718_3
- Button_0316_1 - Button_1106 - Button_1411 - Unk_10_1
- Button_0511_3 - Button_1304_0 - Button_1511 - Unk_10_2
- Button_0515 - Button_1304_1 - Button_1608_1
- Purple Buttons Pressed: 9
- Button_1014_1
- Button_1014_2
- Button_1204_0
- Button_1204_1
- Button_1204_2
- Button_1308_0
- Button_1308_1
- Button_1619_1
- Button_1619_3
- Green Buttons Pressed: 3
- Button_0210
- Button_0211
- Button_0511
- Fruit Picked: 34
- room_0404_0 - room_1004_0 - room_1710_0
- room_0412_0 - room_1005_0 - room_1916_0
- room_0412_1 - room_1103_0 - unknown_00_0
- room_0513_0 - room_1103_1 - unknown_00_1
- room_0604_0 - room_1110_0 - unknown_03_2
- room_0617_0 - room_1204_1 - unknown_04_0
- room_0716_0 - room_1216_0 - unknown_09_1
- room_0716_1 - room_1303_0 - unknown_0B_0
- room_0812_0 - room_1412_0 - unknown_0D_1
- room_0814_0 - room_1515_0 - unknown_0E_1
- room_0913_0 - room_1516_0
- room_0915_0 - room_1517_0
- Firecrackers Picked: 18
- Firecracker_0207 - Firecracker_0714_2
- Firecracker_0306_2 - Firecracker_0804
- Firecracker_0504 - Firecracker_1012_0
- Firecracker_0508_0 - Firecracker_1012_1
- Firecracker_0509_3 - Firecracker_1017
- Firecracker_0609_1 - Firecracker_1113
- Firecracker_0613_3 - Firecracker_1211_1
- Firecracker_0704 - Firecracker_1607
- Firecracker_0714_1 - Unk_07_0
- Eggs: 18
- Brown - Rain
- Egg as a Service - Raw
- Fire - Razzle
- Friendship - Reference
- Holiday - Rust
- Ice - Sapphire
- Moon - Value
- Planet - Vanity
- Plant - Zen
- Walls Blasted: 5
- Explosion_1007
- Explosion_1105
- Explosion_1414
- Explosion_1615
- Explosion_1706
- Detonators Triggered: 4
- Detonator_0719
- Detonator_1007
- Detonator_1105
- Detonator_1706
- Bunnies (legal): 4
- Origami
- Tutorial
- TV
- UV
- Bunnies (illegal): 5
- Illegal 1
- Illegal 13
- Illegal 14
- Illegal 6
- Illegal 7
- Squirrels Frightened: 5
- Squirrel_0715
- Squirrel_0905
- Squirrel_0909
- Squirrel_1510
- Squirrel_1516
- Cat/Lynx Quests Done:
- Caged Cat 1 at 16,18
- Caged Cat 2 at 16,18
- Total Firecrackers Picked Up: 1283
- Bubbles Popped: 775
- Times Saved: 775 (would be +1 after saving in-game though)
- Door Unlock Index: 3
- Pink Buttons Pressed: 3
- Floor Is Lava Bunny
- Lower Portal Nexus
- Spike Bunny
- Nuts Collected: 3
- Layer 1 Chests Opened: 1
- Two Rabbits Fig (room 11,11)
- Layer 2 Buttons Pressed: 3
- Room 10,19 Button 0
- Room 10,19 Button 1
- Room 10,19 Button 2
- Num Keys: 3
- Num Matches: 3
- Num Firecrackers: 5
- Total Hearts: 7
- Gold Hearts: 3
- Last Groundhog Year: 1283
- Egg Doors Open: 2
- First (Flute, Portal)
- Second (Pencil)
Writing to: AnimalWell-r1313_t1108_l0.sav
- Steps Taken: 77005 (would be more after walking to save point)
- Fill Levels:
- 1. (7,11): 13 - 10%
- 2. (4,15): 13 - 10%
- 3. (2,17) (middle): 8 - 6%
- 4. (2,17) (right): 11 - 8%
- 5. (2,17) (left): 13 - 10%
- Chests Opened: 33
- room_0403_0 - room_0912_0 - room_1409_0
- room_0407_0 - room_0913_1 - room_1411_0
- room_0411_0 - room_1002_0 - room_1515_0 (key)
- room_0608_0 (match) - room_1010_0 - room_1614_0
- room_0710_0 (match) - room_1108_0 (match) - room_1713_0
- room_0802_0 - room_1109_0 - unknown_01_0
- room_0803_0 - room_1208_0 - unknown_01_2
- room_0808_0 - room_1214_1 - unknown_0B_1
- room_0814_1 - room_1302_0 - unknown_0C_0
- room_0815_1 (key) - room_1303_0 - unknown_0C_2
- room_0902_0 - room_1314_0 - unknown_0C_3
- Button Doors Opened: 30
- room_0403_0 - room_0813_0 - room_1414_0
- room_0412_0 - room_0813_1 - room_1415_0
- room_0413_0 - room_0906_0 - room_1510_0
- room_0512_0 - room_0910_0 - room_1516_0
- room_0515_0 - room_0913_0 - room_1516_1
- room_0614_0 - room_1013_0 - room_1615_1
- room_0704_0 - room_1213_0 - room_1813_0
- room_0705_0 - room_1304_0 - room_1816_0
- room_0713_0 - room_1313_0 - unknown_01_3
- room_0810_0 - room_1411_0 - unknown_0B_3
- Yellow Buttons Pressed: 43
- Button_0304 - Button_0511_3 - Button_1318_1 - Button_1608_1
- Button_0307_1 - Button_0713_1 - Button_1318_2 - Button_1618_1
- Button_0307_2 - Button_0808 - Button_1404 - Button_1707_0
- Button_0310_0 - Button_1015_0 - Button_1405_1 - Button_1707_2
- Button_0310_1 - Button_1016 - Button_1409_0 - Button_1708_1
- Button_0315_2 - Button_1118_0 - Button_1413 - Button_1708_2
- Button_0315_3 - Button_1304_1 - Button_1505_0 - Button_1715
- Button_0316_1 - Button_1312 - Button_1505_1 - Button_1718_3
- Button_0316_2 - Button_1313 - Button_1506 - Unk_10_2
- Button_0407 - Button_1316_1 - Button_1511 - Unk_10_3
- Button_0510 - Button_1316_2 - Button_1514_0
- Purple Buttons Pressed: 9
- Button_1204_0
- Button_1204_2
- Button_1204_3
- Button_1308_0
- Button_1310_0
- Button_1310_1
- Button_1516_1
- Button_1619_1
- Button_1619_2
- Green Buttons Pressed: 3
- Button_0210
- Button_0213
- Button_0511
- Fruit Picked: 37
- room_0404_0 - room_0910_0 - room_1208_0 - unknown_00_3
- room_0412_0 - room_0916_0 - room_1305_1 - unknown_03_1
- room_0416_0 - room_1004_0 - room_1411_0 - unknown_03_3
- room_0504_0 - room_1004_1 - room_1413_0 - unknown_04_0
- room_0608_0 - room_1007_0 - room_1515_0 - unknown_0B_0
- room_0617_0 - room_1103_0 - room_1517_0 - unknown_0D_2
- room_0716_1 - room_1110_0 - room_1603_0 - unknown_0D_3
- room_0802_0 - room_1110_1 - room_1710_0
- room_0812_0 - room_1204_1 - stolen_nut (set the first time a nut is stolen)
- room_0906_0 - room_1206_0 - unknown_00_0
- Firecrackers Picked: 20
- Firecracker_0306_2 - Firecracker_1106_0
- Firecracker_0504 - Firecracker_1106_1
- Firecracker_0508_2 - Firecracker_1109
- Firecracker_0509_3 - Firecracker_1211_1
- Firecracker_0609_0 - Firecracker_1412
- Firecracker_0613_3 - Firecracker_1413
- Firecracker_0614_0 - Firecracker_1514
- Firecracker_0804 - Firecracker_1704
- Firecracker_0917 - Unk_07_0
- Firecracker_1012_1 - Unk_07_3
- Eggs: 20
- Chaos - Raw
- Dazzle - Razzle
- Depraved - Reference
- Desert - Ruby
- Future - Rust
- Galaxy - Scarlet
- Holiday - Sunset
- Orange - Truth
- Pickled - Vanity
- Planet - Zen
- Walls Blasted: 4
- Explosion_1007
- Explosion_1105
- Explosion_1108
- Explosion_1414
- Detonators Triggered: 4
- Detonator_0719
- Detonator_1007
- Detonator_1105
- Detonator_1611
- Bunnies (legal): 7
- Bulb
- Chinchilla
- Ghost Dog
- Origami
- Spike Room
- Tutorial
- TV
- Bunnies (illegal): 3
- Illegal 13
- Illegal 15
- Illegal 9
- Squirrels Frightened: 6
- Squirrel_0715
- Squirrel_0718
- Squirrel_0818
- Squirrel_0905
- Squirrel_0911
- Squirrel_1510
- Cat/Lynx Quests Done:
- Caged Cat 1 at 14,19
- Total Firecrackers Picked Up: 2824
- Bubbles Popped: 3341
- Times Saved: 3341 (would be +1 after saving in-game though)
- Door Unlock Index: 8
- Pink Buttons Pressed: 1
- Floor Is Lava Bunny
- Nuts Collected: 8
- Layer 1 Chests Opened: 1
- Two Rabbits Fig (room 11,11)
- Layer 2 Buttons Pressed: 3
- Room 10,19 Button 0
- Room 10,19 Button 2
- Room 10,19 Button 3
- Num Keys: 13
- Num Matches: 8
- Num Firecrackers: 11
- Total Hearts: 13
- Gold Hearts: 13
- Last Groundhog Year: 2824
- Egg Doors Open: 3
- First (Flute, Portal)
- Fourth (65th Egg)
- Third (Top)
#!/usr/bin/env python3
# vim: set expandtab tabstop=4 shiftwidth=4:
import os
import io
import sys
import math
import struct
import random
import itertools
from animalwellsave.savegame import Savegame, QuestState, Progress
columns = 120
source_file = '/games/savegames/proton_saves/animalwell/AnimalWell-03-save1-first-point.sav'
#source_file = 'AnimalWell-01-before_corruption.sav'
#source_file = 'AnimalWell-03-before_runaway.sav'
slot_start = 0x18
#slot_start = 0x27028
#slot_start = 0x4E038
wall_start = 0xC8 + slot_start
index_loc = 0x1B8 + slot_start
steps_loc = 0x108 + slot_start
wall_tuples = [
# Valid
(2, 5, 2, 1),
(15, 5, 6, 3),
(6, 6, 16, 14),
(7, 6, 16, 1),
(7, 6, 5, 14),
(13, 7, 29, 1),
(10, 8, 16, 17),
(2, 9, 1, 6),
(9, 10, 39, 6),
(8, 11, 33, 19),
(13, 11, 39, 17),
(6, 13, 36, 7),
(2, 19, 9, 7),
(2, 19, 31, 7),
# Invalid
(12, 4, 29, 4),
(3, 7, 5, 3),
(13, 13, 11, 8),
]
wall_bytes = [struct.pack('<BBBB', w[1], w[0], w[3], w[2]) for w in wall_tuples]
wall_files = ['r{:02d}{:02d}_t{:02d}{:02d}_l0'.format(*w) for w in wall_tuples]
full_files = [f'AnimalWell-{w}.sav' for w in wall_files]
def column_chunks(l, columns):
"""
Divide up a given list `l` into the specified number of
`columns`. Yields each column in turn, as a list. (Does
*not* do any padding.)
"""
length = len(l)
if length == 0:
yield []
else:
n = math.ceil(length/columns)
for i in range(0, length, n):
yield l[i:i + n]
def print_columns(
data,
*,
minimum_lines=12,
max_width=120,
indent=' ',
padding=' ',
prefix='- ',
columns=None,
):
"""
Function to take a list of `data` and output in columns, if we can.
`minimum_lines` determines how many items there should be before we
start outputting in columns.
`max_width` determines how wide the output is allowed to be.
`indent` is the start-of-line indentation that will be prefixed on
every line (and is taken into account when computing versus
`max_width`).
`padding` is the padding that will be printed between each column.
`prefix` is a string prefix which will be prefixed on each item to
be printed.
`columns` can be used to force a certain number of columns without
doing any width checking.
"""
if len(data) == 0:
return
str_data = [f'{prefix}{item}' for item in data]
force_output = False
if columns is None:
num_columns = math.ceil(len(str_data)/minimum_lines)
else:
num_columns = columns
force_output = True
# There might be a better way to do this, but what we're doing is starting
# at our "ideal" column number, seeing if it fits in our max_width, and
# then decreasing by one until it actually fits. We could, instead, take
# a look at the max length overall and base stuff on that, or take an
# average and hope for the best, but the upside is that this *will* give
# us the most number of columns we can fit for the data, if need be.
while True:
max_widths = [0]*num_columns
cols = list(column_chunks(str_data, num_columns))
for idx, col in enumerate(cols):
for item in col:
max_widths[idx] = max(max_widths[idx], len(item))
total_width = len(indent) + sum(max_widths) + (len(padding)*(num_columns-1))
if force_output or total_width <= max_width or num_columns == 1:
format_str = '{}{}'.format(
indent,
padding.join([f'{{:<{l}}}' for l in max_widths]),
)
for row_data in itertools.zip_longest(*cols, fillvalue=''):
print(format_str.format(*row_data))
break
else:
num_columns -= 1
class BitfieldCustom:
def __init__(self, choices):
val = 1
self.masks = {}
for choice in choices:
self.masks[val] = choice
val <<= 1
def get_reports(self, data):
to_report = []
for mask, text in self.masks.items():
if data & mask == mask:
to_report.append(text)
return to_report
def report_bitfield_custom(label, data, fields):
to_report = []
for individual_data, field in zip(data._data, fields):
to_report.extend(field.get_reports(individual_data.value))
print(f' - {label}: {len(to_report)}')
print_columns(sorted(to_report))
chest_mapping_1 = BitfieldCustom([
'room_0403_0',
'room_0404_0',
'room_0407_0',
'room_0411_0',
'unknown_00_4',
'room_0414_0',
'room_0502_0',
'room_0517_0',
'unknown_01_0',
'room_0603_0',
'unknown_01_2',
'room_0608_0 (match)',
'room_0608_1',
'room_0613_0 (match)',
'room_0617_0',
'unknown_01_7',
'room_0703_0 (key)',
'room_0704_0',
'unknown_02_2',
'room_0710_0 (match)',
'room_0710_1',
'room_0711_0 (match)',
'room_0711_1',
'room_0717_0',
'room_0802_0',
'room_0803_0',
'unknown_03_2',
'room_0808_0',
'room_0810_0',
'room_0811_0',
'unknown_03_6 (slink)',
'room_0814_0',
'room_0814_1',
'room_0815_0',
'room_0815_1 (key)',
'room_0902_0',
'room_0903_0',
'unknown_04_5',
'room_0910_0 (match)',
'unknown_04_7',
'room_0912_0',
'room_0913_0',
'room_0913_1',
'room_1002_0',
'room_1003_0',
'room_1006_0',
'room_1007_0',
'room_1008_0 (manticore egg65)',
'room_1008_1',
'room_1008_2',
'room_1009_0',
'room_1010_0',
'room_1010_1',
'room_1015_0',
'room_1017_0 (key)',
'room_1104_0',
'room_1108_0 (match)',
'room_1109_0',
'room_1205_0',
'room_1208_0',
'room_1210_0',
'room_1211_0',
'room_1213_0 (key)',
'room_1214_0 (match)',
])
chest_mapping_2 = BitfieldCustom([
'room_1214_1',
'room_1217_0',
'room_1302_0',
'room_1303_0',
'unknown_08_4 (b. wand)',
'room_1305_0',
'room_1307_0 (match)',
'unknown_08_7 (dream egg)',
'room_1314_0',
'room_1317_0',
'room_1409_0',
'room_1411_0',
'room_1412_0',
'room_1415_0',
'room_1417_0',
'unknown_09_7',
'room_1506_0',
'room_1512_0 (match)',
'room_1513_0 (key)',
'room_1515_0 (key)',
'unknown_0A_4',
'unknown_0A_5',
'room_1608_0',
'room_1609_0',
'room_1614_0',
'unknown_0B_1',
'unknown_0B_2',
'room_1713_0',
'room_1714_0',
'room_1715_0',
'room_1716_0',
'unknown_0B_7',
'unknown_0C_0',
'room_1814_0',
'unknown_0C_2',
'unknown_0C_3',
'room_1908_0',
'room_1912_0 (golden egg)',
])
button_door_mapping_1 = BitfieldCustom([
'room_0403_0',
'room_0410_0',
'room_0412_0',
'room_0413_0',
'room_0414_0',
'room_0414_1',
'room_0416_0',
'room_0510_0',
'room_0512_0',
'room_0514_0',
'room_0515_0',
'unknown_01_3',
'room_0607_0',
'room_0609_0',
'room_0610_0',
'room_0611_0',
'room_0611_1',
'room_0612_0',
'room_0613_0',
'room_0614_0',
'room_0615_0',
'room_0615_1',
'room_0616_0',
'room_0703_0',
'room_0704_0',
'room_0705_0',
'room_0706_0',
'room_0713_0',
'room_0716_0',
'room_0717_0',
'room_0803_0',
'room_0808_0',
'room_0810_0',
'room_0811_0',
'room_0813_0',
'room_0813_1',
'room_0814_0',
'room_0814_1',
'room_0814_2',
'room_0817_0',
'room_0906_0',
'room_0907_0',
'room_0910_0',
'room_0913_0',
'room_0913_1',
'room_0914_0',
'room_0916_0',
'room_0917_0',
'room_1003_0',
'room_1005_0',
'room_1006_0',
'room_1013_0',
'room_1105_0',
'room_1107_0',
'room_1114_0',
'room_1115_0',
'room_1213_0',
'room_1304_0',
'room_1307_0',
'room_1313_0',
'room_1314_0',
'room_1404_0',
'room_1405_0',
'room_1410_0',
])
button_door_mapping_2 = BitfieldCustom([
'room_1411_0',
'room_1413_0',
'room_1414_0',
'room_1415_0',
'unknown_08_4',
'room_1504_0',
'room_1504_1',
'room_1505_0',
'room_1510_0',
'room_1515_0',
'room_1516_0',
'room_1516_1',
'room_1517_0',
'unknown_09_5',
'unknown_09_6',
'unknown_09_7',
'room_1610_0',
'room_1613_0',
'room_1615_0',
'room_1615_1',
'unknown_0A_4',
'room_1709_0',
'room_1715_0',
'room_1810_0',
'room_1813_0',
'room_1816_0',
'room_1817_0',
'unknown_0B_3',
'unknown_0B_4',
'room_1916_0',
])
yb_mapping_1 = BitfieldCustom([
'Button_0304',
'Button_1304_0',
'Button_1304_1',
'Button_1404',
'Button_1604',
'Button_1005',
'Button_1205',
'Button_1405_0',
'Button_1405_1',
'Button_1405_2',
'Button_1505_0',
'Button_1505_1',
'Unk_01_4',
'Button_0706',
'Button_0906',
'Button_1006',
'Button_1106',
'Button_1306',
'Button_1406',
'Button_1506',
'Button_1606_0',
'Button_1606_1',
'Button_1606_2',
'Button_0307_0',
'Button_0307_1',
'Button_0307_2',
'Button_0307_3',
'Button_0407',
'Button_0507',
'Button_0607',
'Button_1307',
'Button_1607',
'Button_1707_0',
'Button_1707_1',
'Button_1707_2',
'Button_0808',
'Button_1008',
'Button_1108',
'Button_1408',
'Button_1608_0',
'Button_1608_1',
'Button_1708_0',
'Button_1708_1',
'Button_1708_2',
'Button_0609_0',
'Button_0609_1',
'Button_0709_0',
'Button_0709_1',
'Button_0709_2',
'Button_1009',
'Button_1309',
'Button_1409_0',
'Button_1409_1',
'Button_1409_2',
'Button_1609',
'Button_1709',
'Button_0310_0',
'Button_0310_1',
'Button_0310_2',
'Button_0510',
'Button_0610',
'Button_0511_0',
'Button_0511_1',
'Button_0511_2',
])
yb_mapping_2 = BitfieldCustom([
'Button_0511_3',
'Button_1411',
'Button_1511',
'Button_1312',
'Button_0413_0',
'Button_0413_1',
'Button_0413_2',
'Button_0713_0',
'Button_0713_1',
'Button_0713_2',
'Button_1313',
'Button_1413',
'Button_0414',
'Button_1114',
'Button_1314_0',
'Button_1314_1',
'Button_1314_2',
'Button_1314_3',
'Button_1414',
'Button_1514_0',
'Button_1514_1',
'Button_1514_2',
'Button_0315_0',
'Button_0315_1',
'Button_0315_2',
'Button_0315_3',
'Button_0515',
'Button_1015_0',
'Button_1015_1',
'Button_1015_2',
'Button_1515',
'Button_1615',
'Button_1715',
'Button_0316_0',
'Button_0316_1',
'Button_0316_2',
'Button_0316_3',
'Button_0616_0',
'Button_0616_1',
'Button_0616_2',
'Button_1016',
'Button_1316_0',
'Button_1316_1',
'Button_1316_2',
'Button_1316_3',
'Button_0917',
'Button_0918_0',
'Button_0918_1',
'Button_0918_2',
'Button_0918_3',
'Button_1018',
'Button_1118_0',
'Button_1118_1',
'Button_1118_2',
'Button_1118_3',
'Button_1318_0',
'Button_1318_1',
'Button_1318_2',
'Button_1618_0',
'Button_1618_1',
'Button_1618_2',
'Button_1718_0',
'Button_1718_1',
'Button_1718_2',
])
yb_mapping_3 = BitfieldCustom([
'Button_1718_3',
'Unk_10_1',
'Unk_10_2',
'Unk_10_3',
'Button_1319_0',
'Button_1319_1',
])
pb_mapping_1 = BitfieldCustom([
'Button_1204_0',
'Button_1204_1',
'Button_1204_2',
'Button_1204_3',
'Button_1206_0',
'Button_1206_1',
'Unk_00_6',
'Unk_00_7',
'Button_1308_0',
'Button_1308_1',
'Button_1310_0',
'Button_1310_1',
'Button_0514_0',
'Button_0514_1',
'Button_0514_2',
'Button_1014_0',
'Button_1014_1',
'Button_1014_2',
'Button_1516_0',
'Button_1516_1',
'Unk_02_4',
'Button_1219',
'Button_1319',
'Button_1619_0',
'Button_1619_1',
'Button_1619_2',
'Button_1619_3',
])
gb_mapping_1 = BitfieldCustom([
'Button_0210',
'Button_0211',
'Button_0511',
'Button_0213',
'Unk_00_4',
'Button_1519',
'Button_1719',
])
fruit_mapping_1 = BitfieldCustom([
'unknown_00_0',
'unknown_00_1',
'room_0404_0',
'unknown_00_3',
'room_0407_0',
'room_0407_1',
'room_0408_0',
'room_0410_0',
'room_0412_0',
'room_0412_1',
'room_0416_0',
'room_0504_0',
'room_0505_0',
'room_0510_0',
'room_0511_0',
'unknown_01_7',
'room_0513_0',
'room_0604_0',
'room_0606_0',
'room_0608_0',
'room_0609_0',
'room_0609_1',
'room_0611_0',
'room_0613_0',
'room_0617_0',
'unknown_03_1',
'unknown_03_2',
'unknown_03_3',
'room_0707_0',
'room_0712_0',
'room_0714_0',
'unknown_03_7',
'unknown_04_0',
'room_0716_0',
'room_0716_1',
'room_0802_0',
'room_0804_0',
'room_0805_0',
'room_0807_0',
'room_0810_0',
'room_0812_0',
'room_0814_0',
'room_0906_0',
'room_0910_0',
'room_0910_1',
'room_0911_0',
'room_0911_1',
'room_0912_0',
'room_0913_0',
'room_0915_0',
'room_0915_1',
'room_0916_0',
'room_0917_0',
'room_1002_0',
'room_1002_1',
'room_1003_0',
'room_1004_0',
'room_1004_1',
'room_1005_0',
'room_1007_0',
'room_1015_0',
'room_1016_0',
'room_1017_0',
'room_1102_0',
])
fruit_mapping_2 = BitfieldCustom([
'room_1103_0',
'room_1103_1',
'room_1110_0',
'room_1110_1',
'room_1114_0',
'room_1202_0',
'room_1203_0',
'room_1204_0',
'room_1204_1',
'unknown_09_1',
'room_1206_0',
'room_1208_0',
'room_1210_0',
'unknown_09_5',
'unknown_09_6',
'unknown_09_7',
'room_1216_0',
'room_1303_0',
'room_1305_0',
'room_1305_1',
'room_1313_0',
'room_1314_0',
'room_1314_1',
'room_1404_0',
'unknown_0B_0',
'room_1411_0',
'room_1412_0',
'room_1413_0',
'unknown_0B_4',
'room_1416_0',
'room_1514_0',
'room_1514_1',
'room_1515_0',
'room_1516_0',
'room_1517_0',
'room_1603_0',
'unknown_0C_4',
'room_1607_0',
'unknown_0C_6',
'room_1709_0',
'room_1710_0',
'unknown_0D_1',
'unknown_0D_2',
'unknown_0D_3',
'unknown_0D_4',
'unknown_0D_5',
'room_1816_0',
'room_1907_0',
'room_1916_0',
'unknown_0E_1',
'room_1917_0',
'stolen_nut (set the first time a nut is stolen)',
])
fc_mapping_1 = BitfieldCustom([
'Firecracker_0504',
'Firecracker_0704',
'Firecracker_0804',
'Firecracker_1704',
'Firecracker_0905',
'Firecracker_1105',
'Firecracker_0306_0',
'Firecracker_0306_1',
'Firecracker_0306_2',
'Firecracker_0207',
'Firecracker_1106_0',
'Firecracker_1106_1',
'Unk_01_4',
'Firecracker_0707',
'Firecracker_1007',
'Unk_01_7',
'Firecracker_1607',
'Firecracker_0508_0',
'Firecracker_0508_1',
'Firecracker_0508_2',
'Firecracker_0409',
'Firecracker_0509_0',
'Firecracker_0509_1',
'Firecracker_0509_2',
'Firecracker_0509_3',
'Firecracker_0609_0',
'Firecracker_0609_1',
'Firecracker_1109',
'Firecracker_1509',
'Firecracker_1410',
'Firecracker_1510',
'Firecracker_1211_0',
'Firecracker_1211_1',
'Firecracker_1012_0',
'Firecracker_1012_1',
'Firecracker_1412',
'Firecracker_0513',
'Firecracker_0613_0',
'Firecracker_0613_1',
'Firecracker_0613_2',
'Firecracker_0613_3',
'Firecracker_1113',
'Firecracker_1413',
'Firecracker_0614_0',
'Firecracker_0614_1',
'Firecracker_0614_2',
'Firecracker_0614_3',
'Firecracker_0714_0',
'Firecracker_0714_1',
'Firecracker_0714_2',
'Firecracker_1114',
'Firecracker_1514',
'Firecracker_1115',
'Firecracker_1215',
'Firecracker_1315',
'Unk_06_7',
'Unk_07_0',
'Firecracker_0917',
'Firecracker_1017',
'Unk_07_3',
'Firecracker_0818',
'Firecracker_0918',
'Firecracker_1018_0',
'Firecracker_1018_1',
])
blasted_mapping_1 = BitfieldCustom([
'Explosion_1105',
'Explosion_1706',
'Explosion_1007',
'Explosion_1108',
'Unk_00_4',
'Explosion_1611',
'Explosion_1711_0',
'Explosion_1711_1',
'Explosion_1414',
'Explosion_1615',
])
detonator_mapping_1 = BitfieldCustom([
'Detonator_1105',
'Detonator_1706',
'Detonator_1007',
'Detonator_1611',
'Detonator_1711_0',
'Detonator_1711_1',
'Detonator_1414',
'Detonator_1615',
'Detonator_0719',
])
squirrel_mapping_1 = BitfieldCustom([
'Squirrel_0905',
'Squirrel_0909',
'Squirrel_1510',
'Squirrel_0911',
'Squirrel_1012',
'Squirrel_0813',
'Squirrel_0314',
'Squirrel_1414',
'Squirrel_0715',
'Squirrel_1516',
'Squirrel_0718',
'Squirrel_0818',
'Squirrel_0919',
])
layer1_chests_opened = BitfieldCustom([
'Two Rabbits Fig (room 11,11)',
])
layer2_buttons_pressed = BitfieldCustom([
'Room 10,19 Button 0',
'Room 10,19 Button 1',
'Room 10,19 Button 2',
'Room 10,19 Button 3',
])
for idx, (w_tuple, w_byte, w_file, w_full) in enumerate(zip(wall_tuples, wall_bytes, wall_files, full_files)):
remaining_bytes = wall_bytes[:idx] + wall_bytes[idx+1:]
random.shuffle(remaining_bytes)
print(f'Writing to: {w_full}')
with open(source_file, 'rb') as df:
file = io.BytesIO(df.read())
file.seek(wall_start)
# Write a randomized order of prior wall openings
for remaining in remaining_bytes:
file.write(remaining)
# write out our wall-opening data until we overwrite the index val
while file.tell() <= index_loc:
file.write(w_byte)
#print(f' - Slot position at end: 0x{file.tell()-slot_start:X}')
# Now that we've overwritten the index val, seek there and write there too
file.seek(index_loc)
next_index = struct.unpack('<B', file.read(1))[0]
if next_index >= 16:
# It turns out this does *not* cause a freeze or crash or whatever. It turns
# out that the engine only writes the wall value (and kicks off opening animations
# or whatever) once per tick. So when this happens, we basically just have the
# same thing happening with every tick, and it happens to loop back every ~50ish
# ticks (or however long the distance would be). (Amusingly, the wall-opening
# sound effect starts playing every tick, too, which sounds weird.) Interestingly
# this only happens *in* the room which would trigger the open; if you leave, the
# wall-writing loop stops (but it'll start back up if you go back in). Anyway,
# what this means for the save data is that the wall index you end up with saved in
# the file all depends on when exactly you left the room (or when you hit save,
# though this can only happen with the two walls in 2,19, and there's no phone in
# there).
print(f' - WARNING: the next index remains above 15: {next_index}')
#else:
# print(f' - Next index is: {next_index}')
file.seek(wall_start + (4*next_index))
file.write(w_byte)
# Increment the index by 1
file.seek(index_loc)
next_index += 1
file.write(struct.pack('<B', next_index))
# Next: "step count" counter would actually overflow repeatedly once it's
# past 100000, so fix that
file.seek(steps_loc)
steps = struct.unpack('<I', file.read(4))[0]
if steps < 0:
# Doesn't actually happen, which makes sense; the coordinate data we're ovewriting
# here is a collection of relatively low u8s
print(f' - WARNING: step count is negative; no clue what AW would do here')
else:
steps = steps % 100000
file.seek(steps_loc)
file.write(struct.pack('<I', steps))
# Now actually write out to a file
file.seek(0)
with open(w_full, 'wb') as odf:
odf.write(file.read())
# This isn't true; the wall index doesn't actually control what walls
# are opened. It's still the entire contents of the 16-entry memory
# area which determines that.
#print(' - Previously-opened walls no longer open: {}'.format(
# 16-next_index+1,
# ))
with Savegame(w_full) as save:
slot = save.slots[0]
print(f' - Steps Taken: {slot.num_steps} (would be more after walking to save point)')
level_text = {
0: '(7,11)',
1: '(4,15)',
2: '(2,17) (middle)',
3: '(2,17) (right)',
4: '(2,17) (left)',
}
print(' - Fill Levels:')
for idx, level in enumerate(slot.fill_levels):
if level.value > 0x80:
suffix = ' (overfilled!)'
else:
suffix = ''
pct = int((level.value / 0x80) * 100)
print(f' - {idx+1}. {level_text[idx]}: {level} - {pct}%{suffix}')
report_bitfield_custom('Chests Opened', slot.chests_opened, [chest_mapping_1, chest_mapping_2])
report_bitfield_custom('Button Doors Opened', slot.button_doors_opened, [button_door_mapping_1, button_door_mapping_2])
report_bitfield_custom('Yellow Buttons Pressed', slot.yellow_buttons_pressed, [yb_mapping_1, yb_mapping_2, yb_mapping_3])
report_bitfield_custom('Purple Buttons Pressed', slot.purple_buttons_pressed, [pb_mapping_1])
report_bitfield_custom('Green Buttons Pressed', slot.green_buttons_pressed, [gb_mapping_1])
report_bitfield_custom('Fruit Picked', slot.picked_fruit, [fruit_mapping_1, fruit_mapping_2])
report_bitfield_custom('Firecrackers Picked', slot.picked_firecrackers, [fc_mapping_1])
print(f' - Eggs: {len(slot.eggs)}')
print_columns(sorted(slot.eggs.enabled))
report_bitfield_custom('Walls Blasted', slot.walls_blasted, [blasted_mapping_1])
report_bitfield_custom('Detonators Triggered', slot.detonators_triggered, [detonator_mapping_1])
print(f' - Bunnies (legal): {len(slot.bunnies)}')
print_columns(sorted(slot.bunnies.enabled))
print(f' - Bunnies (illegal): {len(slot.illegal_bunnies)}')
print_columns(sorted(slot.illegal_bunnies.enabled))
report_bitfield_custom('Squirrels Frightened', slot.squirrels_scared, [squirrel_mapping_1])
print(f' - Cat/Lynx Quests Done:')
print_columns(sorted(slot.cat_status.enabled))
print(f' - Total Firecrackers Picked Up: {slot.firecrackers_collected}')
print(f' - Bubbles Popped: {slot.bubbles_popped}')
print(f' - Times Saved: {slot.num_saves} (would be +1 after saving in-game though)')
max_safe_index = 16-6
if slot.locked_doors._next_index.value > 15:
suffix = ' (next unlocked door will cause another overflow!)'
elif slot.locked_doors._next_index.value > max_safe_index:
suffix = ' (potential door overflow problem depending on save state!)'
else:
suffix = ''
print(f' - Door Unlock Index: {slot.locked_doors._next_index}{suffix}')
print(f' - Pink Buttons Pressed: {len(slot.pink_buttons_pressed)}')
print_columns(sorted(slot.pink_buttons_pressed.enabled))
print(f' - Nuts Collected: {slot.nuts}')
report_bitfield_custom('Layer 1 Chests Opened', slot.layer1_chests_opened, [layer1_chests_opened])
report_bitfield_custom('Layer 2 Buttons Pressed', slot.layer2_buttons_pressed, [layer2_buttons_pressed])
print(f' - Num Keys: {slot.keys}')
print(f' - Num Matches: {slot.matches}')
print(f' - Num Firecrackers: {slot.firecrackers}')
print(f' - Total Hearts: {slot.health}')
print(f' - Gold Hearts: {slot.gold_hearts}')
print(f' - Last Groundhog Year: {slot.last_groundhog_year}')
print(f' - Egg Doors Open: {len(slot.egg_doors)}')
print_columns(sorted(slot.egg_doors.enabled))
print('')
slot.quest_state.enable(QuestState.CRING)
slot.progress.enable(Progress.HP_BAR)
save.save()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment