다운로드 링크가 정상적으로 보이지 않는 경우 애드블록을 해제해 주세요.
본문 바로가기
  • 혜음우리말화연구소
잡담

512바이트 버그

by WindowsTiger 2021. 5. 18.

게임을 하다보니 대사가 512바이트를 초과하면 게임이 뻗는 문제가 있었다.
그래서 계속 보니까 원인을 찾아냈다
대사의 (상대)주솟값은 wDialogCharacterIndex(하위 8비트)와 wDialogCharacterIndexHi(상위 8비트)라는 두개의 변수에 나눠서 저장하는데 이 상위 8비트를 하위 8비트를 1씩 증가시키면서 발생하는 캐리를 집어넣도록 설계되어 있었다.
문제는 캐리의 값은 무조껀 0아니면 1이기 때문에 512바이트(0x200)를 초과하면 게임이 뻗어버린다.
이는 좀 느릴지 몰라도(체감은 안날것이다) 그냥 0인지 조사해서 넣는 코드로 바꾼 후 정상적으로 작동함을 확인했다.

덤으로 이 치명적인 버그가 엔딩에 있다....

추가)0.95b버전에서 수정되었습니다

'잡담' 카테고리의 다른 글

뇌피셜 분석  (1) 2021.05.27
지금 성마 지원회화 작업한거  (0) 2021.05.19
다시 파엠 성마 작업  (0) 2021.05.15
파이어 엠블렘 창염의 궤적 한글화중  (1) 2021.04.28
파엠 장염 분석  (1) 2021.04.23

댓글