Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,16 @@
- 원본 레거시 데이터의 바이트 경로 정보는 manifest에 보존됩니다.
- macOS 네이티브보다 Linux 컨테이너 기반 실행을 우선 권장합니다.

## UTF-8 First 운영 정책
- 텍스트 리소스/소스는 UTF-8 기준으로 관리합니다.
- 바이너리 산출물(`.exe`, `.arj`, `.mdp`, 실행 바이너리 blob)은 인코딩 변환 대상에서 제외합니다.
- 소켓 입력 파이프라인은 UTF-8 strict 모드입니다.
- 잘못된 UTF-8 시퀀스는 무시되며, 백스페이스는 1바이트가 아닌 1코드포인트 단위로 처리됩니다.
- 문자열 길이 제한은 바이트 길이(`strlen`)가 아니라 유니코드 코드포인트 길이 기준입니다.
- 플레이어 이름은 유니코드 문자열을 허용하며, 금지 문자(제어문자, `/` 등)는 차단됩니다.
- 플레이어 저장 경로는 이름 첫 글자 분기(`first_han`)가 아니라 SHA-1 2자리 샤딩(`player/<xx>/<name>`)을 사용합니다.
- CP949 플레이어 파일/입력과의 하위 호환은 제공하지 않습니다.

## macOS 호환 패치 내역
- 브랜치: `feat/macos-compat`
- 목적: macOS(Apple clang)에서 네이티브 빌드/기동이 가능하도록 레거시 C 코드 호환성 보강
Expand Down
76 changes: 38 additions & 38 deletions docs/board_make
Original file line number Diff line number Diff line change
@@ -1,43 +1,43 @@
<< �Խ��� >>
<< 게시판 >>

Mordor�� �Խ��� ����� ���� ��������ϴ�.
�ҽ��� ���ø� ���� �����ϰ� ����� ����
�м��ϱⰡ ������� �ֽ��ϴ�..
Mordor에 게시판 기능이 없어 만들었습니다.
소스를 보시면 아주 조잡하게 만들어 져서
분석하기가 힘들수도 있습니다..

board.c��� ȭ�ϸ����� �Ǿ� �ְ�..
includeȭ�Ϸ� board.h�� �ֽ��ϴ�.
board.c라는 화일명으로 되어 있고..
include화일로 board.h도 있습니다.

�Խ����� object�� �̿��ؼ� �н��ϴ�.
object�� special������(4=SP_BOARD)����
�Խ��������� Ȯ���ϸ�,
type������ �������� �Խ����� �����Ҽ��� ������
�ϳ��� �Խ����� ���������� ������ �ֽ��ϴ�.
�Ȱ��� �Խ��� object�� ���� �濡 �θ� �ǰ�����.
�Խ����� 18�� �÷��׸� �־� �Ϲ� ij���Ͱ�
������ ���� �ϰ�, 19�� �÷��׸� �־� �Ⱥ��̰� �� ���ֽ��ϴ�.
게시판은 object를 이용해서 읽습니다.
object의 special변수값(4=SP_BOARD)으로
게시판인지를 확인하며,
type변수로 여러개의 게시판을 정의할수도 있으며
하나의 게시판을 여러곳에서 읽을수 있습니다.
똑같은 게시판 object를 여러 방에 두면 되겠지요.
게시판은 18번 플래그를 주어 일반 캐릭터가
집을수 없게 하고, 19번 플래그를 주어 안보이게 할 수있습니다.

board.c�� board_dir[]�迭�� ����..
board.c의 board_dir[]배열에 보면..
{ 100, "/home/mordor/board/info" },
�� �Ǿ� �ִµ�...
100 �� type������ �Է��ϴ� ��, �� �Խ����� �����ϴ°��Դϴ�..
�ٸ� ���ڸ� �߰��Ͽ� �ٸ� �Խ����� ���� �ǰ�����..
������ �Խ����� �ڷᰡ ��������� ���丮�Դϴ�.
�Խ����� ó�� ����� �Խ��� ���丮���� touch board_index
��� �Է��Ͽ� 0����Ʈ�� board_indexȭ���� ������־�� �մϴ�.
�Էµ� �ڷ�� board.��ȣ �� �������� ������ �ǰ�
parse�� Ư���� 1���� ���� ���ϵ��� �صξ����ϴ�.

board.c�� ������ �� ���������� �� �����ϸ� �Խ����� �� �� �ֽ��ϴ�.
������ '�Խ��� ����' �̶�� �غ��ø� ���ɴϴ�.

���� ������ �����غ���...

1. board.c�� board_dir[]������ type���� ���丮�� �ִ´�.
2. object�� �ϳ� ����� type�� 1������ �Է��� ���� �ְ�,
special�� 4(=SP_BOARD)�� �ִ´�.
3. 1������ ������ ���丮�� ���� touch board_index�� �����Ѵ�.
4. �Խ����� �� �濡 2������ ���� object�� �ִ´�.
5. ������ �� �������Ѵ�.
6. �Խù��� �ϳ� �� �� [�Խ��� 1 �ۻ���]�� �Է��Ͽ� 1�� �Խù��� �����.

- �� -
로 되어 있는데...
100 은 type변수에 입력하는 값, 즉 게시판을 구분하는것입니다..
다른 숫자를 추가하여 다른 게시판을 만들어도 되겠지요..
다음은 게시판의 자료가 만들어지는 디렉토리입니다.
게시판을 처음 만들면 게시판 디렉토리에서 touch board_index
라고 입력하여 0바이트의 board_index화일을 만들어주어야 합니다.
입력된 자료는 board.번호 의 형식으로 저장이 되고
parse의 특성상 1번은 읽지 못하도록 해두었습니다.

board.c를 수정후 재 컴파일해준 후 리붓하면 게시판을 쓸 수 있습니다.
사용법은 '게시판 도움' 이라고 해보시면 나옵니다.

위의 내용을 정리해보면...

1. board.c의 board_dir[]변수에 type값과 디렉토리를 넣는다.
2. object를 하나 만들어 type에 1번에서 입력한 값을 넣고,
special에 4(=SP_BOARD)를 넣는다.
3. 1번에서 설정한 디렉토리로 가서 touch board_index를 실행한다.
4. 게시판을 둘 방에 2번에서 만든 object를 넣는다.
5. 컴파일 후 리부팅한다.
6. 게시물을 하나 쓴 후 [게시판 1 글삭제]를 입력하여 1번 게시물은 지운다.

- -
6 changes: 3 additions & 3 deletions docs/cmd_ital
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
telnet ��� italk�� ��� �Ͻʽÿ�.
italk�� telnet�� ���� �޸𸮰� ����ǰ�, �� �����ϴ�.
����ϴ� ����� ������ �����ϴ�.
telnet 대신 italk를 사용 하십시오.
italk는 telnet에 비해 메모리가 절약되고, 더 빠릅니다.
사용하는 방법은 다음과 같습니다.

italk localhost 4000

Expand Down
2 changes: 1 addition & 1 deletion docs/crt_expg
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
���Ѵ��� ���� ǥ���� ����Ÿ ���̺�
무한대전 몹의 표준적 데이타 테이블

LEVEL STATS HP's AC TO XP's DAM
1 55 10 90 19 10 5
Expand Down
Loading