다음 목록은 각 버전별 스크립트나 개발 환경을 바꾸어야 할 만한 버전 별 변경점이 적혀 있습니다. 렌파이는 사용자가 새 버전에서 게임을 개발할 때에도 이전 버전에 맞춰 작성된 게임 스크립트에 영향을 끼치지 않는 방향으로 개발되고 있습니다.
config.script_version
값을 바꾸면 최근에 추가된 기능을 이용할 수는
없으나, 변경점들을 원상복구할 수 있습니다.
렌파이는 앞으로 이미지를 찾기 위해 game 폴더 안에 있는 images 폴더를 검색하며, 파일 이름을 기준으로 이미지를 정의합니다. 이 작동을 비활성화하려면 다음 코드를 사용하세요.:
init python:
config.image_directory = None
show screen
과 call screen
명령문은 인수를
스크린 예측 과정의 일부로써 계산합니다. 스크린에 사용되는
인수를 계산했을 때 부작용이 발생한다면 show screen
혹은
call screen
명령문에 nopredict
절을 입력해
예측을 방지해야 합니다.
스크린은 이제 트랜지션에 참여합니다. 트랜지션은 이제 스크린의 이전 상태에서
새로운 상태로 진입합니다. 이 작동을 비활성화 하려면
config.transition_screens
를 거짓으로 설정하세요.
렌파이는 어떤 스크린이 같은 태그가 지정된 다른 스크린으로 교체될 때 스크린의 상태를 전달하기 위해 구조적 동등성을 더 이상 사용하지 않습니다(예를 들어 트랜스폼의 상태 등). 대신, use 문 이 id 속성을 지원해, 상태를 전송할 때 이를 사용할 수 있게 되었습니다.
MusicRoom()
에서 사용되는 loop 매개 변수의 의미가 변경되었습니다.
이전 작동 방식을 이용하려면 loop 와 single_track 을 참으로 설정하세요.
이전버전에서는 아카이브한 파일을 archived/directory 로 옮겨, 게임을 시작하거나 아카이브 파일을 만들 때 자동으로 해당 경로를 검색했습니다. 새 버전에서는 이 과정이 필요 없기때문에 archived 폴더 에 있는 파일은 모두 게임 디렉토리로 옮겨놓습니다.
MoveTransition()
의 인터페이스가 바뀌었습니다. 코드를 수정하지 않는 한 이전 버전에서 사용하던 MoveTransition 은 이제
OldMoveTransition 으로 이용해야 합니다. (이 변경점때문에 문제가 발생하는 경우는 MoveTransition 과 팩토리를 함께 사용할 때 뿐입니다.)
Transform()
기능이 비대칭적으로 크기가 바뀌거나 회전된 이미지를 다루는 방법이 달라졌습니다. 아무래도 이전에 사용한 방식은 이용된 적이 없는 것 같습니다.
변수를 텍스트로 나타낼 때 이전 방식 ( %()s )도 기본적으로 사용할 수 있도록 수정하였습니다. 6.13 이나 6.13.7 버전을 쓰면서 say 문이나 menu 문에 % 기호를 적었다면 %%로 고치거나 아래 코드를 사용하세요.:
init python:
config.old_substitutions = False
이번 버전에서는 텍스트 동작 방식이 많이 바뀌어서 게임 개발에 영향을 미치는 부분이 많습니다. 가장 큰 변경점은 변수를 텍스트로 나타내는 방식이 바뀌었다는 점입니다. 이번 버전부터는 퍼센트기호(%)대신 대괄호([])로 변수를 삽입합니다. 아래처럼 코드를 적으면 6.12.1 이하 버전에서처럼 변수 삽입 방식을 바꿀 수 있습니다.
init python:
config.old_substitutions = True
config.new_substitutions = False
두 변수를 True 로 설정하면 대괄호 방식과 퍼센트 방식을 동시에 사용할 수 있습니다.
기본 라인 래핑 방식도 바뀌었습니다. 새 방식은 한 문단 안에 포함되는 줄 수를 증가시키지 않아서 단어 끊는 방식이 바뀔지도 모릅니다. 이전 방식으로 바꾸려면 다음 코드를 더하세요.
init python:
style.default.layout = "greedy"
style.default.language = "western"
이미지 이름이 이미지 속성에 중점을 두도록 변경되었습니다. 이전에는 명확했던 이미지 이름이 패치 이후에는 불명확하게 바뀔 수도 있으니 이미지 속성 중심의 이미지 이름을 사용하지 않으려면 config.image_attributes
를 False로 설정하세요.
ATL이나 트랜스폼이 없는 이미지를 표시할 때 해당 이미지가 사용했던 트랜스폼을 계속해서 사용하도록 수정되었습니다. 예를 들어 이미지가 위치를 바꾸도록 트랜스폼을 적용했다면 새로 표시할 이미지도 계속해서 위치를 바꾸게 되니 이를 원치 않으면 config.keep_running_transform
를 False 로 설정하세요.
Character()
에서 사용하던 image 인수의 의미가 달라졌습니다. 이전에는 스크린 언어에서 작동하지 않았지만 어쨌든 호환성을 복원하기 위해 작동 방식을 이전처럼 돌려놓고 싶다면 config.new_character_image_argument
를 False로 설정하세요.
nvl_choice
스크린에서 사용하는 items 매개변수의 정의가 변경되었습니다. NVL 스크린에서 선택지도 함께 표시하도록 바뀌어서 nvl_choice
스크린은 사용할 이유가 없어졌습니다.config.imagereference_respects_position
을 True 로 설정하세요.The transform specified by the config.default_transform
변수에 의해 특정된 트랜스폼은 show 나 hide 문을 사용하여 표시된 이미지의 트랜스폼 속성을 초기화하는 데 사용된다. 이 트랜스폼의 기본값은 xpos
와 xanchor
를 0.5로 설정하며, ypos
and yanchor
는 1.0로 설정한다.
이는 해당 스타일 속성의 기본값이 원래 초기화되지 않았던 것, 그러니까 0 이었던 것을 변경되었다는 것을 뜻한다.
reset
트랜스폼을 ATL 트랜스폼에 추가하면, 이 속성들이 0으로 재설정된다. 다음과 같은 코드를 이용하면 기본 트랜스폼 사용을 그만두고, 이전 작동 방식을 복원할 수 있다:
init python:
style.image_placement.xpos = 0.5
style.image_placement.ypos = 1.0
style.image_placement.xanchor = 0.5
style.image_placement.yanchor = 1.0
config.default_transform = None
만일 트랜스폼이 xpos
, ypos
, xanchor
,
yanchor
중 하나를 정의하지 않는다면 해당 속성은 트랜스폼의 하위 디스플레이어블에서 취합니다.
이는 한 트랜스폼이 디스플레이어블의 세로 방향 움직임을 제어할 수 있도록 하며, 다른 트랜스폼은 가로 방향 움직임을 제어할 수 있도록 합니다. 하지만 이것은 이전 버전의 동작과는 호환하지 않으므로,
config.transform_uses_child_position
변수를 이용하면 이를 비활성화시킬 수 있습니다
init python:
config.transform_uses_child_position = False
기본 위치값 (left, right, center, truecenter, offscreenleft, offscreenright) 이 ATL 트랜스폼으로 정의되었습니다. 이로 인해 위와 같은 위치에 이미지를 표시하면 해당 위치가 저장돼서 재사용될 수 있습니다. 이런 방식으로 작동하길 원하지 않는다면, 아래의 코드를 추가하여 위치값을 재설정 하세요:
define left = Position(xalign=0.0)
define center = Position(xalign=0.5)
define truecenter = Position(xalign=0.5, yalign=0.5)
define right = Position(xalign=1.0)
define offscreenleft = Position(xpos=0.0, xanchor=1.0)
define offscreenright = Position(xpos=1.0, xanchor=0.0)