게임을 하다보니 대사가 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 |
댓글