분류 전체보기 썸네일형 리스트형 도스 삼국지2 - 에디터 (#6) / 출현 장수 데이터 분석 게임을 하다보면 탐색으로 발견되는 장수도 있고 혈연으로 묶여 자동으로 추가되는 장수도 있다. 마등에게는 마초/마대/마철이 그러하고, 손책에게는 여몽/주유/손권이 그러하며 또 손권에게는 손유/손익/노숙이 그러하다 1번 시나리오로 하다보면 마등에게서 192년에 마초와 193년에 마대가 194년에 마철이 자동으로 추가된다. 또 191년 21번 땅에서 감녕을 탐색 할 수 있으며, 3번 땅에서 조운을 그리고 10번 땅에서 만총을 탐색할 수 있다. 이러한 각 시나리오별로 짜여진 각본(?)이 TAIKI.DAT 파일에 들어있다. 오늘은 이 데이터를 분석해 보도록 한다. 파일에는 각 시나리오별(6개의) 나타날 장수들의 목록이 기록되어 있다. 나타나는 조건은 2종류인데 하나는 특정 지역에서 해당 연도 이후에 탐색 가능한 .. 더보기 도스 삼국지2 - 에디터 (#5) / 지배주(Province) 데이터 분석 플레이어 데이터(Ruler's Data) 이후에는 이 게임의 종료 조건인 모든 주의 점령을 위한 각 주(Province)의 데이터를 분석 하려한다. 지금까지 Header(32), Officer(9212), Dummy1(9218), Ruler's Data(9874)까지 알아 보았다. 이제 offset 9874부터 시작하는 Province Data를 분석해 보자 (**본 글에서 Province와 Land는 같은 의미이다.) Province Data의 총 크기는 1435 byte이며 offset 11309까지이다. 모든 Province의 개수가 41개이므로 1435 / 41 = 35이므로 한 Province의 크기는 35 byte임을 알 수 있다. 다음은 Province의 정보인 35 byte에 대한 분석 결.. 더보기 도스 삼국지2 - 에디터 (#4) / 플레이어 데이터 분석 장수 데이터(9180 byte) 이후 offset 9212 부터 6 byte까지는 아직 분석전이다. 편의상 dummy1으로 부르도록 하자 const [dummy1, setDummy1] = useState([]) start = 9212 length = 6 offset = start + length const unknownDummy1 = data.slice(start, offset) setDummy1(unknownDummy1) totalSum += length // 여기까지가 헤더(32) + 장수 데이터(9180) + dummy1(6)의 내용이다. 원래는 각 땅 정보를 분석 하기로 했으나 땅 정보가 담겨있는 offset 전에 각 플레이어의 정보가 먼저 나오므로 플레이어 정보를 먼저 분석해보자. (라고는 했지.. 더보기 도스 삼국지2 - 에디터 (#3) / 장수 조합형 얼굴 그리기 장수 데이터의 offset 27과 28을 각각 faceMainId와 faceSubId로 지정한 바 있다. 이때 faceSubId 값이 있는(0보다 큼) 경우 조합형 얼굴이 되겠다. if (faceSubId > 0) { // 조합형 얼굴 그림. } else { // 완성형 얼굴 그림 (https://brokenpc.tistory.com/4) } 완성형 얼굴의 경우 KAODATA.DAT에 그 재료가 있고 조합형 얼굴의 경우 MONTAGE.DAT에 그 재료가 있다. MONTAGE.DAT를 살펴보자. 이 파일의 크기는 50,688 Bytes이며, 총 8가지 세트가 있다. 한 세트의 구성은 다음과 같다. Upper * 4개 + Lower*4개 > Eye*4개 > Nose*4개 > Mouth*4개 한 세트는 같은 .. 더보기 도스 삼국지2 - 에디터 (#2) / 장수 완성형 얼굴 그리기 세이브 파일 분석 - 장수 얼굴 (KAODATA.DAT, MONTAGE.DAT) 장수 데이터 중 27, 28 Offset은 각각 FaceMainId와 FaceSubId로 정했다. 삼국지2에는 수많은 장수들이 있는데 조합형 얼굴과 완성형 얼굴이 있다.(한글도 아니고... ㅡㅡ)조합형과 완성형을 나눈 기준이 무엇인지 몰라도 좀 유명하지 싶은 장수는 완성형 얼굴이고덜 유명한 장수는 조합형이지 싶다. (나름 유명한데도 조합형이고, 안 유명한 것 같은데 완성형인 경우도 있다.) 말그대로 완성형은 얼굴이미지 데이터가 모두 갖춰진 상태라 그냥 읽어서 뿌리면 되는 경우.조합형은 부여된 번호로 얼굴 윗부분, 아랫부분, 눈, 코, 입 등을 조합해서 만드는 경우다. 먼저 완성형 얼굴을 찾아서 만들고 이미지를 뿌려보자. 완성.. 더보기 도스 삼국지2 - 에디터 (#1) / 장수 데이터 분석 세이브 파일 분석 - 장수 데이터 세이브 파일을 열어보자... 세이브 파일에는 현재 상태의 전체 장수 데이터(255명까지)와 각 땅의 데이터(41번까지) 등이 포함되어 있다. 여기서는 삼국지 도스 한글판을 기준으로 하겠다. 먼저 장수 데이터를 읽어보자. 장수 데이터는 파일에서 32byte후에서 찾을 수 있다. 이 앞부분을 Header라고 하면 header의 맨앞은 '1990.02.19'로 시작 됨을 알 수 있다. offset 12~13 : current year offset 14 : current month offset 15 : number of ruler (현재 군주수) offset 16~31 : color of each ruler (각 군주별 컬러 번호) (총 32byte) 이후 장수 1명의 데이터는.. 더보기 도스 삼국지2 - 에디터 (#0) / 시작전 학생때 날밤새면서 했던 삼국지2 도스용 세이브 파일을 여러개 백업해 놓고, 실수 할때마다 백업 파일로 다시 시작했던 기억이 난다. 맨날 유비로 하다가 가끔조조로... 나중에는 신군주로만 진행했었던!!! 시작하자마자 동탁땅의 여포와 화웅을 그리고 원소땅의 안량과 문추를 또 유요땅의 태사자를 얼른 모셔(?)와야 했었다. 유비의 경우 10번 땅을 지나 17번을 점령하고 나면 9번땅의 조조를 야금야금 먹으면서 하후돈과 하후연을 잡아오면 80%는 이긴 게임인거고 손견땅의 손책만 충성도를 떨어뜨리고 나서 섭외해오면 90%는 통일에 가까워진다. 여기까지 하면 전쟁하러가는 장수의 전투력이 막강해진다. (여포 100, 관우/장비 100, 태사자 97, 하후돈 93, 하후연 91, 안량 91, 문추 93... 등등) 옛추.. 더보기 이전 1 다음