* 수정1(2024-12-22) : 파라미티스,리넷 포박대사 확인 추가
● 관련링크
- 간략리뷰, 팁, 시스템, 정보 : https://soulslip29.blogspot.com/2024/07/ps2-srpg.html
(위 글에 있는 링크들)
- 스토리 정리 : https://soulslip29.blogspot.com/2024/07/ps2.html
- 전캐릭 엔딩이벤 등 세이브 : https://soulslip29.blogspot.com/2024/07/ps2-2-berwick-saga.html
* 포박 불가 유닛(리넷, 파라미티스) 포박해 봄, 메모리에딧 기록 + 세이브 (이 글) : https://soulslip29.blogspot.com/2024/12/ps2.html
ㄴ 포박대사 영상 찍음 : https://youtu.be/QAcr73rSB1U
----------------------------------------------------------------
PS2(플레이스테이션2)의 「베르윅 사가(Berwick Saga, ベルウィック サーガ)」 이며, 에뮬레이터는 PCSXE 1.6.0 사용.
에딧 방법이 어렵기 때문에 (주소가 게임 내 로드할 때마다 바뀜) 그냥 마지막에 메모하고, 결과를 먼저 기록.
● 메모리에딧 프로그램
* 치트엔진(Cheat Engine) 이 추천된다.
현 버전 7.5는 윈도우10에서만 구동 가능하므로, 윈도우7에서는 7.4 버전을 구해야.
* 아트머니(Artmoney)는 추천 불가(Trash) : 그동안 썼던 프로그램인데 버리게 됨.
1) 8 버전으로 넘어오면서 버그(주소를 복사하려고 더블클릭 하면, 앞자리가 0이 됨)가 생겼고.
2) 주소 검색시 리스트 1000개 밖에 보이지 않는다.
(치트엔진은 무려 10,000,000개 리스트가 보인다.)
■1. 전투불능이 안되는 유닛들을 전투불능으로 해보았다
1. 마지막 스테이지에서 리스,리넷을 전투불능에 성공했지만, 적 AI상 포박을 안하므로 별 의미는 없었음.
마지막 스테이지에서 원래 모든 아군유닛은 경상or전투불능이 되지 않고, 적 AI도 포박을 안한다.
2. 스테이지14에서 적보스, 리넷(원래 무적유닛) 전투불능
3. 스테이지13에서 파라미티스 전투불능
■2. 아군중 한명을 리넷으로 교체 (불완전)
■3. 아군을 리넷으로 교체 (완전)
* 파일명 : [PS2세이브]Berwick Saga _ Chris to Lynette(S13)_PCSX2.7z
: https://drive.google.com/file/d/1evWaWyH2xh-LQCWBVHsaKWoVFxjGB1UK/view?usp=drive_link
포박 치트를 켜면 포박대사 확인가능해짐.
■■ 에딧 과정 및 결과 기록 (메모리에딧 사용가능자 용)
● 1) 위 1번 전투불능 안되는 유닛 전투불능
- ☆ 경상 or 전투불능은 주소가 따로였다.
- 전투불능상태(이하 전불플래그)의 주소는 캐릭 1명당 0x244 = 580d 주소 차이다. (이하 0x는 16진수라는 뜻이고 d는 10진수라는 뜻)
캐릭 순서는 출격칸 초기(스테이지 시작할때 배치 바꾸는 건 반영되지 않음)의 순서임.
- 희한하게도, 먼저 배치되는 유닛의 주소가 더 뒷쪽이다. 스택처럼 뒤쪽부터 쌓는 듯?
(참고기록 : 출격유닛 배열은 찾을 수 없었는데, Array가 아닌 Linked List 구조 같은 것인 듯.
또 희한하게도, 어떤 유닛을 출격배열에 선택/해제했는지 순서대로 기억된다. 예를들어 출격칸을 열면, 맨 나중에 골랐던 유닛부터 출격배열에 올라온다)
- 다음 별로 주소들이 구분되는 듯 : 아군 / 적군 / 우군 / 적군증원병 / 적군보스들 및 이벤트시 등장하는 유닛들
ex) 첫번째 아군유닛의 전불플래그 주소가 0x0000 이라면 두번째 아군 주소는 0x0244 이지만. 첫번째 적군은 0x244 의 배수가 아님 (대충 오차값은 8의 배수였음).
이걸 기록하는 이유는, 찾을 때 치트엔진의 주소이동 (Shift + Ctrl + Alt + Enter) 기능으로 주소를 8바이트씩 이동하며 찾을 수 있었으므로.
첫번째 적군의 전불플래그가 0x0000 이라면 두번재 적군은 0x0244 임
* 전투불능 주소는 크기 1바이트 이고.
ㄴ 평상시 : 0
ㄴ 128 : 전투불능
ㄴ 8 or 9 : 수면 (비트가 플래그) 등.
▶(찾는법) 프로그램 선택은 PCSX2의 디버그창을 선택해도 되고, 게임창을 선택해도 됨.
게임내에서 전투불능 치트를 켜고, 한명 전투불능을 만든 후(다른 상태이상 없이 전투불능만) 128로 검색 -> 로드해서 0으로 검색한다.
(아트머니로 하면 주소가 몇천개씩 나오는데 고작 1000개씩 밖에 안보이므로 노가다 필요하나,)
치트엔진으로 하면 해당 주소들만 추가해서 테스트하면 되므로 상대적으로 아주 쉬움. (아래 쓰인 것처럼 주소범위 21E~ 로 나오는 것들만 보면 됨)
☆ 게임 내에서 로드할 때마다, 또는 캐릭 쪽수(?)가 달라질 때마다 주소가 바뀌는 경향이 있어 골치가 아프다.
미션 시작 후 한번에 에딧해야 하는 듯.
- 주소 운좋게 안바뀐 경우 기록 : 스테이지 9-2(병참기지)에서 주소를 찾은 후, 스테이지 15 시작직후 강제세이브를 로드한 경우 운좋게 되었음(위 리스 전투불능 스샷).
- ★ PCSX2 1.6.0 의 경우, 전불플래그 주소는 21E~ 로 시작하는 주소였다. 21EB or 21EC 이내의 주소를 테이블에 추가하여, 일괄 값 변경 (치트엔진에서 단축키 Enter) 으로 128을 넣어보면 됨.
* 14스테이지에서 나중에 추가로 등장하는 리넷+골도봐(보스)는 둘다 전투불능이 안되는 캐릭이라 찾기 어려웠는데, 증원 적의 전불플래그 -20명(주소가 앞쪽으로 가야 하므로 -라 표현함) 정도까지 확보해놓고, 주소를 -8씩 이동시키며 찾음.
-8 수치의 근거는,
1) 14스테이지의 적들 전불플래그 배치는 다음과 같았음 : 증원되는 적군(메모리의 가장 앞쪽) -> 우군들 -> 처음부터 배치된 적군들 -> 중간보스(이름 '피아스') -> 아군
2) 여기서, 「처음부터배치된적군」 주소와, 도중 등장하는 적군 '피아스(중간보스?)' 의 주소 오차가 16d 이었다.
3) 「우군들」 주소와, 「증원되는적군」 의 주소 오차가 536d 였다. 두 수의 공약수 = 8.
-4 씩 이동시킬 수도 있었지만 노가다 하기 싫어 -8로 했는데 운좋게 찾아졌음.
리넷+골도봐의 주소는 「증원되는적군」 보다 앞이었다.
* 주소 기록
증원궁수 주소 -10명 분(-5800d) 의 전불플래그 21EB6667 일때, 리넷 플래그 21EB60BF (0x5A8 = 1448d 차이. 580x2 후 -288d)
리넷+골도봐는 등장시 상황이 다를 때마다 주소가 바뀐다.
● 2) 위 2번 아군을 리넷으로 교체
- '출격준비' 화면에서, 윗쪽으로 올라간 캐릭들의 배열은 존재하지 않는 듯(특이하다).
대신 캐릭별로 「출격멤버로 설정되었는가」 변수가 존재함. 그런데 값이 제각각이라 골치 아프다.
예를들어 '크리스'는 출격멤버가 되면 104 가 되고, 해제되면 40이 된다. 그외 초반부터 아군이되는 유닛들은 비슷하게 동일하고, 후반유닛 중 '에니드'도 동일함.
아래는 제각각인 사례. (각각 출격시, 미출격시)
사휘아 : 9, 73
다우드, 바로우즈 : 8, 72
오르웬 : 41, 105
(그런데 에딧할땐 값을 정확히 맞출필요 없고, 104인 캐릭도 100으로 입력하면 출격으로 간주됨)
=> 이 값을 토대로 출격플래그 주소를 찾을 수 있다. (1바이트)
- 출격플래그주소 - 0x10 이 얼굴 주소 (2바이트) 이다.
- 출격플래그주소 - 0x12 이 유닛이름_표시용 (2바이트) 이다.
- 출격플래그주소 - 0x14 는 유닛이름_진짜 (2바이트) 이다. (이걸 고쳐야 정말 유닛을 바꾼걸로 인식됨)
- 출격플래그주소 - 0x0D 가 클래스종류 (1바이트 인 듯) 이다.
ex) 크리스 출격플래그 21E298F4 일 때,
ㄴ21E298E7 : 클래스 (1바이트). 1,2는 로드. 3,4는 하이로드 5로 설정시 아포스텔 등.
ㄴ21E298E4 : 얼굴 (2바이트). 639가 리넷.
ㄴ21E298E2 : 유닛이름 (2바이트). 크리스가 124 인데, 125로 하면 리넷이 됨.
ㄴ21E298E0 : 유닛 진짜이름 (2바이트). 상동.
* 유튭에 전캐릭얼굴 올라와있는게 있어 링크 : https://www.youtube.com/watch?v=x8fKJw9b-xM
● 3) 위 3번 아군을 리넷으로 교체 (완전)
치트엔진의 메모리뷰(Memory View) 버튼으로 메모리를 볼 수 있다.
15장 리넷의 능력치를 이용해 출격플래그 주소를 찾았다.
C8 03 00 80 로 시작하는 곳이다. 능력치로 검색할땐 4바이트로 뒤집어 검색해야 됨(C003E800)
댓글 없음:
댓글 쓰기