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 00 00 02 08 18 11 00 00 00 00 00 00 00 F9 05 78 00 00 00 (로우가)
D8 00 01 09 00 1A 11 00 00 00 00 00 00 00 F2 05 84 00 00 00 (소니아)
06 00 01 09 00 18 14 00 00 00 00 00 00 00 2F 05 81 00 00 00 (레온)
01 00 01 09 00 1A 14 00 00 00 00 00 00 00 34 05 79 00 00 00 (발가스)
0D 00 0C 09 00 19 0F 00 08 00 02 00 00 01 37 03 79 00 00 00 (이멜다)
0D 00 0E 09 00 18 0F 00 08 00 02 00 00 00 2C 03 79 00 00 00 (에그베르트)
12 00 04 09 00 1E 13 00 00 00 40 00 00 01 F5 03 A2 00 00 00 (에스트)
0F 00 00 09 00 18 14 00 00 00 00 00 00 00 F7 05 BA 00 00 00 (오스트)
리아나의 데이터를 자세히 살펴보겠습니다.
0B : 클래스 (0B는 시스터를 나타냅니다. 참고로 클래스는 7번 글에서 살펴봤습니다.)
00 : (미확인 데이터)
08 : MP = 8
03 : 레벨 = 3
00 : 경험치 = 0
14 : AT = 20
11 : DF = 17
00 : (미확인 데이터)
80 02 00 00 : 보유마법 (아래에서 자세히 설명함.)
00 : (미확인 데이터)
01 : 성별 (00이면 남성, 01이면 여성)
05 : 얼굴 초상화
03 : 용병수
B0 00 00 00 : 고용가능용병의 클래스 (B0는 몽크를 나타냅니다.)
보유마법은 bit flag(little endian) 형태입니다.
littel endian 이므로 거꾸로 읽어야 합니다.
80 02 00 00 이므로 00_00_02_80 으로 읽어야 하고,이를 이진수로 바꾸면 다음과 같습니다.
0000 0000 0000 0000 0000 0010 1000 0000
그리고 순서를 반대로 뒤집으면 다음과 같습니다.
0000 0001 0100 0000 0000 0000 0000 0000
_ _
32개의 비트 중에서 2개(8번째 비트와 10번째 비트)의 비트만 1이고 나머지는 0입니다.
마법 목록(7번 글 참조)에서 8번째 마법과 10번째 마법은 각각 턴언데드와 힐1에 해당됩니다.
따라서 리아나는 턴언데드와 힐1을 사용할 수 있습니다.
고유 보정치는 메모리 주소 00_44_14_F0 (헥스에디터 기준 00_04_02_F0) 에 있습니다.
18명이고 1명당 3바이트씩 정보가 있으므로 총 18 x 3바이트 = 54바이트가 있습니다.
데이터를 캐릭터별로 정리해보면 다음과 같습니다.
00 00 00 (엘윈)
00 02 00 (리아나)
02 00 00 (홀리라나)
02 00 01 (쉐리)
00 00 00 (헤인)
...
01 01 00 (에스트)
01 00 00 (오스트)
각각 A/D/MV 보정치를 의미합니다.
예를 들어, 리아나의 경우는 다음과 같습니다.
00 : A 보정치는 0
02 : D 보정치는 +2
00 : MV 보정치는 0
따라서 리아나는 D +2 보정치를 갖습니다.
이 중에서 플레이 가능한 캐릭터들은 총 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 00 00 02 08 18 11 00 00 00 00 00 00 00 F9 05 78 00 00 00 (로우가)
D8 00 01 09 00 1A 11 00 00 00 00 00 00 00 F2 05 84 00 00 00 (소니아)
06 00 01 09 00 18 14 00 00 00 00 00 00 00 2F 05 81 00 00 00 (레온)
01 00 01 09 00 1A 14 00 00 00 00 00 00 00 34 05 79 00 00 00 (발가스)
0D 00 0C 09 00 19 0F 00 08 00 02 00 00 01 37 03 79 00 00 00 (이멜다)
0D 00 0E 09 00 18 0F 00 08 00 02 00 00 00 2C 03 79 00 00 00 (에그베르트)
12 00 04 09 00 1E 13 00 00 00 40 00 00 01 F5 03 A2 00 00 00 (에스트)
0F 00 00 09 00 18 14 00 00 00 00 00 00 00 F7 05 BA 00 00 00 (오스트)
리아나의 데이터를 자세히 살펴보겠습니다.
0B : 클래스 (0B는 시스터를 나타냅니다. 참고로 클래스는 7번 글에서 살펴봤습니다.)
00 : (미확인 데이터)
08 : MP = 8
03 : 레벨 = 3
00 : 경험치 = 0
14 : AT = 20
11 : DF = 17
00 : (미확인 데이터)
80 02 00 00 : 보유마법 (아래에서 자세히 설명함.)
00 : (미확인 데이터)
01 : 성별 (00이면 남성, 01이면 여성)
05 : 얼굴 초상화
03 : 용병수
B0 00 00 00 : 고용가능용병의 클래스 (B0는 몽크를 나타냅니다.)
보유마법은 bit flag(little endian) 형태입니다.
littel endian 이므로 거꾸로 읽어야 합니다.
80 02 00 00 이므로 00_00_02_80 으로 읽어야 하고,이를 이진수로 바꾸면 다음과 같습니다.
0000 0000 0000 0000 0000 0010 1000 0000
그리고 순서를 반대로 뒤집으면 다음과 같습니다.
0000 0001 0100 0000 0000 0000 0000 0000
_ _
32개의 비트 중에서 2개(8번째 비트와 10번째 비트)의 비트만 1이고 나머지는 0입니다.
마법 목록(7번 글 참조)에서 8번째 마법과 10번째 마법은 각각 턴언데드와 힐1에 해당됩니다.
따라서 리아나는 턴언데드와 힐1을 사용할 수 있습니다.
고유 보정치는 메모리 주소 00_44_14_F0 (헥스에디터 기준 00_04_02_F0) 에 있습니다.
18명이고 1명당 3바이트씩 정보가 있으므로 총 18 x 3바이트 = 54바이트가 있습니다.
데이터를 캐릭터별로 정리해보면 다음과 같습니다.
00 00 00 (엘윈)
00 02 00 (리아나)
02 00 00 (홀리라나)
02 00 01 (쉐리)
00 00 00 (헤인)
...
01 01 00 (에스트)
01 00 00 (오스트)
각각 A/D/MV 보정치를 의미합니다.
예를 들어, 리아나의 경우는 다음과 같습니다.
00 : A 보정치는 0
02 : D 보정치는 +2
00 : MV 보정치는 0
따라서 리아나는 D +2 보정치를 갖습니다.
음.. lang2pc.exe를 hex editor로 열어서 00040FA8 위치를 보니 38 76 44 00 ... 이런식으로 나와있는데요. 다른 파일을 열어야 하나요?
답글삭제정식 버전(2CD판)의 실행파일이 아닌 거 같습니다. 이 블로그에 있는 글들은 10번 글에 나온 것처럼 랑그릿사2 정품 CD로 설치된 파일을 기준으로 설명하고 있습니다. 참고로 10번 글의 링크에서 설치파일을 받아볼 수 있습니다. (다만, 두번째 CD가 없다면 해당 설치파일로 게임을 실행하는 것은 불가능합니다.)
삭제어제 쭉 찾아보니.. 메모리 위치가 다르네요. 다행히 예시로 들어주신 데이터들이 상세한터라 해당 데이터 기반으로 직접 hex를 찾아서 수정했습니다. 자료 감사합니다.
삭제