diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix4.pbm b/cart/test/roof_fix4.pbm deleted file mode 100644 index 2c392ad..0000000 --- a/cart/test/roof_fix4.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix4.pbm b/cart/test/roof_fix4.pbm deleted file mode 100644 index 2c392ad..0000000 --- a/cart/test/roof_fix4.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/test/roof_fix5.pbm b/cart/test/roof_fix5.pbm deleted file mode 100644 index 39b7f23..0000000 --- a/cart/test/roof_fix5.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix4.pbm b/cart/test/roof_fix4.pbm deleted file mode 100644 index 2c392ad..0000000 --- a/cart/test/roof_fix4.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/test/roof_fix5.pbm b/cart/test/roof_fix5.pbm deleted file mode 100644 index 39b7f23..0000000 --- a/cart/test/roof_fix5.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/test/roof_fix6.pbm b/cart/test/roof_fix6.pbm deleted file mode 100644 index 8bbe9fc..0000000 --- a/cart/test/roof_fix6.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix4.pbm b/cart/test/roof_fix4.pbm deleted file mode 100644 index 2c392ad..0000000 --- a/cart/test/roof_fix4.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/test/roof_fix5.pbm b/cart/test/roof_fix5.pbm deleted file mode 100644 index 39b7f23..0000000 --- a/cart/test/roof_fix5.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/test/roof_fix6.pbm b/cart/test/roof_fix6.pbm deleted file mode 100644 index 8bbe9fc..0000000 --- a/cart/test/roof_fix6.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/test/roof_fix7.pbm b/cart/test/roof_fix7.pbm deleted file mode 100644 index 0c29640..0000000 --- a/cart/test/roof_fix7.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix4.pbm b/cart/test/roof_fix4.pbm deleted file mode 100644 index 2c392ad..0000000 --- a/cart/test/roof_fix4.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/test/roof_fix5.pbm b/cart/test/roof_fix5.pbm deleted file mode 100644 index 39b7f23..0000000 --- a/cart/test/roof_fix5.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/test/roof_fix6.pbm b/cart/test/roof_fix6.pbm deleted file mode 100644 index 8bbe9fc..0000000 --- a/cart/test/roof_fix6.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/test/roof_fix7.pbm b/cart/test/roof_fix7.pbm deleted file mode 100644 index 0c29640..0000000 --- a/cart/test/roof_fix7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix8.pbm b/cart/test/roof_fix8.pbm deleted file mode 100644 index e90cfc3..0000000 --- a/cart/test/roof_fix8.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix4.pbm b/cart/test/roof_fix4.pbm deleted file mode 100644 index 2c392ad..0000000 --- a/cart/test/roof_fix4.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/test/roof_fix5.pbm b/cart/test/roof_fix5.pbm deleted file mode 100644 index 39b7f23..0000000 --- a/cart/test/roof_fix5.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/test/roof_fix6.pbm b/cart/test/roof_fix6.pbm deleted file mode 100644 index 8bbe9fc..0000000 --- a/cart/test/roof_fix6.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/test/roof_fix7.pbm b/cart/test/roof_fix7.pbm deleted file mode 100644 index 0c29640..0000000 --- a/cart/test/roof_fix7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix8.pbm b/cart/test/roof_fix8.pbm deleted file mode 100644 index e90cfc3..0000000 --- a/cart/test/roof_fix8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix9.pbm b/cart/test/roof_fix9.pbm deleted file mode 100644 index 31dfb3d..0000000 --- a/cart/test/roof_fix9.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix4.pbm b/cart/test/roof_fix4.pbm deleted file mode 100644 index 2c392ad..0000000 --- a/cart/test/roof_fix4.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/test/roof_fix5.pbm b/cart/test/roof_fix5.pbm deleted file mode 100644 index 39b7f23..0000000 --- a/cart/test/roof_fix5.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/test/roof_fix6.pbm b/cart/test/roof_fix6.pbm deleted file mode 100644 index 8bbe9fc..0000000 --- a/cart/test/roof_fix6.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/test/roof_fix7.pbm b/cart/test/roof_fix7.pbm deleted file mode 100644 index 0c29640..0000000 --- a/cart/test/roof_fix7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix8.pbm b/cart/test/roof_fix8.pbm deleted file mode 100644 index e90cfc3..0000000 --- a/cart/test/roof_fix8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix9.pbm b/cart/test/roof_fix9.pbm deleted file mode 100644 index 31dfb3d..0000000 --- a/cart/test/roof_fix9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall1.pbm b/cart/test/wall1.pbm deleted file mode 100644 index 31e09be..0000000 --- a/cart/test/wall1.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix4.pbm b/cart/test/roof_fix4.pbm deleted file mode 100644 index 2c392ad..0000000 --- a/cart/test/roof_fix4.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/test/roof_fix5.pbm b/cart/test/roof_fix5.pbm deleted file mode 100644 index 39b7f23..0000000 --- a/cart/test/roof_fix5.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/test/roof_fix6.pbm b/cart/test/roof_fix6.pbm deleted file mode 100644 index 8bbe9fc..0000000 --- a/cart/test/roof_fix6.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/test/roof_fix7.pbm b/cart/test/roof_fix7.pbm deleted file mode 100644 index 0c29640..0000000 --- a/cart/test/roof_fix7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix8.pbm b/cart/test/roof_fix8.pbm deleted file mode 100644 index e90cfc3..0000000 --- a/cart/test/roof_fix8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix9.pbm b/cart/test/roof_fix9.pbm deleted file mode 100644 index 31dfb3d..0000000 --- a/cart/test/roof_fix9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall1.pbm b/cart/test/wall1.pbm deleted file mode 100644 index 31e09be..0000000 --- a/cart/test/wall1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall2.pbm b/cart/test/wall2.pbm deleted file mode 100644 index 1871c8b..0000000 --- a/cart/test/wall2.pbm +++ /dev/null Binary files differ diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix4.pbm b/cart/test/roof_fix4.pbm deleted file mode 100644 index 2c392ad..0000000 --- a/cart/test/roof_fix4.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/test/roof_fix5.pbm b/cart/test/roof_fix5.pbm deleted file mode 100644 index 39b7f23..0000000 --- a/cart/test/roof_fix5.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/test/roof_fix6.pbm b/cart/test/roof_fix6.pbm deleted file mode 100644 index 8bbe9fc..0000000 --- a/cart/test/roof_fix6.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/test/roof_fix7.pbm b/cart/test/roof_fix7.pbm deleted file mode 100644 index 0c29640..0000000 --- a/cart/test/roof_fix7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix8.pbm b/cart/test/roof_fix8.pbm deleted file mode 100644 index e90cfc3..0000000 --- a/cart/test/roof_fix8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix9.pbm b/cart/test/roof_fix9.pbm deleted file mode 100644 index 31dfb3d..0000000 --- a/cart/test/roof_fix9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall1.pbm b/cart/test/wall1.pbm deleted file mode 100644 index 31e09be..0000000 --- a/cart/test/wall1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall2.pbm b/cart/test/wall2.pbm deleted file mode 100644 index 1871c8b..0000000 --- a/cart/test/wall2.pbm +++ /dev/null Binary files differ diff --git a/rpg/Makefile b/rpg/Makefile new file mode 100644 index 0000000..5a8fda9 --- /dev/null +++ b/rpg/Makefile @@ -0,0 +1,10 @@ +CART_DIR ?= ../cart/rpg +MAKE_ROOT ?= ../../cneboy/make + +SOURCES := rpg.c parse.c + +MODULES := level14 + +SOURCES_level14 := level14.c + +include $(MAKE_ROOT)/Makefile diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix4.pbm b/cart/test/roof_fix4.pbm deleted file mode 100644 index 2c392ad..0000000 --- a/cart/test/roof_fix4.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/test/roof_fix5.pbm b/cart/test/roof_fix5.pbm deleted file mode 100644 index 39b7f23..0000000 --- a/cart/test/roof_fix5.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/test/roof_fix6.pbm b/cart/test/roof_fix6.pbm deleted file mode 100644 index 8bbe9fc..0000000 --- a/cart/test/roof_fix6.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/test/roof_fix7.pbm b/cart/test/roof_fix7.pbm deleted file mode 100644 index 0c29640..0000000 --- a/cart/test/roof_fix7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix8.pbm b/cart/test/roof_fix8.pbm deleted file mode 100644 index e90cfc3..0000000 --- a/cart/test/roof_fix8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix9.pbm b/cart/test/roof_fix9.pbm deleted file mode 100644 index 31dfb3d..0000000 --- a/cart/test/roof_fix9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall1.pbm b/cart/test/wall1.pbm deleted file mode 100644 index 31e09be..0000000 --- a/cart/test/wall1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall2.pbm b/cart/test/wall2.pbm deleted file mode 100644 index 1871c8b..0000000 --- a/cart/test/wall2.pbm +++ /dev/null Binary files differ diff --git a/rpg/Makefile b/rpg/Makefile new file mode 100644 index 0000000..5a8fda9 --- /dev/null +++ b/rpg/Makefile @@ -0,0 +1,10 @@ +CART_DIR ?= ../cart/rpg +MAKE_ROOT ?= ../../cneboy/make + +SOURCES := rpg.c parse.c + +MODULES := level14 + +SOURCES_level14 := level14.c + +include $(MAKE_ROOT)/Makefile diff --git a/rpg/constants.h b/rpg/constants.h new file mode 100644 index 0000000..336c98e --- /dev/null +++ b/rpg/constants.h @@ -0,0 +1,6 @@ +#define GRID 14 +#define COLS 12 +#define ROWS 10 +#define PADX 0 +#define PADY 2 +#define SPRITEOFF -1 diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix4.pbm b/cart/test/roof_fix4.pbm deleted file mode 100644 index 2c392ad..0000000 --- a/cart/test/roof_fix4.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/test/roof_fix5.pbm b/cart/test/roof_fix5.pbm deleted file mode 100644 index 39b7f23..0000000 --- a/cart/test/roof_fix5.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/test/roof_fix6.pbm b/cart/test/roof_fix6.pbm deleted file mode 100644 index 8bbe9fc..0000000 --- a/cart/test/roof_fix6.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/test/roof_fix7.pbm b/cart/test/roof_fix7.pbm deleted file mode 100644 index 0c29640..0000000 --- a/cart/test/roof_fix7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix8.pbm b/cart/test/roof_fix8.pbm deleted file mode 100644 index e90cfc3..0000000 --- a/cart/test/roof_fix8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix9.pbm b/cart/test/roof_fix9.pbm deleted file mode 100644 index 31dfb3d..0000000 --- a/cart/test/roof_fix9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall1.pbm b/cart/test/wall1.pbm deleted file mode 100644 index 31e09be..0000000 --- a/cart/test/wall1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall2.pbm b/cart/test/wall2.pbm deleted file mode 100644 index 1871c8b..0000000 --- a/cart/test/wall2.pbm +++ /dev/null Binary files differ diff --git a/rpg/Makefile b/rpg/Makefile new file mode 100644 index 0000000..5a8fda9 --- /dev/null +++ b/rpg/Makefile @@ -0,0 +1,10 @@ +CART_DIR ?= ../cart/rpg +MAKE_ROOT ?= ../../cneboy/make + +SOURCES := rpg.c parse.c + +MODULES := level14 + +SOURCES_level14 := level14.c + +include $(MAKE_ROOT)/Makefile diff --git a/rpg/constants.h b/rpg/constants.h new file mode 100644 index 0000000..336c98e --- /dev/null +++ b/rpg/constants.h @@ -0,0 +1,6 @@ +#define GRID 14 +#define COLS 12 +#define ROWS 10 +#define PADX 0 +#define PADY 2 +#define SPRITEOFF -1 diff --git a/rpg/ent.h b/rpg/ent.h new file mode 100644 index 0000000..254369d --- /dev/null +++ b/rpg/ent.h @@ -0,0 +1,20 @@ +#pragma once +#include +#include + +typedef struct +{ + // last frame coords + float ox; + float oy; + + // current coords + float x; + float y; + + pbm_t* graphic; + pbm_t* outline; + int off_x; + int off_y; + int outline_pixels; +} ent_t; diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix4.pbm b/cart/test/roof_fix4.pbm deleted file mode 100644 index 2c392ad..0000000 --- a/cart/test/roof_fix4.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/test/roof_fix5.pbm b/cart/test/roof_fix5.pbm deleted file mode 100644 index 39b7f23..0000000 --- a/cart/test/roof_fix5.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/test/roof_fix6.pbm b/cart/test/roof_fix6.pbm deleted file mode 100644 index 8bbe9fc..0000000 --- a/cart/test/roof_fix6.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/test/roof_fix7.pbm b/cart/test/roof_fix7.pbm deleted file mode 100644 index 0c29640..0000000 --- a/cart/test/roof_fix7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix8.pbm b/cart/test/roof_fix8.pbm deleted file mode 100644 index e90cfc3..0000000 --- a/cart/test/roof_fix8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix9.pbm b/cart/test/roof_fix9.pbm deleted file mode 100644 index 31dfb3d..0000000 --- a/cart/test/roof_fix9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall1.pbm b/cart/test/wall1.pbm deleted file mode 100644 index 31e09be..0000000 --- a/cart/test/wall1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall2.pbm b/cart/test/wall2.pbm deleted file mode 100644 index 1871c8b..0000000 --- a/cart/test/wall2.pbm +++ /dev/null Binary files differ diff --git a/rpg/Makefile b/rpg/Makefile new file mode 100644 index 0000000..5a8fda9 --- /dev/null +++ b/rpg/Makefile @@ -0,0 +1,10 @@ +CART_DIR ?= ../cart/rpg +MAKE_ROOT ?= ../../cneboy/make + +SOURCES := rpg.c parse.c + +MODULES := level14 + +SOURCES_level14 := level14.c + +include $(MAKE_ROOT)/Makefile diff --git a/rpg/constants.h b/rpg/constants.h new file mode 100644 index 0000000..336c98e --- /dev/null +++ b/rpg/constants.h @@ -0,0 +1,6 @@ +#define GRID 14 +#define COLS 12 +#define ROWS 10 +#define PADX 0 +#define PADY 2 +#define SPRITEOFF -1 diff --git a/rpg/ent.h b/rpg/ent.h new file mode 100644 index 0000000..254369d --- /dev/null +++ b/rpg/ent.h @@ -0,0 +1,20 @@ +#pragma once +#include +#include + +typedef struct +{ + // last frame coords + float ox; + float oy; + + // current coords + float x; + float y; + + pbm_t* graphic; + pbm_t* outline; + int off_x; + int off_y; + int outline_pixels; +} ent_t; diff --git a/rpg/grid.h b/rpg/grid.h new file mode 100644 index 0000000..4cddf8d --- /dev/null +++ b/rpg/grid.h @@ -0,0 +1,12 @@ +typedef enum +{ + GRID_FLIPX = 1, + GRID_FLIPY = 2, +} grid_flags; + +typedef struct +{ + uint8_t tile; + grid_flags flags; + char* tag; +} grid_t; diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix4.pbm b/cart/test/roof_fix4.pbm deleted file mode 100644 index 2c392ad..0000000 --- a/cart/test/roof_fix4.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/test/roof_fix5.pbm b/cart/test/roof_fix5.pbm deleted file mode 100644 index 39b7f23..0000000 --- a/cart/test/roof_fix5.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/test/roof_fix6.pbm b/cart/test/roof_fix6.pbm deleted file mode 100644 index 8bbe9fc..0000000 --- a/cart/test/roof_fix6.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/test/roof_fix7.pbm b/cart/test/roof_fix7.pbm deleted file mode 100644 index 0c29640..0000000 --- a/cart/test/roof_fix7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix8.pbm b/cart/test/roof_fix8.pbm deleted file mode 100644 index e90cfc3..0000000 --- a/cart/test/roof_fix8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix9.pbm b/cart/test/roof_fix9.pbm deleted file mode 100644 index 31dfb3d..0000000 --- a/cart/test/roof_fix9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall1.pbm b/cart/test/wall1.pbm deleted file mode 100644 index 31e09be..0000000 --- a/cart/test/wall1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall2.pbm b/cart/test/wall2.pbm deleted file mode 100644 index 1871c8b..0000000 --- a/cart/test/wall2.pbm +++ /dev/null Binary files differ diff --git a/rpg/Makefile b/rpg/Makefile new file mode 100644 index 0000000..5a8fda9 --- /dev/null +++ b/rpg/Makefile @@ -0,0 +1,10 @@ +CART_DIR ?= ../cart/rpg +MAKE_ROOT ?= ../../cneboy/make + +SOURCES := rpg.c parse.c + +MODULES := level14 + +SOURCES_level14 := level14.c + +include $(MAKE_ROOT)/Makefile diff --git a/rpg/constants.h b/rpg/constants.h new file mode 100644 index 0000000..336c98e --- /dev/null +++ b/rpg/constants.h @@ -0,0 +1,6 @@ +#define GRID 14 +#define COLS 12 +#define ROWS 10 +#define PADX 0 +#define PADY 2 +#define SPRITEOFF -1 diff --git a/rpg/ent.h b/rpg/ent.h new file mode 100644 index 0000000..254369d --- /dev/null +++ b/rpg/ent.h @@ -0,0 +1,20 @@ +#pragma once +#include +#include + +typedef struct +{ + // last frame coords + float ox; + float oy; + + // current coords + float x; + float y; + + pbm_t* graphic; + pbm_t* outline; + int off_x; + int off_y; + int outline_pixels; +} ent_t; diff --git a/rpg/grid.h b/rpg/grid.h new file mode 100644 index 0000000..4cddf8d --- /dev/null +++ b/rpg/grid.h @@ -0,0 +1,12 @@ +typedef enum +{ + GRID_FLIPX = 1, + GRID_FLIPY = 2, +} grid_flags; + +typedef struct +{ + uint8_t tile; + grid_flags flags; + char* tag; +} grid_t; diff --git a/rpg/hashmap.h b/rpg/hashmap.h new file mode 100644 index 0000000..da88e81 --- /dev/null +++ b/rpg/hashmap.h @@ -0,0 +1,594 @@ +/* + The latest version of this library is available on GitHub; + https://github.com/sheredom/hashmap.h +*/ + +/* + This is free and unencumbered software released into the public domain. + + Anyone is free to copy, modify, publish, use, compile, sell, or + distribute this software, either in source code form or as a compiled + binary, for any purpose, commercial or non-commercial, and by any + means. + + In jurisdictions that recognize copyright laws, the author or authors + of this software dedicate any and all copyright interest in the + software to the public domain. We make this dedication for the benefit + of the public at large and to the detriment of our heirs and + successors. We intend this dedication to be an overt act of + relinquishment in perpetuity of all present and future rights to this + software under copyright law. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + For more information, please refer to +*/ +#ifndef SHEREDOM_HASHMAP_H_INCLUDED +#define SHEREDOM_HASHMAP_H_INCLUDED + +#if defined(_MSC_VER) +// Workaround a bug in the MSVC runtime where it uses __cplusplus when not +// defined. +#pragma warning(push, 0) +#pragma warning(disable : 4668) +#endif + +#include "client_api.h" + +//#include +//#include + +//#if (defined(_MSC_VER) && defined(__AVX__)) || \ +// (!defined(_MSC_VER) && defined(__SSE4_2__)) +//#define HASHMAP_SSE42 +//#endif + +//#if defined(HASHMAP_SSE42) +//#include +//#endif + +#if defined(_MSC_VER) +#pragma warning(pop) +#endif + +#if defined(_MSC_VER) +#pragma warning(push) +/* Stop MSVC complaining about unreferenced functions */ +#pragma warning(disable : 4505) +/* Stop MSVC complaining about not inlining functions */ +#pragma warning(disable : 4710) +/* Stop MSVC complaining about inlining functions! */ +#pragma warning(disable : 4711) +#elif defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-function" +#endif + +#if defined(_MSC_VER) +#define HASHMAP_USED +#elif defined(__GNUC__) +#define HASHMAP_USED __attribute__((used)) +#else +#define HASHMAP_USED +#endif + +/* We need to keep keys and values. */ +struct hashmap_element_s { + const char *key; + unsigned key_len; + int in_use; + void *data; +}; + +/* A hashmap has some maximum size and current size, as well as the data to + * hold. */ +struct hashmap_s { + unsigned table_size; + unsigned size; + struct hashmap_element_s *data; +}; + +#define HASHMAP_MAX_CHAIN_LENGTH (8) + +#if defined(__cplusplus) +extern "C" { +#endif + +/// @brief Create a hashmap. +/// @param initial_size The initial size of the hashmap. Must be a power of two. +/// @param out_hashmap The storage for the created hashmap. +/// @return On success 0 is returned. +/// +/// Note that the initial size of the hashmap must be a power of two, and +/// creation of the hashmap will fail if this is not the case. +static int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) HASHMAP_USED; + +/// @brief Put an element into the hashmap. +/// @param hashmap The hashmap to insert into. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @param value The value to insert. +/// @return On success 0 is returned. +/// +/// The key string slice is not copied when creating the hashmap entry, and thus +/// must remain a valid pointer until the hashmap entry is removed or the +/// hashmap is destroyed. +static int hashmap_put(struct hashmap_s *const hashmap, const char *const key, + const unsigned len, void *const value) HASHMAP_USED; + +/// @brief Get an element from the hashmap. +/// @param hashmap The hashmap to get from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return The previously set element, or NULL if none exists. +static void *hashmap_get(const struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success 0 is returned. +static int hashmap_remove(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success the original stored key pointer is returned, on failure +/// NULL is returned. +static const char * +hashmap_remove_and_return_key(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. Otherwise if +/// the callback function f returned non-zero then non-zero is returned. +static int hashmap_iterate(const struct hashmap_s *const hashmap, + int (*f)(void *const context, void *const value), + void *const context) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. +/// Otherwise if the callback function f returned positive then the positive +/// value is returned. If the callback function returns -1, the current item +/// is removed and iteration continues. +static int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) HASHMAP_USED; + +/// @brief Get the size of the hashmap. +/// @param hashmap The hashmap to get the size of. +/// @return The size of the hashmap. +static unsigned +hashmap_num_entries(const struct hashmap_s *const hashmap) HASHMAP_USED; + +/// @brief Destroy the hashmap. +/// @param hashmap The hashmap to destroy. +static void hashmap_destroy(struct hashmap_s *const hashmap) HASHMAP_USED; + +static unsigned hashmap_crc32_helper(const char *const s, + const unsigned len) HASHMAP_USED; +static unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) HASHMAP_USED; +static int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, + const unsigned len) HASHMAP_USED; +static int hashmap_hash_helper(const struct hashmap_s *const m, + const char *const key, const unsigned len, + unsigned *const out_index) HASHMAP_USED; +static int +hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) HASHMAP_USED; +static int hashmap_rehash_helper(struct hashmap_s *const m) HASHMAP_USED; + +#if defined(__cplusplus) +} +#endif + +#if defined(__cplusplus) +#define HASHMAP_CAST(type, x) static_cast(x) +#define HASHMAP_PTR_CAST(type, x) reinterpret_cast(x) +#define HASHMAP_NULL NULL +#else +#define HASHMAP_CAST(type, x) ((type)x) +#define HASHMAP_PTR_CAST(type, x) ((type)x) +#define HASHMAP_NULL 0 +#endif + +int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) { + out_hashmap->table_size = initial_size; + out_hashmap->size = 0; + + if (0 == initial_size || 0 != (initial_size & (initial_size - 1))) { + return 1; + } + + out_hashmap->data = + HASHMAP_CAST(struct hashmap_element_s *, + malloc(initial_size * sizeof(struct hashmap_element_s))); + if (!out_hashmap->data) { + return 1; + } + memset(out_hashmap->data, 0, initial_size * sizeof(struct hashmap_element_s)); + + return 0; +} + +int hashmap_put(struct hashmap_s *const m, const char *const key, + const unsigned len, void *const value) { + unsigned int index; + + /* Find a place to put our value. */ + while (!hashmap_hash_helper(m, key, len, &index)) { + if (hashmap_rehash_helper(m)) { + return 1; + } + } + + /* Set the data. */ + m->data[index].data = value; + m->data[index].key = key; + m->data[index].key_len = len; + + /* If the hashmap element was not already in use, set that it is being used + * and bump our size. */ + if (0 == m->data[index].in_use) { + m->data[index].in_use = 1; + m->size++; + } + + return 0; +} + +void *hashmap_get(const struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int curr; + unsigned int i; + + /* Find data location */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + return m->data[curr].data; + } + } + + curr = (curr + 1) % m->table_size; + } + + /* Not found */ + return HASHMAP_NULL; +} + +int hashmap_remove(struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + /* Blank out the fields including in_use */ + memset(&m->data[curr], 0, sizeof(struct hashmap_element_s)); + + /* Reduce the size */ + m->size--; + + return 0; + } + } + + curr = (curr + 1) % m->table_size; + } + + return 1; +} + +const char *hashmap_remove_and_return_key(struct hashmap_s *const m, + const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + const char *const stored_key = m->data[curr].key; + + /* Blank out the fields */ + m->data[curr].in_use = 0; + m->data[curr].data = HASHMAP_NULL; + m->data[curr].key = HASHMAP_NULL; + + /* Reduce the size */ + m->size--; + + return stored_key; + } + } + curr = (curr + 1) % m->table_size; + } + + return HASHMAP_NULL; +} + +int hashmap_iterate(const struct hashmap_s *const m, + int (*f)(void *const, void *const), void *const context) { + unsigned int i; + + /* Linear probing */ + for (i = 0; i < m->table_size; i++) { + if (m->data[i].in_use) { + if (!f(context, m->data[i].data)) { + return 1; + } + } + } + return 0; +} + +int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) { + unsigned int i; + struct hashmap_element_s *p; + int r; + + /* Linear probing */ + for (i = 0; i < hashmap->table_size; i++) { + p = &hashmap->data[i]; + if (p->in_use) { + r = f(context, p); + switch (r) { + case -1: /* remove item */ + memset(p, 0, sizeof(struct hashmap_element_s)); + hashmap->size--; + break; + case 0: /* continue iterating */ + break; + default: /* early exit */ + return 1; + } + } + } + return 0; +} + +void hashmap_destroy(struct hashmap_s *const m) { + free(m->data); + memset(m, 0, sizeof(struct hashmap_s)); +} + +unsigned hashmap_num_entries(const struct hashmap_s *const m) { + return m->size; +} + +unsigned hashmap_crc32_helper(const char *const s, const unsigned len) { + unsigned i; + unsigned crc32val = 0; + +#if defined(HASHMAP_SSE42) + for (i = 0; i < len; i++) { + crc32val = _mm_crc32_u8(crc32val, HASHMAP_CAST(unsigned char, s[i])); + } + + return crc32val; +#else + // Using polynomial 0x11EDC6F41 to match SSE 4.2's crc function. + static const unsigned crc32_tab[] = { + 0x00000000U, 0xF26B8303U, 0xE13B70F7U, 0x1350F3F4U, 0xC79A971FU, + 0x35F1141CU, 0x26A1E7E8U, 0xD4CA64EBU, 0x8AD958CFU, 0x78B2DBCCU, + 0x6BE22838U, 0x9989AB3BU, 0x4D43CFD0U, 0xBF284CD3U, 0xAC78BF27U, + 0x5E133C24U, 0x105EC76FU, 0xE235446CU, 0xF165B798U, 0x030E349BU, + 0xD7C45070U, 0x25AFD373U, 0x36FF2087U, 0xC494A384U, 0x9A879FA0U, + 0x68EC1CA3U, 0x7BBCEF57U, 0x89D76C54U, 0x5D1D08BFU, 0xAF768BBCU, + 0xBC267848U, 0x4E4DFB4BU, 0x20BD8EDEU, 0xD2D60DDDU, 0xC186FE29U, + 0x33ED7D2AU, 0xE72719C1U, 0x154C9AC2U, 0x061C6936U, 0xF477EA35U, + 0xAA64D611U, 0x580F5512U, 0x4B5FA6E6U, 0xB93425E5U, 0x6DFE410EU, + 0x9F95C20DU, 0x8CC531F9U, 0x7EAEB2FAU, 0x30E349B1U, 0xC288CAB2U, + 0xD1D83946U, 0x23B3BA45U, 0xF779DEAEU, 0x05125DADU, 0x1642AE59U, + 0xE4292D5AU, 0xBA3A117EU, 0x4851927DU, 0x5B016189U, 0xA96AE28AU, + 0x7DA08661U, 0x8FCB0562U, 0x9C9BF696U, 0x6EF07595U, 0x417B1DBCU, + 0xB3109EBFU, 0xA0406D4BU, 0x522BEE48U, 0x86E18AA3U, 0x748A09A0U, + 0x67DAFA54U, 0x95B17957U, 0xCBA24573U, 0x39C9C670U, 0x2A993584U, + 0xD8F2B687U, 0x0C38D26CU, 0xFE53516FU, 0xED03A29BU, 0x1F682198U, + 0x5125DAD3U, 0xA34E59D0U, 0xB01EAA24U, 0x42752927U, 0x96BF4DCCU, + 0x64D4CECFU, 0x77843D3BU, 0x85EFBE38U, 0xDBFC821CU, 0x2997011FU, + 0x3AC7F2EBU, 0xC8AC71E8U, 0x1C661503U, 0xEE0D9600U, 0xFD5D65F4U, + 0x0F36E6F7U, 0x61C69362U, 0x93AD1061U, 0x80FDE395U, 0x72966096U, + 0xA65C047DU, 0x5437877EU, 0x4767748AU, 0xB50CF789U, 0xEB1FCBADU, + 0x197448AEU, 0x0A24BB5AU, 0xF84F3859U, 0x2C855CB2U, 0xDEEEDFB1U, + 0xCDBE2C45U, 0x3FD5AF46U, 0x7198540DU, 0x83F3D70EU, 0x90A324FAU, + 0x62C8A7F9U, 0xB602C312U, 0x44694011U, 0x5739B3E5U, 0xA55230E6U, + 0xFB410CC2U, 0x092A8FC1U, 0x1A7A7C35U, 0xE811FF36U, 0x3CDB9BDDU, + 0xCEB018DEU, 0xDDE0EB2AU, 0x2F8B6829U, 0x82F63B78U, 0x709DB87BU, + 0x63CD4B8FU, 0x91A6C88CU, 0x456CAC67U, 0xB7072F64U, 0xA457DC90U, + 0x563C5F93U, 0x082F63B7U, 0xFA44E0B4U, 0xE9141340U, 0x1B7F9043U, + 0xCFB5F4A8U, 0x3DDE77ABU, 0x2E8E845FU, 0xDCE5075CU, 0x92A8FC17U, + 0x60C37F14U, 0x73938CE0U, 0x81F80FE3U, 0x55326B08U, 0xA759E80BU, + 0xB4091BFFU, 0x466298FCU, 0x1871A4D8U, 0xEA1A27DBU, 0xF94AD42FU, + 0x0B21572CU, 0xDFEB33C7U, 0x2D80B0C4U, 0x3ED04330U, 0xCCBBC033U, + 0xA24BB5A6U, 0x502036A5U, 0x4370C551U, 0xB11B4652U, 0x65D122B9U, + 0x97BAA1BAU, 0x84EA524EU, 0x7681D14DU, 0x2892ED69U, 0xDAF96E6AU, + 0xC9A99D9EU, 0x3BC21E9DU, 0xEF087A76U, 0x1D63F975U, 0x0E330A81U, + 0xFC588982U, 0xB21572C9U, 0x407EF1CAU, 0x532E023EU, 0xA145813DU, + 0x758FE5D6U, 0x87E466D5U, 0x94B49521U, 0x66DF1622U, 0x38CC2A06U, + 0xCAA7A905U, 0xD9F75AF1U, 0x2B9CD9F2U, 0xFF56BD19U, 0x0D3D3E1AU, + 0x1E6DCDEEU, 0xEC064EEDU, 0xC38D26C4U, 0x31E6A5C7U, 0x22B65633U, + 0xD0DDD530U, 0x0417B1DBU, 0xF67C32D8U, 0xE52CC12CU, 0x1747422FU, + 0x49547E0BU, 0xBB3FFD08U, 0xA86F0EFCU, 0x5A048DFFU, 0x8ECEE914U, + 0x7CA56A17U, 0x6FF599E3U, 0x9D9E1AE0U, 0xD3D3E1ABU, 0x21B862A8U, + 0x32E8915CU, 0xC083125FU, 0x144976B4U, 0xE622F5B7U, 0xF5720643U, + 0x07198540U, 0x590AB964U, 0xAB613A67U, 0xB831C993U, 0x4A5A4A90U, + 0x9E902E7BU, 0x6CFBAD78U, 0x7FAB5E8CU, 0x8DC0DD8FU, 0xE330A81AU, + 0x115B2B19U, 0x020BD8EDU, 0xF0605BEEU, 0x24AA3F05U, 0xD6C1BC06U, + 0xC5914FF2U, 0x37FACCF1U, 0x69E9F0D5U, 0x9B8273D6U, 0x88D28022U, + 0x7AB90321U, 0xAE7367CAU, 0x5C18E4C9U, 0x4F48173DU, 0xBD23943EU, + 0xF36E6F75U, 0x0105EC76U, 0x12551F82U, 0xE03E9C81U, 0x34F4F86AU, + 0xC69F7B69U, 0xD5CF889DU, 0x27A40B9EU, 0x79B737BAU, 0x8BDCB4B9U, + 0x988C474DU, 0x6AE7C44EU, 0xBE2DA0A5U, 0x4C4623A6U, 0x5F16D052U, + 0xAD7D5351U}; + + for (i = 0; i < len; i++) { + crc32val = crc32_tab[(HASHMAP_CAST(unsigned char, crc32val) ^ + HASHMAP_CAST(unsigned char, s[i]))] ^ + (crc32val >> 8); + } + return crc32val; +#endif +} + +unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) { + unsigned key = hashmap_crc32_helper(keystring, len); + + /* Robert Jenkins' 32 bit Mix Function */ + key += (key << 12); + key ^= (key >> 22); + key += (key << 4); + key ^= (key >> 9); + key += (key << 10); + key ^= (key >> 2); + key += (key << 7); + key ^= (key >> 12); + + /* Knuth's Multiplicative Method */ + key = (key >> 3) * 2654435761; + + return key % m->table_size; +} + +int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, const unsigned len) { + return (element->key_len == len) && (0 == memcmp(element->key, key, len)); +} + +int hashmap_hash_helper(const struct hashmap_s *const m, const char *const key, + const unsigned len, unsigned *const out_index) { + unsigned int start, curr; + unsigned int i; + int total_in_use; + + /* If full, return immediately */ + if (m->size >= m->table_size) { + return 0; + } + + /* Find the best index */ + curr = start = hashmap_hash_helper_int_helper(m, key, len); + + /* First linear probe to check if we've already insert the element */ + total_in_use = 0; + + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + const int in_use = m->data[curr].in_use; + + total_in_use += in_use; + + if (in_use && hashmap_match_helper(&m->data[curr], key, len)) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + + curr = start; + + /* Second linear probe to actually insert our element (only if there was at + * least one empty entry) */ + if (HASHMAP_MAX_CHAIN_LENGTH > total_in_use) { + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (!m->data[curr].in_use) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + } + + return 0; +} + +int hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) { + int temp = hashmap_put(HASHMAP_PTR_CAST(struct hashmap_s *, new_hash), e->key, + e->key_len, e->data); + if (0 < temp) { + return 1; + } + /* clear old value to avoid stale pointers */ + return -1; +} +/* + * Doubles the size of the hashmap, and rehashes all the elements + */ +int hashmap_rehash_helper(struct hashmap_s *const m) { + /* If this multiplication overflows hashmap_create will fail. */ + unsigned new_size = 2 * m->table_size; + + struct hashmap_s new_hash; + + int flag = hashmap_create(new_size, &new_hash); + + if (0 != flag) { + return flag; + } + + /* copy the old elements to the new table */ + flag = hashmap_iterate_pairs(m, hashmap_rehash_iterator, + HASHMAP_PTR_CAST(void *, &new_hash)); + + if (0 != flag) { + return flag; + } + + hashmap_destroy(m); + /* put new hash into old hash structure by copying */ + memcpy(m, &new_hash, sizeof(struct hashmap_s)); + + return 0; +} + +#if defined(_MSC_VER) +#pragma warning(pop) +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif + +#endif diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix4.pbm b/cart/test/roof_fix4.pbm deleted file mode 100644 index 2c392ad..0000000 --- a/cart/test/roof_fix4.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/test/roof_fix5.pbm b/cart/test/roof_fix5.pbm deleted file mode 100644 index 39b7f23..0000000 --- a/cart/test/roof_fix5.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/test/roof_fix6.pbm b/cart/test/roof_fix6.pbm deleted file mode 100644 index 8bbe9fc..0000000 --- a/cart/test/roof_fix6.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/test/roof_fix7.pbm b/cart/test/roof_fix7.pbm deleted file mode 100644 index 0c29640..0000000 --- a/cart/test/roof_fix7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix8.pbm b/cart/test/roof_fix8.pbm deleted file mode 100644 index e90cfc3..0000000 --- a/cart/test/roof_fix8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix9.pbm b/cart/test/roof_fix9.pbm deleted file mode 100644 index 31dfb3d..0000000 --- a/cart/test/roof_fix9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall1.pbm b/cart/test/wall1.pbm deleted file mode 100644 index 31e09be..0000000 --- a/cart/test/wall1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall2.pbm b/cart/test/wall2.pbm deleted file mode 100644 index 1871c8b..0000000 --- a/cart/test/wall2.pbm +++ /dev/null Binary files differ diff --git a/rpg/Makefile b/rpg/Makefile new file mode 100644 index 0000000..5a8fda9 --- /dev/null +++ b/rpg/Makefile @@ -0,0 +1,10 @@ +CART_DIR ?= ../cart/rpg +MAKE_ROOT ?= ../../cneboy/make + +SOURCES := rpg.c parse.c + +MODULES := level14 + +SOURCES_level14 := level14.c + +include $(MAKE_ROOT)/Makefile diff --git a/rpg/constants.h b/rpg/constants.h new file mode 100644 index 0000000..336c98e --- /dev/null +++ b/rpg/constants.h @@ -0,0 +1,6 @@ +#define GRID 14 +#define COLS 12 +#define ROWS 10 +#define PADX 0 +#define PADY 2 +#define SPRITEOFF -1 diff --git a/rpg/ent.h b/rpg/ent.h new file mode 100644 index 0000000..254369d --- /dev/null +++ b/rpg/ent.h @@ -0,0 +1,20 @@ +#pragma once +#include +#include + +typedef struct +{ + // last frame coords + float ox; + float oy; + + // current coords + float x; + float y; + + pbm_t* graphic; + pbm_t* outline; + int off_x; + int off_y; + int outline_pixels; +} ent_t; diff --git a/rpg/grid.h b/rpg/grid.h new file mode 100644 index 0000000..4cddf8d --- /dev/null +++ b/rpg/grid.h @@ -0,0 +1,12 @@ +typedef enum +{ + GRID_FLIPX = 1, + GRID_FLIPY = 2, +} grid_flags; + +typedef struct +{ + uint8_t tile; + grid_flags flags; + char* tag; +} grid_t; diff --git a/rpg/hashmap.h b/rpg/hashmap.h new file mode 100644 index 0000000..da88e81 --- /dev/null +++ b/rpg/hashmap.h @@ -0,0 +1,594 @@ +/* + The latest version of this library is available on GitHub; + https://github.com/sheredom/hashmap.h +*/ + +/* + This is free and unencumbered software released into the public domain. + + Anyone is free to copy, modify, publish, use, compile, sell, or + distribute this software, either in source code form or as a compiled + binary, for any purpose, commercial or non-commercial, and by any + means. + + In jurisdictions that recognize copyright laws, the author or authors + of this software dedicate any and all copyright interest in the + software to the public domain. We make this dedication for the benefit + of the public at large and to the detriment of our heirs and + successors. We intend this dedication to be an overt act of + relinquishment in perpetuity of all present and future rights to this + software under copyright law. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + For more information, please refer to +*/ +#ifndef SHEREDOM_HASHMAP_H_INCLUDED +#define SHEREDOM_HASHMAP_H_INCLUDED + +#if defined(_MSC_VER) +// Workaround a bug in the MSVC runtime where it uses __cplusplus when not +// defined. +#pragma warning(push, 0) +#pragma warning(disable : 4668) +#endif + +#include "client_api.h" + +//#include +//#include + +//#if (defined(_MSC_VER) && defined(__AVX__)) || \ +// (!defined(_MSC_VER) && defined(__SSE4_2__)) +//#define HASHMAP_SSE42 +//#endif + +//#if defined(HASHMAP_SSE42) +//#include +//#endif + +#if defined(_MSC_VER) +#pragma warning(pop) +#endif + +#if defined(_MSC_VER) +#pragma warning(push) +/* Stop MSVC complaining about unreferenced functions */ +#pragma warning(disable : 4505) +/* Stop MSVC complaining about not inlining functions */ +#pragma warning(disable : 4710) +/* Stop MSVC complaining about inlining functions! */ +#pragma warning(disable : 4711) +#elif defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-function" +#endif + +#if defined(_MSC_VER) +#define HASHMAP_USED +#elif defined(__GNUC__) +#define HASHMAP_USED __attribute__((used)) +#else +#define HASHMAP_USED +#endif + +/* We need to keep keys and values. */ +struct hashmap_element_s { + const char *key; + unsigned key_len; + int in_use; + void *data; +}; + +/* A hashmap has some maximum size and current size, as well as the data to + * hold. */ +struct hashmap_s { + unsigned table_size; + unsigned size; + struct hashmap_element_s *data; +}; + +#define HASHMAP_MAX_CHAIN_LENGTH (8) + +#if defined(__cplusplus) +extern "C" { +#endif + +/// @brief Create a hashmap. +/// @param initial_size The initial size of the hashmap. Must be a power of two. +/// @param out_hashmap The storage for the created hashmap. +/// @return On success 0 is returned. +/// +/// Note that the initial size of the hashmap must be a power of two, and +/// creation of the hashmap will fail if this is not the case. +static int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) HASHMAP_USED; + +/// @brief Put an element into the hashmap. +/// @param hashmap The hashmap to insert into. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @param value The value to insert. +/// @return On success 0 is returned. +/// +/// The key string slice is not copied when creating the hashmap entry, and thus +/// must remain a valid pointer until the hashmap entry is removed or the +/// hashmap is destroyed. +static int hashmap_put(struct hashmap_s *const hashmap, const char *const key, + const unsigned len, void *const value) HASHMAP_USED; + +/// @brief Get an element from the hashmap. +/// @param hashmap The hashmap to get from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return The previously set element, or NULL if none exists. +static void *hashmap_get(const struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success 0 is returned. +static int hashmap_remove(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success the original stored key pointer is returned, on failure +/// NULL is returned. +static const char * +hashmap_remove_and_return_key(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. Otherwise if +/// the callback function f returned non-zero then non-zero is returned. +static int hashmap_iterate(const struct hashmap_s *const hashmap, + int (*f)(void *const context, void *const value), + void *const context) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. +/// Otherwise if the callback function f returned positive then the positive +/// value is returned. If the callback function returns -1, the current item +/// is removed and iteration continues. +static int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) HASHMAP_USED; + +/// @brief Get the size of the hashmap. +/// @param hashmap The hashmap to get the size of. +/// @return The size of the hashmap. +static unsigned +hashmap_num_entries(const struct hashmap_s *const hashmap) HASHMAP_USED; + +/// @brief Destroy the hashmap. +/// @param hashmap The hashmap to destroy. +static void hashmap_destroy(struct hashmap_s *const hashmap) HASHMAP_USED; + +static unsigned hashmap_crc32_helper(const char *const s, + const unsigned len) HASHMAP_USED; +static unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) HASHMAP_USED; +static int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, + const unsigned len) HASHMAP_USED; +static int hashmap_hash_helper(const struct hashmap_s *const m, + const char *const key, const unsigned len, + unsigned *const out_index) HASHMAP_USED; +static int +hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) HASHMAP_USED; +static int hashmap_rehash_helper(struct hashmap_s *const m) HASHMAP_USED; + +#if defined(__cplusplus) +} +#endif + +#if defined(__cplusplus) +#define HASHMAP_CAST(type, x) static_cast(x) +#define HASHMAP_PTR_CAST(type, x) reinterpret_cast(x) +#define HASHMAP_NULL NULL +#else +#define HASHMAP_CAST(type, x) ((type)x) +#define HASHMAP_PTR_CAST(type, x) ((type)x) +#define HASHMAP_NULL 0 +#endif + +int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) { + out_hashmap->table_size = initial_size; + out_hashmap->size = 0; + + if (0 == initial_size || 0 != (initial_size & (initial_size - 1))) { + return 1; + } + + out_hashmap->data = + HASHMAP_CAST(struct hashmap_element_s *, + malloc(initial_size * sizeof(struct hashmap_element_s))); + if (!out_hashmap->data) { + return 1; + } + memset(out_hashmap->data, 0, initial_size * sizeof(struct hashmap_element_s)); + + return 0; +} + +int hashmap_put(struct hashmap_s *const m, const char *const key, + const unsigned len, void *const value) { + unsigned int index; + + /* Find a place to put our value. */ + while (!hashmap_hash_helper(m, key, len, &index)) { + if (hashmap_rehash_helper(m)) { + return 1; + } + } + + /* Set the data. */ + m->data[index].data = value; + m->data[index].key = key; + m->data[index].key_len = len; + + /* If the hashmap element was not already in use, set that it is being used + * and bump our size. */ + if (0 == m->data[index].in_use) { + m->data[index].in_use = 1; + m->size++; + } + + return 0; +} + +void *hashmap_get(const struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int curr; + unsigned int i; + + /* Find data location */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + return m->data[curr].data; + } + } + + curr = (curr + 1) % m->table_size; + } + + /* Not found */ + return HASHMAP_NULL; +} + +int hashmap_remove(struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + /* Blank out the fields including in_use */ + memset(&m->data[curr], 0, sizeof(struct hashmap_element_s)); + + /* Reduce the size */ + m->size--; + + return 0; + } + } + + curr = (curr + 1) % m->table_size; + } + + return 1; +} + +const char *hashmap_remove_and_return_key(struct hashmap_s *const m, + const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + const char *const stored_key = m->data[curr].key; + + /* Blank out the fields */ + m->data[curr].in_use = 0; + m->data[curr].data = HASHMAP_NULL; + m->data[curr].key = HASHMAP_NULL; + + /* Reduce the size */ + m->size--; + + return stored_key; + } + } + curr = (curr + 1) % m->table_size; + } + + return HASHMAP_NULL; +} + +int hashmap_iterate(const struct hashmap_s *const m, + int (*f)(void *const, void *const), void *const context) { + unsigned int i; + + /* Linear probing */ + for (i = 0; i < m->table_size; i++) { + if (m->data[i].in_use) { + if (!f(context, m->data[i].data)) { + return 1; + } + } + } + return 0; +} + +int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) { + unsigned int i; + struct hashmap_element_s *p; + int r; + + /* Linear probing */ + for (i = 0; i < hashmap->table_size; i++) { + p = &hashmap->data[i]; + if (p->in_use) { + r = f(context, p); + switch (r) { + case -1: /* remove item */ + memset(p, 0, sizeof(struct hashmap_element_s)); + hashmap->size--; + break; + case 0: /* continue iterating */ + break; + default: /* early exit */ + return 1; + } + } + } + return 0; +} + +void hashmap_destroy(struct hashmap_s *const m) { + free(m->data); + memset(m, 0, sizeof(struct hashmap_s)); +} + +unsigned hashmap_num_entries(const struct hashmap_s *const m) { + return m->size; +} + +unsigned hashmap_crc32_helper(const char *const s, const unsigned len) { + unsigned i; + unsigned crc32val = 0; + +#if defined(HASHMAP_SSE42) + for (i = 0; i < len; i++) { + crc32val = _mm_crc32_u8(crc32val, HASHMAP_CAST(unsigned char, s[i])); + } + + return crc32val; +#else + // Using polynomial 0x11EDC6F41 to match SSE 4.2's crc function. + static const unsigned crc32_tab[] = { + 0x00000000U, 0xF26B8303U, 0xE13B70F7U, 0x1350F3F4U, 0xC79A971FU, + 0x35F1141CU, 0x26A1E7E8U, 0xD4CA64EBU, 0x8AD958CFU, 0x78B2DBCCU, + 0x6BE22838U, 0x9989AB3BU, 0x4D43CFD0U, 0xBF284CD3U, 0xAC78BF27U, + 0x5E133C24U, 0x105EC76FU, 0xE235446CU, 0xF165B798U, 0x030E349BU, + 0xD7C45070U, 0x25AFD373U, 0x36FF2087U, 0xC494A384U, 0x9A879FA0U, + 0x68EC1CA3U, 0x7BBCEF57U, 0x89D76C54U, 0x5D1D08BFU, 0xAF768BBCU, + 0xBC267848U, 0x4E4DFB4BU, 0x20BD8EDEU, 0xD2D60DDDU, 0xC186FE29U, + 0x33ED7D2AU, 0xE72719C1U, 0x154C9AC2U, 0x061C6936U, 0xF477EA35U, + 0xAA64D611U, 0x580F5512U, 0x4B5FA6E6U, 0xB93425E5U, 0x6DFE410EU, + 0x9F95C20DU, 0x8CC531F9U, 0x7EAEB2FAU, 0x30E349B1U, 0xC288CAB2U, + 0xD1D83946U, 0x23B3BA45U, 0xF779DEAEU, 0x05125DADU, 0x1642AE59U, + 0xE4292D5AU, 0xBA3A117EU, 0x4851927DU, 0x5B016189U, 0xA96AE28AU, + 0x7DA08661U, 0x8FCB0562U, 0x9C9BF696U, 0x6EF07595U, 0x417B1DBCU, + 0xB3109EBFU, 0xA0406D4BU, 0x522BEE48U, 0x86E18AA3U, 0x748A09A0U, + 0x67DAFA54U, 0x95B17957U, 0xCBA24573U, 0x39C9C670U, 0x2A993584U, + 0xD8F2B687U, 0x0C38D26CU, 0xFE53516FU, 0xED03A29BU, 0x1F682198U, + 0x5125DAD3U, 0xA34E59D0U, 0xB01EAA24U, 0x42752927U, 0x96BF4DCCU, + 0x64D4CECFU, 0x77843D3BU, 0x85EFBE38U, 0xDBFC821CU, 0x2997011FU, + 0x3AC7F2EBU, 0xC8AC71E8U, 0x1C661503U, 0xEE0D9600U, 0xFD5D65F4U, + 0x0F36E6F7U, 0x61C69362U, 0x93AD1061U, 0x80FDE395U, 0x72966096U, + 0xA65C047DU, 0x5437877EU, 0x4767748AU, 0xB50CF789U, 0xEB1FCBADU, + 0x197448AEU, 0x0A24BB5AU, 0xF84F3859U, 0x2C855CB2U, 0xDEEEDFB1U, + 0xCDBE2C45U, 0x3FD5AF46U, 0x7198540DU, 0x83F3D70EU, 0x90A324FAU, + 0x62C8A7F9U, 0xB602C312U, 0x44694011U, 0x5739B3E5U, 0xA55230E6U, + 0xFB410CC2U, 0x092A8FC1U, 0x1A7A7C35U, 0xE811FF36U, 0x3CDB9BDDU, + 0xCEB018DEU, 0xDDE0EB2AU, 0x2F8B6829U, 0x82F63B78U, 0x709DB87BU, + 0x63CD4B8FU, 0x91A6C88CU, 0x456CAC67U, 0xB7072F64U, 0xA457DC90U, + 0x563C5F93U, 0x082F63B7U, 0xFA44E0B4U, 0xE9141340U, 0x1B7F9043U, + 0xCFB5F4A8U, 0x3DDE77ABU, 0x2E8E845FU, 0xDCE5075CU, 0x92A8FC17U, + 0x60C37F14U, 0x73938CE0U, 0x81F80FE3U, 0x55326B08U, 0xA759E80BU, + 0xB4091BFFU, 0x466298FCU, 0x1871A4D8U, 0xEA1A27DBU, 0xF94AD42FU, + 0x0B21572CU, 0xDFEB33C7U, 0x2D80B0C4U, 0x3ED04330U, 0xCCBBC033U, + 0xA24BB5A6U, 0x502036A5U, 0x4370C551U, 0xB11B4652U, 0x65D122B9U, + 0x97BAA1BAU, 0x84EA524EU, 0x7681D14DU, 0x2892ED69U, 0xDAF96E6AU, + 0xC9A99D9EU, 0x3BC21E9DU, 0xEF087A76U, 0x1D63F975U, 0x0E330A81U, + 0xFC588982U, 0xB21572C9U, 0x407EF1CAU, 0x532E023EU, 0xA145813DU, + 0x758FE5D6U, 0x87E466D5U, 0x94B49521U, 0x66DF1622U, 0x38CC2A06U, + 0xCAA7A905U, 0xD9F75AF1U, 0x2B9CD9F2U, 0xFF56BD19U, 0x0D3D3E1AU, + 0x1E6DCDEEU, 0xEC064EEDU, 0xC38D26C4U, 0x31E6A5C7U, 0x22B65633U, + 0xD0DDD530U, 0x0417B1DBU, 0xF67C32D8U, 0xE52CC12CU, 0x1747422FU, + 0x49547E0BU, 0xBB3FFD08U, 0xA86F0EFCU, 0x5A048DFFU, 0x8ECEE914U, + 0x7CA56A17U, 0x6FF599E3U, 0x9D9E1AE0U, 0xD3D3E1ABU, 0x21B862A8U, + 0x32E8915CU, 0xC083125FU, 0x144976B4U, 0xE622F5B7U, 0xF5720643U, + 0x07198540U, 0x590AB964U, 0xAB613A67U, 0xB831C993U, 0x4A5A4A90U, + 0x9E902E7BU, 0x6CFBAD78U, 0x7FAB5E8CU, 0x8DC0DD8FU, 0xE330A81AU, + 0x115B2B19U, 0x020BD8EDU, 0xF0605BEEU, 0x24AA3F05U, 0xD6C1BC06U, + 0xC5914FF2U, 0x37FACCF1U, 0x69E9F0D5U, 0x9B8273D6U, 0x88D28022U, + 0x7AB90321U, 0xAE7367CAU, 0x5C18E4C9U, 0x4F48173DU, 0xBD23943EU, + 0xF36E6F75U, 0x0105EC76U, 0x12551F82U, 0xE03E9C81U, 0x34F4F86AU, + 0xC69F7B69U, 0xD5CF889DU, 0x27A40B9EU, 0x79B737BAU, 0x8BDCB4B9U, + 0x988C474DU, 0x6AE7C44EU, 0xBE2DA0A5U, 0x4C4623A6U, 0x5F16D052U, + 0xAD7D5351U}; + + for (i = 0; i < len; i++) { + crc32val = crc32_tab[(HASHMAP_CAST(unsigned char, crc32val) ^ + HASHMAP_CAST(unsigned char, s[i]))] ^ + (crc32val >> 8); + } + return crc32val; +#endif +} + +unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) { + unsigned key = hashmap_crc32_helper(keystring, len); + + /* Robert Jenkins' 32 bit Mix Function */ + key += (key << 12); + key ^= (key >> 22); + key += (key << 4); + key ^= (key >> 9); + key += (key << 10); + key ^= (key >> 2); + key += (key << 7); + key ^= (key >> 12); + + /* Knuth's Multiplicative Method */ + key = (key >> 3) * 2654435761; + + return key % m->table_size; +} + +int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, const unsigned len) { + return (element->key_len == len) && (0 == memcmp(element->key, key, len)); +} + +int hashmap_hash_helper(const struct hashmap_s *const m, const char *const key, + const unsigned len, unsigned *const out_index) { + unsigned int start, curr; + unsigned int i; + int total_in_use; + + /* If full, return immediately */ + if (m->size >= m->table_size) { + return 0; + } + + /* Find the best index */ + curr = start = hashmap_hash_helper_int_helper(m, key, len); + + /* First linear probe to check if we've already insert the element */ + total_in_use = 0; + + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + const int in_use = m->data[curr].in_use; + + total_in_use += in_use; + + if (in_use && hashmap_match_helper(&m->data[curr], key, len)) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + + curr = start; + + /* Second linear probe to actually insert our element (only if there was at + * least one empty entry) */ + if (HASHMAP_MAX_CHAIN_LENGTH > total_in_use) { + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (!m->data[curr].in_use) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + } + + return 0; +} + +int hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) { + int temp = hashmap_put(HASHMAP_PTR_CAST(struct hashmap_s *, new_hash), e->key, + e->key_len, e->data); + if (0 < temp) { + return 1; + } + /* clear old value to avoid stale pointers */ + return -1; +} +/* + * Doubles the size of the hashmap, and rehashes all the elements + */ +int hashmap_rehash_helper(struct hashmap_s *const m) { + /* If this multiplication overflows hashmap_create will fail. */ + unsigned new_size = 2 * m->table_size; + + struct hashmap_s new_hash; + + int flag = hashmap_create(new_size, &new_hash); + + if (0 != flag) { + return flag; + } + + /* copy the old elements to the new table */ + flag = hashmap_iterate_pairs(m, hashmap_rehash_iterator, + HASHMAP_PTR_CAST(void *, &new_hash)); + + if (0 != flag) { + return flag; + } + + hashmap_destroy(m); + /* put new hash into old hash structure by copying */ + memcpy(m, &new_hash, sizeof(struct hashmap_s)); + + return 0; +} + +#if defined(_MSC_VER) +#pragma warning(pop) +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif + +#endif diff --git a/rpg/level14.c b/rpg/level14.c new file mode 100644 index 0000000..59cc068 --- /dev/null +++ b/rpg/level14.c @@ -0,0 +1,56 @@ +#include +#include "constants.h" +#include "ent.h" + +#include +#include "rpg_imports.h" + +bool in_door = false; + +__EXPORT__ void level_entered_tile(ent_t* ent, int gx, int gy, grid_t g) +{ + if (g.tag) + { + if (is_player(ent)) + { + grid_t* find = NULL; + if (strcmp(g.tag, "d1") == 0) + { + if (!in_door && (find = get_tile_by_tag("d2")) != NULL) + { + int target_gx, target_gy; + grid_pos(find, &target_gx, &target_gy); + ent->x = target_gx * GRID; + ent->y = target_gy * GRID; + in_door = true; + } + } + if (strcmp(g.tag, "d2") == 0) + { + if (!in_door && (find = get_tile_by_tag("d1")) != NULL) + { + int target_gx, target_gy; + grid_pos((grid_t*)find, &target_gx, &target_gy); + ent->x = target_gx * GRID; + ent->y = target_gy * GRID; + in_door = true; + } + } + } + } +} +__EXPORT__ void level_exited_tile(ent_t* ent, int gx, int gy, grid_t g) +{ +} + +__EXPORT__ void level_update(float ms) +{ + in_door = false; +} + +__EXPORT__ int setup(int arg) +{ + LOAD_DYN(is_player) + LOAD_DYN(get_tile_by_tag) + LOAD_DYN(grid_pos) +} diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix4.pbm b/cart/test/roof_fix4.pbm deleted file mode 100644 index 2c392ad..0000000 --- a/cart/test/roof_fix4.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/test/roof_fix5.pbm b/cart/test/roof_fix5.pbm deleted file mode 100644 index 39b7f23..0000000 --- a/cart/test/roof_fix5.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/test/roof_fix6.pbm b/cart/test/roof_fix6.pbm deleted file mode 100644 index 8bbe9fc..0000000 --- a/cart/test/roof_fix6.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/test/roof_fix7.pbm b/cart/test/roof_fix7.pbm deleted file mode 100644 index 0c29640..0000000 --- a/cart/test/roof_fix7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix8.pbm b/cart/test/roof_fix8.pbm deleted file mode 100644 index e90cfc3..0000000 --- a/cart/test/roof_fix8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix9.pbm b/cart/test/roof_fix9.pbm deleted file mode 100644 index 31dfb3d..0000000 --- a/cart/test/roof_fix9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall1.pbm b/cart/test/wall1.pbm deleted file mode 100644 index 31e09be..0000000 --- a/cart/test/wall1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall2.pbm b/cart/test/wall2.pbm deleted file mode 100644 index 1871c8b..0000000 --- a/cart/test/wall2.pbm +++ /dev/null Binary files differ diff --git a/rpg/Makefile b/rpg/Makefile new file mode 100644 index 0000000..5a8fda9 --- /dev/null +++ b/rpg/Makefile @@ -0,0 +1,10 @@ +CART_DIR ?= ../cart/rpg +MAKE_ROOT ?= ../../cneboy/make + +SOURCES := rpg.c parse.c + +MODULES := level14 + +SOURCES_level14 := level14.c + +include $(MAKE_ROOT)/Makefile diff --git a/rpg/constants.h b/rpg/constants.h new file mode 100644 index 0000000..336c98e --- /dev/null +++ b/rpg/constants.h @@ -0,0 +1,6 @@ +#define GRID 14 +#define COLS 12 +#define ROWS 10 +#define PADX 0 +#define PADY 2 +#define SPRITEOFF -1 diff --git a/rpg/ent.h b/rpg/ent.h new file mode 100644 index 0000000..254369d --- /dev/null +++ b/rpg/ent.h @@ -0,0 +1,20 @@ +#pragma once +#include +#include + +typedef struct +{ + // last frame coords + float ox; + float oy; + + // current coords + float x; + float y; + + pbm_t* graphic; + pbm_t* outline; + int off_x; + int off_y; + int outline_pixels; +} ent_t; diff --git a/rpg/grid.h b/rpg/grid.h new file mode 100644 index 0000000..4cddf8d --- /dev/null +++ b/rpg/grid.h @@ -0,0 +1,12 @@ +typedef enum +{ + GRID_FLIPX = 1, + GRID_FLIPY = 2, +} grid_flags; + +typedef struct +{ + uint8_t tile; + grid_flags flags; + char* tag; +} grid_t; diff --git a/rpg/hashmap.h b/rpg/hashmap.h new file mode 100644 index 0000000..da88e81 --- /dev/null +++ b/rpg/hashmap.h @@ -0,0 +1,594 @@ +/* + The latest version of this library is available on GitHub; + https://github.com/sheredom/hashmap.h +*/ + +/* + This is free and unencumbered software released into the public domain. + + Anyone is free to copy, modify, publish, use, compile, sell, or + distribute this software, either in source code form or as a compiled + binary, for any purpose, commercial or non-commercial, and by any + means. + + In jurisdictions that recognize copyright laws, the author or authors + of this software dedicate any and all copyright interest in the + software to the public domain. We make this dedication for the benefit + of the public at large and to the detriment of our heirs and + successors. We intend this dedication to be an overt act of + relinquishment in perpetuity of all present and future rights to this + software under copyright law. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + For more information, please refer to +*/ +#ifndef SHEREDOM_HASHMAP_H_INCLUDED +#define SHEREDOM_HASHMAP_H_INCLUDED + +#if defined(_MSC_VER) +// Workaround a bug in the MSVC runtime where it uses __cplusplus when not +// defined. +#pragma warning(push, 0) +#pragma warning(disable : 4668) +#endif + +#include "client_api.h" + +//#include +//#include + +//#if (defined(_MSC_VER) && defined(__AVX__)) || \ +// (!defined(_MSC_VER) && defined(__SSE4_2__)) +//#define HASHMAP_SSE42 +//#endif + +//#if defined(HASHMAP_SSE42) +//#include +//#endif + +#if defined(_MSC_VER) +#pragma warning(pop) +#endif + +#if defined(_MSC_VER) +#pragma warning(push) +/* Stop MSVC complaining about unreferenced functions */ +#pragma warning(disable : 4505) +/* Stop MSVC complaining about not inlining functions */ +#pragma warning(disable : 4710) +/* Stop MSVC complaining about inlining functions! */ +#pragma warning(disable : 4711) +#elif defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-function" +#endif + +#if defined(_MSC_VER) +#define HASHMAP_USED +#elif defined(__GNUC__) +#define HASHMAP_USED __attribute__((used)) +#else +#define HASHMAP_USED +#endif + +/* We need to keep keys and values. */ +struct hashmap_element_s { + const char *key; + unsigned key_len; + int in_use; + void *data; +}; + +/* A hashmap has some maximum size and current size, as well as the data to + * hold. */ +struct hashmap_s { + unsigned table_size; + unsigned size; + struct hashmap_element_s *data; +}; + +#define HASHMAP_MAX_CHAIN_LENGTH (8) + +#if defined(__cplusplus) +extern "C" { +#endif + +/// @brief Create a hashmap. +/// @param initial_size The initial size of the hashmap. Must be a power of two. +/// @param out_hashmap The storage for the created hashmap. +/// @return On success 0 is returned. +/// +/// Note that the initial size of the hashmap must be a power of two, and +/// creation of the hashmap will fail if this is not the case. +static int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) HASHMAP_USED; + +/// @brief Put an element into the hashmap. +/// @param hashmap The hashmap to insert into. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @param value The value to insert. +/// @return On success 0 is returned. +/// +/// The key string slice is not copied when creating the hashmap entry, and thus +/// must remain a valid pointer until the hashmap entry is removed or the +/// hashmap is destroyed. +static int hashmap_put(struct hashmap_s *const hashmap, const char *const key, + const unsigned len, void *const value) HASHMAP_USED; + +/// @brief Get an element from the hashmap. +/// @param hashmap The hashmap to get from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return The previously set element, or NULL if none exists. +static void *hashmap_get(const struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success 0 is returned. +static int hashmap_remove(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success the original stored key pointer is returned, on failure +/// NULL is returned. +static const char * +hashmap_remove_and_return_key(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. Otherwise if +/// the callback function f returned non-zero then non-zero is returned. +static int hashmap_iterate(const struct hashmap_s *const hashmap, + int (*f)(void *const context, void *const value), + void *const context) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. +/// Otherwise if the callback function f returned positive then the positive +/// value is returned. If the callback function returns -1, the current item +/// is removed and iteration continues. +static int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) HASHMAP_USED; + +/// @brief Get the size of the hashmap. +/// @param hashmap The hashmap to get the size of. +/// @return The size of the hashmap. +static unsigned +hashmap_num_entries(const struct hashmap_s *const hashmap) HASHMAP_USED; + +/// @brief Destroy the hashmap. +/// @param hashmap The hashmap to destroy. +static void hashmap_destroy(struct hashmap_s *const hashmap) HASHMAP_USED; + +static unsigned hashmap_crc32_helper(const char *const s, + const unsigned len) HASHMAP_USED; +static unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) HASHMAP_USED; +static int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, + const unsigned len) HASHMAP_USED; +static int hashmap_hash_helper(const struct hashmap_s *const m, + const char *const key, const unsigned len, + unsigned *const out_index) HASHMAP_USED; +static int +hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) HASHMAP_USED; +static int hashmap_rehash_helper(struct hashmap_s *const m) HASHMAP_USED; + +#if defined(__cplusplus) +} +#endif + +#if defined(__cplusplus) +#define HASHMAP_CAST(type, x) static_cast(x) +#define HASHMAP_PTR_CAST(type, x) reinterpret_cast(x) +#define HASHMAP_NULL NULL +#else +#define HASHMAP_CAST(type, x) ((type)x) +#define HASHMAP_PTR_CAST(type, x) ((type)x) +#define HASHMAP_NULL 0 +#endif + +int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) { + out_hashmap->table_size = initial_size; + out_hashmap->size = 0; + + if (0 == initial_size || 0 != (initial_size & (initial_size - 1))) { + return 1; + } + + out_hashmap->data = + HASHMAP_CAST(struct hashmap_element_s *, + malloc(initial_size * sizeof(struct hashmap_element_s))); + if (!out_hashmap->data) { + return 1; + } + memset(out_hashmap->data, 0, initial_size * sizeof(struct hashmap_element_s)); + + return 0; +} + +int hashmap_put(struct hashmap_s *const m, const char *const key, + const unsigned len, void *const value) { + unsigned int index; + + /* Find a place to put our value. */ + while (!hashmap_hash_helper(m, key, len, &index)) { + if (hashmap_rehash_helper(m)) { + return 1; + } + } + + /* Set the data. */ + m->data[index].data = value; + m->data[index].key = key; + m->data[index].key_len = len; + + /* If the hashmap element was not already in use, set that it is being used + * and bump our size. */ + if (0 == m->data[index].in_use) { + m->data[index].in_use = 1; + m->size++; + } + + return 0; +} + +void *hashmap_get(const struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int curr; + unsigned int i; + + /* Find data location */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + return m->data[curr].data; + } + } + + curr = (curr + 1) % m->table_size; + } + + /* Not found */ + return HASHMAP_NULL; +} + +int hashmap_remove(struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + /* Blank out the fields including in_use */ + memset(&m->data[curr], 0, sizeof(struct hashmap_element_s)); + + /* Reduce the size */ + m->size--; + + return 0; + } + } + + curr = (curr + 1) % m->table_size; + } + + return 1; +} + +const char *hashmap_remove_and_return_key(struct hashmap_s *const m, + const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + const char *const stored_key = m->data[curr].key; + + /* Blank out the fields */ + m->data[curr].in_use = 0; + m->data[curr].data = HASHMAP_NULL; + m->data[curr].key = HASHMAP_NULL; + + /* Reduce the size */ + m->size--; + + return stored_key; + } + } + curr = (curr + 1) % m->table_size; + } + + return HASHMAP_NULL; +} + +int hashmap_iterate(const struct hashmap_s *const m, + int (*f)(void *const, void *const), void *const context) { + unsigned int i; + + /* Linear probing */ + for (i = 0; i < m->table_size; i++) { + if (m->data[i].in_use) { + if (!f(context, m->data[i].data)) { + return 1; + } + } + } + return 0; +} + +int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) { + unsigned int i; + struct hashmap_element_s *p; + int r; + + /* Linear probing */ + for (i = 0; i < hashmap->table_size; i++) { + p = &hashmap->data[i]; + if (p->in_use) { + r = f(context, p); + switch (r) { + case -1: /* remove item */ + memset(p, 0, sizeof(struct hashmap_element_s)); + hashmap->size--; + break; + case 0: /* continue iterating */ + break; + default: /* early exit */ + return 1; + } + } + } + return 0; +} + +void hashmap_destroy(struct hashmap_s *const m) { + free(m->data); + memset(m, 0, sizeof(struct hashmap_s)); +} + +unsigned hashmap_num_entries(const struct hashmap_s *const m) { + return m->size; +} + +unsigned hashmap_crc32_helper(const char *const s, const unsigned len) { + unsigned i; + unsigned crc32val = 0; + +#if defined(HASHMAP_SSE42) + for (i = 0; i < len; i++) { + crc32val = _mm_crc32_u8(crc32val, HASHMAP_CAST(unsigned char, s[i])); + } + + return crc32val; +#else + // Using polynomial 0x11EDC6F41 to match SSE 4.2's crc function. + static const unsigned crc32_tab[] = { + 0x00000000U, 0xF26B8303U, 0xE13B70F7U, 0x1350F3F4U, 0xC79A971FU, + 0x35F1141CU, 0x26A1E7E8U, 0xD4CA64EBU, 0x8AD958CFU, 0x78B2DBCCU, + 0x6BE22838U, 0x9989AB3BU, 0x4D43CFD0U, 0xBF284CD3U, 0xAC78BF27U, + 0x5E133C24U, 0x105EC76FU, 0xE235446CU, 0xF165B798U, 0x030E349BU, + 0xD7C45070U, 0x25AFD373U, 0x36FF2087U, 0xC494A384U, 0x9A879FA0U, + 0x68EC1CA3U, 0x7BBCEF57U, 0x89D76C54U, 0x5D1D08BFU, 0xAF768BBCU, + 0xBC267848U, 0x4E4DFB4BU, 0x20BD8EDEU, 0xD2D60DDDU, 0xC186FE29U, + 0x33ED7D2AU, 0xE72719C1U, 0x154C9AC2U, 0x061C6936U, 0xF477EA35U, + 0xAA64D611U, 0x580F5512U, 0x4B5FA6E6U, 0xB93425E5U, 0x6DFE410EU, + 0x9F95C20DU, 0x8CC531F9U, 0x7EAEB2FAU, 0x30E349B1U, 0xC288CAB2U, + 0xD1D83946U, 0x23B3BA45U, 0xF779DEAEU, 0x05125DADU, 0x1642AE59U, + 0xE4292D5AU, 0xBA3A117EU, 0x4851927DU, 0x5B016189U, 0xA96AE28AU, + 0x7DA08661U, 0x8FCB0562U, 0x9C9BF696U, 0x6EF07595U, 0x417B1DBCU, + 0xB3109EBFU, 0xA0406D4BU, 0x522BEE48U, 0x86E18AA3U, 0x748A09A0U, + 0x67DAFA54U, 0x95B17957U, 0xCBA24573U, 0x39C9C670U, 0x2A993584U, + 0xD8F2B687U, 0x0C38D26CU, 0xFE53516FU, 0xED03A29BU, 0x1F682198U, + 0x5125DAD3U, 0xA34E59D0U, 0xB01EAA24U, 0x42752927U, 0x96BF4DCCU, + 0x64D4CECFU, 0x77843D3BU, 0x85EFBE38U, 0xDBFC821CU, 0x2997011FU, + 0x3AC7F2EBU, 0xC8AC71E8U, 0x1C661503U, 0xEE0D9600U, 0xFD5D65F4U, + 0x0F36E6F7U, 0x61C69362U, 0x93AD1061U, 0x80FDE395U, 0x72966096U, + 0xA65C047DU, 0x5437877EU, 0x4767748AU, 0xB50CF789U, 0xEB1FCBADU, + 0x197448AEU, 0x0A24BB5AU, 0xF84F3859U, 0x2C855CB2U, 0xDEEEDFB1U, + 0xCDBE2C45U, 0x3FD5AF46U, 0x7198540DU, 0x83F3D70EU, 0x90A324FAU, + 0x62C8A7F9U, 0xB602C312U, 0x44694011U, 0x5739B3E5U, 0xA55230E6U, + 0xFB410CC2U, 0x092A8FC1U, 0x1A7A7C35U, 0xE811FF36U, 0x3CDB9BDDU, + 0xCEB018DEU, 0xDDE0EB2AU, 0x2F8B6829U, 0x82F63B78U, 0x709DB87BU, + 0x63CD4B8FU, 0x91A6C88CU, 0x456CAC67U, 0xB7072F64U, 0xA457DC90U, + 0x563C5F93U, 0x082F63B7U, 0xFA44E0B4U, 0xE9141340U, 0x1B7F9043U, + 0xCFB5F4A8U, 0x3DDE77ABU, 0x2E8E845FU, 0xDCE5075CU, 0x92A8FC17U, + 0x60C37F14U, 0x73938CE0U, 0x81F80FE3U, 0x55326B08U, 0xA759E80BU, + 0xB4091BFFU, 0x466298FCU, 0x1871A4D8U, 0xEA1A27DBU, 0xF94AD42FU, + 0x0B21572CU, 0xDFEB33C7U, 0x2D80B0C4U, 0x3ED04330U, 0xCCBBC033U, + 0xA24BB5A6U, 0x502036A5U, 0x4370C551U, 0xB11B4652U, 0x65D122B9U, + 0x97BAA1BAU, 0x84EA524EU, 0x7681D14DU, 0x2892ED69U, 0xDAF96E6AU, + 0xC9A99D9EU, 0x3BC21E9DU, 0xEF087A76U, 0x1D63F975U, 0x0E330A81U, + 0xFC588982U, 0xB21572C9U, 0x407EF1CAU, 0x532E023EU, 0xA145813DU, + 0x758FE5D6U, 0x87E466D5U, 0x94B49521U, 0x66DF1622U, 0x38CC2A06U, + 0xCAA7A905U, 0xD9F75AF1U, 0x2B9CD9F2U, 0xFF56BD19U, 0x0D3D3E1AU, + 0x1E6DCDEEU, 0xEC064EEDU, 0xC38D26C4U, 0x31E6A5C7U, 0x22B65633U, + 0xD0DDD530U, 0x0417B1DBU, 0xF67C32D8U, 0xE52CC12CU, 0x1747422FU, + 0x49547E0BU, 0xBB3FFD08U, 0xA86F0EFCU, 0x5A048DFFU, 0x8ECEE914U, + 0x7CA56A17U, 0x6FF599E3U, 0x9D9E1AE0U, 0xD3D3E1ABU, 0x21B862A8U, + 0x32E8915CU, 0xC083125FU, 0x144976B4U, 0xE622F5B7U, 0xF5720643U, + 0x07198540U, 0x590AB964U, 0xAB613A67U, 0xB831C993U, 0x4A5A4A90U, + 0x9E902E7BU, 0x6CFBAD78U, 0x7FAB5E8CU, 0x8DC0DD8FU, 0xE330A81AU, + 0x115B2B19U, 0x020BD8EDU, 0xF0605BEEU, 0x24AA3F05U, 0xD6C1BC06U, + 0xC5914FF2U, 0x37FACCF1U, 0x69E9F0D5U, 0x9B8273D6U, 0x88D28022U, + 0x7AB90321U, 0xAE7367CAU, 0x5C18E4C9U, 0x4F48173DU, 0xBD23943EU, + 0xF36E6F75U, 0x0105EC76U, 0x12551F82U, 0xE03E9C81U, 0x34F4F86AU, + 0xC69F7B69U, 0xD5CF889DU, 0x27A40B9EU, 0x79B737BAU, 0x8BDCB4B9U, + 0x988C474DU, 0x6AE7C44EU, 0xBE2DA0A5U, 0x4C4623A6U, 0x5F16D052U, + 0xAD7D5351U}; + + for (i = 0; i < len; i++) { + crc32val = crc32_tab[(HASHMAP_CAST(unsigned char, crc32val) ^ + HASHMAP_CAST(unsigned char, s[i]))] ^ + (crc32val >> 8); + } + return crc32val; +#endif +} + +unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) { + unsigned key = hashmap_crc32_helper(keystring, len); + + /* Robert Jenkins' 32 bit Mix Function */ + key += (key << 12); + key ^= (key >> 22); + key += (key << 4); + key ^= (key >> 9); + key += (key << 10); + key ^= (key >> 2); + key += (key << 7); + key ^= (key >> 12); + + /* Knuth's Multiplicative Method */ + key = (key >> 3) * 2654435761; + + return key % m->table_size; +} + +int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, const unsigned len) { + return (element->key_len == len) && (0 == memcmp(element->key, key, len)); +} + +int hashmap_hash_helper(const struct hashmap_s *const m, const char *const key, + const unsigned len, unsigned *const out_index) { + unsigned int start, curr; + unsigned int i; + int total_in_use; + + /* If full, return immediately */ + if (m->size >= m->table_size) { + return 0; + } + + /* Find the best index */ + curr = start = hashmap_hash_helper_int_helper(m, key, len); + + /* First linear probe to check if we've already insert the element */ + total_in_use = 0; + + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + const int in_use = m->data[curr].in_use; + + total_in_use += in_use; + + if (in_use && hashmap_match_helper(&m->data[curr], key, len)) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + + curr = start; + + /* Second linear probe to actually insert our element (only if there was at + * least one empty entry) */ + if (HASHMAP_MAX_CHAIN_LENGTH > total_in_use) { + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (!m->data[curr].in_use) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + } + + return 0; +} + +int hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) { + int temp = hashmap_put(HASHMAP_PTR_CAST(struct hashmap_s *, new_hash), e->key, + e->key_len, e->data); + if (0 < temp) { + return 1; + } + /* clear old value to avoid stale pointers */ + return -1; +} +/* + * Doubles the size of the hashmap, and rehashes all the elements + */ +int hashmap_rehash_helper(struct hashmap_s *const m) { + /* If this multiplication overflows hashmap_create will fail. */ + unsigned new_size = 2 * m->table_size; + + struct hashmap_s new_hash; + + int flag = hashmap_create(new_size, &new_hash); + + if (0 != flag) { + return flag; + } + + /* copy the old elements to the new table */ + flag = hashmap_iterate_pairs(m, hashmap_rehash_iterator, + HASHMAP_PTR_CAST(void *, &new_hash)); + + if (0 != flag) { + return flag; + } + + hashmap_destroy(m); + /* put new hash into old hash structure by copying */ + memcpy(m, &new_hash, sizeof(struct hashmap_s)); + + return 0; +} + +#if defined(_MSC_VER) +#pragma warning(pop) +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif + +#endif diff --git a/rpg/level14.c b/rpg/level14.c new file mode 100644 index 0000000..59cc068 --- /dev/null +++ b/rpg/level14.c @@ -0,0 +1,56 @@ +#include +#include "constants.h" +#include "ent.h" + +#include +#include "rpg_imports.h" + +bool in_door = false; + +__EXPORT__ void level_entered_tile(ent_t* ent, int gx, int gy, grid_t g) +{ + if (g.tag) + { + if (is_player(ent)) + { + grid_t* find = NULL; + if (strcmp(g.tag, "d1") == 0) + { + if (!in_door && (find = get_tile_by_tag("d2")) != NULL) + { + int target_gx, target_gy; + grid_pos(find, &target_gx, &target_gy); + ent->x = target_gx * GRID; + ent->y = target_gy * GRID; + in_door = true; + } + } + if (strcmp(g.tag, "d2") == 0) + { + if (!in_door && (find = get_tile_by_tag("d1")) != NULL) + { + int target_gx, target_gy; + grid_pos((grid_t*)find, &target_gx, &target_gy); + ent->x = target_gx * GRID; + ent->y = target_gy * GRID; + in_door = true; + } + } + } + } +} +__EXPORT__ void level_exited_tile(ent_t* ent, int gx, int gy, grid_t g) +{ +} + +__EXPORT__ void level_update(float ms) +{ + in_door = false; +} + +__EXPORT__ int setup(int arg) +{ + LOAD_DYN(is_player) + LOAD_DYN(get_tile_by_tag) + LOAD_DYN(grid_pos) +} diff --git a/rpg/level_imports.h b/rpg/level_imports.h new file mode 100644 index 0000000..9dd2be5 --- /dev/null +++ b/rpg/level_imports.h @@ -0,0 +1,5 @@ +#include "ent.h" + +__IMPORT__ void (*level_entered_tile)(ent_t* ent, int gx, int gy, grid_t g); +__IMPORT__ void (*level_exited_tile)(ent_t* ent, int gx, int gy, grid_t g); +__IMPORT__ void (*level_update)(float t); diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix4.pbm b/cart/test/roof_fix4.pbm deleted file mode 100644 index 2c392ad..0000000 --- a/cart/test/roof_fix4.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/test/roof_fix5.pbm b/cart/test/roof_fix5.pbm deleted file mode 100644 index 39b7f23..0000000 --- a/cart/test/roof_fix5.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/test/roof_fix6.pbm b/cart/test/roof_fix6.pbm deleted file mode 100644 index 8bbe9fc..0000000 --- a/cart/test/roof_fix6.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/test/roof_fix7.pbm b/cart/test/roof_fix7.pbm deleted file mode 100644 index 0c29640..0000000 --- a/cart/test/roof_fix7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix8.pbm b/cart/test/roof_fix8.pbm deleted file mode 100644 index e90cfc3..0000000 --- a/cart/test/roof_fix8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix9.pbm b/cart/test/roof_fix9.pbm deleted file mode 100644 index 31dfb3d..0000000 --- a/cart/test/roof_fix9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall1.pbm b/cart/test/wall1.pbm deleted file mode 100644 index 31e09be..0000000 --- a/cart/test/wall1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall2.pbm b/cart/test/wall2.pbm deleted file mode 100644 index 1871c8b..0000000 --- a/cart/test/wall2.pbm +++ /dev/null Binary files differ diff --git a/rpg/Makefile b/rpg/Makefile new file mode 100644 index 0000000..5a8fda9 --- /dev/null +++ b/rpg/Makefile @@ -0,0 +1,10 @@ +CART_DIR ?= ../cart/rpg +MAKE_ROOT ?= ../../cneboy/make + +SOURCES := rpg.c parse.c + +MODULES := level14 + +SOURCES_level14 := level14.c + +include $(MAKE_ROOT)/Makefile diff --git a/rpg/constants.h b/rpg/constants.h new file mode 100644 index 0000000..336c98e --- /dev/null +++ b/rpg/constants.h @@ -0,0 +1,6 @@ +#define GRID 14 +#define COLS 12 +#define ROWS 10 +#define PADX 0 +#define PADY 2 +#define SPRITEOFF -1 diff --git a/rpg/ent.h b/rpg/ent.h new file mode 100644 index 0000000..254369d --- /dev/null +++ b/rpg/ent.h @@ -0,0 +1,20 @@ +#pragma once +#include +#include + +typedef struct +{ + // last frame coords + float ox; + float oy; + + // current coords + float x; + float y; + + pbm_t* graphic; + pbm_t* outline; + int off_x; + int off_y; + int outline_pixels; +} ent_t; diff --git a/rpg/grid.h b/rpg/grid.h new file mode 100644 index 0000000..4cddf8d --- /dev/null +++ b/rpg/grid.h @@ -0,0 +1,12 @@ +typedef enum +{ + GRID_FLIPX = 1, + GRID_FLIPY = 2, +} grid_flags; + +typedef struct +{ + uint8_t tile; + grid_flags flags; + char* tag; +} grid_t; diff --git a/rpg/hashmap.h b/rpg/hashmap.h new file mode 100644 index 0000000..da88e81 --- /dev/null +++ b/rpg/hashmap.h @@ -0,0 +1,594 @@ +/* + The latest version of this library is available on GitHub; + https://github.com/sheredom/hashmap.h +*/ + +/* + This is free and unencumbered software released into the public domain. + + Anyone is free to copy, modify, publish, use, compile, sell, or + distribute this software, either in source code form or as a compiled + binary, for any purpose, commercial or non-commercial, and by any + means. + + In jurisdictions that recognize copyright laws, the author or authors + of this software dedicate any and all copyright interest in the + software to the public domain. We make this dedication for the benefit + of the public at large and to the detriment of our heirs and + successors. We intend this dedication to be an overt act of + relinquishment in perpetuity of all present and future rights to this + software under copyright law. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + For more information, please refer to +*/ +#ifndef SHEREDOM_HASHMAP_H_INCLUDED +#define SHEREDOM_HASHMAP_H_INCLUDED + +#if defined(_MSC_VER) +// Workaround a bug in the MSVC runtime where it uses __cplusplus when not +// defined. +#pragma warning(push, 0) +#pragma warning(disable : 4668) +#endif + +#include "client_api.h" + +//#include +//#include + +//#if (defined(_MSC_VER) && defined(__AVX__)) || \ +// (!defined(_MSC_VER) && defined(__SSE4_2__)) +//#define HASHMAP_SSE42 +//#endif + +//#if defined(HASHMAP_SSE42) +//#include +//#endif + +#if defined(_MSC_VER) +#pragma warning(pop) +#endif + +#if defined(_MSC_VER) +#pragma warning(push) +/* Stop MSVC complaining about unreferenced functions */ +#pragma warning(disable : 4505) +/* Stop MSVC complaining about not inlining functions */ +#pragma warning(disable : 4710) +/* Stop MSVC complaining about inlining functions! */ +#pragma warning(disable : 4711) +#elif defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-function" +#endif + +#if defined(_MSC_VER) +#define HASHMAP_USED +#elif defined(__GNUC__) +#define HASHMAP_USED __attribute__((used)) +#else +#define HASHMAP_USED +#endif + +/* We need to keep keys and values. */ +struct hashmap_element_s { + const char *key; + unsigned key_len; + int in_use; + void *data; +}; + +/* A hashmap has some maximum size and current size, as well as the data to + * hold. */ +struct hashmap_s { + unsigned table_size; + unsigned size; + struct hashmap_element_s *data; +}; + +#define HASHMAP_MAX_CHAIN_LENGTH (8) + +#if defined(__cplusplus) +extern "C" { +#endif + +/// @brief Create a hashmap. +/// @param initial_size The initial size of the hashmap. Must be a power of two. +/// @param out_hashmap The storage for the created hashmap. +/// @return On success 0 is returned. +/// +/// Note that the initial size of the hashmap must be a power of two, and +/// creation of the hashmap will fail if this is not the case. +static int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) HASHMAP_USED; + +/// @brief Put an element into the hashmap. +/// @param hashmap The hashmap to insert into. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @param value The value to insert. +/// @return On success 0 is returned. +/// +/// The key string slice is not copied when creating the hashmap entry, and thus +/// must remain a valid pointer until the hashmap entry is removed or the +/// hashmap is destroyed. +static int hashmap_put(struct hashmap_s *const hashmap, const char *const key, + const unsigned len, void *const value) HASHMAP_USED; + +/// @brief Get an element from the hashmap. +/// @param hashmap The hashmap to get from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return The previously set element, or NULL if none exists. +static void *hashmap_get(const struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success 0 is returned. +static int hashmap_remove(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success the original stored key pointer is returned, on failure +/// NULL is returned. +static const char * +hashmap_remove_and_return_key(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. Otherwise if +/// the callback function f returned non-zero then non-zero is returned. +static int hashmap_iterate(const struct hashmap_s *const hashmap, + int (*f)(void *const context, void *const value), + void *const context) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. +/// Otherwise if the callback function f returned positive then the positive +/// value is returned. If the callback function returns -1, the current item +/// is removed and iteration continues. +static int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) HASHMAP_USED; + +/// @brief Get the size of the hashmap. +/// @param hashmap The hashmap to get the size of. +/// @return The size of the hashmap. +static unsigned +hashmap_num_entries(const struct hashmap_s *const hashmap) HASHMAP_USED; + +/// @brief Destroy the hashmap. +/// @param hashmap The hashmap to destroy. +static void hashmap_destroy(struct hashmap_s *const hashmap) HASHMAP_USED; + +static unsigned hashmap_crc32_helper(const char *const s, + const unsigned len) HASHMAP_USED; +static unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) HASHMAP_USED; +static int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, + const unsigned len) HASHMAP_USED; +static int hashmap_hash_helper(const struct hashmap_s *const m, + const char *const key, const unsigned len, + unsigned *const out_index) HASHMAP_USED; +static int +hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) HASHMAP_USED; +static int hashmap_rehash_helper(struct hashmap_s *const m) HASHMAP_USED; + +#if defined(__cplusplus) +} +#endif + +#if defined(__cplusplus) +#define HASHMAP_CAST(type, x) static_cast(x) +#define HASHMAP_PTR_CAST(type, x) reinterpret_cast(x) +#define HASHMAP_NULL NULL +#else +#define HASHMAP_CAST(type, x) ((type)x) +#define HASHMAP_PTR_CAST(type, x) ((type)x) +#define HASHMAP_NULL 0 +#endif + +int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) { + out_hashmap->table_size = initial_size; + out_hashmap->size = 0; + + if (0 == initial_size || 0 != (initial_size & (initial_size - 1))) { + return 1; + } + + out_hashmap->data = + HASHMAP_CAST(struct hashmap_element_s *, + malloc(initial_size * sizeof(struct hashmap_element_s))); + if (!out_hashmap->data) { + return 1; + } + memset(out_hashmap->data, 0, initial_size * sizeof(struct hashmap_element_s)); + + return 0; +} + +int hashmap_put(struct hashmap_s *const m, const char *const key, + const unsigned len, void *const value) { + unsigned int index; + + /* Find a place to put our value. */ + while (!hashmap_hash_helper(m, key, len, &index)) { + if (hashmap_rehash_helper(m)) { + return 1; + } + } + + /* Set the data. */ + m->data[index].data = value; + m->data[index].key = key; + m->data[index].key_len = len; + + /* If the hashmap element was not already in use, set that it is being used + * and bump our size. */ + if (0 == m->data[index].in_use) { + m->data[index].in_use = 1; + m->size++; + } + + return 0; +} + +void *hashmap_get(const struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int curr; + unsigned int i; + + /* Find data location */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + return m->data[curr].data; + } + } + + curr = (curr + 1) % m->table_size; + } + + /* Not found */ + return HASHMAP_NULL; +} + +int hashmap_remove(struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + /* Blank out the fields including in_use */ + memset(&m->data[curr], 0, sizeof(struct hashmap_element_s)); + + /* Reduce the size */ + m->size--; + + return 0; + } + } + + curr = (curr + 1) % m->table_size; + } + + return 1; +} + +const char *hashmap_remove_and_return_key(struct hashmap_s *const m, + const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + const char *const stored_key = m->data[curr].key; + + /* Blank out the fields */ + m->data[curr].in_use = 0; + m->data[curr].data = HASHMAP_NULL; + m->data[curr].key = HASHMAP_NULL; + + /* Reduce the size */ + m->size--; + + return stored_key; + } + } + curr = (curr + 1) % m->table_size; + } + + return HASHMAP_NULL; +} + +int hashmap_iterate(const struct hashmap_s *const m, + int (*f)(void *const, void *const), void *const context) { + unsigned int i; + + /* Linear probing */ + for (i = 0; i < m->table_size; i++) { + if (m->data[i].in_use) { + if (!f(context, m->data[i].data)) { + return 1; + } + } + } + return 0; +} + +int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) { + unsigned int i; + struct hashmap_element_s *p; + int r; + + /* Linear probing */ + for (i = 0; i < hashmap->table_size; i++) { + p = &hashmap->data[i]; + if (p->in_use) { + r = f(context, p); + switch (r) { + case -1: /* remove item */ + memset(p, 0, sizeof(struct hashmap_element_s)); + hashmap->size--; + break; + case 0: /* continue iterating */ + break; + default: /* early exit */ + return 1; + } + } + } + return 0; +} + +void hashmap_destroy(struct hashmap_s *const m) { + free(m->data); + memset(m, 0, sizeof(struct hashmap_s)); +} + +unsigned hashmap_num_entries(const struct hashmap_s *const m) { + return m->size; +} + +unsigned hashmap_crc32_helper(const char *const s, const unsigned len) { + unsigned i; + unsigned crc32val = 0; + +#if defined(HASHMAP_SSE42) + for (i = 0; i < len; i++) { + crc32val = _mm_crc32_u8(crc32val, HASHMAP_CAST(unsigned char, s[i])); + } + + return crc32val; +#else + // Using polynomial 0x11EDC6F41 to match SSE 4.2's crc function. + static const unsigned crc32_tab[] = { + 0x00000000U, 0xF26B8303U, 0xE13B70F7U, 0x1350F3F4U, 0xC79A971FU, + 0x35F1141CU, 0x26A1E7E8U, 0xD4CA64EBU, 0x8AD958CFU, 0x78B2DBCCU, + 0x6BE22838U, 0x9989AB3BU, 0x4D43CFD0U, 0xBF284CD3U, 0xAC78BF27U, + 0x5E133C24U, 0x105EC76FU, 0xE235446CU, 0xF165B798U, 0x030E349BU, + 0xD7C45070U, 0x25AFD373U, 0x36FF2087U, 0xC494A384U, 0x9A879FA0U, + 0x68EC1CA3U, 0x7BBCEF57U, 0x89D76C54U, 0x5D1D08BFU, 0xAF768BBCU, + 0xBC267848U, 0x4E4DFB4BU, 0x20BD8EDEU, 0xD2D60DDDU, 0xC186FE29U, + 0x33ED7D2AU, 0xE72719C1U, 0x154C9AC2U, 0x061C6936U, 0xF477EA35U, + 0xAA64D611U, 0x580F5512U, 0x4B5FA6E6U, 0xB93425E5U, 0x6DFE410EU, + 0x9F95C20DU, 0x8CC531F9U, 0x7EAEB2FAU, 0x30E349B1U, 0xC288CAB2U, + 0xD1D83946U, 0x23B3BA45U, 0xF779DEAEU, 0x05125DADU, 0x1642AE59U, + 0xE4292D5AU, 0xBA3A117EU, 0x4851927DU, 0x5B016189U, 0xA96AE28AU, + 0x7DA08661U, 0x8FCB0562U, 0x9C9BF696U, 0x6EF07595U, 0x417B1DBCU, + 0xB3109EBFU, 0xA0406D4BU, 0x522BEE48U, 0x86E18AA3U, 0x748A09A0U, + 0x67DAFA54U, 0x95B17957U, 0xCBA24573U, 0x39C9C670U, 0x2A993584U, + 0xD8F2B687U, 0x0C38D26CU, 0xFE53516FU, 0xED03A29BU, 0x1F682198U, + 0x5125DAD3U, 0xA34E59D0U, 0xB01EAA24U, 0x42752927U, 0x96BF4DCCU, + 0x64D4CECFU, 0x77843D3BU, 0x85EFBE38U, 0xDBFC821CU, 0x2997011FU, + 0x3AC7F2EBU, 0xC8AC71E8U, 0x1C661503U, 0xEE0D9600U, 0xFD5D65F4U, + 0x0F36E6F7U, 0x61C69362U, 0x93AD1061U, 0x80FDE395U, 0x72966096U, + 0xA65C047DU, 0x5437877EU, 0x4767748AU, 0xB50CF789U, 0xEB1FCBADU, + 0x197448AEU, 0x0A24BB5AU, 0xF84F3859U, 0x2C855CB2U, 0xDEEEDFB1U, + 0xCDBE2C45U, 0x3FD5AF46U, 0x7198540DU, 0x83F3D70EU, 0x90A324FAU, + 0x62C8A7F9U, 0xB602C312U, 0x44694011U, 0x5739B3E5U, 0xA55230E6U, + 0xFB410CC2U, 0x092A8FC1U, 0x1A7A7C35U, 0xE811FF36U, 0x3CDB9BDDU, + 0xCEB018DEU, 0xDDE0EB2AU, 0x2F8B6829U, 0x82F63B78U, 0x709DB87BU, + 0x63CD4B8FU, 0x91A6C88CU, 0x456CAC67U, 0xB7072F64U, 0xA457DC90U, + 0x563C5F93U, 0x082F63B7U, 0xFA44E0B4U, 0xE9141340U, 0x1B7F9043U, + 0xCFB5F4A8U, 0x3DDE77ABU, 0x2E8E845FU, 0xDCE5075CU, 0x92A8FC17U, + 0x60C37F14U, 0x73938CE0U, 0x81F80FE3U, 0x55326B08U, 0xA759E80BU, + 0xB4091BFFU, 0x466298FCU, 0x1871A4D8U, 0xEA1A27DBU, 0xF94AD42FU, + 0x0B21572CU, 0xDFEB33C7U, 0x2D80B0C4U, 0x3ED04330U, 0xCCBBC033U, + 0xA24BB5A6U, 0x502036A5U, 0x4370C551U, 0xB11B4652U, 0x65D122B9U, + 0x97BAA1BAU, 0x84EA524EU, 0x7681D14DU, 0x2892ED69U, 0xDAF96E6AU, + 0xC9A99D9EU, 0x3BC21E9DU, 0xEF087A76U, 0x1D63F975U, 0x0E330A81U, + 0xFC588982U, 0xB21572C9U, 0x407EF1CAU, 0x532E023EU, 0xA145813DU, + 0x758FE5D6U, 0x87E466D5U, 0x94B49521U, 0x66DF1622U, 0x38CC2A06U, + 0xCAA7A905U, 0xD9F75AF1U, 0x2B9CD9F2U, 0xFF56BD19U, 0x0D3D3E1AU, + 0x1E6DCDEEU, 0xEC064EEDU, 0xC38D26C4U, 0x31E6A5C7U, 0x22B65633U, + 0xD0DDD530U, 0x0417B1DBU, 0xF67C32D8U, 0xE52CC12CU, 0x1747422FU, + 0x49547E0BU, 0xBB3FFD08U, 0xA86F0EFCU, 0x5A048DFFU, 0x8ECEE914U, + 0x7CA56A17U, 0x6FF599E3U, 0x9D9E1AE0U, 0xD3D3E1ABU, 0x21B862A8U, + 0x32E8915CU, 0xC083125FU, 0x144976B4U, 0xE622F5B7U, 0xF5720643U, + 0x07198540U, 0x590AB964U, 0xAB613A67U, 0xB831C993U, 0x4A5A4A90U, + 0x9E902E7BU, 0x6CFBAD78U, 0x7FAB5E8CU, 0x8DC0DD8FU, 0xE330A81AU, + 0x115B2B19U, 0x020BD8EDU, 0xF0605BEEU, 0x24AA3F05U, 0xD6C1BC06U, + 0xC5914FF2U, 0x37FACCF1U, 0x69E9F0D5U, 0x9B8273D6U, 0x88D28022U, + 0x7AB90321U, 0xAE7367CAU, 0x5C18E4C9U, 0x4F48173DU, 0xBD23943EU, + 0xF36E6F75U, 0x0105EC76U, 0x12551F82U, 0xE03E9C81U, 0x34F4F86AU, + 0xC69F7B69U, 0xD5CF889DU, 0x27A40B9EU, 0x79B737BAU, 0x8BDCB4B9U, + 0x988C474DU, 0x6AE7C44EU, 0xBE2DA0A5U, 0x4C4623A6U, 0x5F16D052U, + 0xAD7D5351U}; + + for (i = 0; i < len; i++) { + crc32val = crc32_tab[(HASHMAP_CAST(unsigned char, crc32val) ^ + HASHMAP_CAST(unsigned char, s[i]))] ^ + (crc32val >> 8); + } + return crc32val; +#endif +} + +unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) { + unsigned key = hashmap_crc32_helper(keystring, len); + + /* Robert Jenkins' 32 bit Mix Function */ + key += (key << 12); + key ^= (key >> 22); + key += (key << 4); + key ^= (key >> 9); + key += (key << 10); + key ^= (key >> 2); + key += (key << 7); + key ^= (key >> 12); + + /* Knuth's Multiplicative Method */ + key = (key >> 3) * 2654435761; + + return key % m->table_size; +} + +int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, const unsigned len) { + return (element->key_len == len) && (0 == memcmp(element->key, key, len)); +} + +int hashmap_hash_helper(const struct hashmap_s *const m, const char *const key, + const unsigned len, unsigned *const out_index) { + unsigned int start, curr; + unsigned int i; + int total_in_use; + + /* If full, return immediately */ + if (m->size >= m->table_size) { + return 0; + } + + /* Find the best index */ + curr = start = hashmap_hash_helper_int_helper(m, key, len); + + /* First linear probe to check if we've already insert the element */ + total_in_use = 0; + + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + const int in_use = m->data[curr].in_use; + + total_in_use += in_use; + + if (in_use && hashmap_match_helper(&m->data[curr], key, len)) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + + curr = start; + + /* Second linear probe to actually insert our element (only if there was at + * least one empty entry) */ + if (HASHMAP_MAX_CHAIN_LENGTH > total_in_use) { + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (!m->data[curr].in_use) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + } + + return 0; +} + +int hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) { + int temp = hashmap_put(HASHMAP_PTR_CAST(struct hashmap_s *, new_hash), e->key, + e->key_len, e->data); + if (0 < temp) { + return 1; + } + /* clear old value to avoid stale pointers */ + return -1; +} +/* + * Doubles the size of the hashmap, and rehashes all the elements + */ +int hashmap_rehash_helper(struct hashmap_s *const m) { + /* If this multiplication overflows hashmap_create will fail. */ + unsigned new_size = 2 * m->table_size; + + struct hashmap_s new_hash; + + int flag = hashmap_create(new_size, &new_hash); + + if (0 != flag) { + return flag; + } + + /* copy the old elements to the new table */ + flag = hashmap_iterate_pairs(m, hashmap_rehash_iterator, + HASHMAP_PTR_CAST(void *, &new_hash)); + + if (0 != flag) { + return flag; + } + + hashmap_destroy(m); + /* put new hash into old hash structure by copying */ + memcpy(m, &new_hash, sizeof(struct hashmap_s)); + + return 0; +} + +#if defined(_MSC_VER) +#pragma warning(pop) +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif + +#endif diff --git a/rpg/level14.c b/rpg/level14.c new file mode 100644 index 0000000..59cc068 --- /dev/null +++ b/rpg/level14.c @@ -0,0 +1,56 @@ +#include +#include "constants.h" +#include "ent.h" + +#include +#include "rpg_imports.h" + +bool in_door = false; + +__EXPORT__ void level_entered_tile(ent_t* ent, int gx, int gy, grid_t g) +{ + if (g.tag) + { + if (is_player(ent)) + { + grid_t* find = NULL; + if (strcmp(g.tag, "d1") == 0) + { + if (!in_door && (find = get_tile_by_tag("d2")) != NULL) + { + int target_gx, target_gy; + grid_pos(find, &target_gx, &target_gy); + ent->x = target_gx * GRID; + ent->y = target_gy * GRID; + in_door = true; + } + } + if (strcmp(g.tag, "d2") == 0) + { + if (!in_door && (find = get_tile_by_tag("d1")) != NULL) + { + int target_gx, target_gy; + grid_pos((grid_t*)find, &target_gx, &target_gy); + ent->x = target_gx * GRID; + ent->y = target_gy * GRID; + in_door = true; + } + } + } + } +} +__EXPORT__ void level_exited_tile(ent_t* ent, int gx, int gy, grid_t g) +{ +} + +__EXPORT__ void level_update(float ms) +{ + in_door = false; +} + +__EXPORT__ int setup(int arg) +{ + LOAD_DYN(is_player) + LOAD_DYN(get_tile_by_tag) + LOAD_DYN(grid_pos) +} diff --git a/rpg/level_imports.h b/rpg/level_imports.h new file mode 100644 index 0000000..9dd2be5 --- /dev/null +++ b/rpg/level_imports.h @@ -0,0 +1,5 @@ +#include "ent.h" + +__IMPORT__ void (*level_entered_tile)(ent_t* ent, int gx, int gy, grid_t g); +__IMPORT__ void (*level_exited_tile)(ent_t* ent, int gx, int gy, grid_t g); +__IMPORT__ void (*level_update)(float t); diff --git a/rpg/parse.c b/rpg/parse.c new file mode 100644 index 0000000..ec097e2 --- /dev/null +++ b/rpg/parse.c @@ -0,0 +1,64 @@ +#include "parse.h" + +bool reset_parse = false; +char* parse_word = NULL; +int parse_line = 1; +int parse(char* l, size_t len, bool (*is_break)(char), bool debug) +{ + static char last_char; + static int i = 0; + static int nl = 0; + if (reset_parse) + { + parse_line = 1; + i = 0; + nl = 0; + last_char = 0; + reset_parse = false; + } + + parse_word = NULL; + + while (i < len) + { + char c = l[i]; + if (c == 0) c = last_char; + i++; + if (debug) + { + printf("Char@%d %d %c\n", i, c, c); + } + if (is_break(c) || c == '\n') + { + if (parse_word) + { + i--; + l[i] = 0; + last_char = c; + nl = false; + return WORD; + } + else if (c == '\n') + { + nl++; + parse_line++; + if (nl == 1) + { + return NL; + } + else if (nl == 2) + { + return BREAK; + } + } + } + else + { + if (parse_word == NULL) parse_word = l + (i - 1); + } + } + + if (parse_word) return WORD; + + return DONE; +} diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix4.pbm b/cart/test/roof_fix4.pbm deleted file mode 100644 index 2c392ad..0000000 --- a/cart/test/roof_fix4.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/test/roof_fix5.pbm b/cart/test/roof_fix5.pbm deleted file mode 100644 index 39b7f23..0000000 --- a/cart/test/roof_fix5.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/test/roof_fix6.pbm b/cart/test/roof_fix6.pbm deleted file mode 100644 index 8bbe9fc..0000000 --- a/cart/test/roof_fix6.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/test/roof_fix7.pbm b/cart/test/roof_fix7.pbm deleted file mode 100644 index 0c29640..0000000 --- a/cart/test/roof_fix7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix8.pbm b/cart/test/roof_fix8.pbm deleted file mode 100644 index e90cfc3..0000000 --- a/cart/test/roof_fix8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix9.pbm b/cart/test/roof_fix9.pbm deleted file mode 100644 index 31dfb3d..0000000 --- a/cart/test/roof_fix9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall1.pbm b/cart/test/wall1.pbm deleted file mode 100644 index 31e09be..0000000 --- a/cart/test/wall1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall2.pbm b/cart/test/wall2.pbm deleted file mode 100644 index 1871c8b..0000000 --- a/cart/test/wall2.pbm +++ /dev/null Binary files differ diff --git a/rpg/Makefile b/rpg/Makefile new file mode 100644 index 0000000..5a8fda9 --- /dev/null +++ b/rpg/Makefile @@ -0,0 +1,10 @@ +CART_DIR ?= ../cart/rpg +MAKE_ROOT ?= ../../cneboy/make + +SOURCES := rpg.c parse.c + +MODULES := level14 + +SOURCES_level14 := level14.c + +include $(MAKE_ROOT)/Makefile diff --git a/rpg/constants.h b/rpg/constants.h new file mode 100644 index 0000000..336c98e --- /dev/null +++ b/rpg/constants.h @@ -0,0 +1,6 @@ +#define GRID 14 +#define COLS 12 +#define ROWS 10 +#define PADX 0 +#define PADY 2 +#define SPRITEOFF -1 diff --git a/rpg/ent.h b/rpg/ent.h new file mode 100644 index 0000000..254369d --- /dev/null +++ b/rpg/ent.h @@ -0,0 +1,20 @@ +#pragma once +#include +#include + +typedef struct +{ + // last frame coords + float ox; + float oy; + + // current coords + float x; + float y; + + pbm_t* graphic; + pbm_t* outline; + int off_x; + int off_y; + int outline_pixels; +} ent_t; diff --git a/rpg/grid.h b/rpg/grid.h new file mode 100644 index 0000000..4cddf8d --- /dev/null +++ b/rpg/grid.h @@ -0,0 +1,12 @@ +typedef enum +{ + GRID_FLIPX = 1, + GRID_FLIPY = 2, +} grid_flags; + +typedef struct +{ + uint8_t tile; + grid_flags flags; + char* tag; +} grid_t; diff --git a/rpg/hashmap.h b/rpg/hashmap.h new file mode 100644 index 0000000..da88e81 --- /dev/null +++ b/rpg/hashmap.h @@ -0,0 +1,594 @@ +/* + The latest version of this library is available on GitHub; + https://github.com/sheredom/hashmap.h +*/ + +/* + This is free and unencumbered software released into the public domain. + + Anyone is free to copy, modify, publish, use, compile, sell, or + distribute this software, either in source code form or as a compiled + binary, for any purpose, commercial or non-commercial, and by any + means. + + In jurisdictions that recognize copyright laws, the author or authors + of this software dedicate any and all copyright interest in the + software to the public domain. We make this dedication for the benefit + of the public at large and to the detriment of our heirs and + successors. We intend this dedication to be an overt act of + relinquishment in perpetuity of all present and future rights to this + software under copyright law. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + For more information, please refer to +*/ +#ifndef SHEREDOM_HASHMAP_H_INCLUDED +#define SHEREDOM_HASHMAP_H_INCLUDED + +#if defined(_MSC_VER) +// Workaround a bug in the MSVC runtime where it uses __cplusplus when not +// defined. +#pragma warning(push, 0) +#pragma warning(disable : 4668) +#endif + +#include "client_api.h" + +//#include +//#include + +//#if (defined(_MSC_VER) && defined(__AVX__)) || \ +// (!defined(_MSC_VER) && defined(__SSE4_2__)) +//#define HASHMAP_SSE42 +//#endif + +//#if defined(HASHMAP_SSE42) +//#include +//#endif + +#if defined(_MSC_VER) +#pragma warning(pop) +#endif + +#if defined(_MSC_VER) +#pragma warning(push) +/* Stop MSVC complaining about unreferenced functions */ +#pragma warning(disable : 4505) +/* Stop MSVC complaining about not inlining functions */ +#pragma warning(disable : 4710) +/* Stop MSVC complaining about inlining functions! */ +#pragma warning(disable : 4711) +#elif defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-function" +#endif + +#if defined(_MSC_VER) +#define HASHMAP_USED +#elif defined(__GNUC__) +#define HASHMAP_USED __attribute__((used)) +#else +#define HASHMAP_USED +#endif + +/* We need to keep keys and values. */ +struct hashmap_element_s { + const char *key; + unsigned key_len; + int in_use; + void *data; +}; + +/* A hashmap has some maximum size and current size, as well as the data to + * hold. */ +struct hashmap_s { + unsigned table_size; + unsigned size; + struct hashmap_element_s *data; +}; + +#define HASHMAP_MAX_CHAIN_LENGTH (8) + +#if defined(__cplusplus) +extern "C" { +#endif + +/// @brief Create a hashmap. +/// @param initial_size The initial size of the hashmap. Must be a power of two. +/// @param out_hashmap The storage for the created hashmap. +/// @return On success 0 is returned. +/// +/// Note that the initial size of the hashmap must be a power of two, and +/// creation of the hashmap will fail if this is not the case. +static int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) HASHMAP_USED; + +/// @brief Put an element into the hashmap. +/// @param hashmap The hashmap to insert into. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @param value The value to insert. +/// @return On success 0 is returned. +/// +/// The key string slice is not copied when creating the hashmap entry, and thus +/// must remain a valid pointer until the hashmap entry is removed or the +/// hashmap is destroyed. +static int hashmap_put(struct hashmap_s *const hashmap, const char *const key, + const unsigned len, void *const value) HASHMAP_USED; + +/// @brief Get an element from the hashmap. +/// @param hashmap The hashmap to get from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return The previously set element, or NULL if none exists. +static void *hashmap_get(const struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success 0 is returned. +static int hashmap_remove(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success the original stored key pointer is returned, on failure +/// NULL is returned. +static const char * +hashmap_remove_and_return_key(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. Otherwise if +/// the callback function f returned non-zero then non-zero is returned. +static int hashmap_iterate(const struct hashmap_s *const hashmap, + int (*f)(void *const context, void *const value), + void *const context) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. +/// Otherwise if the callback function f returned positive then the positive +/// value is returned. If the callback function returns -1, the current item +/// is removed and iteration continues. +static int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) HASHMAP_USED; + +/// @brief Get the size of the hashmap. +/// @param hashmap The hashmap to get the size of. +/// @return The size of the hashmap. +static unsigned +hashmap_num_entries(const struct hashmap_s *const hashmap) HASHMAP_USED; + +/// @brief Destroy the hashmap. +/// @param hashmap The hashmap to destroy. +static void hashmap_destroy(struct hashmap_s *const hashmap) HASHMAP_USED; + +static unsigned hashmap_crc32_helper(const char *const s, + const unsigned len) HASHMAP_USED; +static unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) HASHMAP_USED; +static int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, + const unsigned len) HASHMAP_USED; +static int hashmap_hash_helper(const struct hashmap_s *const m, + const char *const key, const unsigned len, + unsigned *const out_index) HASHMAP_USED; +static int +hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) HASHMAP_USED; +static int hashmap_rehash_helper(struct hashmap_s *const m) HASHMAP_USED; + +#if defined(__cplusplus) +} +#endif + +#if defined(__cplusplus) +#define HASHMAP_CAST(type, x) static_cast(x) +#define HASHMAP_PTR_CAST(type, x) reinterpret_cast(x) +#define HASHMAP_NULL NULL +#else +#define HASHMAP_CAST(type, x) ((type)x) +#define HASHMAP_PTR_CAST(type, x) ((type)x) +#define HASHMAP_NULL 0 +#endif + +int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) { + out_hashmap->table_size = initial_size; + out_hashmap->size = 0; + + if (0 == initial_size || 0 != (initial_size & (initial_size - 1))) { + return 1; + } + + out_hashmap->data = + HASHMAP_CAST(struct hashmap_element_s *, + malloc(initial_size * sizeof(struct hashmap_element_s))); + if (!out_hashmap->data) { + return 1; + } + memset(out_hashmap->data, 0, initial_size * sizeof(struct hashmap_element_s)); + + return 0; +} + +int hashmap_put(struct hashmap_s *const m, const char *const key, + const unsigned len, void *const value) { + unsigned int index; + + /* Find a place to put our value. */ + while (!hashmap_hash_helper(m, key, len, &index)) { + if (hashmap_rehash_helper(m)) { + return 1; + } + } + + /* Set the data. */ + m->data[index].data = value; + m->data[index].key = key; + m->data[index].key_len = len; + + /* If the hashmap element was not already in use, set that it is being used + * and bump our size. */ + if (0 == m->data[index].in_use) { + m->data[index].in_use = 1; + m->size++; + } + + return 0; +} + +void *hashmap_get(const struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int curr; + unsigned int i; + + /* Find data location */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + return m->data[curr].data; + } + } + + curr = (curr + 1) % m->table_size; + } + + /* Not found */ + return HASHMAP_NULL; +} + +int hashmap_remove(struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + /* Blank out the fields including in_use */ + memset(&m->data[curr], 0, sizeof(struct hashmap_element_s)); + + /* Reduce the size */ + m->size--; + + return 0; + } + } + + curr = (curr + 1) % m->table_size; + } + + return 1; +} + +const char *hashmap_remove_and_return_key(struct hashmap_s *const m, + const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + const char *const stored_key = m->data[curr].key; + + /* Blank out the fields */ + m->data[curr].in_use = 0; + m->data[curr].data = HASHMAP_NULL; + m->data[curr].key = HASHMAP_NULL; + + /* Reduce the size */ + m->size--; + + return stored_key; + } + } + curr = (curr + 1) % m->table_size; + } + + return HASHMAP_NULL; +} + +int hashmap_iterate(const struct hashmap_s *const m, + int (*f)(void *const, void *const), void *const context) { + unsigned int i; + + /* Linear probing */ + for (i = 0; i < m->table_size; i++) { + if (m->data[i].in_use) { + if (!f(context, m->data[i].data)) { + return 1; + } + } + } + return 0; +} + +int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) { + unsigned int i; + struct hashmap_element_s *p; + int r; + + /* Linear probing */ + for (i = 0; i < hashmap->table_size; i++) { + p = &hashmap->data[i]; + if (p->in_use) { + r = f(context, p); + switch (r) { + case -1: /* remove item */ + memset(p, 0, sizeof(struct hashmap_element_s)); + hashmap->size--; + break; + case 0: /* continue iterating */ + break; + default: /* early exit */ + return 1; + } + } + } + return 0; +} + +void hashmap_destroy(struct hashmap_s *const m) { + free(m->data); + memset(m, 0, sizeof(struct hashmap_s)); +} + +unsigned hashmap_num_entries(const struct hashmap_s *const m) { + return m->size; +} + +unsigned hashmap_crc32_helper(const char *const s, const unsigned len) { + unsigned i; + unsigned crc32val = 0; + +#if defined(HASHMAP_SSE42) + for (i = 0; i < len; i++) { + crc32val = _mm_crc32_u8(crc32val, HASHMAP_CAST(unsigned char, s[i])); + } + + return crc32val; +#else + // Using polynomial 0x11EDC6F41 to match SSE 4.2's crc function. + static const unsigned crc32_tab[] = { + 0x00000000U, 0xF26B8303U, 0xE13B70F7U, 0x1350F3F4U, 0xC79A971FU, + 0x35F1141CU, 0x26A1E7E8U, 0xD4CA64EBU, 0x8AD958CFU, 0x78B2DBCCU, + 0x6BE22838U, 0x9989AB3BU, 0x4D43CFD0U, 0xBF284CD3U, 0xAC78BF27U, + 0x5E133C24U, 0x105EC76FU, 0xE235446CU, 0xF165B798U, 0x030E349BU, + 0xD7C45070U, 0x25AFD373U, 0x36FF2087U, 0xC494A384U, 0x9A879FA0U, + 0x68EC1CA3U, 0x7BBCEF57U, 0x89D76C54U, 0x5D1D08BFU, 0xAF768BBCU, + 0xBC267848U, 0x4E4DFB4BU, 0x20BD8EDEU, 0xD2D60DDDU, 0xC186FE29U, + 0x33ED7D2AU, 0xE72719C1U, 0x154C9AC2U, 0x061C6936U, 0xF477EA35U, + 0xAA64D611U, 0x580F5512U, 0x4B5FA6E6U, 0xB93425E5U, 0x6DFE410EU, + 0x9F95C20DU, 0x8CC531F9U, 0x7EAEB2FAU, 0x30E349B1U, 0xC288CAB2U, + 0xD1D83946U, 0x23B3BA45U, 0xF779DEAEU, 0x05125DADU, 0x1642AE59U, + 0xE4292D5AU, 0xBA3A117EU, 0x4851927DU, 0x5B016189U, 0xA96AE28AU, + 0x7DA08661U, 0x8FCB0562U, 0x9C9BF696U, 0x6EF07595U, 0x417B1DBCU, + 0xB3109EBFU, 0xA0406D4BU, 0x522BEE48U, 0x86E18AA3U, 0x748A09A0U, + 0x67DAFA54U, 0x95B17957U, 0xCBA24573U, 0x39C9C670U, 0x2A993584U, + 0xD8F2B687U, 0x0C38D26CU, 0xFE53516FU, 0xED03A29BU, 0x1F682198U, + 0x5125DAD3U, 0xA34E59D0U, 0xB01EAA24U, 0x42752927U, 0x96BF4DCCU, + 0x64D4CECFU, 0x77843D3BU, 0x85EFBE38U, 0xDBFC821CU, 0x2997011FU, + 0x3AC7F2EBU, 0xC8AC71E8U, 0x1C661503U, 0xEE0D9600U, 0xFD5D65F4U, + 0x0F36E6F7U, 0x61C69362U, 0x93AD1061U, 0x80FDE395U, 0x72966096U, + 0xA65C047DU, 0x5437877EU, 0x4767748AU, 0xB50CF789U, 0xEB1FCBADU, + 0x197448AEU, 0x0A24BB5AU, 0xF84F3859U, 0x2C855CB2U, 0xDEEEDFB1U, + 0xCDBE2C45U, 0x3FD5AF46U, 0x7198540DU, 0x83F3D70EU, 0x90A324FAU, + 0x62C8A7F9U, 0xB602C312U, 0x44694011U, 0x5739B3E5U, 0xA55230E6U, + 0xFB410CC2U, 0x092A8FC1U, 0x1A7A7C35U, 0xE811FF36U, 0x3CDB9BDDU, + 0xCEB018DEU, 0xDDE0EB2AU, 0x2F8B6829U, 0x82F63B78U, 0x709DB87BU, + 0x63CD4B8FU, 0x91A6C88CU, 0x456CAC67U, 0xB7072F64U, 0xA457DC90U, + 0x563C5F93U, 0x082F63B7U, 0xFA44E0B4U, 0xE9141340U, 0x1B7F9043U, + 0xCFB5F4A8U, 0x3DDE77ABU, 0x2E8E845FU, 0xDCE5075CU, 0x92A8FC17U, + 0x60C37F14U, 0x73938CE0U, 0x81F80FE3U, 0x55326B08U, 0xA759E80BU, + 0xB4091BFFU, 0x466298FCU, 0x1871A4D8U, 0xEA1A27DBU, 0xF94AD42FU, + 0x0B21572CU, 0xDFEB33C7U, 0x2D80B0C4U, 0x3ED04330U, 0xCCBBC033U, + 0xA24BB5A6U, 0x502036A5U, 0x4370C551U, 0xB11B4652U, 0x65D122B9U, + 0x97BAA1BAU, 0x84EA524EU, 0x7681D14DU, 0x2892ED69U, 0xDAF96E6AU, + 0xC9A99D9EU, 0x3BC21E9DU, 0xEF087A76U, 0x1D63F975U, 0x0E330A81U, + 0xFC588982U, 0xB21572C9U, 0x407EF1CAU, 0x532E023EU, 0xA145813DU, + 0x758FE5D6U, 0x87E466D5U, 0x94B49521U, 0x66DF1622U, 0x38CC2A06U, + 0xCAA7A905U, 0xD9F75AF1U, 0x2B9CD9F2U, 0xFF56BD19U, 0x0D3D3E1AU, + 0x1E6DCDEEU, 0xEC064EEDU, 0xC38D26C4U, 0x31E6A5C7U, 0x22B65633U, + 0xD0DDD530U, 0x0417B1DBU, 0xF67C32D8U, 0xE52CC12CU, 0x1747422FU, + 0x49547E0BU, 0xBB3FFD08U, 0xA86F0EFCU, 0x5A048DFFU, 0x8ECEE914U, + 0x7CA56A17U, 0x6FF599E3U, 0x9D9E1AE0U, 0xD3D3E1ABU, 0x21B862A8U, + 0x32E8915CU, 0xC083125FU, 0x144976B4U, 0xE622F5B7U, 0xF5720643U, + 0x07198540U, 0x590AB964U, 0xAB613A67U, 0xB831C993U, 0x4A5A4A90U, + 0x9E902E7BU, 0x6CFBAD78U, 0x7FAB5E8CU, 0x8DC0DD8FU, 0xE330A81AU, + 0x115B2B19U, 0x020BD8EDU, 0xF0605BEEU, 0x24AA3F05U, 0xD6C1BC06U, + 0xC5914FF2U, 0x37FACCF1U, 0x69E9F0D5U, 0x9B8273D6U, 0x88D28022U, + 0x7AB90321U, 0xAE7367CAU, 0x5C18E4C9U, 0x4F48173DU, 0xBD23943EU, + 0xF36E6F75U, 0x0105EC76U, 0x12551F82U, 0xE03E9C81U, 0x34F4F86AU, + 0xC69F7B69U, 0xD5CF889DU, 0x27A40B9EU, 0x79B737BAU, 0x8BDCB4B9U, + 0x988C474DU, 0x6AE7C44EU, 0xBE2DA0A5U, 0x4C4623A6U, 0x5F16D052U, + 0xAD7D5351U}; + + for (i = 0; i < len; i++) { + crc32val = crc32_tab[(HASHMAP_CAST(unsigned char, crc32val) ^ + HASHMAP_CAST(unsigned char, s[i]))] ^ + (crc32val >> 8); + } + return crc32val; +#endif +} + +unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) { + unsigned key = hashmap_crc32_helper(keystring, len); + + /* Robert Jenkins' 32 bit Mix Function */ + key += (key << 12); + key ^= (key >> 22); + key += (key << 4); + key ^= (key >> 9); + key += (key << 10); + key ^= (key >> 2); + key += (key << 7); + key ^= (key >> 12); + + /* Knuth's Multiplicative Method */ + key = (key >> 3) * 2654435761; + + return key % m->table_size; +} + +int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, const unsigned len) { + return (element->key_len == len) && (0 == memcmp(element->key, key, len)); +} + +int hashmap_hash_helper(const struct hashmap_s *const m, const char *const key, + const unsigned len, unsigned *const out_index) { + unsigned int start, curr; + unsigned int i; + int total_in_use; + + /* If full, return immediately */ + if (m->size >= m->table_size) { + return 0; + } + + /* Find the best index */ + curr = start = hashmap_hash_helper_int_helper(m, key, len); + + /* First linear probe to check if we've already insert the element */ + total_in_use = 0; + + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + const int in_use = m->data[curr].in_use; + + total_in_use += in_use; + + if (in_use && hashmap_match_helper(&m->data[curr], key, len)) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + + curr = start; + + /* Second linear probe to actually insert our element (only if there was at + * least one empty entry) */ + if (HASHMAP_MAX_CHAIN_LENGTH > total_in_use) { + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (!m->data[curr].in_use) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + } + + return 0; +} + +int hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) { + int temp = hashmap_put(HASHMAP_PTR_CAST(struct hashmap_s *, new_hash), e->key, + e->key_len, e->data); + if (0 < temp) { + return 1; + } + /* clear old value to avoid stale pointers */ + return -1; +} +/* + * Doubles the size of the hashmap, and rehashes all the elements + */ +int hashmap_rehash_helper(struct hashmap_s *const m) { + /* If this multiplication overflows hashmap_create will fail. */ + unsigned new_size = 2 * m->table_size; + + struct hashmap_s new_hash; + + int flag = hashmap_create(new_size, &new_hash); + + if (0 != flag) { + return flag; + } + + /* copy the old elements to the new table */ + flag = hashmap_iterate_pairs(m, hashmap_rehash_iterator, + HASHMAP_PTR_CAST(void *, &new_hash)); + + if (0 != flag) { + return flag; + } + + hashmap_destroy(m); + /* put new hash into old hash structure by copying */ + memcpy(m, &new_hash, sizeof(struct hashmap_s)); + + return 0; +} + +#if defined(_MSC_VER) +#pragma warning(pop) +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif + +#endif diff --git a/rpg/level14.c b/rpg/level14.c new file mode 100644 index 0000000..59cc068 --- /dev/null +++ b/rpg/level14.c @@ -0,0 +1,56 @@ +#include +#include "constants.h" +#include "ent.h" + +#include +#include "rpg_imports.h" + +bool in_door = false; + +__EXPORT__ void level_entered_tile(ent_t* ent, int gx, int gy, grid_t g) +{ + if (g.tag) + { + if (is_player(ent)) + { + grid_t* find = NULL; + if (strcmp(g.tag, "d1") == 0) + { + if (!in_door && (find = get_tile_by_tag("d2")) != NULL) + { + int target_gx, target_gy; + grid_pos(find, &target_gx, &target_gy); + ent->x = target_gx * GRID; + ent->y = target_gy * GRID; + in_door = true; + } + } + if (strcmp(g.tag, "d2") == 0) + { + if (!in_door && (find = get_tile_by_tag("d1")) != NULL) + { + int target_gx, target_gy; + grid_pos((grid_t*)find, &target_gx, &target_gy); + ent->x = target_gx * GRID; + ent->y = target_gy * GRID; + in_door = true; + } + } + } + } +} +__EXPORT__ void level_exited_tile(ent_t* ent, int gx, int gy, grid_t g) +{ +} + +__EXPORT__ void level_update(float ms) +{ + in_door = false; +} + +__EXPORT__ int setup(int arg) +{ + LOAD_DYN(is_player) + LOAD_DYN(get_tile_by_tag) + LOAD_DYN(grid_pos) +} diff --git a/rpg/level_imports.h b/rpg/level_imports.h new file mode 100644 index 0000000..9dd2be5 --- /dev/null +++ b/rpg/level_imports.h @@ -0,0 +1,5 @@ +#include "ent.h" + +__IMPORT__ void (*level_entered_tile)(ent_t* ent, int gx, int gy, grid_t g); +__IMPORT__ void (*level_exited_tile)(ent_t* ent, int gx, int gy, grid_t g); +__IMPORT__ void (*level_update)(float t); diff --git a/rpg/parse.c b/rpg/parse.c new file mode 100644 index 0000000..ec097e2 --- /dev/null +++ b/rpg/parse.c @@ -0,0 +1,64 @@ +#include "parse.h" + +bool reset_parse = false; +char* parse_word = NULL; +int parse_line = 1; +int parse(char* l, size_t len, bool (*is_break)(char), bool debug) +{ + static char last_char; + static int i = 0; + static int nl = 0; + if (reset_parse) + { + parse_line = 1; + i = 0; + nl = 0; + last_char = 0; + reset_parse = false; + } + + parse_word = NULL; + + while (i < len) + { + char c = l[i]; + if (c == 0) c = last_char; + i++; + if (debug) + { + printf("Char@%d %d %c\n", i, c, c); + } + if (is_break(c) || c == '\n') + { + if (parse_word) + { + i--; + l[i] = 0; + last_char = c; + nl = false; + return WORD; + } + else if (c == '\n') + { + nl++; + parse_line++; + if (nl == 1) + { + return NL; + } + else if (nl == 2) + { + return BREAK; + } + } + } + else + { + if (parse_word == NULL) parse_word = l + (i - 1); + } + } + + if (parse_word) return WORD; + + return DONE; +} diff --git a/rpg/parse.h b/rpg/parse.h new file mode 100644 index 0000000..4767bf6 --- /dev/null +++ b/rpg/parse.h @@ -0,0 +1,13 @@ +#pragma once +#include + +#define WORD 0 +#define NL 1 +#define BREAK 2 +#define DONE 3 + +extern bool reset_parse; +extern char* parse_word; +extern int parse_line; + +int parse(char* l, size_t len, bool (*is_break)(char), bool debug); diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix4.pbm b/cart/test/roof_fix4.pbm deleted file mode 100644 index 2c392ad..0000000 --- a/cart/test/roof_fix4.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/test/roof_fix5.pbm b/cart/test/roof_fix5.pbm deleted file mode 100644 index 39b7f23..0000000 --- a/cart/test/roof_fix5.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/test/roof_fix6.pbm b/cart/test/roof_fix6.pbm deleted file mode 100644 index 8bbe9fc..0000000 --- a/cart/test/roof_fix6.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/test/roof_fix7.pbm b/cart/test/roof_fix7.pbm deleted file mode 100644 index 0c29640..0000000 --- a/cart/test/roof_fix7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix8.pbm b/cart/test/roof_fix8.pbm deleted file mode 100644 index e90cfc3..0000000 --- a/cart/test/roof_fix8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix9.pbm b/cart/test/roof_fix9.pbm deleted file mode 100644 index 31dfb3d..0000000 --- a/cart/test/roof_fix9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall1.pbm b/cart/test/wall1.pbm deleted file mode 100644 index 31e09be..0000000 --- a/cart/test/wall1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall2.pbm b/cart/test/wall2.pbm deleted file mode 100644 index 1871c8b..0000000 --- a/cart/test/wall2.pbm +++ /dev/null Binary files differ diff --git a/rpg/Makefile b/rpg/Makefile new file mode 100644 index 0000000..5a8fda9 --- /dev/null +++ b/rpg/Makefile @@ -0,0 +1,10 @@ +CART_DIR ?= ../cart/rpg +MAKE_ROOT ?= ../../cneboy/make + +SOURCES := rpg.c parse.c + +MODULES := level14 + +SOURCES_level14 := level14.c + +include $(MAKE_ROOT)/Makefile diff --git a/rpg/constants.h b/rpg/constants.h new file mode 100644 index 0000000..336c98e --- /dev/null +++ b/rpg/constants.h @@ -0,0 +1,6 @@ +#define GRID 14 +#define COLS 12 +#define ROWS 10 +#define PADX 0 +#define PADY 2 +#define SPRITEOFF -1 diff --git a/rpg/ent.h b/rpg/ent.h new file mode 100644 index 0000000..254369d --- /dev/null +++ b/rpg/ent.h @@ -0,0 +1,20 @@ +#pragma once +#include +#include + +typedef struct +{ + // last frame coords + float ox; + float oy; + + // current coords + float x; + float y; + + pbm_t* graphic; + pbm_t* outline; + int off_x; + int off_y; + int outline_pixels; +} ent_t; diff --git a/rpg/grid.h b/rpg/grid.h new file mode 100644 index 0000000..4cddf8d --- /dev/null +++ b/rpg/grid.h @@ -0,0 +1,12 @@ +typedef enum +{ + GRID_FLIPX = 1, + GRID_FLIPY = 2, +} grid_flags; + +typedef struct +{ + uint8_t tile; + grid_flags flags; + char* tag; +} grid_t; diff --git a/rpg/hashmap.h b/rpg/hashmap.h new file mode 100644 index 0000000..da88e81 --- /dev/null +++ b/rpg/hashmap.h @@ -0,0 +1,594 @@ +/* + The latest version of this library is available on GitHub; + https://github.com/sheredom/hashmap.h +*/ + +/* + This is free and unencumbered software released into the public domain. + + Anyone is free to copy, modify, publish, use, compile, sell, or + distribute this software, either in source code form or as a compiled + binary, for any purpose, commercial or non-commercial, and by any + means. + + In jurisdictions that recognize copyright laws, the author or authors + of this software dedicate any and all copyright interest in the + software to the public domain. We make this dedication for the benefit + of the public at large and to the detriment of our heirs and + successors. We intend this dedication to be an overt act of + relinquishment in perpetuity of all present and future rights to this + software under copyright law. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + For more information, please refer to +*/ +#ifndef SHEREDOM_HASHMAP_H_INCLUDED +#define SHEREDOM_HASHMAP_H_INCLUDED + +#if defined(_MSC_VER) +// Workaround a bug in the MSVC runtime where it uses __cplusplus when not +// defined. +#pragma warning(push, 0) +#pragma warning(disable : 4668) +#endif + +#include "client_api.h" + +//#include +//#include + +//#if (defined(_MSC_VER) && defined(__AVX__)) || \ +// (!defined(_MSC_VER) && defined(__SSE4_2__)) +//#define HASHMAP_SSE42 +//#endif + +//#if defined(HASHMAP_SSE42) +//#include +//#endif + +#if defined(_MSC_VER) +#pragma warning(pop) +#endif + +#if defined(_MSC_VER) +#pragma warning(push) +/* Stop MSVC complaining about unreferenced functions */ +#pragma warning(disable : 4505) +/* Stop MSVC complaining about not inlining functions */ +#pragma warning(disable : 4710) +/* Stop MSVC complaining about inlining functions! */ +#pragma warning(disable : 4711) +#elif defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-function" +#endif + +#if defined(_MSC_VER) +#define HASHMAP_USED +#elif defined(__GNUC__) +#define HASHMAP_USED __attribute__((used)) +#else +#define HASHMAP_USED +#endif + +/* We need to keep keys and values. */ +struct hashmap_element_s { + const char *key; + unsigned key_len; + int in_use; + void *data; +}; + +/* A hashmap has some maximum size and current size, as well as the data to + * hold. */ +struct hashmap_s { + unsigned table_size; + unsigned size; + struct hashmap_element_s *data; +}; + +#define HASHMAP_MAX_CHAIN_LENGTH (8) + +#if defined(__cplusplus) +extern "C" { +#endif + +/// @brief Create a hashmap. +/// @param initial_size The initial size of the hashmap. Must be a power of two. +/// @param out_hashmap The storage for the created hashmap. +/// @return On success 0 is returned. +/// +/// Note that the initial size of the hashmap must be a power of two, and +/// creation of the hashmap will fail if this is not the case. +static int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) HASHMAP_USED; + +/// @brief Put an element into the hashmap. +/// @param hashmap The hashmap to insert into. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @param value The value to insert. +/// @return On success 0 is returned. +/// +/// The key string slice is not copied when creating the hashmap entry, and thus +/// must remain a valid pointer until the hashmap entry is removed or the +/// hashmap is destroyed. +static int hashmap_put(struct hashmap_s *const hashmap, const char *const key, + const unsigned len, void *const value) HASHMAP_USED; + +/// @brief Get an element from the hashmap. +/// @param hashmap The hashmap to get from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return The previously set element, or NULL if none exists. +static void *hashmap_get(const struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success 0 is returned. +static int hashmap_remove(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success the original stored key pointer is returned, on failure +/// NULL is returned. +static const char * +hashmap_remove_and_return_key(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. Otherwise if +/// the callback function f returned non-zero then non-zero is returned. +static int hashmap_iterate(const struct hashmap_s *const hashmap, + int (*f)(void *const context, void *const value), + void *const context) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. +/// Otherwise if the callback function f returned positive then the positive +/// value is returned. If the callback function returns -1, the current item +/// is removed and iteration continues. +static int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) HASHMAP_USED; + +/// @brief Get the size of the hashmap. +/// @param hashmap The hashmap to get the size of. +/// @return The size of the hashmap. +static unsigned +hashmap_num_entries(const struct hashmap_s *const hashmap) HASHMAP_USED; + +/// @brief Destroy the hashmap. +/// @param hashmap The hashmap to destroy. +static void hashmap_destroy(struct hashmap_s *const hashmap) HASHMAP_USED; + +static unsigned hashmap_crc32_helper(const char *const s, + const unsigned len) HASHMAP_USED; +static unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) HASHMAP_USED; +static int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, + const unsigned len) HASHMAP_USED; +static int hashmap_hash_helper(const struct hashmap_s *const m, + const char *const key, const unsigned len, + unsigned *const out_index) HASHMAP_USED; +static int +hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) HASHMAP_USED; +static int hashmap_rehash_helper(struct hashmap_s *const m) HASHMAP_USED; + +#if defined(__cplusplus) +} +#endif + +#if defined(__cplusplus) +#define HASHMAP_CAST(type, x) static_cast(x) +#define HASHMAP_PTR_CAST(type, x) reinterpret_cast(x) +#define HASHMAP_NULL NULL +#else +#define HASHMAP_CAST(type, x) ((type)x) +#define HASHMAP_PTR_CAST(type, x) ((type)x) +#define HASHMAP_NULL 0 +#endif + +int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) { + out_hashmap->table_size = initial_size; + out_hashmap->size = 0; + + if (0 == initial_size || 0 != (initial_size & (initial_size - 1))) { + return 1; + } + + out_hashmap->data = + HASHMAP_CAST(struct hashmap_element_s *, + malloc(initial_size * sizeof(struct hashmap_element_s))); + if (!out_hashmap->data) { + return 1; + } + memset(out_hashmap->data, 0, initial_size * sizeof(struct hashmap_element_s)); + + return 0; +} + +int hashmap_put(struct hashmap_s *const m, const char *const key, + const unsigned len, void *const value) { + unsigned int index; + + /* Find a place to put our value. */ + while (!hashmap_hash_helper(m, key, len, &index)) { + if (hashmap_rehash_helper(m)) { + return 1; + } + } + + /* Set the data. */ + m->data[index].data = value; + m->data[index].key = key; + m->data[index].key_len = len; + + /* If the hashmap element was not already in use, set that it is being used + * and bump our size. */ + if (0 == m->data[index].in_use) { + m->data[index].in_use = 1; + m->size++; + } + + return 0; +} + +void *hashmap_get(const struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int curr; + unsigned int i; + + /* Find data location */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + return m->data[curr].data; + } + } + + curr = (curr + 1) % m->table_size; + } + + /* Not found */ + return HASHMAP_NULL; +} + +int hashmap_remove(struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + /* Blank out the fields including in_use */ + memset(&m->data[curr], 0, sizeof(struct hashmap_element_s)); + + /* Reduce the size */ + m->size--; + + return 0; + } + } + + curr = (curr + 1) % m->table_size; + } + + return 1; +} + +const char *hashmap_remove_and_return_key(struct hashmap_s *const m, + const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + const char *const stored_key = m->data[curr].key; + + /* Blank out the fields */ + m->data[curr].in_use = 0; + m->data[curr].data = HASHMAP_NULL; + m->data[curr].key = HASHMAP_NULL; + + /* Reduce the size */ + m->size--; + + return stored_key; + } + } + curr = (curr + 1) % m->table_size; + } + + return HASHMAP_NULL; +} + +int hashmap_iterate(const struct hashmap_s *const m, + int (*f)(void *const, void *const), void *const context) { + unsigned int i; + + /* Linear probing */ + for (i = 0; i < m->table_size; i++) { + if (m->data[i].in_use) { + if (!f(context, m->data[i].data)) { + return 1; + } + } + } + return 0; +} + +int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) { + unsigned int i; + struct hashmap_element_s *p; + int r; + + /* Linear probing */ + for (i = 0; i < hashmap->table_size; i++) { + p = &hashmap->data[i]; + if (p->in_use) { + r = f(context, p); + switch (r) { + case -1: /* remove item */ + memset(p, 0, sizeof(struct hashmap_element_s)); + hashmap->size--; + break; + case 0: /* continue iterating */ + break; + default: /* early exit */ + return 1; + } + } + } + return 0; +} + +void hashmap_destroy(struct hashmap_s *const m) { + free(m->data); + memset(m, 0, sizeof(struct hashmap_s)); +} + +unsigned hashmap_num_entries(const struct hashmap_s *const m) { + return m->size; +} + +unsigned hashmap_crc32_helper(const char *const s, const unsigned len) { + unsigned i; + unsigned crc32val = 0; + +#if defined(HASHMAP_SSE42) + for (i = 0; i < len; i++) { + crc32val = _mm_crc32_u8(crc32val, HASHMAP_CAST(unsigned char, s[i])); + } + + return crc32val; +#else + // Using polynomial 0x11EDC6F41 to match SSE 4.2's crc function. + static const unsigned crc32_tab[] = { + 0x00000000U, 0xF26B8303U, 0xE13B70F7U, 0x1350F3F4U, 0xC79A971FU, + 0x35F1141CU, 0x26A1E7E8U, 0xD4CA64EBU, 0x8AD958CFU, 0x78B2DBCCU, + 0x6BE22838U, 0x9989AB3BU, 0x4D43CFD0U, 0xBF284CD3U, 0xAC78BF27U, + 0x5E133C24U, 0x105EC76FU, 0xE235446CU, 0xF165B798U, 0x030E349BU, + 0xD7C45070U, 0x25AFD373U, 0x36FF2087U, 0xC494A384U, 0x9A879FA0U, + 0x68EC1CA3U, 0x7BBCEF57U, 0x89D76C54U, 0x5D1D08BFU, 0xAF768BBCU, + 0xBC267848U, 0x4E4DFB4BU, 0x20BD8EDEU, 0xD2D60DDDU, 0xC186FE29U, + 0x33ED7D2AU, 0xE72719C1U, 0x154C9AC2U, 0x061C6936U, 0xF477EA35U, + 0xAA64D611U, 0x580F5512U, 0x4B5FA6E6U, 0xB93425E5U, 0x6DFE410EU, + 0x9F95C20DU, 0x8CC531F9U, 0x7EAEB2FAU, 0x30E349B1U, 0xC288CAB2U, + 0xD1D83946U, 0x23B3BA45U, 0xF779DEAEU, 0x05125DADU, 0x1642AE59U, + 0xE4292D5AU, 0xBA3A117EU, 0x4851927DU, 0x5B016189U, 0xA96AE28AU, + 0x7DA08661U, 0x8FCB0562U, 0x9C9BF696U, 0x6EF07595U, 0x417B1DBCU, + 0xB3109EBFU, 0xA0406D4BU, 0x522BEE48U, 0x86E18AA3U, 0x748A09A0U, + 0x67DAFA54U, 0x95B17957U, 0xCBA24573U, 0x39C9C670U, 0x2A993584U, + 0xD8F2B687U, 0x0C38D26CU, 0xFE53516FU, 0xED03A29BU, 0x1F682198U, + 0x5125DAD3U, 0xA34E59D0U, 0xB01EAA24U, 0x42752927U, 0x96BF4DCCU, + 0x64D4CECFU, 0x77843D3BU, 0x85EFBE38U, 0xDBFC821CU, 0x2997011FU, + 0x3AC7F2EBU, 0xC8AC71E8U, 0x1C661503U, 0xEE0D9600U, 0xFD5D65F4U, + 0x0F36E6F7U, 0x61C69362U, 0x93AD1061U, 0x80FDE395U, 0x72966096U, + 0xA65C047DU, 0x5437877EU, 0x4767748AU, 0xB50CF789U, 0xEB1FCBADU, + 0x197448AEU, 0x0A24BB5AU, 0xF84F3859U, 0x2C855CB2U, 0xDEEEDFB1U, + 0xCDBE2C45U, 0x3FD5AF46U, 0x7198540DU, 0x83F3D70EU, 0x90A324FAU, + 0x62C8A7F9U, 0xB602C312U, 0x44694011U, 0x5739B3E5U, 0xA55230E6U, + 0xFB410CC2U, 0x092A8FC1U, 0x1A7A7C35U, 0xE811FF36U, 0x3CDB9BDDU, + 0xCEB018DEU, 0xDDE0EB2AU, 0x2F8B6829U, 0x82F63B78U, 0x709DB87BU, + 0x63CD4B8FU, 0x91A6C88CU, 0x456CAC67U, 0xB7072F64U, 0xA457DC90U, + 0x563C5F93U, 0x082F63B7U, 0xFA44E0B4U, 0xE9141340U, 0x1B7F9043U, + 0xCFB5F4A8U, 0x3DDE77ABU, 0x2E8E845FU, 0xDCE5075CU, 0x92A8FC17U, + 0x60C37F14U, 0x73938CE0U, 0x81F80FE3U, 0x55326B08U, 0xA759E80BU, + 0xB4091BFFU, 0x466298FCU, 0x1871A4D8U, 0xEA1A27DBU, 0xF94AD42FU, + 0x0B21572CU, 0xDFEB33C7U, 0x2D80B0C4U, 0x3ED04330U, 0xCCBBC033U, + 0xA24BB5A6U, 0x502036A5U, 0x4370C551U, 0xB11B4652U, 0x65D122B9U, + 0x97BAA1BAU, 0x84EA524EU, 0x7681D14DU, 0x2892ED69U, 0xDAF96E6AU, + 0xC9A99D9EU, 0x3BC21E9DU, 0xEF087A76U, 0x1D63F975U, 0x0E330A81U, + 0xFC588982U, 0xB21572C9U, 0x407EF1CAU, 0x532E023EU, 0xA145813DU, + 0x758FE5D6U, 0x87E466D5U, 0x94B49521U, 0x66DF1622U, 0x38CC2A06U, + 0xCAA7A905U, 0xD9F75AF1U, 0x2B9CD9F2U, 0xFF56BD19U, 0x0D3D3E1AU, + 0x1E6DCDEEU, 0xEC064EEDU, 0xC38D26C4U, 0x31E6A5C7U, 0x22B65633U, + 0xD0DDD530U, 0x0417B1DBU, 0xF67C32D8U, 0xE52CC12CU, 0x1747422FU, + 0x49547E0BU, 0xBB3FFD08U, 0xA86F0EFCU, 0x5A048DFFU, 0x8ECEE914U, + 0x7CA56A17U, 0x6FF599E3U, 0x9D9E1AE0U, 0xD3D3E1ABU, 0x21B862A8U, + 0x32E8915CU, 0xC083125FU, 0x144976B4U, 0xE622F5B7U, 0xF5720643U, + 0x07198540U, 0x590AB964U, 0xAB613A67U, 0xB831C993U, 0x4A5A4A90U, + 0x9E902E7BU, 0x6CFBAD78U, 0x7FAB5E8CU, 0x8DC0DD8FU, 0xE330A81AU, + 0x115B2B19U, 0x020BD8EDU, 0xF0605BEEU, 0x24AA3F05U, 0xD6C1BC06U, + 0xC5914FF2U, 0x37FACCF1U, 0x69E9F0D5U, 0x9B8273D6U, 0x88D28022U, + 0x7AB90321U, 0xAE7367CAU, 0x5C18E4C9U, 0x4F48173DU, 0xBD23943EU, + 0xF36E6F75U, 0x0105EC76U, 0x12551F82U, 0xE03E9C81U, 0x34F4F86AU, + 0xC69F7B69U, 0xD5CF889DU, 0x27A40B9EU, 0x79B737BAU, 0x8BDCB4B9U, + 0x988C474DU, 0x6AE7C44EU, 0xBE2DA0A5U, 0x4C4623A6U, 0x5F16D052U, + 0xAD7D5351U}; + + for (i = 0; i < len; i++) { + crc32val = crc32_tab[(HASHMAP_CAST(unsigned char, crc32val) ^ + HASHMAP_CAST(unsigned char, s[i]))] ^ + (crc32val >> 8); + } + return crc32val; +#endif +} + +unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) { + unsigned key = hashmap_crc32_helper(keystring, len); + + /* Robert Jenkins' 32 bit Mix Function */ + key += (key << 12); + key ^= (key >> 22); + key += (key << 4); + key ^= (key >> 9); + key += (key << 10); + key ^= (key >> 2); + key += (key << 7); + key ^= (key >> 12); + + /* Knuth's Multiplicative Method */ + key = (key >> 3) * 2654435761; + + return key % m->table_size; +} + +int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, const unsigned len) { + return (element->key_len == len) && (0 == memcmp(element->key, key, len)); +} + +int hashmap_hash_helper(const struct hashmap_s *const m, const char *const key, + const unsigned len, unsigned *const out_index) { + unsigned int start, curr; + unsigned int i; + int total_in_use; + + /* If full, return immediately */ + if (m->size >= m->table_size) { + return 0; + } + + /* Find the best index */ + curr = start = hashmap_hash_helper_int_helper(m, key, len); + + /* First linear probe to check if we've already insert the element */ + total_in_use = 0; + + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + const int in_use = m->data[curr].in_use; + + total_in_use += in_use; + + if (in_use && hashmap_match_helper(&m->data[curr], key, len)) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + + curr = start; + + /* Second linear probe to actually insert our element (only if there was at + * least one empty entry) */ + if (HASHMAP_MAX_CHAIN_LENGTH > total_in_use) { + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (!m->data[curr].in_use) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + } + + return 0; +} + +int hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) { + int temp = hashmap_put(HASHMAP_PTR_CAST(struct hashmap_s *, new_hash), e->key, + e->key_len, e->data); + if (0 < temp) { + return 1; + } + /* clear old value to avoid stale pointers */ + return -1; +} +/* + * Doubles the size of the hashmap, and rehashes all the elements + */ +int hashmap_rehash_helper(struct hashmap_s *const m) { + /* If this multiplication overflows hashmap_create will fail. */ + unsigned new_size = 2 * m->table_size; + + struct hashmap_s new_hash; + + int flag = hashmap_create(new_size, &new_hash); + + if (0 != flag) { + return flag; + } + + /* copy the old elements to the new table */ + flag = hashmap_iterate_pairs(m, hashmap_rehash_iterator, + HASHMAP_PTR_CAST(void *, &new_hash)); + + if (0 != flag) { + return flag; + } + + hashmap_destroy(m); + /* put new hash into old hash structure by copying */ + memcpy(m, &new_hash, sizeof(struct hashmap_s)); + + return 0; +} + +#if defined(_MSC_VER) +#pragma warning(pop) +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif + +#endif diff --git a/rpg/level14.c b/rpg/level14.c new file mode 100644 index 0000000..59cc068 --- /dev/null +++ b/rpg/level14.c @@ -0,0 +1,56 @@ +#include +#include "constants.h" +#include "ent.h" + +#include +#include "rpg_imports.h" + +bool in_door = false; + +__EXPORT__ void level_entered_tile(ent_t* ent, int gx, int gy, grid_t g) +{ + if (g.tag) + { + if (is_player(ent)) + { + grid_t* find = NULL; + if (strcmp(g.tag, "d1") == 0) + { + if (!in_door && (find = get_tile_by_tag("d2")) != NULL) + { + int target_gx, target_gy; + grid_pos(find, &target_gx, &target_gy); + ent->x = target_gx * GRID; + ent->y = target_gy * GRID; + in_door = true; + } + } + if (strcmp(g.tag, "d2") == 0) + { + if (!in_door && (find = get_tile_by_tag("d1")) != NULL) + { + int target_gx, target_gy; + grid_pos((grid_t*)find, &target_gx, &target_gy); + ent->x = target_gx * GRID; + ent->y = target_gy * GRID; + in_door = true; + } + } + } + } +} +__EXPORT__ void level_exited_tile(ent_t* ent, int gx, int gy, grid_t g) +{ +} + +__EXPORT__ void level_update(float ms) +{ + in_door = false; +} + +__EXPORT__ int setup(int arg) +{ + LOAD_DYN(is_player) + LOAD_DYN(get_tile_by_tag) + LOAD_DYN(grid_pos) +} diff --git a/rpg/level_imports.h b/rpg/level_imports.h new file mode 100644 index 0000000..9dd2be5 --- /dev/null +++ b/rpg/level_imports.h @@ -0,0 +1,5 @@ +#include "ent.h" + +__IMPORT__ void (*level_entered_tile)(ent_t* ent, int gx, int gy, grid_t g); +__IMPORT__ void (*level_exited_tile)(ent_t* ent, int gx, int gy, grid_t g); +__IMPORT__ void (*level_update)(float t); diff --git a/rpg/parse.c b/rpg/parse.c new file mode 100644 index 0000000..ec097e2 --- /dev/null +++ b/rpg/parse.c @@ -0,0 +1,64 @@ +#include "parse.h" + +bool reset_parse = false; +char* parse_word = NULL; +int parse_line = 1; +int parse(char* l, size_t len, bool (*is_break)(char), bool debug) +{ + static char last_char; + static int i = 0; + static int nl = 0; + if (reset_parse) + { + parse_line = 1; + i = 0; + nl = 0; + last_char = 0; + reset_parse = false; + } + + parse_word = NULL; + + while (i < len) + { + char c = l[i]; + if (c == 0) c = last_char; + i++; + if (debug) + { + printf("Char@%d %d %c\n", i, c, c); + } + if (is_break(c) || c == '\n') + { + if (parse_word) + { + i--; + l[i] = 0; + last_char = c; + nl = false; + return WORD; + } + else if (c == '\n') + { + nl++; + parse_line++; + if (nl == 1) + { + return NL; + } + else if (nl == 2) + { + return BREAK; + } + } + } + else + { + if (parse_word == NULL) parse_word = l + (i - 1); + } + } + + if (parse_word) return WORD; + + return DONE; +} diff --git a/rpg/parse.h b/rpg/parse.h new file mode 100644 index 0000000..4767bf6 --- /dev/null +++ b/rpg/parse.h @@ -0,0 +1,13 @@ +#pragma once +#include + +#define WORD 0 +#define NL 1 +#define BREAK 2 +#define DONE 3 + +extern bool reset_parse; +extern char* parse_word; +extern int parse_line; + +int parse(char* l, size_t len, bool (*is_break)(char), bool debug); diff --git a/rpg/rpg.c b/rpg/rpg.c new file mode 100644 index 0000000..5791026 --- /dev/null +++ b/rpg/rpg.c @@ -0,0 +1,607 @@ +#include +#include "grid.h" +#include "ent.h" +#include "parse.h" +#include "hashmap.h" + +#include +#include "level_imports.h" + +#include "constants.h" + + +typedef enum +{ + BG_SOLID = 1, + BG_TOP = 2, +} bg_flags; + +typedef struct +{ + char* tile; + pbm_t* pbm; + uint8_t flags; +} bg_t; + +bg_t bg[100]; +int num_bg = 0; + + +grid_t grid[COLS][ROWS]; + +__EXPORT__ void grid_pos(grid_t* g, int* gx, int* gy) +{ + int index = (int)(g - &grid[0][0]); + *gx = index / ROWS; + *gy = index - (*gx * ROWS); +} + +struct hashmap_s tile_tags; + + +ent_t player; + +#define OUTLINE 2 + +bool load_level(char* fname); +void unload_level(); + +void set_outline(ent_t* ent, int pixels, bool expand, bool dither) +{ + ent->outline = d_expand_bitmap(ent->graphic, pixels, expand, dither); + ent->outline_pixels = expand ? pixels : 0; +} +void set_standard_sprite_off(ent_t* ent) +{ + ent->off_x = ent->off_y = SPRITEOFF; +} +void reset_pos(ent_t* ent, int x, int y) +{ + ent->x = ent->ox = x; + ent->y = ent->oy = y; +} +__EXPORT__ int setup(int a) +{ + hashmap_create(32, &tile_tags); + + player.graphic = f_bitmap("/player.pbm"); + set_outline(&player, OUTLINE, true, false); + set_standard_sprite_off(&player); + reset_pos(&player, 0, 0); + + if (!load_level("level14")) + { + return 1; + } + + return 0; +} + +int remove_all_hashmap(void* const ctx, struct hashmap_element_s* const value) { return -1; } + +char* last_level = NULL; +void* level_code = NULL; +void unload_level() +{ + level_update = NULL; + level_entered_tile = NULL; + level_exited_tile = NULL; + + if (level_code) unload_code(level_code); + + for (int i = 0; i < num_bg; i++) + { + free(bg[i].pbm); + } + num_bg = 0; + + if (last_level) + { + free(last_level); + last_level = NULL; + } + + hashmap_iterate_pairs(&tile_tags, remove_all_hashmap, NULL); +} + +#define SOLID 1 +#define TOP 2 + + +bool is_space(char c) { return isspace(c); } +bool is_comma_or_space(char c) { return c == ',' || is_space(c); } + +bool load_level(char* level_name) +{ + unload_level(); + memset(grid, 0, sizeof(grid)); + + char filename[100]; + sprintf(filename, "/%s.txt", level_name); + + size_t len; + last_level = (char*)f_contents(filename, &len); + if (!last_level) + { + printf("Couldn't find level: %s\n", filename); + return false; + } + + reset_parse = true; + + // name, file, [flags] + char* tile_def[] = { NULL, NULL, NULL }; + + while (true) + { + int res = parse(last_level, len, is_space, false); + //printf("Parse res: %d\n", res); + + if (res == DONE) + { + printf("No tile grid given in level %s\n", filename); + return false; + } + + int not_null = 0; + for (; not_null < 3; not_null++) + { + if (!tile_def[not_null]) break; + } + + if (res == NL) + { + if (not_null < 2) + { + printf("Invalid tile def on line %d\n", parse_line - 1); + return false; + } + + if (!tile_def[2]) tile_def[2] = "NULL"; + + printf("Parsed tile %d %s %s %s\n", not_null, tile_def[0], tile_def[1], tile_def[2]); + + bg_flags flags = 0; + if (not_null >= 3) + { + size_t flag_len = strlen(tile_def[2]); + for (int i = 0; i < flag_len; i++) + { + if (tile_def[2][i] == 's') flags |= BG_SOLID; + if (tile_def[2][i] == 't') flags |= BG_TOP; + } + } + + + bool found = false; + char f[100]; + sprintf(f, "/%s.pbm", tile_def[1]); + pbm_t* n = f_bitmap(f); + if (n) + { + found = true; + + bg_t b = { tile_def[0], n, flags }; + bg[num_bg++] = b; + + printf("Tile %s registered as word %s\n", f, tile_def[0]); + } + else + { + int i = 1; + sprintf(f, "/%s%d.pbm", tile_def[1], i); + while (n = f_bitmap(f)) + { + found = true; + + char name[10]; + sprintf(name, "%s%d", tile_def[0], i); + + + bg_t b = { malloc(strlen(name) + 1), n, flags }; + strcpy(b.tile, name); + bg[num_bg++] = b; + + printf("Tile %s registered as word %s\n", f, name); + + i++; + sprintf(f, "/%s%d.pbm", tile_def[1], i); + } + } + + if (!found) + { + printf("Not found: graphic with name %s\n", tile_def[1]); + } + + memset(tile_def, 0, sizeof(tile_def)); + continue; + } + + if (res == BREAK) break; + + if (not_null < 3) + { + tile_def[not_null++] = parse_word; + } + else + { + printf("Too many words on line %d\n", parse_line); + } + } + + int gx = 0; + int gy = 0; + while (true) + { + int res = parse(last_level, len, is_comma_or_space, false); + //printf("Parse res: %d\n", res); + if (res == DONE || res == BREAK) + { + if (gy < ROWS) + { + printf("Didn't read full grid, only %d,%d\n", gx, gy); + return false; + } + break; + } + if (res == NL) + { + if (gx < COLS) + { + printf("Couldn't read full row, only to index %d on line %d\n", gx - 1, parse_line); + return false; + } + gx = 0; + gy++; + } + if (res == WORD) + { + if (gx >= COLS || gy >= ROWS) + { + printf("Grid is too big, reached %d,%d on line %d\n", gx, gy, parse_line); + return false; + } + char* prob = NULL; + char* tag = NULL; + grid_flags flags = 0; + for (int i = 0; i < 2; i++) + { + if (parse_word[0] == '-') + { + flags |= GRID_FLIPX; + parse_word++; + } + else if (parse_word[0] == '!') + { + flags |= GRID_FLIPY; + parse_word++; + } + } + + char* last_word = parse_word; + + size_t l = strlen(last_word); + for (int i = 0; i < l; i++) + { + if (last_word[i] == '.') + { + last_word[i] = 0; + prob = last_word + (i + 1); + last_word = prob; + l = strlen(prob); + break; + } + } + + for (int i = 0; i < l; i++) + { + if (last_word[i] == ':') + { + last_word[i] = 0; + tag = last_word + (i + 1); + last_word = tag; + l = strlen(tag); + break; + } + } + + //printf("Searching %s\n", parse_word); + for (int i = 0; i < num_bg; i++) + { + //printf(" Check %s\n", bg[i].tile); + if (strcmp(bg[i].tile, parse_word) == 0) + { + if (prob) + { + int p = max(0, min(9, atoi(prob))); + if (random(1, 10) > p) continue; + } + //printf("Tile %d on %d,%d\n", i, gx, gy); + grid_t g = { i + 1, flags, tag }; + if (tag) hashmap_put(&tile_tags, tag, strlen(tag), &grid[gx][gy]); + grid[gx][gy] = g; + } + } + + gx++; + + } + } + + sprintf(filename, "/%s.bin", level_name); + level_code = f_code(filename); + + if (level_code) + { + LOAD_DYN(level_entered_tile) + LOAD_DYN(level_exited_tile) + LOAD_DYN(level_update) + } + + return 0; +} + + +float speed = 80; + +bool move_debug = false; + +bool r_intersect(int x1, int y1, int w1, int h1, + int x2, int y2, int w2, int h2) +{ + if (x1 >= x2 + w2 || + x1 + w2 <= x2 || + y1 >= y2 + h2 || + y1 + h2 <= y2) return false; + if (move_debug) printf("INTERSECT [%d,%d + %d,%d] [%d,%d + %d,%d]\n", x1, y1, w1, h1, x2, y2, w2, h2); + return true; +} + +bool r_free(int px, int py, int w, int h) +{ + int minX = px / GRID; + int maxX = (px + w - 1) / GRID; + int minY = py / GRID; + int maxY = (py + h - 1) / GRID; + + for (int i = max(0, minX); i <= min(COLS - 1, maxX); i++) + { + for (int j = max(0, minY); j <= min(ROWS - 1, maxY); j++) + { + if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & SOLID)) + { + if (r_intersect(px, py, w, h, + i * GRID + 1, + j * GRID + 1, + GRID - 2, + GRID - 2)) return false; + } + } + } + return true; +} + +__EXPORT__ bool is_player(ent_t* ent) { return ent == &player; } +__EXPORT__ grid_t* get_tile_by_tag(char* tag) { return (grid_t*)hashmap_get(&tile_tags, tag, strlen(tag)); } + + + +void entered_tile(ent_t* ent, int gx, int gy) +{ + grid_t g = grid[gx][gy]; + if (level_entered_tile) level_entered_tile(ent, gx, gy, g); +} +void exited_tile(ent_t* ent, int gx, int gy) +{ + grid_t g = grid[gx][gy]; + if (level_exited_tile) level_exited_tile(ent, gx, gy, g); +} + +void render_ent(ent_t* ent) +{ + + if (ent->outline) + { + d_pbm( + (uint16_t)roundf(ent->x) - ent->outline_pixels + PADX + ent->off_x, + (uint16_t)roundf(ent->y) - ent->outline_pixels + PADY + ent->off_y, + ent->outline, 0, 0, 0, 0, WHITE, TRANSPARENT, R_NONE, false, false); + } + d_pbm( + (uint16_t)roundf(ent->x) + PADX + ent->off_x, + (uint16_t)roundf(ent->y) + PADY + ent->off_y, + ent->graphic, 0, 0, 0, 0, BLACK, TRANSPARENT, R_NONE, false, false); +} + +void update_ent_movement(ent_t* ent, bool debug); + +__EXPORT__ int loop(int ms) +{ + float t = ms / 1000.0f; + + if (button_down(DPAD_RIGHT)) player.x += t * speed; + if (button_down(DPAD_LEFT)) player.x -= t * speed; + if (button_down(DPAD_DOWN)) player.y += t * speed; + if (button_down(DPAD_UP)) player.y -= t * speed; + if (button_pressed(BUTTON_A)) move_debug = !move_debug; + + update_ent_movement(&player, move_debug); + + if (level_update) level_update(t); + + d_clear(); + + for (int i = 0; i < COLS; i++) + { + for (int j = 0; j < ROWS; j++) + { + if (grid[i][j].tile != 0 && !(bg[grid[i][j].tile - 1].flags & TOP)) + { + d_pbm( + PADX + i * GRID + SPRITEOFF, + PADY + j * GRID + SPRITEOFF, + bg[grid[i][j].tile - 1].pbm, + 0,0,0,0, BLACK, TRANSPARENT, R_NONE, grid[i][j].flags & GRID_FLIPX, grid[i][j].flags & GRID_FLIPY); + } + } + } + + render_ent(&player); + + + for (int i = 0; i < COLS; i++) + { + for (int j = 0; j < ROWS; j++) + { + if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & TOP)) + { + d_fillRect( + PADX + i * GRID, + PADY + j * GRID, + GRID, GRID, + WHITE + ); + } + } + } + + for (int i = 0; i < COLS; i++) + { + for (int j = 0; j < ROWS; j++) + { + if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & TOP)) + { + d_pbm( + PADX + i * GRID + SPRITEOFF, + PADY + j * GRID + SPRITEOFF, + bg[grid[i][j].tile - 1].pbm, + 0,0,0,0, BLACK, TRANSPARENT, R_NONE, grid[i][j].flags & GRID_FLIPX, grid[i][j].flags & GRID_FLIPY); + } + } + } + + return 0; +} + +#define ENTER_GRID_PCT 0.2f +void get_close_grid(float x, float y, int* gx, int* gy, float* pct_x, float* pct_y) +{ + float grid_x, grid_y; + *pct_x = modff((x + GRID * 0.5f) / GRID, &grid_x) - 0.5f; + *pct_y = modff((y + GRID * 0.5f) / GRID, &grid_y) - 0.5f; + if (fabsf(*pct_x) > ENTER_GRID_PCT || fabsf(*pct_y) > ENTER_GRID_PCT) + { + grid_x = -1; + grid_y = -1; + } + *gx = (int)grid_x; + *gy = (int)grid_y; +} + +void update_ent_movement(ent_t* ent, bool debug) +{ + int ox_i = (int)roundf(ent->ox); + int oy_i = (int)roundf(ent->oy); + + if (ent->x != ent->ox || ent->y != ent->oy) + { + int x_i = (int)roundf(ent->x); + int y_i = (int)roundf(ent->y); + + if (ent->x > ent->ox) x_i = (int)roundf(ent->x + 0.5f); + if (ent->x < ent->ox) x_i = (int)roundf(ent->x - 0.5f); + + if (ent->y > ent->oy) y_i = (int)roundf(ent->y + 0.5f); + if (ent->y < ent->oy) y_i = (int)roundf(ent->y - 0.5f); + + bool goX = ox_i != x_i; + bool goY = oy_i != y_i; + + if (debug) printf("(%f,%f)->(%f,%f) I: (%d,%d)->(%d,%d) [%d, %d]\n", ent->ox, ent->oy, ent->x, ent->y, ox_i, oy_i, x_i, y_i, goX, goY); + + while (goX || goY) + { + if (goX) + { + int testX = ox_i < x_i ? ox_i + 1 : ox_i - 1; + bool test = r_free(testX + 1, oy_i + 1, GRID - 2, GRID - 2); + if (move_debug) printf("testX: %d => %d\n", testX, test); + if (test) + { + ox_i = testX; + if (ox_i == x_i) goX = false; + if (move_debug) printf("ox_i = %d, goX = %d\n", ox_i, goX); + } + else + { + goX = false; + if (move_debug) printf("goX = false\n"); + } + } + if (goY) + { + int testY = oy_i < y_i ? oy_i + 1 : oy_i - 1; + bool test = r_free(ox_i + 1, testY + 1, GRID - 2, GRID - 2); + if (move_debug) printf("testY: %d => %d\n", testY, test); + if (test) + { + oy_i = testY; + if (oy_i == y_i) goY = false; + if (move_debug) printf("oy_i = %d, goY = %d\n", oy_i, goY); + } + else + { + goY = false; + if (move_debug) printf("goY = false\n"); + } + } + } + + if (ox_i != x_i) ent->x = ox_i; + if (oy_i != y_i) ent->y = oy_i; + if (debug) printf("reached (%d,%d) on target of (%d,%d), x,y=(%f,%f)\n", ox_i, oy_i, x_i, y_i, ent->x, ent->y); + + if (debug) printf("\n====================\n\n"); + + int o_grid_x, o_grid_y; + float o_ingrid_x, o_ingrid_y; + + int grid_x, grid_y; + float ingrid_x, ingrid_y; + + get_close_grid(ent->ox, ent->oy, &o_grid_x, &o_grid_y, &o_ingrid_x, &o_ingrid_y); + + int tries = 10; + for (; tries > 0; tries--) + { + get_close_grid(ent->x, ent->y, &grid_x, &grid_y, &ingrid_x, &ingrid_y); + + if (grid_x == o_grid_x && grid_y == o_grid_y) + { + break; + } + else + { + if (o_grid_x != -1) + { + exited_tile(ent, o_grid_x, o_grid_y); + //printf("Exited: %f %f\n", o_grid_x, o_grid_y); + } + if (grid_x != -1) + { + entered_tile(ent, grid_x, grid_y); + //printf("Entered: %f %f\n", grid_x, grid_y); + } + + o_grid_x = grid_x; + o_grid_y = grid_y; + } + } + if (tries == 0) printf("RAN OUT OF TILE CHECK TRIES\n"); + } + + ent->ox = ent->x; + ent->oy = ent->y; + +} diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix4.pbm b/cart/test/roof_fix4.pbm deleted file mode 100644 index 2c392ad..0000000 --- a/cart/test/roof_fix4.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/test/roof_fix5.pbm b/cart/test/roof_fix5.pbm deleted file mode 100644 index 39b7f23..0000000 --- a/cart/test/roof_fix5.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/test/roof_fix6.pbm b/cart/test/roof_fix6.pbm deleted file mode 100644 index 8bbe9fc..0000000 --- a/cart/test/roof_fix6.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/test/roof_fix7.pbm b/cart/test/roof_fix7.pbm deleted file mode 100644 index 0c29640..0000000 --- a/cart/test/roof_fix7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix8.pbm b/cart/test/roof_fix8.pbm deleted file mode 100644 index e90cfc3..0000000 --- a/cart/test/roof_fix8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix9.pbm b/cart/test/roof_fix9.pbm deleted file mode 100644 index 31dfb3d..0000000 --- a/cart/test/roof_fix9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall1.pbm b/cart/test/wall1.pbm deleted file mode 100644 index 31e09be..0000000 --- a/cart/test/wall1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall2.pbm b/cart/test/wall2.pbm deleted file mode 100644 index 1871c8b..0000000 --- a/cart/test/wall2.pbm +++ /dev/null Binary files differ diff --git a/rpg/Makefile b/rpg/Makefile new file mode 100644 index 0000000..5a8fda9 --- /dev/null +++ b/rpg/Makefile @@ -0,0 +1,10 @@ +CART_DIR ?= ../cart/rpg +MAKE_ROOT ?= ../../cneboy/make + +SOURCES := rpg.c parse.c + +MODULES := level14 + +SOURCES_level14 := level14.c + +include $(MAKE_ROOT)/Makefile diff --git a/rpg/constants.h b/rpg/constants.h new file mode 100644 index 0000000..336c98e --- /dev/null +++ b/rpg/constants.h @@ -0,0 +1,6 @@ +#define GRID 14 +#define COLS 12 +#define ROWS 10 +#define PADX 0 +#define PADY 2 +#define SPRITEOFF -1 diff --git a/rpg/ent.h b/rpg/ent.h new file mode 100644 index 0000000..254369d --- /dev/null +++ b/rpg/ent.h @@ -0,0 +1,20 @@ +#pragma once +#include +#include + +typedef struct +{ + // last frame coords + float ox; + float oy; + + // current coords + float x; + float y; + + pbm_t* graphic; + pbm_t* outline; + int off_x; + int off_y; + int outline_pixels; +} ent_t; diff --git a/rpg/grid.h b/rpg/grid.h new file mode 100644 index 0000000..4cddf8d --- /dev/null +++ b/rpg/grid.h @@ -0,0 +1,12 @@ +typedef enum +{ + GRID_FLIPX = 1, + GRID_FLIPY = 2, +} grid_flags; + +typedef struct +{ + uint8_t tile; + grid_flags flags; + char* tag; +} grid_t; diff --git a/rpg/hashmap.h b/rpg/hashmap.h new file mode 100644 index 0000000..da88e81 --- /dev/null +++ b/rpg/hashmap.h @@ -0,0 +1,594 @@ +/* + The latest version of this library is available on GitHub; + https://github.com/sheredom/hashmap.h +*/ + +/* + This is free and unencumbered software released into the public domain. + + Anyone is free to copy, modify, publish, use, compile, sell, or + distribute this software, either in source code form or as a compiled + binary, for any purpose, commercial or non-commercial, and by any + means. + + In jurisdictions that recognize copyright laws, the author or authors + of this software dedicate any and all copyright interest in the + software to the public domain. We make this dedication for the benefit + of the public at large and to the detriment of our heirs and + successors. We intend this dedication to be an overt act of + relinquishment in perpetuity of all present and future rights to this + software under copyright law. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + For more information, please refer to +*/ +#ifndef SHEREDOM_HASHMAP_H_INCLUDED +#define SHEREDOM_HASHMAP_H_INCLUDED + +#if defined(_MSC_VER) +// Workaround a bug in the MSVC runtime where it uses __cplusplus when not +// defined. +#pragma warning(push, 0) +#pragma warning(disable : 4668) +#endif + +#include "client_api.h" + +//#include +//#include + +//#if (defined(_MSC_VER) && defined(__AVX__)) || \ +// (!defined(_MSC_VER) && defined(__SSE4_2__)) +//#define HASHMAP_SSE42 +//#endif + +//#if defined(HASHMAP_SSE42) +//#include +//#endif + +#if defined(_MSC_VER) +#pragma warning(pop) +#endif + +#if defined(_MSC_VER) +#pragma warning(push) +/* Stop MSVC complaining about unreferenced functions */ +#pragma warning(disable : 4505) +/* Stop MSVC complaining about not inlining functions */ +#pragma warning(disable : 4710) +/* Stop MSVC complaining about inlining functions! */ +#pragma warning(disable : 4711) +#elif defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-function" +#endif + +#if defined(_MSC_VER) +#define HASHMAP_USED +#elif defined(__GNUC__) +#define HASHMAP_USED __attribute__((used)) +#else +#define HASHMAP_USED +#endif + +/* We need to keep keys and values. */ +struct hashmap_element_s { + const char *key; + unsigned key_len; + int in_use; + void *data; +}; + +/* A hashmap has some maximum size and current size, as well as the data to + * hold. */ +struct hashmap_s { + unsigned table_size; + unsigned size; + struct hashmap_element_s *data; +}; + +#define HASHMAP_MAX_CHAIN_LENGTH (8) + +#if defined(__cplusplus) +extern "C" { +#endif + +/// @brief Create a hashmap. +/// @param initial_size The initial size of the hashmap. Must be a power of two. +/// @param out_hashmap The storage for the created hashmap. +/// @return On success 0 is returned. +/// +/// Note that the initial size of the hashmap must be a power of two, and +/// creation of the hashmap will fail if this is not the case. +static int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) HASHMAP_USED; + +/// @brief Put an element into the hashmap. +/// @param hashmap The hashmap to insert into. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @param value The value to insert. +/// @return On success 0 is returned. +/// +/// The key string slice is not copied when creating the hashmap entry, and thus +/// must remain a valid pointer until the hashmap entry is removed or the +/// hashmap is destroyed. +static int hashmap_put(struct hashmap_s *const hashmap, const char *const key, + const unsigned len, void *const value) HASHMAP_USED; + +/// @brief Get an element from the hashmap. +/// @param hashmap The hashmap to get from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return The previously set element, or NULL if none exists. +static void *hashmap_get(const struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success 0 is returned. +static int hashmap_remove(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success the original stored key pointer is returned, on failure +/// NULL is returned. +static const char * +hashmap_remove_and_return_key(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. Otherwise if +/// the callback function f returned non-zero then non-zero is returned. +static int hashmap_iterate(const struct hashmap_s *const hashmap, + int (*f)(void *const context, void *const value), + void *const context) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. +/// Otherwise if the callback function f returned positive then the positive +/// value is returned. If the callback function returns -1, the current item +/// is removed and iteration continues. +static int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) HASHMAP_USED; + +/// @brief Get the size of the hashmap. +/// @param hashmap The hashmap to get the size of. +/// @return The size of the hashmap. +static unsigned +hashmap_num_entries(const struct hashmap_s *const hashmap) HASHMAP_USED; + +/// @brief Destroy the hashmap. +/// @param hashmap The hashmap to destroy. +static void hashmap_destroy(struct hashmap_s *const hashmap) HASHMAP_USED; + +static unsigned hashmap_crc32_helper(const char *const s, + const unsigned len) HASHMAP_USED; +static unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) HASHMAP_USED; +static int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, + const unsigned len) HASHMAP_USED; +static int hashmap_hash_helper(const struct hashmap_s *const m, + const char *const key, const unsigned len, + unsigned *const out_index) HASHMAP_USED; +static int +hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) HASHMAP_USED; +static int hashmap_rehash_helper(struct hashmap_s *const m) HASHMAP_USED; + +#if defined(__cplusplus) +} +#endif + +#if defined(__cplusplus) +#define HASHMAP_CAST(type, x) static_cast(x) +#define HASHMAP_PTR_CAST(type, x) reinterpret_cast(x) +#define HASHMAP_NULL NULL +#else +#define HASHMAP_CAST(type, x) ((type)x) +#define HASHMAP_PTR_CAST(type, x) ((type)x) +#define HASHMAP_NULL 0 +#endif + +int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) { + out_hashmap->table_size = initial_size; + out_hashmap->size = 0; + + if (0 == initial_size || 0 != (initial_size & (initial_size - 1))) { + return 1; + } + + out_hashmap->data = + HASHMAP_CAST(struct hashmap_element_s *, + malloc(initial_size * sizeof(struct hashmap_element_s))); + if (!out_hashmap->data) { + return 1; + } + memset(out_hashmap->data, 0, initial_size * sizeof(struct hashmap_element_s)); + + return 0; +} + +int hashmap_put(struct hashmap_s *const m, const char *const key, + const unsigned len, void *const value) { + unsigned int index; + + /* Find a place to put our value. */ + while (!hashmap_hash_helper(m, key, len, &index)) { + if (hashmap_rehash_helper(m)) { + return 1; + } + } + + /* Set the data. */ + m->data[index].data = value; + m->data[index].key = key; + m->data[index].key_len = len; + + /* If the hashmap element was not already in use, set that it is being used + * and bump our size. */ + if (0 == m->data[index].in_use) { + m->data[index].in_use = 1; + m->size++; + } + + return 0; +} + +void *hashmap_get(const struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int curr; + unsigned int i; + + /* Find data location */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + return m->data[curr].data; + } + } + + curr = (curr + 1) % m->table_size; + } + + /* Not found */ + return HASHMAP_NULL; +} + +int hashmap_remove(struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + /* Blank out the fields including in_use */ + memset(&m->data[curr], 0, sizeof(struct hashmap_element_s)); + + /* Reduce the size */ + m->size--; + + return 0; + } + } + + curr = (curr + 1) % m->table_size; + } + + return 1; +} + +const char *hashmap_remove_and_return_key(struct hashmap_s *const m, + const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + const char *const stored_key = m->data[curr].key; + + /* Blank out the fields */ + m->data[curr].in_use = 0; + m->data[curr].data = HASHMAP_NULL; + m->data[curr].key = HASHMAP_NULL; + + /* Reduce the size */ + m->size--; + + return stored_key; + } + } + curr = (curr + 1) % m->table_size; + } + + return HASHMAP_NULL; +} + +int hashmap_iterate(const struct hashmap_s *const m, + int (*f)(void *const, void *const), void *const context) { + unsigned int i; + + /* Linear probing */ + for (i = 0; i < m->table_size; i++) { + if (m->data[i].in_use) { + if (!f(context, m->data[i].data)) { + return 1; + } + } + } + return 0; +} + +int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) { + unsigned int i; + struct hashmap_element_s *p; + int r; + + /* Linear probing */ + for (i = 0; i < hashmap->table_size; i++) { + p = &hashmap->data[i]; + if (p->in_use) { + r = f(context, p); + switch (r) { + case -1: /* remove item */ + memset(p, 0, sizeof(struct hashmap_element_s)); + hashmap->size--; + break; + case 0: /* continue iterating */ + break; + default: /* early exit */ + return 1; + } + } + } + return 0; +} + +void hashmap_destroy(struct hashmap_s *const m) { + free(m->data); + memset(m, 0, sizeof(struct hashmap_s)); +} + +unsigned hashmap_num_entries(const struct hashmap_s *const m) { + return m->size; +} + +unsigned hashmap_crc32_helper(const char *const s, const unsigned len) { + unsigned i; + unsigned crc32val = 0; + +#if defined(HASHMAP_SSE42) + for (i = 0; i < len; i++) { + crc32val = _mm_crc32_u8(crc32val, HASHMAP_CAST(unsigned char, s[i])); + } + + return crc32val; +#else + // Using polynomial 0x11EDC6F41 to match SSE 4.2's crc function. + static const unsigned crc32_tab[] = { + 0x00000000U, 0xF26B8303U, 0xE13B70F7U, 0x1350F3F4U, 0xC79A971FU, + 0x35F1141CU, 0x26A1E7E8U, 0xD4CA64EBU, 0x8AD958CFU, 0x78B2DBCCU, + 0x6BE22838U, 0x9989AB3BU, 0x4D43CFD0U, 0xBF284CD3U, 0xAC78BF27U, + 0x5E133C24U, 0x105EC76FU, 0xE235446CU, 0xF165B798U, 0x030E349BU, + 0xD7C45070U, 0x25AFD373U, 0x36FF2087U, 0xC494A384U, 0x9A879FA0U, + 0x68EC1CA3U, 0x7BBCEF57U, 0x89D76C54U, 0x5D1D08BFU, 0xAF768BBCU, + 0xBC267848U, 0x4E4DFB4BU, 0x20BD8EDEU, 0xD2D60DDDU, 0xC186FE29U, + 0x33ED7D2AU, 0xE72719C1U, 0x154C9AC2U, 0x061C6936U, 0xF477EA35U, + 0xAA64D611U, 0x580F5512U, 0x4B5FA6E6U, 0xB93425E5U, 0x6DFE410EU, + 0x9F95C20DU, 0x8CC531F9U, 0x7EAEB2FAU, 0x30E349B1U, 0xC288CAB2U, + 0xD1D83946U, 0x23B3BA45U, 0xF779DEAEU, 0x05125DADU, 0x1642AE59U, + 0xE4292D5AU, 0xBA3A117EU, 0x4851927DU, 0x5B016189U, 0xA96AE28AU, + 0x7DA08661U, 0x8FCB0562U, 0x9C9BF696U, 0x6EF07595U, 0x417B1DBCU, + 0xB3109EBFU, 0xA0406D4BU, 0x522BEE48U, 0x86E18AA3U, 0x748A09A0U, + 0x67DAFA54U, 0x95B17957U, 0xCBA24573U, 0x39C9C670U, 0x2A993584U, + 0xD8F2B687U, 0x0C38D26CU, 0xFE53516FU, 0xED03A29BU, 0x1F682198U, + 0x5125DAD3U, 0xA34E59D0U, 0xB01EAA24U, 0x42752927U, 0x96BF4DCCU, + 0x64D4CECFU, 0x77843D3BU, 0x85EFBE38U, 0xDBFC821CU, 0x2997011FU, + 0x3AC7F2EBU, 0xC8AC71E8U, 0x1C661503U, 0xEE0D9600U, 0xFD5D65F4U, + 0x0F36E6F7U, 0x61C69362U, 0x93AD1061U, 0x80FDE395U, 0x72966096U, + 0xA65C047DU, 0x5437877EU, 0x4767748AU, 0xB50CF789U, 0xEB1FCBADU, + 0x197448AEU, 0x0A24BB5AU, 0xF84F3859U, 0x2C855CB2U, 0xDEEEDFB1U, + 0xCDBE2C45U, 0x3FD5AF46U, 0x7198540DU, 0x83F3D70EU, 0x90A324FAU, + 0x62C8A7F9U, 0xB602C312U, 0x44694011U, 0x5739B3E5U, 0xA55230E6U, + 0xFB410CC2U, 0x092A8FC1U, 0x1A7A7C35U, 0xE811FF36U, 0x3CDB9BDDU, + 0xCEB018DEU, 0xDDE0EB2AU, 0x2F8B6829U, 0x82F63B78U, 0x709DB87BU, + 0x63CD4B8FU, 0x91A6C88CU, 0x456CAC67U, 0xB7072F64U, 0xA457DC90U, + 0x563C5F93U, 0x082F63B7U, 0xFA44E0B4U, 0xE9141340U, 0x1B7F9043U, + 0xCFB5F4A8U, 0x3DDE77ABU, 0x2E8E845FU, 0xDCE5075CU, 0x92A8FC17U, + 0x60C37F14U, 0x73938CE0U, 0x81F80FE3U, 0x55326B08U, 0xA759E80BU, + 0xB4091BFFU, 0x466298FCU, 0x1871A4D8U, 0xEA1A27DBU, 0xF94AD42FU, + 0x0B21572CU, 0xDFEB33C7U, 0x2D80B0C4U, 0x3ED04330U, 0xCCBBC033U, + 0xA24BB5A6U, 0x502036A5U, 0x4370C551U, 0xB11B4652U, 0x65D122B9U, + 0x97BAA1BAU, 0x84EA524EU, 0x7681D14DU, 0x2892ED69U, 0xDAF96E6AU, + 0xC9A99D9EU, 0x3BC21E9DU, 0xEF087A76U, 0x1D63F975U, 0x0E330A81U, + 0xFC588982U, 0xB21572C9U, 0x407EF1CAU, 0x532E023EU, 0xA145813DU, + 0x758FE5D6U, 0x87E466D5U, 0x94B49521U, 0x66DF1622U, 0x38CC2A06U, + 0xCAA7A905U, 0xD9F75AF1U, 0x2B9CD9F2U, 0xFF56BD19U, 0x0D3D3E1AU, + 0x1E6DCDEEU, 0xEC064EEDU, 0xC38D26C4U, 0x31E6A5C7U, 0x22B65633U, + 0xD0DDD530U, 0x0417B1DBU, 0xF67C32D8U, 0xE52CC12CU, 0x1747422FU, + 0x49547E0BU, 0xBB3FFD08U, 0xA86F0EFCU, 0x5A048DFFU, 0x8ECEE914U, + 0x7CA56A17U, 0x6FF599E3U, 0x9D9E1AE0U, 0xD3D3E1ABU, 0x21B862A8U, + 0x32E8915CU, 0xC083125FU, 0x144976B4U, 0xE622F5B7U, 0xF5720643U, + 0x07198540U, 0x590AB964U, 0xAB613A67U, 0xB831C993U, 0x4A5A4A90U, + 0x9E902E7BU, 0x6CFBAD78U, 0x7FAB5E8CU, 0x8DC0DD8FU, 0xE330A81AU, + 0x115B2B19U, 0x020BD8EDU, 0xF0605BEEU, 0x24AA3F05U, 0xD6C1BC06U, + 0xC5914FF2U, 0x37FACCF1U, 0x69E9F0D5U, 0x9B8273D6U, 0x88D28022U, + 0x7AB90321U, 0xAE7367CAU, 0x5C18E4C9U, 0x4F48173DU, 0xBD23943EU, + 0xF36E6F75U, 0x0105EC76U, 0x12551F82U, 0xE03E9C81U, 0x34F4F86AU, + 0xC69F7B69U, 0xD5CF889DU, 0x27A40B9EU, 0x79B737BAU, 0x8BDCB4B9U, + 0x988C474DU, 0x6AE7C44EU, 0xBE2DA0A5U, 0x4C4623A6U, 0x5F16D052U, + 0xAD7D5351U}; + + for (i = 0; i < len; i++) { + crc32val = crc32_tab[(HASHMAP_CAST(unsigned char, crc32val) ^ + HASHMAP_CAST(unsigned char, s[i]))] ^ + (crc32val >> 8); + } + return crc32val; +#endif +} + +unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) { + unsigned key = hashmap_crc32_helper(keystring, len); + + /* Robert Jenkins' 32 bit Mix Function */ + key += (key << 12); + key ^= (key >> 22); + key += (key << 4); + key ^= (key >> 9); + key += (key << 10); + key ^= (key >> 2); + key += (key << 7); + key ^= (key >> 12); + + /* Knuth's Multiplicative Method */ + key = (key >> 3) * 2654435761; + + return key % m->table_size; +} + +int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, const unsigned len) { + return (element->key_len == len) && (0 == memcmp(element->key, key, len)); +} + +int hashmap_hash_helper(const struct hashmap_s *const m, const char *const key, + const unsigned len, unsigned *const out_index) { + unsigned int start, curr; + unsigned int i; + int total_in_use; + + /* If full, return immediately */ + if (m->size >= m->table_size) { + return 0; + } + + /* Find the best index */ + curr = start = hashmap_hash_helper_int_helper(m, key, len); + + /* First linear probe to check if we've already insert the element */ + total_in_use = 0; + + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + const int in_use = m->data[curr].in_use; + + total_in_use += in_use; + + if (in_use && hashmap_match_helper(&m->data[curr], key, len)) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + + curr = start; + + /* Second linear probe to actually insert our element (only if there was at + * least one empty entry) */ + if (HASHMAP_MAX_CHAIN_LENGTH > total_in_use) { + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (!m->data[curr].in_use) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + } + + return 0; +} + +int hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) { + int temp = hashmap_put(HASHMAP_PTR_CAST(struct hashmap_s *, new_hash), e->key, + e->key_len, e->data); + if (0 < temp) { + return 1; + } + /* clear old value to avoid stale pointers */ + return -1; +} +/* + * Doubles the size of the hashmap, and rehashes all the elements + */ +int hashmap_rehash_helper(struct hashmap_s *const m) { + /* If this multiplication overflows hashmap_create will fail. */ + unsigned new_size = 2 * m->table_size; + + struct hashmap_s new_hash; + + int flag = hashmap_create(new_size, &new_hash); + + if (0 != flag) { + return flag; + } + + /* copy the old elements to the new table */ + flag = hashmap_iterate_pairs(m, hashmap_rehash_iterator, + HASHMAP_PTR_CAST(void *, &new_hash)); + + if (0 != flag) { + return flag; + } + + hashmap_destroy(m); + /* put new hash into old hash structure by copying */ + memcpy(m, &new_hash, sizeof(struct hashmap_s)); + + return 0; +} + +#if defined(_MSC_VER) +#pragma warning(pop) +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif + +#endif diff --git a/rpg/level14.c b/rpg/level14.c new file mode 100644 index 0000000..59cc068 --- /dev/null +++ b/rpg/level14.c @@ -0,0 +1,56 @@ +#include +#include "constants.h" +#include "ent.h" + +#include +#include "rpg_imports.h" + +bool in_door = false; + +__EXPORT__ void level_entered_tile(ent_t* ent, int gx, int gy, grid_t g) +{ + if (g.tag) + { + if (is_player(ent)) + { + grid_t* find = NULL; + if (strcmp(g.tag, "d1") == 0) + { + if (!in_door && (find = get_tile_by_tag("d2")) != NULL) + { + int target_gx, target_gy; + grid_pos(find, &target_gx, &target_gy); + ent->x = target_gx * GRID; + ent->y = target_gy * GRID; + in_door = true; + } + } + if (strcmp(g.tag, "d2") == 0) + { + if (!in_door && (find = get_tile_by_tag("d1")) != NULL) + { + int target_gx, target_gy; + grid_pos((grid_t*)find, &target_gx, &target_gy); + ent->x = target_gx * GRID; + ent->y = target_gy * GRID; + in_door = true; + } + } + } + } +} +__EXPORT__ void level_exited_tile(ent_t* ent, int gx, int gy, grid_t g) +{ +} + +__EXPORT__ void level_update(float ms) +{ + in_door = false; +} + +__EXPORT__ int setup(int arg) +{ + LOAD_DYN(is_player) + LOAD_DYN(get_tile_by_tag) + LOAD_DYN(grid_pos) +} diff --git a/rpg/level_imports.h b/rpg/level_imports.h new file mode 100644 index 0000000..9dd2be5 --- /dev/null +++ b/rpg/level_imports.h @@ -0,0 +1,5 @@ +#include "ent.h" + +__IMPORT__ void (*level_entered_tile)(ent_t* ent, int gx, int gy, grid_t g); +__IMPORT__ void (*level_exited_tile)(ent_t* ent, int gx, int gy, grid_t g); +__IMPORT__ void (*level_update)(float t); diff --git a/rpg/parse.c b/rpg/parse.c new file mode 100644 index 0000000..ec097e2 --- /dev/null +++ b/rpg/parse.c @@ -0,0 +1,64 @@ +#include "parse.h" + +bool reset_parse = false; +char* parse_word = NULL; +int parse_line = 1; +int parse(char* l, size_t len, bool (*is_break)(char), bool debug) +{ + static char last_char; + static int i = 0; + static int nl = 0; + if (reset_parse) + { + parse_line = 1; + i = 0; + nl = 0; + last_char = 0; + reset_parse = false; + } + + parse_word = NULL; + + while (i < len) + { + char c = l[i]; + if (c == 0) c = last_char; + i++; + if (debug) + { + printf("Char@%d %d %c\n", i, c, c); + } + if (is_break(c) || c == '\n') + { + if (parse_word) + { + i--; + l[i] = 0; + last_char = c; + nl = false; + return WORD; + } + else if (c == '\n') + { + nl++; + parse_line++; + if (nl == 1) + { + return NL; + } + else if (nl == 2) + { + return BREAK; + } + } + } + else + { + if (parse_word == NULL) parse_word = l + (i - 1); + } + } + + if (parse_word) return WORD; + + return DONE; +} diff --git a/rpg/parse.h b/rpg/parse.h new file mode 100644 index 0000000..4767bf6 --- /dev/null +++ b/rpg/parse.h @@ -0,0 +1,13 @@ +#pragma once +#include + +#define WORD 0 +#define NL 1 +#define BREAK 2 +#define DONE 3 + +extern bool reset_parse; +extern char* parse_word; +extern int parse_line; + +int parse(char* l, size_t len, bool (*is_break)(char), bool debug); diff --git a/rpg/rpg.c b/rpg/rpg.c new file mode 100644 index 0000000..5791026 --- /dev/null +++ b/rpg/rpg.c @@ -0,0 +1,607 @@ +#include +#include "grid.h" +#include "ent.h" +#include "parse.h" +#include "hashmap.h" + +#include +#include "level_imports.h" + +#include "constants.h" + + +typedef enum +{ + BG_SOLID = 1, + BG_TOP = 2, +} bg_flags; + +typedef struct +{ + char* tile; + pbm_t* pbm; + uint8_t flags; +} bg_t; + +bg_t bg[100]; +int num_bg = 0; + + +grid_t grid[COLS][ROWS]; + +__EXPORT__ void grid_pos(grid_t* g, int* gx, int* gy) +{ + int index = (int)(g - &grid[0][0]); + *gx = index / ROWS; + *gy = index - (*gx * ROWS); +} + +struct hashmap_s tile_tags; + + +ent_t player; + +#define OUTLINE 2 + +bool load_level(char* fname); +void unload_level(); + +void set_outline(ent_t* ent, int pixels, bool expand, bool dither) +{ + ent->outline = d_expand_bitmap(ent->graphic, pixels, expand, dither); + ent->outline_pixels = expand ? pixels : 0; +} +void set_standard_sprite_off(ent_t* ent) +{ + ent->off_x = ent->off_y = SPRITEOFF; +} +void reset_pos(ent_t* ent, int x, int y) +{ + ent->x = ent->ox = x; + ent->y = ent->oy = y; +} +__EXPORT__ int setup(int a) +{ + hashmap_create(32, &tile_tags); + + player.graphic = f_bitmap("/player.pbm"); + set_outline(&player, OUTLINE, true, false); + set_standard_sprite_off(&player); + reset_pos(&player, 0, 0); + + if (!load_level("level14")) + { + return 1; + } + + return 0; +} + +int remove_all_hashmap(void* const ctx, struct hashmap_element_s* const value) { return -1; } + +char* last_level = NULL; +void* level_code = NULL; +void unload_level() +{ + level_update = NULL; + level_entered_tile = NULL; + level_exited_tile = NULL; + + if (level_code) unload_code(level_code); + + for (int i = 0; i < num_bg; i++) + { + free(bg[i].pbm); + } + num_bg = 0; + + if (last_level) + { + free(last_level); + last_level = NULL; + } + + hashmap_iterate_pairs(&tile_tags, remove_all_hashmap, NULL); +} + +#define SOLID 1 +#define TOP 2 + + +bool is_space(char c) { return isspace(c); } +bool is_comma_or_space(char c) { return c == ',' || is_space(c); } + +bool load_level(char* level_name) +{ + unload_level(); + memset(grid, 0, sizeof(grid)); + + char filename[100]; + sprintf(filename, "/%s.txt", level_name); + + size_t len; + last_level = (char*)f_contents(filename, &len); + if (!last_level) + { + printf("Couldn't find level: %s\n", filename); + return false; + } + + reset_parse = true; + + // name, file, [flags] + char* tile_def[] = { NULL, NULL, NULL }; + + while (true) + { + int res = parse(last_level, len, is_space, false); + //printf("Parse res: %d\n", res); + + if (res == DONE) + { + printf("No tile grid given in level %s\n", filename); + return false; + } + + int not_null = 0; + for (; not_null < 3; not_null++) + { + if (!tile_def[not_null]) break; + } + + if (res == NL) + { + if (not_null < 2) + { + printf("Invalid tile def on line %d\n", parse_line - 1); + return false; + } + + if (!tile_def[2]) tile_def[2] = "NULL"; + + printf("Parsed tile %d %s %s %s\n", not_null, tile_def[0], tile_def[1], tile_def[2]); + + bg_flags flags = 0; + if (not_null >= 3) + { + size_t flag_len = strlen(tile_def[2]); + for (int i = 0; i < flag_len; i++) + { + if (tile_def[2][i] == 's') flags |= BG_SOLID; + if (tile_def[2][i] == 't') flags |= BG_TOP; + } + } + + + bool found = false; + char f[100]; + sprintf(f, "/%s.pbm", tile_def[1]); + pbm_t* n = f_bitmap(f); + if (n) + { + found = true; + + bg_t b = { tile_def[0], n, flags }; + bg[num_bg++] = b; + + printf("Tile %s registered as word %s\n", f, tile_def[0]); + } + else + { + int i = 1; + sprintf(f, "/%s%d.pbm", tile_def[1], i); + while (n = f_bitmap(f)) + { + found = true; + + char name[10]; + sprintf(name, "%s%d", tile_def[0], i); + + + bg_t b = { malloc(strlen(name) + 1), n, flags }; + strcpy(b.tile, name); + bg[num_bg++] = b; + + printf("Tile %s registered as word %s\n", f, name); + + i++; + sprintf(f, "/%s%d.pbm", tile_def[1], i); + } + } + + if (!found) + { + printf("Not found: graphic with name %s\n", tile_def[1]); + } + + memset(tile_def, 0, sizeof(tile_def)); + continue; + } + + if (res == BREAK) break; + + if (not_null < 3) + { + tile_def[not_null++] = parse_word; + } + else + { + printf("Too many words on line %d\n", parse_line); + } + } + + int gx = 0; + int gy = 0; + while (true) + { + int res = parse(last_level, len, is_comma_or_space, false); + //printf("Parse res: %d\n", res); + if (res == DONE || res == BREAK) + { + if (gy < ROWS) + { + printf("Didn't read full grid, only %d,%d\n", gx, gy); + return false; + } + break; + } + if (res == NL) + { + if (gx < COLS) + { + printf("Couldn't read full row, only to index %d on line %d\n", gx - 1, parse_line); + return false; + } + gx = 0; + gy++; + } + if (res == WORD) + { + if (gx >= COLS || gy >= ROWS) + { + printf("Grid is too big, reached %d,%d on line %d\n", gx, gy, parse_line); + return false; + } + char* prob = NULL; + char* tag = NULL; + grid_flags flags = 0; + for (int i = 0; i < 2; i++) + { + if (parse_word[0] == '-') + { + flags |= GRID_FLIPX; + parse_word++; + } + else if (parse_word[0] == '!') + { + flags |= GRID_FLIPY; + parse_word++; + } + } + + char* last_word = parse_word; + + size_t l = strlen(last_word); + for (int i = 0; i < l; i++) + { + if (last_word[i] == '.') + { + last_word[i] = 0; + prob = last_word + (i + 1); + last_word = prob; + l = strlen(prob); + break; + } + } + + for (int i = 0; i < l; i++) + { + if (last_word[i] == ':') + { + last_word[i] = 0; + tag = last_word + (i + 1); + last_word = tag; + l = strlen(tag); + break; + } + } + + //printf("Searching %s\n", parse_word); + for (int i = 0; i < num_bg; i++) + { + //printf(" Check %s\n", bg[i].tile); + if (strcmp(bg[i].tile, parse_word) == 0) + { + if (prob) + { + int p = max(0, min(9, atoi(prob))); + if (random(1, 10) > p) continue; + } + //printf("Tile %d on %d,%d\n", i, gx, gy); + grid_t g = { i + 1, flags, tag }; + if (tag) hashmap_put(&tile_tags, tag, strlen(tag), &grid[gx][gy]); + grid[gx][gy] = g; + } + } + + gx++; + + } + } + + sprintf(filename, "/%s.bin", level_name); + level_code = f_code(filename); + + if (level_code) + { + LOAD_DYN(level_entered_tile) + LOAD_DYN(level_exited_tile) + LOAD_DYN(level_update) + } + + return 0; +} + + +float speed = 80; + +bool move_debug = false; + +bool r_intersect(int x1, int y1, int w1, int h1, + int x2, int y2, int w2, int h2) +{ + if (x1 >= x2 + w2 || + x1 + w2 <= x2 || + y1 >= y2 + h2 || + y1 + h2 <= y2) return false; + if (move_debug) printf("INTERSECT [%d,%d + %d,%d] [%d,%d + %d,%d]\n", x1, y1, w1, h1, x2, y2, w2, h2); + return true; +} + +bool r_free(int px, int py, int w, int h) +{ + int minX = px / GRID; + int maxX = (px + w - 1) / GRID; + int minY = py / GRID; + int maxY = (py + h - 1) / GRID; + + for (int i = max(0, minX); i <= min(COLS - 1, maxX); i++) + { + for (int j = max(0, minY); j <= min(ROWS - 1, maxY); j++) + { + if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & SOLID)) + { + if (r_intersect(px, py, w, h, + i * GRID + 1, + j * GRID + 1, + GRID - 2, + GRID - 2)) return false; + } + } + } + return true; +} + +__EXPORT__ bool is_player(ent_t* ent) { return ent == &player; } +__EXPORT__ grid_t* get_tile_by_tag(char* tag) { return (grid_t*)hashmap_get(&tile_tags, tag, strlen(tag)); } + + + +void entered_tile(ent_t* ent, int gx, int gy) +{ + grid_t g = grid[gx][gy]; + if (level_entered_tile) level_entered_tile(ent, gx, gy, g); +} +void exited_tile(ent_t* ent, int gx, int gy) +{ + grid_t g = grid[gx][gy]; + if (level_exited_tile) level_exited_tile(ent, gx, gy, g); +} + +void render_ent(ent_t* ent) +{ + + if (ent->outline) + { + d_pbm( + (uint16_t)roundf(ent->x) - ent->outline_pixels + PADX + ent->off_x, + (uint16_t)roundf(ent->y) - ent->outline_pixels + PADY + ent->off_y, + ent->outline, 0, 0, 0, 0, WHITE, TRANSPARENT, R_NONE, false, false); + } + d_pbm( + (uint16_t)roundf(ent->x) + PADX + ent->off_x, + (uint16_t)roundf(ent->y) + PADY + ent->off_y, + ent->graphic, 0, 0, 0, 0, BLACK, TRANSPARENT, R_NONE, false, false); +} + +void update_ent_movement(ent_t* ent, bool debug); + +__EXPORT__ int loop(int ms) +{ + float t = ms / 1000.0f; + + if (button_down(DPAD_RIGHT)) player.x += t * speed; + if (button_down(DPAD_LEFT)) player.x -= t * speed; + if (button_down(DPAD_DOWN)) player.y += t * speed; + if (button_down(DPAD_UP)) player.y -= t * speed; + if (button_pressed(BUTTON_A)) move_debug = !move_debug; + + update_ent_movement(&player, move_debug); + + if (level_update) level_update(t); + + d_clear(); + + for (int i = 0; i < COLS; i++) + { + for (int j = 0; j < ROWS; j++) + { + if (grid[i][j].tile != 0 && !(bg[grid[i][j].tile - 1].flags & TOP)) + { + d_pbm( + PADX + i * GRID + SPRITEOFF, + PADY + j * GRID + SPRITEOFF, + bg[grid[i][j].tile - 1].pbm, + 0,0,0,0, BLACK, TRANSPARENT, R_NONE, grid[i][j].flags & GRID_FLIPX, grid[i][j].flags & GRID_FLIPY); + } + } + } + + render_ent(&player); + + + for (int i = 0; i < COLS; i++) + { + for (int j = 0; j < ROWS; j++) + { + if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & TOP)) + { + d_fillRect( + PADX + i * GRID, + PADY + j * GRID, + GRID, GRID, + WHITE + ); + } + } + } + + for (int i = 0; i < COLS; i++) + { + for (int j = 0; j < ROWS; j++) + { + if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & TOP)) + { + d_pbm( + PADX + i * GRID + SPRITEOFF, + PADY + j * GRID + SPRITEOFF, + bg[grid[i][j].tile - 1].pbm, + 0,0,0,0, BLACK, TRANSPARENT, R_NONE, grid[i][j].flags & GRID_FLIPX, grid[i][j].flags & GRID_FLIPY); + } + } + } + + return 0; +} + +#define ENTER_GRID_PCT 0.2f +void get_close_grid(float x, float y, int* gx, int* gy, float* pct_x, float* pct_y) +{ + float grid_x, grid_y; + *pct_x = modff((x + GRID * 0.5f) / GRID, &grid_x) - 0.5f; + *pct_y = modff((y + GRID * 0.5f) / GRID, &grid_y) - 0.5f; + if (fabsf(*pct_x) > ENTER_GRID_PCT || fabsf(*pct_y) > ENTER_GRID_PCT) + { + grid_x = -1; + grid_y = -1; + } + *gx = (int)grid_x; + *gy = (int)grid_y; +} + +void update_ent_movement(ent_t* ent, bool debug) +{ + int ox_i = (int)roundf(ent->ox); + int oy_i = (int)roundf(ent->oy); + + if (ent->x != ent->ox || ent->y != ent->oy) + { + int x_i = (int)roundf(ent->x); + int y_i = (int)roundf(ent->y); + + if (ent->x > ent->ox) x_i = (int)roundf(ent->x + 0.5f); + if (ent->x < ent->ox) x_i = (int)roundf(ent->x - 0.5f); + + if (ent->y > ent->oy) y_i = (int)roundf(ent->y + 0.5f); + if (ent->y < ent->oy) y_i = (int)roundf(ent->y - 0.5f); + + bool goX = ox_i != x_i; + bool goY = oy_i != y_i; + + if (debug) printf("(%f,%f)->(%f,%f) I: (%d,%d)->(%d,%d) [%d, %d]\n", ent->ox, ent->oy, ent->x, ent->y, ox_i, oy_i, x_i, y_i, goX, goY); + + while (goX || goY) + { + if (goX) + { + int testX = ox_i < x_i ? ox_i + 1 : ox_i - 1; + bool test = r_free(testX + 1, oy_i + 1, GRID - 2, GRID - 2); + if (move_debug) printf("testX: %d => %d\n", testX, test); + if (test) + { + ox_i = testX; + if (ox_i == x_i) goX = false; + if (move_debug) printf("ox_i = %d, goX = %d\n", ox_i, goX); + } + else + { + goX = false; + if (move_debug) printf("goX = false\n"); + } + } + if (goY) + { + int testY = oy_i < y_i ? oy_i + 1 : oy_i - 1; + bool test = r_free(ox_i + 1, testY + 1, GRID - 2, GRID - 2); + if (move_debug) printf("testY: %d => %d\n", testY, test); + if (test) + { + oy_i = testY; + if (oy_i == y_i) goY = false; + if (move_debug) printf("oy_i = %d, goY = %d\n", oy_i, goY); + } + else + { + goY = false; + if (move_debug) printf("goY = false\n"); + } + } + } + + if (ox_i != x_i) ent->x = ox_i; + if (oy_i != y_i) ent->y = oy_i; + if (debug) printf("reached (%d,%d) on target of (%d,%d), x,y=(%f,%f)\n", ox_i, oy_i, x_i, y_i, ent->x, ent->y); + + if (debug) printf("\n====================\n\n"); + + int o_grid_x, o_grid_y; + float o_ingrid_x, o_ingrid_y; + + int grid_x, grid_y; + float ingrid_x, ingrid_y; + + get_close_grid(ent->ox, ent->oy, &o_grid_x, &o_grid_y, &o_ingrid_x, &o_ingrid_y); + + int tries = 10; + for (; tries > 0; tries--) + { + get_close_grid(ent->x, ent->y, &grid_x, &grid_y, &ingrid_x, &ingrid_y); + + if (grid_x == o_grid_x && grid_y == o_grid_y) + { + break; + } + else + { + if (o_grid_x != -1) + { + exited_tile(ent, o_grid_x, o_grid_y); + //printf("Exited: %f %f\n", o_grid_x, o_grid_y); + } + if (grid_x != -1) + { + entered_tile(ent, grid_x, grid_y); + //printf("Entered: %f %f\n", grid_x, grid_y); + } + + o_grid_x = grid_x; + o_grid_y = grid_y; + } + } + if (tries == 0) printf("RAN OUT OF TILE CHECK TRIES\n"); + } + + ent->ox = ent->x; + ent->oy = ent->y; + +} diff --git a/rpg/rpg_imports.h b/rpg/rpg_imports.h new file mode 100644 index 0000000..3f38698 --- /dev/null +++ b/rpg/rpg_imports.h @@ -0,0 +1,7 @@ +#pragma once +#include "ent.h" +#include "grid.h" + +__IMPORT__ bool (*is_player)(ent_t* ent); +__IMPORT__ grid_t* (*get_tile_by_tag)(char* tag); +__IMPORT__ void (*grid_pos)(grid_t* g, int* gx, int* gy); diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix4.pbm b/cart/test/roof_fix4.pbm deleted file mode 100644 index 2c392ad..0000000 --- a/cart/test/roof_fix4.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/test/roof_fix5.pbm b/cart/test/roof_fix5.pbm deleted file mode 100644 index 39b7f23..0000000 --- a/cart/test/roof_fix5.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/test/roof_fix6.pbm b/cart/test/roof_fix6.pbm deleted file mode 100644 index 8bbe9fc..0000000 --- a/cart/test/roof_fix6.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/test/roof_fix7.pbm b/cart/test/roof_fix7.pbm deleted file mode 100644 index 0c29640..0000000 --- a/cart/test/roof_fix7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix8.pbm b/cart/test/roof_fix8.pbm deleted file mode 100644 index e90cfc3..0000000 --- a/cart/test/roof_fix8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix9.pbm b/cart/test/roof_fix9.pbm deleted file mode 100644 index 31dfb3d..0000000 --- a/cart/test/roof_fix9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall1.pbm b/cart/test/wall1.pbm deleted file mode 100644 index 31e09be..0000000 --- a/cart/test/wall1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall2.pbm b/cart/test/wall2.pbm deleted file mode 100644 index 1871c8b..0000000 --- a/cart/test/wall2.pbm +++ /dev/null Binary files differ diff --git a/rpg/Makefile b/rpg/Makefile new file mode 100644 index 0000000..5a8fda9 --- /dev/null +++ b/rpg/Makefile @@ -0,0 +1,10 @@ +CART_DIR ?= ../cart/rpg +MAKE_ROOT ?= ../../cneboy/make + +SOURCES := rpg.c parse.c + +MODULES := level14 + +SOURCES_level14 := level14.c + +include $(MAKE_ROOT)/Makefile diff --git a/rpg/constants.h b/rpg/constants.h new file mode 100644 index 0000000..336c98e --- /dev/null +++ b/rpg/constants.h @@ -0,0 +1,6 @@ +#define GRID 14 +#define COLS 12 +#define ROWS 10 +#define PADX 0 +#define PADY 2 +#define SPRITEOFF -1 diff --git a/rpg/ent.h b/rpg/ent.h new file mode 100644 index 0000000..254369d --- /dev/null +++ b/rpg/ent.h @@ -0,0 +1,20 @@ +#pragma once +#include +#include + +typedef struct +{ + // last frame coords + float ox; + float oy; + + // current coords + float x; + float y; + + pbm_t* graphic; + pbm_t* outline; + int off_x; + int off_y; + int outline_pixels; +} ent_t; diff --git a/rpg/grid.h b/rpg/grid.h new file mode 100644 index 0000000..4cddf8d --- /dev/null +++ b/rpg/grid.h @@ -0,0 +1,12 @@ +typedef enum +{ + GRID_FLIPX = 1, + GRID_FLIPY = 2, +} grid_flags; + +typedef struct +{ + uint8_t tile; + grid_flags flags; + char* tag; +} grid_t; diff --git a/rpg/hashmap.h b/rpg/hashmap.h new file mode 100644 index 0000000..da88e81 --- /dev/null +++ b/rpg/hashmap.h @@ -0,0 +1,594 @@ +/* + The latest version of this library is available on GitHub; + https://github.com/sheredom/hashmap.h +*/ + +/* + This is free and unencumbered software released into the public domain. + + Anyone is free to copy, modify, publish, use, compile, sell, or + distribute this software, either in source code form or as a compiled + binary, for any purpose, commercial or non-commercial, and by any + means. + + In jurisdictions that recognize copyright laws, the author or authors + of this software dedicate any and all copyright interest in the + software to the public domain. We make this dedication for the benefit + of the public at large and to the detriment of our heirs and + successors. We intend this dedication to be an overt act of + relinquishment in perpetuity of all present and future rights to this + software under copyright law. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + For more information, please refer to +*/ +#ifndef SHEREDOM_HASHMAP_H_INCLUDED +#define SHEREDOM_HASHMAP_H_INCLUDED + +#if defined(_MSC_VER) +// Workaround a bug in the MSVC runtime where it uses __cplusplus when not +// defined. +#pragma warning(push, 0) +#pragma warning(disable : 4668) +#endif + +#include "client_api.h" + +//#include +//#include + +//#if (defined(_MSC_VER) && defined(__AVX__)) || \ +// (!defined(_MSC_VER) && defined(__SSE4_2__)) +//#define HASHMAP_SSE42 +//#endif + +//#if defined(HASHMAP_SSE42) +//#include +//#endif + +#if defined(_MSC_VER) +#pragma warning(pop) +#endif + +#if defined(_MSC_VER) +#pragma warning(push) +/* Stop MSVC complaining about unreferenced functions */ +#pragma warning(disable : 4505) +/* Stop MSVC complaining about not inlining functions */ +#pragma warning(disable : 4710) +/* Stop MSVC complaining about inlining functions! */ +#pragma warning(disable : 4711) +#elif defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-function" +#endif + +#if defined(_MSC_VER) +#define HASHMAP_USED +#elif defined(__GNUC__) +#define HASHMAP_USED __attribute__((used)) +#else +#define HASHMAP_USED +#endif + +/* We need to keep keys and values. */ +struct hashmap_element_s { + const char *key; + unsigned key_len; + int in_use; + void *data; +}; + +/* A hashmap has some maximum size and current size, as well as the data to + * hold. */ +struct hashmap_s { + unsigned table_size; + unsigned size; + struct hashmap_element_s *data; +}; + +#define HASHMAP_MAX_CHAIN_LENGTH (8) + +#if defined(__cplusplus) +extern "C" { +#endif + +/// @brief Create a hashmap. +/// @param initial_size The initial size of the hashmap. Must be a power of two. +/// @param out_hashmap The storage for the created hashmap. +/// @return On success 0 is returned. +/// +/// Note that the initial size of the hashmap must be a power of two, and +/// creation of the hashmap will fail if this is not the case. +static int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) HASHMAP_USED; + +/// @brief Put an element into the hashmap. +/// @param hashmap The hashmap to insert into. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @param value The value to insert. +/// @return On success 0 is returned. +/// +/// The key string slice is not copied when creating the hashmap entry, and thus +/// must remain a valid pointer until the hashmap entry is removed or the +/// hashmap is destroyed. +static int hashmap_put(struct hashmap_s *const hashmap, const char *const key, + const unsigned len, void *const value) HASHMAP_USED; + +/// @brief Get an element from the hashmap. +/// @param hashmap The hashmap to get from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return The previously set element, or NULL if none exists. +static void *hashmap_get(const struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success 0 is returned. +static int hashmap_remove(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success the original stored key pointer is returned, on failure +/// NULL is returned. +static const char * +hashmap_remove_and_return_key(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. Otherwise if +/// the callback function f returned non-zero then non-zero is returned. +static int hashmap_iterate(const struct hashmap_s *const hashmap, + int (*f)(void *const context, void *const value), + void *const context) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. +/// Otherwise if the callback function f returned positive then the positive +/// value is returned. If the callback function returns -1, the current item +/// is removed and iteration continues. +static int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) HASHMAP_USED; + +/// @brief Get the size of the hashmap. +/// @param hashmap The hashmap to get the size of. +/// @return The size of the hashmap. +static unsigned +hashmap_num_entries(const struct hashmap_s *const hashmap) HASHMAP_USED; + +/// @brief Destroy the hashmap. +/// @param hashmap The hashmap to destroy. +static void hashmap_destroy(struct hashmap_s *const hashmap) HASHMAP_USED; + +static unsigned hashmap_crc32_helper(const char *const s, + const unsigned len) HASHMAP_USED; +static unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) HASHMAP_USED; +static int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, + const unsigned len) HASHMAP_USED; +static int hashmap_hash_helper(const struct hashmap_s *const m, + const char *const key, const unsigned len, + unsigned *const out_index) HASHMAP_USED; +static int +hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) HASHMAP_USED; +static int hashmap_rehash_helper(struct hashmap_s *const m) HASHMAP_USED; + +#if defined(__cplusplus) +} +#endif + +#if defined(__cplusplus) +#define HASHMAP_CAST(type, x) static_cast(x) +#define HASHMAP_PTR_CAST(type, x) reinterpret_cast(x) +#define HASHMAP_NULL NULL +#else +#define HASHMAP_CAST(type, x) ((type)x) +#define HASHMAP_PTR_CAST(type, x) ((type)x) +#define HASHMAP_NULL 0 +#endif + +int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) { + out_hashmap->table_size = initial_size; + out_hashmap->size = 0; + + if (0 == initial_size || 0 != (initial_size & (initial_size - 1))) { + return 1; + } + + out_hashmap->data = + HASHMAP_CAST(struct hashmap_element_s *, + malloc(initial_size * sizeof(struct hashmap_element_s))); + if (!out_hashmap->data) { + return 1; + } + memset(out_hashmap->data, 0, initial_size * sizeof(struct hashmap_element_s)); + + return 0; +} + +int hashmap_put(struct hashmap_s *const m, const char *const key, + const unsigned len, void *const value) { + unsigned int index; + + /* Find a place to put our value. */ + while (!hashmap_hash_helper(m, key, len, &index)) { + if (hashmap_rehash_helper(m)) { + return 1; + } + } + + /* Set the data. */ + m->data[index].data = value; + m->data[index].key = key; + m->data[index].key_len = len; + + /* If the hashmap element was not already in use, set that it is being used + * and bump our size. */ + if (0 == m->data[index].in_use) { + m->data[index].in_use = 1; + m->size++; + } + + return 0; +} + +void *hashmap_get(const struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int curr; + unsigned int i; + + /* Find data location */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + return m->data[curr].data; + } + } + + curr = (curr + 1) % m->table_size; + } + + /* Not found */ + return HASHMAP_NULL; +} + +int hashmap_remove(struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + /* Blank out the fields including in_use */ + memset(&m->data[curr], 0, sizeof(struct hashmap_element_s)); + + /* Reduce the size */ + m->size--; + + return 0; + } + } + + curr = (curr + 1) % m->table_size; + } + + return 1; +} + +const char *hashmap_remove_and_return_key(struct hashmap_s *const m, + const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + const char *const stored_key = m->data[curr].key; + + /* Blank out the fields */ + m->data[curr].in_use = 0; + m->data[curr].data = HASHMAP_NULL; + m->data[curr].key = HASHMAP_NULL; + + /* Reduce the size */ + m->size--; + + return stored_key; + } + } + curr = (curr + 1) % m->table_size; + } + + return HASHMAP_NULL; +} + +int hashmap_iterate(const struct hashmap_s *const m, + int (*f)(void *const, void *const), void *const context) { + unsigned int i; + + /* Linear probing */ + for (i = 0; i < m->table_size; i++) { + if (m->data[i].in_use) { + if (!f(context, m->data[i].data)) { + return 1; + } + } + } + return 0; +} + +int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) { + unsigned int i; + struct hashmap_element_s *p; + int r; + + /* Linear probing */ + for (i = 0; i < hashmap->table_size; i++) { + p = &hashmap->data[i]; + if (p->in_use) { + r = f(context, p); + switch (r) { + case -1: /* remove item */ + memset(p, 0, sizeof(struct hashmap_element_s)); + hashmap->size--; + break; + case 0: /* continue iterating */ + break; + default: /* early exit */ + return 1; + } + } + } + return 0; +} + +void hashmap_destroy(struct hashmap_s *const m) { + free(m->data); + memset(m, 0, sizeof(struct hashmap_s)); +} + +unsigned hashmap_num_entries(const struct hashmap_s *const m) { + return m->size; +} + +unsigned hashmap_crc32_helper(const char *const s, const unsigned len) { + unsigned i; + unsigned crc32val = 0; + +#if defined(HASHMAP_SSE42) + for (i = 0; i < len; i++) { + crc32val = _mm_crc32_u8(crc32val, HASHMAP_CAST(unsigned char, s[i])); + } + + return crc32val; +#else + // Using polynomial 0x11EDC6F41 to match SSE 4.2's crc function. + static const unsigned crc32_tab[] = { + 0x00000000U, 0xF26B8303U, 0xE13B70F7U, 0x1350F3F4U, 0xC79A971FU, + 0x35F1141CU, 0x26A1E7E8U, 0xD4CA64EBU, 0x8AD958CFU, 0x78B2DBCCU, + 0x6BE22838U, 0x9989AB3BU, 0x4D43CFD0U, 0xBF284CD3U, 0xAC78BF27U, + 0x5E133C24U, 0x105EC76FU, 0xE235446CU, 0xF165B798U, 0x030E349BU, + 0xD7C45070U, 0x25AFD373U, 0x36FF2087U, 0xC494A384U, 0x9A879FA0U, + 0x68EC1CA3U, 0x7BBCEF57U, 0x89D76C54U, 0x5D1D08BFU, 0xAF768BBCU, + 0xBC267848U, 0x4E4DFB4BU, 0x20BD8EDEU, 0xD2D60DDDU, 0xC186FE29U, + 0x33ED7D2AU, 0xE72719C1U, 0x154C9AC2U, 0x061C6936U, 0xF477EA35U, + 0xAA64D611U, 0x580F5512U, 0x4B5FA6E6U, 0xB93425E5U, 0x6DFE410EU, + 0x9F95C20DU, 0x8CC531F9U, 0x7EAEB2FAU, 0x30E349B1U, 0xC288CAB2U, + 0xD1D83946U, 0x23B3BA45U, 0xF779DEAEU, 0x05125DADU, 0x1642AE59U, + 0xE4292D5AU, 0xBA3A117EU, 0x4851927DU, 0x5B016189U, 0xA96AE28AU, + 0x7DA08661U, 0x8FCB0562U, 0x9C9BF696U, 0x6EF07595U, 0x417B1DBCU, + 0xB3109EBFU, 0xA0406D4BU, 0x522BEE48U, 0x86E18AA3U, 0x748A09A0U, + 0x67DAFA54U, 0x95B17957U, 0xCBA24573U, 0x39C9C670U, 0x2A993584U, + 0xD8F2B687U, 0x0C38D26CU, 0xFE53516FU, 0xED03A29BU, 0x1F682198U, + 0x5125DAD3U, 0xA34E59D0U, 0xB01EAA24U, 0x42752927U, 0x96BF4DCCU, + 0x64D4CECFU, 0x77843D3BU, 0x85EFBE38U, 0xDBFC821CU, 0x2997011FU, + 0x3AC7F2EBU, 0xC8AC71E8U, 0x1C661503U, 0xEE0D9600U, 0xFD5D65F4U, + 0x0F36E6F7U, 0x61C69362U, 0x93AD1061U, 0x80FDE395U, 0x72966096U, + 0xA65C047DU, 0x5437877EU, 0x4767748AU, 0xB50CF789U, 0xEB1FCBADU, + 0x197448AEU, 0x0A24BB5AU, 0xF84F3859U, 0x2C855CB2U, 0xDEEEDFB1U, + 0xCDBE2C45U, 0x3FD5AF46U, 0x7198540DU, 0x83F3D70EU, 0x90A324FAU, + 0x62C8A7F9U, 0xB602C312U, 0x44694011U, 0x5739B3E5U, 0xA55230E6U, + 0xFB410CC2U, 0x092A8FC1U, 0x1A7A7C35U, 0xE811FF36U, 0x3CDB9BDDU, + 0xCEB018DEU, 0xDDE0EB2AU, 0x2F8B6829U, 0x82F63B78U, 0x709DB87BU, + 0x63CD4B8FU, 0x91A6C88CU, 0x456CAC67U, 0xB7072F64U, 0xA457DC90U, + 0x563C5F93U, 0x082F63B7U, 0xFA44E0B4U, 0xE9141340U, 0x1B7F9043U, + 0xCFB5F4A8U, 0x3DDE77ABU, 0x2E8E845FU, 0xDCE5075CU, 0x92A8FC17U, + 0x60C37F14U, 0x73938CE0U, 0x81F80FE3U, 0x55326B08U, 0xA759E80BU, + 0xB4091BFFU, 0x466298FCU, 0x1871A4D8U, 0xEA1A27DBU, 0xF94AD42FU, + 0x0B21572CU, 0xDFEB33C7U, 0x2D80B0C4U, 0x3ED04330U, 0xCCBBC033U, + 0xA24BB5A6U, 0x502036A5U, 0x4370C551U, 0xB11B4652U, 0x65D122B9U, + 0x97BAA1BAU, 0x84EA524EU, 0x7681D14DU, 0x2892ED69U, 0xDAF96E6AU, + 0xC9A99D9EU, 0x3BC21E9DU, 0xEF087A76U, 0x1D63F975U, 0x0E330A81U, + 0xFC588982U, 0xB21572C9U, 0x407EF1CAU, 0x532E023EU, 0xA145813DU, + 0x758FE5D6U, 0x87E466D5U, 0x94B49521U, 0x66DF1622U, 0x38CC2A06U, + 0xCAA7A905U, 0xD9F75AF1U, 0x2B9CD9F2U, 0xFF56BD19U, 0x0D3D3E1AU, + 0x1E6DCDEEU, 0xEC064EEDU, 0xC38D26C4U, 0x31E6A5C7U, 0x22B65633U, + 0xD0DDD530U, 0x0417B1DBU, 0xF67C32D8U, 0xE52CC12CU, 0x1747422FU, + 0x49547E0BU, 0xBB3FFD08U, 0xA86F0EFCU, 0x5A048DFFU, 0x8ECEE914U, + 0x7CA56A17U, 0x6FF599E3U, 0x9D9E1AE0U, 0xD3D3E1ABU, 0x21B862A8U, + 0x32E8915CU, 0xC083125FU, 0x144976B4U, 0xE622F5B7U, 0xF5720643U, + 0x07198540U, 0x590AB964U, 0xAB613A67U, 0xB831C993U, 0x4A5A4A90U, + 0x9E902E7BU, 0x6CFBAD78U, 0x7FAB5E8CU, 0x8DC0DD8FU, 0xE330A81AU, + 0x115B2B19U, 0x020BD8EDU, 0xF0605BEEU, 0x24AA3F05U, 0xD6C1BC06U, + 0xC5914FF2U, 0x37FACCF1U, 0x69E9F0D5U, 0x9B8273D6U, 0x88D28022U, + 0x7AB90321U, 0xAE7367CAU, 0x5C18E4C9U, 0x4F48173DU, 0xBD23943EU, + 0xF36E6F75U, 0x0105EC76U, 0x12551F82U, 0xE03E9C81U, 0x34F4F86AU, + 0xC69F7B69U, 0xD5CF889DU, 0x27A40B9EU, 0x79B737BAU, 0x8BDCB4B9U, + 0x988C474DU, 0x6AE7C44EU, 0xBE2DA0A5U, 0x4C4623A6U, 0x5F16D052U, + 0xAD7D5351U}; + + for (i = 0; i < len; i++) { + crc32val = crc32_tab[(HASHMAP_CAST(unsigned char, crc32val) ^ + HASHMAP_CAST(unsigned char, s[i]))] ^ + (crc32val >> 8); + } + return crc32val; +#endif +} + +unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) { + unsigned key = hashmap_crc32_helper(keystring, len); + + /* Robert Jenkins' 32 bit Mix Function */ + key += (key << 12); + key ^= (key >> 22); + key += (key << 4); + key ^= (key >> 9); + key += (key << 10); + key ^= (key >> 2); + key += (key << 7); + key ^= (key >> 12); + + /* Knuth's Multiplicative Method */ + key = (key >> 3) * 2654435761; + + return key % m->table_size; +} + +int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, const unsigned len) { + return (element->key_len == len) && (0 == memcmp(element->key, key, len)); +} + +int hashmap_hash_helper(const struct hashmap_s *const m, const char *const key, + const unsigned len, unsigned *const out_index) { + unsigned int start, curr; + unsigned int i; + int total_in_use; + + /* If full, return immediately */ + if (m->size >= m->table_size) { + return 0; + } + + /* Find the best index */ + curr = start = hashmap_hash_helper_int_helper(m, key, len); + + /* First linear probe to check if we've already insert the element */ + total_in_use = 0; + + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + const int in_use = m->data[curr].in_use; + + total_in_use += in_use; + + if (in_use && hashmap_match_helper(&m->data[curr], key, len)) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + + curr = start; + + /* Second linear probe to actually insert our element (only if there was at + * least one empty entry) */ + if (HASHMAP_MAX_CHAIN_LENGTH > total_in_use) { + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (!m->data[curr].in_use) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + } + + return 0; +} + +int hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) { + int temp = hashmap_put(HASHMAP_PTR_CAST(struct hashmap_s *, new_hash), e->key, + e->key_len, e->data); + if (0 < temp) { + return 1; + } + /* clear old value to avoid stale pointers */ + return -1; +} +/* + * Doubles the size of the hashmap, and rehashes all the elements + */ +int hashmap_rehash_helper(struct hashmap_s *const m) { + /* If this multiplication overflows hashmap_create will fail. */ + unsigned new_size = 2 * m->table_size; + + struct hashmap_s new_hash; + + int flag = hashmap_create(new_size, &new_hash); + + if (0 != flag) { + return flag; + } + + /* copy the old elements to the new table */ + flag = hashmap_iterate_pairs(m, hashmap_rehash_iterator, + HASHMAP_PTR_CAST(void *, &new_hash)); + + if (0 != flag) { + return flag; + } + + hashmap_destroy(m); + /* put new hash into old hash structure by copying */ + memcpy(m, &new_hash, sizeof(struct hashmap_s)); + + return 0; +} + +#if defined(_MSC_VER) +#pragma warning(pop) +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif + +#endif diff --git a/rpg/level14.c b/rpg/level14.c new file mode 100644 index 0000000..59cc068 --- /dev/null +++ b/rpg/level14.c @@ -0,0 +1,56 @@ +#include +#include "constants.h" +#include "ent.h" + +#include +#include "rpg_imports.h" + +bool in_door = false; + +__EXPORT__ void level_entered_tile(ent_t* ent, int gx, int gy, grid_t g) +{ + if (g.tag) + { + if (is_player(ent)) + { + grid_t* find = NULL; + if (strcmp(g.tag, "d1") == 0) + { + if (!in_door && (find = get_tile_by_tag("d2")) != NULL) + { + int target_gx, target_gy; + grid_pos(find, &target_gx, &target_gy); + ent->x = target_gx * GRID; + ent->y = target_gy * GRID; + in_door = true; + } + } + if (strcmp(g.tag, "d2") == 0) + { + if (!in_door && (find = get_tile_by_tag("d1")) != NULL) + { + int target_gx, target_gy; + grid_pos((grid_t*)find, &target_gx, &target_gy); + ent->x = target_gx * GRID; + ent->y = target_gy * GRID; + in_door = true; + } + } + } + } +} +__EXPORT__ void level_exited_tile(ent_t* ent, int gx, int gy, grid_t g) +{ +} + +__EXPORT__ void level_update(float ms) +{ + in_door = false; +} + +__EXPORT__ int setup(int arg) +{ + LOAD_DYN(is_player) + LOAD_DYN(get_tile_by_tag) + LOAD_DYN(grid_pos) +} diff --git a/rpg/level_imports.h b/rpg/level_imports.h new file mode 100644 index 0000000..9dd2be5 --- /dev/null +++ b/rpg/level_imports.h @@ -0,0 +1,5 @@ +#include "ent.h" + +__IMPORT__ void (*level_entered_tile)(ent_t* ent, int gx, int gy, grid_t g); +__IMPORT__ void (*level_exited_tile)(ent_t* ent, int gx, int gy, grid_t g); +__IMPORT__ void (*level_update)(float t); diff --git a/rpg/parse.c b/rpg/parse.c new file mode 100644 index 0000000..ec097e2 --- /dev/null +++ b/rpg/parse.c @@ -0,0 +1,64 @@ +#include "parse.h" + +bool reset_parse = false; +char* parse_word = NULL; +int parse_line = 1; +int parse(char* l, size_t len, bool (*is_break)(char), bool debug) +{ + static char last_char; + static int i = 0; + static int nl = 0; + if (reset_parse) + { + parse_line = 1; + i = 0; + nl = 0; + last_char = 0; + reset_parse = false; + } + + parse_word = NULL; + + while (i < len) + { + char c = l[i]; + if (c == 0) c = last_char; + i++; + if (debug) + { + printf("Char@%d %d %c\n", i, c, c); + } + if (is_break(c) || c == '\n') + { + if (parse_word) + { + i--; + l[i] = 0; + last_char = c; + nl = false; + return WORD; + } + else if (c == '\n') + { + nl++; + parse_line++; + if (nl == 1) + { + return NL; + } + else if (nl == 2) + { + return BREAK; + } + } + } + else + { + if (parse_word == NULL) parse_word = l + (i - 1); + } + } + + if (parse_word) return WORD; + + return DONE; +} diff --git a/rpg/parse.h b/rpg/parse.h new file mode 100644 index 0000000..4767bf6 --- /dev/null +++ b/rpg/parse.h @@ -0,0 +1,13 @@ +#pragma once +#include + +#define WORD 0 +#define NL 1 +#define BREAK 2 +#define DONE 3 + +extern bool reset_parse; +extern char* parse_word; +extern int parse_line; + +int parse(char* l, size_t len, bool (*is_break)(char), bool debug); diff --git a/rpg/rpg.c b/rpg/rpg.c new file mode 100644 index 0000000..5791026 --- /dev/null +++ b/rpg/rpg.c @@ -0,0 +1,607 @@ +#include +#include "grid.h" +#include "ent.h" +#include "parse.h" +#include "hashmap.h" + +#include +#include "level_imports.h" + +#include "constants.h" + + +typedef enum +{ + BG_SOLID = 1, + BG_TOP = 2, +} bg_flags; + +typedef struct +{ + char* tile; + pbm_t* pbm; + uint8_t flags; +} bg_t; + +bg_t bg[100]; +int num_bg = 0; + + +grid_t grid[COLS][ROWS]; + +__EXPORT__ void grid_pos(grid_t* g, int* gx, int* gy) +{ + int index = (int)(g - &grid[0][0]); + *gx = index / ROWS; + *gy = index - (*gx * ROWS); +} + +struct hashmap_s tile_tags; + + +ent_t player; + +#define OUTLINE 2 + +bool load_level(char* fname); +void unload_level(); + +void set_outline(ent_t* ent, int pixels, bool expand, bool dither) +{ + ent->outline = d_expand_bitmap(ent->graphic, pixels, expand, dither); + ent->outline_pixels = expand ? pixels : 0; +} +void set_standard_sprite_off(ent_t* ent) +{ + ent->off_x = ent->off_y = SPRITEOFF; +} +void reset_pos(ent_t* ent, int x, int y) +{ + ent->x = ent->ox = x; + ent->y = ent->oy = y; +} +__EXPORT__ int setup(int a) +{ + hashmap_create(32, &tile_tags); + + player.graphic = f_bitmap("/player.pbm"); + set_outline(&player, OUTLINE, true, false); + set_standard_sprite_off(&player); + reset_pos(&player, 0, 0); + + if (!load_level("level14")) + { + return 1; + } + + return 0; +} + +int remove_all_hashmap(void* const ctx, struct hashmap_element_s* const value) { return -1; } + +char* last_level = NULL; +void* level_code = NULL; +void unload_level() +{ + level_update = NULL; + level_entered_tile = NULL; + level_exited_tile = NULL; + + if (level_code) unload_code(level_code); + + for (int i = 0; i < num_bg; i++) + { + free(bg[i].pbm); + } + num_bg = 0; + + if (last_level) + { + free(last_level); + last_level = NULL; + } + + hashmap_iterate_pairs(&tile_tags, remove_all_hashmap, NULL); +} + +#define SOLID 1 +#define TOP 2 + + +bool is_space(char c) { return isspace(c); } +bool is_comma_or_space(char c) { return c == ',' || is_space(c); } + +bool load_level(char* level_name) +{ + unload_level(); + memset(grid, 0, sizeof(grid)); + + char filename[100]; + sprintf(filename, "/%s.txt", level_name); + + size_t len; + last_level = (char*)f_contents(filename, &len); + if (!last_level) + { + printf("Couldn't find level: %s\n", filename); + return false; + } + + reset_parse = true; + + // name, file, [flags] + char* tile_def[] = { NULL, NULL, NULL }; + + while (true) + { + int res = parse(last_level, len, is_space, false); + //printf("Parse res: %d\n", res); + + if (res == DONE) + { + printf("No tile grid given in level %s\n", filename); + return false; + } + + int not_null = 0; + for (; not_null < 3; not_null++) + { + if (!tile_def[not_null]) break; + } + + if (res == NL) + { + if (not_null < 2) + { + printf("Invalid tile def on line %d\n", parse_line - 1); + return false; + } + + if (!tile_def[2]) tile_def[2] = "NULL"; + + printf("Parsed tile %d %s %s %s\n", not_null, tile_def[0], tile_def[1], tile_def[2]); + + bg_flags flags = 0; + if (not_null >= 3) + { + size_t flag_len = strlen(tile_def[2]); + for (int i = 0; i < flag_len; i++) + { + if (tile_def[2][i] == 's') flags |= BG_SOLID; + if (tile_def[2][i] == 't') flags |= BG_TOP; + } + } + + + bool found = false; + char f[100]; + sprintf(f, "/%s.pbm", tile_def[1]); + pbm_t* n = f_bitmap(f); + if (n) + { + found = true; + + bg_t b = { tile_def[0], n, flags }; + bg[num_bg++] = b; + + printf("Tile %s registered as word %s\n", f, tile_def[0]); + } + else + { + int i = 1; + sprintf(f, "/%s%d.pbm", tile_def[1], i); + while (n = f_bitmap(f)) + { + found = true; + + char name[10]; + sprintf(name, "%s%d", tile_def[0], i); + + + bg_t b = { malloc(strlen(name) + 1), n, flags }; + strcpy(b.tile, name); + bg[num_bg++] = b; + + printf("Tile %s registered as word %s\n", f, name); + + i++; + sprintf(f, "/%s%d.pbm", tile_def[1], i); + } + } + + if (!found) + { + printf("Not found: graphic with name %s\n", tile_def[1]); + } + + memset(tile_def, 0, sizeof(tile_def)); + continue; + } + + if (res == BREAK) break; + + if (not_null < 3) + { + tile_def[not_null++] = parse_word; + } + else + { + printf("Too many words on line %d\n", parse_line); + } + } + + int gx = 0; + int gy = 0; + while (true) + { + int res = parse(last_level, len, is_comma_or_space, false); + //printf("Parse res: %d\n", res); + if (res == DONE || res == BREAK) + { + if (gy < ROWS) + { + printf("Didn't read full grid, only %d,%d\n", gx, gy); + return false; + } + break; + } + if (res == NL) + { + if (gx < COLS) + { + printf("Couldn't read full row, only to index %d on line %d\n", gx - 1, parse_line); + return false; + } + gx = 0; + gy++; + } + if (res == WORD) + { + if (gx >= COLS || gy >= ROWS) + { + printf("Grid is too big, reached %d,%d on line %d\n", gx, gy, parse_line); + return false; + } + char* prob = NULL; + char* tag = NULL; + grid_flags flags = 0; + for (int i = 0; i < 2; i++) + { + if (parse_word[0] == '-') + { + flags |= GRID_FLIPX; + parse_word++; + } + else if (parse_word[0] == '!') + { + flags |= GRID_FLIPY; + parse_word++; + } + } + + char* last_word = parse_word; + + size_t l = strlen(last_word); + for (int i = 0; i < l; i++) + { + if (last_word[i] == '.') + { + last_word[i] = 0; + prob = last_word + (i + 1); + last_word = prob; + l = strlen(prob); + break; + } + } + + for (int i = 0; i < l; i++) + { + if (last_word[i] == ':') + { + last_word[i] = 0; + tag = last_word + (i + 1); + last_word = tag; + l = strlen(tag); + break; + } + } + + //printf("Searching %s\n", parse_word); + for (int i = 0; i < num_bg; i++) + { + //printf(" Check %s\n", bg[i].tile); + if (strcmp(bg[i].tile, parse_word) == 0) + { + if (prob) + { + int p = max(0, min(9, atoi(prob))); + if (random(1, 10) > p) continue; + } + //printf("Tile %d on %d,%d\n", i, gx, gy); + grid_t g = { i + 1, flags, tag }; + if (tag) hashmap_put(&tile_tags, tag, strlen(tag), &grid[gx][gy]); + grid[gx][gy] = g; + } + } + + gx++; + + } + } + + sprintf(filename, "/%s.bin", level_name); + level_code = f_code(filename); + + if (level_code) + { + LOAD_DYN(level_entered_tile) + LOAD_DYN(level_exited_tile) + LOAD_DYN(level_update) + } + + return 0; +} + + +float speed = 80; + +bool move_debug = false; + +bool r_intersect(int x1, int y1, int w1, int h1, + int x2, int y2, int w2, int h2) +{ + if (x1 >= x2 + w2 || + x1 + w2 <= x2 || + y1 >= y2 + h2 || + y1 + h2 <= y2) return false; + if (move_debug) printf("INTERSECT [%d,%d + %d,%d] [%d,%d + %d,%d]\n", x1, y1, w1, h1, x2, y2, w2, h2); + return true; +} + +bool r_free(int px, int py, int w, int h) +{ + int minX = px / GRID; + int maxX = (px + w - 1) / GRID; + int minY = py / GRID; + int maxY = (py + h - 1) / GRID; + + for (int i = max(0, minX); i <= min(COLS - 1, maxX); i++) + { + for (int j = max(0, minY); j <= min(ROWS - 1, maxY); j++) + { + if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & SOLID)) + { + if (r_intersect(px, py, w, h, + i * GRID + 1, + j * GRID + 1, + GRID - 2, + GRID - 2)) return false; + } + } + } + return true; +} + +__EXPORT__ bool is_player(ent_t* ent) { return ent == &player; } +__EXPORT__ grid_t* get_tile_by_tag(char* tag) { return (grid_t*)hashmap_get(&tile_tags, tag, strlen(tag)); } + + + +void entered_tile(ent_t* ent, int gx, int gy) +{ + grid_t g = grid[gx][gy]; + if (level_entered_tile) level_entered_tile(ent, gx, gy, g); +} +void exited_tile(ent_t* ent, int gx, int gy) +{ + grid_t g = grid[gx][gy]; + if (level_exited_tile) level_exited_tile(ent, gx, gy, g); +} + +void render_ent(ent_t* ent) +{ + + if (ent->outline) + { + d_pbm( + (uint16_t)roundf(ent->x) - ent->outline_pixels + PADX + ent->off_x, + (uint16_t)roundf(ent->y) - ent->outline_pixels + PADY + ent->off_y, + ent->outline, 0, 0, 0, 0, WHITE, TRANSPARENT, R_NONE, false, false); + } + d_pbm( + (uint16_t)roundf(ent->x) + PADX + ent->off_x, + (uint16_t)roundf(ent->y) + PADY + ent->off_y, + ent->graphic, 0, 0, 0, 0, BLACK, TRANSPARENT, R_NONE, false, false); +} + +void update_ent_movement(ent_t* ent, bool debug); + +__EXPORT__ int loop(int ms) +{ + float t = ms / 1000.0f; + + if (button_down(DPAD_RIGHT)) player.x += t * speed; + if (button_down(DPAD_LEFT)) player.x -= t * speed; + if (button_down(DPAD_DOWN)) player.y += t * speed; + if (button_down(DPAD_UP)) player.y -= t * speed; + if (button_pressed(BUTTON_A)) move_debug = !move_debug; + + update_ent_movement(&player, move_debug); + + if (level_update) level_update(t); + + d_clear(); + + for (int i = 0; i < COLS; i++) + { + for (int j = 0; j < ROWS; j++) + { + if (grid[i][j].tile != 0 && !(bg[grid[i][j].tile - 1].flags & TOP)) + { + d_pbm( + PADX + i * GRID + SPRITEOFF, + PADY + j * GRID + SPRITEOFF, + bg[grid[i][j].tile - 1].pbm, + 0,0,0,0, BLACK, TRANSPARENT, R_NONE, grid[i][j].flags & GRID_FLIPX, grid[i][j].flags & GRID_FLIPY); + } + } + } + + render_ent(&player); + + + for (int i = 0; i < COLS; i++) + { + for (int j = 0; j < ROWS; j++) + { + if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & TOP)) + { + d_fillRect( + PADX + i * GRID, + PADY + j * GRID, + GRID, GRID, + WHITE + ); + } + } + } + + for (int i = 0; i < COLS; i++) + { + for (int j = 0; j < ROWS; j++) + { + if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & TOP)) + { + d_pbm( + PADX + i * GRID + SPRITEOFF, + PADY + j * GRID + SPRITEOFF, + bg[grid[i][j].tile - 1].pbm, + 0,0,0,0, BLACK, TRANSPARENT, R_NONE, grid[i][j].flags & GRID_FLIPX, grid[i][j].flags & GRID_FLIPY); + } + } + } + + return 0; +} + +#define ENTER_GRID_PCT 0.2f +void get_close_grid(float x, float y, int* gx, int* gy, float* pct_x, float* pct_y) +{ + float grid_x, grid_y; + *pct_x = modff((x + GRID * 0.5f) / GRID, &grid_x) - 0.5f; + *pct_y = modff((y + GRID * 0.5f) / GRID, &grid_y) - 0.5f; + if (fabsf(*pct_x) > ENTER_GRID_PCT || fabsf(*pct_y) > ENTER_GRID_PCT) + { + grid_x = -1; + grid_y = -1; + } + *gx = (int)grid_x; + *gy = (int)grid_y; +} + +void update_ent_movement(ent_t* ent, bool debug) +{ + int ox_i = (int)roundf(ent->ox); + int oy_i = (int)roundf(ent->oy); + + if (ent->x != ent->ox || ent->y != ent->oy) + { + int x_i = (int)roundf(ent->x); + int y_i = (int)roundf(ent->y); + + if (ent->x > ent->ox) x_i = (int)roundf(ent->x + 0.5f); + if (ent->x < ent->ox) x_i = (int)roundf(ent->x - 0.5f); + + if (ent->y > ent->oy) y_i = (int)roundf(ent->y + 0.5f); + if (ent->y < ent->oy) y_i = (int)roundf(ent->y - 0.5f); + + bool goX = ox_i != x_i; + bool goY = oy_i != y_i; + + if (debug) printf("(%f,%f)->(%f,%f) I: (%d,%d)->(%d,%d) [%d, %d]\n", ent->ox, ent->oy, ent->x, ent->y, ox_i, oy_i, x_i, y_i, goX, goY); + + while (goX || goY) + { + if (goX) + { + int testX = ox_i < x_i ? ox_i + 1 : ox_i - 1; + bool test = r_free(testX + 1, oy_i + 1, GRID - 2, GRID - 2); + if (move_debug) printf("testX: %d => %d\n", testX, test); + if (test) + { + ox_i = testX; + if (ox_i == x_i) goX = false; + if (move_debug) printf("ox_i = %d, goX = %d\n", ox_i, goX); + } + else + { + goX = false; + if (move_debug) printf("goX = false\n"); + } + } + if (goY) + { + int testY = oy_i < y_i ? oy_i + 1 : oy_i - 1; + bool test = r_free(ox_i + 1, testY + 1, GRID - 2, GRID - 2); + if (move_debug) printf("testY: %d => %d\n", testY, test); + if (test) + { + oy_i = testY; + if (oy_i == y_i) goY = false; + if (move_debug) printf("oy_i = %d, goY = %d\n", oy_i, goY); + } + else + { + goY = false; + if (move_debug) printf("goY = false\n"); + } + } + } + + if (ox_i != x_i) ent->x = ox_i; + if (oy_i != y_i) ent->y = oy_i; + if (debug) printf("reached (%d,%d) on target of (%d,%d), x,y=(%f,%f)\n", ox_i, oy_i, x_i, y_i, ent->x, ent->y); + + if (debug) printf("\n====================\n\n"); + + int o_grid_x, o_grid_y; + float o_ingrid_x, o_ingrid_y; + + int grid_x, grid_y; + float ingrid_x, ingrid_y; + + get_close_grid(ent->ox, ent->oy, &o_grid_x, &o_grid_y, &o_ingrid_x, &o_ingrid_y); + + int tries = 10; + for (; tries > 0; tries--) + { + get_close_grid(ent->x, ent->y, &grid_x, &grid_y, &ingrid_x, &ingrid_y); + + if (grid_x == o_grid_x && grid_y == o_grid_y) + { + break; + } + else + { + if (o_grid_x != -1) + { + exited_tile(ent, o_grid_x, o_grid_y); + //printf("Exited: %f %f\n", o_grid_x, o_grid_y); + } + if (grid_x != -1) + { + entered_tile(ent, grid_x, grid_y); + //printf("Entered: %f %f\n", grid_x, grid_y); + } + + o_grid_x = grid_x; + o_grid_y = grid_y; + } + } + if (tries == 0) printf("RAN OUT OF TILE CHECK TRIES\n"); + } + + ent->ox = ent->x; + ent->oy = ent->y; + +} diff --git a/rpg/rpg_imports.h b/rpg/rpg_imports.h new file mode 100644 index 0000000..3f38698 --- /dev/null +++ b/rpg/rpg_imports.h @@ -0,0 +1,7 @@ +#pragma once +#include "ent.h" +#include "grid.h" + +__IMPORT__ bool (*is_player)(ent_t* ent); +__IMPORT__ grid_t* (*get_tile_by_tag)(char* tag); +__IMPORT__ void (*grid_pos)(grid_t* g, int* gx, int* gy); diff --git a/test/Makefile b/test/Makefile deleted file mode 100644 index 140f7d4..0000000 --- a/test/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -CART_DIR ?= ../cart/test -MAKE_ROOT ?= ../../cneboy/make - -SOURCES := test.c parse.c - -MODULES := level14 - -SOURCES_level14 := level14.c - -include $(MAKE_ROOT)/Makefile diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix4.pbm b/cart/test/roof_fix4.pbm deleted file mode 100644 index 2c392ad..0000000 --- a/cart/test/roof_fix4.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/test/roof_fix5.pbm b/cart/test/roof_fix5.pbm deleted file mode 100644 index 39b7f23..0000000 --- a/cart/test/roof_fix5.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/test/roof_fix6.pbm b/cart/test/roof_fix6.pbm deleted file mode 100644 index 8bbe9fc..0000000 --- a/cart/test/roof_fix6.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/test/roof_fix7.pbm b/cart/test/roof_fix7.pbm deleted file mode 100644 index 0c29640..0000000 --- a/cart/test/roof_fix7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix8.pbm b/cart/test/roof_fix8.pbm deleted file mode 100644 index e90cfc3..0000000 --- a/cart/test/roof_fix8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix9.pbm b/cart/test/roof_fix9.pbm deleted file mode 100644 index 31dfb3d..0000000 --- a/cart/test/roof_fix9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall1.pbm b/cart/test/wall1.pbm deleted file mode 100644 index 31e09be..0000000 --- a/cart/test/wall1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall2.pbm b/cart/test/wall2.pbm deleted file mode 100644 index 1871c8b..0000000 --- a/cart/test/wall2.pbm +++ /dev/null Binary files differ diff --git a/rpg/Makefile b/rpg/Makefile new file mode 100644 index 0000000..5a8fda9 --- /dev/null +++ b/rpg/Makefile @@ -0,0 +1,10 @@ +CART_DIR ?= ../cart/rpg +MAKE_ROOT ?= ../../cneboy/make + +SOURCES := rpg.c parse.c + +MODULES := level14 + +SOURCES_level14 := level14.c + +include $(MAKE_ROOT)/Makefile diff --git a/rpg/constants.h b/rpg/constants.h new file mode 100644 index 0000000..336c98e --- /dev/null +++ b/rpg/constants.h @@ -0,0 +1,6 @@ +#define GRID 14 +#define COLS 12 +#define ROWS 10 +#define PADX 0 +#define PADY 2 +#define SPRITEOFF -1 diff --git a/rpg/ent.h b/rpg/ent.h new file mode 100644 index 0000000..254369d --- /dev/null +++ b/rpg/ent.h @@ -0,0 +1,20 @@ +#pragma once +#include +#include + +typedef struct +{ + // last frame coords + float ox; + float oy; + + // current coords + float x; + float y; + + pbm_t* graphic; + pbm_t* outline; + int off_x; + int off_y; + int outline_pixels; +} ent_t; diff --git a/rpg/grid.h b/rpg/grid.h new file mode 100644 index 0000000..4cddf8d --- /dev/null +++ b/rpg/grid.h @@ -0,0 +1,12 @@ +typedef enum +{ + GRID_FLIPX = 1, + GRID_FLIPY = 2, +} grid_flags; + +typedef struct +{ + uint8_t tile; + grid_flags flags; + char* tag; +} grid_t; diff --git a/rpg/hashmap.h b/rpg/hashmap.h new file mode 100644 index 0000000..da88e81 --- /dev/null +++ b/rpg/hashmap.h @@ -0,0 +1,594 @@ +/* + The latest version of this library is available on GitHub; + https://github.com/sheredom/hashmap.h +*/ + +/* + This is free and unencumbered software released into the public domain. + + Anyone is free to copy, modify, publish, use, compile, sell, or + distribute this software, either in source code form or as a compiled + binary, for any purpose, commercial or non-commercial, and by any + means. + + In jurisdictions that recognize copyright laws, the author or authors + of this software dedicate any and all copyright interest in the + software to the public domain. We make this dedication for the benefit + of the public at large and to the detriment of our heirs and + successors. We intend this dedication to be an overt act of + relinquishment in perpetuity of all present and future rights to this + software under copyright law. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + For more information, please refer to +*/ +#ifndef SHEREDOM_HASHMAP_H_INCLUDED +#define SHEREDOM_HASHMAP_H_INCLUDED + +#if defined(_MSC_VER) +// Workaround a bug in the MSVC runtime where it uses __cplusplus when not +// defined. +#pragma warning(push, 0) +#pragma warning(disable : 4668) +#endif + +#include "client_api.h" + +//#include +//#include + +//#if (defined(_MSC_VER) && defined(__AVX__)) || \ +// (!defined(_MSC_VER) && defined(__SSE4_2__)) +//#define HASHMAP_SSE42 +//#endif + +//#if defined(HASHMAP_SSE42) +//#include +//#endif + +#if defined(_MSC_VER) +#pragma warning(pop) +#endif + +#if defined(_MSC_VER) +#pragma warning(push) +/* Stop MSVC complaining about unreferenced functions */ +#pragma warning(disable : 4505) +/* Stop MSVC complaining about not inlining functions */ +#pragma warning(disable : 4710) +/* Stop MSVC complaining about inlining functions! */ +#pragma warning(disable : 4711) +#elif defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-function" +#endif + +#if defined(_MSC_VER) +#define HASHMAP_USED +#elif defined(__GNUC__) +#define HASHMAP_USED __attribute__((used)) +#else +#define HASHMAP_USED +#endif + +/* We need to keep keys and values. */ +struct hashmap_element_s { + const char *key; + unsigned key_len; + int in_use; + void *data; +}; + +/* A hashmap has some maximum size and current size, as well as the data to + * hold. */ +struct hashmap_s { + unsigned table_size; + unsigned size; + struct hashmap_element_s *data; +}; + +#define HASHMAP_MAX_CHAIN_LENGTH (8) + +#if defined(__cplusplus) +extern "C" { +#endif + +/// @brief Create a hashmap. +/// @param initial_size The initial size of the hashmap. Must be a power of two. +/// @param out_hashmap The storage for the created hashmap. +/// @return On success 0 is returned. +/// +/// Note that the initial size of the hashmap must be a power of two, and +/// creation of the hashmap will fail if this is not the case. +static int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) HASHMAP_USED; + +/// @brief Put an element into the hashmap. +/// @param hashmap The hashmap to insert into. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @param value The value to insert. +/// @return On success 0 is returned. +/// +/// The key string slice is not copied when creating the hashmap entry, and thus +/// must remain a valid pointer until the hashmap entry is removed or the +/// hashmap is destroyed. +static int hashmap_put(struct hashmap_s *const hashmap, const char *const key, + const unsigned len, void *const value) HASHMAP_USED; + +/// @brief Get an element from the hashmap. +/// @param hashmap The hashmap to get from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return The previously set element, or NULL if none exists. +static void *hashmap_get(const struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success 0 is returned. +static int hashmap_remove(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success the original stored key pointer is returned, on failure +/// NULL is returned. +static const char * +hashmap_remove_and_return_key(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. Otherwise if +/// the callback function f returned non-zero then non-zero is returned. +static int hashmap_iterate(const struct hashmap_s *const hashmap, + int (*f)(void *const context, void *const value), + void *const context) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. +/// Otherwise if the callback function f returned positive then the positive +/// value is returned. If the callback function returns -1, the current item +/// is removed and iteration continues. +static int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) HASHMAP_USED; + +/// @brief Get the size of the hashmap. +/// @param hashmap The hashmap to get the size of. +/// @return The size of the hashmap. +static unsigned +hashmap_num_entries(const struct hashmap_s *const hashmap) HASHMAP_USED; + +/// @brief Destroy the hashmap. +/// @param hashmap The hashmap to destroy. +static void hashmap_destroy(struct hashmap_s *const hashmap) HASHMAP_USED; + +static unsigned hashmap_crc32_helper(const char *const s, + const unsigned len) HASHMAP_USED; +static unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) HASHMAP_USED; +static int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, + const unsigned len) HASHMAP_USED; +static int hashmap_hash_helper(const struct hashmap_s *const m, + const char *const key, const unsigned len, + unsigned *const out_index) HASHMAP_USED; +static int +hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) HASHMAP_USED; +static int hashmap_rehash_helper(struct hashmap_s *const m) HASHMAP_USED; + +#if defined(__cplusplus) +} +#endif + +#if defined(__cplusplus) +#define HASHMAP_CAST(type, x) static_cast(x) +#define HASHMAP_PTR_CAST(type, x) reinterpret_cast(x) +#define HASHMAP_NULL NULL +#else +#define HASHMAP_CAST(type, x) ((type)x) +#define HASHMAP_PTR_CAST(type, x) ((type)x) +#define HASHMAP_NULL 0 +#endif + +int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) { + out_hashmap->table_size = initial_size; + out_hashmap->size = 0; + + if (0 == initial_size || 0 != (initial_size & (initial_size - 1))) { + return 1; + } + + out_hashmap->data = + HASHMAP_CAST(struct hashmap_element_s *, + malloc(initial_size * sizeof(struct hashmap_element_s))); + if (!out_hashmap->data) { + return 1; + } + memset(out_hashmap->data, 0, initial_size * sizeof(struct hashmap_element_s)); + + return 0; +} + +int hashmap_put(struct hashmap_s *const m, const char *const key, + const unsigned len, void *const value) { + unsigned int index; + + /* Find a place to put our value. */ + while (!hashmap_hash_helper(m, key, len, &index)) { + if (hashmap_rehash_helper(m)) { + return 1; + } + } + + /* Set the data. */ + m->data[index].data = value; + m->data[index].key = key; + m->data[index].key_len = len; + + /* If the hashmap element was not already in use, set that it is being used + * and bump our size. */ + if (0 == m->data[index].in_use) { + m->data[index].in_use = 1; + m->size++; + } + + return 0; +} + +void *hashmap_get(const struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int curr; + unsigned int i; + + /* Find data location */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + return m->data[curr].data; + } + } + + curr = (curr + 1) % m->table_size; + } + + /* Not found */ + return HASHMAP_NULL; +} + +int hashmap_remove(struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + /* Blank out the fields including in_use */ + memset(&m->data[curr], 0, sizeof(struct hashmap_element_s)); + + /* Reduce the size */ + m->size--; + + return 0; + } + } + + curr = (curr + 1) % m->table_size; + } + + return 1; +} + +const char *hashmap_remove_and_return_key(struct hashmap_s *const m, + const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + const char *const stored_key = m->data[curr].key; + + /* Blank out the fields */ + m->data[curr].in_use = 0; + m->data[curr].data = HASHMAP_NULL; + m->data[curr].key = HASHMAP_NULL; + + /* Reduce the size */ + m->size--; + + return stored_key; + } + } + curr = (curr + 1) % m->table_size; + } + + return HASHMAP_NULL; +} + +int hashmap_iterate(const struct hashmap_s *const m, + int (*f)(void *const, void *const), void *const context) { + unsigned int i; + + /* Linear probing */ + for (i = 0; i < m->table_size; i++) { + if (m->data[i].in_use) { + if (!f(context, m->data[i].data)) { + return 1; + } + } + } + return 0; +} + +int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) { + unsigned int i; + struct hashmap_element_s *p; + int r; + + /* Linear probing */ + for (i = 0; i < hashmap->table_size; i++) { + p = &hashmap->data[i]; + if (p->in_use) { + r = f(context, p); + switch (r) { + case -1: /* remove item */ + memset(p, 0, sizeof(struct hashmap_element_s)); + hashmap->size--; + break; + case 0: /* continue iterating */ + break; + default: /* early exit */ + return 1; + } + } + } + return 0; +} + +void hashmap_destroy(struct hashmap_s *const m) { + free(m->data); + memset(m, 0, sizeof(struct hashmap_s)); +} + +unsigned hashmap_num_entries(const struct hashmap_s *const m) { + return m->size; +} + +unsigned hashmap_crc32_helper(const char *const s, const unsigned len) { + unsigned i; + unsigned crc32val = 0; + +#if defined(HASHMAP_SSE42) + for (i = 0; i < len; i++) { + crc32val = _mm_crc32_u8(crc32val, HASHMAP_CAST(unsigned char, s[i])); + } + + return crc32val; +#else + // Using polynomial 0x11EDC6F41 to match SSE 4.2's crc function. + static const unsigned crc32_tab[] = { + 0x00000000U, 0xF26B8303U, 0xE13B70F7U, 0x1350F3F4U, 0xC79A971FU, + 0x35F1141CU, 0x26A1E7E8U, 0xD4CA64EBU, 0x8AD958CFU, 0x78B2DBCCU, + 0x6BE22838U, 0x9989AB3BU, 0x4D43CFD0U, 0xBF284CD3U, 0xAC78BF27U, + 0x5E133C24U, 0x105EC76FU, 0xE235446CU, 0xF165B798U, 0x030E349BU, + 0xD7C45070U, 0x25AFD373U, 0x36FF2087U, 0xC494A384U, 0x9A879FA0U, + 0x68EC1CA3U, 0x7BBCEF57U, 0x89D76C54U, 0x5D1D08BFU, 0xAF768BBCU, + 0xBC267848U, 0x4E4DFB4BU, 0x20BD8EDEU, 0xD2D60DDDU, 0xC186FE29U, + 0x33ED7D2AU, 0xE72719C1U, 0x154C9AC2U, 0x061C6936U, 0xF477EA35U, + 0xAA64D611U, 0x580F5512U, 0x4B5FA6E6U, 0xB93425E5U, 0x6DFE410EU, + 0x9F95C20DU, 0x8CC531F9U, 0x7EAEB2FAU, 0x30E349B1U, 0xC288CAB2U, + 0xD1D83946U, 0x23B3BA45U, 0xF779DEAEU, 0x05125DADU, 0x1642AE59U, + 0xE4292D5AU, 0xBA3A117EU, 0x4851927DU, 0x5B016189U, 0xA96AE28AU, + 0x7DA08661U, 0x8FCB0562U, 0x9C9BF696U, 0x6EF07595U, 0x417B1DBCU, + 0xB3109EBFU, 0xA0406D4BU, 0x522BEE48U, 0x86E18AA3U, 0x748A09A0U, + 0x67DAFA54U, 0x95B17957U, 0xCBA24573U, 0x39C9C670U, 0x2A993584U, + 0xD8F2B687U, 0x0C38D26CU, 0xFE53516FU, 0xED03A29BU, 0x1F682198U, + 0x5125DAD3U, 0xA34E59D0U, 0xB01EAA24U, 0x42752927U, 0x96BF4DCCU, + 0x64D4CECFU, 0x77843D3BU, 0x85EFBE38U, 0xDBFC821CU, 0x2997011FU, + 0x3AC7F2EBU, 0xC8AC71E8U, 0x1C661503U, 0xEE0D9600U, 0xFD5D65F4U, + 0x0F36E6F7U, 0x61C69362U, 0x93AD1061U, 0x80FDE395U, 0x72966096U, + 0xA65C047DU, 0x5437877EU, 0x4767748AU, 0xB50CF789U, 0xEB1FCBADU, + 0x197448AEU, 0x0A24BB5AU, 0xF84F3859U, 0x2C855CB2U, 0xDEEEDFB1U, + 0xCDBE2C45U, 0x3FD5AF46U, 0x7198540DU, 0x83F3D70EU, 0x90A324FAU, + 0x62C8A7F9U, 0xB602C312U, 0x44694011U, 0x5739B3E5U, 0xA55230E6U, + 0xFB410CC2U, 0x092A8FC1U, 0x1A7A7C35U, 0xE811FF36U, 0x3CDB9BDDU, + 0xCEB018DEU, 0xDDE0EB2AU, 0x2F8B6829U, 0x82F63B78U, 0x709DB87BU, + 0x63CD4B8FU, 0x91A6C88CU, 0x456CAC67U, 0xB7072F64U, 0xA457DC90U, + 0x563C5F93U, 0x082F63B7U, 0xFA44E0B4U, 0xE9141340U, 0x1B7F9043U, + 0xCFB5F4A8U, 0x3DDE77ABU, 0x2E8E845FU, 0xDCE5075CU, 0x92A8FC17U, + 0x60C37F14U, 0x73938CE0U, 0x81F80FE3U, 0x55326B08U, 0xA759E80BU, + 0xB4091BFFU, 0x466298FCU, 0x1871A4D8U, 0xEA1A27DBU, 0xF94AD42FU, + 0x0B21572CU, 0xDFEB33C7U, 0x2D80B0C4U, 0x3ED04330U, 0xCCBBC033U, + 0xA24BB5A6U, 0x502036A5U, 0x4370C551U, 0xB11B4652U, 0x65D122B9U, + 0x97BAA1BAU, 0x84EA524EU, 0x7681D14DU, 0x2892ED69U, 0xDAF96E6AU, + 0xC9A99D9EU, 0x3BC21E9DU, 0xEF087A76U, 0x1D63F975U, 0x0E330A81U, + 0xFC588982U, 0xB21572C9U, 0x407EF1CAU, 0x532E023EU, 0xA145813DU, + 0x758FE5D6U, 0x87E466D5U, 0x94B49521U, 0x66DF1622U, 0x38CC2A06U, + 0xCAA7A905U, 0xD9F75AF1U, 0x2B9CD9F2U, 0xFF56BD19U, 0x0D3D3E1AU, + 0x1E6DCDEEU, 0xEC064EEDU, 0xC38D26C4U, 0x31E6A5C7U, 0x22B65633U, + 0xD0DDD530U, 0x0417B1DBU, 0xF67C32D8U, 0xE52CC12CU, 0x1747422FU, + 0x49547E0BU, 0xBB3FFD08U, 0xA86F0EFCU, 0x5A048DFFU, 0x8ECEE914U, + 0x7CA56A17U, 0x6FF599E3U, 0x9D9E1AE0U, 0xD3D3E1ABU, 0x21B862A8U, + 0x32E8915CU, 0xC083125FU, 0x144976B4U, 0xE622F5B7U, 0xF5720643U, + 0x07198540U, 0x590AB964U, 0xAB613A67U, 0xB831C993U, 0x4A5A4A90U, + 0x9E902E7BU, 0x6CFBAD78U, 0x7FAB5E8CU, 0x8DC0DD8FU, 0xE330A81AU, + 0x115B2B19U, 0x020BD8EDU, 0xF0605BEEU, 0x24AA3F05U, 0xD6C1BC06U, + 0xC5914FF2U, 0x37FACCF1U, 0x69E9F0D5U, 0x9B8273D6U, 0x88D28022U, + 0x7AB90321U, 0xAE7367CAU, 0x5C18E4C9U, 0x4F48173DU, 0xBD23943EU, + 0xF36E6F75U, 0x0105EC76U, 0x12551F82U, 0xE03E9C81U, 0x34F4F86AU, + 0xC69F7B69U, 0xD5CF889DU, 0x27A40B9EU, 0x79B737BAU, 0x8BDCB4B9U, + 0x988C474DU, 0x6AE7C44EU, 0xBE2DA0A5U, 0x4C4623A6U, 0x5F16D052U, + 0xAD7D5351U}; + + for (i = 0; i < len; i++) { + crc32val = crc32_tab[(HASHMAP_CAST(unsigned char, crc32val) ^ + HASHMAP_CAST(unsigned char, s[i]))] ^ + (crc32val >> 8); + } + return crc32val; +#endif +} + +unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) { + unsigned key = hashmap_crc32_helper(keystring, len); + + /* Robert Jenkins' 32 bit Mix Function */ + key += (key << 12); + key ^= (key >> 22); + key += (key << 4); + key ^= (key >> 9); + key += (key << 10); + key ^= (key >> 2); + key += (key << 7); + key ^= (key >> 12); + + /* Knuth's Multiplicative Method */ + key = (key >> 3) * 2654435761; + + return key % m->table_size; +} + +int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, const unsigned len) { + return (element->key_len == len) && (0 == memcmp(element->key, key, len)); +} + +int hashmap_hash_helper(const struct hashmap_s *const m, const char *const key, + const unsigned len, unsigned *const out_index) { + unsigned int start, curr; + unsigned int i; + int total_in_use; + + /* If full, return immediately */ + if (m->size >= m->table_size) { + return 0; + } + + /* Find the best index */ + curr = start = hashmap_hash_helper_int_helper(m, key, len); + + /* First linear probe to check if we've already insert the element */ + total_in_use = 0; + + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + const int in_use = m->data[curr].in_use; + + total_in_use += in_use; + + if (in_use && hashmap_match_helper(&m->data[curr], key, len)) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + + curr = start; + + /* Second linear probe to actually insert our element (only if there was at + * least one empty entry) */ + if (HASHMAP_MAX_CHAIN_LENGTH > total_in_use) { + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (!m->data[curr].in_use) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + } + + return 0; +} + +int hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) { + int temp = hashmap_put(HASHMAP_PTR_CAST(struct hashmap_s *, new_hash), e->key, + e->key_len, e->data); + if (0 < temp) { + return 1; + } + /* clear old value to avoid stale pointers */ + return -1; +} +/* + * Doubles the size of the hashmap, and rehashes all the elements + */ +int hashmap_rehash_helper(struct hashmap_s *const m) { + /* If this multiplication overflows hashmap_create will fail. */ + unsigned new_size = 2 * m->table_size; + + struct hashmap_s new_hash; + + int flag = hashmap_create(new_size, &new_hash); + + if (0 != flag) { + return flag; + } + + /* copy the old elements to the new table */ + flag = hashmap_iterate_pairs(m, hashmap_rehash_iterator, + HASHMAP_PTR_CAST(void *, &new_hash)); + + if (0 != flag) { + return flag; + } + + hashmap_destroy(m); + /* put new hash into old hash structure by copying */ + memcpy(m, &new_hash, sizeof(struct hashmap_s)); + + return 0; +} + +#if defined(_MSC_VER) +#pragma warning(pop) +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif + +#endif diff --git a/rpg/level14.c b/rpg/level14.c new file mode 100644 index 0000000..59cc068 --- /dev/null +++ b/rpg/level14.c @@ -0,0 +1,56 @@ +#include +#include "constants.h" +#include "ent.h" + +#include +#include "rpg_imports.h" + +bool in_door = false; + +__EXPORT__ void level_entered_tile(ent_t* ent, int gx, int gy, grid_t g) +{ + if (g.tag) + { + if (is_player(ent)) + { + grid_t* find = NULL; + if (strcmp(g.tag, "d1") == 0) + { + if (!in_door && (find = get_tile_by_tag("d2")) != NULL) + { + int target_gx, target_gy; + grid_pos(find, &target_gx, &target_gy); + ent->x = target_gx * GRID; + ent->y = target_gy * GRID; + in_door = true; + } + } + if (strcmp(g.tag, "d2") == 0) + { + if (!in_door && (find = get_tile_by_tag("d1")) != NULL) + { + int target_gx, target_gy; + grid_pos((grid_t*)find, &target_gx, &target_gy); + ent->x = target_gx * GRID; + ent->y = target_gy * GRID; + in_door = true; + } + } + } + } +} +__EXPORT__ void level_exited_tile(ent_t* ent, int gx, int gy, grid_t g) +{ +} + +__EXPORT__ void level_update(float ms) +{ + in_door = false; +} + +__EXPORT__ int setup(int arg) +{ + LOAD_DYN(is_player) + LOAD_DYN(get_tile_by_tag) + LOAD_DYN(grid_pos) +} diff --git a/rpg/level_imports.h b/rpg/level_imports.h new file mode 100644 index 0000000..9dd2be5 --- /dev/null +++ b/rpg/level_imports.h @@ -0,0 +1,5 @@ +#include "ent.h" + +__IMPORT__ void (*level_entered_tile)(ent_t* ent, int gx, int gy, grid_t g); +__IMPORT__ void (*level_exited_tile)(ent_t* ent, int gx, int gy, grid_t g); +__IMPORT__ void (*level_update)(float t); diff --git a/rpg/parse.c b/rpg/parse.c new file mode 100644 index 0000000..ec097e2 --- /dev/null +++ b/rpg/parse.c @@ -0,0 +1,64 @@ +#include "parse.h" + +bool reset_parse = false; +char* parse_word = NULL; +int parse_line = 1; +int parse(char* l, size_t len, bool (*is_break)(char), bool debug) +{ + static char last_char; + static int i = 0; + static int nl = 0; + if (reset_parse) + { + parse_line = 1; + i = 0; + nl = 0; + last_char = 0; + reset_parse = false; + } + + parse_word = NULL; + + while (i < len) + { + char c = l[i]; + if (c == 0) c = last_char; + i++; + if (debug) + { + printf("Char@%d %d %c\n", i, c, c); + } + if (is_break(c) || c == '\n') + { + if (parse_word) + { + i--; + l[i] = 0; + last_char = c; + nl = false; + return WORD; + } + else if (c == '\n') + { + nl++; + parse_line++; + if (nl == 1) + { + return NL; + } + else if (nl == 2) + { + return BREAK; + } + } + } + else + { + if (parse_word == NULL) parse_word = l + (i - 1); + } + } + + if (parse_word) return WORD; + + return DONE; +} diff --git a/rpg/parse.h b/rpg/parse.h new file mode 100644 index 0000000..4767bf6 --- /dev/null +++ b/rpg/parse.h @@ -0,0 +1,13 @@ +#pragma once +#include + +#define WORD 0 +#define NL 1 +#define BREAK 2 +#define DONE 3 + +extern bool reset_parse; +extern char* parse_word; +extern int parse_line; + +int parse(char* l, size_t len, bool (*is_break)(char), bool debug); diff --git a/rpg/rpg.c b/rpg/rpg.c new file mode 100644 index 0000000..5791026 --- /dev/null +++ b/rpg/rpg.c @@ -0,0 +1,607 @@ +#include +#include "grid.h" +#include "ent.h" +#include "parse.h" +#include "hashmap.h" + +#include +#include "level_imports.h" + +#include "constants.h" + + +typedef enum +{ + BG_SOLID = 1, + BG_TOP = 2, +} bg_flags; + +typedef struct +{ + char* tile; + pbm_t* pbm; + uint8_t flags; +} bg_t; + +bg_t bg[100]; +int num_bg = 0; + + +grid_t grid[COLS][ROWS]; + +__EXPORT__ void grid_pos(grid_t* g, int* gx, int* gy) +{ + int index = (int)(g - &grid[0][0]); + *gx = index / ROWS; + *gy = index - (*gx * ROWS); +} + +struct hashmap_s tile_tags; + + +ent_t player; + +#define OUTLINE 2 + +bool load_level(char* fname); +void unload_level(); + +void set_outline(ent_t* ent, int pixels, bool expand, bool dither) +{ + ent->outline = d_expand_bitmap(ent->graphic, pixels, expand, dither); + ent->outline_pixels = expand ? pixels : 0; +} +void set_standard_sprite_off(ent_t* ent) +{ + ent->off_x = ent->off_y = SPRITEOFF; +} +void reset_pos(ent_t* ent, int x, int y) +{ + ent->x = ent->ox = x; + ent->y = ent->oy = y; +} +__EXPORT__ int setup(int a) +{ + hashmap_create(32, &tile_tags); + + player.graphic = f_bitmap("/player.pbm"); + set_outline(&player, OUTLINE, true, false); + set_standard_sprite_off(&player); + reset_pos(&player, 0, 0); + + if (!load_level("level14")) + { + return 1; + } + + return 0; +} + +int remove_all_hashmap(void* const ctx, struct hashmap_element_s* const value) { return -1; } + +char* last_level = NULL; +void* level_code = NULL; +void unload_level() +{ + level_update = NULL; + level_entered_tile = NULL; + level_exited_tile = NULL; + + if (level_code) unload_code(level_code); + + for (int i = 0; i < num_bg; i++) + { + free(bg[i].pbm); + } + num_bg = 0; + + if (last_level) + { + free(last_level); + last_level = NULL; + } + + hashmap_iterate_pairs(&tile_tags, remove_all_hashmap, NULL); +} + +#define SOLID 1 +#define TOP 2 + + +bool is_space(char c) { return isspace(c); } +bool is_comma_or_space(char c) { return c == ',' || is_space(c); } + +bool load_level(char* level_name) +{ + unload_level(); + memset(grid, 0, sizeof(grid)); + + char filename[100]; + sprintf(filename, "/%s.txt", level_name); + + size_t len; + last_level = (char*)f_contents(filename, &len); + if (!last_level) + { + printf("Couldn't find level: %s\n", filename); + return false; + } + + reset_parse = true; + + // name, file, [flags] + char* tile_def[] = { NULL, NULL, NULL }; + + while (true) + { + int res = parse(last_level, len, is_space, false); + //printf("Parse res: %d\n", res); + + if (res == DONE) + { + printf("No tile grid given in level %s\n", filename); + return false; + } + + int not_null = 0; + for (; not_null < 3; not_null++) + { + if (!tile_def[not_null]) break; + } + + if (res == NL) + { + if (not_null < 2) + { + printf("Invalid tile def on line %d\n", parse_line - 1); + return false; + } + + if (!tile_def[2]) tile_def[2] = "NULL"; + + printf("Parsed tile %d %s %s %s\n", not_null, tile_def[0], tile_def[1], tile_def[2]); + + bg_flags flags = 0; + if (not_null >= 3) + { + size_t flag_len = strlen(tile_def[2]); + for (int i = 0; i < flag_len; i++) + { + if (tile_def[2][i] == 's') flags |= BG_SOLID; + if (tile_def[2][i] == 't') flags |= BG_TOP; + } + } + + + bool found = false; + char f[100]; + sprintf(f, "/%s.pbm", tile_def[1]); + pbm_t* n = f_bitmap(f); + if (n) + { + found = true; + + bg_t b = { tile_def[0], n, flags }; + bg[num_bg++] = b; + + printf("Tile %s registered as word %s\n", f, tile_def[0]); + } + else + { + int i = 1; + sprintf(f, "/%s%d.pbm", tile_def[1], i); + while (n = f_bitmap(f)) + { + found = true; + + char name[10]; + sprintf(name, "%s%d", tile_def[0], i); + + + bg_t b = { malloc(strlen(name) + 1), n, flags }; + strcpy(b.tile, name); + bg[num_bg++] = b; + + printf("Tile %s registered as word %s\n", f, name); + + i++; + sprintf(f, "/%s%d.pbm", tile_def[1], i); + } + } + + if (!found) + { + printf("Not found: graphic with name %s\n", tile_def[1]); + } + + memset(tile_def, 0, sizeof(tile_def)); + continue; + } + + if (res == BREAK) break; + + if (not_null < 3) + { + tile_def[not_null++] = parse_word; + } + else + { + printf("Too many words on line %d\n", parse_line); + } + } + + int gx = 0; + int gy = 0; + while (true) + { + int res = parse(last_level, len, is_comma_or_space, false); + //printf("Parse res: %d\n", res); + if (res == DONE || res == BREAK) + { + if (gy < ROWS) + { + printf("Didn't read full grid, only %d,%d\n", gx, gy); + return false; + } + break; + } + if (res == NL) + { + if (gx < COLS) + { + printf("Couldn't read full row, only to index %d on line %d\n", gx - 1, parse_line); + return false; + } + gx = 0; + gy++; + } + if (res == WORD) + { + if (gx >= COLS || gy >= ROWS) + { + printf("Grid is too big, reached %d,%d on line %d\n", gx, gy, parse_line); + return false; + } + char* prob = NULL; + char* tag = NULL; + grid_flags flags = 0; + for (int i = 0; i < 2; i++) + { + if (parse_word[0] == '-') + { + flags |= GRID_FLIPX; + parse_word++; + } + else if (parse_word[0] == '!') + { + flags |= GRID_FLIPY; + parse_word++; + } + } + + char* last_word = parse_word; + + size_t l = strlen(last_word); + for (int i = 0; i < l; i++) + { + if (last_word[i] == '.') + { + last_word[i] = 0; + prob = last_word + (i + 1); + last_word = prob; + l = strlen(prob); + break; + } + } + + for (int i = 0; i < l; i++) + { + if (last_word[i] == ':') + { + last_word[i] = 0; + tag = last_word + (i + 1); + last_word = tag; + l = strlen(tag); + break; + } + } + + //printf("Searching %s\n", parse_word); + for (int i = 0; i < num_bg; i++) + { + //printf(" Check %s\n", bg[i].tile); + if (strcmp(bg[i].tile, parse_word) == 0) + { + if (prob) + { + int p = max(0, min(9, atoi(prob))); + if (random(1, 10) > p) continue; + } + //printf("Tile %d on %d,%d\n", i, gx, gy); + grid_t g = { i + 1, flags, tag }; + if (tag) hashmap_put(&tile_tags, tag, strlen(tag), &grid[gx][gy]); + grid[gx][gy] = g; + } + } + + gx++; + + } + } + + sprintf(filename, "/%s.bin", level_name); + level_code = f_code(filename); + + if (level_code) + { + LOAD_DYN(level_entered_tile) + LOAD_DYN(level_exited_tile) + LOAD_DYN(level_update) + } + + return 0; +} + + +float speed = 80; + +bool move_debug = false; + +bool r_intersect(int x1, int y1, int w1, int h1, + int x2, int y2, int w2, int h2) +{ + if (x1 >= x2 + w2 || + x1 + w2 <= x2 || + y1 >= y2 + h2 || + y1 + h2 <= y2) return false; + if (move_debug) printf("INTERSECT [%d,%d + %d,%d] [%d,%d + %d,%d]\n", x1, y1, w1, h1, x2, y2, w2, h2); + return true; +} + +bool r_free(int px, int py, int w, int h) +{ + int minX = px / GRID; + int maxX = (px + w - 1) / GRID; + int minY = py / GRID; + int maxY = (py + h - 1) / GRID; + + for (int i = max(0, minX); i <= min(COLS - 1, maxX); i++) + { + for (int j = max(0, minY); j <= min(ROWS - 1, maxY); j++) + { + if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & SOLID)) + { + if (r_intersect(px, py, w, h, + i * GRID + 1, + j * GRID + 1, + GRID - 2, + GRID - 2)) return false; + } + } + } + return true; +} + +__EXPORT__ bool is_player(ent_t* ent) { return ent == &player; } +__EXPORT__ grid_t* get_tile_by_tag(char* tag) { return (grid_t*)hashmap_get(&tile_tags, tag, strlen(tag)); } + + + +void entered_tile(ent_t* ent, int gx, int gy) +{ + grid_t g = grid[gx][gy]; + if (level_entered_tile) level_entered_tile(ent, gx, gy, g); +} +void exited_tile(ent_t* ent, int gx, int gy) +{ + grid_t g = grid[gx][gy]; + if (level_exited_tile) level_exited_tile(ent, gx, gy, g); +} + +void render_ent(ent_t* ent) +{ + + if (ent->outline) + { + d_pbm( + (uint16_t)roundf(ent->x) - ent->outline_pixels + PADX + ent->off_x, + (uint16_t)roundf(ent->y) - ent->outline_pixels + PADY + ent->off_y, + ent->outline, 0, 0, 0, 0, WHITE, TRANSPARENT, R_NONE, false, false); + } + d_pbm( + (uint16_t)roundf(ent->x) + PADX + ent->off_x, + (uint16_t)roundf(ent->y) + PADY + ent->off_y, + ent->graphic, 0, 0, 0, 0, BLACK, TRANSPARENT, R_NONE, false, false); +} + +void update_ent_movement(ent_t* ent, bool debug); + +__EXPORT__ int loop(int ms) +{ + float t = ms / 1000.0f; + + if (button_down(DPAD_RIGHT)) player.x += t * speed; + if (button_down(DPAD_LEFT)) player.x -= t * speed; + if (button_down(DPAD_DOWN)) player.y += t * speed; + if (button_down(DPAD_UP)) player.y -= t * speed; + if (button_pressed(BUTTON_A)) move_debug = !move_debug; + + update_ent_movement(&player, move_debug); + + if (level_update) level_update(t); + + d_clear(); + + for (int i = 0; i < COLS; i++) + { + for (int j = 0; j < ROWS; j++) + { + if (grid[i][j].tile != 0 && !(bg[grid[i][j].tile - 1].flags & TOP)) + { + d_pbm( + PADX + i * GRID + SPRITEOFF, + PADY + j * GRID + SPRITEOFF, + bg[grid[i][j].tile - 1].pbm, + 0,0,0,0, BLACK, TRANSPARENT, R_NONE, grid[i][j].flags & GRID_FLIPX, grid[i][j].flags & GRID_FLIPY); + } + } + } + + render_ent(&player); + + + for (int i = 0; i < COLS; i++) + { + for (int j = 0; j < ROWS; j++) + { + if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & TOP)) + { + d_fillRect( + PADX + i * GRID, + PADY + j * GRID, + GRID, GRID, + WHITE + ); + } + } + } + + for (int i = 0; i < COLS; i++) + { + for (int j = 0; j < ROWS; j++) + { + if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & TOP)) + { + d_pbm( + PADX + i * GRID + SPRITEOFF, + PADY + j * GRID + SPRITEOFF, + bg[grid[i][j].tile - 1].pbm, + 0,0,0,0, BLACK, TRANSPARENT, R_NONE, grid[i][j].flags & GRID_FLIPX, grid[i][j].flags & GRID_FLIPY); + } + } + } + + return 0; +} + +#define ENTER_GRID_PCT 0.2f +void get_close_grid(float x, float y, int* gx, int* gy, float* pct_x, float* pct_y) +{ + float grid_x, grid_y; + *pct_x = modff((x + GRID * 0.5f) / GRID, &grid_x) - 0.5f; + *pct_y = modff((y + GRID * 0.5f) / GRID, &grid_y) - 0.5f; + if (fabsf(*pct_x) > ENTER_GRID_PCT || fabsf(*pct_y) > ENTER_GRID_PCT) + { + grid_x = -1; + grid_y = -1; + } + *gx = (int)grid_x; + *gy = (int)grid_y; +} + +void update_ent_movement(ent_t* ent, bool debug) +{ + int ox_i = (int)roundf(ent->ox); + int oy_i = (int)roundf(ent->oy); + + if (ent->x != ent->ox || ent->y != ent->oy) + { + int x_i = (int)roundf(ent->x); + int y_i = (int)roundf(ent->y); + + if (ent->x > ent->ox) x_i = (int)roundf(ent->x + 0.5f); + if (ent->x < ent->ox) x_i = (int)roundf(ent->x - 0.5f); + + if (ent->y > ent->oy) y_i = (int)roundf(ent->y + 0.5f); + if (ent->y < ent->oy) y_i = (int)roundf(ent->y - 0.5f); + + bool goX = ox_i != x_i; + bool goY = oy_i != y_i; + + if (debug) printf("(%f,%f)->(%f,%f) I: (%d,%d)->(%d,%d) [%d, %d]\n", ent->ox, ent->oy, ent->x, ent->y, ox_i, oy_i, x_i, y_i, goX, goY); + + while (goX || goY) + { + if (goX) + { + int testX = ox_i < x_i ? ox_i + 1 : ox_i - 1; + bool test = r_free(testX + 1, oy_i + 1, GRID - 2, GRID - 2); + if (move_debug) printf("testX: %d => %d\n", testX, test); + if (test) + { + ox_i = testX; + if (ox_i == x_i) goX = false; + if (move_debug) printf("ox_i = %d, goX = %d\n", ox_i, goX); + } + else + { + goX = false; + if (move_debug) printf("goX = false\n"); + } + } + if (goY) + { + int testY = oy_i < y_i ? oy_i + 1 : oy_i - 1; + bool test = r_free(ox_i + 1, testY + 1, GRID - 2, GRID - 2); + if (move_debug) printf("testY: %d => %d\n", testY, test); + if (test) + { + oy_i = testY; + if (oy_i == y_i) goY = false; + if (move_debug) printf("oy_i = %d, goY = %d\n", oy_i, goY); + } + else + { + goY = false; + if (move_debug) printf("goY = false\n"); + } + } + } + + if (ox_i != x_i) ent->x = ox_i; + if (oy_i != y_i) ent->y = oy_i; + if (debug) printf("reached (%d,%d) on target of (%d,%d), x,y=(%f,%f)\n", ox_i, oy_i, x_i, y_i, ent->x, ent->y); + + if (debug) printf("\n====================\n\n"); + + int o_grid_x, o_grid_y; + float o_ingrid_x, o_ingrid_y; + + int grid_x, grid_y; + float ingrid_x, ingrid_y; + + get_close_grid(ent->ox, ent->oy, &o_grid_x, &o_grid_y, &o_ingrid_x, &o_ingrid_y); + + int tries = 10; + for (; tries > 0; tries--) + { + get_close_grid(ent->x, ent->y, &grid_x, &grid_y, &ingrid_x, &ingrid_y); + + if (grid_x == o_grid_x && grid_y == o_grid_y) + { + break; + } + else + { + if (o_grid_x != -1) + { + exited_tile(ent, o_grid_x, o_grid_y); + //printf("Exited: %f %f\n", o_grid_x, o_grid_y); + } + if (grid_x != -1) + { + entered_tile(ent, grid_x, grid_y); + //printf("Entered: %f %f\n", grid_x, grid_y); + } + + o_grid_x = grid_x; + o_grid_y = grid_y; + } + } + if (tries == 0) printf("RAN OUT OF TILE CHECK TRIES\n"); + } + + ent->ox = ent->x; + ent->oy = ent->y; + +} diff --git a/rpg/rpg_imports.h b/rpg/rpg_imports.h new file mode 100644 index 0000000..3f38698 --- /dev/null +++ b/rpg/rpg_imports.h @@ -0,0 +1,7 @@ +#pragma once +#include "ent.h" +#include "grid.h" + +__IMPORT__ bool (*is_player)(ent_t* ent); +__IMPORT__ grid_t* (*get_tile_by_tag)(char* tag); +__IMPORT__ void (*grid_pos)(grid_t* g, int* gx, int* gy); diff --git a/test/Makefile b/test/Makefile deleted file mode 100644 index 140f7d4..0000000 --- a/test/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -CART_DIR ?= ../cart/test -MAKE_ROOT ?= ../../cneboy/make - -SOURCES := test.c parse.c - -MODULES := level14 - -SOURCES_level14 := level14.c - -include $(MAKE_ROOT)/Makefile diff --git a/test/hashmap.h b/test/hashmap.h deleted file mode 100644 index da88e81..0000000 --- a/test/hashmap.h +++ /dev/null @@ -1,594 +0,0 @@ -/* - The latest version of this library is available on GitHub; - https://github.com/sheredom/hashmap.h -*/ - -/* - This is free and unencumbered software released into the public domain. - - Anyone is free to copy, modify, publish, use, compile, sell, or - distribute this software, either in source code form or as a compiled - binary, for any purpose, commercial or non-commercial, and by any - means. - - In jurisdictions that recognize copyright laws, the author or authors - of this software dedicate any and all copyright interest in the - software to the public domain. We make this dedication for the benefit - of the public at large and to the detriment of our heirs and - successors. We intend this dedication to be an overt act of - relinquishment in perpetuity of all present and future rights to this - software under copyright law. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - - For more information, please refer to -*/ -#ifndef SHEREDOM_HASHMAP_H_INCLUDED -#define SHEREDOM_HASHMAP_H_INCLUDED - -#if defined(_MSC_VER) -// Workaround a bug in the MSVC runtime where it uses __cplusplus when not -// defined. -#pragma warning(push, 0) -#pragma warning(disable : 4668) -#endif - -#include "client_api.h" - -//#include -//#include - -//#if (defined(_MSC_VER) && defined(__AVX__)) || \ -// (!defined(_MSC_VER) && defined(__SSE4_2__)) -//#define HASHMAP_SSE42 -//#endif - -//#if defined(HASHMAP_SSE42) -//#include -//#endif - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif - -#if defined(_MSC_VER) -#pragma warning(push) -/* Stop MSVC complaining about unreferenced functions */ -#pragma warning(disable : 4505) -/* Stop MSVC complaining about not inlining functions */ -#pragma warning(disable : 4710) -/* Stop MSVC complaining about inlining functions! */ -#pragma warning(disable : 4711) -#elif defined(__clang__) -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wunused-function" -#endif - -#if defined(_MSC_VER) -#define HASHMAP_USED -#elif defined(__GNUC__) -#define HASHMAP_USED __attribute__((used)) -#else -#define HASHMAP_USED -#endif - -/* We need to keep keys and values. */ -struct hashmap_element_s { - const char *key; - unsigned key_len; - int in_use; - void *data; -}; - -/* A hashmap has some maximum size and current size, as well as the data to - * hold. */ -struct hashmap_s { - unsigned table_size; - unsigned size; - struct hashmap_element_s *data; -}; - -#define HASHMAP_MAX_CHAIN_LENGTH (8) - -#if defined(__cplusplus) -extern "C" { -#endif - -/// @brief Create a hashmap. -/// @param initial_size The initial size of the hashmap. Must be a power of two. -/// @param out_hashmap The storage for the created hashmap. -/// @return On success 0 is returned. -/// -/// Note that the initial size of the hashmap must be a power of two, and -/// creation of the hashmap will fail if this is not the case. -static int hashmap_create(const unsigned initial_size, - struct hashmap_s *const out_hashmap) HASHMAP_USED; - -/// @brief Put an element into the hashmap. -/// @param hashmap The hashmap to insert into. -/// @param key The string key to use. -/// @param len The length of the string key. -/// @param value The value to insert. -/// @return On success 0 is returned. -/// -/// The key string slice is not copied when creating the hashmap entry, and thus -/// must remain a valid pointer until the hashmap entry is removed or the -/// hashmap is destroyed. -static int hashmap_put(struct hashmap_s *const hashmap, const char *const key, - const unsigned len, void *const value) HASHMAP_USED; - -/// @brief Get an element from the hashmap. -/// @param hashmap The hashmap to get from. -/// @param key The string key to use. -/// @param len The length of the string key. -/// @return The previously set element, or NULL if none exists. -static void *hashmap_get(const struct hashmap_s *const hashmap, - const char *const key, - const unsigned len) HASHMAP_USED; - -/// @brief Remove an element from the hashmap. -/// @param hashmap The hashmap to remove from. -/// @param key The string key to use. -/// @param len The length of the string key. -/// @return On success 0 is returned. -static int hashmap_remove(struct hashmap_s *const hashmap, - const char *const key, - const unsigned len) HASHMAP_USED; - -/// @brief Remove an element from the hashmap. -/// @param hashmap The hashmap to remove from. -/// @param key The string key to use. -/// @param len The length of the string key. -/// @return On success the original stored key pointer is returned, on failure -/// NULL is returned. -static const char * -hashmap_remove_and_return_key(struct hashmap_s *const hashmap, - const char *const key, - const unsigned len) HASHMAP_USED; - -/// @brief Iterate over all the elements in a hashmap. -/// @param hashmap The hashmap to iterate over. -/// @param f The function pointer to call on each element. -/// @param context The context to pass as the first argument to f. -/// @return If the entire hashmap was iterated then 0 is returned. Otherwise if -/// the callback function f returned non-zero then non-zero is returned. -static int hashmap_iterate(const struct hashmap_s *const hashmap, - int (*f)(void *const context, void *const value), - void *const context) HASHMAP_USED; - -/// @brief Iterate over all the elements in a hashmap. -/// @param hashmap The hashmap to iterate over. -/// @param f The function pointer to call on each element. -/// @param context The context to pass as the first argument to f. -/// @return If the entire hashmap was iterated then 0 is returned. -/// Otherwise if the callback function f returned positive then the positive -/// value is returned. If the callback function returns -1, the current item -/// is removed and iteration continues. -static int hashmap_iterate_pairs(struct hashmap_s *const hashmap, - int (*f)(void *const, - struct hashmap_element_s *const), - void *const context) HASHMAP_USED; - -/// @brief Get the size of the hashmap. -/// @param hashmap The hashmap to get the size of. -/// @return The size of the hashmap. -static unsigned -hashmap_num_entries(const struct hashmap_s *const hashmap) HASHMAP_USED; - -/// @brief Destroy the hashmap. -/// @param hashmap The hashmap to destroy. -static void hashmap_destroy(struct hashmap_s *const hashmap) HASHMAP_USED; - -static unsigned hashmap_crc32_helper(const char *const s, - const unsigned len) HASHMAP_USED; -static unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, - const char *const keystring, - const unsigned len) HASHMAP_USED; -static int hashmap_match_helper(const struct hashmap_element_s *const element, - const char *const key, - const unsigned len) HASHMAP_USED; -static int hashmap_hash_helper(const struct hashmap_s *const m, - const char *const key, const unsigned len, - unsigned *const out_index) HASHMAP_USED; -static int -hashmap_rehash_iterator(void *const new_hash, - struct hashmap_element_s *const e) HASHMAP_USED; -static int hashmap_rehash_helper(struct hashmap_s *const m) HASHMAP_USED; - -#if defined(__cplusplus) -} -#endif - -#if defined(__cplusplus) -#define HASHMAP_CAST(type, x) static_cast(x) -#define HASHMAP_PTR_CAST(type, x) reinterpret_cast(x) -#define HASHMAP_NULL NULL -#else -#define HASHMAP_CAST(type, x) ((type)x) -#define HASHMAP_PTR_CAST(type, x) ((type)x) -#define HASHMAP_NULL 0 -#endif - -int hashmap_create(const unsigned initial_size, - struct hashmap_s *const out_hashmap) { - out_hashmap->table_size = initial_size; - out_hashmap->size = 0; - - if (0 == initial_size || 0 != (initial_size & (initial_size - 1))) { - return 1; - } - - out_hashmap->data = - HASHMAP_CAST(struct hashmap_element_s *, - malloc(initial_size * sizeof(struct hashmap_element_s))); - if (!out_hashmap->data) { - return 1; - } - memset(out_hashmap->data, 0, initial_size * sizeof(struct hashmap_element_s)); - - return 0; -} - -int hashmap_put(struct hashmap_s *const m, const char *const key, - const unsigned len, void *const value) { - unsigned int index; - - /* Find a place to put our value. */ - while (!hashmap_hash_helper(m, key, len, &index)) { - if (hashmap_rehash_helper(m)) { - return 1; - } - } - - /* Set the data. */ - m->data[index].data = value; - m->data[index].key = key; - m->data[index].key_len = len; - - /* If the hashmap element was not already in use, set that it is being used - * and bump our size. */ - if (0 == m->data[index].in_use) { - m->data[index].in_use = 1; - m->size++; - } - - return 0; -} - -void *hashmap_get(const struct hashmap_s *const m, const char *const key, - const unsigned len) { - unsigned int curr; - unsigned int i; - - /* Find data location */ - curr = hashmap_hash_helper_int_helper(m, key, len); - - /* Linear probing, if necessary */ - for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { - if (m->data[curr].in_use) { - if (hashmap_match_helper(&m->data[curr], key, len)) { - return m->data[curr].data; - } - } - - curr = (curr + 1) % m->table_size; - } - - /* Not found */ - return HASHMAP_NULL; -} - -int hashmap_remove(struct hashmap_s *const m, const char *const key, - const unsigned len) { - unsigned int i; - unsigned int curr; - - /* Find key */ - curr = hashmap_hash_helper_int_helper(m, key, len); - - /* Linear probing, if necessary */ - for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { - if (m->data[curr].in_use) { - if (hashmap_match_helper(&m->data[curr], key, len)) { - /* Blank out the fields including in_use */ - memset(&m->data[curr], 0, sizeof(struct hashmap_element_s)); - - /* Reduce the size */ - m->size--; - - return 0; - } - } - - curr = (curr + 1) % m->table_size; - } - - return 1; -} - -const char *hashmap_remove_and_return_key(struct hashmap_s *const m, - const char *const key, - const unsigned len) { - unsigned int i; - unsigned int curr; - - /* Find key */ - curr = hashmap_hash_helper_int_helper(m, key, len); - - /* Linear probing, if necessary */ - for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { - if (m->data[curr].in_use) { - if (hashmap_match_helper(&m->data[curr], key, len)) { - const char *const stored_key = m->data[curr].key; - - /* Blank out the fields */ - m->data[curr].in_use = 0; - m->data[curr].data = HASHMAP_NULL; - m->data[curr].key = HASHMAP_NULL; - - /* Reduce the size */ - m->size--; - - return stored_key; - } - } - curr = (curr + 1) % m->table_size; - } - - return HASHMAP_NULL; -} - -int hashmap_iterate(const struct hashmap_s *const m, - int (*f)(void *const, void *const), void *const context) { - unsigned int i; - - /* Linear probing */ - for (i = 0; i < m->table_size; i++) { - if (m->data[i].in_use) { - if (!f(context, m->data[i].data)) { - return 1; - } - } - } - return 0; -} - -int hashmap_iterate_pairs(struct hashmap_s *const hashmap, - int (*f)(void *const, - struct hashmap_element_s *const), - void *const context) { - unsigned int i; - struct hashmap_element_s *p; - int r; - - /* Linear probing */ - for (i = 0; i < hashmap->table_size; i++) { - p = &hashmap->data[i]; - if (p->in_use) { - r = f(context, p); - switch (r) { - case -1: /* remove item */ - memset(p, 0, sizeof(struct hashmap_element_s)); - hashmap->size--; - break; - case 0: /* continue iterating */ - break; - default: /* early exit */ - return 1; - } - } - } - return 0; -} - -void hashmap_destroy(struct hashmap_s *const m) { - free(m->data); - memset(m, 0, sizeof(struct hashmap_s)); -} - -unsigned hashmap_num_entries(const struct hashmap_s *const m) { - return m->size; -} - -unsigned hashmap_crc32_helper(const char *const s, const unsigned len) { - unsigned i; - unsigned crc32val = 0; - -#if defined(HASHMAP_SSE42) - for (i = 0; i < len; i++) { - crc32val = _mm_crc32_u8(crc32val, HASHMAP_CAST(unsigned char, s[i])); - } - - return crc32val; -#else - // Using polynomial 0x11EDC6F41 to match SSE 4.2's crc function. - static const unsigned crc32_tab[] = { - 0x00000000U, 0xF26B8303U, 0xE13B70F7U, 0x1350F3F4U, 0xC79A971FU, - 0x35F1141CU, 0x26A1E7E8U, 0xD4CA64EBU, 0x8AD958CFU, 0x78B2DBCCU, - 0x6BE22838U, 0x9989AB3BU, 0x4D43CFD0U, 0xBF284CD3U, 0xAC78BF27U, - 0x5E133C24U, 0x105EC76FU, 0xE235446CU, 0xF165B798U, 0x030E349BU, - 0xD7C45070U, 0x25AFD373U, 0x36FF2087U, 0xC494A384U, 0x9A879FA0U, - 0x68EC1CA3U, 0x7BBCEF57U, 0x89D76C54U, 0x5D1D08BFU, 0xAF768BBCU, - 0xBC267848U, 0x4E4DFB4BU, 0x20BD8EDEU, 0xD2D60DDDU, 0xC186FE29U, - 0x33ED7D2AU, 0xE72719C1U, 0x154C9AC2U, 0x061C6936U, 0xF477EA35U, - 0xAA64D611U, 0x580F5512U, 0x4B5FA6E6U, 0xB93425E5U, 0x6DFE410EU, - 0x9F95C20DU, 0x8CC531F9U, 0x7EAEB2FAU, 0x30E349B1U, 0xC288CAB2U, - 0xD1D83946U, 0x23B3BA45U, 0xF779DEAEU, 0x05125DADU, 0x1642AE59U, - 0xE4292D5AU, 0xBA3A117EU, 0x4851927DU, 0x5B016189U, 0xA96AE28AU, - 0x7DA08661U, 0x8FCB0562U, 0x9C9BF696U, 0x6EF07595U, 0x417B1DBCU, - 0xB3109EBFU, 0xA0406D4BU, 0x522BEE48U, 0x86E18AA3U, 0x748A09A0U, - 0x67DAFA54U, 0x95B17957U, 0xCBA24573U, 0x39C9C670U, 0x2A993584U, - 0xD8F2B687U, 0x0C38D26CU, 0xFE53516FU, 0xED03A29BU, 0x1F682198U, - 0x5125DAD3U, 0xA34E59D0U, 0xB01EAA24U, 0x42752927U, 0x96BF4DCCU, - 0x64D4CECFU, 0x77843D3BU, 0x85EFBE38U, 0xDBFC821CU, 0x2997011FU, - 0x3AC7F2EBU, 0xC8AC71E8U, 0x1C661503U, 0xEE0D9600U, 0xFD5D65F4U, - 0x0F36E6F7U, 0x61C69362U, 0x93AD1061U, 0x80FDE395U, 0x72966096U, - 0xA65C047DU, 0x5437877EU, 0x4767748AU, 0xB50CF789U, 0xEB1FCBADU, - 0x197448AEU, 0x0A24BB5AU, 0xF84F3859U, 0x2C855CB2U, 0xDEEEDFB1U, - 0xCDBE2C45U, 0x3FD5AF46U, 0x7198540DU, 0x83F3D70EU, 0x90A324FAU, - 0x62C8A7F9U, 0xB602C312U, 0x44694011U, 0x5739B3E5U, 0xA55230E6U, - 0xFB410CC2U, 0x092A8FC1U, 0x1A7A7C35U, 0xE811FF36U, 0x3CDB9BDDU, - 0xCEB018DEU, 0xDDE0EB2AU, 0x2F8B6829U, 0x82F63B78U, 0x709DB87BU, - 0x63CD4B8FU, 0x91A6C88CU, 0x456CAC67U, 0xB7072F64U, 0xA457DC90U, - 0x563C5F93U, 0x082F63B7U, 0xFA44E0B4U, 0xE9141340U, 0x1B7F9043U, - 0xCFB5F4A8U, 0x3DDE77ABU, 0x2E8E845FU, 0xDCE5075CU, 0x92A8FC17U, - 0x60C37F14U, 0x73938CE0U, 0x81F80FE3U, 0x55326B08U, 0xA759E80BU, - 0xB4091BFFU, 0x466298FCU, 0x1871A4D8U, 0xEA1A27DBU, 0xF94AD42FU, - 0x0B21572CU, 0xDFEB33C7U, 0x2D80B0C4U, 0x3ED04330U, 0xCCBBC033U, - 0xA24BB5A6U, 0x502036A5U, 0x4370C551U, 0xB11B4652U, 0x65D122B9U, - 0x97BAA1BAU, 0x84EA524EU, 0x7681D14DU, 0x2892ED69U, 0xDAF96E6AU, - 0xC9A99D9EU, 0x3BC21E9DU, 0xEF087A76U, 0x1D63F975U, 0x0E330A81U, - 0xFC588982U, 0xB21572C9U, 0x407EF1CAU, 0x532E023EU, 0xA145813DU, - 0x758FE5D6U, 0x87E466D5U, 0x94B49521U, 0x66DF1622U, 0x38CC2A06U, - 0xCAA7A905U, 0xD9F75AF1U, 0x2B9CD9F2U, 0xFF56BD19U, 0x0D3D3E1AU, - 0x1E6DCDEEU, 0xEC064EEDU, 0xC38D26C4U, 0x31E6A5C7U, 0x22B65633U, - 0xD0DDD530U, 0x0417B1DBU, 0xF67C32D8U, 0xE52CC12CU, 0x1747422FU, - 0x49547E0BU, 0xBB3FFD08U, 0xA86F0EFCU, 0x5A048DFFU, 0x8ECEE914U, - 0x7CA56A17U, 0x6FF599E3U, 0x9D9E1AE0U, 0xD3D3E1ABU, 0x21B862A8U, - 0x32E8915CU, 0xC083125FU, 0x144976B4U, 0xE622F5B7U, 0xF5720643U, - 0x07198540U, 0x590AB964U, 0xAB613A67U, 0xB831C993U, 0x4A5A4A90U, - 0x9E902E7BU, 0x6CFBAD78U, 0x7FAB5E8CU, 0x8DC0DD8FU, 0xE330A81AU, - 0x115B2B19U, 0x020BD8EDU, 0xF0605BEEU, 0x24AA3F05U, 0xD6C1BC06U, - 0xC5914FF2U, 0x37FACCF1U, 0x69E9F0D5U, 0x9B8273D6U, 0x88D28022U, - 0x7AB90321U, 0xAE7367CAU, 0x5C18E4C9U, 0x4F48173DU, 0xBD23943EU, - 0xF36E6F75U, 0x0105EC76U, 0x12551F82U, 0xE03E9C81U, 0x34F4F86AU, - 0xC69F7B69U, 0xD5CF889DU, 0x27A40B9EU, 0x79B737BAU, 0x8BDCB4B9U, - 0x988C474DU, 0x6AE7C44EU, 0xBE2DA0A5U, 0x4C4623A6U, 0x5F16D052U, - 0xAD7D5351U}; - - for (i = 0; i < len; i++) { - crc32val = crc32_tab[(HASHMAP_CAST(unsigned char, crc32val) ^ - HASHMAP_CAST(unsigned char, s[i]))] ^ - (crc32val >> 8); - } - return crc32val; -#endif -} - -unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, - const char *const keystring, - const unsigned len) { - unsigned key = hashmap_crc32_helper(keystring, len); - - /* Robert Jenkins' 32 bit Mix Function */ - key += (key << 12); - key ^= (key >> 22); - key += (key << 4); - key ^= (key >> 9); - key += (key << 10); - key ^= (key >> 2); - key += (key << 7); - key ^= (key >> 12); - - /* Knuth's Multiplicative Method */ - key = (key >> 3) * 2654435761; - - return key % m->table_size; -} - -int hashmap_match_helper(const struct hashmap_element_s *const element, - const char *const key, const unsigned len) { - return (element->key_len == len) && (0 == memcmp(element->key, key, len)); -} - -int hashmap_hash_helper(const struct hashmap_s *const m, const char *const key, - const unsigned len, unsigned *const out_index) { - unsigned int start, curr; - unsigned int i; - int total_in_use; - - /* If full, return immediately */ - if (m->size >= m->table_size) { - return 0; - } - - /* Find the best index */ - curr = start = hashmap_hash_helper_int_helper(m, key, len); - - /* First linear probe to check if we've already insert the element */ - total_in_use = 0; - - for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { - const int in_use = m->data[curr].in_use; - - total_in_use += in_use; - - if (in_use && hashmap_match_helper(&m->data[curr], key, len)) { - *out_index = curr; - return 1; - } - - curr = (curr + 1) % m->table_size; - } - - curr = start; - - /* Second linear probe to actually insert our element (only if there was at - * least one empty entry) */ - if (HASHMAP_MAX_CHAIN_LENGTH > total_in_use) { - for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { - if (!m->data[curr].in_use) { - *out_index = curr; - return 1; - } - - curr = (curr + 1) % m->table_size; - } - } - - return 0; -} - -int hashmap_rehash_iterator(void *const new_hash, - struct hashmap_element_s *const e) { - int temp = hashmap_put(HASHMAP_PTR_CAST(struct hashmap_s *, new_hash), e->key, - e->key_len, e->data); - if (0 < temp) { - return 1; - } - /* clear old value to avoid stale pointers */ - return -1; -} -/* - * Doubles the size of the hashmap, and rehashes all the elements - */ -int hashmap_rehash_helper(struct hashmap_s *const m) { - /* If this multiplication overflows hashmap_create will fail. */ - unsigned new_size = 2 * m->table_size; - - struct hashmap_s new_hash; - - int flag = hashmap_create(new_size, &new_hash); - - if (0 != flag) { - return flag; - } - - /* copy the old elements to the new table */ - flag = hashmap_iterate_pairs(m, hashmap_rehash_iterator, - HASHMAP_PTR_CAST(void *, &new_hash)); - - if (0 != flag) { - return flag; - } - - hashmap_destroy(m); - /* put new hash into old hash structure by copying */ - memcpy(m, &new_hash, sizeof(struct hashmap_s)); - - return 0; -} - -#if defined(_MSC_VER) -#pragma warning(pop) -#elif defined(__clang__) -#pragma clang diagnostic pop -#endif - -#endif diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix4.pbm b/cart/test/roof_fix4.pbm deleted file mode 100644 index 2c392ad..0000000 --- a/cart/test/roof_fix4.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/test/roof_fix5.pbm b/cart/test/roof_fix5.pbm deleted file mode 100644 index 39b7f23..0000000 --- a/cart/test/roof_fix5.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/test/roof_fix6.pbm b/cart/test/roof_fix6.pbm deleted file mode 100644 index 8bbe9fc..0000000 --- a/cart/test/roof_fix6.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/test/roof_fix7.pbm b/cart/test/roof_fix7.pbm deleted file mode 100644 index 0c29640..0000000 --- a/cart/test/roof_fix7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix8.pbm b/cart/test/roof_fix8.pbm deleted file mode 100644 index e90cfc3..0000000 --- a/cart/test/roof_fix8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix9.pbm b/cart/test/roof_fix9.pbm deleted file mode 100644 index 31dfb3d..0000000 --- a/cart/test/roof_fix9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall1.pbm b/cart/test/wall1.pbm deleted file mode 100644 index 31e09be..0000000 --- a/cart/test/wall1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall2.pbm b/cart/test/wall2.pbm deleted file mode 100644 index 1871c8b..0000000 --- a/cart/test/wall2.pbm +++ /dev/null Binary files differ diff --git a/rpg/Makefile b/rpg/Makefile new file mode 100644 index 0000000..5a8fda9 --- /dev/null +++ b/rpg/Makefile @@ -0,0 +1,10 @@ +CART_DIR ?= ../cart/rpg +MAKE_ROOT ?= ../../cneboy/make + +SOURCES := rpg.c parse.c + +MODULES := level14 + +SOURCES_level14 := level14.c + +include $(MAKE_ROOT)/Makefile diff --git a/rpg/constants.h b/rpg/constants.h new file mode 100644 index 0000000..336c98e --- /dev/null +++ b/rpg/constants.h @@ -0,0 +1,6 @@ +#define GRID 14 +#define COLS 12 +#define ROWS 10 +#define PADX 0 +#define PADY 2 +#define SPRITEOFF -1 diff --git a/rpg/ent.h b/rpg/ent.h new file mode 100644 index 0000000..254369d --- /dev/null +++ b/rpg/ent.h @@ -0,0 +1,20 @@ +#pragma once +#include +#include + +typedef struct +{ + // last frame coords + float ox; + float oy; + + // current coords + float x; + float y; + + pbm_t* graphic; + pbm_t* outline; + int off_x; + int off_y; + int outline_pixels; +} ent_t; diff --git a/rpg/grid.h b/rpg/grid.h new file mode 100644 index 0000000..4cddf8d --- /dev/null +++ b/rpg/grid.h @@ -0,0 +1,12 @@ +typedef enum +{ + GRID_FLIPX = 1, + GRID_FLIPY = 2, +} grid_flags; + +typedef struct +{ + uint8_t tile; + grid_flags flags; + char* tag; +} grid_t; diff --git a/rpg/hashmap.h b/rpg/hashmap.h new file mode 100644 index 0000000..da88e81 --- /dev/null +++ b/rpg/hashmap.h @@ -0,0 +1,594 @@ +/* + The latest version of this library is available on GitHub; + https://github.com/sheredom/hashmap.h +*/ + +/* + This is free and unencumbered software released into the public domain. + + Anyone is free to copy, modify, publish, use, compile, sell, or + distribute this software, either in source code form or as a compiled + binary, for any purpose, commercial or non-commercial, and by any + means. + + In jurisdictions that recognize copyright laws, the author or authors + of this software dedicate any and all copyright interest in the + software to the public domain. We make this dedication for the benefit + of the public at large and to the detriment of our heirs and + successors. We intend this dedication to be an overt act of + relinquishment in perpetuity of all present and future rights to this + software under copyright law. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + For more information, please refer to +*/ +#ifndef SHEREDOM_HASHMAP_H_INCLUDED +#define SHEREDOM_HASHMAP_H_INCLUDED + +#if defined(_MSC_VER) +// Workaround a bug in the MSVC runtime where it uses __cplusplus when not +// defined. +#pragma warning(push, 0) +#pragma warning(disable : 4668) +#endif + +#include "client_api.h" + +//#include +//#include + +//#if (defined(_MSC_VER) && defined(__AVX__)) || \ +// (!defined(_MSC_VER) && defined(__SSE4_2__)) +//#define HASHMAP_SSE42 +//#endif + +//#if defined(HASHMAP_SSE42) +//#include +//#endif + +#if defined(_MSC_VER) +#pragma warning(pop) +#endif + +#if defined(_MSC_VER) +#pragma warning(push) +/* Stop MSVC complaining about unreferenced functions */ +#pragma warning(disable : 4505) +/* Stop MSVC complaining about not inlining functions */ +#pragma warning(disable : 4710) +/* Stop MSVC complaining about inlining functions! */ +#pragma warning(disable : 4711) +#elif defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-function" +#endif + +#if defined(_MSC_VER) +#define HASHMAP_USED +#elif defined(__GNUC__) +#define HASHMAP_USED __attribute__((used)) +#else +#define HASHMAP_USED +#endif + +/* We need to keep keys and values. */ +struct hashmap_element_s { + const char *key; + unsigned key_len; + int in_use; + void *data; +}; + +/* A hashmap has some maximum size and current size, as well as the data to + * hold. */ +struct hashmap_s { + unsigned table_size; + unsigned size; + struct hashmap_element_s *data; +}; + +#define HASHMAP_MAX_CHAIN_LENGTH (8) + +#if defined(__cplusplus) +extern "C" { +#endif + +/// @brief Create a hashmap. +/// @param initial_size The initial size of the hashmap. Must be a power of two. +/// @param out_hashmap The storage for the created hashmap. +/// @return On success 0 is returned. +/// +/// Note that the initial size of the hashmap must be a power of two, and +/// creation of the hashmap will fail if this is not the case. +static int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) HASHMAP_USED; + +/// @brief Put an element into the hashmap. +/// @param hashmap The hashmap to insert into. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @param value The value to insert. +/// @return On success 0 is returned. +/// +/// The key string slice is not copied when creating the hashmap entry, and thus +/// must remain a valid pointer until the hashmap entry is removed or the +/// hashmap is destroyed. +static int hashmap_put(struct hashmap_s *const hashmap, const char *const key, + const unsigned len, void *const value) HASHMAP_USED; + +/// @brief Get an element from the hashmap. +/// @param hashmap The hashmap to get from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return The previously set element, or NULL if none exists. +static void *hashmap_get(const struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success 0 is returned. +static int hashmap_remove(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success the original stored key pointer is returned, on failure +/// NULL is returned. +static const char * +hashmap_remove_and_return_key(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. Otherwise if +/// the callback function f returned non-zero then non-zero is returned. +static int hashmap_iterate(const struct hashmap_s *const hashmap, + int (*f)(void *const context, void *const value), + void *const context) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. +/// Otherwise if the callback function f returned positive then the positive +/// value is returned. If the callback function returns -1, the current item +/// is removed and iteration continues. +static int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) HASHMAP_USED; + +/// @brief Get the size of the hashmap. +/// @param hashmap The hashmap to get the size of. +/// @return The size of the hashmap. +static unsigned +hashmap_num_entries(const struct hashmap_s *const hashmap) HASHMAP_USED; + +/// @brief Destroy the hashmap. +/// @param hashmap The hashmap to destroy. +static void hashmap_destroy(struct hashmap_s *const hashmap) HASHMAP_USED; + +static unsigned hashmap_crc32_helper(const char *const s, + const unsigned len) HASHMAP_USED; +static unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) HASHMAP_USED; +static int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, + const unsigned len) HASHMAP_USED; +static int hashmap_hash_helper(const struct hashmap_s *const m, + const char *const key, const unsigned len, + unsigned *const out_index) HASHMAP_USED; +static int +hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) HASHMAP_USED; +static int hashmap_rehash_helper(struct hashmap_s *const m) HASHMAP_USED; + +#if defined(__cplusplus) +} +#endif + +#if defined(__cplusplus) +#define HASHMAP_CAST(type, x) static_cast(x) +#define HASHMAP_PTR_CAST(type, x) reinterpret_cast(x) +#define HASHMAP_NULL NULL +#else +#define HASHMAP_CAST(type, x) ((type)x) +#define HASHMAP_PTR_CAST(type, x) ((type)x) +#define HASHMAP_NULL 0 +#endif + +int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) { + out_hashmap->table_size = initial_size; + out_hashmap->size = 0; + + if (0 == initial_size || 0 != (initial_size & (initial_size - 1))) { + return 1; + } + + out_hashmap->data = + HASHMAP_CAST(struct hashmap_element_s *, + malloc(initial_size * sizeof(struct hashmap_element_s))); + if (!out_hashmap->data) { + return 1; + } + memset(out_hashmap->data, 0, initial_size * sizeof(struct hashmap_element_s)); + + return 0; +} + +int hashmap_put(struct hashmap_s *const m, const char *const key, + const unsigned len, void *const value) { + unsigned int index; + + /* Find a place to put our value. */ + while (!hashmap_hash_helper(m, key, len, &index)) { + if (hashmap_rehash_helper(m)) { + return 1; + } + } + + /* Set the data. */ + m->data[index].data = value; + m->data[index].key = key; + m->data[index].key_len = len; + + /* If the hashmap element was not already in use, set that it is being used + * and bump our size. */ + if (0 == m->data[index].in_use) { + m->data[index].in_use = 1; + m->size++; + } + + return 0; +} + +void *hashmap_get(const struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int curr; + unsigned int i; + + /* Find data location */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + return m->data[curr].data; + } + } + + curr = (curr + 1) % m->table_size; + } + + /* Not found */ + return HASHMAP_NULL; +} + +int hashmap_remove(struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + /* Blank out the fields including in_use */ + memset(&m->data[curr], 0, sizeof(struct hashmap_element_s)); + + /* Reduce the size */ + m->size--; + + return 0; + } + } + + curr = (curr + 1) % m->table_size; + } + + return 1; +} + +const char *hashmap_remove_and_return_key(struct hashmap_s *const m, + const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + const char *const stored_key = m->data[curr].key; + + /* Blank out the fields */ + m->data[curr].in_use = 0; + m->data[curr].data = HASHMAP_NULL; + m->data[curr].key = HASHMAP_NULL; + + /* Reduce the size */ + m->size--; + + return stored_key; + } + } + curr = (curr + 1) % m->table_size; + } + + return HASHMAP_NULL; +} + +int hashmap_iterate(const struct hashmap_s *const m, + int (*f)(void *const, void *const), void *const context) { + unsigned int i; + + /* Linear probing */ + for (i = 0; i < m->table_size; i++) { + if (m->data[i].in_use) { + if (!f(context, m->data[i].data)) { + return 1; + } + } + } + return 0; +} + +int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) { + unsigned int i; + struct hashmap_element_s *p; + int r; + + /* Linear probing */ + for (i = 0; i < hashmap->table_size; i++) { + p = &hashmap->data[i]; + if (p->in_use) { + r = f(context, p); + switch (r) { + case -1: /* remove item */ + memset(p, 0, sizeof(struct hashmap_element_s)); + hashmap->size--; + break; + case 0: /* continue iterating */ + break; + default: /* early exit */ + return 1; + } + } + } + return 0; +} + +void hashmap_destroy(struct hashmap_s *const m) { + free(m->data); + memset(m, 0, sizeof(struct hashmap_s)); +} + +unsigned hashmap_num_entries(const struct hashmap_s *const m) { + return m->size; +} + +unsigned hashmap_crc32_helper(const char *const s, const unsigned len) { + unsigned i; + unsigned crc32val = 0; + +#if defined(HASHMAP_SSE42) + for (i = 0; i < len; i++) { + crc32val = _mm_crc32_u8(crc32val, HASHMAP_CAST(unsigned char, s[i])); + } + + return crc32val; +#else + // Using polynomial 0x11EDC6F41 to match SSE 4.2's crc function. + static const unsigned crc32_tab[] = { + 0x00000000U, 0xF26B8303U, 0xE13B70F7U, 0x1350F3F4U, 0xC79A971FU, + 0x35F1141CU, 0x26A1E7E8U, 0xD4CA64EBU, 0x8AD958CFU, 0x78B2DBCCU, + 0x6BE22838U, 0x9989AB3BU, 0x4D43CFD0U, 0xBF284CD3U, 0xAC78BF27U, + 0x5E133C24U, 0x105EC76FU, 0xE235446CU, 0xF165B798U, 0x030E349BU, + 0xD7C45070U, 0x25AFD373U, 0x36FF2087U, 0xC494A384U, 0x9A879FA0U, + 0x68EC1CA3U, 0x7BBCEF57U, 0x89D76C54U, 0x5D1D08BFU, 0xAF768BBCU, + 0xBC267848U, 0x4E4DFB4BU, 0x20BD8EDEU, 0xD2D60DDDU, 0xC186FE29U, + 0x33ED7D2AU, 0xE72719C1U, 0x154C9AC2U, 0x061C6936U, 0xF477EA35U, + 0xAA64D611U, 0x580F5512U, 0x4B5FA6E6U, 0xB93425E5U, 0x6DFE410EU, + 0x9F95C20DU, 0x8CC531F9U, 0x7EAEB2FAU, 0x30E349B1U, 0xC288CAB2U, + 0xD1D83946U, 0x23B3BA45U, 0xF779DEAEU, 0x05125DADU, 0x1642AE59U, + 0xE4292D5AU, 0xBA3A117EU, 0x4851927DU, 0x5B016189U, 0xA96AE28AU, + 0x7DA08661U, 0x8FCB0562U, 0x9C9BF696U, 0x6EF07595U, 0x417B1DBCU, + 0xB3109EBFU, 0xA0406D4BU, 0x522BEE48U, 0x86E18AA3U, 0x748A09A0U, + 0x67DAFA54U, 0x95B17957U, 0xCBA24573U, 0x39C9C670U, 0x2A993584U, + 0xD8F2B687U, 0x0C38D26CU, 0xFE53516FU, 0xED03A29BU, 0x1F682198U, + 0x5125DAD3U, 0xA34E59D0U, 0xB01EAA24U, 0x42752927U, 0x96BF4DCCU, + 0x64D4CECFU, 0x77843D3BU, 0x85EFBE38U, 0xDBFC821CU, 0x2997011FU, + 0x3AC7F2EBU, 0xC8AC71E8U, 0x1C661503U, 0xEE0D9600U, 0xFD5D65F4U, + 0x0F36E6F7U, 0x61C69362U, 0x93AD1061U, 0x80FDE395U, 0x72966096U, + 0xA65C047DU, 0x5437877EU, 0x4767748AU, 0xB50CF789U, 0xEB1FCBADU, + 0x197448AEU, 0x0A24BB5AU, 0xF84F3859U, 0x2C855CB2U, 0xDEEEDFB1U, + 0xCDBE2C45U, 0x3FD5AF46U, 0x7198540DU, 0x83F3D70EU, 0x90A324FAU, + 0x62C8A7F9U, 0xB602C312U, 0x44694011U, 0x5739B3E5U, 0xA55230E6U, + 0xFB410CC2U, 0x092A8FC1U, 0x1A7A7C35U, 0xE811FF36U, 0x3CDB9BDDU, + 0xCEB018DEU, 0xDDE0EB2AU, 0x2F8B6829U, 0x82F63B78U, 0x709DB87BU, + 0x63CD4B8FU, 0x91A6C88CU, 0x456CAC67U, 0xB7072F64U, 0xA457DC90U, + 0x563C5F93U, 0x082F63B7U, 0xFA44E0B4U, 0xE9141340U, 0x1B7F9043U, + 0xCFB5F4A8U, 0x3DDE77ABU, 0x2E8E845FU, 0xDCE5075CU, 0x92A8FC17U, + 0x60C37F14U, 0x73938CE0U, 0x81F80FE3U, 0x55326B08U, 0xA759E80BU, + 0xB4091BFFU, 0x466298FCU, 0x1871A4D8U, 0xEA1A27DBU, 0xF94AD42FU, + 0x0B21572CU, 0xDFEB33C7U, 0x2D80B0C4U, 0x3ED04330U, 0xCCBBC033U, + 0xA24BB5A6U, 0x502036A5U, 0x4370C551U, 0xB11B4652U, 0x65D122B9U, + 0x97BAA1BAU, 0x84EA524EU, 0x7681D14DU, 0x2892ED69U, 0xDAF96E6AU, + 0xC9A99D9EU, 0x3BC21E9DU, 0xEF087A76U, 0x1D63F975U, 0x0E330A81U, + 0xFC588982U, 0xB21572C9U, 0x407EF1CAU, 0x532E023EU, 0xA145813DU, + 0x758FE5D6U, 0x87E466D5U, 0x94B49521U, 0x66DF1622U, 0x38CC2A06U, + 0xCAA7A905U, 0xD9F75AF1U, 0x2B9CD9F2U, 0xFF56BD19U, 0x0D3D3E1AU, + 0x1E6DCDEEU, 0xEC064EEDU, 0xC38D26C4U, 0x31E6A5C7U, 0x22B65633U, + 0xD0DDD530U, 0x0417B1DBU, 0xF67C32D8U, 0xE52CC12CU, 0x1747422FU, + 0x49547E0BU, 0xBB3FFD08U, 0xA86F0EFCU, 0x5A048DFFU, 0x8ECEE914U, + 0x7CA56A17U, 0x6FF599E3U, 0x9D9E1AE0U, 0xD3D3E1ABU, 0x21B862A8U, + 0x32E8915CU, 0xC083125FU, 0x144976B4U, 0xE622F5B7U, 0xF5720643U, + 0x07198540U, 0x590AB964U, 0xAB613A67U, 0xB831C993U, 0x4A5A4A90U, + 0x9E902E7BU, 0x6CFBAD78U, 0x7FAB5E8CU, 0x8DC0DD8FU, 0xE330A81AU, + 0x115B2B19U, 0x020BD8EDU, 0xF0605BEEU, 0x24AA3F05U, 0xD6C1BC06U, + 0xC5914FF2U, 0x37FACCF1U, 0x69E9F0D5U, 0x9B8273D6U, 0x88D28022U, + 0x7AB90321U, 0xAE7367CAU, 0x5C18E4C9U, 0x4F48173DU, 0xBD23943EU, + 0xF36E6F75U, 0x0105EC76U, 0x12551F82U, 0xE03E9C81U, 0x34F4F86AU, + 0xC69F7B69U, 0xD5CF889DU, 0x27A40B9EU, 0x79B737BAU, 0x8BDCB4B9U, + 0x988C474DU, 0x6AE7C44EU, 0xBE2DA0A5U, 0x4C4623A6U, 0x5F16D052U, + 0xAD7D5351U}; + + for (i = 0; i < len; i++) { + crc32val = crc32_tab[(HASHMAP_CAST(unsigned char, crc32val) ^ + HASHMAP_CAST(unsigned char, s[i]))] ^ + (crc32val >> 8); + } + return crc32val; +#endif +} + +unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) { + unsigned key = hashmap_crc32_helper(keystring, len); + + /* Robert Jenkins' 32 bit Mix Function */ + key += (key << 12); + key ^= (key >> 22); + key += (key << 4); + key ^= (key >> 9); + key += (key << 10); + key ^= (key >> 2); + key += (key << 7); + key ^= (key >> 12); + + /* Knuth's Multiplicative Method */ + key = (key >> 3) * 2654435761; + + return key % m->table_size; +} + +int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, const unsigned len) { + return (element->key_len == len) && (0 == memcmp(element->key, key, len)); +} + +int hashmap_hash_helper(const struct hashmap_s *const m, const char *const key, + const unsigned len, unsigned *const out_index) { + unsigned int start, curr; + unsigned int i; + int total_in_use; + + /* If full, return immediately */ + if (m->size >= m->table_size) { + return 0; + } + + /* Find the best index */ + curr = start = hashmap_hash_helper_int_helper(m, key, len); + + /* First linear probe to check if we've already insert the element */ + total_in_use = 0; + + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + const int in_use = m->data[curr].in_use; + + total_in_use += in_use; + + if (in_use && hashmap_match_helper(&m->data[curr], key, len)) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + + curr = start; + + /* Second linear probe to actually insert our element (only if there was at + * least one empty entry) */ + if (HASHMAP_MAX_CHAIN_LENGTH > total_in_use) { + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (!m->data[curr].in_use) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + } + + return 0; +} + +int hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) { + int temp = hashmap_put(HASHMAP_PTR_CAST(struct hashmap_s *, new_hash), e->key, + e->key_len, e->data); + if (0 < temp) { + return 1; + } + /* clear old value to avoid stale pointers */ + return -1; +} +/* + * Doubles the size of the hashmap, and rehashes all the elements + */ +int hashmap_rehash_helper(struct hashmap_s *const m) { + /* If this multiplication overflows hashmap_create will fail. */ + unsigned new_size = 2 * m->table_size; + + struct hashmap_s new_hash; + + int flag = hashmap_create(new_size, &new_hash); + + if (0 != flag) { + return flag; + } + + /* copy the old elements to the new table */ + flag = hashmap_iterate_pairs(m, hashmap_rehash_iterator, + HASHMAP_PTR_CAST(void *, &new_hash)); + + if (0 != flag) { + return flag; + } + + hashmap_destroy(m); + /* put new hash into old hash structure by copying */ + memcpy(m, &new_hash, sizeof(struct hashmap_s)); + + return 0; +} + +#if defined(_MSC_VER) +#pragma warning(pop) +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif + +#endif diff --git a/rpg/level14.c b/rpg/level14.c new file mode 100644 index 0000000..59cc068 --- /dev/null +++ b/rpg/level14.c @@ -0,0 +1,56 @@ +#include +#include "constants.h" +#include "ent.h" + +#include +#include "rpg_imports.h" + +bool in_door = false; + +__EXPORT__ void level_entered_tile(ent_t* ent, int gx, int gy, grid_t g) +{ + if (g.tag) + { + if (is_player(ent)) + { + grid_t* find = NULL; + if (strcmp(g.tag, "d1") == 0) + { + if (!in_door && (find = get_tile_by_tag("d2")) != NULL) + { + int target_gx, target_gy; + grid_pos(find, &target_gx, &target_gy); + ent->x = target_gx * GRID; + ent->y = target_gy * GRID; + in_door = true; + } + } + if (strcmp(g.tag, "d2") == 0) + { + if (!in_door && (find = get_tile_by_tag("d1")) != NULL) + { + int target_gx, target_gy; + grid_pos((grid_t*)find, &target_gx, &target_gy); + ent->x = target_gx * GRID; + ent->y = target_gy * GRID; + in_door = true; + } + } + } + } +} +__EXPORT__ void level_exited_tile(ent_t* ent, int gx, int gy, grid_t g) +{ +} + +__EXPORT__ void level_update(float ms) +{ + in_door = false; +} + +__EXPORT__ int setup(int arg) +{ + LOAD_DYN(is_player) + LOAD_DYN(get_tile_by_tag) + LOAD_DYN(grid_pos) +} diff --git a/rpg/level_imports.h b/rpg/level_imports.h new file mode 100644 index 0000000..9dd2be5 --- /dev/null +++ b/rpg/level_imports.h @@ -0,0 +1,5 @@ +#include "ent.h" + +__IMPORT__ void (*level_entered_tile)(ent_t* ent, int gx, int gy, grid_t g); +__IMPORT__ void (*level_exited_tile)(ent_t* ent, int gx, int gy, grid_t g); +__IMPORT__ void (*level_update)(float t); diff --git a/rpg/parse.c b/rpg/parse.c new file mode 100644 index 0000000..ec097e2 --- /dev/null +++ b/rpg/parse.c @@ -0,0 +1,64 @@ +#include "parse.h" + +bool reset_parse = false; +char* parse_word = NULL; +int parse_line = 1; +int parse(char* l, size_t len, bool (*is_break)(char), bool debug) +{ + static char last_char; + static int i = 0; + static int nl = 0; + if (reset_parse) + { + parse_line = 1; + i = 0; + nl = 0; + last_char = 0; + reset_parse = false; + } + + parse_word = NULL; + + while (i < len) + { + char c = l[i]; + if (c == 0) c = last_char; + i++; + if (debug) + { + printf("Char@%d %d %c\n", i, c, c); + } + if (is_break(c) || c == '\n') + { + if (parse_word) + { + i--; + l[i] = 0; + last_char = c; + nl = false; + return WORD; + } + else if (c == '\n') + { + nl++; + parse_line++; + if (nl == 1) + { + return NL; + } + else if (nl == 2) + { + return BREAK; + } + } + } + else + { + if (parse_word == NULL) parse_word = l + (i - 1); + } + } + + if (parse_word) return WORD; + + return DONE; +} diff --git a/rpg/parse.h b/rpg/parse.h new file mode 100644 index 0000000..4767bf6 --- /dev/null +++ b/rpg/parse.h @@ -0,0 +1,13 @@ +#pragma once +#include + +#define WORD 0 +#define NL 1 +#define BREAK 2 +#define DONE 3 + +extern bool reset_parse; +extern char* parse_word; +extern int parse_line; + +int parse(char* l, size_t len, bool (*is_break)(char), bool debug); diff --git a/rpg/rpg.c b/rpg/rpg.c new file mode 100644 index 0000000..5791026 --- /dev/null +++ b/rpg/rpg.c @@ -0,0 +1,607 @@ +#include +#include "grid.h" +#include "ent.h" +#include "parse.h" +#include "hashmap.h" + +#include +#include "level_imports.h" + +#include "constants.h" + + +typedef enum +{ + BG_SOLID = 1, + BG_TOP = 2, +} bg_flags; + +typedef struct +{ + char* tile; + pbm_t* pbm; + uint8_t flags; +} bg_t; + +bg_t bg[100]; +int num_bg = 0; + + +grid_t grid[COLS][ROWS]; + +__EXPORT__ void grid_pos(grid_t* g, int* gx, int* gy) +{ + int index = (int)(g - &grid[0][0]); + *gx = index / ROWS; + *gy = index - (*gx * ROWS); +} + +struct hashmap_s tile_tags; + + +ent_t player; + +#define OUTLINE 2 + +bool load_level(char* fname); +void unload_level(); + +void set_outline(ent_t* ent, int pixels, bool expand, bool dither) +{ + ent->outline = d_expand_bitmap(ent->graphic, pixels, expand, dither); + ent->outline_pixels = expand ? pixels : 0; +} +void set_standard_sprite_off(ent_t* ent) +{ + ent->off_x = ent->off_y = SPRITEOFF; +} +void reset_pos(ent_t* ent, int x, int y) +{ + ent->x = ent->ox = x; + ent->y = ent->oy = y; +} +__EXPORT__ int setup(int a) +{ + hashmap_create(32, &tile_tags); + + player.graphic = f_bitmap("/player.pbm"); + set_outline(&player, OUTLINE, true, false); + set_standard_sprite_off(&player); + reset_pos(&player, 0, 0); + + if (!load_level("level14")) + { + return 1; + } + + return 0; +} + +int remove_all_hashmap(void* const ctx, struct hashmap_element_s* const value) { return -1; } + +char* last_level = NULL; +void* level_code = NULL; +void unload_level() +{ + level_update = NULL; + level_entered_tile = NULL; + level_exited_tile = NULL; + + if (level_code) unload_code(level_code); + + for (int i = 0; i < num_bg; i++) + { + free(bg[i].pbm); + } + num_bg = 0; + + if (last_level) + { + free(last_level); + last_level = NULL; + } + + hashmap_iterate_pairs(&tile_tags, remove_all_hashmap, NULL); +} + +#define SOLID 1 +#define TOP 2 + + +bool is_space(char c) { return isspace(c); } +bool is_comma_or_space(char c) { return c == ',' || is_space(c); } + +bool load_level(char* level_name) +{ + unload_level(); + memset(grid, 0, sizeof(grid)); + + char filename[100]; + sprintf(filename, "/%s.txt", level_name); + + size_t len; + last_level = (char*)f_contents(filename, &len); + if (!last_level) + { + printf("Couldn't find level: %s\n", filename); + return false; + } + + reset_parse = true; + + // name, file, [flags] + char* tile_def[] = { NULL, NULL, NULL }; + + while (true) + { + int res = parse(last_level, len, is_space, false); + //printf("Parse res: %d\n", res); + + if (res == DONE) + { + printf("No tile grid given in level %s\n", filename); + return false; + } + + int not_null = 0; + for (; not_null < 3; not_null++) + { + if (!tile_def[not_null]) break; + } + + if (res == NL) + { + if (not_null < 2) + { + printf("Invalid tile def on line %d\n", parse_line - 1); + return false; + } + + if (!tile_def[2]) tile_def[2] = "NULL"; + + printf("Parsed tile %d %s %s %s\n", not_null, tile_def[0], tile_def[1], tile_def[2]); + + bg_flags flags = 0; + if (not_null >= 3) + { + size_t flag_len = strlen(tile_def[2]); + for (int i = 0; i < flag_len; i++) + { + if (tile_def[2][i] == 's') flags |= BG_SOLID; + if (tile_def[2][i] == 't') flags |= BG_TOP; + } + } + + + bool found = false; + char f[100]; + sprintf(f, "/%s.pbm", tile_def[1]); + pbm_t* n = f_bitmap(f); + if (n) + { + found = true; + + bg_t b = { tile_def[0], n, flags }; + bg[num_bg++] = b; + + printf("Tile %s registered as word %s\n", f, tile_def[0]); + } + else + { + int i = 1; + sprintf(f, "/%s%d.pbm", tile_def[1], i); + while (n = f_bitmap(f)) + { + found = true; + + char name[10]; + sprintf(name, "%s%d", tile_def[0], i); + + + bg_t b = { malloc(strlen(name) + 1), n, flags }; + strcpy(b.tile, name); + bg[num_bg++] = b; + + printf("Tile %s registered as word %s\n", f, name); + + i++; + sprintf(f, "/%s%d.pbm", tile_def[1], i); + } + } + + if (!found) + { + printf("Not found: graphic with name %s\n", tile_def[1]); + } + + memset(tile_def, 0, sizeof(tile_def)); + continue; + } + + if (res == BREAK) break; + + if (not_null < 3) + { + tile_def[not_null++] = parse_word; + } + else + { + printf("Too many words on line %d\n", parse_line); + } + } + + int gx = 0; + int gy = 0; + while (true) + { + int res = parse(last_level, len, is_comma_or_space, false); + //printf("Parse res: %d\n", res); + if (res == DONE || res == BREAK) + { + if (gy < ROWS) + { + printf("Didn't read full grid, only %d,%d\n", gx, gy); + return false; + } + break; + } + if (res == NL) + { + if (gx < COLS) + { + printf("Couldn't read full row, only to index %d on line %d\n", gx - 1, parse_line); + return false; + } + gx = 0; + gy++; + } + if (res == WORD) + { + if (gx >= COLS || gy >= ROWS) + { + printf("Grid is too big, reached %d,%d on line %d\n", gx, gy, parse_line); + return false; + } + char* prob = NULL; + char* tag = NULL; + grid_flags flags = 0; + for (int i = 0; i < 2; i++) + { + if (parse_word[0] == '-') + { + flags |= GRID_FLIPX; + parse_word++; + } + else if (parse_word[0] == '!') + { + flags |= GRID_FLIPY; + parse_word++; + } + } + + char* last_word = parse_word; + + size_t l = strlen(last_word); + for (int i = 0; i < l; i++) + { + if (last_word[i] == '.') + { + last_word[i] = 0; + prob = last_word + (i + 1); + last_word = prob; + l = strlen(prob); + break; + } + } + + for (int i = 0; i < l; i++) + { + if (last_word[i] == ':') + { + last_word[i] = 0; + tag = last_word + (i + 1); + last_word = tag; + l = strlen(tag); + break; + } + } + + //printf("Searching %s\n", parse_word); + for (int i = 0; i < num_bg; i++) + { + //printf(" Check %s\n", bg[i].tile); + if (strcmp(bg[i].tile, parse_word) == 0) + { + if (prob) + { + int p = max(0, min(9, atoi(prob))); + if (random(1, 10) > p) continue; + } + //printf("Tile %d on %d,%d\n", i, gx, gy); + grid_t g = { i + 1, flags, tag }; + if (tag) hashmap_put(&tile_tags, tag, strlen(tag), &grid[gx][gy]); + grid[gx][gy] = g; + } + } + + gx++; + + } + } + + sprintf(filename, "/%s.bin", level_name); + level_code = f_code(filename); + + if (level_code) + { + LOAD_DYN(level_entered_tile) + LOAD_DYN(level_exited_tile) + LOAD_DYN(level_update) + } + + return 0; +} + + +float speed = 80; + +bool move_debug = false; + +bool r_intersect(int x1, int y1, int w1, int h1, + int x2, int y2, int w2, int h2) +{ + if (x1 >= x2 + w2 || + x1 + w2 <= x2 || + y1 >= y2 + h2 || + y1 + h2 <= y2) return false; + if (move_debug) printf("INTERSECT [%d,%d + %d,%d] [%d,%d + %d,%d]\n", x1, y1, w1, h1, x2, y2, w2, h2); + return true; +} + +bool r_free(int px, int py, int w, int h) +{ + int minX = px / GRID; + int maxX = (px + w - 1) / GRID; + int minY = py / GRID; + int maxY = (py + h - 1) / GRID; + + for (int i = max(0, minX); i <= min(COLS - 1, maxX); i++) + { + for (int j = max(0, minY); j <= min(ROWS - 1, maxY); j++) + { + if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & SOLID)) + { + if (r_intersect(px, py, w, h, + i * GRID + 1, + j * GRID + 1, + GRID - 2, + GRID - 2)) return false; + } + } + } + return true; +} + +__EXPORT__ bool is_player(ent_t* ent) { return ent == &player; } +__EXPORT__ grid_t* get_tile_by_tag(char* tag) { return (grid_t*)hashmap_get(&tile_tags, tag, strlen(tag)); } + + + +void entered_tile(ent_t* ent, int gx, int gy) +{ + grid_t g = grid[gx][gy]; + if (level_entered_tile) level_entered_tile(ent, gx, gy, g); +} +void exited_tile(ent_t* ent, int gx, int gy) +{ + grid_t g = grid[gx][gy]; + if (level_exited_tile) level_exited_tile(ent, gx, gy, g); +} + +void render_ent(ent_t* ent) +{ + + if (ent->outline) + { + d_pbm( + (uint16_t)roundf(ent->x) - ent->outline_pixels + PADX + ent->off_x, + (uint16_t)roundf(ent->y) - ent->outline_pixels + PADY + ent->off_y, + ent->outline, 0, 0, 0, 0, WHITE, TRANSPARENT, R_NONE, false, false); + } + d_pbm( + (uint16_t)roundf(ent->x) + PADX + ent->off_x, + (uint16_t)roundf(ent->y) + PADY + ent->off_y, + ent->graphic, 0, 0, 0, 0, BLACK, TRANSPARENT, R_NONE, false, false); +} + +void update_ent_movement(ent_t* ent, bool debug); + +__EXPORT__ int loop(int ms) +{ + float t = ms / 1000.0f; + + if (button_down(DPAD_RIGHT)) player.x += t * speed; + if (button_down(DPAD_LEFT)) player.x -= t * speed; + if (button_down(DPAD_DOWN)) player.y += t * speed; + if (button_down(DPAD_UP)) player.y -= t * speed; + if (button_pressed(BUTTON_A)) move_debug = !move_debug; + + update_ent_movement(&player, move_debug); + + if (level_update) level_update(t); + + d_clear(); + + for (int i = 0; i < COLS; i++) + { + for (int j = 0; j < ROWS; j++) + { + if (grid[i][j].tile != 0 && !(bg[grid[i][j].tile - 1].flags & TOP)) + { + d_pbm( + PADX + i * GRID + SPRITEOFF, + PADY + j * GRID + SPRITEOFF, + bg[grid[i][j].tile - 1].pbm, + 0,0,0,0, BLACK, TRANSPARENT, R_NONE, grid[i][j].flags & GRID_FLIPX, grid[i][j].flags & GRID_FLIPY); + } + } + } + + render_ent(&player); + + + for (int i = 0; i < COLS; i++) + { + for (int j = 0; j < ROWS; j++) + { + if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & TOP)) + { + d_fillRect( + PADX + i * GRID, + PADY + j * GRID, + GRID, GRID, + WHITE + ); + } + } + } + + for (int i = 0; i < COLS; i++) + { + for (int j = 0; j < ROWS; j++) + { + if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & TOP)) + { + d_pbm( + PADX + i * GRID + SPRITEOFF, + PADY + j * GRID + SPRITEOFF, + bg[grid[i][j].tile - 1].pbm, + 0,0,0,0, BLACK, TRANSPARENT, R_NONE, grid[i][j].flags & GRID_FLIPX, grid[i][j].flags & GRID_FLIPY); + } + } + } + + return 0; +} + +#define ENTER_GRID_PCT 0.2f +void get_close_grid(float x, float y, int* gx, int* gy, float* pct_x, float* pct_y) +{ + float grid_x, grid_y; + *pct_x = modff((x + GRID * 0.5f) / GRID, &grid_x) - 0.5f; + *pct_y = modff((y + GRID * 0.5f) / GRID, &grid_y) - 0.5f; + if (fabsf(*pct_x) > ENTER_GRID_PCT || fabsf(*pct_y) > ENTER_GRID_PCT) + { + grid_x = -1; + grid_y = -1; + } + *gx = (int)grid_x; + *gy = (int)grid_y; +} + +void update_ent_movement(ent_t* ent, bool debug) +{ + int ox_i = (int)roundf(ent->ox); + int oy_i = (int)roundf(ent->oy); + + if (ent->x != ent->ox || ent->y != ent->oy) + { + int x_i = (int)roundf(ent->x); + int y_i = (int)roundf(ent->y); + + if (ent->x > ent->ox) x_i = (int)roundf(ent->x + 0.5f); + if (ent->x < ent->ox) x_i = (int)roundf(ent->x - 0.5f); + + if (ent->y > ent->oy) y_i = (int)roundf(ent->y + 0.5f); + if (ent->y < ent->oy) y_i = (int)roundf(ent->y - 0.5f); + + bool goX = ox_i != x_i; + bool goY = oy_i != y_i; + + if (debug) printf("(%f,%f)->(%f,%f) I: (%d,%d)->(%d,%d) [%d, %d]\n", ent->ox, ent->oy, ent->x, ent->y, ox_i, oy_i, x_i, y_i, goX, goY); + + while (goX || goY) + { + if (goX) + { + int testX = ox_i < x_i ? ox_i + 1 : ox_i - 1; + bool test = r_free(testX + 1, oy_i + 1, GRID - 2, GRID - 2); + if (move_debug) printf("testX: %d => %d\n", testX, test); + if (test) + { + ox_i = testX; + if (ox_i == x_i) goX = false; + if (move_debug) printf("ox_i = %d, goX = %d\n", ox_i, goX); + } + else + { + goX = false; + if (move_debug) printf("goX = false\n"); + } + } + if (goY) + { + int testY = oy_i < y_i ? oy_i + 1 : oy_i - 1; + bool test = r_free(ox_i + 1, testY + 1, GRID - 2, GRID - 2); + if (move_debug) printf("testY: %d => %d\n", testY, test); + if (test) + { + oy_i = testY; + if (oy_i == y_i) goY = false; + if (move_debug) printf("oy_i = %d, goY = %d\n", oy_i, goY); + } + else + { + goY = false; + if (move_debug) printf("goY = false\n"); + } + } + } + + if (ox_i != x_i) ent->x = ox_i; + if (oy_i != y_i) ent->y = oy_i; + if (debug) printf("reached (%d,%d) on target of (%d,%d), x,y=(%f,%f)\n", ox_i, oy_i, x_i, y_i, ent->x, ent->y); + + if (debug) printf("\n====================\n\n"); + + int o_grid_x, o_grid_y; + float o_ingrid_x, o_ingrid_y; + + int grid_x, grid_y; + float ingrid_x, ingrid_y; + + get_close_grid(ent->ox, ent->oy, &o_grid_x, &o_grid_y, &o_ingrid_x, &o_ingrid_y); + + int tries = 10; + for (; tries > 0; tries--) + { + get_close_grid(ent->x, ent->y, &grid_x, &grid_y, &ingrid_x, &ingrid_y); + + if (grid_x == o_grid_x && grid_y == o_grid_y) + { + break; + } + else + { + if (o_grid_x != -1) + { + exited_tile(ent, o_grid_x, o_grid_y); + //printf("Exited: %f %f\n", o_grid_x, o_grid_y); + } + if (grid_x != -1) + { + entered_tile(ent, grid_x, grid_y); + //printf("Entered: %f %f\n", grid_x, grid_y); + } + + o_grid_x = grid_x; + o_grid_y = grid_y; + } + } + if (tries == 0) printf("RAN OUT OF TILE CHECK TRIES\n"); + } + + ent->ox = ent->x; + ent->oy = ent->y; + +} diff --git a/rpg/rpg_imports.h b/rpg/rpg_imports.h new file mode 100644 index 0000000..3f38698 --- /dev/null +++ b/rpg/rpg_imports.h @@ -0,0 +1,7 @@ +#pragma once +#include "ent.h" +#include "grid.h" + +__IMPORT__ bool (*is_player)(ent_t* ent); +__IMPORT__ grid_t* (*get_tile_by_tag)(char* tag); +__IMPORT__ void (*grid_pos)(grid_t* g, int* gx, int* gy); diff --git a/test/Makefile b/test/Makefile deleted file mode 100644 index 140f7d4..0000000 --- a/test/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -CART_DIR ?= ../cart/test -MAKE_ROOT ?= ../../cneboy/make - -SOURCES := test.c parse.c - -MODULES := level14 - -SOURCES_level14 := level14.c - -include $(MAKE_ROOT)/Makefile diff --git a/test/hashmap.h b/test/hashmap.h deleted file mode 100644 index da88e81..0000000 --- a/test/hashmap.h +++ /dev/null @@ -1,594 +0,0 @@ -/* - The latest version of this library is available on GitHub; - https://github.com/sheredom/hashmap.h -*/ - -/* - This is free and unencumbered software released into the public domain. - - Anyone is free to copy, modify, publish, use, compile, sell, or - distribute this software, either in source code form or as a compiled - binary, for any purpose, commercial or non-commercial, and by any - means. - - In jurisdictions that recognize copyright laws, the author or authors - of this software dedicate any and all copyright interest in the - software to the public domain. We make this dedication for the benefit - of the public at large and to the detriment of our heirs and - successors. We intend this dedication to be an overt act of - relinquishment in perpetuity of all present and future rights to this - software under copyright law. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - - For more information, please refer to -*/ -#ifndef SHEREDOM_HASHMAP_H_INCLUDED -#define SHEREDOM_HASHMAP_H_INCLUDED - -#if defined(_MSC_VER) -// Workaround a bug in the MSVC runtime where it uses __cplusplus when not -// defined. -#pragma warning(push, 0) -#pragma warning(disable : 4668) -#endif - -#include "client_api.h" - -//#include -//#include - -//#if (defined(_MSC_VER) && defined(__AVX__)) || \ -// (!defined(_MSC_VER) && defined(__SSE4_2__)) -//#define HASHMAP_SSE42 -//#endif - -//#if defined(HASHMAP_SSE42) -//#include -//#endif - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif - -#if defined(_MSC_VER) -#pragma warning(push) -/* Stop MSVC complaining about unreferenced functions */ -#pragma warning(disable : 4505) -/* Stop MSVC complaining about not inlining functions */ -#pragma warning(disable : 4710) -/* Stop MSVC complaining about inlining functions! */ -#pragma warning(disable : 4711) -#elif defined(__clang__) -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wunused-function" -#endif - -#if defined(_MSC_VER) -#define HASHMAP_USED -#elif defined(__GNUC__) -#define HASHMAP_USED __attribute__((used)) -#else -#define HASHMAP_USED -#endif - -/* We need to keep keys and values. */ -struct hashmap_element_s { - const char *key; - unsigned key_len; - int in_use; - void *data; -}; - -/* A hashmap has some maximum size and current size, as well as the data to - * hold. */ -struct hashmap_s { - unsigned table_size; - unsigned size; - struct hashmap_element_s *data; -}; - -#define HASHMAP_MAX_CHAIN_LENGTH (8) - -#if defined(__cplusplus) -extern "C" { -#endif - -/// @brief Create a hashmap. -/// @param initial_size The initial size of the hashmap. Must be a power of two. -/// @param out_hashmap The storage for the created hashmap. -/// @return On success 0 is returned. -/// -/// Note that the initial size of the hashmap must be a power of two, and -/// creation of the hashmap will fail if this is not the case. -static int hashmap_create(const unsigned initial_size, - struct hashmap_s *const out_hashmap) HASHMAP_USED; - -/// @brief Put an element into the hashmap. -/// @param hashmap The hashmap to insert into. -/// @param key The string key to use. -/// @param len The length of the string key. -/// @param value The value to insert. -/// @return On success 0 is returned. -/// -/// The key string slice is not copied when creating the hashmap entry, and thus -/// must remain a valid pointer until the hashmap entry is removed or the -/// hashmap is destroyed. -static int hashmap_put(struct hashmap_s *const hashmap, const char *const key, - const unsigned len, void *const value) HASHMAP_USED; - -/// @brief Get an element from the hashmap. -/// @param hashmap The hashmap to get from. -/// @param key The string key to use. -/// @param len The length of the string key. -/// @return The previously set element, or NULL if none exists. -static void *hashmap_get(const struct hashmap_s *const hashmap, - const char *const key, - const unsigned len) HASHMAP_USED; - -/// @brief Remove an element from the hashmap. -/// @param hashmap The hashmap to remove from. -/// @param key The string key to use. -/// @param len The length of the string key. -/// @return On success 0 is returned. -static int hashmap_remove(struct hashmap_s *const hashmap, - const char *const key, - const unsigned len) HASHMAP_USED; - -/// @brief Remove an element from the hashmap. -/// @param hashmap The hashmap to remove from. -/// @param key The string key to use. -/// @param len The length of the string key. -/// @return On success the original stored key pointer is returned, on failure -/// NULL is returned. -static const char * -hashmap_remove_and_return_key(struct hashmap_s *const hashmap, - const char *const key, - const unsigned len) HASHMAP_USED; - -/// @brief Iterate over all the elements in a hashmap. -/// @param hashmap The hashmap to iterate over. -/// @param f The function pointer to call on each element. -/// @param context The context to pass as the first argument to f. -/// @return If the entire hashmap was iterated then 0 is returned. Otherwise if -/// the callback function f returned non-zero then non-zero is returned. -static int hashmap_iterate(const struct hashmap_s *const hashmap, - int (*f)(void *const context, void *const value), - void *const context) HASHMAP_USED; - -/// @brief Iterate over all the elements in a hashmap. -/// @param hashmap The hashmap to iterate over. -/// @param f The function pointer to call on each element. -/// @param context The context to pass as the first argument to f. -/// @return If the entire hashmap was iterated then 0 is returned. -/// Otherwise if the callback function f returned positive then the positive -/// value is returned. If the callback function returns -1, the current item -/// is removed and iteration continues. -static int hashmap_iterate_pairs(struct hashmap_s *const hashmap, - int (*f)(void *const, - struct hashmap_element_s *const), - void *const context) HASHMAP_USED; - -/// @brief Get the size of the hashmap. -/// @param hashmap The hashmap to get the size of. -/// @return The size of the hashmap. -static unsigned -hashmap_num_entries(const struct hashmap_s *const hashmap) HASHMAP_USED; - -/// @brief Destroy the hashmap. -/// @param hashmap The hashmap to destroy. -static void hashmap_destroy(struct hashmap_s *const hashmap) HASHMAP_USED; - -static unsigned hashmap_crc32_helper(const char *const s, - const unsigned len) HASHMAP_USED; -static unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, - const char *const keystring, - const unsigned len) HASHMAP_USED; -static int hashmap_match_helper(const struct hashmap_element_s *const element, - const char *const key, - const unsigned len) HASHMAP_USED; -static int hashmap_hash_helper(const struct hashmap_s *const m, - const char *const key, const unsigned len, - unsigned *const out_index) HASHMAP_USED; -static int -hashmap_rehash_iterator(void *const new_hash, - struct hashmap_element_s *const e) HASHMAP_USED; -static int hashmap_rehash_helper(struct hashmap_s *const m) HASHMAP_USED; - -#if defined(__cplusplus) -} -#endif - -#if defined(__cplusplus) -#define HASHMAP_CAST(type, x) static_cast(x) -#define HASHMAP_PTR_CAST(type, x) reinterpret_cast(x) -#define HASHMAP_NULL NULL -#else -#define HASHMAP_CAST(type, x) ((type)x) -#define HASHMAP_PTR_CAST(type, x) ((type)x) -#define HASHMAP_NULL 0 -#endif - -int hashmap_create(const unsigned initial_size, - struct hashmap_s *const out_hashmap) { - out_hashmap->table_size = initial_size; - out_hashmap->size = 0; - - if (0 == initial_size || 0 != (initial_size & (initial_size - 1))) { - return 1; - } - - out_hashmap->data = - HASHMAP_CAST(struct hashmap_element_s *, - malloc(initial_size * sizeof(struct hashmap_element_s))); - if (!out_hashmap->data) { - return 1; - } - memset(out_hashmap->data, 0, initial_size * sizeof(struct hashmap_element_s)); - - return 0; -} - -int hashmap_put(struct hashmap_s *const m, const char *const key, - const unsigned len, void *const value) { - unsigned int index; - - /* Find a place to put our value. */ - while (!hashmap_hash_helper(m, key, len, &index)) { - if (hashmap_rehash_helper(m)) { - return 1; - } - } - - /* Set the data. */ - m->data[index].data = value; - m->data[index].key = key; - m->data[index].key_len = len; - - /* If the hashmap element was not already in use, set that it is being used - * and bump our size. */ - if (0 == m->data[index].in_use) { - m->data[index].in_use = 1; - m->size++; - } - - return 0; -} - -void *hashmap_get(const struct hashmap_s *const m, const char *const key, - const unsigned len) { - unsigned int curr; - unsigned int i; - - /* Find data location */ - curr = hashmap_hash_helper_int_helper(m, key, len); - - /* Linear probing, if necessary */ - for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { - if (m->data[curr].in_use) { - if (hashmap_match_helper(&m->data[curr], key, len)) { - return m->data[curr].data; - } - } - - curr = (curr + 1) % m->table_size; - } - - /* Not found */ - return HASHMAP_NULL; -} - -int hashmap_remove(struct hashmap_s *const m, const char *const key, - const unsigned len) { - unsigned int i; - unsigned int curr; - - /* Find key */ - curr = hashmap_hash_helper_int_helper(m, key, len); - - /* Linear probing, if necessary */ - for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { - if (m->data[curr].in_use) { - if (hashmap_match_helper(&m->data[curr], key, len)) { - /* Blank out the fields including in_use */ - memset(&m->data[curr], 0, sizeof(struct hashmap_element_s)); - - /* Reduce the size */ - m->size--; - - return 0; - } - } - - curr = (curr + 1) % m->table_size; - } - - return 1; -} - -const char *hashmap_remove_and_return_key(struct hashmap_s *const m, - const char *const key, - const unsigned len) { - unsigned int i; - unsigned int curr; - - /* Find key */ - curr = hashmap_hash_helper_int_helper(m, key, len); - - /* Linear probing, if necessary */ - for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { - if (m->data[curr].in_use) { - if (hashmap_match_helper(&m->data[curr], key, len)) { - const char *const stored_key = m->data[curr].key; - - /* Blank out the fields */ - m->data[curr].in_use = 0; - m->data[curr].data = HASHMAP_NULL; - m->data[curr].key = HASHMAP_NULL; - - /* Reduce the size */ - m->size--; - - return stored_key; - } - } - curr = (curr + 1) % m->table_size; - } - - return HASHMAP_NULL; -} - -int hashmap_iterate(const struct hashmap_s *const m, - int (*f)(void *const, void *const), void *const context) { - unsigned int i; - - /* Linear probing */ - for (i = 0; i < m->table_size; i++) { - if (m->data[i].in_use) { - if (!f(context, m->data[i].data)) { - return 1; - } - } - } - return 0; -} - -int hashmap_iterate_pairs(struct hashmap_s *const hashmap, - int (*f)(void *const, - struct hashmap_element_s *const), - void *const context) { - unsigned int i; - struct hashmap_element_s *p; - int r; - - /* Linear probing */ - for (i = 0; i < hashmap->table_size; i++) { - p = &hashmap->data[i]; - if (p->in_use) { - r = f(context, p); - switch (r) { - case -1: /* remove item */ - memset(p, 0, sizeof(struct hashmap_element_s)); - hashmap->size--; - break; - case 0: /* continue iterating */ - break; - default: /* early exit */ - return 1; - } - } - } - return 0; -} - -void hashmap_destroy(struct hashmap_s *const m) { - free(m->data); - memset(m, 0, sizeof(struct hashmap_s)); -} - -unsigned hashmap_num_entries(const struct hashmap_s *const m) { - return m->size; -} - -unsigned hashmap_crc32_helper(const char *const s, const unsigned len) { - unsigned i; - unsigned crc32val = 0; - -#if defined(HASHMAP_SSE42) - for (i = 0; i < len; i++) { - crc32val = _mm_crc32_u8(crc32val, HASHMAP_CAST(unsigned char, s[i])); - } - - return crc32val; -#else - // Using polynomial 0x11EDC6F41 to match SSE 4.2's crc function. - static const unsigned crc32_tab[] = { - 0x00000000U, 0xF26B8303U, 0xE13B70F7U, 0x1350F3F4U, 0xC79A971FU, - 0x35F1141CU, 0x26A1E7E8U, 0xD4CA64EBU, 0x8AD958CFU, 0x78B2DBCCU, - 0x6BE22838U, 0x9989AB3BU, 0x4D43CFD0U, 0xBF284CD3U, 0xAC78BF27U, - 0x5E133C24U, 0x105EC76FU, 0xE235446CU, 0xF165B798U, 0x030E349BU, - 0xD7C45070U, 0x25AFD373U, 0x36FF2087U, 0xC494A384U, 0x9A879FA0U, - 0x68EC1CA3U, 0x7BBCEF57U, 0x89D76C54U, 0x5D1D08BFU, 0xAF768BBCU, - 0xBC267848U, 0x4E4DFB4BU, 0x20BD8EDEU, 0xD2D60DDDU, 0xC186FE29U, - 0x33ED7D2AU, 0xE72719C1U, 0x154C9AC2U, 0x061C6936U, 0xF477EA35U, - 0xAA64D611U, 0x580F5512U, 0x4B5FA6E6U, 0xB93425E5U, 0x6DFE410EU, - 0x9F95C20DU, 0x8CC531F9U, 0x7EAEB2FAU, 0x30E349B1U, 0xC288CAB2U, - 0xD1D83946U, 0x23B3BA45U, 0xF779DEAEU, 0x05125DADU, 0x1642AE59U, - 0xE4292D5AU, 0xBA3A117EU, 0x4851927DU, 0x5B016189U, 0xA96AE28AU, - 0x7DA08661U, 0x8FCB0562U, 0x9C9BF696U, 0x6EF07595U, 0x417B1DBCU, - 0xB3109EBFU, 0xA0406D4BU, 0x522BEE48U, 0x86E18AA3U, 0x748A09A0U, - 0x67DAFA54U, 0x95B17957U, 0xCBA24573U, 0x39C9C670U, 0x2A993584U, - 0xD8F2B687U, 0x0C38D26CU, 0xFE53516FU, 0xED03A29BU, 0x1F682198U, - 0x5125DAD3U, 0xA34E59D0U, 0xB01EAA24U, 0x42752927U, 0x96BF4DCCU, - 0x64D4CECFU, 0x77843D3BU, 0x85EFBE38U, 0xDBFC821CU, 0x2997011FU, - 0x3AC7F2EBU, 0xC8AC71E8U, 0x1C661503U, 0xEE0D9600U, 0xFD5D65F4U, - 0x0F36E6F7U, 0x61C69362U, 0x93AD1061U, 0x80FDE395U, 0x72966096U, - 0xA65C047DU, 0x5437877EU, 0x4767748AU, 0xB50CF789U, 0xEB1FCBADU, - 0x197448AEU, 0x0A24BB5AU, 0xF84F3859U, 0x2C855CB2U, 0xDEEEDFB1U, - 0xCDBE2C45U, 0x3FD5AF46U, 0x7198540DU, 0x83F3D70EU, 0x90A324FAU, - 0x62C8A7F9U, 0xB602C312U, 0x44694011U, 0x5739B3E5U, 0xA55230E6U, - 0xFB410CC2U, 0x092A8FC1U, 0x1A7A7C35U, 0xE811FF36U, 0x3CDB9BDDU, - 0xCEB018DEU, 0xDDE0EB2AU, 0x2F8B6829U, 0x82F63B78U, 0x709DB87BU, - 0x63CD4B8FU, 0x91A6C88CU, 0x456CAC67U, 0xB7072F64U, 0xA457DC90U, - 0x563C5F93U, 0x082F63B7U, 0xFA44E0B4U, 0xE9141340U, 0x1B7F9043U, - 0xCFB5F4A8U, 0x3DDE77ABU, 0x2E8E845FU, 0xDCE5075CU, 0x92A8FC17U, - 0x60C37F14U, 0x73938CE0U, 0x81F80FE3U, 0x55326B08U, 0xA759E80BU, - 0xB4091BFFU, 0x466298FCU, 0x1871A4D8U, 0xEA1A27DBU, 0xF94AD42FU, - 0x0B21572CU, 0xDFEB33C7U, 0x2D80B0C4U, 0x3ED04330U, 0xCCBBC033U, - 0xA24BB5A6U, 0x502036A5U, 0x4370C551U, 0xB11B4652U, 0x65D122B9U, - 0x97BAA1BAU, 0x84EA524EU, 0x7681D14DU, 0x2892ED69U, 0xDAF96E6AU, - 0xC9A99D9EU, 0x3BC21E9DU, 0xEF087A76U, 0x1D63F975U, 0x0E330A81U, - 0xFC588982U, 0xB21572C9U, 0x407EF1CAU, 0x532E023EU, 0xA145813DU, - 0x758FE5D6U, 0x87E466D5U, 0x94B49521U, 0x66DF1622U, 0x38CC2A06U, - 0xCAA7A905U, 0xD9F75AF1U, 0x2B9CD9F2U, 0xFF56BD19U, 0x0D3D3E1AU, - 0x1E6DCDEEU, 0xEC064EEDU, 0xC38D26C4U, 0x31E6A5C7U, 0x22B65633U, - 0xD0DDD530U, 0x0417B1DBU, 0xF67C32D8U, 0xE52CC12CU, 0x1747422FU, - 0x49547E0BU, 0xBB3FFD08U, 0xA86F0EFCU, 0x5A048DFFU, 0x8ECEE914U, - 0x7CA56A17U, 0x6FF599E3U, 0x9D9E1AE0U, 0xD3D3E1ABU, 0x21B862A8U, - 0x32E8915CU, 0xC083125FU, 0x144976B4U, 0xE622F5B7U, 0xF5720643U, - 0x07198540U, 0x590AB964U, 0xAB613A67U, 0xB831C993U, 0x4A5A4A90U, - 0x9E902E7BU, 0x6CFBAD78U, 0x7FAB5E8CU, 0x8DC0DD8FU, 0xE330A81AU, - 0x115B2B19U, 0x020BD8EDU, 0xF0605BEEU, 0x24AA3F05U, 0xD6C1BC06U, - 0xC5914FF2U, 0x37FACCF1U, 0x69E9F0D5U, 0x9B8273D6U, 0x88D28022U, - 0x7AB90321U, 0xAE7367CAU, 0x5C18E4C9U, 0x4F48173DU, 0xBD23943EU, - 0xF36E6F75U, 0x0105EC76U, 0x12551F82U, 0xE03E9C81U, 0x34F4F86AU, - 0xC69F7B69U, 0xD5CF889DU, 0x27A40B9EU, 0x79B737BAU, 0x8BDCB4B9U, - 0x988C474DU, 0x6AE7C44EU, 0xBE2DA0A5U, 0x4C4623A6U, 0x5F16D052U, - 0xAD7D5351U}; - - for (i = 0; i < len; i++) { - crc32val = crc32_tab[(HASHMAP_CAST(unsigned char, crc32val) ^ - HASHMAP_CAST(unsigned char, s[i]))] ^ - (crc32val >> 8); - } - return crc32val; -#endif -} - -unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, - const char *const keystring, - const unsigned len) { - unsigned key = hashmap_crc32_helper(keystring, len); - - /* Robert Jenkins' 32 bit Mix Function */ - key += (key << 12); - key ^= (key >> 22); - key += (key << 4); - key ^= (key >> 9); - key += (key << 10); - key ^= (key >> 2); - key += (key << 7); - key ^= (key >> 12); - - /* Knuth's Multiplicative Method */ - key = (key >> 3) * 2654435761; - - return key % m->table_size; -} - -int hashmap_match_helper(const struct hashmap_element_s *const element, - const char *const key, const unsigned len) { - return (element->key_len == len) && (0 == memcmp(element->key, key, len)); -} - -int hashmap_hash_helper(const struct hashmap_s *const m, const char *const key, - const unsigned len, unsigned *const out_index) { - unsigned int start, curr; - unsigned int i; - int total_in_use; - - /* If full, return immediately */ - if (m->size >= m->table_size) { - return 0; - } - - /* Find the best index */ - curr = start = hashmap_hash_helper_int_helper(m, key, len); - - /* First linear probe to check if we've already insert the element */ - total_in_use = 0; - - for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { - const int in_use = m->data[curr].in_use; - - total_in_use += in_use; - - if (in_use && hashmap_match_helper(&m->data[curr], key, len)) { - *out_index = curr; - return 1; - } - - curr = (curr + 1) % m->table_size; - } - - curr = start; - - /* Second linear probe to actually insert our element (only if there was at - * least one empty entry) */ - if (HASHMAP_MAX_CHAIN_LENGTH > total_in_use) { - for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { - if (!m->data[curr].in_use) { - *out_index = curr; - return 1; - } - - curr = (curr + 1) % m->table_size; - } - } - - return 0; -} - -int hashmap_rehash_iterator(void *const new_hash, - struct hashmap_element_s *const e) { - int temp = hashmap_put(HASHMAP_PTR_CAST(struct hashmap_s *, new_hash), e->key, - e->key_len, e->data); - if (0 < temp) { - return 1; - } - /* clear old value to avoid stale pointers */ - return -1; -} -/* - * Doubles the size of the hashmap, and rehashes all the elements - */ -int hashmap_rehash_helper(struct hashmap_s *const m) { - /* If this multiplication overflows hashmap_create will fail. */ - unsigned new_size = 2 * m->table_size; - - struct hashmap_s new_hash; - - int flag = hashmap_create(new_size, &new_hash); - - if (0 != flag) { - return flag; - } - - /* copy the old elements to the new table */ - flag = hashmap_iterate_pairs(m, hashmap_rehash_iterator, - HASHMAP_PTR_CAST(void *, &new_hash)); - - if (0 != flag) { - return flag; - } - - hashmap_destroy(m); - /* put new hash into old hash structure by copying */ - memcpy(m, &new_hash, sizeof(struct hashmap_s)); - - return 0; -} - -#if defined(_MSC_VER) -#pragma warning(pop) -#elif defined(__clang__) -#pragma clang diagnostic pop -#endif - -#endif diff --git a/test/level14.c b/test/level14.c deleted file mode 100644 index 469dd85..0000000 --- a/test/level14.c +++ /dev/null @@ -1,3 +0,0 @@ -#include - -__EXPORT__ void tile_entered() { } diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix4.pbm b/cart/test/roof_fix4.pbm deleted file mode 100644 index 2c392ad..0000000 --- a/cart/test/roof_fix4.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/test/roof_fix5.pbm b/cart/test/roof_fix5.pbm deleted file mode 100644 index 39b7f23..0000000 --- a/cart/test/roof_fix5.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/test/roof_fix6.pbm b/cart/test/roof_fix6.pbm deleted file mode 100644 index 8bbe9fc..0000000 --- a/cart/test/roof_fix6.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/test/roof_fix7.pbm b/cart/test/roof_fix7.pbm deleted file mode 100644 index 0c29640..0000000 --- a/cart/test/roof_fix7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix8.pbm b/cart/test/roof_fix8.pbm deleted file mode 100644 index e90cfc3..0000000 --- a/cart/test/roof_fix8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix9.pbm b/cart/test/roof_fix9.pbm deleted file mode 100644 index 31dfb3d..0000000 --- a/cart/test/roof_fix9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall1.pbm b/cart/test/wall1.pbm deleted file mode 100644 index 31e09be..0000000 --- a/cart/test/wall1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall2.pbm b/cart/test/wall2.pbm deleted file mode 100644 index 1871c8b..0000000 --- a/cart/test/wall2.pbm +++ /dev/null Binary files differ diff --git a/rpg/Makefile b/rpg/Makefile new file mode 100644 index 0000000..5a8fda9 --- /dev/null +++ b/rpg/Makefile @@ -0,0 +1,10 @@ +CART_DIR ?= ../cart/rpg +MAKE_ROOT ?= ../../cneboy/make + +SOURCES := rpg.c parse.c + +MODULES := level14 + +SOURCES_level14 := level14.c + +include $(MAKE_ROOT)/Makefile diff --git a/rpg/constants.h b/rpg/constants.h new file mode 100644 index 0000000..336c98e --- /dev/null +++ b/rpg/constants.h @@ -0,0 +1,6 @@ +#define GRID 14 +#define COLS 12 +#define ROWS 10 +#define PADX 0 +#define PADY 2 +#define SPRITEOFF -1 diff --git a/rpg/ent.h b/rpg/ent.h new file mode 100644 index 0000000..254369d --- /dev/null +++ b/rpg/ent.h @@ -0,0 +1,20 @@ +#pragma once +#include +#include + +typedef struct +{ + // last frame coords + float ox; + float oy; + + // current coords + float x; + float y; + + pbm_t* graphic; + pbm_t* outline; + int off_x; + int off_y; + int outline_pixels; +} ent_t; diff --git a/rpg/grid.h b/rpg/grid.h new file mode 100644 index 0000000..4cddf8d --- /dev/null +++ b/rpg/grid.h @@ -0,0 +1,12 @@ +typedef enum +{ + GRID_FLIPX = 1, + GRID_FLIPY = 2, +} grid_flags; + +typedef struct +{ + uint8_t tile; + grid_flags flags; + char* tag; +} grid_t; diff --git a/rpg/hashmap.h b/rpg/hashmap.h new file mode 100644 index 0000000..da88e81 --- /dev/null +++ b/rpg/hashmap.h @@ -0,0 +1,594 @@ +/* + The latest version of this library is available on GitHub; + https://github.com/sheredom/hashmap.h +*/ + +/* + This is free and unencumbered software released into the public domain. + + Anyone is free to copy, modify, publish, use, compile, sell, or + distribute this software, either in source code form or as a compiled + binary, for any purpose, commercial or non-commercial, and by any + means. + + In jurisdictions that recognize copyright laws, the author or authors + of this software dedicate any and all copyright interest in the + software to the public domain. We make this dedication for the benefit + of the public at large and to the detriment of our heirs and + successors. We intend this dedication to be an overt act of + relinquishment in perpetuity of all present and future rights to this + software under copyright law. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + For more information, please refer to +*/ +#ifndef SHEREDOM_HASHMAP_H_INCLUDED +#define SHEREDOM_HASHMAP_H_INCLUDED + +#if defined(_MSC_VER) +// Workaround a bug in the MSVC runtime where it uses __cplusplus when not +// defined. +#pragma warning(push, 0) +#pragma warning(disable : 4668) +#endif + +#include "client_api.h" + +//#include +//#include + +//#if (defined(_MSC_VER) && defined(__AVX__)) || \ +// (!defined(_MSC_VER) && defined(__SSE4_2__)) +//#define HASHMAP_SSE42 +//#endif + +//#if defined(HASHMAP_SSE42) +//#include +//#endif + +#if defined(_MSC_VER) +#pragma warning(pop) +#endif + +#if defined(_MSC_VER) +#pragma warning(push) +/* Stop MSVC complaining about unreferenced functions */ +#pragma warning(disable : 4505) +/* Stop MSVC complaining about not inlining functions */ +#pragma warning(disable : 4710) +/* Stop MSVC complaining about inlining functions! */ +#pragma warning(disable : 4711) +#elif defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-function" +#endif + +#if defined(_MSC_VER) +#define HASHMAP_USED +#elif defined(__GNUC__) +#define HASHMAP_USED __attribute__((used)) +#else +#define HASHMAP_USED +#endif + +/* We need to keep keys and values. */ +struct hashmap_element_s { + const char *key; + unsigned key_len; + int in_use; + void *data; +}; + +/* A hashmap has some maximum size and current size, as well as the data to + * hold. */ +struct hashmap_s { + unsigned table_size; + unsigned size; + struct hashmap_element_s *data; +}; + +#define HASHMAP_MAX_CHAIN_LENGTH (8) + +#if defined(__cplusplus) +extern "C" { +#endif + +/// @brief Create a hashmap. +/// @param initial_size The initial size of the hashmap. Must be a power of two. +/// @param out_hashmap The storage for the created hashmap. +/// @return On success 0 is returned. +/// +/// Note that the initial size of the hashmap must be a power of two, and +/// creation of the hashmap will fail if this is not the case. +static int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) HASHMAP_USED; + +/// @brief Put an element into the hashmap. +/// @param hashmap The hashmap to insert into. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @param value The value to insert. +/// @return On success 0 is returned. +/// +/// The key string slice is not copied when creating the hashmap entry, and thus +/// must remain a valid pointer until the hashmap entry is removed or the +/// hashmap is destroyed. +static int hashmap_put(struct hashmap_s *const hashmap, const char *const key, + const unsigned len, void *const value) HASHMAP_USED; + +/// @brief Get an element from the hashmap. +/// @param hashmap The hashmap to get from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return The previously set element, or NULL if none exists. +static void *hashmap_get(const struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success 0 is returned. +static int hashmap_remove(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success the original stored key pointer is returned, on failure +/// NULL is returned. +static const char * +hashmap_remove_and_return_key(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. Otherwise if +/// the callback function f returned non-zero then non-zero is returned. +static int hashmap_iterate(const struct hashmap_s *const hashmap, + int (*f)(void *const context, void *const value), + void *const context) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. +/// Otherwise if the callback function f returned positive then the positive +/// value is returned. If the callback function returns -1, the current item +/// is removed and iteration continues. +static int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) HASHMAP_USED; + +/// @brief Get the size of the hashmap. +/// @param hashmap The hashmap to get the size of. +/// @return The size of the hashmap. +static unsigned +hashmap_num_entries(const struct hashmap_s *const hashmap) HASHMAP_USED; + +/// @brief Destroy the hashmap. +/// @param hashmap The hashmap to destroy. +static void hashmap_destroy(struct hashmap_s *const hashmap) HASHMAP_USED; + +static unsigned hashmap_crc32_helper(const char *const s, + const unsigned len) HASHMAP_USED; +static unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) HASHMAP_USED; +static int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, + const unsigned len) HASHMAP_USED; +static int hashmap_hash_helper(const struct hashmap_s *const m, + const char *const key, const unsigned len, + unsigned *const out_index) HASHMAP_USED; +static int +hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) HASHMAP_USED; +static int hashmap_rehash_helper(struct hashmap_s *const m) HASHMAP_USED; + +#if defined(__cplusplus) +} +#endif + +#if defined(__cplusplus) +#define HASHMAP_CAST(type, x) static_cast(x) +#define HASHMAP_PTR_CAST(type, x) reinterpret_cast(x) +#define HASHMAP_NULL NULL +#else +#define HASHMAP_CAST(type, x) ((type)x) +#define HASHMAP_PTR_CAST(type, x) ((type)x) +#define HASHMAP_NULL 0 +#endif + +int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) { + out_hashmap->table_size = initial_size; + out_hashmap->size = 0; + + if (0 == initial_size || 0 != (initial_size & (initial_size - 1))) { + return 1; + } + + out_hashmap->data = + HASHMAP_CAST(struct hashmap_element_s *, + malloc(initial_size * sizeof(struct hashmap_element_s))); + if (!out_hashmap->data) { + return 1; + } + memset(out_hashmap->data, 0, initial_size * sizeof(struct hashmap_element_s)); + + return 0; +} + +int hashmap_put(struct hashmap_s *const m, const char *const key, + const unsigned len, void *const value) { + unsigned int index; + + /* Find a place to put our value. */ + while (!hashmap_hash_helper(m, key, len, &index)) { + if (hashmap_rehash_helper(m)) { + return 1; + } + } + + /* Set the data. */ + m->data[index].data = value; + m->data[index].key = key; + m->data[index].key_len = len; + + /* If the hashmap element was not already in use, set that it is being used + * and bump our size. */ + if (0 == m->data[index].in_use) { + m->data[index].in_use = 1; + m->size++; + } + + return 0; +} + +void *hashmap_get(const struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int curr; + unsigned int i; + + /* Find data location */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + return m->data[curr].data; + } + } + + curr = (curr + 1) % m->table_size; + } + + /* Not found */ + return HASHMAP_NULL; +} + +int hashmap_remove(struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + /* Blank out the fields including in_use */ + memset(&m->data[curr], 0, sizeof(struct hashmap_element_s)); + + /* Reduce the size */ + m->size--; + + return 0; + } + } + + curr = (curr + 1) % m->table_size; + } + + return 1; +} + +const char *hashmap_remove_and_return_key(struct hashmap_s *const m, + const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + const char *const stored_key = m->data[curr].key; + + /* Blank out the fields */ + m->data[curr].in_use = 0; + m->data[curr].data = HASHMAP_NULL; + m->data[curr].key = HASHMAP_NULL; + + /* Reduce the size */ + m->size--; + + return stored_key; + } + } + curr = (curr + 1) % m->table_size; + } + + return HASHMAP_NULL; +} + +int hashmap_iterate(const struct hashmap_s *const m, + int (*f)(void *const, void *const), void *const context) { + unsigned int i; + + /* Linear probing */ + for (i = 0; i < m->table_size; i++) { + if (m->data[i].in_use) { + if (!f(context, m->data[i].data)) { + return 1; + } + } + } + return 0; +} + +int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) { + unsigned int i; + struct hashmap_element_s *p; + int r; + + /* Linear probing */ + for (i = 0; i < hashmap->table_size; i++) { + p = &hashmap->data[i]; + if (p->in_use) { + r = f(context, p); + switch (r) { + case -1: /* remove item */ + memset(p, 0, sizeof(struct hashmap_element_s)); + hashmap->size--; + break; + case 0: /* continue iterating */ + break; + default: /* early exit */ + return 1; + } + } + } + return 0; +} + +void hashmap_destroy(struct hashmap_s *const m) { + free(m->data); + memset(m, 0, sizeof(struct hashmap_s)); +} + +unsigned hashmap_num_entries(const struct hashmap_s *const m) { + return m->size; +} + +unsigned hashmap_crc32_helper(const char *const s, const unsigned len) { + unsigned i; + unsigned crc32val = 0; + +#if defined(HASHMAP_SSE42) + for (i = 0; i < len; i++) { + crc32val = _mm_crc32_u8(crc32val, HASHMAP_CAST(unsigned char, s[i])); + } + + return crc32val; +#else + // Using polynomial 0x11EDC6F41 to match SSE 4.2's crc function. + static const unsigned crc32_tab[] = { + 0x00000000U, 0xF26B8303U, 0xE13B70F7U, 0x1350F3F4U, 0xC79A971FU, + 0x35F1141CU, 0x26A1E7E8U, 0xD4CA64EBU, 0x8AD958CFU, 0x78B2DBCCU, + 0x6BE22838U, 0x9989AB3BU, 0x4D43CFD0U, 0xBF284CD3U, 0xAC78BF27U, + 0x5E133C24U, 0x105EC76FU, 0xE235446CU, 0xF165B798U, 0x030E349BU, + 0xD7C45070U, 0x25AFD373U, 0x36FF2087U, 0xC494A384U, 0x9A879FA0U, + 0x68EC1CA3U, 0x7BBCEF57U, 0x89D76C54U, 0x5D1D08BFU, 0xAF768BBCU, + 0xBC267848U, 0x4E4DFB4BU, 0x20BD8EDEU, 0xD2D60DDDU, 0xC186FE29U, + 0x33ED7D2AU, 0xE72719C1U, 0x154C9AC2U, 0x061C6936U, 0xF477EA35U, + 0xAA64D611U, 0x580F5512U, 0x4B5FA6E6U, 0xB93425E5U, 0x6DFE410EU, + 0x9F95C20DU, 0x8CC531F9U, 0x7EAEB2FAU, 0x30E349B1U, 0xC288CAB2U, + 0xD1D83946U, 0x23B3BA45U, 0xF779DEAEU, 0x05125DADU, 0x1642AE59U, + 0xE4292D5AU, 0xBA3A117EU, 0x4851927DU, 0x5B016189U, 0xA96AE28AU, + 0x7DA08661U, 0x8FCB0562U, 0x9C9BF696U, 0x6EF07595U, 0x417B1DBCU, + 0xB3109EBFU, 0xA0406D4BU, 0x522BEE48U, 0x86E18AA3U, 0x748A09A0U, + 0x67DAFA54U, 0x95B17957U, 0xCBA24573U, 0x39C9C670U, 0x2A993584U, + 0xD8F2B687U, 0x0C38D26CU, 0xFE53516FU, 0xED03A29BU, 0x1F682198U, + 0x5125DAD3U, 0xA34E59D0U, 0xB01EAA24U, 0x42752927U, 0x96BF4DCCU, + 0x64D4CECFU, 0x77843D3BU, 0x85EFBE38U, 0xDBFC821CU, 0x2997011FU, + 0x3AC7F2EBU, 0xC8AC71E8U, 0x1C661503U, 0xEE0D9600U, 0xFD5D65F4U, + 0x0F36E6F7U, 0x61C69362U, 0x93AD1061U, 0x80FDE395U, 0x72966096U, + 0xA65C047DU, 0x5437877EU, 0x4767748AU, 0xB50CF789U, 0xEB1FCBADU, + 0x197448AEU, 0x0A24BB5AU, 0xF84F3859U, 0x2C855CB2U, 0xDEEEDFB1U, + 0xCDBE2C45U, 0x3FD5AF46U, 0x7198540DU, 0x83F3D70EU, 0x90A324FAU, + 0x62C8A7F9U, 0xB602C312U, 0x44694011U, 0x5739B3E5U, 0xA55230E6U, + 0xFB410CC2U, 0x092A8FC1U, 0x1A7A7C35U, 0xE811FF36U, 0x3CDB9BDDU, + 0xCEB018DEU, 0xDDE0EB2AU, 0x2F8B6829U, 0x82F63B78U, 0x709DB87BU, + 0x63CD4B8FU, 0x91A6C88CU, 0x456CAC67U, 0xB7072F64U, 0xA457DC90U, + 0x563C5F93U, 0x082F63B7U, 0xFA44E0B4U, 0xE9141340U, 0x1B7F9043U, + 0xCFB5F4A8U, 0x3DDE77ABU, 0x2E8E845FU, 0xDCE5075CU, 0x92A8FC17U, + 0x60C37F14U, 0x73938CE0U, 0x81F80FE3U, 0x55326B08U, 0xA759E80BU, + 0xB4091BFFU, 0x466298FCU, 0x1871A4D8U, 0xEA1A27DBU, 0xF94AD42FU, + 0x0B21572CU, 0xDFEB33C7U, 0x2D80B0C4U, 0x3ED04330U, 0xCCBBC033U, + 0xA24BB5A6U, 0x502036A5U, 0x4370C551U, 0xB11B4652U, 0x65D122B9U, + 0x97BAA1BAU, 0x84EA524EU, 0x7681D14DU, 0x2892ED69U, 0xDAF96E6AU, + 0xC9A99D9EU, 0x3BC21E9DU, 0xEF087A76U, 0x1D63F975U, 0x0E330A81U, + 0xFC588982U, 0xB21572C9U, 0x407EF1CAU, 0x532E023EU, 0xA145813DU, + 0x758FE5D6U, 0x87E466D5U, 0x94B49521U, 0x66DF1622U, 0x38CC2A06U, + 0xCAA7A905U, 0xD9F75AF1U, 0x2B9CD9F2U, 0xFF56BD19U, 0x0D3D3E1AU, + 0x1E6DCDEEU, 0xEC064EEDU, 0xC38D26C4U, 0x31E6A5C7U, 0x22B65633U, + 0xD0DDD530U, 0x0417B1DBU, 0xF67C32D8U, 0xE52CC12CU, 0x1747422FU, + 0x49547E0BU, 0xBB3FFD08U, 0xA86F0EFCU, 0x5A048DFFU, 0x8ECEE914U, + 0x7CA56A17U, 0x6FF599E3U, 0x9D9E1AE0U, 0xD3D3E1ABU, 0x21B862A8U, + 0x32E8915CU, 0xC083125FU, 0x144976B4U, 0xE622F5B7U, 0xF5720643U, + 0x07198540U, 0x590AB964U, 0xAB613A67U, 0xB831C993U, 0x4A5A4A90U, + 0x9E902E7BU, 0x6CFBAD78U, 0x7FAB5E8CU, 0x8DC0DD8FU, 0xE330A81AU, + 0x115B2B19U, 0x020BD8EDU, 0xF0605BEEU, 0x24AA3F05U, 0xD6C1BC06U, + 0xC5914FF2U, 0x37FACCF1U, 0x69E9F0D5U, 0x9B8273D6U, 0x88D28022U, + 0x7AB90321U, 0xAE7367CAU, 0x5C18E4C9U, 0x4F48173DU, 0xBD23943EU, + 0xF36E6F75U, 0x0105EC76U, 0x12551F82U, 0xE03E9C81U, 0x34F4F86AU, + 0xC69F7B69U, 0xD5CF889DU, 0x27A40B9EU, 0x79B737BAU, 0x8BDCB4B9U, + 0x988C474DU, 0x6AE7C44EU, 0xBE2DA0A5U, 0x4C4623A6U, 0x5F16D052U, + 0xAD7D5351U}; + + for (i = 0; i < len; i++) { + crc32val = crc32_tab[(HASHMAP_CAST(unsigned char, crc32val) ^ + HASHMAP_CAST(unsigned char, s[i]))] ^ + (crc32val >> 8); + } + return crc32val; +#endif +} + +unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) { + unsigned key = hashmap_crc32_helper(keystring, len); + + /* Robert Jenkins' 32 bit Mix Function */ + key += (key << 12); + key ^= (key >> 22); + key += (key << 4); + key ^= (key >> 9); + key += (key << 10); + key ^= (key >> 2); + key += (key << 7); + key ^= (key >> 12); + + /* Knuth's Multiplicative Method */ + key = (key >> 3) * 2654435761; + + return key % m->table_size; +} + +int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, const unsigned len) { + return (element->key_len == len) && (0 == memcmp(element->key, key, len)); +} + +int hashmap_hash_helper(const struct hashmap_s *const m, const char *const key, + const unsigned len, unsigned *const out_index) { + unsigned int start, curr; + unsigned int i; + int total_in_use; + + /* If full, return immediately */ + if (m->size >= m->table_size) { + return 0; + } + + /* Find the best index */ + curr = start = hashmap_hash_helper_int_helper(m, key, len); + + /* First linear probe to check if we've already insert the element */ + total_in_use = 0; + + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + const int in_use = m->data[curr].in_use; + + total_in_use += in_use; + + if (in_use && hashmap_match_helper(&m->data[curr], key, len)) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + + curr = start; + + /* Second linear probe to actually insert our element (only if there was at + * least one empty entry) */ + if (HASHMAP_MAX_CHAIN_LENGTH > total_in_use) { + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (!m->data[curr].in_use) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + } + + return 0; +} + +int hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) { + int temp = hashmap_put(HASHMAP_PTR_CAST(struct hashmap_s *, new_hash), e->key, + e->key_len, e->data); + if (0 < temp) { + return 1; + } + /* clear old value to avoid stale pointers */ + return -1; +} +/* + * Doubles the size of the hashmap, and rehashes all the elements + */ +int hashmap_rehash_helper(struct hashmap_s *const m) { + /* If this multiplication overflows hashmap_create will fail. */ + unsigned new_size = 2 * m->table_size; + + struct hashmap_s new_hash; + + int flag = hashmap_create(new_size, &new_hash); + + if (0 != flag) { + return flag; + } + + /* copy the old elements to the new table */ + flag = hashmap_iterate_pairs(m, hashmap_rehash_iterator, + HASHMAP_PTR_CAST(void *, &new_hash)); + + if (0 != flag) { + return flag; + } + + hashmap_destroy(m); + /* put new hash into old hash structure by copying */ + memcpy(m, &new_hash, sizeof(struct hashmap_s)); + + return 0; +} + +#if defined(_MSC_VER) +#pragma warning(pop) +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif + +#endif diff --git a/rpg/level14.c b/rpg/level14.c new file mode 100644 index 0000000..59cc068 --- /dev/null +++ b/rpg/level14.c @@ -0,0 +1,56 @@ +#include +#include "constants.h" +#include "ent.h" + +#include +#include "rpg_imports.h" + +bool in_door = false; + +__EXPORT__ void level_entered_tile(ent_t* ent, int gx, int gy, grid_t g) +{ + if (g.tag) + { + if (is_player(ent)) + { + grid_t* find = NULL; + if (strcmp(g.tag, "d1") == 0) + { + if (!in_door && (find = get_tile_by_tag("d2")) != NULL) + { + int target_gx, target_gy; + grid_pos(find, &target_gx, &target_gy); + ent->x = target_gx * GRID; + ent->y = target_gy * GRID; + in_door = true; + } + } + if (strcmp(g.tag, "d2") == 0) + { + if (!in_door && (find = get_tile_by_tag("d1")) != NULL) + { + int target_gx, target_gy; + grid_pos((grid_t*)find, &target_gx, &target_gy); + ent->x = target_gx * GRID; + ent->y = target_gy * GRID; + in_door = true; + } + } + } + } +} +__EXPORT__ void level_exited_tile(ent_t* ent, int gx, int gy, grid_t g) +{ +} + +__EXPORT__ void level_update(float ms) +{ + in_door = false; +} + +__EXPORT__ int setup(int arg) +{ + LOAD_DYN(is_player) + LOAD_DYN(get_tile_by_tag) + LOAD_DYN(grid_pos) +} diff --git a/rpg/level_imports.h b/rpg/level_imports.h new file mode 100644 index 0000000..9dd2be5 --- /dev/null +++ b/rpg/level_imports.h @@ -0,0 +1,5 @@ +#include "ent.h" + +__IMPORT__ void (*level_entered_tile)(ent_t* ent, int gx, int gy, grid_t g); +__IMPORT__ void (*level_exited_tile)(ent_t* ent, int gx, int gy, grid_t g); +__IMPORT__ void (*level_update)(float t); diff --git a/rpg/parse.c b/rpg/parse.c new file mode 100644 index 0000000..ec097e2 --- /dev/null +++ b/rpg/parse.c @@ -0,0 +1,64 @@ +#include "parse.h" + +bool reset_parse = false; +char* parse_word = NULL; +int parse_line = 1; +int parse(char* l, size_t len, bool (*is_break)(char), bool debug) +{ + static char last_char; + static int i = 0; + static int nl = 0; + if (reset_parse) + { + parse_line = 1; + i = 0; + nl = 0; + last_char = 0; + reset_parse = false; + } + + parse_word = NULL; + + while (i < len) + { + char c = l[i]; + if (c == 0) c = last_char; + i++; + if (debug) + { + printf("Char@%d %d %c\n", i, c, c); + } + if (is_break(c) || c == '\n') + { + if (parse_word) + { + i--; + l[i] = 0; + last_char = c; + nl = false; + return WORD; + } + else if (c == '\n') + { + nl++; + parse_line++; + if (nl == 1) + { + return NL; + } + else if (nl == 2) + { + return BREAK; + } + } + } + else + { + if (parse_word == NULL) parse_word = l + (i - 1); + } + } + + if (parse_word) return WORD; + + return DONE; +} diff --git a/rpg/parse.h b/rpg/parse.h new file mode 100644 index 0000000..4767bf6 --- /dev/null +++ b/rpg/parse.h @@ -0,0 +1,13 @@ +#pragma once +#include + +#define WORD 0 +#define NL 1 +#define BREAK 2 +#define DONE 3 + +extern bool reset_parse; +extern char* parse_word; +extern int parse_line; + +int parse(char* l, size_t len, bool (*is_break)(char), bool debug); diff --git a/rpg/rpg.c b/rpg/rpg.c new file mode 100644 index 0000000..5791026 --- /dev/null +++ b/rpg/rpg.c @@ -0,0 +1,607 @@ +#include +#include "grid.h" +#include "ent.h" +#include "parse.h" +#include "hashmap.h" + +#include +#include "level_imports.h" + +#include "constants.h" + + +typedef enum +{ + BG_SOLID = 1, + BG_TOP = 2, +} bg_flags; + +typedef struct +{ + char* tile; + pbm_t* pbm; + uint8_t flags; +} bg_t; + +bg_t bg[100]; +int num_bg = 0; + + +grid_t grid[COLS][ROWS]; + +__EXPORT__ void grid_pos(grid_t* g, int* gx, int* gy) +{ + int index = (int)(g - &grid[0][0]); + *gx = index / ROWS; + *gy = index - (*gx * ROWS); +} + +struct hashmap_s tile_tags; + + +ent_t player; + +#define OUTLINE 2 + +bool load_level(char* fname); +void unload_level(); + +void set_outline(ent_t* ent, int pixels, bool expand, bool dither) +{ + ent->outline = d_expand_bitmap(ent->graphic, pixels, expand, dither); + ent->outline_pixels = expand ? pixels : 0; +} +void set_standard_sprite_off(ent_t* ent) +{ + ent->off_x = ent->off_y = SPRITEOFF; +} +void reset_pos(ent_t* ent, int x, int y) +{ + ent->x = ent->ox = x; + ent->y = ent->oy = y; +} +__EXPORT__ int setup(int a) +{ + hashmap_create(32, &tile_tags); + + player.graphic = f_bitmap("/player.pbm"); + set_outline(&player, OUTLINE, true, false); + set_standard_sprite_off(&player); + reset_pos(&player, 0, 0); + + if (!load_level("level14")) + { + return 1; + } + + return 0; +} + +int remove_all_hashmap(void* const ctx, struct hashmap_element_s* const value) { return -1; } + +char* last_level = NULL; +void* level_code = NULL; +void unload_level() +{ + level_update = NULL; + level_entered_tile = NULL; + level_exited_tile = NULL; + + if (level_code) unload_code(level_code); + + for (int i = 0; i < num_bg; i++) + { + free(bg[i].pbm); + } + num_bg = 0; + + if (last_level) + { + free(last_level); + last_level = NULL; + } + + hashmap_iterate_pairs(&tile_tags, remove_all_hashmap, NULL); +} + +#define SOLID 1 +#define TOP 2 + + +bool is_space(char c) { return isspace(c); } +bool is_comma_or_space(char c) { return c == ',' || is_space(c); } + +bool load_level(char* level_name) +{ + unload_level(); + memset(grid, 0, sizeof(grid)); + + char filename[100]; + sprintf(filename, "/%s.txt", level_name); + + size_t len; + last_level = (char*)f_contents(filename, &len); + if (!last_level) + { + printf("Couldn't find level: %s\n", filename); + return false; + } + + reset_parse = true; + + // name, file, [flags] + char* tile_def[] = { NULL, NULL, NULL }; + + while (true) + { + int res = parse(last_level, len, is_space, false); + //printf("Parse res: %d\n", res); + + if (res == DONE) + { + printf("No tile grid given in level %s\n", filename); + return false; + } + + int not_null = 0; + for (; not_null < 3; not_null++) + { + if (!tile_def[not_null]) break; + } + + if (res == NL) + { + if (not_null < 2) + { + printf("Invalid tile def on line %d\n", parse_line - 1); + return false; + } + + if (!tile_def[2]) tile_def[2] = "NULL"; + + printf("Parsed tile %d %s %s %s\n", not_null, tile_def[0], tile_def[1], tile_def[2]); + + bg_flags flags = 0; + if (not_null >= 3) + { + size_t flag_len = strlen(tile_def[2]); + for (int i = 0; i < flag_len; i++) + { + if (tile_def[2][i] == 's') flags |= BG_SOLID; + if (tile_def[2][i] == 't') flags |= BG_TOP; + } + } + + + bool found = false; + char f[100]; + sprintf(f, "/%s.pbm", tile_def[1]); + pbm_t* n = f_bitmap(f); + if (n) + { + found = true; + + bg_t b = { tile_def[0], n, flags }; + bg[num_bg++] = b; + + printf("Tile %s registered as word %s\n", f, tile_def[0]); + } + else + { + int i = 1; + sprintf(f, "/%s%d.pbm", tile_def[1], i); + while (n = f_bitmap(f)) + { + found = true; + + char name[10]; + sprintf(name, "%s%d", tile_def[0], i); + + + bg_t b = { malloc(strlen(name) + 1), n, flags }; + strcpy(b.tile, name); + bg[num_bg++] = b; + + printf("Tile %s registered as word %s\n", f, name); + + i++; + sprintf(f, "/%s%d.pbm", tile_def[1], i); + } + } + + if (!found) + { + printf("Not found: graphic with name %s\n", tile_def[1]); + } + + memset(tile_def, 0, sizeof(tile_def)); + continue; + } + + if (res == BREAK) break; + + if (not_null < 3) + { + tile_def[not_null++] = parse_word; + } + else + { + printf("Too many words on line %d\n", parse_line); + } + } + + int gx = 0; + int gy = 0; + while (true) + { + int res = parse(last_level, len, is_comma_or_space, false); + //printf("Parse res: %d\n", res); + if (res == DONE || res == BREAK) + { + if (gy < ROWS) + { + printf("Didn't read full grid, only %d,%d\n", gx, gy); + return false; + } + break; + } + if (res == NL) + { + if (gx < COLS) + { + printf("Couldn't read full row, only to index %d on line %d\n", gx - 1, parse_line); + return false; + } + gx = 0; + gy++; + } + if (res == WORD) + { + if (gx >= COLS || gy >= ROWS) + { + printf("Grid is too big, reached %d,%d on line %d\n", gx, gy, parse_line); + return false; + } + char* prob = NULL; + char* tag = NULL; + grid_flags flags = 0; + for (int i = 0; i < 2; i++) + { + if (parse_word[0] == '-') + { + flags |= GRID_FLIPX; + parse_word++; + } + else if (parse_word[0] == '!') + { + flags |= GRID_FLIPY; + parse_word++; + } + } + + char* last_word = parse_word; + + size_t l = strlen(last_word); + for (int i = 0; i < l; i++) + { + if (last_word[i] == '.') + { + last_word[i] = 0; + prob = last_word + (i + 1); + last_word = prob; + l = strlen(prob); + break; + } + } + + for (int i = 0; i < l; i++) + { + if (last_word[i] == ':') + { + last_word[i] = 0; + tag = last_word + (i + 1); + last_word = tag; + l = strlen(tag); + break; + } + } + + //printf("Searching %s\n", parse_word); + for (int i = 0; i < num_bg; i++) + { + //printf(" Check %s\n", bg[i].tile); + if (strcmp(bg[i].tile, parse_word) == 0) + { + if (prob) + { + int p = max(0, min(9, atoi(prob))); + if (random(1, 10) > p) continue; + } + //printf("Tile %d on %d,%d\n", i, gx, gy); + grid_t g = { i + 1, flags, tag }; + if (tag) hashmap_put(&tile_tags, tag, strlen(tag), &grid[gx][gy]); + grid[gx][gy] = g; + } + } + + gx++; + + } + } + + sprintf(filename, "/%s.bin", level_name); + level_code = f_code(filename); + + if (level_code) + { + LOAD_DYN(level_entered_tile) + LOAD_DYN(level_exited_tile) + LOAD_DYN(level_update) + } + + return 0; +} + + +float speed = 80; + +bool move_debug = false; + +bool r_intersect(int x1, int y1, int w1, int h1, + int x2, int y2, int w2, int h2) +{ + if (x1 >= x2 + w2 || + x1 + w2 <= x2 || + y1 >= y2 + h2 || + y1 + h2 <= y2) return false; + if (move_debug) printf("INTERSECT [%d,%d + %d,%d] [%d,%d + %d,%d]\n", x1, y1, w1, h1, x2, y2, w2, h2); + return true; +} + +bool r_free(int px, int py, int w, int h) +{ + int minX = px / GRID; + int maxX = (px + w - 1) / GRID; + int minY = py / GRID; + int maxY = (py + h - 1) / GRID; + + for (int i = max(0, minX); i <= min(COLS - 1, maxX); i++) + { + for (int j = max(0, minY); j <= min(ROWS - 1, maxY); j++) + { + if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & SOLID)) + { + if (r_intersect(px, py, w, h, + i * GRID + 1, + j * GRID + 1, + GRID - 2, + GRID - 2)) return false; + } + } + } + return true; +} + +__EXPORT__ bool is_player(ent_t* ent) { return ent == &player; } +__EXPORT__ grid_t* get_tile_by_tag(char* tag) { return (grid_t*)hashmap_get(&tile_tags, tag, strlen(tag)); } + + + +void entered_tile(ent_t* ent, int gx, int gy) +{ + grid_t g = grid[gx][gy]; + if (level_entered_tile) level_entered_tile(ent, gx, gy, g); +} +void exited_tile(ent_t* ent, int gx, int gy) +{ + grid_t g = grid[gx][gy]; + if (level_exited_tile) level_exited_tile(ent, gx, gy, g); +} + +void render_ent(ent_t* ent) +{ + + if (ent->outline) + { + d_pbm( + (uint16_t)roundf(ent->x) - ent->outline_pixels + PADX + ent->off_x, + (uint16_t)roundf(ent->y) - ent->outline_pixels + PADY + ent->off_y, + ent->outline, 0, 0, 0, 0, WHITE, TRANSPARENT, R_NONE, false, false); + } + d_pbm( + (uint16_t)roundf(ent->x) + PADX + ent->off_x, + (uint16_t)roundf(ent->y) + PADY + ent->off_y, + ent->graphic, 0, 0, 0, 0, BLACK, TRANSPARENT, R_NONE, false, false); +} + +void update_ent_movement(ent_t* ent, bool debug); + +__EXPORT__ int loop(int ms) +{ + float t = ms / 1000.0f; + + if (button_down(DPAD_RIGHT)) player.x += t * speed; + if (button_down(DPAD_LEFT)) player.x -= t * speed; + if (button_down(DPAD_DOWN)) player.y += t * speed; + if (button_down(DPAD_UP)) player.y -= t * speed; + if (button_pressed(BUTTON_A)) move_debug = !move_debug; + + update_ent_movement(&player, move_debug); + + if (level_update) level_update(t); + + d_clear(); + + for (int i = 0; i < COLS; i++) + { + for (int j = 0; j < ROWS; j++) + { + if (grid[i][j].tile != 0 && !(bg[grid[i][j].tile - 1].flags & TOP)) + { + d_pbm( + PADX + i * GRID + SPRITEOFF, + PADY + j * GRID + SPRITEOFF, + bg[grid[i][j].tile - 1].pbm, + 0,0,0,0, BLACK, TRANSPARENT, R_NONE, grid[i][j].flags & GRID_FLIPX, grid[i][j].flags & GRID_FLIPY); + } + } + } + + render_ent(&player); + + + for (int i = 0; i < COLS; i++) + { + for (int j = 0; j < ROWS; j++) + { + if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & TOP)) + { + d_fillRect( + PADX + i * GRID, + PADY + j * GRID, + GRID, GRID, + WHITE + ); + } + } + } + + for (int i = 0; i < COLS; i++) + { + for (int j = 0; j < ROWS; j++) + { + if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & TOP)) + { + d_pbm( + PADX + i * GRID + SPRITEOFF, + PADY + j * GRID + SPRITEOFF, + bg[grid[i][j].tile - 1].pbm, + 0,0,0,0, BLACK, TRANSPARENT, R_NONE, grid[i][j].flags & GRID_FLIPX, grid[i][j].flags & GRID_FLIPY); + } + } + } + + return 0; +} + +#define ENTER_GRID_PCT 0.2f +void get_close_grid(float x, float y, int* gx, int* gy, float* pct_x, float* pct_y) +{ + float grid_x, grid_y; + *pct_x = modff((x + GRID * 0.5f) / GRID, &grid_x) - 0.5f; + *pct_y = modff((y + GRID * 0.5f) / GRID, &grid_y) - 0.5f; + if (fabsf(*pct_x) > ENTER_GRID_PCT || fabsf(*pct_y) > ENTER_GRID_PCT) + { + grid_x = -1; + grid_y = -1; + } + *gx = (int)grid_x; + *gy = (int)grid_y; +} + +void update_ent_movement(ent_t* ent, bool debug) +{ + int ox_i = (int)roundf(ent->ox); + int oy_i = (int)roundf(ent->oy); + + if (ent->x != ent->ox || ent->y != ent->oy) + { + int x_i = (int)roundf(ent->x); + int y_i = (int)roundf(ent->y); + + if (ent->x > ent->ox) x_i = (int)roundf(ent->x + 0.5f); + if (ent->x < ent->ox) x_i = (int)roundf(ent->x - 0.5f); + + if (ent->y > ent->oy) y_i = (int)roundf(ent->y + 0.5f); + if (ent->y < ent->oy) y_i = (int)roundf(ent->y - 0.5f); + + bool goX = ox_i != x_i; + bool goY = oy_i != y_i; + + if (debug) printf("(%f,%f)->(%f,%f) I: (%d,%d)->(%d,%d) [%d, %d]\n", ent->ox, ent->oy, ent->x, ent->y, ox_i, oy_i, x_i, y_i, goX, goY); + + while (goX || goY) + { + if (goX) + { + int testX = ox_i < x_i ? ox_i + 1 : ox_i - 1; + bool test = r_free(testX + 1, oy_i + 1, GRID - 2, GRID - 2); + if (move_debug) printf("testX: %d => %d\n", testX, test); + if (test) + { + ox_i = testX; + if (ox_i == x_i) goX = false; + if (move_debug) printf("ox_i = %d, goX = %d\n", ox_i, goX); + } + else + { + goX = false; + if (move_debug) printf("goX = false\n"); + } + } + if (goY) + { + int testY = oy_i < y_i ? oy_i + 1 : oy_i - 1; + bool test = r_free(ox_i + 1, testY + 1, GRID - 2, GRID - 2); + if (move_debug) printf("testY: %d => %d\n", testY, test); + if (test) + { + oy_i = testY; + if (oy_i == y_i) goY = false; + if (move_debug) printf("oy_i = %d, goY = %d\n", oy_i, goY); + } + else + { + goY = false; + if (move_debug) printf("goY = false\n"); + } + } + } + + if (ox_i != x_i) ent->x = ox_i; + if (oy_i != y_i) ent->y = oy_i; + if (debug) printf("reached (%d,%d) on target of (%d,%d), x,y=(%f,%f)\n", ox_i, oy_i, x_i, y_i, ent->x, ent->y); + + if (debug) printf("\n====================\n\n"); + + int o_grid_x, o_grid_y; + float o_ingrid_x, o_ingrid_y; + + int grid_x, grid_y; + float ingrid_x, ingrid_y; + + get_close_grid(ent->ox, ent->oy, &o_grid_x, &o_grid_y, &o_ingrid_x, &o_ingrid_y); + + int tries = 10; + for (; tries > 0; tries--) + { + get_close_grid(ent->x, ent->y, &grid_x, &grid_y, &ingrid_x, &ingrid_y); + + if (grid_x == o_grid_x && grid_y == o_grid_y) + { + break; + } + else + { + if (o_grid_x != -1) + { + exited_tile(ent, o_grid_x, o_grid_y); + //printf("Exited: %f %f\n", o_grid_x, o_grid_y); + } + if (grid_x != -1) + { + entered_tile(ent, grid_x, grid_y); + //printf("Entered: %f %f\n", grid_x, grid_y); + } + + o_grid_x = grid_x; + o_grid_y = grid_y; + } + } + if (tries == 0) printf("RAN OUT OF TILE CHECK TRIES\n"); + } + + ent->ox = ent->x; + ent->oy = ent->y; + +} diff --git a/rpg/rpg_imports.h b/rpg/rpg_imports.h new file mode 100644 index 0000000..3f38698 --- /dev/null +++ b/rpg/rpg_imports.h @@ -0,0 +1,7 @@ +#pragma once +#include "ent.h" +#include "grid.h" + +__IMPORT__ bool (*is_player)(ent_t* ent); +__IMPORT__ grid_t* (*get_tile_by_tag)(char* tag); +__IMPORT__ void (*grid_pos)(grid_t* g, int* gx, int* gy); diff --git a/test/Makefile b/test/Makefile deleted file mode 100644 index 140f7d4..0000000 --- a/test/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -CART_DIR ?= ../cart/test -MAKE_ROOT ?= ../../cneboy/make - -SOURCES := test.c parse.c - -MODULES := level14 - -SOURCES_level14 := level14.c - -include $(MAKE_ROOT)/Makefile diff --git a/test/hashmap.h b/test/hashmap.h deleted file mode 100644 index da88e81..0000000 --- a/test/hashmap.h +++ /dev/null @@ -1,594 +0,0 @@ -/* - The latest version of this library is available on GitHub; - https://github.com/sheredom/hashmap.h -*/ - -/* - This is free and unencumbered software released into the public domain. - - Anyone is free to copy, modify, publish, use, compile, sell, or - distribute this software, either in source code form or as a compiled - binary, for any purpose, commercial or non-commercial, and by any - means. - - In jurisdictions that recognize copyright laws, the author or authors - of this software dedicate any and all copyright interest in the - software to the public domain. We make this dedication for the benefit - of the public at large and to the detriment of our heirs and - successors. We intend this dedication to be an overt act of - relinquishment in perpetuity of all present and future rights to this - software under copyright law. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - - For more information, please refer to -*/ -#ifndef SHEREDOM_HASHMAP_H_INCLUDED -#define SHEREDOM_HASHMAP_H_INCLUDED - -#if defined(_MSC_VER) -// Workaround a bug in the MSVC runtime where it uses __cplusplus when not -// defined. -#pragma warning(push, 0) -#pragma warning(disable : 4668) -#endif - -#include "client_api.h" - -//#include -//#include - -//#if (defined(_MSC_VER) && defined(__AVX__)) || \ -// (!defined(_MSC_VER) && defined(__SSE4_2__)) -//#define HASHMAP_SSE42 -//#endif - -//#if defined(HASHMAP_SSE42) -//#include -//#endif - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif - -#if defined(_MSC_VER) -#pragma warning(push) -/* Stop MSVC complaining about unreferenced functions */ -#pragma warning(disable : 4505) -/* Stop MSVC complaining about not inlining functions */ -#pragma warning(disable : 4710) -/* Stop MSVC complaining about inlining functions! */ -#pragma warning(disable : 4711) -#elif defined(__clang__) -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wunused-function" -#endif - -#if defined(_MSC_VER) -#define HASHMAP_USED -#elif defined(__GNUC__) -#define HASHMAP_USED __attribute__((used)) -#else -#define HASHMAP_USED -#endif - -/* We need to keep keys and values. */ -struct hashmap_element_s { - const char *key; - unsigned key_len; - int in_use; - void *data; -}; - -/* A hashmap has some maximum size and current size, as well as the data to - * hold. */ -struct hashmap_s { - unsigned table_size; - unsigned size; - struct hashmap_element_s *data; -}; - -#define HASHMAP_MAX_CHAIN_LENGTH (8) - -#if defined(__cplusplus) -extern "C" { -#endif - -/// @brief Create a hashmap. -/// @param initial_size The initial size of the hashmap. Must be a power of two. -/// @param out_hashmap The storage for the created hashmap. -/// @return On success 0 is returned. -/// -/// Note that the initial size of the hashmap must be a power of two, and -/// creation of the hashmap will fail if this is not the case. -static int hashmap_create(const unsigned initial_size, - struct hashmap_s *const out_hashmap) HASHMAP_USED; - -/// @brief Put an element into the hashmap. -/// @param hashmap The hashmap to insert into. -/// @param key The string key to use. -/// @param len The length of the string key. -/// @param value The value to insert. -/// @return On success 0 is returned. -/// -/// The key string slice is not copied when creating the hashmap entry, and thus -/// must remain a valid pointer until the hashmap entry is removed or the -/// hashmap is destroyed. -static int hashmap_put(struct hashmap_s *const hashmap, const char *const key, - const unsigned len, void *const value) HASHMAP_USED; - -/// @brief Get an element from the hashmap. -/// @param hashmap The hashmap to get from. -/// @param key The string key to use. -/// @param len The length of the string key. -/// @return The previously set element, or NULL if none exists. -static void *hashmap_get(const struct hashmap_s *const hashmap, - const char *const key, - const unsigned len) HASHMAP_USED; - -/// @brief Remove an element from the hashmap. -/// @param hashmap The hashmap to remove from. -/// @param key The string key to use. -/// @param len The length of the string key. -/// @return On success 0 is returned. -static int hashmap_remove(struct hashmap_s *const hashmap, - const char *const key, - const unsigned len) HASHMAP_USED; - -/// @brief Remove an element from the hashmap. -/// @param hashmap The hashmap to remove from. -/// @param key The string key to use. -/// @param len The length of the string key. -/// @return On success the original stored key pointer is returned, on failure -/// NULL is returned. -static const char * -hashmap_remove_and_return_key(struct hashmap_s *const hashmap, - const char *const key, - const unsigned len) HASHMAP_USED; - -/// @brief Iterate over all the elements in a hashmap. -/// @param hashmap The hashmap to iterate over. -/// @param f The function pointer to call on each element. -/// @param context The context to pass as the first argument to f. -/// @return If the entire hashmap was iterated then 0 is returned. Otherwise if -/// the callback function f returned non-zero then non-zero is returned. -static int hashmap_iterate(const struct hashmap_s *const hashmap, - int (*f)(void *const context, void *const value), - void *const context) HASHMAP_USED; - -/// @brief Iterate over all the elements in a hashmap. -/// @param hashmap The hashmap to iterate over. -/// @param f The function pointer to call on each element. -/// @param context The context to pass as the first argument to f. -/// @return If the entire hashmap was iterated then 0 is returned. -/// Otherwise if the callback function f returned positive then the positive -/// value is returned. If the callback function returns -1, the current item -/// is removed and iteration continues. -static int hashmap_iterate_pairs(struct hashmap_s *const hashmap, - int (*f)(void *const, - struct hashmap_element_s *const), - void *const context) HASHMAP_USED; - -/// @brief Get the size of the hashmap. -/// @param hashmap The hashmap to get the size of. -/// @return The size of the hashmap. -static unsigned -hashmap_num_entries(const struct hashmap_s *const hashmap) HASHMAP_USED; - -/// @brief Destroy the hashmap. -/// @param hashmap The hashmap to destroy. -static void hashmap_destroy(struct hashmap_s *const hashmap) HASHMAP_USED; - -static unsigned hashmap_crc32_helper(const char *const s, - const unsigned len) HASHMAP_USED; -static unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, - const char *const keystring, - const unsigned len) HASHMAP_USED; -static int hashmap_match_helper(const struct hashmap_element_s *const element, - const char *const key, - const unsigned len) HASHMAP_USED; -static int hashmap_hash_helper(const struct hashmap_s *const m, - const char *const key, const unsigned len, - unsigned *const out_index) HASHMAP_USED; -static int -hashmap_rehash_iterator(void *const new_hash, - struct hashmap_element_s *const e) HASHMAP_USED; -static int hashmap_rehash_helper(struct hashmap_s *const m) HASHMAP_USED; - -#if defined(__cplusplus) -} -#endif - -#if defined(__cplusplus) -#define HASHMAP_CAST(type, x) static_cast(x) -#define HASHMAP_PTR_CAST(type, x) reinterpret_cast(x) -#define HASHMAP_NULL NULL -#else -#define HASHMAP_CAST(type, x) ((type)x) -#define HASHMAP_PTR_CAST(type, x) ((type)x) -#define HASHMAP_NULL 0 -#endif - -int hashmap_create(const unsigned initial_size, - struct hashmap_s *const out_hashmap) { - out_hashmap->table_size = initial_size; - out_hashmap->size = 0; - - if (0 == initial_size || 0 != (initial_size & (initial_size - 1))) { - return 1; - } - - out_hashmap->data = - HASHMAP_CAST(struct hashmap_element_s *, - malloc(initial_size * sizeof(struct hashmap_element_s))); - if (!out_hashmap->data) { - return 1; - } - memset(out_hashmap->data, 0, initial_size * sizeof(struct hashmap_element_s)); - - return 0; -} - -int hashmap_put(struct hashmap_s *const m, const char *const key, - const unsigned len, void *const value) { - unsigned int index; - - /* Find a place to put our value. */ - while (!hashmap_hash_helper(m, key, len, &index)) { - if (hashmap_rehash_helper(m)) { - return 1; - } - } - - /* Set the data. */ - m->data[index].data = value; - m->data[index].key = key; - m->data[index].key_len = len; - - /* If the hashmap element was not already in use, set that it is being used - * and bump our size. */ - if (0 == m->data[index].in_use) { - m->data[index].in_use = 1; - m->size++; - } - - return 0; -} - -void *hashmap_get(const struct hashmap_s *const m, const char *const key, - const unsigned len) { - unsigned int curr; - unsigned int i; - - /* Find data location */ - curr = hashmap_hash_helper_int_helper(m, key, len); - - /* Linear probing, if necessary */ - for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { - if (m->data[curr].in_use) { - if (hashmap_match_helper(&m->data[curr], key, len)) { - return m->data[curr].data; - } - } - - curr = (curr + 1) % m->table_size; - } - - /* Not found */ - return HASHMAP_NULL; -} - -int hashmap_remove(struct hashmap_s *const m, const char *const key, - const unsigned len) { - unsigned int i; - unsigned int curr; - - /* Find key */ - curr = hashmap_hash_helper_int_helper(m, key, len); - - /* Linear probing, if necessary */ - for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { - if (m->data[curr].in_use) { - if (hashmap_match_helper(&m->data[curr], key, len)) { - /* Blank out the fields including in_use */ - memset(&m->data[curr], 0, sizeof(struct hashmap_element_s)); - - /* Reduce the size */ - m->size--; - - return 0; - } - } - - curr = (curr + 1) % m->table_size; - } - - return 1; -} - -const char *hashmap_remove_and_return_key(struct hashmap_s *const m, - const char *const key, - const unsigned len) { - unsigned int i; - unsigned int curr; - - /* Find key */ - curr = hashmap_hash_helper_int_helper(m, key, len); - - /* Linear probing, if necessary */ - for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { - if (m->data[curr].in_use) { - if (hashmap_match_helper(&m->data[curr], key, len)) { - const char *const stored_key = m->data[curr].key; - - /* Blank out the fields */ - m->data[curr].in_use = 0; - m->data[curr].data = HASHMAP_NULL; - m->data[curr].key = HASHMAP_NULL; - - /* Reduce the size */ - m->size--; - - return stored_key; - } - } - curr = (curr + 1) % m->table_size; - } - - return HASHMAP_NULL; -} - -int hashmap_iterate(const struct hashmap_s *const m, - int (*f)(void *const, void *const), void *const context) { - unsigned int i; - - /* Linear probing */ - for (i = 0; i < m->table_size; i++) { - if (m->data[i].in_use) { - if (!f(context, m->data[i].data)) { - return 1; - } - } - } - return 0; -} - -int hashmap_iterate_pairs(struct hashmap_s *const hashmap, - int (*f)(void *const, - struct hashmap_element_s *const), - void *const context) { - unsigned int i; - struct hashmap_element_s *p; - int r; - - /* Linear probing */ - for (i = 0; i < hashmap->table_size; i++) { - p = &hashmap->data[i]; - if (p->in_use) { - r = f(context, p); - switch (r) { - case -1: /* remove item */ - memset(p, 0, sizeof(struct hashmap_element_s)); - hashmap->size--; - break; - case 0: /* continue iterating */ - break; - default: /* early exit */ - return 1; - } - } - } - return 0; -} - -void hashmap_destroy(struct hashmap_s *const m) { - free(m->data); - memset(m, 0, sizeof(struct hashmap_s)); -} - -unsigned hashmap_num_entries(const struct hashmap_s *const m) { - return m->size; -} - -unsigned hashmap_crc32_helper(const char *const s, const unsigned len) { - unsigned i; - unsigned crc32val = 0; - -#if defined(HASHMAP_SSE42) - for (i = 0; i < len; i++) { - crc32val = _mm_crc32_u8(crc32val, HASHMAP_CAST(unsigned char, s[i])); - } - - return crc32val; -#else - // Using polynomial 0x11EDC6F41 to match SSE 4.2's crc function. - static const unsigned crc32_tab[] = { - 0x00000000U, 0xF26B8303U, 0xE13B70F7U, 0x1350F3F4U, 0xC79A971FU, - 0x35F1141CU, 0x26A1E7E8U, 0xD4CA64EBU, 0x8AD958CFU, 0x78B2DBCCU, - 0x6BE22838U, 0x9989AB3BU, 0x4D43CFD0U, 0xBF284CD3U, 0xAC78BF27U, - 0x5E133C24U, 0x105EC76FU, 0xE235446CU, 0xF165B798U, 0x030E349BU, - 0xD7C45070U, 0x25AFD373U, 0x36FF2087U, 0xC494A384U, 0x9A879FA0U, - 0x68EC1CA3U, 0x7BBCEF57U, 0x89D76C54U, 0x5D1D08BFU, 0xAF768BBCU, - 0xBC267848U, 0x4E4DFB4BU, 0x20BD8EDEU, 0xD2D60DDDU, 0xC186FE29U, - 0x33ED7D2AU, 0xE72719C1U, 0x154C9AC2U, 0x061C6936U, 0xF477EA35U, - 0xAA64D611U, 0x580F5512U, 0x4B5FA6E6U, 0xB93425E5U, 0x6DFE410EU, - 0x9F95C20DU, 0x8CC531F9U, 0x7EAEB2FAU, 0x30E349B1U, 0xC288CAB2U, - 0xD1D83946U, 0x23B3BA45U, 0xF779DEAEU, 0x05125DADU, 0x1642AE59U, - 0xE4292D5AU, 0xBA3A117EU, 0x4851927DU, 0x5B016189U, 0xA96AE28AU, - 0x7DA08661U, 0x8FCB0562U, 0x9C9BF696U, 0x6EF07595U, 0x417B1DBCU, - 0xB3109EBFU, 0xA0406D4BU, 0x522BEE48U, 0x86E18AA3U, 0x748A09A0U, - 0x67DAFA54U, 0x95B17957U, 0xCBA24573U, 0x39C9C670U, 0x2A993584U, - 0xD8F2B687U, 0x0C38D26CU, 0xFE53516FU, 0xED03A29BU, 0x1F682198U, - 0x5125DAD3U, 0xA34E59D0U, 0xB01EAA24U, 0x42752927U, 0x96BF4DCCU, - 0x64D4CECFU, 0x77843D3BU, 0x85EFBE38U, 0xDBFC821CU, 0x2997011FU, - 0x3AC7F2EBU, 0xC8AC71E8U, 0x1C661503U, 0xEE0D9600U, 0xFD5D65F4U, - 0x0F36E6F7U, 0x61C69362U, 0x93AD1061U, 0x80FDE395U, 0x72966096U, - 0xA65C047DU, 0x5437877EU, 0x4767748AU, 0xB50CF789U, 0xEB1FCBADU, - 0x197448AEU, 0x0A24BB5AU, 0xF84F3859U, 0x2C855CB2U, 0xDEEEDFB1U, - 0xCDBE2C45U, 0x3FD5AF46U, 0x7198540DU, 0x83F3D70EU, 0x90A324FAU, - 0x62C8A7F9U, 0xB602C312U, 0x44694011U, 0x5739B3E5U, 0xA55230E6U, - 0xFB410CC2U, 0x092A8FC1U, 0x1A7A7C35U, 0xE811FF36U, 0x3CDB9BDDU, - 0xCEB018DEU, 0xDDE0EB2AU, 0x2F8B6829U, 0x82F63B78U, 0x709DB87BU, - 0x63CD4B8FU, 0x91A6C88CU, 0x456CAC67U, 0xB7072F64U, 0xA457DC90U, - 0x563C5F93U, 0x082F63B7U, 0xFA44E0B4U, 0xE9141340U, 0x1B7F9043U, - 0xCFB5F4A8U, 0x3DDE77ABU, 0x2E8E845FU, 0xDCE5075CU, 0x92A8FC17U, - 0x60C37F14U, 0x73938CE0U, 0x81F80FE3U, 0x55326B08U, 0xA759E80BU, - 0xB4091BFFU, 0x466298FCU, 0x1871A4D8U, 0xEA1A27DBU, 0xF94AD42FU, - 0x0B21572CU, 0xDFEB33C7U, 0x2D80B0C4U, 0x3ED04330U, 0xCCBBC033U, - 0xA24BB5A6U, 0x502036A5U, 0x4370C551U, 0xB11B4652U, 0x65D122B9U, - 0x97BAA1BAU, 0x84EA524EU, 0x7681D14DU, 0x2892ED69U, 0xDAF96E6AU, - 0xC9A99D9EU, 0x3BC21E9DU, 0xEF087A76U, 0x1D63F975U, 0x0E330A81U, - 0xFC588982U, 0xB21572C9U, 0x407EF1CAU, 0x532E023EU, 0xA145813DU, - 0x758FE5D6U, 0x87E466D5U, 0x94B49521U, 0x66DF1622U, 0x38CC2A06U, - 0xCAA7A905U, 0xD9F75AF1U, 0x2B9CD9F2U, 0xFF56BD19U, 0x0D3D3E1AU, - 0x1E6DCDEEU, 0xEC064EEDU, 0xC38D26C4U, 0x31E6A5C7U, 0x22B65633U, - 0xD0DDD530U, 0x0417B1DBU, 0xF67C32D8U, 0xE52CC12CU, 0x1747422FU, - 0x49547E0BU, 0xBB3FFD08U, 0xA86F0EFCU, 0x5A048DFFU, 0x8ECEE914U, - 0x7CA56A17U, 0x6FF599E3U, 0x9D9E1AE0U, 0xD3D3E1ABU, 0x21B862A8U, - 0x32E8915CU, 0xC083125FU, 0x144976B4U, 0xE622F5B7U, 0xF5720643U, - 0x07198540U, 0x590AB964U, 0xAB613A67U, 0xB831C993U, 0x4A5A4A90U, - 0x9E902E7BU, 0x6CFBAD78U, 0x7FAB5E8CU, 0x8DC0DD8FU, 0xE330A81AU, - 0x115B2B19U, 0x020BD8EDU, 0xF0605BEEU, 0x24AA3F05U, 0xD6C1BC06U, - 0xC5914FF2U, 0x37FACCF1U, 0x69E9F0D5U, 0x9B8273D6U, 0x88D28022U, - 0x7AB90321U, 0xAE7367CAU, 0x5C18E4C9U, 0x4F48173DU, 0xBD23943EU, - 0xF36E6F75U, 0x0105EC76U, 0x12551F82U, 0xE03E9C81U, 0x34F4F86AU, - 0xC69F7B69U, 0xD5CF889DU, 0x27A40B9EU, 0x79B737BAU, 0x8BDCB4B9U, - 0x988C474DU, 0x6AE7C44EU, 0xBE2DA0A5U, 0x4C4623A6U, 0x5F16D052U, - 0xAD7D5351U}; - - for (i = 0; i < len; i++) { - crc32val = crc32_tab[(HASHMAP_CAST(unsigned char, crc32val) ^ - HASHMAP_CAST(unsigned char, s[i]))] ^ - (crc32val >> 8); - } - return crc32val; -#endif -} - -unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, - const char *const keystring, - const unsigned len) { - unsigned key = hashmap_crc32_helper(keystring, len); - - /* Robert Jenkins' 32 bit Mix Function */ - key += (key << 12); - key ^= (key >> 22); - key += (key << 4); - key ^= (key >> 9); - key += (key << 10); - key ^= (key >> 2); - key += (key << 7); - key ^= (key >> 12); - - /* Knuth's Multiplicative Method */ - key = (key >> 3) * 2654435761; - - return key % m->table_size; -} - -int hashmap_match_helper(const struct hashmap_element_s *const element, - const char *const key, const unsigned len) { - return (element->key_len == len) && (0 == memcmp(element->key, key, len)); -} - -int hashmap_hash_helper(const struct hashmap_s *const m, const char *const key, - const unsigned len, unsigned *const out_index) { - unsigned int start, curr; - unsigned int i; - int total_in_use; - - /* If full, return immediately */ - if (m->size >= m->table_size) { - return 0; - } - - /* Find the best index */ - curr = start = hashmap_hash_helper_int_helper(m, key, len); - - /* First linear probe to check if we've already insert the element */ - total_in_use = 0; - - for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { - const int in_use = m->data[curr].in_use; - - total_in_use += in_use; - - if (in_use && hashmap_match_helper(&m->data[curr], key, len)) { - *out_index = curr; - return 1; - } - - curr = (curr + 1) % m->table_size; - } - - curr = start; - - /* Second linear probe to actually insert our element (only if there was at - * least one empty entry) */ - if (HASHMAP_MAX_CHAIN_LENGTH > total_in_use) { - for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { - if (!m->data[curr].in_use) { - *out_index = curr; - return 1; - } - - curr = (curr + 1) % m->table_size; - } - } - - return 0; -} - -int hashmap_rehash_iterator(void *const new_hash, - struct hashmap_element_s *const e) { - int temp = hashmap_put(HASHMAP_PTR_CAST(struct hashmap_s *, new_hash), e->key, - e->key_len, e->data); - if (0 < temp) { - return 1; - } - /* clear old value to avoid stale pointers */ - return -1; -} -/* - * Doubles the size of the hashmap, and rehashes all the elements - */ -int hashmap_rehash_helper(struct hashmap_s *const m) { - /* If this multiplication overflows hashmap_create will fail. */ - unsigned new_size = 2 * m->table_size; - - struct hashmap_s new_hash; - - int flag = hashmap_create(new_size, &new_hash); - - if (0 != flag) { - return flag; - } - - /* copy the old elements to the new table */ - flag = hashmap_iterate_pairs(m, hashmap_rehash_iterator, - HASHMAP_PTR_CAST(void *, &new_hash)); - - if (0 != flag) { - return flag; - } - - hashmap_destroy(m); - /* put new hash into old hash structure by copying */ - memcpy(m, &new_hash, sizeof(struct hashmap_s)); - - return 0; -} - -#if defined(_MSC_VER) -#pragma warning(pop) -#elif defined(__clang__) -#pragma clang diagnostic pop -#endif - -#endif diff --git a/test/level14.c b/test/level14.c deleted file mode 100644 index 469dd85..0000000 --- a/test/level14.c +++ /dev/null @@ -1,3 +0,0 @@ -#include - -__EXPORT__ void tile_entered() { } diff --git a/test/parse.c b/test/parse.c deleted file mode 100644 index ec097e2..0000000 --- a/test/parse.c +++ /dev/null @@ -1,64 +0,0 @@ -#include "parse.h" - -bool reset_parse = false; -char* parse_word = NULL; -int parse_line = 1; -int parse(char* l, size_t len, bool (*is_break)(char), bool debug) -{ - static char last_char; - static int i = 0; - static int nl = 0; - if (reset_parse) - { - parse_line = 1; - i = 0; - nl = 0; - last_char = 0; - reset_parse = false; - } - - parse_word = NULL; - - while (i < len) - { - char c = l[i]; - if (c == 0) c = last_char; - i++; - if (debug) - { - printf("Char@%d %d %c\n", i, c, c); - } - if (is_break(c) || c == '\n') - { - if (parse_word) - { - i--; - l[i] = 0; - last_char = c; - nl = false; - return WORD; - } - else if (c == '\n') - { - nl++; - parse_line++; - if (nl == 1) - { - return NL; - } - else if (nl == 2) - { - return BREAK; - } - } - } - else - { - if (parse_word == NULL) parse_word = l + (i - 1); - } - } - - if (parse_word) return WORD; - - return DONE; -} diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix4.pbm b/cart/test/roof_fix4.pbm deleted file mode 100644 index 2c392ad..0000000 --- a/cart/test/roof_fix4.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/test/roof_fix5.pbm b/cart/test/roof_fix5.pbm deleted file mode 100644 index 39b7f23..0000000 --- a/cart/test/roof_fix5.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/test/roof_fix6.pbm b/cart/test/roof_fix6.pbm deleted file mode 100644 index 8bbe9fc..0000000 --- a/cart/test/roof_fix6.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/test/roof_fix7.pbm b/cart/test/roof_fix7.pbm deleted file mode 100644 index 0c29640..0000000 --- a/cart/test/roof_fix7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix8.pbm b/cart/test/roof_fix8.pbm deleted file mode 100644 index e90cfc3..0000000 --- a/cart/test/roof_fix8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix9.pbm b/cart/test/roof_fix9.pbm deleted file mode 100644 index 31dfb3d..0000000 --- a/cart/test/roof_fix9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall1.pbm b/cart/test/wall1.pbm deleted file mode 100644 index 31e09be..0000000 --- a/cart/test/wall1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall2.pbm b/cart/test/wall2.pbm deleted file mode 100644 index 1871c8b..0000000 --- a/cart/test/wall2.pbm +++ /dev/null Binary files differ diff --git a/rpg/Makefile b/rpg/Makefile new file mode 100644 index 0000000..5a8fda9 --- /dev/null +++ b/rpg/Makefile @@ -0,0 +1,10 @@ +CART_DIR ?= ../cart/rpg +MAKE_ROOT ?= ../../cneboy/make + +SOURCES := rpg.c parse.c + +MODULES := level14 + +SOURCES_level14 := level14.c + +include $(MAKE_ROOT)/Makefile diff --git a/rpg/constants.h b/rpg/constants.h new file mode 100644 index 0000000..336c98e --- /dev/null +++ b/rpg/constants.h @@ -0,0 +1,6 @@ +#define GRID 14 +#define COLS 12 +#define ROWS 10 +#define PADX 0 +#define PADY 2 +#define SPRITEOFF -1 diff --git a/rpg/ent.h b/rpg/ent.h new file mode 100644 index 0000000..254369d --- /dev/null +++ b/rpg/ent.h @@ -0,0 +1,20 @@ +#pragma once +#include +#include + +typedef struct +{ + // last frame coords + float ox; + float oy; + + // current coords + float x; + float y; + + pbm_t* graphic; + pbm_t* outline; + int off_x; + int off_y; + int outline_pixels; +} ent_t; diff --git a/rpg/grid.h b/rpg/grid.h new file mode 100644 index 0000000..4cddf8d --- /dev/null +++ b/rpg/grid.h @@ -0,0 +1,12 @@ +typedef enum +{ + GRID_FLIPX = 1, + GRID_FLIPY = 2, +} grid_flags; + +typedef struct +{ + uint8_t tile; + grid_flags flags; + char* tag; +} grid_t; diff --git a/rpg/hashmap.h b/rpg/hashmap.h new file mode 100644 index 0000000..da88e81 --- /dev/null +++ b/rpg/hashmap.h @@ -0,0 +1,594 @@ +/* + The latest version of this library is available on GitHub; + https://github.com/sheredom/hashmap.h +*/ + +/* + This is free and unencumbered software released into the public domain. + + Anyone is free to copy, modify, publish, use, compile, sell, or + distribute this software, either in source code form or as a compiled + binary, for any purpose, commercial or non-commercial, and by any + means. + + In jurisdictions that recognize copyright laws, the author or authors + of this software dedicate any and all copyright interest in the + software to the public domain. We make this dedication for the benefit + of the public at large and to the detriment of our heirs and + successors. We intend this dedication to be an overt act of + relinquishment in perpetuity of all present and future rights to this + software under copyright law. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + For more information, please refer to +*/ +#ifndef SHEREDOM_HASHMAP_H_INCLUDED +#define SHEREDOM_HASHMAP_H_INCLUDED + +#if defined(_MSC_VER) +// Workaround a bug in the MSVC runtime where it uses __cplusplus when not +// defined. +#pragma warning(push, 0) +#pragma warning(disable : 4668) +#endif + +#include "client_api.h" + +//#include +//#include + +//#if (defined(_MSC_VER) && defined(__AVX__)) || \ +// (!defined(_MSC_VER) && defined(__SSE4_2__)) +//#define HASHMAP_SSE42 +//#endif + +//#if defined(HASHMAP_SSE42) +//#include +//#endif + +#if defined(_MSC_VER) +#pragma warning(pop) +#endif + +#if defined(_MSC_VER) +#pragma warning(push) +/* Stop MSVC complaining about unreferenced functions */ +#pragma warning(disable : 4505) +/* Stop MSVC complaining about not inlining functions */ +#pragma warning(disable : 4710) +/* Stop MSVC complaining about inlining functions! */ +#pragma warning(disable : 4711) +#elif defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-function" +#endif + +#if defined(_MSC_VER) +#define HASHMAP_USED +#elif defined(__GNUC__) +#define HASHMAP_USED __attribute__((used)) +#else +#define HASHMAP_USED +#endif + +/* We need to keep keys and values. */ +struct hashmap_element_s { + const char *key; + unsigned key_len; + int in_use; + void *data; +}; + +/* A hashmap has some maximum size and current size, as well as the data to + * hold. */ +struct hashmap_s { + unsigned table_size; + unsigned size; + struct hashmap_element_s *data; +}; + +#define HASHMAP_MAX_CHAIN_LENGTH (8) + +#if defined(__cplusplus) +extern "C" { +#endif + +/// @brief Create a hashmap. +/// @param initial_size The initial size of the hashmap. Must be a power of two. +/// @param out_hashmap The storage for the created hashmap. +/// @return On success 0 is returned. +/// +/// Note that the initial size of the hashmap must be a power of two, and +/// creation of the hashmap will fail if this is not the case. +static int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) HASHMAP_USED; + +/// @brief Put an element into the hashmap. +/// @param hashmap The hashmap to insert into. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @param value The value to insert. +/// @return On success 0 is returned. +/// +/// The key string slice is not copied when creating the hashmap entry, and thus +/// must remain a valid pointer until the hashmap entry is removed or the +/// hashmap is destroyed. +static int hashmap_put(struct hashmap_s *const hashmap, const char *const key, + const unsigned len, void *const value) HASHMAP_USED; + +/// @brief Get an element from the hashmap. +/// @param hashmap The hashmap to get from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return The previously set element, or NULL if none exists. +static void *hashmap_get(const struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success 0 is returned. +static int hashmap_remove(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success the original stored key pointer is returned, on failure +/// NULL is returned. +static const char * +hashmap_remove_and_return_key(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. Otherwise if +/// the callback function f returned non-zero then non-zero is returned. +static int hashmap_iterate(const struct hashmap_s *const hashmap, + int (*f)(void *const context, void *const value), + void *const context) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. +/// Otherwise if the callback function f returned positive then the positive +/// value is returned. If the callback function returns -1, the current item +/// is removed and iteration continues. +static int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) HASHMAP_USED; + +/// @brief Get the size of the hashmap. +/// @param hashmap The hashmap to get the size of. +/// @return The size of the hashmap. +static unsigned +hashmap_num_entries(const struct hashmap_s *const hashmap) HASHMAP_USED; + +/// @brief Destroy the hashmap. +/// @param hashmap The hashmap to destroy. +static void hashmap_destroy(struct hashmap_s *const hashmap) HASHMAP_USED; + +static unsigned hashmap_crc32_helper(const char *const s, + const unsigned len) HASHMAP_USED; +static unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) HASHMAP_USED; +static int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, + const unsigned len) HASHMAP_USED; +static int hashmap_hash_helper(const struct hashmap_s *const m, + const char *const key, const unsigned len, + unsigned *const out_index) HASHMAP_USED; +static int +hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) HASHMAP_USED; +static int hashmap_rehash_helper(struct hashmap_s *const m) HASHMAP_USED; + +#if defined(__cplusplus) +} +#endif + +#if defined(__cplusplus) +#define HASHMAP_CAST(type, x) static_cast(x) +#define HASHMAP_PTR_CAST(type, x) reinterpret_cast(x) +#define HASHMAP_NULL NULL +#else +#define HASHMAP_CAST(type, x) ((type)x) +#define HASHMAP_PTR_CAST(type, x) ((type)x) +#define HASHMAP_NULL 0 +#endif + +int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) { + out_hashmap->table_size = initial_size; + out_hashmap->size = 0; + + if (0 == initial_size || 0 != (initial_size & (initial_size - 1))) { + return 1; + } + + out_hashmap->data = + HASHMAP_CAST(struct hashmap_element_s *, + malloc(initial_size * sizeof(struct hashmap_element_s))); + if (!out_hashmap->data) { + return 1; + } + memset(out_hashmap->data, 0, initial_size * sizeof(struct hashmap_element_s)); + + return 0; +} + +int hashmap_put(struct hashmap_s *const m, const char *const key, + const unsigned len, void *const value) { + unsigned int index; + + /* Find a place to put our value. */ + while (!hashmap_hash_helper(m, key, len, &index)) { + if (hashmap_rehash_helper(m)) { + return 1; + } + } + + /* Set the data. */ + m->data[index].data = value; + m->data[index].key = key; + m->data[index].key_len = len; + + /* If the hashmap element was not already in use, set that it is being used + * and bump our size. */ + if (0 == m->data[index].in_use) { + m->data[index].in_use = 1; + m->size++; + } + + return 0; +} + +void *hashmap_get(const struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int curr; + unsigned int i; + + /* Find data location */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + return m->data[curr].data; + } + } + + curr = (curr + 1) % m->table_size; + } + + /* Not found */ + return HASHMAP_NULL; +} + +int hashmap_remove(struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + /* Blank out the fields including in_use */ + memset(&m->data[curr], 0, sizeof(struct hashmap_element_s)); + + /* Reduce the size */ + m->size--; + + return 0; + } + } + + curr = (curr + 1) % m->table_size; + } + + return 1; +} + +const char *hashmap_remove_and_return_key(struct hashmap_s *const m, + const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + const char *const stored_key = m->data[curr].key; + + /* Blank out the fields */ + m->data[curr].in_use = 0; + m->data[curr].data = HASHMAP_NULL; + m->data[curr].key = HASHMAP_NULL; + + /* Reduce the size */ + m->size--; + + return stored_key; + } + } + curr = (curr + 1) % m->table_size; + } + + return HASHMAP_NULL; +} + +int hashmap_iterate(const struct hashmap_s *const m, + int (*f)(void *const, void *const), void *const context) { + unsigned int i; + + /* Linear probing */ + for (i = 0; i < m->table_size; i++) { + if (m->data[i].in_use) { + if (!f(context, m->data[i].data)) { + return 1; + } + } + } + return 0; +} + +int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) { + unsigned int i; + struct hashmap_element_s *p; + int r; + + /* Linear probing */ + for (i = 0; i < hashmap->table_size; i++) { + p = &hashmap->data[i]; + if (p->in_use) { + r = f(context, p); + switch (r) { + case -1: /* remove item */ + memset(p, 0, sizeof(struct hashmap_element_s)); + hashmap->size--; + break; + case 0: /* continue iterating */ + break; + default: /* early exit */ + return 1; + } + } + } + return 0; +} + +void hashmap_destroy(struct hashmap_s *const m) { + free(m->data); + memset(m, 0, sizeof(struct hashmap_s)); +} + +unsigned hashmap_num_entries(const struct hashmap_s *const m) { + return m->size; +} + +unsigned hashmap_crc32_helper(const char *const s, const unsigned len) { + unsigned i; + unsigned crc32val = 0; + +#if defined(HASHMAP_SSE42) + for (i = 0; i < len; i++) { + crc32val = _mm_crc32_u8(crc32val, HASHMAP_CAST(unsigned char, s[i])); + } + + return crc32val; +#else + // Using polynomial 0x11EDC6F41 to match SSE 4.2's crc function. + static const unsigned crc32_tab[] = { + 0x00000000U, 0xF26B8303U, 0xE13B70F7U, 0x1350F3F4U, 0xC79A971FU, + 0x35F1141CU, 0x26A1E7E8U, 0xD4CA64EBU, 0x8AD958CFU, 0x78B2DBCCU, + 0x6BE22838U, 0x9989AB3BU, 0x4D43CFD0U, 0xBF284CD3U, 0xAC78BF27U, + 0x5E133C24U, 0x105EC76FU, 0xE235446CU, 0xF165B798U, 0x030E349BU, + 0xD7C45070U, 0x25AFD373U, 0x36FF2087U, 0xC494A384U, 0x9A879FA0U, + 0x68EC1CA3U, 0x7BBCEF57U, 0x89D76C54U, 0x5D1D08BFU, 0xAF768BBCU, + 0xBC267848U, 0x4E4DFB4BU, 0x20BD8EDEU, 0xD2D60DDDU, 0xC186FE29U, + 0x33ED7D2AU, 0xE72719C1U, 0x154C9AC2U, 0x061C6936U, 0xF477EA35U, + 0xAA64D611U, 0x580F5512U, 0x4B5FA6E6U, 0xB93425E5U, 0x6DFE410EU, + 0x9F95C20DU, 0x8CC531F9U, 0x7EAEB2FAU, 0x30E349B1U, 0xC288CAB2U, + 0xD1D83946U, 0x23B3BA45U, 0xF779DEAEU, 0x05125DADU, 0x1642AE59U, + 0xE4292D5AU, 0xBA3A117EU, 0x4851927DU, 0x5B016189U, 0xA96AE28AU, + 0x7DA08661U, 0x8FCB0562U, 0x9C9BF696U, 0x6EF07595U, 0x417B1DBCU, + 0xB3109EBFU, 0xA0406D4BU, 0x522BEE48U, 0x86E18AA3U, 0x748A09A0U, + 0x67DAFA54U, 0x95B17957U, 0xCBA24573U, 0x39C9C670U, 0x2A993584U, + 0xD8F2B687U, 0x0C38D26CU, 0xFE53516FU, 0xED03A29BU, 0x1F682198U, + 0x5125DAD3U, 0xA34E59D0U, 0xB01EAA24U, 0x42752927U, 0x96BF4DCCU, + 0x64D4CECFU, 0x77843D3BU, 0x85EFBE38U, 0xDBFC821CU, 0x2997011FU, + 0x3AC7F2EBU, 0xC8AC71E8U, 0x1C661503U, 0xEE0D9600U, 0xFD5D65F4U, + 0x0F36E6F7U, 0x61C69362U, 0x93AD1061U, 0x80FDE395U, 0x72966096U, + 0xA65C047DU, 0x5437877EU, 0x4767748AU, 0xB50CF789U, 0xEB1FCBADU, + 0x197448AEU, 0x0A24BB5AU, 0xF84F3859U, 0x2C855CB2U, 0xDEEEDFB1U, + 0xCDBE2C45U, 0x3FD5AF46U, 0x7198540DU, 0x83F3D70EU, 0x90A324FAU, + 0x62C8A7F9U, 0xB602C312U, 0x44694011U, 0x5739B3E5U, 0xA55230E6U, + 0xFB410CC2U, 0x092A8FC1U, 0x1A7A7C35U, 0xE811FF36U, 0x3CDB9BDDU, + 0xCEB018DEU, 0xDDE0EB2AU, 0x2F8B6829U, 0x82F63B78U, 0x709DB87BU, + 0x63CD4B8FU, 0x91A6C88CU, 0x456CAC67U, 0xB7072F64U, 0xA457DC90U, + 0x563C5F93U, 0x082F63B7U, 0xFA44E0B4U, 0xE9141340U, 0x1B7F9043U, + 0xCFB5F4A8U, 0x3DDE77ABU, 0x2E8E845FU, 0xDCE5075CU, 0x92A8FC17U, + 0x60C37F14U, 0x73938CE0U, 0x81F80FE3U, 0x55326B08U, 0xA759E80BU, + 0xB4091BFFU, 0x466298FCU, 0x1871A4D8U, 0xEA1A27DBU, 0xF94AD42FU, + 0x0B21572CU, 0xDFEB33C7U, 0x2D80B0C4U, 0x3ED04330U, 0xCCBBC033U, + 0xA24BB5A6U, 0x502036A5U, 0x4370C551U, 0xB11B4652U, 0x65D122B9U, + 0x97BAA1BAU, 0x84EA524EU, 0x7681D14DU, 0x2892ED69U, 0xDAF96E6AU, + 0xC9A99D9EU, 0x3BC21E9DU, 0xEF087A76U, 0x1D63F975U, 0x0E330A81U, + 0xFC588982U, 0xB21572C9U, 0x407EF1CAU, 0x532E023EU, 0xA145813DU, + 0x758FE5D6U, 0x87E466D5U, 0x94B49521U, 0x66DF1622U, 0x38CC2A06U, + 0xCAA7A905U, 0xD9F75AF1U, 0x2B9CD9F2U, 0xFF56BD19U, 0x0D3D3E1AU, + 0x1E6DCDEEU, 0xEC064EEDU, 0xC38D26C4U, 0x31E6A5C7U, 0x22B65633U, + 0xD0DDD530U, 0x0417B1DBU, 0xF67C32D8U, 0xE52CC12CU, 0x1747422FU, + 0x49547E0BU, 0xBB3FFD08U, 0xA86F0EFCU, 0x5A048DFFU, 0x8ECEE914U, + 0x7CA56A17U, 0x6FF599E3U, 0x9D9E1AE0U, 0xD3D3E1ABU, 0x21B862A8U, + 0x32E8915CU, 0xC083125FU, 0x144976B4U, 0xE622F5B7U, 0xF5720643U, + 0x07198540U, 0x590AB964U, 0xAB613A67U, 0xB831C993U, 0x4A5A4A90U, + 0x9E902E7BU, 0x6CFBAD78U, 0x7FAB5E8CU, 0x8DC0DD8FU, 0xE330A81AU, + 0x115B2B19U, 0x020BD8EDU, 0xF0605BEEU, 0x24AA3F05U, 0xD6C1BC06U, + 0xC5914FF2U, 0x37FACCF1U, 0x69E9F0D5U, 0x9B8273D6U, 0x88D28022U, + 0x7AB90321U, 0xAE7367CAU, 0x5C18E4C9U, 0x4F48173DU, 0xBD23943EU, + 0xF36E6F75U, 0x0105EC76U, 0x12551F82U, 0xE03E9C81U, 0x34F4F86AU, + 0xC69F7B69U, 0xD5CF889DU, 0x27A40B9EU, 0x79B737BAU, 0x8BDCB4B9U, + 0x988C474DU, 0x6AE7C44EU, 0xBE2DA0A5U, 0x4C4623A6U, 0x5F16D052U, + 0xAD7D5351U}; + + for (i = 0; i < len; i++) { + crc32val = crc32_tab[(HASHMAP_CAST(unsigned char, crc32val) ^ + HASHMAP_CAST(unsigned char, s[i]))] ^ + (crc32val >> 8); + } + return crc32val; +#endif +} + +unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) { + unsigned key = hashmap_crc32_helper(keystring, len); + + /* Robert Jenkins' 32 bit Mix Function */ + key += (key << 12); + key ^= (key >> 22); + key += (key << 4); + key ^= (key >> 9); + key += (key << 10); + key ^= (key >> 2); + key += (key << 7); + key ^= (key >> 12); + + /* Knuth's Multiplicative Method */ + key = (key >> 3) * 2654435761; + + return key % m->table_size; +} + +int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, const unsigned len) { + return (element->key_len == len) && (0 == memcmp(element->key, key, len)); +} + +int hashmap_hash_helper(const struct hashmap_s *const m, const char *const key, + const unsigned len, unsigned *const out_index) { + unsigned int start, curr; + unsigned int i; + int total_in_use; + + /* If full, return immediately */ + if (m->size >= m->table_size) { + return 0; + } + + /* Find the best index */ + curr = start = hashmap_hash_helper_int_helper(m, key, len); + + /* First linear probe to check if we've already insert the element */ + total_in_use = 0; + + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + const int in_use = m->data[curr].in_use; + + total_in_use += in_use; + + if (in_use && hashmap_match_helper(&m->data[curr], key, len)) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + + curr = start; + + /* Second linear probe to actually insert our element (only if there was at + * least one empty entry) */ + if (HASHMAP_MAX_CHAIN_LENGTH > total_in_use) { + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (!m->data[curr].in_use) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + } + + return 0; +} + +int hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) { + int temp = hashmap_put(HASHMAP_PTR_CAST(struct hashmap_s *, new_hash), e->key, + e->key_len, e->data); + if (0 < temp) { + return 1; + } + /* clear old value to avoid stale pointers */ + return -1; +} +/* + * Doubles the size of the hashmap, and rehashes all the elements + */ +int hashmap_rehash_helper(struct hashmap_s *const m) { + /* If this multiplication overflows hashmap_create will fail. */ + unsigned new_size = 2 * m->table_size; + + struct hashmap_s new_hash; + + int flag = hashmap_create(new_size, &new_hash); + + if (0 != flag) { + return flag; + } + + /* copy the old elements to the new table */ + flag = hashmap_iterate_pairs(m, hashmap_rehash_iterator, + HASHMAP_PTR_CAST(void *, &new_hash)); + + if (0 != flag) { + return flag; + } + + hashmap_destroy(m); + /* put new hash into old hash structure by copying */ + memcpy(m, &new_hash, sizeof(struct hashmap_s)); + + return 0; +} + +#if defined(_MSC_VER) +#pragma warning(pop) +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif + +#endif diff --git a/rpg/level14.c b/rpg/level14.c new file mode 100644 index 0000000..59cc068 --- /dev/null +++ b/rpg/level14.c @@ -0,0 +1,56 @@ +#include +#include "constants.h" +#include "ent.h" + +#include +#include "rpg_imports.h" + +bool in_door = false; + +__EXPORT__ void level_entered_tile(ent_t* ent, int gx, int gy, grid_t g) +{ + if (g.tag) + { + if (is_player(ent)) + { + grid_t* find = NULL; + if (strcmp(g.tag, "d1") == 0) + { + if (!in_door && (find = get_tile_by_tag("d2")) != NULL) + { + int target_gx, target_gy; + grid_pos(find, &target_gx, &target_gy); + ent->x = target_gx * GRID; + ent->y = target_gy * GRID; + in_door = true; + } + } + if (strcmp(g.tag, "d2") == 0) + { + if (!in_door && (find = get_tile_by_tag("d1")) != NULL) + { + int target_gx, target_gy; + grid_pos((grid_t*)find, &target_gx, &target_gy); + ent->x = target_gx * GRID; + ent->y = target_gy * GRID; + in_door = true; + } + } + } + } +} +__EXPORT__ void level_exited_tile(ent_t* ent, int gx, int gy, grid_t g) +{ +} + +__EXPORT__ void level_update(float ms) +{ + in_door = false; +} + +__EXPORT__ int setup(int arg) +{ + LOAD_DYN(is_player) + LOAD_DYN(get_tile_by_tag) + LOAD_DYN(grid_pos) +} diff --git a/rpg/level_imports.h b/rpg/level_imports.h new file mode 100644 index 0000000..9dd2be5 --- /dev/null +++ b/rpg/level_imports.h @@ -0,0 +1,5 @@ +#include "ent.h" + +__IMPORT__ void (*level_entered_tile)(ent_t* ent, int gx, int gy, grid_t g); +__IMPORT__ void (*level_exited_tile)(ent_t* ent, int gx, int gy, grid_t g); +__IMPORT__ void (*level_update)(float t); diff --git a/rpg/parse.c b/rpg/parse.c new file mode 100644 index 0000000..ec097e2 --- /dev/null +++ b/rpg/parse.c @@ -0,0 +1,64 @@ +#include "parse.h" + +bool reset_parse = false; +char* parse_word = NULL; +int parse_line = 1; +int parse(char* l, size_t len, bool (*is_break)(char), bool debug) +{ + static char last_char; + static int i = 0; + static int nl = 0; + if (reset_parse) + { + parse_line = 1; + i = 0; + nl = 0; + last_char = 0; + reset_parse = false; + } + + parse_word = NULL; + + while (i < len) + { + char c = l[i]; + if (c == 0) c = last_char; + i++; + if (debug) + { + printf("Char@%d %d %c\n", i, c, c); + } + if (is_break(c) || c == '\n') + { + if (parse_word) + { + i--; + l[i] = 0; + last_char = c; + nl = false; + return WORD; + } + else if (c == '\n') + { + nl++; + parse_line++; + if (nl == 1) + { + return NL; + } + else if (nl == 2) + { + return BREAK; + } + } + } + else + { + if (parse_word == NULL) parse_word = l + (i - 1); + } + } + + if (parse_word) return WORD; + + return DONE; +} diff --git a/rpg/parse.h b/rpg/parse.h new file mode 100644 index 0000000..4767bf6 --- /dev/null +++ b/rpg/parse.h @@ -0,0 +1,13 @@ +#pragma once +#include + +#define WORD 0 +#define NL 1 +#define BREAK 2 +#define DONE 3 + +extern bool reset_parse; +extern char* parse_word; +extern int parse_line; + +int parse(char* l, size_t len, bool (*is_break)(char), bool debug); diff --git a/rpg/rpg.c b/rpg/rpg.c new file mode 100644 index 0000000..5791026 --- /dev/null +++ b/rpg/rpg.c @@ -0,0 +1,607 @@ +#include +#include "grid.h" +#include "ent.h" +#include "parse.h" +#include "hashmap.h" + +#include +#include "level_imports.h" + +#include "constants.h" + + +typedef enum +{ + BG_SOLID = 1, + BG_TOP = 2, +} bg_flags; + +typedef struct +{ + char* tile; + pbm_t* pbm; + uint8_t flags; +} bg_t; + +bg_t bg[100]; +int num_bg = 0; + + +grid_t grid[COLS][ROWS]; + +__EXPORT__ void grid_pos(grid_t* g, int* gx, int* gy) +{ + int index = (int)(g - &grid[0][0]); + *gx = index / ROWS; + *gy = index - (*gx * ROWS); +} + +struct hashmap_s tile_tags; + + +ent_t player; + +#define OUTLINE 2 + +bool load_level(char* fname); +void unload_level(); + +void set_outline(ent_t* ent, int pixels, bool expand, bool dither) +{ + ent->outline = d_expand_bitmap(ent->graphic, pixels, expand, dither); + ent->outline_pixels = expand ? pixels : 0; +} +void set_standard_sprite_off(ent_t* ent) +{ + ent->off_x = ent->off_y = SPRITEOFF; +} +void reset_pos(ent_t* ent, int x, int y) +{ + ent->x = ent->ox = x; + ent->y = ent->oy = y; +} +__EXPORT__ int setup(int a) +{ + hashmap_create(32, &tile_tags); + + player.graphic = f_bitmap("/player.pbm"); + set_outline(&player, OUTLINE, true, false); + set_standard_sprite_off(&player); + reset_pos(&player, 0, 0); + + if (!load_level("level14")) + { + return 1; + } + + return 0; +} + +int remove_all_hashmap(void* const ctx, struct hashmap_element_s* const value) { return -1; } + +char* last_level = NULL; +void* level_code = NULL; +void unload_level() +{ + level_update = NULL; + level_entered_tile = NULL; + level_exited_tile = NULL; + + if (level_code) unload_code(level_code); + + for (int i = 0; i < num_bg; i++) + { + free(bg[i].pbm); + } + num_bg = 0; + + if (last_level) + { + free(last_level); + last_level = NULL; + } + + hashmap_iterate_pairs(&tile_tags, remove_all_hashmap, NULL); +} + +#define SOLID 1 +#define TOP 2 + + +bool is_space(char c) { return isspace(c); } +bool is_comma_or_space(char c) { return c == ',' || is_space(c); } + +bool load_level(char* level_name) +{ + unload_level(); + memset(grid, 0, sizeof(grid)); + + char filename[100]; + sprintf(filename, "/%s.txt", level_name); + + size_t len; + last_level = (char*)f_contents(filename, &len); + if (!last_level) + { + printf("Couldn't find level: %s\n", filename); + return false; + } + + reset_parse = true; + + // name, file, [flags] + char* tile_def[] = { NULL, NULL, NULL }; + + while (true) + { + int res = parse(last_level, len, is_space, false); + //printf("Parse res: %d\n", res); + + if (res == DONE) + { + printf("No tile grid given in level %s\n", filename); + return false; + } + + int not_null = 0; + for (; not_null < 3; not_null++) + { + if (!tile_def[not_null]) break; + } + + if (res == NL) + { + if (not_null < 2) + { + printf("Invalid tile def on line %d\n", parse_line - 1); + return false; + } + + if (!tile_def[2]) tile_def[2] = "NULL"; + + printf("Parsed tile %d %s %s %s\n", not_null, tile_def[0], tile_def[1], tile_def[2]); + + bg_flags flags = 0; + if (not_null >= 3) + { + size_t flag_len = strlen(tile_def[2]); + for (int i = 0; i < flag_len; i++) + { + if (tile_def[2][i] == 's') flags |= BG_SOLID; + if (tile_def[2][i] == 't') flags |= BG_TOP; + } + } + + + bool found = false; + char f[100]; + sprintf(f, "/%s.pbm", tile_def[1]); + pbm_t* n = f_bitmap(f); + if (n) + { + found = true; + + bg_t b = { tile_def[0], n, flags }; + bg[num_bg++] = b; + + printf("Tile %s registered as word %s\n", f, tile_def[0]); + } + else + { + int i = 1; + sprintf(f, "/%s%d.pbm", tile_def[1], i); + while (n = f_bitmap(f)) + { + found = true; + + char name[10]; + sprintf(name, "%s%d", tile_def[0], i); + + + bg_t b = { malloc(strlen(name) + 1), n, flags }; + strcpy(b.tile, name); + bg[num_bg++] = b; + + printf("Tile %s registered as word %s\n", f, name); + + i++; + sprintf(f, "/%s%d.pbm", tile_def[1], i); + } + } + + if (!found) + { + printf("Not found: graphic with name %s\n", tile_def[1]); + } + + memset(tile_def, 0, sizeof(tile_def)); + continue; + } + + if (res == BREAK) break; + + if (not_null < 3) + { + tile_def[not_null++] = parse_word; + } + else + { + printf("Too many words on line %d\n", parse_line); + } + } + + int gx = 0; + int gy = 0; + while (true) + { + int res = parse(last_level, len, is_comma_or_space, false); + //printf("Parse res: %d\n", res); + if (res == DONE || res == BREAK) + { + if (gy < ROWS) + { + printf("Didn't read full grid, only %d,%d\n", gx, gy); + return false; + } + break; + } + if (res == NL) + { + if (gx < COLS) + { + printf("Couldn't read full row, only to index %d on line %d\n", gx - 1, parse_line); + return false; + } + gx = 0; + gy++; + } + if (res == WORD) + { + if (gx >= COLS || gy >= ROWS) + { + printf("Grid is too big, reached %d,%d on line %d\n", gx, gy, parse_line); + return false; + } + char* prob = NULL; + char* tag = NULL; + grid_flags flags = 0; + for (int i = 0; i < 2; i++) + { + if (parse_word[0] == '-') + { + flags |= GRID_FLIPX; + parse_word++; + } + else if (parse_word[0] == '!') + { + flags |= GRID_FLIPY; + parse_word++; + } + } + + char* last_word = parse_word; + + size_t l = strlen(last_word); + for (int i = 0; i < l; i++) + { + if (last_word[i] == '.') + { + last_word[i] = 0; + prob = last_word + (i + 1); + last_word = prob; + l = strlen(prob); + break; + } + } + + for (int i = 0; i < l; i++) + { + if (last_word[i] == ':') + { + last_word[i] = 0; + tag = last_word + (i + 1); + last_word = tag; + l = strlen(tag); + break; + } + } + + //printf("Searching %s\n", parse_word); + for (int i = 0; i < num_bg; i++) + { + //printf(" Check %s\n", bg[i].tile); + if (strcmp(bg[i].tile, parse_word) == 0) + { + if (prob) + { + int p = max(0, min(9, atoi(prob))); + if (random(1, 10) > p) continue; + } + //printf("Tile %d on %d,%d\n", i, gx, gy); + grid_t g = { i + 1, flags, tag }; + if (tag) hashmap_put(&tile_tags, tag, strlen(tag), &grid[gx][gy]); + grid[gx][gy] = g; + } + } + + gx++; + + } + } + + sprintf(filename, "/%s.bin", level_name); + level_code = f_code(filename); + + if (level_code) + { + LOAD_DYN(level_entered_tile) + LOAD_DYN(level_exited_tile) + LOAD_DYN(level_update) + } + + return 0; +} + + +float speed = 80; + +bool move_debug = false; + +bool r_intersect(int x1, int y1, int w1, int h1, + int x2, int y2, int w2, int h2) +{ + if (x1 >= x2 + w2 || + x1 + w2 <= x2 || + y1 >= y2 + h2 || + y1 + h2 <= y2) return false; + if (move_debug) printf("INTERSECT [%d,%d + %d,%d] [%d,%d + %d,%d]\n", x1, y1, w1, h1, x2, y2, w2, h2); + return true; +} + +bool r_free(int px, int py, int w, int h) +{ + int minX = px / GRID; + int maxX = (px + w - 1) / GRID; + int minY = py / GRID; + int maxY = (py + h - 1) / GRID; + + for (int i = max(0, minX); i <= min(COLS - 1, maxX); i++) + { + for (int j = max(0, minY); j <= min(ROWS - 1, maxY); j++) + { + if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & SOLID)) + { + if (r_intersect(px, py, w, h, + i * GRID + 1, + j * GRID + 1, + GRID - 2, + GRID - 2)) return false; + } + } + } + return true; +} + +__EXPORT__ bool is_player(ent_t* ent) { return ent == &player; } +__EXPORT__ grid_t* get_tile_by_tag(char* tag) { return (grid_t*)hashmap_get(&tile_tags, tag, strlen(tag)); } + + + +void entered_tile(ent_t* ent, int gx, int gy) +{ + grid_t g = grid[gx][gy]; + if (level_entered_tile) level_entered_tile(ent, gx, gy, g); +} +void exited_tile(ent_t* ent, int gx, int gy) +{ + grid_t g = grid[gx][gy]; + if (level_exited_tile) level_exited_tile(ent, gx, gy, g); +} + +void render_ent(ent_t* ent) +{ + + if (ent->outline) + { + d_pbm( + (uint16_t)roundf(ent->x) - ent->outline_pixels + PADX + ent->off_x, + (uint16_t)roundf(ent->y) - ent->outline_pixels + PADY + ent->off_y, + ent->outline, 0, 0, 0, 0, WHITE, TRANSPARENT, R_NONE, false, false); + } + d_pbm( + (uint16_t)roundf(ent->x) + PADX + ent->off_x, + (uint16_t)roundf(ent->y) + PADY + ent->off_y, + ent->graphic, 0, 0, 0, 0, BLACK, TRANSPARENT, R_NONE, false, false); +} + +void update_ent_movement(ent_t* ent, bool debug); + +__EXPORT__ int loop(int ms) +{ + float t = ms / 1000.0f; + + if (button_down(DPAD_RIGHT)) player.x += t * speed; + if (button_down(DPAD_LEFT)) player.x -= t * speed; + if (button_down(DPAD_DOWN)) player.y += t * speed; + if (button_down(DPAD_UP)) player.y -= t * speed; + if (button_pressed(BUTTON_A)) move_debug = !move_debug; + + update_ent_movement(&player, move_debug); + + if (level_update) level_update(t); + + d_clear(); + + for (int i = 0; i < COLS; i++) + { + for (int j = 0; j < ROWS; j++) + { + if (grid[i][j].tile != 0 && !(bg[grid[i][j].tile - 1].flags & TOP)) + { + d_pbm( + PADX + i * GRID + SPRITEOFF, + PADY + j * GRID + SPRITEOFF, + bg[grid[i][j].tile - 1].pbm, + 0,0,0,0, BLACK, TRANSPARENT, R_NONE, grid[i][j].flags & GRID_FLIPX, grid[i][j].flags & GRID_FLIPY); + } + } + } + + render_ent(&player); + + + for (int i = 0; i < COLS; i++) + { + for (int j = 0; j < ROWS; j++) + { + if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & TOP)) + { + d_fillRect( + PADX + i * GRID, + PADY + j * GRID, + GRID, GRID, + WHITE + ); + } + } + } + + for (int i = 0; i < COLS; i++) + { + for (int j = 0; j < ROWS; j++) + { + if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & TOP)) + { + d_pbm( + PADX + i * GRID + SPRITEOFF, + PADY + j * GRID + SPRITEOFF, + bg[grid[i][j].tile - 1].pbm, + 0,0,0,0, BLACK, TRANSPARENT, R_NONE, grid[i][j].flags & GRID_FLIPX, grid[i][j].flags & GRID_FLIPY); + } + } + } + + return 0; +} + +#define ENTER_GRID_PCT 0.2f +void get_close_grid(float x, float y, int* gx, int* gy, float* pct_x, float* pct_y) +{ + float grid_x, grid_y; + *pct_x = modff((x + GRID * 0.5f) / GRID, &grid_x) - 0.5f; + *pct_y = modff((y + GRID * 0.5f) / GRID, &grid_y) - 0.5f; + if (fabsf(*pct_x) > ENTER_GRID_PCT || fabsf(*pct_y) > ENTER_GRID_PCT) + { + grid_x = -1; + grid_y = -1; + } + *gx = (int)grid_x; + *gy = (int)grid_y; +} + +void update_ent_movement(ent_t* ent, bool debug) +{ + int ox_i = (int)roundf(ent->ox); + int oy_i = (int)roundf(ent->oy); + + if (ent->x != ent->ox || ent->y != ent->oy) + { + int x_i = (int)roundf(ent->x); + int y_i = (int)roundf(ent->y); + + if (ent->x > ent->ox) x_i = (int)roundf(ent->x + 0.5f); + if (ent->x < ent->ox) x_i = (int)roundf(ent->x - 0.5f); + + if (ent->y > ent->oy) y_i = (int)roundf(ent->y + 0.5f); + if (ent->y < ent->oy) y_i = (int)roundf(ent->y - 0.5f); + + bool goX = ox_i != x_i; + bool goY = oy_i != y_i; + + if (debug) printf("(%f,%f)->(%f,%f) I: (%d,%d)->(%d,%d) [%d, %d]\n", ent->ox, ent->oy, ent->x, ent->y, ox_i, oy_i, x_i, y_i, goX, goY); + + while (goX || goY) + { + if (goX) + { + int testX = ox_i < x_i ? ox_i + 1 : ox_i - 1; + bool test = r_free(testX + 1, oy_i + 1, GRID - 2, GRID - 2); + if (move_debug) printf("testX: %d => %d\n", testX, test); + if (test) + { + ox_i = testX; + if (ox_i == x_i) goX = false; + if (move_debug) printf("ox_i = %d, goX = %d\n", ox_i, goX); + } + else + { + goX = false; + if (move_debug) printf("goX = false\n"); + } + } + if (goY) + { + int testY = oy_i < y_i ? oy_i + 1 : oy_i - 1; + bool test = r_free(ox_i + 1, testY + 1, GRID - 2, GRID - 2); + if (move_debug) printf("testY: %d => %d\n", testY, test); + if (test) + { + oy_i = testY; + if (oy_i == y_i) goY = false; + if (move_debug) printf("oy_i = %d, goY = %d\n", oy_i, goY); + } + else + { + goY = false; + if (move_debug) printf("goY = false\n"); + } + } + } + + if (ox_i != x_i) ent->x = ox_i; + if (oy_i != y_i) ent->y = oy_i; + if (debug) printf("reached (%d,%d) on target of (%d,%d), x,y=(%f,%f)\n", ox_i, oy_i, x_i, y_i, ent->x, ent->y); + + if (debug) printf("\n====================\n\n"); + + int o_grid_x, o_grid_y; + float o_ingrid_x, o_ingrid_y; + + int grid_x, grid_y; + float ingrid_x, ingrid_y; + + get_close_grid(ent->ox, ent->oy, &o_grid_x, &o_grid_y, &o_ingrid_x, &o_ingrid_y); + + int tries = 10; + for (; tries > 0; tries--) + { + get_close_grid(ent->x, ent->y, &grid_x, &grid_y, &ingrid_x, &ingrid_y); + + if (grid_x == o_grid_x && grid_y == o_grid_y) + { + break; + } + else + { + if (o_grid_x != -1) + { + exited_tile(ent, o_grid_x, o_grid_y); + //printf("Exited: %f %f\n", o_grid_x, o_grid_y); + } + if (grid_x != -1) + { + entered_tile(ent, grid_x, grid_y); + //printf("Entered: %f %f\n", grid_x, grid_y); + } + + o_grid_x = grid_x; + o_grid_y = grid_y; + } + } + if (tries == 0) printf("RAN OUT OF TILE CHECK TRIES\n"); + } + + ent->ox = ent->x; + ent->oy = ent->y; + +} diff --git a/rpg/rpg_imports.h b/rpg/rpg_imports.h new file mode 100644 index 0000000..3f38698 --- /dev/null +++ b/rpg/rpg_imports.h @@ -0,0 +1,7 @@ +#pragma once +#include "ent.h" +#include "grid.h" + +__IMPORT__ bool (*is_player)(ent_t* ent); +__IMPORT__ grid_t* (*get_tile_by_tag)(char* tag); +__IMPORT__ void (*grid_pos)(grid_t* g, int* gx, int* gy); diff --git a/test/Makefile b/test/Makefile deleted file mode 100644 index 140f7d4..0000000 --- a/test/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -CART_DIR ?= ../cart/test -MAKE_ROOT ?= ../../cneboy/make - -SOURCES := test.c parse.c - -MODULES := level14 - -SOURCES_level14 := level14.c - -include $(MAKE_ROOT)/Makefile diff --git a/test/hashmap.h b/test/hashmap.h deleted file mode 100644 index da88e81..0000000 --- a/test/hashmap.h +++ /dev/null @@ -1,594 +0,0 @@ -/* - The latest version of this library is available on GitHub; - https://github.com/sheredom/hashmap.h -*/ - -/* - This is free and unencumbered software released into the public domain. - - Anyone is free to copy, modify, publish, use, compile, sell, or - distribute this software, either in source code form or as a compiled - binary, for any purpose, commercial or non-commercial, and by any - means. - - In jurisdictions that recognize copyright laws, the author or authors - of this software dedicate any and all copyright interest in the - software to the public domain. We make this dedication for the benefit - of the public at large and to the detriment of our heirs and - successors. We intend this dedication to be an overt act of - relinquishment in perpetuity of all present and future rights to this - software under copyright law. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - - For more information, please refer to -*/ -#ifndef SHEREDOM_HASHMAP_H_INCLUDED -#define SHEREDOM_HASHMAP_H_INCLUDED - -#if defined(_MSC_VER) -// Workaround a bug in the MSVC runtime where it uses __cplusplus when not -// defined. -#pragma warning(push, 0) -#pragma warning(disable : 4668) -#endif - -#include "client_api.h" - -//#include -//#include - -//#if (defined(_MSC_VER) && defined(__AVX__)) || \ -// (!defined(_MSC_VER) && defined(__SSE4_2__)) -//#define HASHMAP_SSE42 -//#endif - -//#if defined(HASHMAP_SSE42) -//#include -//#endif - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif - -#if defined(_MSC_VER) -#pragma warning(push) -/* Stop MSVC complaining about unreferenced functions */ -#pragma warning(disable : 4505) -/* Stop MSVC complaining about not inlining functions */ -#pragma warning(disable : 4710) -/* Stop MSVC complaining about inlining functions! */ -#pragma warning(disable : 4711) -#elif defined(__clang__) -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wunused-function" -#endif - -#if defined(_MSC_VER) -#define HASHMAP_USED -#elif defined(__GNUC__) -#define HASHMAP_USED __attribute__((used)) -#else -#define HASHMAP_USED -#endif - -/* We need to keep keys and values. */ -struct hashmap_element_s { - const char *key; - unsigned key_len; - int in_use; - void *data; -}; - -/* A hashmap has some maximum size and current size, as well as the data to - * hold. */ -struct hashmap_s { - unsigned table_size; - unsigned size; - struct hashmap_element_s *data; -}; - -#define HASHMAP_MAX_CHAIN_LENGTH (8) - -#if defined(__cplusplus) -extern "C" { -#endif - -/// @brief Create a hashmap. -/// @param initial_size The initial size of the hashmap. Must be a power of two. -/// @param out_hashmap The storage for the created hashmap. -/// @return On success 0 is returned. -/// -/// Note that the initial size of the hashmap must be a power of two, and -/// creation of the hashmap will fail if this is not the case. -static int hashmap_create(const unsigned initial_size, - struct hashmap_s *const out_hashmap) HASHMAP_USED; - -/// @brief Put an element into the hashmap. -/// @param hashmap The hashmap to insert into. -/// @param key The string key to use. -/// @param len The length of the string key. -/// @param value The value to insert. -/// @return On success 0 is returned. -/// -/// The key string slice is not copied when creating the hashmap entry, and thus -/// must remain a valid pointer until the hashmap entry is removed or the -/// hashmap is destroyed. -static int hashmap_put(struct hashmap_s *const hashmap, const char *const key, - const unsigned len, void *const value) HASHMAP_USED; - -/// @brief Get an element from the hashmap. -/// @param hashmap The hashmap to get from. -/// @param key The string key to use. -/// @param len The length of the string key. -/// @return The previously set element, or NULL if none exists. -static void *hashmap_get(const struct hashmap_s *const hashmap, - const char *const key, - const unsigned len) HASHMAP_USED; - -/// @brief Remove an element from the hashmap. -/// @param hashmap The hashmap to remove from. -/// @param key The string key to use. -/// @param len The length of the string key. -/// @return On success 0 is returned. -static int hashmap_remove(struct hashmap_s *const hashmap, - const char *const key, - const unsigned len) HASHMAP_USED; - -/// @brief Remove an element from the hashmap. -/// @param hashmap The hashmap to remove from. -/// @param key The string key to use. -/// @param len The length of the string key. -/// @return On success the original stored key pointer is returned, on failure -/// NULL is returned. -static const char * -hashmap_remove_and_return_key(struct hashmap_s *const hashmap, - const char *const key, - const unsigned len) HASHMAP_USED; - -/// @brief Iterate over all the elements in a hashmap. -/// @param hashmap The hashmap to iterate over. -/// @param f The function pointer to call on each element. -/// @param context The context to pass as the first argument to f. -/// @return If the entire hashmap was iterated then 0 is returned. Otherwise if -/// the callback function f returned non-zero then non-zero is returned. -static int hashmap_iterate(const struct hashmap_s *const hashmap, - int (*f)(void *const context, void *const value), - void *const context) HASHMAP_USED; - -/// @brief Iterate over all the elements in a hashmap. -/// @param hashmap The hashmap to iterate over. -/// @param f The function pointer to call on each element. -/// @param context The context to pass as the first argument to f. -/// @return If the entire hashmap was iterated then 0 is returned. -/// Otherwise if the callback function f returned positive then the positive -/// value is returned. If the callback function returns -1, the current item -/// is removed and iteration continues. -static int hashmap_iterate_pairs(struct hashmap_s *const hashmap, - int (*f)(void *const, - struct hashmap_element_s *const), - void *const context) HASHMAP_USED; - -/// @brief Get the size of the hashmap. -/// @param hashmap The hashmap to get the size of. -/// @return The size of the hashmap. -static unsigned -hashmap_num_entries(const struct hashmap_s *const hashmap) HASHMAP_USED; - -/// @brief Destroy the hashmap. -/// @param hashmap The hashmap to destroy. -static void hashmap_destroy(struct hashmap_s *const hashmap) HASHMAP_USED; - -static unsigned hashmap_crc32_helper(const char *const s, - const unsigned len) HASHMAP_USED; -static unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, - const char *const keystring, - const unsigned len) HASHMAP_USED; -static int hashmap_match_helper(const struct hashmap_element_s *const element, - const char *const key, - const unsigned len) HASHMAP_USED; -static int hashmap_hash_helper(const struct hashmap_s *const m, - const char *const key, const unsigned len, - unsigned *const out_index) HASHMAP_USED; -static int -hashmap_rehash_iterator(void *const new_hash, - struct hashmap_element_s *const e) HASHMAP_USED; -static int hashmap_rehash_helper(struct hashmap_s *const m) HASHMAP_USED; - -#if defined(__cplusplus) -} -#endif - -#if defined(__cplusplus) -#define HASHMAP_CAST(type, x) static_cast(x) -#define HASHMAP_PTR_CAST(type, x) reinterpret_cast(x) -#define HASHMAP_NULL NULL -#else -#define HASHMAP_CAST(type, x) ((type)x) -#define HASHMAP_PTR_CAST(type, x) ((type)x) -#define HASHMAP_NULL 0 -#endif - -int hashmap_create(const unsigned initial_size, - struct hashmap_s *const out_hashmap) { - out_hashmap->table_size = initial_size; - out_hashmap->size = 0; - - if (0 == initial_size || 0 != (initial_size & (initial_size - 1))) { - return 1; - } - - out_hashmap->data = - HASHMAP_CAST(struct hashmap_element_s *, - malloc(initial_size * sizeof(struct hashmap_element_s))); - if (!out_hashmap->data) { - return 1; - } - memset(out_hashmap->data, 0, initial_size * sizeof(struct hashmap_element_s)); - - return 0; -} - -int hashmap_put(struct hashmap_s *const m, const char *const key, - const unsigned len, void *const value) { - unsigned int index; - - /* Find a place to put our value. */ - while (!hashmap_hash_helper(m, key, len, &index)) { - if (hashmap_rehash_helper(m)) { - return 1; - } - } - - /* Set the data. */ - m->data[index].data = value; - m->data[index].key = key; - m->data[index].key_len = len; - - /* If the hashmap element was not already in use, set that it is being used - * and bump our size. */ - if (0 == m->data[index].in_use) { - m->data[index].in_use = 1; - m->size++; - } - - return 0; -} - -void *hashmap_get(const struct hashmap_s *const m, const char *const key, - const unsigned len) { - unsigned int curr; - unsigned int i; - - /* Find data location */ - curr = hashmap_hash_helper_int_helper(m, key, len); - - /* Linear probing, if necessary */ - for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { - if (m->data[curr].in_use) { - if (hashmap_match_helper(&m->data[curr], key, len)) { - return m->data[curr].data; - } - } - - curr = (curr + 1) % m->table_size; - } - - /* Not found */ - return HASHMAP_NULL; -} - -int hashmap_remove(struct hashmap_s *const m, const char *const key, - const unsigned len) { - unsigned int i; - unsigned int curr; - - /* Find key */ - curr = hashmap_hash_helper_int_helper(m, key, len); - - /* Linear probing, if necessary */ - for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { - if (m->data[curr].in_use) { - if (hashmap_match_helper(&m->data[curr], key, len)) { - /* Blank out the fields including in_use */ - memset(&m->data[curr], 0, sizeof(struct hashmap_element_s)); - - /* Reduce the size */ - m->size--; - - return 0; - } - } - - curr = (curr + 1) % m->table_size; - } - - return 1; -} - -const char *hashmap_remove_and_return_key(struct hashmap_s *const m, - const char *const key, - const unsigned len) { - unsigned int i; - unsigned int curr; - - /* Find key */ - curr = hashmap_hash_helper_int_helper(m, key, len); - - /* Linear probing, if necessary */ - for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { - if (m->data[curr].in_use) { - if (hashmap_match_helper(&m->data[curr], key, len)) { - const char *const stored_key = m->data[curr].key; - - /* Blank out the fields */ - m->data[curr].in_use = 0; - m->data[curr].data = HASHMAP_NULL; - m->data[curr].key = HASHMAP_NULL; - - /* Reduce the size */ - m->size--; - - return stored_key; - } - } - curr = (curr + 1) % m->table_size; - } - - return HASHMAP_NULL; -} - -int hashmap_iterate(const struct hashmap_s *const m, - int (*f)(void *const, void *const), void *const context) { - unsigned int i; - - /* Linear probing */ - for (i = 0; i < m->table_size; i++) { - if (m->data[i].in_use) { - if (!f(context, m->data[i].data)) { - return 1; - } - } - } - return 0; -} - -int hashmap_iterate_pairs(struct hashmap_s *const hashmap, - int (*f)(void *const, - struct hashmap_element_s *const), - void *const context) { - unsigned int i; - struct hashmap_element_s *p; - int r; - - /* Linear probing */ - for (i = 0; i < hashmap->table_size; i++) { - p = &hashmap->data[i]; - if (p->in_use) { - r = f(context, p); - switch (r) { - case -1: /* remove item */ - memset(p, 0, sizeof(struct hashmap_element_s)); - hashmap->size--; - break; - case 0: /* continue iterating */ - break; - default: /* early exit */ - return 1; - } - } - } - return 0; -} - -void hashmap_destroy(struct hashmap_s *const m) { - free(m->data); - memset(m, 0, sizeof(struct hashmap_s)); -} - -unsigned hashmap_num_entries(const struct hashmap_s *const m) { - return m->size; -} - -unsigned hashmap_crc32_helper(const char *const s, const unsigned len) { - unsigned i; - unsigned crc32val = 0; - -#if defined(HASHMAP_SSE42) - for (i = 0; i < len; i++) { - crc32val = _mm_crc32_u8(crc32val, HASHMAP_CAST(unsigned char, s[i])); - } - - return crc32val; -#else - // Using polynomial 0x11EDC6F41 to match SSE 4.2's crc function. - static const unsigned crc32_tab[] = { - 0x00000000U, 0xF26B8303U, 0xE13B70F7U, 0x1350F3F4U, 0xC79A971FU, - 0x35F1141CU, 0x26A1E7E8U, 0xD4CA64EBU, 0x8AD958CFU, 0x78B2DBCCU, - 0x6BE22838U, 0x9989AB3BU, 0x4D43CFD0U, 0xBF284CD3U, 0xAC78BF27U, - 0x5E133C24U, 0x105EC76FU, 0xE235446CU, 0xF165B798U, 0x030E349BU, - 0xD7C45070U, 0x25AFD373U, 0x36FF2087U, 0xC494A384U, 0x9A879FA0U, - 0x68EC1CA3U, 0x7BBCEF57U, 0x89D76C54U, 0x5D1D08BFU, 0xAF768BBCU, - 0xBC267848U, 0x4E4DFB4BU, 0x20BD8EDEU, 0xD2D60DDDU, 0xC186FE29U, - 0x33ED7D2AU, 0xE72719C1U, 0x154C9AC2U, 0x061C6936U, 0xF477EA35U, - 0xAA64D611U, 0x580F5512U, 0x4B5FA6E6U, 0xB93425E5U, 0x6DFE410EU, - 0x9F95C20DU, 0x8CC531F9U, 0x7EAEB2FAU, 0x30E349B1U, 0xC288CAB2U, - 0xD1D83946U, 0x23B3BA45U, 0xF779DEAEU, 0x05125DADU, 0x1642AE59U, - 0xE4292D5AU, 0xBA3A117EU, 0x4851927DU, 0x5B016189U, 0xA96AE28AU, - 0x7DA08661U, 0x8FCB0562U, 0x9C9BF696U, 0x6EF07595U, 0x417B1DBCU, - 0xB3109EBFU, 0xA0406D4BU, 0x522BEE48U, 0x86E18AA3U, 0x748A09A0U, - 0x67DAFA54U, 0x95B17957U, 0xCBA24573U, 0x39C9C670U, 0x2A993584U, - 0xD8F2B687U, 0x0C38D26CU, 0xFE53516FU, 0xED03A29BU, 0x1F682198U, - 0x5125DAD3U, 0xA34E59D0U, 0xB01EAA24U, 0x42752927U, 0x96BF4DCCU, - 0x64D4CECFU, 0x77843D3BU, 0x85EFBE38U, 0xDBFC821CU, 0x2997011FU, - 0x3AC7F2EBU, 0xC8AC71E8U, 0x1C661503U, 0xEE0D9600U, 0xFD5D65F4U, - 0x0F36E6F7U, 0x61C69362U, 0x93AD1061U, 0x80FDE395U, 0x72966096U, - 0xA65C047DU, 0x5437877EU, 0x4767748AU, 0xB50CF789U, 0xEB1FCBADU, - 0x197448AEU, 0x0A24BB5AU, 0xF84F3859U, 0x2C855CB2U, 0xDEEEDFB1U, - 0xCDBE2C45U, 0x3FD5AF46U, 0x7198540DU, 0x83F3D70EU, 0x90A324FAU, - 0x62C8A7F9U, 0xB602C312U, 0x44694011U, 0x5739B3E5U, 0xA55230E6U, - 0xFB410CC2U, 0x092A8FC1U, 0x1A7A7C35U, 0xE811FF36U, 0x3CDB9BDDU, - 0xCEB018DEU, 0xDDE0EB2AU, 0x2F8B6829U, 0x82F63B78U, 0x709DB87BU, - 0x63CD4B8FU, 0x91A6C88CU, 0x456CAC67U, 0xB7072F64U, 0xA457DC90U, - 0x563C5F93U, 0x082F63B7U, 0xFA44E0B4U, 0xE9141340U, 0x1B7F9043U, - 0xCFB5F4A8U, 0x3DDE77ABU, 0x2E8E845FU, 0xDCE5075CU, 0x92A8FC17U, - 0x60C37F14U, 0x73938CE0U, 0x81F80FE3U, 0x55326B08U, 0xA759E80BU, - 0xB4091BFFU, 0x466298FCU, 0x1871A4D8U, 0xEA1A27DBU, 0xF94AD42FU, - 0x0B21572CU, 0xDFEB33C7U, 0x2D80B0C4U, 0x3ED04330U, 0xCCBBC033U, - 0xA24BB5A6U, 0x502036A5U, 0x4370C551U, 0xB11B4652U, 0x65D122B9U, - 0x97BAA1BAU, 0x84EA524EU, 0x7681D14DU, 0x2892ED69U, 0xDAF96E6AU, - 0xC9A99D9EU, 0x3BC21E9DU, 0xEF087A76U, 0x1D63F975U, 0x0E330A81U, - 0xFC588982U, 0xB21572C9U, 0x407EF1CAU, 0x532E023EU, 0xA145813DU, - 0x758FE5D6U, 0x87E466D5U, 0x94B49521U, 0x66DF1622U, 0x38CC2A06U, - 0xCAA7A905U, 0xD9F75AF1U, 0x2B9CD9F2U, 0xFF56BD19U, 0x0D3D3E1AU, - 0x1E6DCDEEU, 0xEC064EEDU, 0xC38D26C4U, 0x31E6A5C7U, 0x22B65633U, - 0xD0DDD530U, 0x0417B1DBU, 0xF67C32D8U, 0xE52CC12CU, 0x1747422FU, - 0x49547E0BU, 0xBB3FFD08U, 0xA86F0EFCU, 0x5A048DFFU, 0x8ECEE914U, - 0x7CA56A17U, 0x6FF599E3U, 0x9D9E1AE0U, 0xD3D3E1ABU, 0x21B862A8U, - 0x32E8915CU, 0xC083125FU, 0x144976B4U, 0xE622F5B7U, 0xF5720643U, - 0x07198540U, 0x590AB964U, 0xAB613A67U, 0xB831C993U, 0x4A5A4A90U, - 0x9E902E7BU, 0x6CFBAD78U, 0x7FAB5E8CU, 0x8DC0DD8FU, 0xE330A81AU, - 0x115B2B19U, 0x020BD8EDU, 0xF0605BEEU, 0x24AA3F05U, 0xD6C1BC06U, - 0xC5914FF2U, 0x37FACCF1U, 0x69E9F0D5U, 0x9B8273D6U, 0x88D28022U, - 0x7AB90321U, 0xAE7367CAU, 0x5C18E4C9U, 0x4F48173DU, 0xBD23943EU, - 0xF36E6F75U, 0x0105EC76U, 0x12551F82U, 0xE03E9C81U, 0x34F4F86AU, - 0xC69F7B69U, 0xD5CF889DU, 0x27A40B9EU, 0x79B737BAU, 0x8BDCB4B9U, - 0x988C474DU, 0x6AE7C44EU, 0xBE2DA0A5U, 0x4C4623A6U, 0x5F16D052U, - 0xAD7D5351U}; - - for (i = 0; i < len; i++) { - crc32val = crc32_tab[(HASHMAP_CAST(unsigned char, crc32val) ^ - HASHMAP_CAST(unsigned char, s[i]))] ^ - (crc32val >> 8); - } - return crc32val; -#endif -} - -unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, - const char *const keystring, - const unsigned len) { - unsigned key = hashmap_crc32_helper(keystring, len); - - /* Robert Jenkins' 32 bit Mix Function */ - key += (key << 12); - key ^= (key >> 22); - key += (key << 4); - key ^= (key >> 9); - key += (key << 10); - key ^= (key >> 2); - key += (key << 7); - key ^= (key >> 12); - - /* Knuth's Multiplicative Method */ - key = (key >> 3) * 2654435761; - - return key % m->table_size; -} - -int hashmap_match_helper(const struct hashmap_element_s *const element, - const char *const key, const unsigned len) { - return (element->key_len == len) && (0 == memcmp(element->key, key, len)); -} - -int hashmap_hash_helper(const struct hashmap_s *const m, const char *const key, - const unsigned len, unsigned *const out_index) { - unsigned int start, curr; - unsigned int i; - int total_in_use; - - /* If full, return immediately */ - if (m->size >= m->table_size) { - return 0; - } - - /* Find the best index */ - curr = start = hashmap_hash_helper_int_helper(m, key, len); - - /* First linear probe to check if we've already insert the element */ - total_in_use = 0; - - for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { - const int in_use = m->data[curr].in_use; - - total_in_use += in_use; - - if (in_use && hashmap_match_helper(&m->data[curr], key, len)) { - *out_index = curr; - return 1; - } - - curr = (curr + 1) % m->table_size; - } - - curr = start; - - /* Second linear probe to actually insert our element (only if there was at - * least one empty entry) */ - if (HASHMAP_MAX_CHAIN_LENGTH > total_in_use) { - for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { - if (!m->data[curr].in_use) { - *out_index = curr; - return 1; - } - - curr = (curr + 1) % m->table_size; - } - } - - return 0; -} - -int hashmap_rehash_iterator(void *const new_hash, - struct hashmap_element_s *const e) { - int temp = hashmap_put(HASHMAP_PTR_CAST(struct hashmap_s *, new_hash), e->key, - e->key_len, e->data); - if (0 < temp) { - return 1; - } - /* clear old value to avoid stale pointers */ - return -1; -} -/* - * Doubles the size of the hashmap, and rehashes all the elements - */ -int hashmap_rehash_helper(struct hashmap_s *const m) { - /* If this multiplication overflows hashmap_create will fail. */ - unsigned new_size = 2 * m->table_size; - - struct hashmap_s new_hash; - - int flag = hashmap_create(new_size, &new_hash); - - if (0 != flag) { - return flag; - } - - /* copy the old elements to the new table */ - flag = hashmap_iterate_pairs(m, hashmap_rehash_iterator, - HASHMAP_PTR_CAST(void *, &new_hash)); - - if (0 != flag) { - return flag; - } - - hashmap_destroy(m); - /* put new hash into old hash structure by copying */ - memcpy(m, &new_hash, sizeof(struct hashmap_s)); - - return 0; -} - -#if defined(_MSC_VER) -#pragma warning(pop) -#elif defined(__clang__) -#pragma clang diagnostic pop -#endif - -#endif diff --git a/test/level14.c b/test/level14.c deleted file mode 100644 index 469dd85..0000000 --- a/test/level14.c +++ /dev/null @@ -1,3 +0,0 @@ -#include - -__EXPORT__ void tile_entered() { } diff --git a/test/parse.c b/test/parse.c deleted file mode 100644 index ec097e2..0000000 --- a/test/parse.c +++ /dev/null @@ -1,64 +0,0 @@ -#include "parse.h" - -bool reset_parse = false; -char* parse_word = NULL; -int parse_line = 1; -int parse(char* l, size_t len, bool (*is_break)(char), bool debug) -{ - static char last_char; - static int i = 0; - static int nl = 0; - if (reset_parse) - { - parse_line = 1; - i = 0; - nl = 0; - last_char = 0; - reset_parse = false; - } - - parse_word = NULL; - - while (i < len) - { - char c = l[i]; - if (c == 0) c = last_char; - i++; - if (debug) - { - printf("Char@%d %d %c\n", i, c, c); - } - if (is_break(c) || c == '\n') - { - if (parse_word) - { - i--; - l[i] = 0; - last_char = c; - nl = false; - return WORD; - } - else if (c == '\n') - { - nl++; - parse_line++; - if (nl == 1) - { - return NL; - } - else if (nl == 2) - { - return BREAK; - } - } - } - else - { - if (parse_word == NULL) parse_word = l + (i - 1); - } - } - - if (parse_word) return WORD; - - return DONE; -} diff --git a/test/parse.h b/test/parse.h deleted file mode 100644 index 4767bf6..0000000 --- a/test/parse.h +++ /dev/null @@ -1,13 +0,0 @@ -#pragma once -#include - -#define WORD 0 -#define NL 1 -#define BREAK 2 -#define DONE 3 - -extern bool reset_parse; -extern char* parse_word; -extern int parse_line; - -int parse(char* l, size_t len, bool (*is_break)(char), bool debug); diff --git a/cart.bin b/cart.bin index b0683dd..ccc9087 100755 --- a/cart.bin +++ b/cart.bin Binary files differ diff --git a/cart/rpg/cobblestone1.pbm b/cart/rpg/cobblestone1.pbm new file mode 100644 index 0000000..13f3c52 --- /dev/null +++ b/cart/rpg/cobblestone1.pbm Binary files differ diff --git a/cart/rpg/cobblestone2.pbm b/cart/rpg/cobblestone2.pbm new file mode 100644 index 0000000..8b3f833 --- /dev/null +++ b/cart/rpg/cobblestone2.pbm Binary files differ diff --git a/cart/rpg/cobblestone3.pbm b/cart/rpg/cobblestone3.pbm new file mode 100644 index 0000000..a920a0e --- /dev/null +++ b/cart/rpg/cobblestone3.pbm Binary files differ diff --git a/cart/rpg/cobblestone4.pbm b/cart/rpg/cobblestone4.pbm new file mode 100644 index 0000000..4600e0b --- /dev/null +++ b/cart/rpg/cobblestone4.pbm Binary files differ diff --git a/cart/rpg/cobblestone5.pbm b/cart/rpg/cobblestone5.pbm new file mode 100644 index 0000000..a973ee0 --- /dev/null +++ b/cart/rpg/cobblestone5.pbm Binary files differ diff --git a/cart/rpg/cobblestone6.pbm b/cart/rpg/cobblestone6.pbm new file mode 100644 index 0000000..2dbcaee --- /dev/null +++ b/cart/rpg/cobblestone6.pbm Binary files differ diff --git a/cart/rpg/cobblestone7.pbm b/cart/rpg/cobblestone7.pbm new file mode 100644 index 0000000..b1b5216 --- /dev/null +++ b/cart/rpg/cobblestone7.pbm Binary files differ diff --git a/cart/rpg/cobblestone8.pbm b/cart/rpg/cobblestone8.pbm new file mode 100644 index 0000000..f081019 --- /dev/null +++ b/cart/rpg/cobblestone8.pbm Binary files differ diff --git a/cart/rpg/cobblestone9.pbm b/cart/rpg/cobblestone9.pbm new file mode 100644 index 0000000..f7d37f6 --- /dev/null +++ b/cart/rpg/cobblestone9.pbm Binary files differ diff --git a/cart/rpg/door1.pbm b/cart/rpg/door1.pbm new file mode 100644 index 0000000..b290611 --- /dev/null +++ b/cart/rpg/door1.pbm Binary files differ diff --git a/cart/rpg/game.bin b/cart/rpg/game.bin new file mode 100755 index 0000000..d0dad08 --- /dev/null +++ b/cart/rpg/game.bin Binary files differ diff --git a/cart/rpg/game.dll b/cart/rpg/game.dll new file mode 100644 index 0000000..9e10788 --- /dev/null +++ b/cart/rpg/game.dll Binary files differ diff --git a/cart/rpg/game.pdb b/cart/rpg/game.pdb new file mode 100755 index 0000000..cc4d80c --- /dev/null +++ b/cart/rpg/game.pdb Binary files differ diff --git a/cart/rpg/game.txt b/cart/rpg/game.txt new file mode 100644 index 0000000..676792b --- /dev/null +++ b/cart/rpg/game.txt @@ -0,0 +1 @@ +RPG \ No newline at end of file diff --git a/cart/rpg/level.txt b/cart/rpg/level.txt new file mode 100644 index 0000000..6aa2ba2 --- /dev/null +++ b/cart/rpg/level.txt @@ -0,0 +1,13 @@ +c cobblestone +r roof_fix st +w wall s + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 +c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 +c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/level14.bin b/cart/rpg/level14.bin new file mode 100755 index 0000000..deccb0d --- /dev/null +++ b/cart/rpg/level14.bin Binary files differ diff --git a/cart/rpg/level14.dll b/cart/rpg/level14.dll new file mode 100755 index 0000000..fd7fcb4 --- /dev/null +++ b/cart/rpg/level14.dll Binary files differ diff --git a/cart/rpg/level14.pdb b/cart/rpg/level14.pdb new file mode 100755 index 0000000..3fdd209 --- /dev/null +++ b/cart/rpg/level14.pdb Binary files differ diff --git a/cart/rpg/level14.txt b/cart/rpg/level14.txt new file mode 100644 index 0000000..4a6a3d9 --- /dev/null +++ b/cart/rpg/level14.txt @@ -0,0 +1,16 @@ +c cobblestone +r roof st +r3f roof3f st +w wall s +d door + +c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 +c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 +c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 +c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/rpg/player.pbm b/cart/rpg/player.pbm new file mode 100644 index 0000000..a68ece6 --- /dev/null +++ b/cart/rpg/player.pbm Binary files differ diff --git a/cart/rpg/player_out.pbm b/cart/rpg/player_out.pbm new file mode 100644 index 0000000..0ed53fb --- /dev/null +++ b/cart/rpg/player_out.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +������?�������~~pp \ No newline at end of file diff --git a/cart/rpg/roof1.pbm b/cart/rpg/roof1.pbm new file mode 100644 index 0000000..85cf555 --- /dev/null +++ b/cart/rpg/roof1.pbm Binary files differ diff --git a/cart/rpg/roof2.pbm b/cart/rpg/roof2.pbm new file mode 100644 index 0000000..b545818 --- /dev/null +++ b/cart/rpg/roof2.pbm Binary files differ diff --git a/cart/rpg/roof3.pbm b/cart/rpg/roof3.pbm new file mode 100644 index 0000000..86c585d --- /dev/null +++ b/cart/rpg/roof3.pbm Binary files differ diff --git a/cart/rpg/roof3f.pbm b/cart/rpg/roof3f.pbm new file mode 100644 index 0000000..2ecfea4 --- /dev/null +++ b/cart/rpg/roof3f.pbm Binary files differ diff --git a/cart/rpg/roof4.pbm b/cart/rpg/roof4.pbm new file mode 100644 index 0000000..192a34e --- /dev/null +++ b/cart/rpg/roof4.pbm Binary files differ diff --git a/cart/rpg/roof5.pbm b/cart/rpg/roof5.pbm new file mode 100644 index 0000000..31b8ca2 --- /dev/null +++ b/cart/rpg/roof5.pbm Binary files differ diff --git a/cart/rpg/roof6.pbm b/cart/rpg/roof6.pbm new file mode 100644 index 0000000..3b1ff02 --- /dev/null +++ b/cart/rpg/roof6.pbm Binary files differ diff --git a/cart/rpg/roof7.pbm b/cart/rpg/roof7.pbm new file mode 100644 index 0000000..3166547 --- /dev/null +++ b/cart/rpg/roof7.pbm Binary files differ diff --git a/cart/rpg/roof8.pbm b/cart/rpg/roof8.pbm new file mode 100644 index 0000000..c37d879 --- /dev/null +++ b/cart/rpg/roof8.pbm Binary files differ diff --git a/cart/rpg/roof9.pbm b/cart/rpg/roof9.pbm new file mode 100644 index 0000000..d3caa71 --- /dev/null +++ b/cart/rpg/roof9.pbm Binary files differ diff --git a/cart/rpg/roof_fix1.pbm b/cart/rpg/roof_fix1.pbm new file mode 100644 index 0000000..3d16e94 --- /dev/null +++ b/cart/rpg/roof_fix1.pbm Binary files differ diff --git a/cart/rpg/roof_fix2.pbm b/cart/rpg/roof_fix2.pbm new file mode 100644 index 0000000..c64df5d --- /dev/null +++ b/cart/rpg/roof_fix2.pbm Binary files differ diff --git a/cart/rpg/roof_fix3.pbm b/cart/rpg/roof_fix3.pbm new file mode 100644 index 0000000..c35dfda --- /dev/null +++ b/cart/rpg/roof_fix3.pbm Binary files differ diff --git a/cart/rpg/roof_fix4.pbm b/cart/rpg/roof_fix4.pbm new file mode 100644 index 0000000..2c392ad --- /dev/null +++ b/cart/rpg/roof_fix4.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/rpg/roof_fix5.pbm b/cart/rpg/roof_fix5.pbm new file mode 100644 index 0000000..39b7f23 --- /dev/null +++ b/cart/rpg/roof_fix5.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/rpg/roof_fix6.pbm b/cart/rpg/roof_fix6.pbm new file mode 100644 index 0000000..8bbe9fc --- /dev/null +++ b/cart/rpg/roof_fix6.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/rpg/roof_fix7.pbm b/cart/rpg/roof_fix7.pbm new file mode 100644 index 0000000..0c29640 --- /dev/null +++ b/cart/rpg/roof_fix7.pbm Binary files differ diff --git a/cart/rpg/roof_fix8.pbm b/cart/rpg/roof_fix8.pbm new file mode 100644 index 0000000..e90cfc3 --- /dev/null +++ b/cart/rpg/roof_fix8.pbm Binary files differ diff --git a/cart/rpg/roof_fix9.pbm b/cart/rpg/roof_fix9.pbm new file mode 100644 index 0000000..31dfb3d --- /dev/null +++ b/cart/rpg/roof_fix9.pbm Binary files differ diff --git a/cart/rpg/wall1.pbm b/cart/rpg/wall1.pbm new file mode 100644 index 0000000..31e09be --- /dev/null +++ b/cart/rpg/wall1.pbm Binary files differ diff --git a/cart/rpg/wall2.pbm b/cart/rpg/wall2.pbm new file mode 100644 index 0000000..1871c8b --- /dev/null +++ b/cart/rpg/wall2.pbm Binary files differ diff --git a/cart/test/cobblestone1.pbm b/cart/test/cobblestone1.pbm deleted file mode 100644 index 13f3c52..0000000 --- a/cart/test/cobblestone1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone2.pbm b/cart/test/cobblestone2.pbm deleted file mode 100644 index 8b3f833..0000000 --- a/cart/test/cobblestone2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone3.pbm b/cart/test/cobblestone3.pbm deleted file mode 100644 index a920a0e..0000000 --- a/cart/test/cobblestone3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone4.pbm b/cart/test/cobblestone4.pbm deleted file mode 100644 index 4600e0b..0000000 --- a/cart/test/cobblestone4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone5.pbm b/cart/test/cobblestone5.pbm deleted file mode 100644 index a973ee0..0000000 --- a/cart/test/cobblestone5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone6.pbm b/cart/test/cobblestone6.pbm deleted file mode 100644 index 2dbcaee..0000000 --- a/cart/test/cobblestone6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone7.pbm b/cart/test/cobblestone7.pbm deleted file mode 100644 index b1b5216..0000000 --- a/cart/test/cobblestone7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone8.pbm b/cart/test/cobblestone8.pbm deleted file mode 100644 index f081019..0000000 --- a/cart/test/cobblestone8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/cobblestone9.pbm b/cart/test/cobblestone9.pbm deleted file mode 100644 index f7d37f6..0000000 --- a/cart/test/cobblestone9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/door1.pbm b/cart/test/door1.pbm deleted file mode 100644 index b290611..0000000 --- a/cart/test/door1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/game.bin b/cart/test/game.bin deleted file mode 100755 index 8094454..0000000 --- a/cart/test/game.bin +++ /dev/null Binary files differ diff --git a/cart/test/game.dll b/cart/test/game.dll deleted file mode 100644 index 2700729..0000000 --- a/cart/test/game.dll +++ /dev/null Binary files differ diff --git a/cart/test/game.pdb b/cart/test/game.pdb deleted file mode 100755 index 84ed6b1..0000000 --- a/cart/test/game.pdb +++ /dev/null Binary files differ diff --git a/cart/test/game.txt b/cart/test/game.txt deleted file mode 100644 index 676792b..0000000 --- a/cart/test/game.txt +++ /dev/null @@ -1 +0,0 @@ -RPG \ No newline at end of file diff --git a/cart/test/level.txt b/cart/test/level.txt deleted file mode 100644 index 6aa2ba2..0000000 --- a/cart/test/level.txt +++ /dev/null @@ -1,13 +0,0 @@ -c cobblestone -r roof_fix st -w wall s - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r3 , c5.1, r1 , r2 , r3 , c5.1, c5.1, c6 -c4, r7 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, r7 , r8 , r9 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, w2 , w2 , w2 , c5.1, c5.1, c6 -c4, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/level14.txt b/cart/test/level14.txt deleted file mode 100644 index 4a6a3d9..0000000 --- a/cart/test/level14.txt +++ /dev/null @@ -1,16 +0,0 @@ -c cobblestone -r roof st -r3f roof3f st -w wall s -d door - -c1, c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c2 , c3 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, r1 , r2 , r3f , c5.1, r1 , r2 , r3f , c5.1, c5.1, c5.1, c6 -c4, r7 , r8 , r9 , c5.1, r4 , r5 , r6 , c5.1, c5.1, c5.1, c6 -c4, w1 , -d1:d1 , w1 , c5.1, r7 , r8 , r9 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, w1 , d1:d2, w1 , c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c4, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1 , c5.1, c5.1, c5.1, c5.1, c6 -c7, c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c8 , c9 diff --git a/cart/test/player.pbm b/cart/test/player.pbm deleted file mode 100644 index a68ece6..0000000 --- a/cart/test/player.pbm +++ /dev/null Binary files differ diff --git a/cart/test/player_out.pbm b/cart/test/player_out.pbm deleted file mode 100644 index 0ed53fb..0000000 --- a/cart/test/player_out.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -������?�������~~pp \ No newline at end of file diff --git a/cart/test/roof1.pbm b/cart/test/roof1.pbm deleted file mode 100644 index 85cf555..0000000 --- a/cart/test/roof1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof2.pbm b/cart/test/roof2.pbm deleted file mode 100644 index b545818..0000000 --- a/cart/test/roof2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3.pbm b/cart/test/roof3.pbm deleted file mode 100644 index 86c585d..0000000 --- a/cart/test/roof3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof3f.pbm b/cart/test/roof3f.pbm deleted file mode 100644 index 2ecfea4..0000000 --- a/cart/test/roof3f.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof4.pbm b/cart/test/roof4.pbm deleted file mode 100644 index 192a34e..0000000 --- a/cart/test/roof4.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof5.pbm b/cart/test/roof5.pbm deleted file mode 100644 index 31b8ca2..0000000 --- a/cart/test/roof5.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof6.pbm b/cart/test/roof6.pbm deleted file mode 100644 index 3b1ff02..0000000 --- a/cart/test/roof6.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof7.pbm b/cart/test/roof7.pbm deleted file mode 100644 index 3166547..0000000 --- a/cart/test/roof7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof8.pbm b/cart/test/roof8.pbm deleted file mode 100644 index c37d879..0000000 --- a/cart/test/roof8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof9.pbm b/cart/test/roof9.pbm deleted file mode 100644 index d3caa71..0000000 --- a/cart/test/roof9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix1.pbm b/cart/test/roof_fix1.pbm deleted file mode 100644 index 3d16e94..0000000 --- a/cart/test/roof_fix1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix2.pbm b/cart/test/roof_fix2.pbm deleted file mode 100644 index c64df5d..0000000 --- a/cart/test/roof_fix2.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix3.pbm b/cart/test/roof_fix3.pbm deleted file mode 100644 index c35dfda..0000000 --- a/cart/test/roof_fix3.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix4.pbm b/cart/test/roof_fix4.pbm deleted file mode 100644 index 2c392ad..0000000 --- a/cart/test/roof_fix4.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -@@@@@@@@@@@@@@@@ \ No newline at end of file diff --git a/cart/test/roof_fix5.pbm b/cart/test/roof_fix5.pbm deleted file mode 100644 index 39b7f23..0000000 --- a/cart/test/roof_fix5.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -UU��UU��UU��UU��UU��UU��UU��UU�� \ No newline at end of file diff --git a/cart/test/roof_fix6.pbm b/cart/test/roof_fix6.pbm deleted file mode 100644 index 8bbe9fc..0000000 --- a/cart/test/roof_fix6.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -16 16 -J�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MVJ�MV \ No newline at end of file diff --git a/cart/test/roof_fix7.pbm b/cart/test/roof_fix7.pbm deleted file mode 100644 index 0c29640..0000000 --- a/cart/test/roof_fix7.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix8.pbm b/cart/test/roof_fix8.pbm deleted file mode 100644 index e90cfc3..0000000 --- a/cart/test/roof_fix8.pbm +++ /dev/null Binary files differ diff --git a/cart/test/roof_fix9.pbm b/cart/test/roof_fix9.pbm deleted file mode 100644 index 31dfb3d..0000000 --- a/cart/test/roof_fix9.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall1.pbm b/cart/test/wall1.pbm deleted file mode 100644 index 31e09be..0000000 --- a/cart/test/wall1.pbm +++ /dev/null Binary files differ diff --git a/cart/test/wall2.pbm b/cart/test/wall2.pbm deleted file mode 100644 index 1871c8b..0000000 --- a/cart/test/wall2.pbm +++ /dev/null Binary files differ diff --git a/rpg/Makefile b/rpg/Makefile new file mode 100644 index 0000000..5a8fda9 --- /dev/null +++ b/rpg/Makefile @@ -0,0 +1,10 @@ +CART_DIR ?= ../cart/rpg +MAKE_ROOT ?= ../../cneboy/make + +SOURCES := rpg.c parse.c + +MODULES := level14 + +SOURCES_level14 := level14.c + +include $(MAKE_ROOT)/Makefile diff --git a/rpg/constants.h b/rpg/constants.h new file mode 100644 index 0000000..336c98e --- /dev/null +++ b/rpg/constants.h @@ -0,0 +1,6 @@ +#define GRID 14 +#define COLS 12 +#define ROWS 10 +#define PADX 0 +#define PADY 2 +#define SPRITEOFF -1 diff --git a/rpg/ent.h b/rpg/ent.h new file mode 100644 index 0000000..254369d --- /dev/null +++ b/rpg/ent.h @@ -0,0 +1,20 @@ +#pragma once +#include +#include + +typedef struct +{ + // last frame coords + float ox; + float oy; + + // current coords + float x; + float y; + + pbm_t* graphic; + pbm_t* outline; + int off_x; + int off_y; + int outline_pixels; +} ent_t; diff --git a/rpg/grid.h b/rpg/grid.h new file mode 100644 index 0000000..4cddf8d --- /dev/null +++ b/rpg/grid.h @@ -0,0 +1,12 @@ +typedef enum +{ + GRID_FLIPX = 1, + GRID_FLIPY = 2, +} grid_flags; + +typedef struct +{ + uint8_t tile; + grid_flags flags; + char* tag; +} grid_t; diff --git a/rpg/hashmap.h b/rpg/hashmap.h new file mode 100644 index 0000000..da88e81 --- /dev/null +++ b/rpg/hashmap.h @@ -0,0 +1,594 @@ +/* + The latest version of this library is available on GitHub; + https://github.com/sheredom/hashmap.h +*/ + +/* + This is free and unencumbered software released into the public domain. + + Anyone is free to copy, modify, publish, use, compile, sell, or + distribute this software, either in source code form or as a compiled + binary, for any purpose, commercial or non-commercial, and by any + means. + + In jurisdictions that recognize copyright laws, the author or authors + of this software dedicate any and all copyright interest in the + software to the public domain. We make this dedication for the benefit + of the public at large and to the detriment of our heirs and + successors. We intend this dedication to be an overt act of + relinquishment in perpetuity of all present and future rights to this + software under copyright law. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + For more information, please refer to +*/ +#ifndef SHEREDOM_HASHMAP_H_INCLUDED +#define SHEREDOM_HASHMAP_H_INCLUDED + +#if defined(_MSC_VER) +// Workaround a bug in the MSVC runtime where it uses __cplusplus when not +// defined. +#pragma warning(push, 0) +#pragma warning(disable : 4668) +#endif + +#include "client_api.h" + +//#include +//#include + +//#if (defined(_MSC_VER) && defined(__AVX__)) || \ +// (!defined(_MSC_VER) && defined(__SSE4_2__)) +//#define HASHMAP_SSE42 +//#endif + +//#if defined(HASHMAP_SSE42) +//#include +//#endif + +#if defined(_MSC_VER) +#pragma warning(pop) +#endif + +#if defined(_MSC_VER) +#pragma warning(push) +/* Stop MSVC complaining about unreferenced functions */ +#pragma warning(disable : 4505) +/* Stop MSVC complaining about not inlining functions */ +#pragma warning(disable : 4710) +/* Stop MSVC complaining about inlining functions! */ +#pragma warning(disable : 4711) +#elif defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-function" +#endif + +#if defined(_MSC_VER) +#define HASHMAP_USED +#elif defined(__GNUC__) +#define HASHMAP_USED __attribute__((used)) +#else +#define HASHMAP_USED +#endif + +/* We need to keep keys and values. */ +struct hashmap_element_s { + const char *key; + unsigned key_len; + int in_use; + void *data; +}; + +/* A hashmap has some maximum size and current size, as well as the data to + * hold. */ +struct hashmap_s { + unsigned table_size; + unsigned size; + struct hashmap_element_s *data; +}; + +#define HASHMAP_MAX_CHAIN_LENGTH (8) + +#if defined(__cplusplus) +extern "C" { +#endif + +/// @brief Create a hashmap. +/// @param initial_size The initial size of the hashmap. Must be a power of two. +/// @param out_hashmap The storage for the created hashmap. +/// @return On success 0 is returned. +/// +/// Note that the initial size of the hashmap must be a power of two, and +/// creation of the hashmap will fail if this is not the case. +static int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) HASHMAP_USED; + +/// @brief Put an element into the hashmap. +/// @param hashmap The hashmap to insert into. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @param value The value to insert. +/// @return On success 0 is returned. +/// +/// The key string slice is not copied when creating the hashmap entry, and thus +/// must remain a valid pointer until the hashmap entry is removed or the +/// hashmap is destroyed. +static int hashmap_put(struct hashmap_s *const hashmap, const char *const key, + const unsigned len, void *const value) HASHMAP_USED; + +/// @brief Get an element from the hashmap. +/// @param hashmap The hashmap to get from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return The previously set element, or NULL if none exists. +static void *hashmap_get(const struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success 0 is returned. +static int hashmap_remove(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Remove an element from the hashmap. +/// @param hashmap The hashmap to remove from. +/// @param key The string key to use. +/// @param len The length of the string key. +/// @return On success the original stored key pointer is returned, on failure +/// NULL is returned. +static const char * +hashmap_remove_and_return_key(struct hashmap_s *const hashmap, + const char *const key, + const unsigned len) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. Otherwise if +/// the callback function f returned non-zero then non-zero is returned. +static int hashmap_iterate(const struct hashmap_s *const hashmap, + int (*f)(void *const context, void *const value), + void *const context) HASHMAP_USED; + +/// @brief Iterate over all the elements in a hashmap. +/// @param hashmap The hashmap to iterate over. +/// @param f The function pointer to call on each element. +/// @param context The context to pass as the first argument to f. +/// @return If the entire hashmap was iterated then 0 is returned. +/// Otherwise if the callback function f returned positive then the positive +/// value is returned. If the callback function returns -1, the current item +/// is removed and iteration continues. +static int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) HASHMAP_USED; + +/// @brief Get the size of the hashmap. +/// @param hashmap The hashmap to get the size of. +/// @return The size of the hashmap. +static unsigned +hashmap_num_entries(const struct hashmap_s *const hashmap) HASHMAP_USED; + +/// @brief Destroy the hashmap. +/// @param hashmap The hashmap to destroy. +static void hashmap_destroy(struct hashmap_s *const hashmap) HASHMAP_USED; + +static unsigned hashmap_crc32_helper(const char *const s, + const unsigned len) HASHMAP_USED; +static unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) HASHMAP_USED; +static int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, + const unsigned len) HASHMAP_USED; +static int hashmap_hash_helper(const struct hashmap_s *const m, + const char *const key, const unsigned len, + unsigned *const out_index) HASHMAP_USED; +static int +hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) HASHMAP_USED; +static int hashmap_rehash_helper(struct hashmap_s *const m) HASHMAP_USED; + +#if defined(__cplusplus) +} +#endif + +#if defined(__cplusplus) +#define HASHMAP_CAST(type, x) static_cast(x) +#define HASHMAP_PTR_CAST(type, x) reinterpret_cast(x) +#define HASHMAP_NULL NULL +#else +#define HASHMAP_CAST(type, x) ((type)x) +#define HASHMAP_PTR_CAST(type, x) ((type)x) +#define HASHMAP_NULL 0 +#endif + +int hashmap_create(const unsigned initial_size, + struct hashmap_s *const out_hashmap) { + out_hashmap->table_size = initial_size; + out_hashmap->size = 0; + + if (0 == initial_size || 0 != (initial_size & (initial_size - 1))) { + return 1; + } + + out_hashmap->data = + HASHMAP_CAST(struct hashmap_element_s *, + malloc(initial_size * sizeof(struct hashmap_element_s))); + if (!out_hashmap->data) { + return 1; + } + memset(out_hashmap->data, 0, initial_size * sizeof(struct hashmap_element_s)); + + return 0; +} + +int hashmap_put(struct hashmap_s *const m, const char *const key, + const unsigned len, void *const value) { + unsigned int index; + + /* Find a place to put our value. */ + while (!hashmap_hash_helper(m, key, len, &index)) { + if (hashmap_rehash_helper(m)) { + return 1; + } + } + + /* Set the data. */ + m->data[index].data = value; + m->data[index].key = key; + m->data[index].key_len = len; + + /* If the hashmap element was not already in use, set that it is being used + * and bump our size. */ + if (0 == m->data[index].in_use) { + m->data[index].in_use = 1; + m->size++; + } + + return 0; +} + +void *hashmap_get(const struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int curr; + unsigned int i; + + /* Find data location */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + return m->data[curr].data; + } + } + + curr = (curr + 1) % m->table_size; + } + + /* Not found */ + return HASHMAP_NULL; +} + +int hashmap_remove(struct hashmap_s *const m, const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + /* Blank out the fields including in_use */ + memset(&m->data[curr], 0, sizeof(struct hashmap_element_s)); + + /* Reduce the size */ + m->size--; + + return 0; + } + } + + curr = (curr + 1) % m->table_size; + } + + return 1; +} + +const char *hashmap_remove_and_return_key(struct hashmap_s *const m, + const char *const key, + const unsigned len) { + unsigned int i; + unsigned int curr; + + /* Find key */ + curr = hashmap_hash_helper_int_helper(m, key, len); + + /* Linear probing, if necessary */ + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (m->data[curr].in_use) { + if (hashmap_match_helper(&m->data[curr], key, len)) { + const char *const stored_key = m->data[curr].key; + + /* Blank out the fields */ + m->data[curr].in_use = 0; + m->data[curr].data = HASHMAP_NULL; + m->data[curr].key = HASHMAP_NULL; + + /* Reduce the size */ + m->size--; + + return stored_key; + } + } + curr = (curr + 1) % m->table_size; + } + + return HASHMAP_NULL; +} + +int hashmap_iterate(const struct hashmap_s *const m, + int (*f)(void *const, void *const), void *const context) { + unsigned int i; + + /* Linear probing */ + for (i = 0; i < m->table_size; i++) { + if (m->data[i].in_use) { + if (!f(context, m->data[i].data)) { + return 1; + } + } + } + return 0; +} + +int hashmap_iterate_pairs(struct hashmap_s *const hashmap, + int (*f)(void *const, + struct hashmap_element_s *const), + void *const context) { + unsigned int i; + struct hashmap_element_s *p; + int r; + + /* Linear probing */ + for (i = 0; i < hashmap->table_size; i++) { + p = &hashmap->data[i]; + if (p->in_use) { + r = f(context, p); + switch (r) { + case -1: /* remove item */ + memset(p, 0, sizeof(struct hashmap_element_s)); + hashmap->size--; + break; + case 0: /* continue iterating */ + break; + default: /* early exit */ + return 1; + } + } + } + return 0; +} + +void hashmap_destroy(struct hashmap_s *const m) { + free(m->data); + memset(m, 0, sizeof(struct hashmap_s)); +} + +unsigned hashmap_num_entries(const struct hashmap_s *const m) { + return m->size; +} + +unsigned hashmap_crc32_helper(const char *const s, const unsigned len) { + unsigned i; + unsigned crc32val = 0; + +#if defined(HASHMAP_SSE42) + for (i = 0; i < len; i++) { + crc32val = _mm_crc32_u8(crc32val, HASHMAP_CAST(unsigned char, s[i])); + } + + return crc32val; +#else + // Using polynomial 0x11EDC6F41 to match SSE 4.2's crc function. + static const unsigned crc32_tab[] = { + 0x00000000U, 0xF26B8303U, 0xE13B70F7U, 0x1350F3F4U, 0xC79A971FU, + 0x35F1141CU, 0x26A1E7E8U, 0xD4CA64EBU, 0x8AD958CFU, 0x78B2DBCCU, + 0x6BE22838U, 0x9989AB3BU, 0x4D43CFD0U, 0xBF284CD3U, 0xAC78BF27U, + 0x5E133C24U, 0x105EC76FU, 0xE235446CU, 0xF165B798U, 0x030E349BU, + 0xD7C45070U, 0x25AFD373U, 0x36FF2087U, 0xC494A384U, 0x9A879FA0U, + 0x68EC1CA3U, 0x7BBCEF57U, 0x89D76C54U, 0x5D1D08BFU, 0xAF768BBCU, + 0xBC267848U, 0x4E4DFB4BU, 0x20BD8EDEU, 0xD2D60DDDU, 0xC186FE29U, + 0x33ED7D2AU, 0xE72719C1U, 0x154C9AC2U, 0x061C6936U, 0xF477EA35U, + 0xAA64D611U, 0x580F5512U, 0x4B5FA6E6U, 0xB93425E5U, 0x6DFE410EU, + 0x9F95C20DU, 0x8CC531F9U, 0x7EAEB2FAU, 0x30E349B1U, 0xC288CAB2U, + 0xD1D83946U, 0x23B3BA45U, 0xF779DEAEU, 0x05125DADU, 0x1642AE59U, + 0xE4292D5AU, 0xBA3A117EU, 0x4851927DU, 0x5B016189U, 0xA96AE28AU, + 0x7DA08661U, 0x8FCB0562U, 0x9C9BF696U, 0x6EF07595U, 0x417B1DBCU, + 0xB3109EBFU, 0xA0406D4BU, 0x522BEE48U, 0x86E18AA3U, 0x748A09A0U, + 0x67DAFA54U, 0x95B17957U, 0xCBA24573U, 0x39C9C670U, 0x2A993584U, + 0xD8F2B687U, 0x0C38D26CU, 0xFE53516FU, 0xED03A29BU, 0x1F682198U, + 0x5125DAD3U, 0xA34E59D0U, 0xB01EAA24U, 0x42752927U, 0x96BF4DCCU, + 0x64D4CECFU, 0x77843D3BU, 0x85EFBE38U, 0xDBFC821CU, 0x2997011FU, + 0x3AC7F2EBU, 0xC8AC71E8U, 0x1C661503U, 0xEE0D9600U, 0xFD5D65F4U, + 0x0F36E6F7U, 0x61C69362U, 0x93AD1061U, 0x80FDE395U, 0x72966096U, + 0xA65C047DU, 0x5437877EU, 0x4767748AU, 0xB50CF789U, 0xEB1FCBADU, + 0x197448AEU, 0x0A24BB5AU, 0xF84F3859U, 0x2C855CB2U, 0xDEEEDFB1U, + 0xCDBE2C45U, 0x3FD5AF46U, 0x7198540DU, 0x83F3D70EU, 0x90A324FAU, + 0x62C8A7F9U, 0xB602C312U, 0x44694011U, 0x5739B3E5U, 0xA55230E6U, + 0xFB410CC2U, 0x092A8FC1U, 0x1A7A7C35U, 0xE811FF36U, 0x3CDB9BDDU, + 0xCEB018DEU, 0xDDE0EB2AU, 0x2F8B6829U, 0x82F63B78U, 0x709DB87BU, + 0x63CD4B8FU, 0x91A6C88CU, 0x456CAC67U, 0xB7072F64U, 0xA457DC90U, + 0x563C5F93U, 0x082F63B7U, 0xFA44E0B4U, 0xE9141340U, 0x1B7F9043U, + 0xCFB5F4A8U, 0x3DDE77ABU, 0x2E8E845FU, 0xDCE5075CU, 0x92A8FC17U, + 0x60C37F14U, 0x73938CE0U, 0x81F80FE3U, 0x55326B08U, 0xA759E80BU, + 0xB4091BFFU, 0x466298FCU, 0x1871A4D8U, 0xEA1A27DBU, 0xF94AD42FU, + 0x0B21572CU, 0xDFEB33C7U, 0x2D80B0C4U, 0x3ED04330U, 0xCCBBC033U, + 0xA24BB5A6U, 0x502036A5U, 0x4370C551U, 0xB11B4652U, 0x65D122B9U, + 0x97BAA1BAU, 0x84EA524EU, 0x7681D14DU, 0x2892ED69U, 0xDAF96E6AU, + 0xC9A99D9EU, 0x3BC21E9DU, 0xEF087A76U, 0x1D63F975U, 0x0E330A81U, + 0xFC588982U, 0xB21572C9U, 0x407EF1CAU, 0x532E023EU, 0xA145813DU, + 0x758FE5D6U, 0x87E466D5U, 0x94B49521U, 0x66DF1622U, 0x38CC2A06U, + 0xCAA7A905U, 0xD9F75AF1U, 0x2B9CD9F2U, 0xFF56BD19U, 0x0D3D3E1AU, + 0x1E6DCDEEU, 0xEC064EEDU, 0xC38D26C4U, 0x31E6A5C7U, 0x22B65633U, + 0xD0DDD530U, 0x0417B1DBU, 0xF67C32D8U, 0xE52CC12CU, 0x1747422FU, + 0x49547E0BU, 0xBB3FFD08U, 0xA86F0EFCU, 0x5A048DFFU, 0x8ECEE914U, + 0x7CA56A17U, 0x6FF599E3U, 0x9D9E1AE0U, 0xD3D3E1ABU, 0x21B862A8U, + 0x32E8915CU, 0xC083125FU, 0x144976B4U, 0xE622F5B7U, 0xF5720643U, + 0x07198540U, 0x590AB964U, 0xAB613A67U, 0xB831C993U, 0x4A5A4A90U, + 0x9E902E7BU, 0x6CFBAD78U, 0x7FAB5E8CU, 0x8DC0DD8FU, 0xE330A81AU, + 0x115B2B19U, 0x020BD8EDU, 0xF0605BEEU, 0x24AA3F05U, 0xD6C1BC06U, + 0xC5914FF2U, 0x37FACCF1U, 0x69E9F0D5U, 0x9B8273D6U, 0x88D28022U, + 0x7AB90321U, 0xAE7367CAU, 0x5C18E4C9U, 0x4F48173DU, 0xBD23943EU, + 0xF36E6F75U, 0x0105EC76U, 0x12551F82U, 0xE03E9C81U, 0x34F4F86AU, + 0xC69F7B69U, 0xD5CF889DU, 0x27A40B9EU, 0x79B737BAU, 0x8BDCB4B9U, + 0x988C474DU, 0x6AE7C44EU, 0xBE2DA0A5U, 0x4C4623A6U, 0x5F16D052U, + 0xAD7D5351U}; + + for (i = 0; i < len; i++) { + crc32val = crc32_tab[(HASHMAP_CAST(unsigned char, crc32val) ^ + HASHMAP_CAST(unsigned char, s[i]))] ^ + (crc32val >> 8); + } + return crc32val; +#endif +} + +unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, + const char *const keystring, + const unsigned len) { + unsigned key = hashmap_crc32_helper(keystring, len); + + /* Robert Jenkins' 32 bit Mix Function */ + key += (key << 12); + key ^= (key >> 22); + key += (key << 4); + key ^= (key >> 9); + key += (key << 10); + key ^= (key >> 2); + key += (key << 7); + key ^= (key >> 12); + + /* Knuth's Multiplicative Method */ + key = (key >> 3) * 2654435761; + + return key % m->table_size; +} + +int hashmap_match_helper(const struct hashmap_element_s *const element, + const char *const key, const unsigned len) { + return (element->key_len == len) && (0 == memcmp(element->key, key, len)); +} + +int hashmap_hash_helper(const struct hashmap_s *const m, const char *const key, + const unsigned len, unsigned *const out_index) { + unsigned int start, curr; + unsigned int i; + int total_in_use; + + /* If full, return immediately */ + if (m->size >= m->table_size) { + return 0; + } + + /* Find the best index */ + curr = start = hashmap_hash_helper_int_helper(m, key, len); + + /* First linear probe to check if we've already insert the element */ + total_in_use = 0; + + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + const int in_use = m->data[curr].in_use; + + total_in_use += in_use; + + if (in_use && hashmap_match_helper(&m->data[curr], key, len)) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + + curr = start; + + /* Second linear probe to actually insert our element (only if there was at + * least one empty entry) */ + if (HASHMAP_MAX_CHAIN_LENGTH > total_in_use) { + for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { + if (!m->data[curr].in_use) { + *out_index = curr; + return 1; + } + + curr = (curr + 1) % m->table_size; + } + } + + return 0; +} + +int hashmap_rehash_iterator(void *const new_hash, + struct hashmap_element_s *const e) { + int temp = hashmap_put(HASHMAP_PTR_CAST(struct hashmap_s *, new_hash), e->key, + e->key_len, e->data); + if (0 < temp) { + return 1; + } + /* clear old value to avoid stale pointers */ + return -1; +} +/* + * Doubles the size of the hashmap, and rehashes all the elements + */ +int hashmap_rehash_helper(struct hashmap_s *const m) { + /* If this multiplication overflows hashmap_create will fail. */ + unsigned new_size = 2 * m->table_size; + + struct hashmap_s new_hash; + + int flag = hashmap_create(new_size, &new_hash); + + if (0 != flag) { + return flag; + } + + /* copy the old elements to the new table */ + flag = hashmap_iterate_pairs(m, hashmap_rehash_iterator, + HASHMAP_PTR_CAST(void *, &new_hash)); + + if (0 != flag) { + return flag; + } + + hashmap_destroy(m); + /* put new hash into old hash structure by copying */ + memcpy(m, &new_hash, sizeof(struct hashmap_s)); + + return 0; +} + +#if defined(_MSC_VER) +#pragma warning(pop) +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif + +#endif diff --git a/rpg/level14.c b/rpg/level14.c new file mode 100644 index 0000000..59cc068 --- /dev/null +++ b/rpg/level14.c @@ -0,0 +1,56 @@ +#include +#include "constants.h" +#include "ent.h" + +#include +#include "rpg_imports.h" + +bool in_door = false; + +__EXPORT__ void level_entered_tile(ent_t* ent, int gx, int gy, grid_t g) +{ + if (g.tag) + { + if (is_player(ent)) + { + grid_t* find = NULL; + if (strcmp(g.tag, "d1") == 0) + { + if (!in_door && (find = get_tile_by_tag("d2")) != NULL) + { + int target_gx, target_gy; + grid_pos(find, &target_gx, &target_gy); + ent->x = target_gx * GRID; + ent->y = target_gy * GRID; + in_door = true; + } + } + if (strcmp(g.tag, "d2") == 0) + { + if (!in_door && (find = get_tile_by_tag("d1")) != NULL) + { + int target_gx, target_gy; + grid_pos((grid_t*)find, &target_gx, &target_gy); + ent->x = target_gx * GRID; + ent->y = target_gy * GRID; + in_door = true; + } + } + } + } +} +__EXPORT__ void level_exited_tile(ent_t* ent, int gx, int gy, grid_t g) +{ +} + +__EXPORT__ void level_update(float ms) +{ + in_door = false; +} + +__EXPORT__ int setup(int arg) +{ + LOAD_DYN(is_player) + LOAD_DYN(get_tile_by_tag) + LOAD_DYN(grid_pos) +} diff --git a/rpg/level_imports.h b/rpg/level_imports.h new file mode 100644 index 0000000..9dd2be5 --- /dev/null +++ b/rpg/level_imports.h @@ -0,0 +1,5 @@ +#include "ent.h" + +__IMPORT__ void (*level_entered_tile)(ent_t* ent, int gx, int gy, grid_t g); +__IMPORT__ void (*level_exited_tile)(ent_t* ent, int gx, int gy, grid_t g); +__IMPORT__ void (*level_update)(float t); diff --git a/rpg/parse.c b/rpg/parse.c new file mode 100644 index 0000000..ec097e2 --- /dev/null +++ b/rpg/parse.c @@ -0,0 +1,64 @@ +#include "parse.h" + +bool reset_parse = false; +char* parse_word = NULL; +int parse_line = 1; +int parse(char* l, size_t len, bool (*is_break)(char), bool debug) +{ + static char last_char; + static int i = 0; + static int nl = 0; + if (reset_parse) + { + parse_line = 1; + i = 0; + nl = 0; + last_char = 0; + reset_parse = false; + } + + parse_word = NULL; + + while (i < len) + { + char c = l[i]; + if (c == 0) c = last_char; + i++; + if (debug) + { + printf("Char@%d %d %c\n", i, c, c); + } + if (is_break(c) || c == '\n') + { + if (parse_word) + { + i--; + l[i] = 0; + last_char = c; + nl = false; + return WORD; + } + else if (c == '\n') + { + nl++; + parse_line++; + if (nl == 1) + { + return NL; + } + else if (nl == 2) + { + return BREAK; + } + } + } + else + { + if (parse_word == NULL) parse_word = l + (i - 1); + } + } + + if (parse_word) return WORD; + + return DONE; +} diff --git a/rpg/parse.h b/rpg/parse.h new file mode 100644 index 0000000..4767bf6 --- /dev/null +++ b/rpg/parse.h @@ -0,0 +1,13 @@ +#pragma once +#include + +#define WORD 0 +#define NL 1 +#define BREAK 2 +#define DONE 3 + +extern bool reset_parse; +extern char* parse_word; +extern int parse_line; + +int parse(char* l, size_t len, bool (*is_break)(char), bool debug); diff --git a/rpg/rpg.c b/rpg/rpg.c new file mode 100644 index 0000000..5791026 --- /dev/null +++ b/rpg/rpg.c @@ -0,0 +1,607 @@ +#include +#include "grid.h" +#include "ent.h" +#include "parse.h" +#include "hashmap.h" + +#include +#include "level_imports.h" + +#include "constants.h" + + +typedef enum +{ + BG_SOLID = 1, + BG_TOP = 2, +} bg_flags; + +typedef struct +{ + char* tile; + pbm_t* pbm; + uint8_t flags; +} bg_t; + +bg_t bg[100]; +int num_bg = 0; + + +grid_t grid[COLS][ROWS]; + +__EXPORT__ void grid_pos(grid_t* g, int* gx, int* gy) +{ + int index = (int)(g - &grid[0][0]); + *gx = index / ROWS; + *gy = index - (*gx * ROWS); +} + +struct hashmap_s tile_tags; + + +ent_t player; + +#define OUTLINE 2 + +bool load_level(char* fname); +void unload_level(); + +void set_outline(ent_t* ent, int pixels, bool expand, bool dither) +{ + ent->outline = d_expand_bitmap(ent->graphic, pixels, expand, dither); + ent->outline_pixels = expand ? pixels : 0; +} +void set_standard_sprite_off(ent_t* ent) +{ + ent->off_x = ent->off_y = SPRITEOFF; +} +void reset_pos(ent_t* ent, int x, int y) +{ + ent->x = ent->ox = x; + ent->y = ent->oy = y; +} +__EXPORT__ int setup(int a) +{ + hashmap_create(32, &tile_tags); + + player.graphic = f_bitmap("/player.pbm"); + set_outline(&player, OUTLINE, true, false); + set_standard_sprite_off(&player); + reset_pos(&player, 0, 0); + + if (!load_level("level14")) + { + return 1; + } + + return 0; +} + +int remove_all_hashmap(void* const ctx, struct hashmap_element_s* const value) { return -1; } + +char* last_level = NULL; +void* level_code = NULL; +void unload_level() +{ + level_update = NULL; + level_entered_tile = NULL; + level_exited_tile = NULL; + + if (level_code) unload_code(level_code); + + for (int i = 0; i < num_bg; i++) + { + free(bg[i].pbm); + } + num_bg = 0; + + if (last_level) + { + free(last_level); + last_level = NULL; + } + + hashmap_iterate_pairs(&tile_tags, remove_all_hashmap, NULL); +} + +#define SOLID 1 +#define TOP 2 + + +bool is_space(char c) { return isspace(c); } +bool is_comma_or_space(char c) { return c == ',' || is_space(c); } + +bool load_level(char* level_name) +{ + unload_level(); + memset(grid, 0, sizeof(grid)); + + char filename[100]; + sprintf(filename, "/%s.txt", level_name); + + size_t len; + last_level = (char*)f_contents(filename, &len); + if (!last_level) + { + printf("Couldn't find level: %s\n", filename); + return false; + } + + reset_parse = true; + + // name, file, [flags] + char* tile_def[] = { NULL, NULL, NULL }; + + while (true) + { + int res = parse(last_level, len, is_space, false); + //printf("Parse res: %d\n", res); + + if (res == DONE) + { + printf("No tile grid given in level %s\n", filename); + return false; + } + + int not_null = 0; + for (; not_null < 3; not_null++) + { + if (!tile_def[not_null]) break; + } + + if (res == NL) + { + if (not_null < 2) + { + printf("Invalid tile def on line %d\n", parse_line - 1); + return false; + } + + if (!tile_def[2]) tile_def[2] = "NULL"; + + printf("Parsed tile %d %s %s %s\n", not_null, tile_def[0], tile_def[1], tile_def[2]); + + bg_flags flags = 0; + if (not_null >= 3) + { + size_t flag_len = strlen(tile_def[2]); + for (int i = 0; i < flag_len; i++) + { + if (tile_def[2][i] == 's') flags |= BG_SOLID; + if (tile_def[2][i] == 't') flags |= BG_TOP; + } + } + + + bool found = false; + char f[100]; + sprintf(f, "/%s.pbm", tile_def[1]); + pbm_t* n = f_bitmap(f); + if (n) + { + found = true; + + bg_t b = { tile_def[0], n, flags }; + bg[num_bg++] = b; + + printf("Tile %s registered as word %s\n", f, tile_def[0]); + } + else + { + int i = 1; + sprintf(f, "/%s%d.pbm", tile_def[1], i); + while (n = f_bitmap(f)) + { + found = true; + + char name[10]; + sprintf(name, "%s%d", tile_def[0], i); + + + bg_t b = { malloc(strlen(name) + 1), n, flags }; + strcpy(b.tile, name); + bg[num_bg++] = b; + + printf("Tile %s registered as word %s\n", f, name); + + i++; + sprintf(f, "/%s%d.pbm", tile_def[1], i); + } + } + + if (!found) + { + printf("Not found: graphic with name %s\n", tile_def[1]); + } + + memset(tile_def, 0, sizeof(tile_def)); + continue; + } + + if (res == BREAK) break; + + if (not_null < 3) + { + tile_def[not_null++] = parse_word; + } + else + { + printf("Too many words on line %d\n", parse_line); + } + } + + int gx = 0; + int gy = 0; + while (true) + { + int res = parse(last_level, len, is_comma_or_space, false); + //printf("Parse res: %d\n", res); + if (res == DONE || res == BREAK) + { + if (gy < ROWS) + { + printf("Didn't read full grid, only %d,%d\n", gx, gy); + return false; + } + break; + } + if (res == NL) + { + if (gx < COLS) + { + printf("Couldn't read full row, only to index %d on line %d\n", gx - 1, parse_line); + return false; + } + gx = 0; + gy++; + } + if (res == WORD) + { + if (gx >= COLS || gy >= ROWS) + { + printf("Grid is too big, reached %d,%d on line %d\n", gx, gy, parse_line); + return false; + } + char* prob = NULL; + char* tag = NULL; + grid_flags flags = 0; + for (int i = 0; i < 2; i++) + { + if (parse_word[0] == '-') + { + flags |= GRID_FLIPX; + parse_word++; + } + else if (parse_word[0] == '!') + { + flags |= GRID_FLIPY; + parse_word++; + } + } + + char* last_word = parse_word; + + size_t l = strlen(last_word); + for (int i = 0; i < l; i++) + { + if (last_word[i] == '.') + { + last_word[i] = 0; + prob = last_word + (i + 1); + last_word = prob; + l = strlen(prob); + break; + } + } + + for (int i = 0; i < l; i++) + { + if (last_word[i] == ':') + { + last_word[i] = 0; + tag = last_word + (i + 1); + last_word = tag; + l = strlen(tag); + break; + } + } + + //printf("Searching %s\n", parse_word); + for (int i = 0; i < num_bg; i++) + { + //printf(" Check %s\n", bg[i].tile); + if (strcmp(bg[i].tile, parse_word) == 0) + { + if (prob) + { + int p = max(0, min(9, atoi(prob))); + if (random(1, 10) > p) continue; + } + //printf("Tile %d on %d,%d\n", i, gx, gy); + grid_t g = { i + 1, flags, tag }; + if (tag) hashmap_put(&tile_tags, tag, strlen(tag), &grid[gx][gy]); + grid[gx][gy] = g; + } + } + + gx++; + + } + } + + sprintf(filename, "/%s.bin", level_name); + level_code = f_code(filename); + + if (level_code) + { + LOAD_DYN(level_entered_tile) + LOAD_DYN(level_exited_tile) + LOAD_DYN(level_update) + } + + return 0; +} + + +float speed = 80; + +bool move_debug = false; + +bool r_intersect(int x1, int y1, int w1, int h1, + int x2, int y2, int w2, int h2) +{ + if (x1 >= x2 + w2 || + x1 + w2 <= x2 || + y1 >= y2 + h2 || + y1 + h2 <= y2) return false; + if (move_debug) printf("INTERSECT [%d,%d + %d,%d] [%d,%d + %d,%d]\n", x1, y1, w1, h1, x2, y2, w2, h2); + return true; +} + +bool r_free(int px, int py, int w, int h) +{ + int minX = px / GRID; + int maxX = (px + w - 1) / GRID; + int minY = py / GRID; + int maxY = (py + h - 1) / GRID; + + for (int i = max(0, minX); i <= min(COLS - 1, maxX); i++) + { + for (int j = max(0, minY); j <= min(ROWS - 1, maxY); j++) + { + if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & SOLID)) + { + if (r_intersect(px, py, w, h, + i * GRID + 1, + j * GRID + 1, + GRID - 2, + GRID - 2)) return false; + } + } + } + return true; +} + +__EXPORT__ bool is_player(ent_t* ent) { return ent == &player; } +__EXPORT__ grid_t* get_tile_by_tag(char* tag) { return (grid_t*)hashmap_get(&tile_tags, tag, strlen(tag)); } + + + +void entered_tile(ent_t* ent, int gx, int gy) +{ + grid_t g = grid[gx][gy]; + if (level_entered_tile) level_entered_tile(ent, gx, gy, g); +} +void exited_tile(ent_t* ent, int gx, int gy) +{ + grid_t g = grid[gx][gy]; + if (level_exited_tile) level_exited_tile(ent, gx, gy, g); +} + +void render_ent(ent_t* ent) +{ + + if (ent->outline) + { + d_pbm( + (uint16_t)roundf(ent->x) - ent->outline_pixels + PADX + ent->off_x, + (uint16_t)roundf(ent->y) - ent->outline_pixels + PADY + ent->off_y, + ent->outline, 0, 0, 0, 0, WHITE, TRANSPARENT, R_NONE, false, false); + } + d_pbm( + (uint16_t)roundf(ent->x) + PADX + ent->off_x, + (uint16_t)roundf(ent->y) + PADY + ent->off_y, + ent->graphic, 0, 0, 0, 0, BLACK, TRANSPARENT, R_NONE, false, false); +} + +void update_ent_movement(ent_t* ent, bool debug); + +__EXPORT__ int loop(int ms) +{ + float t = ms / 1000.0f; + + if (button_down(DPAD_RIGHT)) player.x += t * speed; + if (button_down(DPAD_LEFT)) player.x -= t * speed; + if (button_down(DPAD_DOWN)) player.y += t * speed; + if (button_down(DPAD_UP)) player.y -= t * speed; + if (button_pressed(BUTTON_A)) move_debug = !move_debug; + + update_ent_movement(&player, move_debug); + + if (level_update) level_update(t); + + d_clear(); + + for (int i = 0; i < COLS; i++) + { + for (int j = 0; j < ROWS; j++) + { + if (grid[i][j].tile != 0 && !(bg[grid[i][j].tile - 1].flags & TOP)) + { + d_pbm( + PADX + i * GRID + SPRITEOFF, + PADY + j * GRID + SPRITEOFF, + bg[grid[i][j].tile - 1].pbm, + 0,0,0,0, BLACK, TRANSPARENT, R_NONE, grid[i][j].flags & GRID_FLIPX, grid[i][j].flags & GRID_FLIPY); + } + } + } + + render_ent(&player); + + + for (int i = 0; i < COLS; i++) + { + for (int j = 0; j < ROWS; j++) + { + if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & TOP)) + { + d_fillRect( + PADX + i * GRID, + PADY + j * GRID, + GRID, GRID, + WHITE + ); + } + } + } + + for (int i = 0; i < COLS; i++) + { + for (int j = 0; j < ROWS; j++) + { + if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & TOP)) + { + d_pbm( + PADX + i * GRID + SPRITEOFF, + PADY + j * GRID + SPRITEOFF, + bg[grid[i][j].tile - 1].pbm, + 0,0,0,0, BLACK, TRANSPARENT, R_NONE, grid[i][j].flags & GRID_FLIPX, grid[i][j].flags & GRID_FLIPY); + } + } + } + + return 0; +} + +#define ENTER_GRID_PCT 0.2f +void get_close_grid(float x, float y, int* gx, int* gy, float* pct_x, float* pct_y) +{ + float grid_x, grid_y; + *pct_x = modff((x + GRID * 0.5f) / GRID, &grid_x) - 0.5f; + *pct_y = modff((y + GRID * 0.5f) / GRID, &grid_y) - 0.5f; + if (fabsf(*pct_x) > ENTER_GRID_PCT || fabsf(*pct_y) > ENTER_GRID_PCT) + { + grid_x = -1; + grid_y = -1; + } + *gx = (int)grid_x; + *gy = (int)grid_y; +} + +void update_ent_movement(ent_t* ent, bool debug) +{ + int ox_i = (int)roundf(ent->ox); + int oy_i = (int)roundf(ent->oy); + + if (ent->x != ent->ox || ent->y != ent->oy) + { + int x_i = (int)roundf(ent->x); + int y_i = (int)roundf(ent->y); + + if (ent->x > ent->ox) x_i = (int)roundf(ent->x + 0.5f); + if (ent->x < ent->ox) x_i = (int)roundf(ent->x - 0.5f); + + if (ent->y > ent->oy) y_i = (int)roundf(ent->y + 0.5f); + if (ent->y < ent->oy) y_i = (int)roundf(ent->y - 0.5f); + + bool goX = ox_i != x_i; + bool goY = oy_i != y_i; + + if (debug) printf("(%f,%f)->(%f,%f) I: (%d,%d)->(%d,%d) [%d, %d]\n", ent->ox, ent->oy, ent->x, ent->y, ox_i, oy_i, x_i, y_i, goX, goY); + + while (goX || goY) + { + if (goX) + { + int testX = ox_i < x_i ? ox_i + 1 : ox_i - 1; + bool test = r_free(testX + 1, oy_i + 1, GRID - 2, GRID - 2); + if (move_debug) printf("testX: %d => %d\n", testX, test); + if (test) + { + ox_i = testX; + if (ox_i == x_i) goX = false; + if (move_debug) printf("ox_i = %d, goX = %d\n", ox_i, goX); + } + else + { + goX = false; + if (move_debug) printf("goX = false\n"); + } + } + if (goY) + { + int testY = oy_i < y_i ? oy_i + 1 : oy_i - 1; + bool test = r_free(ox_i + 1, testY + 1, GRID - 2, GRID - 2); + if (move_debug) printf("testY: %d => %d\n", testY, test); + if (test) + { + oy_i = testY; + if (oy_i == y_i) goY = false; + if (move_debug) printf("oy_i = %d, goY = %d\n", oy_i, goY); + } + else + { + goY = false; + if (move_debug) printf("goY = false\n"); + } + } + } + + if (ox_i != x_i) ent->x = ox_i; + if (oy_i != y_i) ent->y = oy_i; + if (debug) printf("reached (%d,%d) on target of (%d,%d), x,y=(%f,%f)\n", ox_i, oy_i, x_i, y_i, ent->x, ent->y); + + if (debug) printf("\n====================\n\n"); + + int o_grid_x, o_grid_y; + float o_ingrid_x, o_ingrid_y; + + int grid_x, grid_y; + float ingrid_x, ingrid_y; + + get_close_grid(ent->ox, ent->oy, &o_grid_x, &o_grid_y, &o_ingrid_x, &o_ingrid_y); + + int tries = 10; + for (; tries > 0; tries--) + { + get_close_grid(ent->x, ent->y, &grid_x, &grid_y, &ingrid_x, &ingrid_y); + + if (grid_x == o_grid_x && grid_y == o_grid_y) + { + break; + } + else + { + if (o_grid_x != -1) + { + exited_tile(ent, o_grid_x, o_grid_y); + //printf("Exited: %f %f\n", o_grid_x, o_grid_y); + } + if (grid_x != -1) + { + entered_tile(ent, grid_x, grid_y); + //printf("Entered: %f %f\n", grid_x, grid_y); + } + + o_grid_x = grid_x; + o_grid_y = grid_y; + } + } + if (tries == 0) printf("RAN OUT OF TILE CHECK TRIES\n"); + } + + ent->ox = ent->x; + ent->oy = ent->y; + +} diff --git a/rpg/rpg_imports.h b/rpg/rpg_imports.h new file mode 100644 index 0000000..3f38698 --- /dev/null +++ b/rpg/rpg_imports.h @@ -0,0 +1,7 @@ +#pragma once +#include "ent.h" +#include "grid.h" + +__IMPORT__ bool (*is_player)(ent_t* ent); +__IMPORT__ grid_t* (*get_tile_by_tag)(char* tag); +__IMPORT__ void (*grid_pos)(grid_t* g, int* gx, int* gy); diff --git a/test/Makefile b/test/Makefile deleted file mode 100644 index 140f7d4..0000000 --- a/test/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -CART_DIR ?= ../cart/test -MAKE_ROOT ?= ../../cneboy/make - -SOURCES := test.c parse.c - -MODULES := level14 - -SOURCES_level14 := level14.c - -include $(MAKE_ROOT)/Makefile diff --git a/test/hashmap.h b/test/hashmap.h deleted file mode 100644 index da88e81..0000000 --- a/test/hashmap.h +++ /dev/null @@ -1,594 +0,0 @@ -/* - The latest version of this library is available on GitHub; - https://github.com/sheredom/hashmap.h -*/ - -/* - This is free and unencumbered software released into the public domain. - - Anyone is free to copy, modify, publish, use, compile, sell, or - distribute this software, either in source code form or as a compiled - binary, for any purpose, commercial or non-commercial, and by any - means. - - In jurisdictions that recognize copyright laws, the author or authors - of this software dedicate any and all copyright interest in the - software to the public domain. We make this dedication for the benefit - of the public at large and to the detriment of our heirs and - successors. We intend this dedication to be an overt act of - relinquishment in perpetuity of all present and future rights to this - software under copyright law. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - - For more information, please refer to -*/ -#ifndef SHEREDOM_HASHMAP_H_INCLUDED -#define SHEREDOM_HASHMAP_H_INCLUDED - -#if defined(_MSC_VER) -// Workaround a bug in the MSVC runtime where it uses __cplusplus when not -// defined. -#pragma warning(push, 0) -#pragma warning(disable : 4668) -#endif - -#include "client_api.h" - -//#include -//#include - -//#if (defined(_MSC_VER) && defined(__AVX__)) || \ -// (!defined(_MSC_VER) && defined(__SSE4_2__)) -//#define HASHMAP_SSE42 -//#endif - -//#if defined(HASHMAP_SSE42) -//#include -//#endif - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif - -#if defined(_MSC_VER) -#pragma warning(push) -/* Stop MSVC complaining about unreferenced functions */ -#pragma warning(disable : 4505) -/* Stop MSVC complaining about not inlining functions */ -#pragma warning(disable : 4710) -/* Stop MSVC complaining about inlining functions! */ -#pragma warning(disable : 4711) -#elif defined(__clang__) -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wunused-function" -#endif - -#if defined(_MSC_VER) -#define HASHMAP_USED -#elif defined(__GNUC__) -#define HASHMAP_USED __attribute__((used)) -#else -#define HASHMAP_USED -#endif - -/* We need to keep keys and values. */ -struct hashmap_element_s { - const char *key; - unsigned key_len; - int in_use; - void *data; -}; - -/* A hashmap has some maximum size and current size, as well as the data to - * hold. */ -struct hashmap_s { - unsigned table_size; - unsigned size; - struct hashmap_element_s *data; -}; - -#define HASHMAP_MAX_CHAIN_LENGTH (8) - -#if defined(__cplusplus) -extern "C" { -#endif - -/// @brief Create a hashmap. -/// @param initial_size The initial size of the hashmap. Must be a power of two. -/// @param out_hashmap The storage for the created hashmap. -/// @return On success 0 is returned. -/// -/// Note that the initial size of the hashmap must be a power of two, and -/// creation of the hashmap will fail if this is not the case. -static int hashmap_create(const unsigned initial_size, - struct hashmap_s *const out_hashmap) HASHMAP_USED; - -/// @brief Put an element into the hashmap. -/// @param hashmap The hashmap to insert into. -/// @param key The string key to use. -/// @param len The length of the string key. -/// @param value The value to insert. -/// @return On success 0 is returned. -/// -/// The key string slice is not copied when creating the hashmap entry, and thus -/// must remain a valid pointer until the hashmap entry is removed or the -/// hashmap is destroyed. -static int hashmap_put(struct hashmap_s *const hashmap, const char *const key, - const unsigned len, void *const value) HASHMAP_USED; - -/// @brief Get an element from the hashmap. -/// @param hashmap The hashmap to get from. -/// @param key The string key to use. -/// @param len The length of the string key. -/// @return The previously set element, or NULL if none exists. -static void *hashmap_get(const struct hashmap_s *const hashmap, - const char *const key, - const unsigned len) HASHMAP_USED; - -/// @brief Remove an element from the hashmap. -/// @param hashmap The hashmap to remove from. -/// @param key The string key to use. -/// @param len The length of the string key. -/// @return On success 0 is returned. -static int hashmap_remove(struct hashmap_s *const hashmap, - const char *const key, - const unsigned len) HASHMAP_USED; - -/// @brief Remove an element from the hashmap. -/// @param hashmap The hashmap to remove from. -/// @param key The string key to use. -/// @param len The length of the string key. -/// @return On success the original stored key pointer is returned, on failure -/// NULL is returned. -static const char * -hashmap_remove_and_return_key(struct hashmap_s *const hashmap, - const char *const key, - const unsigned len) HASHMAP_USED; - -/// @brief Iterate over all the elements in a hashmap. -/// @param hashmap The hashmap to iterate over. -/// @param f The function pointer to call on each element. -/// @param context The context to pass as the first argument to f. -/// @return If the entire hashmap was iterated then 0 is returned. Otherwise if -/// the callback function f returned non-zero then non-zero is returned. -static int hashmap_iterate(const struct hashmap_s *const hashmap, - int (*f)(void *const context, void *const value), - void *const context) HASHMAP_USED; - -/// @brief Iterate over all the elements in a hashmap. -/// @param hashmap The hashmap to iterate over. -/// @param f The function pointer to call on each element. -/// @param context The context to pass as the first argument to f. -/// @return If the entire hashmap was iterated then 0 is returned. -/// Otherwise if the callback function f returned positive then the positive -/// value is returned. If the callback function returns -1, the current item -/// is removed and iteration continues. -static int hashmap_iterate_pairs(struct hashmap_s *const hashmap, - int (*f)(void *const, - struct hashmap_element_s *const), - void *const context) HASHMAP_USED; - -/// @brief Get the size of the hashmap. -/// @param hashmap The hashmap to get the size of. -/// @return The size of the hashmap. -static unsigned -hashmap_num_entries(const struct hashmap_s *const hashmap) HASHMAP_USED; - -/// @brief Destroy the hashmap. -/// @param hashmap The hashmap to destroy. -static void hashmap_destroy(struct hashmap_s *const hashmap) HASHMAP_USED; - -static unsigned hashmap_crc32_helper(const char *const s, - const unsigned len) HASHMAP_USED; -static unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, - const char *const keystring, - const unsigned len) HASHMAP_USED; -static int hashmap_match_helper(const struct hashmap_element_s *const element, - const char *const key, - const unsigned len) HASHMAP_USED; -static int hashmap_hash_helper(const struct hashmap_s *const m, - const char *const key, const unsigned len, - unsigned *const out_index) HASHMAP_USED; -static int -hashmap_rehash_iterator(void *const new_hash, - struct hashmap_element_s *const e) HASHMAP_USED; -static int hashmap_rehash_helper(struct hashmap_s *const m) HASHMAP_USED; - -#if defined(__cplusplus) -} -#endif - -#if defined(__cplusplus) -#define HASHMAP_CAST(type, x) static_cast(x) -#define HASHMAP_PTR_CAST(type, x) reinterpret_cast(x) -#define HASHMAP_NULL NULL -#else -#define HASHMAP_CAST(type, x) ((type)x) -#define HASHMAP_PTR_CAST(type, x) ((type)x) -#define HASHMAP_NULL 0 -#endif - -int hashmap_create(const unsigned initial_size, - struct hashmap_s *const out_hashmap) { - out_hashmap->table_size = initial_size; - out_hashmap->size = 0; - - if (0 == initial_size || 0 != (initial_size & (initial_size - 1))) { - return 1; - } - - out_hashmap->data = - HASHMAP_CAST(struct hashmap_element_s *, - malloc(initial_size * sizeof(struct hashmap_element_s))); - if (!out_hashmap->data) { - return 1; - } - memset(out_hashmap->data, 0, initial_size * sizeof(struct hashmap_element_s)); - - return 0; -} - -int hashmap_put(struct hashmap_s *const m, const char *const key, - const unsigned len, void *const value) { - unsigned int index; - - /* Find a place to put our value. */ - while (!hashmap_hash_helper(m, key, len, &index)) { - if (hashmap_rehash_helper(m)) { - return 1; - } - } - - /* Set the data. */ - m->data[index].data = value; - m->data[index].key = key; - m->data[index].key_len = len; - - /* If the hashmap element was not already in use, set that it is being used - * and bump our size. */ - if (0 == m->data[index].in_use) { - m->data[index].in_use = 1; - m->size++; - } - - return 0; -} - -void *hashmap_get(const struct hashmap_s *const m, const char *const key, - const unsigned len) { - unsigned int curr; - unsigned int i; - - /* Find data location */ - curr = hashmap_hash_helper_int_helper(m, key, len); - - /* Linear probing, if necessary */ - for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { - if (m->data[curr].in_use) { - if (hashmap_match_helper(&m->data[curr], key, len)) { - return m->data[curr].data; - } - } - - curr = (curr + 1) % m->table_size; - } - - /* Not found */ - return HASHMAP_NULL; -} - -int hashmap_remove(struct hashmap_s *const m, const char *const key, - const unsigned len) { - unsigned int i; - unsigned int curr; - - /* Find key */ - curr = hashmap_hash_helper_int_helper(m, key, len); - - /* Linear probing, if necessary */ - for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { - if (m->data[curr].in_use) { - if (hashmap_match_helper(&m->data[curr], key, len)) { - /* Blank out the fields including in_use */ - memset(&m->data[curr], 0, sizeof(struct hashmap_element_s)); - - /* Reduce the size */ - m->size--; - - return 0; - } - } - - curr = (curr + 1) % m->table_size; - } - - return 1; -} - -const char *hashmap_remove_and_return_key(struct hashmap_s *const m, - const char *const key, - const unsigned len) { - unsigned int i; - unsigned int curr; - - /* Find key */ - curr = hashmap_hash_helper_int_helper(m, key, len); - - /* Linear probing, if necessary */ - for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { - if (m->data[curr].in_use) { - if (hashmap_match_helper(&m->data[curr], key, len)) { - const char *const stored_key = m->data[curr].key; - - /* Blank out the fields */ - m->data[curr].in_use = 0; - m->data[curr].data = HASHMAP_NULL; - m->data[curr].key = HASHMAP_NULL; - - /* Reduce the size */ - m->size--; - - return stored_key; - } - } - curr = (curr + 1) % m->table_size; - } - - return HASHMAP_NULL; -} - -int hashmap_iterate(const struct hashmap_s *const m, - int (*f)(void *const, void *const), void *const context) { - unsigned int i; - - /* Linear probing */ - for (i = 0; i < m->table_size; i++) { - if (m->data[i].in_use) { - if (!f(context, m->data[i].data)) { - return 1; - } - } - } - return 0; -} - -int hashmap_iterate_pairs(struct hashmap_s *const hashmap, - int (*f)(void *const, - struct hashmap_element_s *const), - void *const context) { - unsigned int i; - struct hashmap_element_s *p; - int r; - - /* Linear probing */ - for (i = 0; i < hashmap->table_size; i++) { - p = &hashmap->data[i]; - if (p->in_use) { - r = f(context, p); - switch (r) { - case -1: /* remove item */ - memset(p, 0, sizeof(struct hashmap_element_s)); - hashmap->size--; - break; - case 0: /* continue iterating */ - break; - default: /* early exit */ - return 1; - } - } - } - return 0; -} - -void hashmap_destroy(struct hashmap_s *const m) { - free(m->data); - memset(m, 0, sizeof(struct hashmap_s)); -} - -unsigned hashmap_num_entries(const struct hashmap_s *const m) { - return m->size; -} - -unsigned hashmap_crc32_helper(const char *const s, const unsigned len) { - unsigned i; - unsigned crc32val = 0; - -#if defined(HASHMAP_SSE42) - for (i = 0; i < len; i++) { - crc32val = _mm_crc32_u8(crc32val, HASHMAP_CAST(unsigned char, s[i])); - } - - return crc32val; -#else - // Using polynomial 0x11EDC6F41 to match SSE 4.2's crc function. - static const unsigned crc32_tab[] = { - 0x00000000U, 0xF26B8303U, 0xE13B70F7U, 0x1350F3F4U, 0xC79A971FU, - 0x35F1141CU, 0x26A1E7E8U, 0xD4CA64EBU, 0x8AD958CFU, 0x78B2DBCCU, - 0x6BE22838U, 0x9989AB3BU, 0x4D43CFD0U, 0xBF284CD3U, 0xAC78BF27U, - 0x5E133C24U, 0x105EC76FU, 0xE235446CU, 0xF165B798U, 0x030E349BU, - 0xD7C45070U, 0x25AFD373U, 0x36FF2087U, 0xC494A384U, 0x9A879FA0U, - 0x68EC1CA3U, 0x7BBCEF57U, 0x89D76C54U, 0x5D1D08BFU, 0xAF768BBCU, - 0xBC267848U, 0x4E4DFB4BU, 0x20BD8EDEU, 0xD2D60DDDU, 0xC186FE29U, - 0x33ED7D2AU, 0xE72719C1U, 0x154C9AC2U, 0x061C6936U, 0xF477EA35U, - 0xAA64D611U, 0x580F5512U, 0x4B5FA6E6U, 0xB93425E5U, 0x6DFE410EU, - 0x9F95C20DU, 0x8CC531F9U, 0x7EAEB2FAU, 0x30E349B1U, 0xC288CAB2U, - 0xD1D83946U, 0x23B3BA45U, 0xF779DEAEU, 0x05125DADU, 0x1642AE59U, - 0xE4292D5AU, 0xBA3A117EU, 0x4851927DU, 0x5B016189U, 0xA96AE28AU, - 0x7DA08661U, 0x8FCB0562U, 0x9C9BF696U, 0x6EF07595U, 0x417B1DBCU, - 0xB3109EBFU, 0xA0406D4BU, 0x522BEE48U, 0x86E18AA3U, 0x748A09A0U, - 0x67DAFA54U, 0x95B17957U, 0xCBA24573U, 0x39C9C670U, 0x2A993584U, - 0xD8F2B687U, 0x0C38D26CU, 0xFE53516FU, 0xED03A29BU, 0x1F682198U, - 0x5125DAD3U, 0xA34E59D0U, 0xB01EAA24U, 0x42752927U, 0x96BF4DCCU, - 0x64D4CECFU, 0x77843D3BU, 0x85EFBE38U, 0xDBFC821CU, 0x2997011FU, - 0x3AC7F2EBU, 0xC8AC71E8U, 0x1C661503U, 0xEE0D9600U, 0xFD5D65F4U, - 0x0F36E6F7U, 0x61C69362U, 0x93AD1061U, 0x80FDE395U, 0x72966096U, - 0xA65C047DU, 0x5437877EU, 0x4767748AU, 0xB50CF789U, 0xEB1FCBADU, - 0x197448AEU, 0x0A24BB5AU, 0xF84F3859U, 0x2C855CB2U, 0xDEEEDFB1U, - 0xCDBE2C45U, 0x3FD5AF46U, 0x7198540DU, 0x83F3D70EU, 0x90A324FAU, - 0x62C8A7F9U, 0xB602C312U, 0x44694011U, 0x5739B3E5U, 0xA55230E6U, - 0xFB410CC2U, 0x092A8FC1U, 0x1A7A7C35U, 0xE811FF36U, 0x3CDB9BDDU, - 0xCEB018DEU, 0xDDE0EB2AU, 0x2F8B6829U, 0x82F63B78U, 0x709DB87BU, - 0x63CD4B8FU, 0x91A6C88CU, 0x456CAC67U, 0xB7072F64U, 0xA457DC90U, - 0x563C5F93U, 0x082F63B7U, 0xFA44E0B4U, 0xE9141340U, 0x1B7F9043U, - 0xCFB5F4A8U, 0x3DDE77ABU, 0x2E8E845FU, 0xDCE5075CU, 0x92A8FC17U, - 0x60C37F14U, 0x73938CE0U, 0x81F80FE3U, 0x55326B08U, 0xA759E80BU, - 0xB4091BFFU, 0x466298FCU, 0x1871A4D8U, 0xEA1A27DBU, 0xF94AD42FU, - 0x0B21572CU, 0xDFEB33C7U, 0x2D80B0C4U, 0x3ED04330U, 0xCCBBC033U, - 0xA24BB5A6U, 0x502036A5U, 0x4370C551U, 0xB11B4652U, 0x65D122B9U, - 0x97BAA1BAU, 0x84EA524EU, 0x7681D14DU, 0x2892ED69U, 0xDAF96E6AU, - 0xC9A99D9EU, 0x3BC21E9DU, 0xEF087A76U, 0x1D63F975U, 0x0E330A81U, - 0xFC588982U, 0xB21572C9U, 0x407EF1CAU, 0x532E023EU, 0xA145813DU, - 0x758FE5D6U, 0x87E466D5U, 0x94B49521U, 0x66DF1622U, 0x38CC2A06U, - 0xCAA7A905U, 0xD9F75AF1U, 0x2B9CD9F2U, 0xFF56BD19U, 0x0D3D3E1AU, - 0x1E6DCDEEU, 0xEC064EEDU, 0xC38D26C4U, 0x31E6A5C7U, 0x22B65633U, - 0xD0DDD530U, 0x0417B1DBU, 0xF67C32D8U, 0xE52CC12CU, 0x1747422FU, - 0x49547E0BU, 0xBB3FFD08U, 0xA86F0EFCU, 0x5A048DFFU, 0x8ECEE914U, - 0x7CA56A17U, 0x6FF599E3U, 0x9D9E1AE0U, 0xD3D3E1ABU, 0x21B862A8U, - 0x32E8915CU, 0xC083125FU, 0x144976B4U, 0xE622F5B7U, 0xF5720643U, - 0x07198540U, 0x590AB964U, 0xAB613A67U, 0xB831C993U, 0x4A5A4A90U, - 0x9E902E7BU, 0x6CFBAD78U, 0x7FAB5E8CU, 0x8DC0DD8FU, 0xE330A81AU, - 0x115B2B19U, 0x020BD8EDU, 0xF0605BEEU, 0x24AA3F05U, 0xD6C1BC06U, - 0xC5914FF2U, 0x37FACCF1U, 0x69E9F0D5U, 0x9B8273D6U, 0x88D28022U, - 0x7AB90321U, 0xAE7367CAU, 0x5C18E4C9U, 0x4F48173DU, 0xBD23943EU, - 0xF36E6F75U, 0x0105EC76U, 0x12551F82U, 0xE03E9C81U, 0x34F4F86AU, - 0xC69F7B69U, 0xD5CF889DU, 0x27A40B9EU, 0x79B737BAU, 0x8BDCB4B9U, - 0x988C474DU, 0x6AE7C44EU, 0xBE2DA0A5U, 0x4C4623A6U, 0x5F16D052U, - 0xAD7D5351U}; - - for (i = 0; i < len; i++) { - crc32val = crc32_tab[(HASHMAP_CAST(unsigned char, crc32val) ^ - HASHMAP_CAST(unsigned char, s[i]))] ^ - (crc32val >> 8); - } - return crc32val; -#endif -} - -unsigned hashmap_hash_helper_int_helper(const struct hashmap_s *const m, - const char *const keystring, - const unsigned len) { - unsigned key = hashmap_crc32_helper(keystring, len); - - /* Robert Jenkins' 32 bit Mix Function */ - key += (key << 12); - key ^= (key >> 22); - key += (key << 4); - key ^= (key >> 9); - key += (key << 10); - key ^= (key >> 2); - key += (key << 7); - key ^= (key >> 12); - - /* Knuth's Multiplicative Method */ - key = (key >> 3) * 2654435761; - - return key % m->table_size; -} - -int hashmap_match_helper(const struct hashmap_element_s *const element, - const char *const key, const unsigned len) { - return (element->key_len == len) && (0 == memcmp(element->key, key, len)); -} - -int hashmap_hash_helper(const struct hashmap_s *const m, const char *const key, - const unsigned len, unsigned *const out_index) { - unsigned int start, curr; - unsigned int i; - int total_in_use; - - /* If full, return immediately */ - if (m->size >= m->table_size) { - return 0; - } - - /* Find the best index */ - curr = start = hashmap_hash_helper_int_helper(m, key, len); - - /* First linear probe to check if we've already insert the element */ - total_in_use = 0; - - for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { - const int in_use = m->data[curr].in_use; - - total_in_use += in_use; - - if (in_use && hashmap_match_helper(&m->data[curr], key, len)) { - *out_index = curr; - return 1; - } - - curr = (curr + 1) % m->table_size; - } - - curr = start; - - /* Second linear probe to actually insert our element (only if there was at - * least one empty entry) */ - if (HASHMAP_MAX_CHAIN_LENGTH > total_in_use) { - for (i = 0; i < HASHMAP_MAX_CHAIN_LENGTH; i++) { - if (!m->data[curr].in_use) { - *out_index = curr; - return 1; - } - - curr = (curr + 1) % m->table_size; - } - } - - return 0; -} - -int hashmap_rehash_iterator(void *const new_hash, - struct hashmap_element_s *const e) { - int temp = hashmap_put(HASHMAP_PTR_CAST(struct hashmap_s *, new_hash), e->key, - e->key_len, e->data); - if (0 < temp) { - return 1; - } - /* clear old value to avoid stale pointers */ - return -1; -} -/* - * Doubles the size of the hashmap, and rehashes all the elements - */ -int hashmap_rehash_helper(struct hashmap_s *const m) { - /* If this multiplication overflows hashmap_create will fail. */ - unsigned new_size = 2 * m->table_size; - - struct hashmap_s new_hash; - - int flag = hashmap_create(new_size, &new_hash); - - if (0 != flag) { - return flag; - } - - /* copy the old elements to the new table */ - flag = hashmap_iterate_pairs(m, hashmap_rehash_iterator, - HASHMAP_PTR_CAST(void *, &new_hash)); - - if (0 != flag) { - return flag; - } - - hashmap_destroy(m); - /* put new hash into old hash structure by copying */ - memcpy(m, &new_hash, sizeof(struct hashmap_s)); - - return 0; -} - -#if defined(_MSC_VER) -#pragma warning(pop) -#elif defined(__clang__) -#pragma clang diagnostic pop -#endif - -#endif diff --git a/test/level14.c b/test/level14.c deleted file mode 100644 index 469dd85..0000000 --- a/test/level14.c +++ /dev/null @@ -1,3 +0,0 @@ -#include - -__EXPORT__ void tile_entered() { } diff --git a/test/parse.c b/test/parse.c deleted file mode 100644 index ec097e2..0000000 --- a/test/parse.c +++ /dev/null @@ -1,64 +0,0 @@ -#include "parse.h" - -bool reset_parse = false; -char* parse_word = NULL; -int parse_line = 1; -int parse(char* l, size_t len, bool (*is_break)(char), bool debug) -{ - static char last_char; - static int i = 0; - static int nl = 0; - if (reset_parse) - { - parse_line = 1; - i = 0; - nl = 0; - last_char = 0; - reset_parse = false; - } - - parse_word = NULL; - - while (i < len) - { - char c = l[i]; - if (c == 0) c = last_char; - i++; - if (debug) - { - printf("Char@%d %d %c\n", i, c, c); - } - if (is_break(c) || c == '\n') - { - if (parse_word) - { - i--; - l[i] = 0; - last_char = c; - nl = false; - return WORD; - } - else if (c == '\n') - { - nl++; - parse_line++; - if (nl == 1) - { - return NL; - } - else if (nl == 2) - { - return BREAK; - } - } - } - else - { - if (parse_word == NULL) parse_word = l + (i - 1); - } - } - - if (parse_word) return WORD; - - return DONE; -} diff --git a/test/parse.h b/test/parse.h deleted file mode 100644 index 4767bf6..0000000 --- a/test/parse.h +++ /dev/null @@ -1,13 +0,0 @@ -#pragma once -#include - -#define WORD 0 -#define NL 1 -#define BREAK 2 -#define DONE 3 - -extern bool reset_parse; -extern char* parse_word; -extern int parse_line; - -int parse(char* l, size_t len, bool (*is_break)(char), bool debug); diff --git a/test/test.c b/test/test.c deleted file mode 100644 index fdde19a..0000000 --- a/test/test.c +++ /dev/null @@ -1,639 +0,0 @@ -#include -#include "parse.h" -#include "hashmap.h" - -#define GRID 14 -#define COLS 12 -#define ROWS 10 -#define PADX 0 -#define PADY 2 -#define SPRITEOFF -1 - -typedef enum -{ - BG_SOLID = 1, - BG_TOP = 2, -} bg_flags; - -typedef struct -{ - char* tile; - pbm_t* pbm; - uint8_t flags; -} bg_t; - -bg_t bg[100]; -int num_bg = 0; - -typedef enum -{ - GRID_FLIPX = 1, - GRID_FLIPY = 2, -} grid_flags; - -typedef struct -{ - uint8_t tile; - grid_flags flags; - char* tag; -} grid_t; - -grid_t grid[COLS][ROWS]; - -void grid_pos(grid_t* g, int* gx, int* gy) -{ - int index = (int)(g - &grid[0][0]); - *gx = index / ROWS; - *gy = index - (*gx * ROWS); -} - -struct hashmap_s tile_tags; - -typedef struct -{ - // last frame coords - float ox; - float oy; - - // current coords - float x; - float y; - - pbm_t* graphic; - pbm_t* outline; - int off_x; - int off_y; - int outline_pixels; -} ent_t; - -ent_t player; - -#define OUTLINE 2 - -bool load_level(char* fname); -void unload_bg(); - -void set_outline(ent_t* ent, int pixels, bool expand, bool dither) -{ - ent->outline = d_expand_bitmap(ent->graphic, pixels, expand, dither); - ent->outline_pixels = expand ? pixels : 0; -} -void set_standard_sprite_off(ent_t* ent) -{ - ent->off_x = ent->off_y = SPRITEOFF; -} -void reset_pos(ent_t* ent, int x, int y) -{ - ent->x = ent->ox = x; - ent->y = ent->oy = y; -} -__EXPORT__ int setup(int a) -{ - hashmap_create(32, &tile_tags); - - player.graphic = f_bitmap("/player.pbm"); - set_outline(&player, OUTLINE, true, false); - set_standard_sprite_off(&player); - reset_pos(&player, 0, 0); - - if (!load_level("/level14.txt")) - { - return 1; - } - - return 0; -} - -int remove_all_hashmap(void* const ctx, struct hashmap_element_s* const value) { return -1; } - -char* last_level = NULL; -void unload_bg() -{ - for (int i = 0; i < num_bg; i++) - { - free(bg[i].pbm); - } - num_bg = 0; - - if (last_level) - { - free(last_level); - last_level = NULL; - } - - hashmap_iterate_pairs(&tile_tags, remove_all_hashmap, NULL); -} - -#define SOLID 1 -#define TOP 2 - - -bool is_space(char c) { return isspace(c); } -bool is_comma_or_space(char c) { return c == ',' || is_space(c); } - -bool load_level(char* fname) -{ - unload_bg(); - memset(grid, 0, sizeof(grid)); - - size_t len; - last_level = (char*)f_contents(fname, &len); - if (!last_level) - { - printf("Couldn't find level: %s\n", fname); - return false; - } - - reset_parse = true; - - // name, file, [flags] - char* tile_def[] = { NULL, NULL, NULL }; - - while (true) - { - int res = parse(last_level, len, is_space, false); - //printf("Parse res: %d\n", res); - - if (res == DONE) - { - printf("No tile grid given in level %s\n", fname); - return false; - } - - int not_null = 0; - for (; not_null < 3; not_null++) - { - if (!tile_def[not_null]) break; - } - - if (res == NL) - { - if (not_null < 2) - { - printf("Invalid tile def on line %d\n", parse_line - 1); - return false; - } - - if (!tile_def[2]) tile_def[2] = "NULL"; - - printf("Parsed tile %d %s %s %s\n", not_null, tile_def[0], tile_def[1], tile_def[2]); - - bg_flags flags = 0; - if (not_null >= 3) - { - size_t flag_len = strlen(tile_def[2]); - for (int i = 0; i < flag_len; i++) - { - if (tile_def[2][i] == 's') flags |= BG_SOLID; - if (tile_def[2][i] == 't') flags |= BG_TOP; - } - } - - - bool found = false; - char f[100]; - sprintf(f, "/%s.pbm", tile_def[1]); - pbm_t* n = f_bitmap(f); - if (n) - { - found = true; - - bg_t b = { tile_def[0], n, flags }; - bg[num_bg++] = b; - - printf("Tile %s registered as word %s\n", f, tile_def[0]); - } - else - { - int i = 1; - sprintf(f, "/%s%d.pbm", tile_def[1], i); - while (n = f_bitmap(f)) - { - found = true; - - char name[10]; - sprintf(name, "%s%d", tile_def[0], i); - - - bg_t b = { malloc(strlen(name) + 1), n, flags }; - strcpy(b.tile, name); - bg[num_bg++] = b; - - printf("Tile %s registered as word %s\n", f, name); - - i++; - sprintf(f, "/%s%d.pbm", tile_def[1], i); - } - } - - if (!found) - { - printf("Not found: graphic with name %s\n", tile_def[1]); - } - - memset(tile_def, 0, sizeof(tile_def)); - continue; - } - - if (res == BREAK) break; - - if (not_null < 3) - { - tile_def[not_null++] = parse_word; - } - else - { - printf("Too many words on line %d\n", parse_line); - } - } - - int gx = 0; - int gy = 0; - while (true) - { - int res = parse(last_level, len, is_comma_or_space, false); - //printf("Parse res: %d\n", res); - if (res == DONE || res == BREAK) - { - if (gy < ROWS) - { - printf("Didn't read full grid, only %d,%d\n", gx, gy); - return false; - } - break; - } - if (res == NL) - { - if (gx < COLS) - { - printf("Couldn't read full row, only to index %d on line %d\n", gx - 1, parse_line); - return false; - } - gx = 0; - gy++; - } - if (res == WORD) - { - if (gx >= COLS || gy >= ROWS) - { - printf("Grid is too big, reached %d,%d on line %d\n", gx, gy, parse_line); - return false; - } - char* prob = NULL; - char* tag = NULL; - grid_flags flags = 0; - for (int i = 0; i < 2; i++) - { - if (parse_word[0] == '-') - { - flags |= GRID_FLIPX; - parse_word++; - } - else if (parse_word[0] == '!') - { - flags |= GRID_FLIPY; - parse_word++; - } - } - - char* last_word = parse_word; - - size_t l = strlen(last_word); - for (int i = 0; i < l; i++) - { - if (last_word[i] == '.') - { - last_word[i] = 0; - prob = last_word + (i + 1); - last_word = prob; - l = strlen(prob); - break; - } - } - - for (int i = 0; i < l; i++) - { - if (last_word[i] == ':') - { - last_word[i] = 0; - tag = last_word + (i + 1); - last_word = tag; - l = strlen(tag); - break; - } - } - - //printf("Searching %s\n", parse_word); - for (int i = 0; i < num_bg; i++) - { - //printf(" Check %s\n", bg[i].tile); - if (strcmp(bg[i].tile, parse_word) == 0) - { - if (prob) - { - int p = max(0, min(9, atoi(prob))); - if (random(1, 10) > p) continue; - } - //printf("Tile %d on %d,%d\n", i, gx, gy); - grid_t g = { i + 1, flags, tag }; - if (tag) hashmap_put(&tile_tags, tag, strlen(tag), &grid[gx][gy]); - grid[gx][gy] = g; - } - } - - gx++; - - } - } - - - return 0; -} - - -float speed = 80; - -bool move_debug = false; - -bool r_intersect(int x1, int y1, int w1, int h1, - int x2, int y2, int w2, int h2) -{ - if (x1 >= x2 + w2 || - x1 + w2 <= x2 || - y1 >= y2 + h2 || - y1 + h2 <= y2) return false; - if (move_debug) printf("INTERSECT [%d,%d + %d,%d] [%d,%d + %d,%d]\n", x1, y1, w1, h1, x2, y2, w2, h2); - return true; -} - -bool r_free(int px, int py, int w, int h) -{ - int minX = px / GRID; - int maxX = (px + w - 1) / GRID; - int minY = py / GRID; - int maxY = (py + h - 1) / GRID; - - for (int i = max(0, minX); i <= min(COLS - 1, maxX); i++) - { - for (int j = max(0, minY); j <= min(ROWS - 1, maxY); j++) - { - if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & SOLID)) - { - if (r_intersect(px, py, w, h, - i * GRID + 1, - j * GRID + 1, - GRID - 2, - GRID - 2)) return false; - } - } - } - return true; -} - - -bool in_door = false; -void entered_tile(ent_t* ent, int gx, int gy) -{ - grid_t g = grid[gx][gy]; - if (g.tag) - { - if (ent == &player) - { - void* find = NULL; - if (strcmp(g.tag, "d1") == 0) - { - if (!in_door && (find = hashmap_get(&tile_tags, "d2", 2)) != NULL) - { - int target_gx, target_gy; - grid_pos((grid_t*)find, &target_gx, &target_gy); - ent->x = target_gx * GRID; - ent->y = target_gy * GRID; - in_door = true; - } - } - if (strcmp(g.tag, "d2") == 0) - { - if (!in_door && (find = hashmap_get(&tile_tags, "d1", 2)) != NULL) - { - int target_gx, target_gy; - grid_pos((grid_t*)find, &target_gx, &target_gy); - ent->x = target_gx * GRID; - ent->y = target_gy * GRID; - in_door = true; - } - } - } - } -} -void exited_tile(ent_t* ent, int gx, int gy) -{ - grid_t g = grid[gx][gy]; -} - -void render_ent(ent_t* ent) -{ - - if (ent->outline) - { - d_pbm( - (uint16_t)roundf(ent->x) - ent->outline_pixels + PADX + ent->off_x, - (uint16_t)roundf(ent->y) - ent->outline_pixels + PADY + ent->off_y, - ent->outline, 0, 0, 0, 0, WHITE, TRANSPARENT, R_NONE, false, false); - } - d_pbm( - (uint16_t)roundf(ent->x) + PADX + ent->off_x, - (uint16_t)roundf(ent->y) + PADY + ent->off_y, - ent->graphic, 0, 0, 0, 0, BLACK, TRANSPARENT, R_NONE, false, false); -} - -void update_ent_movement(ent_t* ent, bool debug); - -__EXPORT__ int loop(int ms) -{ - float t = ms / 1000.0f; - - if (button_down(DPAD_RIGHT)) player.x += t * speed; - if (button_down(DPAD_LEFT)) player.x -= t * speed; - if (button_down(DPAD_DOWN)) player.y += t * speed; - if (button_down(DPAD_UP)) player.y -= t * speed; - if (button_pressed(BUTTON_A)) move_debug = !move_debug; - - update_ent_movement(&player, move_debug); - - in_door = false; - - d_clear(); - - for (int i = 0; i < COLS; i++) - { - for (int j = 0; j < ROWS; j++) - { - if (grid[i][j].tile != 0 && !(bg[grid[i][j].tile - 1].flags & TOP)) - { - d_pbm( - PADX + i * GRID + SPRITEOFF, - PADY + j * GRID + SPRITEOFF, - bg[grid[i][j].tile - 1].pbm, - 0,0,0,0, BLACK, TRANSPARENT, R_NONE, grid[i][j].flags & GRID_FLIPX, grid[i][j].flags & GRID_FLIPY); - } - } - } - - render_ent(&player); - - - for (int i = 0; i < COLS; i++) - { - for (int j = 0; j < ROWS; j++) - { - if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & TOP)) - { - d_fillRect( - PADX + i * GRID, - PADY + j * GRID, - GRID, GRID, - WHITE - ); - } - } - } - - for (int i = 0; i < COLS; i++) - { - for (int j = 0; j < ROWS; j++) - { - if (grid[i][j].tile != 0 && (bg[grid[i][j].tile - 1].flags & TOP)) - { - d_pbm( - PADX + i * GRID + SPRITEOFF, - PADY + j * GRID + SPRITEOFF, - bg[grid[i][j].tile - 1].pbm, - 0,0,0,0, BLACK, TRANSPARENT, R_NONE, grid[i][j].flags & GRID_FLIPX, grid[i][j].flags & GRID_FLIPY); - } - } - } - - return 0; -} - -#define ENTER_GRID_PCT 0.2f -void get_close_grid(float x, float y, int* gx, int* gy, float* pct_x, float* pct_y) -{ - float grid_x, grid_y; - *pct_x = modff((x + GRID * 0.5f) / GRID, &grid_x) - 0.5f; - *pct_y = modff((y + GRID * 0.5f) / GRID, &grid_y) - 0.5f; - if (fabsf(*pct_x) > ENTER_GRID_PCT || fabsf(*pct_y) > ENTER_GRID_PCT) - { - grid_x = -1; - grid_y = -1; - } - *gx = (int)grid_x; - *gy = (int)grid_y; -} - -void update_ent_movement(ent_t* ent, bool debug) -{ - int ox_i = (int)roundf(ent->ox); - int oy_i = (int)roundf(ent->oy); - - if (ent->x != ent->ox || ent->y != ent->oy) - { - int x_i = (int)roundf(ent->x); - int y_i = (int)roundf(ent->y); - - if (ent->x > ent->ox) x_i = (int)roundf(ent->x + 0.5f); - if (ent->x < ent->ox) x_i = (int)roundf(ent->x - 0.5f); - - if (ent->y > ent->oy) y_i = (int)roundf(ent->y + 0.5f); - if (ent->y < ent->oy) y_i = (int)roundf(ent->y - 0.5f); - - bool goX = ox_i != x_i; - bool goY = oy_i != y_i; - - if (debug) printf("(%f,%f)->(%f,%f) I: (%d,%d)->(%d,%d) [%d, %d]\n", ent->ox, ent->oy, ent->x, ent->y, ox_i, oy_i, x_i, y_i, goX, goY); - - while (goX || goY) - { - if (goX) - { - int testX = ox_i < x_i ? ox_i + 1 : ox_i - 1; - bool test = r_free(testX + 1, oy_i + 1, GRID - 2, GRID - 2); - if (move_debug) printf("testX: %d => %d\n", testX, test); - if (test) - { - ox_i = testX; - if (ox_i == x_i) goX = false; - if (move_debug) printf("ox_i = %d, goX = %d\n", ox_i, goX); - } - else - { - goX = false; - if (move_debug) printf("goX = false\n"); - } - } - if (goY) - { - int testY = oy_i < y_i ? oy_i + 1 : oy_i - 1; - bool test = r_free(ox_i + 1, testY + 1, GRID - 2, GRID - 2); - if (move_debug) printf("testY: %d => %d\n", testY, test); - if (test) - { - oy_i = testY; - if (oy_i == y_i) goY = false; - if (move_debug) printf("oy_i = %d, goY = %d\n", oy_i, goY); - } - else - { - goY = false; - if (move_debug) printf("goY = false\n"); - } - } - } - - if (ox_i != x_i) ent->x = ox_i; - if (oy_i != y_i) ent->y = oy_i; - if (debug) printf("reached (%d,%d) on target of (%d,%d), x,y=(%f,%f)\n", ox_i, oy_i, x_i, y_i, ent->x, ent->y); - - if (debug) printf("\n====================\n\n"); - - int o_grid_x, o_grid_y; - float o_ingrid_x, o_ingrid_y; - - int grid_x, grid_y; - float ingrid_x, ingrid_y; - - get_close_grid(ent->ox, ent->oy, &o_grid_x, &o_grid_y, &o_ingrid_x, &o_ingrid_y); - - int tries = 10; - for (; tries > 0; tries--) - { - get_close_grid(ent->x, ent->y, &grid_x, &grid_y, &ingrid_x, &ingrid_y); - - if (grid_x == o_grid_x && grid_y == o_grid_y) - { - break; - } - else - { - if (o_grid_x != -1) - { - exited_tile(ent, o_grid_x, o_grid_y); - //printf("Exited: %f %f\n", o_grid_x, o_grid_y); - } - if (grid_x != -1) - { - entered_tile(ent, grid_x, grid_y); - //printf("Entered: %f %f\n", grid_x, grid_y); - } - - o_grid_x = grid_x; - o_grid_y = grid_y; - } - } - if (tries == 0) printf("RAN OUT OF TILE CHECK TRIES\n"); - } - - ent->ox = ent->x; - ent->oy = ent->y; - -}