서풍의 광시곡 리팩


창세기전 외전 서풍의 광시곡은 총 CD 3장으로 구성되어 있습니다.
CD 마다 각각 다른 오디오 트랙을 사용하고 있고 데이터 파일도 분할되어 있습니다.
이를 CD 1장 처럼 합치기 위해서는 다음을 먼저 분석하여 찾아내야 합니다.

-CD 체크할 때 CD 번호 정보를 주고받는 부분
-CD 배경음악 재생시 트랙번호
-CD 배경음악 재생부분
-CD 배경음악 정지부분


CD 번호 주고받는 부분은 위의 주소에서 eax 값에서 확인할 수 있었습니다.
이 정보를 가로채서 CD 번호에 맞는 음악 파일을 재생하게 해줍니다.

작업도중 전투가 끝나고나서 음악이 재생안되는 문제가 있었는데 이와 관련한 변수가 하나 더 존재하더군요. 이를 별도로 처리해주자 정상적으로 재생이 되었습니다.

그 외 나머지 부분들도 시간이 좀 들긴했지만 전부 분석하여 지난번 메탈 퍼티그와 같은 형식으로 리팩하였습니다. ^^

이와 별도로 전투 중 발생하는 "Overflow Mouse Range Setting" 오류와 적이 너무 자주등장하는 문제를 수정하고 게임 속도 조절 기능을 넣었습니다.

참고로 "1.02 패치"와 "1.02 XP 패치"가 있는데 "1.02 XP 패치"는 오히려 XP 환경에서 게임중간에 멈추는 문제가 있습니다. 리팩본은 "1.02 XP 패치"로 작업하였다가 다시 "1.02 패치"로 재작업하였습니다.

(추가된 내용)
1차 리팩본 이후 몇가지 추가문제가 발견됩니다.
회복계열 아이템이나 마법을 비전투상태에서 사용시 멈춰버리는 것과 전투시작시 종종 멈춰버리는 문제였습니다.
전투시작시 멈추는 문제는 두가지 원인이 있었는데 첫번째는 전투중 특수기술을 쓰면 나오는 동영상 속도가 전투속도와 같게 조절한데 있었습니다. 이는 기존 fps에 맞게 유지시켜주는게 안정적이였습니다. 그래도 간혹 전투시작시 멈추는 문제가 있어 직접 디버깅을 하여 원인을 찾아나갔습니다.


2주동안 짬짬이 시간을 내면서 찾아낸 결과 멈추는 원인은 메모리 오류이며 memcpy에 의한 것이였습니다.
메모리 overflow가 나거나 잘못된 참조로 인한 access denied이 화근이였습니다.
일반 모드로 실행하면 이 오류는 스킵되어 넘어갑니다. 넘어간다고 좋은게 아닙니다.
프로그램에 분명 버그가 있다는 것이고 게임중 메모리의 쓰레기값이나 잘못된 포인터로 예상치못하게 종료될 수 있는 요소가 됩니다.
이를 디버그 모드로 걸고보면 어김없이 오류를 내뱉습니다.
메모리 오류나는 부분을 찾았으니 이제 오류안나게 레지스터값을 조절하여 넘겨주면 됩니다.
이번 수정으로 이제는 어느정도 안정적으로 플레이가 가능하다고 생각되어지네요. ^^

1 Response to "서풍의 광시곡 리팩"

  1. 익명 says:

    기록 식 배당 기록 배 기록 배 트지데 트지데 우리카지노 계열사 우리카지노 계열사 betway login betway login 메리트카지노총판 메리트카지노총판 dafabet dafabet 바카라사이트 바카라사이트 메리트 카지노 쿠폰 메리트 카지노 쿠폰 566 ᐈ Play free demo - Go Kings Casino

댓글 쓰기

Powered by Blogger