├── tile_data ├── extra_tile_data │ ├── data │ │ ├── extra_008.md │ │ ├── extra_009.md │ │ ├── extra_004.md │ │ ├── extra_006.md │ │ ├── extra_007.md │ │ ├── extra_002.md │ │ ├── extra_001.md │ │ └── extra_003.md │ └── README.md └── README.md ├── README.md └── LICENSE /tile_data/extra_tile_data/data/extra_008.md: -------------------------------------------------------------------------------- 1 | # Dice 2 | 3 | Values: 4 | - unsigned byte -> display value 5 | -------------------------------------------------------------------------------- /tile_data/extra_tile_data/data/extra_009.md: -------------------------------------------------------------------------------- 1 | # provider 2 | 3 | Values: 4 | - unsigned int -> passed time 5 | -------------------------------------------------------------------------------- /tile_data/extra_tile_data/data/extra_004.md: -------------------------------------------------------------------------------- 1 | # Seed 2 | 3 | Values: 4 | - unsigned int -> passed time 5 | - unsigned byte -> fruit count 6 | -------------------------------------------------------------------------------- /tile_data/extra_tile_data/data/extra_006.md: -------------------------------------------------------------------------------- 1 | # Mailbox 2 | 3 | Values: 4 | - unsigned short -> label length (as 0) 5 | - unsigned int -> end marker (-1) 6 | -------------------------------------------------------------------------------- /tile_data/extra_tile_data/data/extra_007.md: -------------------------------------------------------------------------------- 1 | # Bulletin Board 2 | 3 | Values: 4 | - unsigned short -> label length (as 0) 5 | - unsigned int -> end marker (-1) 6 | -------------------------------------------------------------------------------- /tile_data/extra_tile_data/data/extra_002.md: -------------------------------------------------------------------------------- 1 | # Sign 2 | 3 | Values: 4 | - unsigned short -> label length 5 | - string -> label 6 | - unsigned int -> end marker (-1) 7 | -------------------------------------------------------------------------------- /tile_data/extra_tile_data/data/extra_001.md: -------------------------------------------------------------------------------- 1 | # Door 2 | 3 | Values: 4 | - unsigned short -> label length 5 | - string -> label 6 | - unsigned byte -> unknow byte (0x0) 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Growtopia Tiles documentation 2 | This respotitory contain the information of tiles that required for world packet serialization and etc. 3 | 4 | discord server: https://discord.gg/growxyz 5 | -------------------------------------------------------------------------------- /tile_data/extra_tile_data/data/extra_003.md: -------------------------------------------------------------------------------- 1 | # Lock tile extra data 2 | 3 | Values: 4 | - unsigned byte -> **lock flags** 5 | - unsigned int -> world owner userid 6 | - unsigned int -> count of people with access 7 | - **access_data** - data of people with access 8 | - unsigned int - negative of world's beats per minute(BPM) (for world locks) 9 | 10 | Content of **lock flags** 11 | - 0x10 - FLAGS_MUSIC_NOTES_DISABLE 12 | - 0x20 - FLAGS_MUSIC_NOTES_INVISIBLE 13 | - 0x80 - FLAGS_RAINBOW_TRAIL (for Royal Lock) | FLAGS_ONLY_BUILDING (for Builder's Lock) 14 | 15 | **access_data** structure 16 | - unsigned int -> userid of people with access 17 | -------------------------------------------------------------------------------- /tile_data/extra_tile_data/README.md: -------------------------------------------------------------------------------- 1 | # Extra tile data 2 | extra tile data always begin with **extra tile type**, which is one byte. 3 | if extra tile data is missing/invalid this will cause some unexcepted crashes. 4 | 5 | Extra tile data types: 6 | - [001 - Door](data/ext_001.md) 7 | - [002 - Sign](data/ext_002.md) 8 | - [003 - Lock](data/ext_003.md) 9 | - [004 - Seed](data/ext_004.md) 10 | - [005 - ???](data/ext_005.md) 11 | - [006 - Mailbox](data/ext_006.md) 12 | - [007 - Bulletin Board](data/ext_007.md) 13 | - [008 - Dice](data/ext_008.md) 14 | - [009 - Provider](data/ext_009.md) 15 | - [010 - Achievement Block](data/ext_010.md) 16 | - [011 - Heart Monitor](data/ext_011.md) 17 | - [012 - Donation Box](data/ext_012.md) 18 | - [013 - ???](data/ext_013.md) 19 | - [014 - Mannequin](data/ext_014.md) 20 | - [015 - Bunny Egg](data/ext_015.md) 21 | - [016 - Game Resources](data/ext_016.md) 22 | - [017 - Game Generator](data/ext_017.md) 23 | - [018 - Xenonite Crystal](data/ext_018.md) 24 | - [019 - Phoone Booth](data/ext_019.md) 25 | - [020 - Crystal](data/ext_020.md) 26 | -------------------------------------------------------------------------------- /tile_data/README.md: -------------------------------------------------------------------------------- 1 | ### Tile data description 2 | 3 | - unsigned short -> foreground id 4 | - unsigned short -> background id 5 | - unsigned short -> parent block index used for lock, fish tank port and etc... 6 | - unsigned short -> tile flags 7 | if **TILEFLAGS_LOCKED** bit is on there'll be 1 additional unsigned short 8 | - unsigned short -> parent block index 9 | 10 | Content of tile flags 11 | - (0x1) | TILEFLAG_TILEEXTRA = 1 << 0 12 | - (0x2) | TILEFLAG_LOCKED = 1 << 1 13 | - (0x10) | TILEFLAG_SEED = 1 << 4 14 | - (0x20) | TILEFLAG_FLIPPED = 1 << 5 15 | - (0x40) | TILEFLAG_OPEN = 1 << 6 16 | - (0x80) | TILEFLAG_PUBLIC = 1 << 7 17 | - (0x200) | TILEFLAG_SILENCED = 1 << 9 18 | - (0x400) | TILEFLAG_WATER = 1 << 10 19 | - (0x1000) | TILEFLAG_FIRE = 1 << 12 20 | - (0x2000) | TILEFLAG_RED = 1 << 13 21 | - (0x4000) | TILEFLAG_BLUE = 1 << 14 22 | - (0x8000) | TILEFLAG_GREEN = 1 << 15 23 | 24 | if **TILEFLAG_TILEEXTRA** bit is on there'll be 1 additional byte which is **extra tile type** this data might be followed by **extra tile data** 25 | 26 | you can read more information about [extra tile data](extra_tile_data/README.md). 27 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | --------------------------------------------------------------------------------