6월, 2020의 게시물 표시

13. 랑그릿사2 캐릭터 초기 설정 및 고유 보정치 데이터

랑그릿사2 캐릭터 이름은 6번 글 에서 살펴봤습니다. 이 중에서 플레이 가능한 캐릭터들은 총 18명입니다. 여기서 빛의 후예 라나와 다크 프린세스 라나는 별개로 계산합니다. 03번 라나는 빛의 후예 라나(홀리라나)이고, 0A번 라나는 다크 프린세스 라나(다크라나)입니다. 플레이 가능한 캐릭터들은 초기 설정과 고유 보정치를 가지고 있습니다. 초기 설정은 메모리 주소 00_44_21_A8 (헥스에디터 기준 00_04_0F_A8) 에 있습니다. 18명이고 1명당 20바이트씩 정보가 있으므로 총 18 x 20바이트 = 360바이트가 있습니다. 데이터를 캐릭터별로 정리해보면 다음과 같습니다. 03 00 00 01 00 17 12 00 00 00 00 00 00 00 01 04 7B 00 00 00 (엘윈) 0B 00 08 03 00 14 11 00 80 02 00 00 00 01 05 03 B0 00 00 00 (리아나) 0B 00 0A 09 00 15 12 00 80 02 00 00 00 01 09 03 B0 00 00 00 (홀리라나) 0A 00 00 04 00 19 0E 00 00 00 00 00 00 01 0D 05 AA 00 00 00 (쉐리) 0E 00 0C 01 00 17 0D 00 01 00 00 00 00 00 11 03 7B 00 00 00 (헤인) FE 00 00 02 06 16 10 00 00 00 00 00 00 00 15 05 82 00 00 00 (스코트) 0A 00 01 08 00 1A 0F 00 00 00 00 00 00 00 21 05 AA 00 00 00 (키스) 02 00 01 09 00 17 14 00 00 00 00 00 00 00 25 05 7A 00 00 00 (아론) 08 00 01 09 00 17 13 00 00 00 00 00 00 00 1D 05 A0 00 00 00 (레스터) 0C 00 0A 09 00 19 10 00 04 00 00 00 00 01 3A 03 7C 00 00 00 (다크라나) 35

12. 랑그릿사2 상점 데이터

랑그릿사2 PC판의 아이템 데이터에 대해서는 11번 글 에서 살펴봤습니다. 상점의 아이템 목록 데이터는 메모리 주소 00_44_6C_10 (헥스에디터 기준 00_04_5A_10) 를 살펴봐야합니다. Ghidra로 살펴보면 00_44_6C_10 부터 00_44_6D_9F 까지 주소로 채워져있는 것을 알 수 있습니다. Offset (h) 00_44_6C_10 : CC 6A 44 00  (시나리오 1 상점 아이템 목록 데이터 주소) 00_44_6C_14 : D0 6A 44 00  (시나리오 2 상점 아이템 목록 데이터 주소) 00_44_6C_18 : D8 6A 44 00  (시나리오 3 상점 아이템 목록 데이터 주소) 00_44_6C_1C : E0 6A 44 00  (시나리오 4 상점 아이템 목록 데이터 주소) ... 모든 데이터는 littel endian 방식이므로 바이트 단위로 거꾸로 읽어야 합니다. 예를 들어 CC 6A 44 00 는 00_44_6A_CC 로 해석됩니다. 헥스에디터에서 편집하려면 여기서 00_40_12_00 을 빼줘야합니다. 00_44_6A_CC에서 00_40_12_00을 빼면 00_04_58_CC 이 됩니다. 이런 식으로 변환해서 정리하면 다음과 같이 됩니다. <상점 아이템 목록 데이터 주소(헥스에디터 기준)> 시나리오   1 : 00_04_58_CC 시나리오   2 : 00_04_58_D0 시나리오   3 : 00_04_58_D8 시나리오   4 : 00_04_58_E0 시나리오   5 : 00_04_58_E8 시나리오   6 : 00_04_58_D0 ... 시나리오  99 : 00_04_6B_D0 시나리오 100 : 00_04_6B_E8 (사실 시나리오 99와 시나리오 100은 없고 각각 숨겨진 상점1,2에 해당됩니다.) 헥스에디터로 langpc2.exe 파일을 열어서 해당되는 부분을 살펴봅시다. 00 은 데이터의 끝을 나타냅니다. 예를 들어, 시나리오 5의 상점 데이터가 있는 00_0

11. 랑그릿사2 아이템 데이터

랑그릿사2 PC판의 아이템 이름과 설명에 대해서는 5번 글 에서 살펴봤습니다. ITEM.DAT 파일을 살펴보면, 아이템의 순서가 다음과 같음을 알 수 있습니다. 1. 나이프 2. 워 해머 3. 그레이트 소드 4. 완드 5. 플레임 랜스 6. 데빌 액스 7. D-슬레이어 8. 랑그릿사 9. 랑그릿사 10. 철 아령 11. 메사이얀 소드 12. 오브 13. 홀리 로드 14. 홀리 로드 15. 다크 로드 16. 롱 보우 17. 아바 레스트 18. 알하자드 19. 알하자드 20. 오딘의 방패 21. 스몰 실드 22. 라지 실드 23. 체인 메일 24. 플레이트아머 25. 아절트 슈트 26. 로브 27. 드래곤 스케일 28. 미라쥬 로브 29. 아뮬렛 30. 크로스 31. 넥크리스 32. 스피드 부츠 33. 크라운 34. 그레이프 닐 35. 룬스톤  랑그릿사, 알하자드는 2개씩 있는데, 8번은 "봉인된 랑그릿사"이고 18번은 "봉인된 알하자드"입니다. (그런데 홀리 로드는 왜 2개(13번과 14번)가 있는지는 모르겠습니다.) 아이템 데이터는 메모리 주소 00_44_15_30 (헥스에디터 기준 00_04_03_30) 에 있습니다. 아이템이 총 35개가 있고 아이템 하나당 16바이트씩 정보가 있으므로 총 35 x 16바이트 = 560바이트가 있습니다. 헥스에디터로 langpc2.exe를 열어봅시다. Offset (h) 00000000 : 00 00 01 00  FF FF FF FF  FF FF FF FF  FF FF FF FF  (1. 나이프) 00000010 : 00 00 02 00  FF FF FF FF  FF FF FF FF  FF FF FF FF  (2. 워 해머) 00000020 : 00 00 04 00  FF FF FF FF  FF FF FF FF  FF FF FF FF  (3. 그레이트 소드) 00000030 : 06 00 02 00 

글 목록