RGSS Table 직렬구조 메모
https://github.com/zh99998/OpenRGSS/blob/master/lib/openrgss/table.rb#L49
OpenRGSS의 unpack 코드를 참고하여 Table 구조의 바이트 구조를 정리했다.
...
0x000001D992EEF216 75 3a 0a 54 61 62 6c 65 u:.Table
0x000001D992EEF21E 02 1c 07 03 00 00 00 14 ........
0x000001D992EEF226 00 00 00 0f 00 00 00 03 ........
0x000001D992EEF22E 00 00 00 84 03 00 00 4c ...?...L
...
- 02 = 총 데이터 크기의, 자료형 크기 (2바이트)
- 1c 07 = 0x71c = 1820B = 20 + 1800 = 4Byte * 5개 + 2Byte * 900개 = 총 데이터 크기
- 03 00 00 00 = 0x3 = @size = 3 = 3차원 배열
- 14 00 00 00 = 0x14 = @xsize = 20 = 맵 가로 길이
- 0f 00 00 00 = 0xf = @ysize = 15 = 맵 세로 길이
- 03 00 00 00 = 0x3 = @zsize = 3 = 맵 레이어 개수
- 84 03 00 00 = 0x384 = @xsize * @ysize * @zsize = 900 = 타일 id 개수
- 4c 00 ... = 이후 2바이트씩 900개의 타일 id가 직렬로 나옴 (레이어#1: 300개, 레이어#2: 300개, 레이어#3: 300개)
0x000001D17C2B0F88 3a 0a 54 61 62 6c 65 3b :.Table;
0x000001D17C2B0F90 01 00 00 00 11 00 00 00 ........
0x000001D17C2B0F98 01 00 00 00 01 00 00 00 ........
0x000001D17C2B0FA0 11 00 00 00 00 00 03 00 ........
0x000001D17C2B0FA8 03 00 03 00 03 00 03 00 ........
0x000001D17C2B0FB0 03 00 03 00 03 00 03 00 ........
0x000001D17C2B0FB8 03 00 03 00 03 00 03 00 ........
0x000001D17C2B0FC0 03 00 03 00 03 00 3a 0e ......:.
0x000001D17C2B0FC8 40 70 6f 73 69 74 69 6f @positio
댓글
댓글 쓰기