멕스크립트

MexScript
멕스크립트
패러다임도메인별:기능:구조화됨:최종 사용자
설계자마이크 주어먼
개발자마이크 주어먼
처음 등장1997
타이핑 분야역학
주요 구현
MultiEx Commander, QuickBMS 등

MexScript[1] 여러 게임[vague] 리소스 아카이브 파일 [clarification needed]처리기에서 사용되는 다중 패러다임 컴퓨터 스크립팅 언어입니다.원래 16비트 명령줄 도구 멀티플렉스용으로 개발되었으며 이후 32비트 버전의 멀티엑스 커맨더용으로 개발되었습니다.이 스크립트는 최종 사용자가 해석 프로그램이 파일 내용에 액세스하고 파일 내용을 대체하는 데 필요한 여러 작업을 수행하도록 하는 스크립트입니다.멕스 스크립트는 드래곤 UNpack,[2] 게임 추출기,[3] FusePAK [4]및 최신 방언 QuickBMS와 [5]같은 유사한 프로그램에서 스크립트(멀티엑스, 멕스컴3, BMS라고도 함)의 구현에서 알 수 있듯이 게임 아카이브를 처리하는 표준 중 하나가 되었습니다.

역사

MexScript는 1997년에 Mike Zuurman에 의해 멀티플렉스용으로 만들어졌고 를 사용하여 도구에 공급되었습니다.INI 파일.[6][7]이 스크립트는 MultiEx Commander의 이후 릴리스에서 개선되었습니다.이 이름은 Multix를 'mex'로 줄인 데서 유래했으며, 기본적으로 MexScript의 컴파일 버전인 BMS(Binary MultiEx Script)[1][8][9]라고도 합니다.MexScript는 Windows 버전의 MultiEx Commander용으로 "multiex.dll"이라는 동적 링크 라이브러리에 의해 해석되며,[10] 공개 버전은 2003년 7월 24일에 출시되었습니다.

구현

MultiEx Commander 외에도 MexScript는 많은 다른 응용 프로그램에서 구현되었습니다.다중 동적 링크 라이브러리는 드래곤 [11]UNpack이라는 유사한 게임 아카이브 파일 처리기에서 초기 릴리스 후 사용되었습니다.스크립트 언어 자체는 리눅스 툴[12] Fusepak과 Java 애플리케이션 Game Extractor에서 [13]구현되었습니다.MexScript를 OpenMEX용 [15]Python으로 변환하는 스크립트가 있습니다[14].MexScript/B의 방언도 있습니다.MS는 [16]2009년 4월 16일 Xentax 재단의 게임 리서치 포럼에 처음 등장한 QuickBMS라고 불렀습니다.

설계.

MexScript는 최종 사용자를 위해 설계된 도메인별 구조화된 기능 스크립트 언어입니다.기본 도메인은 게임 리소스 보관 형식(GRAF)을 처리하는 데 필요한 프로세스입니다.GRAF는 2003년 [17]11월에 처음 만들어진 용어입니다.MexScript 스크립트 언어로 작성하는 목적은 컴퓨터 게임을 MOD하기 위해 GRA의 내용을 조작하는 것입니다.

대본

MexScript에 대한 광범위한 설명은 MultiEx Commander 및 QuickBMS를 [1][18]비롯한 다양한 구현의 웹 사이트에서 확인할 수 있습니다.

MultiEx Commander의 1998년 16비트 구현의 마지막 릴리스에는 [19]다음과 같은 명령어와 명령어가 포함되었습니다.

ID, 이벤트, 파일 이름 없음, GetLong, FlipLong, GetInt, GetString, WriteLong, GetDString, GetNullString, StrCReplace, StrerReplace, LOOP, ENDLOOP, SavePos, GoTo, SET, SETFileCNT, ADD, SET, SET, SET, SETBytesRead, Multiplace, DUP, 사용자 프롬프트파일, SETPATH, 파일 찾기ID, 대/소문자 구분머리글.

MultiEx Commander 또는 QuickB에 의해 구현된 이후의 방언MS는 더 많은 기능을 제공합니다.

데이터.

