17. 랑그릿사2 캐릭터의 클래스 체인지 루트

랑그릿사2의 플레이어블 캐릭터는 클래스 체인지 루트(전직표)를 가지고 있습니다. Ghidra로 메모리 주소 00_44_38_58 부터 00_44_38_A3 를 살펴보면 주소로 채워져있는 것을 알 수 있습니다. (헥스에디터 기준 00_04_26_58 부터 00_04_26_A3) Offset (h) 00_44_38_58 : 28 36 44 00 => 00_04_24_28 (캐릭터 1: 엘윈) 00_44_38_5C : 58 36 44 00 => 00_04_24_58 (캐릭터 2: 리아나) 00_44_38_60 : 78 36 44 00 => 00_04_24_78 (캐릭터 3: 홀리라나) 00_44_38_64 : 98 36 44 00 => 00_04_24_98 (캐릭터 4: 쉐리) 00_44_38_68 : B8 36 44 00 => 00_04_24_B8 (캐릭터 5: 헤인) 00_44_38_6C : D0 36 44 00 => 00_04_24_D0 (캐릭터 6: 스콧트) 00_44_38_70 : E8 36 44 00 => 00_04_24_E8 (캐릭터 7: 키스) 00_44_38_74 : 00 37 44 00 => 00_04_25_00 (캐릭터 8: 아론) 00_44_38_78 : 20 37 44 00 => 00_04_25_20 (캐릭터 9: 레스터) 00_44_38_7C : 38 37 44 00 => 00_04_25_38 (캐릭터 10: 다크라나) 00_44_38_80 : 58 37 44 00 => 00_04_25_58 (캐릭터 11: 로우가) 00_44_38_84 : 78 37 44 00 => 00_04_25_78 (캐릭터 12: 소니아) 00_44_38_88 : 98 37 44 00 => 00_04_25_98 (캐릭터 13: 레온) 00_44_38_8C : B8 37 44 00 => 00_04_25_B8 (캐릭터 14: 발가스) 00_44_38_90 : D0 37 44 00 => 00_

16. 랑그릿사2 캐릭터 후일담

랑그릿사2 클리어시 나오는 캐릭터 후일담입니다. 분석 과정은 생략하고 분석 결과만 정리해서 올립니다. 해당되는 조건을 명확하게 하기 위해서 if-else-end 형태로 나타냈습니다. 예를 들어 조건1에 해당하면 텍스트1이 나오고 그렇지 않으면 텍스트2가 나오는 경우라면 다음과 같이 나타냈습니다. if 조건1     텍스트1 else     텍스트2 end ======== 여기부터 캐릭터 후일담 ================================= =========== ===== =========== 1. 엘윈 (1) 빛의 후예 시나리오                      아득한 과거로부터 전개되 온 빛과 어둠의 대결은 엘윈의 활약에 의해, 드디어 지금 이곳에서 대단원의 막을 내리려 하고 있다. 그리고, 그는 이 전쟁에서 중요한 것을 손에 넣었다. 생명을 걸 수 있을 만큼 신뢰할 수 있는 동료들이었다. if 철수횟수 = 0     if 격파수 >= 184         그러나, 한 곳에 머무를 수 없는 그의 성격 때문에 언제부턴가 그의 모습은 볼 수 없게 되었다.         또 새로운 모험을 찾아서 여행을 떠났을 것이다.         수년 후 이웃 대륙의 두 세력이 대규모 전쟁을 일으켰다.         거기에 한 젊은 여행자가 나타나서 수일만에 전쟁을 수습했다고 한다.         그는 이름을 밝히지 않았지만, 날개 모양을 한 은세공의 머리 장식을 하고 있었다고 전해진다.         그리고, 모든 것은 전설이 되었다...     else         그러나, 동료들에게 구원을 받으며 승리를 쟁취한 이 전쟁이         엘윈에겐 자신의 미숙함을 느끼게 했다.         어느날 아침 일찍, 사람들이 그를 방문했을 때에는 그는 떠나고 난 뒤였다.         그는 미지의 세계를 찾아 새로운 모험 여행을 떠난 것이다.         그리고, 모든 것은 전설이 되었다...

15. 랑그릿사2 캐릭터와 용병의 스프라이트

랑그릿사2의 캐릭터와 용병들은 스프라이트를 가지고 있습니다. 어떤 스프라이트를 가질 것인지는 다음과 같이 결정됩니다. - 캐릭터 : 캐릭터 전용 스프라이트가 있다면 해당 스프라이트를 갖고, 그렇지 않다면 캐릭터의 클래스에 해당되는 스프라이트를 갖습니다. - 용병 : 용병의 클래스에 해당되는 스프라이트를 갖습니다. 그러면 캐릭터 전용 스프라이트와 클래스 스프라이트에 대해 알아보겠습니다. (1) 캐릭터 전용 스프라이트 Ghidra로 메모리 주소 00_44_1F_50 부터 00_44_1F_9F 를 살펴보면 주소로 채워져있는 것을 알 수 있습니다. (헥스에디터 기준 00_04_0D_50 부터 00_04_0D_9F) 주소값은 little endian이고, 메모리 주소 기준이므로 헥스에디터 기준으로 변환하려면 00_40_12_00 을 빼줘야 합니다. Offset (h) 00_44_1F_50 : 78 1B 44 00 => 00_04_09_78 (캐릭터 1: 엘윈) 00_44_1F_54 : C8 1B 44 00 => 00_04_09_C8 (캐릭터 2: 리아나) 00_44_1F_58 : 48 1C 44 00 => 00_04_0A_48 (캐릭터 3: 홀리라나) 00_44_1F_5C : 88 1C 44 00 => 00_04_0A_88 (캐릭터 4: 쉐리) 00_44_1F_60 : C8 1C 44 00 => 00_04_0A_C8 (캐릭터 5: 헤인) 00_44_1F_64 : F8 1C 44 00 => 00_04_0A_F8 (캐릭터 6: 스콧트) 00_44_1F_68 : 30 1D 44 00 => 00_04_0B_30 (캐릭터 7: 키스) 00_44_1F_6C : 68 1D 44 00 => 00_04_0B_68 (캐릭터 8: 아론) 00_44_1F_70 : A8 1D 44 00 => 00_04_0B_A8 (캐릭터 9: 레스터) 00_44_1F_74 :

14. 랑그릿사2 캐릭터 초상화

랑그릿사2의 캐릭터들은 초상화를 가지고 있습니다. 초상화는 다음 2가지 종류가 있습니다. 1. 얼굴(만 나온) 초상화 : face.res >> facpp*.pct 2. 상반신(이 나온) 초상화 : face.res >> fafpp*.pct 상반신 초상화의 경우 눈이나 입의 움직임을 구현하기 위해서 추가적으로 face.res >> fappp*.pct 파일을 사용합니다. 얼굴 초상화는 맵에서 캐릭터를 클릭하면 나타나는 화면과 전투화면 등에서 사용됩니다. 상반신 초상화는 맵에서 이벤트가 발동해서 대사가 나타날 때나 캐릭터 후일담에서 사용됩니다. 13번 글 에서 살펴봤듯이, 플레이 가능한 캐릭터들의 얼굴 초상화 번호는 다음과 같습니다. =============================== 이름       : 얼굴 초상화 번호 =============================== 엘윈       : 01 (십진수: 1) 리아나     : 05 (십진수: 5) 홀리라나   : 09 (십진수: 9) 쉐리       : 0D (십진수: 13) 헤인       : 11 (십진수: 17) 스코트     : 15 (십진수: 21) 키스       : 21 (십진수: 33) 아론       : 25 (십진수: 37) 레스터     : 1D (십진수: 29) 다크라나   : 3A (십진수: 58) 로우가     : F9 (십진수: 249) 소니아     : F2 (십진수: 242) 레온       : 2F (십진수: 47) 발가스     : 34 (십진수: 52) 이멜다     : 37 (십진수: 55) 에그베르트 : 2C (십진수: 44) 에스트     : F5 (십진수: 245) 오스트     : F7 (십진수: 247) =============================== 얼굴 초상화 파일을 찾는 방법은 얼굴 초상화 번호에서 1을 뺀 숫자를 XXX라고 하면 facppXXX.pc

글 목록