방언이나 원래 구현에 따라 데이터 유형이 크게 다를 수 있습니다.MexScript for MultiEx Commander에는 다음이 있습니다.

  • 긴 --> 32비트 값(4바이트, 리틀엔디안)
  • Int --> 16비트 값(2바이트, 리틀 엔디언)
  • 바이트 --> 8비트 값(1바이트)
  • ThreeByte --> 24비트 값(3바이트, 리틀엔디안)
  • String --> null-terminated 문자 문자열(0바이트로 끝나는 문자열)

범위 지정

변수는 사용하기 전에 선언할 필요가 없습니다. 이전에 사용되지 않은 변수가 어떤 종류의 계산에 포함된 경우를 제외하고 범위는 전역입니다.이러한 경우 SET <변수> 문을 사용하여 선언됩니다.모든 변수는 런타임에 변경할 수 있으므로 코드를 자체 수정할 수 있습니다.

산출량

스크립트 언어는 일반적으로 게임 리소스 아카이브에 포함된 파일 목록, 오프셋 및 크기, 이름 및 추정 압축에 대한 정보를 출력합니다.이 작업은 Log 문 또는 CLog [1]문을 사용하여 32비트 MultiEx Commander 및 기타 구현에서 수행됩니다.

제어 구조 명령

MexScript는 몇 가지 일반적인 제어 구조를 제공합니다.

  • ifelse test [ do_if_true list ] [do_if_false list]
  • do-while 조건[지침 목록]
  • 다음 번 루프

재귀는 MexScript에서 선호하는 처리 패러다임입니다.

입출력

원본 multiex.exe의 출력은 아카이브에 포함된 파일의 추출 또는 가져오기였습니다.32비트 구현은 위치, 크기, 이름 및 압축 유형에 대한 정보와 함께 처리된 아카이브에 포함된 파일 목록을 출력합니다.이 목록은 MultiEx Commander 또는 유사한 도구에 제공됩니다.

구문

원래 16비트 버전에서는 명령을 한 줄로 작성해야 했지만 이후 버전에서는 더 많은 명령을 사용할 수 있었습니다.해시 기호 다음 줄에 있는 모든 항목#무시되어 코더가 주석을 삽입할 수 있습니다.퀵비MS 방언은 또한 C 스타일을 지원합니다./* ... */) 및 C++ 스타일(//)[18] 댓글.각 행은 세미콜론으로 끝납니다.;많은 방언에서 의무적인 것은 아니지만요.

레퍼런스

  1. ^ a b c d "MexScript - XentaxWiki".
  2. ^ "Dragon UnPACKer • Developers Area - ElberethZone".
  3. ^ http://www.watto.org/extract/info.html
  4. ^ "Fusepak :: BMS".
  5. ^ "Luigi Auriemma".
  6. ^ http://www.gamers.org/pub/idgames2/utils/bsp_pak_tools/mcmex1_9.txt[베어 URL 일반 텍스트 파일]
  7. ^ "MultiEx v1.6 « Homo universalis". www.zuurman.net. Archived from the original on 2018-08-21.
  8. ^ "GIF Extractor [Archive] - The Horror Is Alive". www.the-horror.com. Archived from the original on 2016-03-04.
  9. ^ http://trac.assembla.com/Da_FileServer_Projects/wiki/BinaryMapper
  10. ^ "Planet Quake - News, Screenshots, Previews, Reviews, Guides". Archived from the original on 2013-10-03. Retrieved 2012-06-29.
  11. ^ "Dragon UnPACKer • Developers Area - ElberethZone".
  12. ^ "Fusepak :: BMS".
  13. ^ http://www.watto.org/extract/info.html
  14. ^ "CVS Info for project openmex".
  15. ^ "OpenMex".
  16. ^ "Files extractors scripting - XeNTaX".
  17. ^ "XeNTaX - OpenGRAF". www.xentax.com. Archived from the original on 2 December 2003. Retrieved 13 January 2022.
  18. ^ a b Luigi Auriemma. "QuickBMS".
  19. ^ "XeNTaX - Login".

외부 링크

  • MultiEx Commander - 공식 웹사이트
  • 자습서 - MexScript 및 QuickB 사용에 대한 자습서MS in MultiEx Commander