diff options
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/db.c | 12 | ||||
-rw-r--r-- | src/common/lock.c | 12 | ||||
-rw-r--r-- | src/common/mmo.h | 16 | ||||
-rw-r--r-- | src/common/nullpo.c | 14 | ||||
-rw-r--r-- | src/common/nullpo.h | 136 | ||||
-rw-r--r-- | src/common/timer.c | 10 | ||||
-rw-r--r-- | src/common/version.h | 16 |
7 files changed, 108 insertions, 108 deletions
diff --git a/src/common/db.c b/src/common/db.c index 7a4fa70..07b08c8 100644 --- a/src/common/db.c +++ b/src/common/db.c @@ -211,7 +211,7 @@ static void db_rebalance (struct dbn *p, struct dbn **root) { p->color = RED; while (p != *root && p->parent->color == RED) - { // root�͕K�����Őe�͐Ԃ��̂Őe�̐e�͕K�����݂��� + { // rootは必ず黒で親は赤いので親の親は必ず存在する if (p->parent == p->parent->parent->left) { struct dbn *y = p->parent->parent->right; @@ -276,7 +276,7 @@ static void db_rebalance_erase (struct dbn *z, struct dbn **root) x = y->right; } if (y != z) - { // ���E���������܂��Ă����� y��z�̈ʒu�Ɏ����Ă���z������ + { // 左右が両方埋まっていた時 yをzの位置に持ってきてzを浮かせる z->left->parent = y; y->left = z->left; if (y != z->right) @@ -305,7 +305,7 @@ static void db_rebalance_erase (struct dbn *z, struct dbn **root) y = z; } else - { // �ǂ��炩�Ă����ꍇ x��z�̈ʒu�Ɏ����Ă���z������ + { // どちらか空いていた場合 xをzの位置に持ってきてzを浮かせる x_parent = y->parent; if (x) x->parent = y->parent; @@ -316,9 +316,9 @@ static void db_rebalance_erase (struct dbn *z, struct dbn **root) else z->parent->right = x; } - // �����܂ŐF�̈ړ��̏����Ēʏ��2���Ɠ��� + // ここまで色の移動の除いて通常の2分木と同じ if (y->color != RED) - { // �Ԃ������镪�ɂ͉e������ + { // 赤が消える分には影響無し while (x != *root && (x == NULL || x->color == BLACK)) if (x == x_parent->left) { @@ -498,7 +498,7 @@ void db_foreach (struct dbt *table, int (*func) (void *, void *, va_list), ...) { int i, sp; - // red-black tree�Ȃ̂�64��stack�������2^32�m�[�h�܂ő��v + // red-black treeなので64個stackがあれば2^32個ノードまで大丈夫 struct dbn *p, *pn, *stack[64]; va_list ap; diff --git a/src/common/lock.c b/src/common/lock.c index 7409baf..bed657f 100644 --- a/src/common/lock.c +++ b/src/common/lock.c @@ -4,17 +4,17 @@ #include "lock.h" #include "socket.h" -// �������݃t�@�C���̕ی쏈�� -// �i�������݂��I���܂ŁA���t�@�C����ۊǂ��Ă����j +// 書き込みファイルの保護処理 +// (書き込みが終わるまで、旧ファイルを保管しておく) -// �V�����t�@�C���̏������݊J�n +// 新しいファイルの書き込み開始 FILE *lock_fopen (const char *filename, int *info) { char newfile[512]; FILE *fp; int no = getpid (); - // ���S�ȃt�@�C������i�蔲���j + // 安全なファイル名を得る(手抜き) do { sprintf (newfile, "%s_%d.tmp", filename, no++); @@ -24,7 +24,7 @@ FILE *lock_fopen (const char *filename, int *info) return fopen_ (newfile, "w"); } -// ���t�@�C�����폜���V�t�@�C�������l�[�� +// 旧ファイルを削除&新ファイルをリネーム int lock_fclose (FILE * fp, const char *filename, int *info) { int ret = 0; @@ -34,7 +34,7 @@ int lock_fclose (FILE * fp, const char *filename, int *info) ret = fclose_ (fp); sprintf (newfile, "%s_%d.tmp", filename, *info); remove (filename); - // ���̃^�C�~���O�ŗ�����ƍň��B + // このタイミングで落ちると最悪。 rename (newfile, filename); return ret; } diff --git a/src/common/mmo.h b/src/common/mmo.h index 11d37b1..279bf4a 100644 --- a/src/common/mmo.h +++ b/src/common/mmo.h @@ -8,9 +8,9 @@ #include "utils.h" // LCCWIN32 #ifdef CYGWIN -#define RETCODE "\r\n" // (CR/LF�FWindows�n) +#define RETCODE "\r\n" // (CR/LF:Windows系) #else -#define RETCODE "\n" // (LF�FUnix�n�j +#define RETCODE "\n" // (LF:Unix系) #endif #define FIFOSIZE_SERVERLINK 256*1024 @@ -278,13 +278,13 @@ struct square enum { - GBI_EXP = 1, // �M���h��EXP - GBI_GUILDLV = 2, // �M���h��Lv - GBI_SKILLPOINT = 3, // �M���h�̃X�L���|�C���g - GBI_SKILLLV = 4, // �M���h�X�L��Lv + GBI_EXP = 1, // ギルドのEXP + GBI_GUILDLV = 2, // ギルドのLv + GBI_SKILLPOINT = 3, // ギルドのスキルポイント + GBI_SKILLLV = 4, // ギルドスキルLv - GMI_POSITION = 0, // �����o�[�̖�E�ύX - GMI_EXP = 1, // �����o�[��EXP + GMI_POSITION = 0, // メンバーの役職変更 + GMI_EXP = 1, // メンバーのEXP }; diff --git a/src/common/nullpo.c b/src/common/nullpo.c index daeca9f..3205293 100644 --- a/src/common/nullpo.c +++ b/src/common/nullpo.c @@ -2,13 +2,13 @@ #include <stdarg.h> #include <string.h> #include "nullpo.h" -// #include "logs.h" // �z���Ă݂� +// #include "logs.h" // 布石してみる static void nullpo_info_core (const char *file, int line, const char *func, const char *fmt, va_list ap); /*====================================== - * Null�`�F�b�N �y�� ���o�� + * Nullチェック 及び 情報出力 *-------------------------------------- */ int nullpo_chk_f (const char *file, int line, const char *func, @@ -36,7 +36,7 @@ int nullpo_chk (const char *file, int line, const char *func, } /*====================================== - * nullpo���o��(�O���ďo���������b�p) + * nullpo情報出力(外部呼出し向けラッパ) *-------------------------------------- */ void nullpo_info_f (const char *file, int line, const char *func, @@ -55,7 +55,7 @@ void nullpo_info (const char *file, int line, const char *func) } /*====================================== - * nullpo���o��(Main) + * nullpo情報出力(Main) *-------------------------------------- */ static void nullpo_info_core (const char *file, int line, const char *func, @@ -74,13 +74,13 @@ static void nullpo_info_core (const char *file, int line, const char *func, { vprintf (fmt, ap); - // �Ō�ɉ��s�������m�F + // 最後に改行したか確認 if (fmt[strlen (fmt) - 1] != '\n') printf ("\n"); } } printf ("--- end nullpo info ----------------------------------------\n"); - // �������nullpo���O���t�@�C���ɏ����o������ - // �܂Ƃ߂Ē�o�ł���ȂƎv���Ă�����B + // ここらでnullpoログをファイルに書き出せたら + // まとめて提出できるなと思っていたり。 } diff --git a/src/common/nullpo.h b/src/common/nullpo.h index bac92cd..baeacdc 100644 --- a/src/common/nullpo.h +++ b/src/common/nullpo.h @@ -2,8 +2,8 @@ #define _NULLPO_H_ #define NULLPO_CHECK 1 - // �S�̂̃X�C�b�`��錾���Ă���w�b�_������� - // �����Ɉړ����Ă���������� + // 全体のスイッチを宣言しているヘッダがあれば + // そこに移動していただけると #if __STDC_VERSION__ < 199901L # if __GNUC__ >= 2 @@ -24,52 +24,52 @@ *---------------------------------------------------------------------------- */ /*====================================== - * Null�`�F�b�N �y�� ���o�͌� return - *�E�W�J�����if�Ƃ�return�����o��̂� - * ��s�P�̂Ŏg���Ă��������B - *�Enullpo_ret(x = func()); - * �̂悤�Ȏg�p�@���z�肵�Ă��܂��B + * Nullチェック 及び 情報出力後 return + *・展開するとifとかreturn等が出るので + * 一行単体で使ってください。 + *・nullpo_ret(x = func()); + * のような使用法も想定しています。 *-------------------------------------- * nullpo_ret(t) - * �߂�l 0�Œ� - * [����] - * t �`�F�b�N�Ώ� + * 戻り値 0固定 + * [引数] + * t チェック対象 *-------------------------------------- * nullpo_retv(t) - * �߂�l �Ȃ� - * [����] - * t �`�F�b�N�Ώ� + * 戻り値 なし + * [引数] + * t チェック対象 *-------------------------------------- * nullpo_retr(ret, t) - * �߂�l �w�� - * [����] + * 戻り値 指定 + * [引数] * ret return(ret); - * t �`�F�b�N�Ώ� + * t チェック対象 *-------------------------------------- * nullpo_ret_f(t, fmt, ...) - * �ڍ��o�͗p - * �߂�l 0 - * [����] - * t �`�F�b�N�Ώ� - * fmt ... vprintf�ɓn����� - * ���l��W�ϐ��̏����o���Ȃǂ� + * 詳細情報出力用 + * 戻り値 0 + * [引数] + * t チェック対象 + * fmt ... vprintfに渡される + * 備考や関係変数の書き出しなどに *-------------------------------------- * nullpo_retv_f(t, fmt, ...) - * �ڍ��o�͗p - * �߂�l �Ȃ� - * [����] - * t �`�F�b�N�Ώ� - * fmt ... vprintf�ɓn����� - * ���l��W�ϐ��̏����o���Ȃǂ� + * 詳細情報出力用 + * 戻り値 なし + * [引数] + * t チェック対象 + * fmt ... vprintfに渡される + * 備考や関係変数の書き出しなどに *-------------------------------------- * nullpo_retr_f(ret, t, fmt, ...) - * �ڍ��o�͗p - * �߂�l �w�� - * [����] + * 詳細情報出力用 + * 戻り値 指定 + * [引数] * ret return(ret); - * t �`�F�b�N�Ώ� - * fmt ... vprintf�ɓn����� - * ���l��W�ϐ��̏����o���Ȃǂ� + * t チェック対象 + * fmt ... vprintfに渡される + * 備考や関係変数の書き出しなどに *-------------------------------------- */ @@ -84,9 +84,9 @@ #define nullpo_retr(ret, t) \ if (nullpo_chk(NLP_MARK, (void *)(t))) {return(ret);} -// �ψ����}�N���Ɋւ�������R���p�C�� +// 可変引数マクロに関する条件コンパイル #if __STDC_VERSION__ >= 199901L -/* C99�ɑΉ� */ +/* C99に対応 */ #define nullpo_ret_f(t, fmt, ...) \ if (nullpo_chk_f(NLP_MARK, (void *)(t), (fmt), __VA_ARGS__)) {return(0);} @@ -97,7 +97,7 @@ if (nullpo_chk_f(NLP_MARK, (void *)(t), (fmt), __VA_ARGS__)) {return(ret);} #elif __GNUC__ >= 2 -/* GCC�p */ +/* GCC用 */ #define nullpo_ret_f(t, fmt, args...) \ if (nullpo_chk_f(NLP_MARK, (void *)(t), (fmt), ## args)) {return(0);} @@ -109,7 +109,7 @@ #else -/* ���̑��̏ꍇ�E�E�E orz */ +/* その他の場合・・・ orz */ #endif @@ -117,28 +117,28 @@ /* No Nullpo check */ // if((t)){;} -// �ǂ����@���v�����Ȃ������̂ŁE�E�E����̍�ł��B -// �ꉞ���[�j���O�͏o�Ȃ��͂� +// 良い方法が思いつかなかったので・・・苦肉の策です。 +// 一応ワーニングは出ないはず #define nullpo_ret(t) if((t)){;} #define nullpo_retv(t) if((t)){;} #define nullpo_retr(ret, t) if((t)){;} -// �ψ����}�N���Ɋւ�������R���p�C�� +// 可変引数マクロに関する条件コンパイル #if __STDC_VERSION__ >= 199901L -/* C99�ɑΉ� */ +/* C99に対応 */ #define nullpo_ret_f(t, fmt, ...) if((t)){;} #define nullpo_retv_f(t, fmt, ...) if((t)){;} #define nullpo_retr_f(ret, t, fmt, ...) if((t)){;} #elif __GNUC__ >= 2 -/* GCC�p */ +/* GCC用 */ #define nullpo_ret_f(t, fmt, args...) if((t)){;} #define nullpo_retv_f(t, fmt, args...) if((t)){;} #define nullpo_retr_f(ret, t, fmt, args...) if((t)){;} #else -/* ���̑��̏ꍇ�E�E�E orz */ +/* その他の場合・・・ orz */ #endif #endif /* NULLPO_CHECK */ @@ -149,14 +149,14 @@ */ /*====================================== * nullpo_chk - * Null�`�F�b�N �y�� ���o�� - * [����] + * Nullチェック 及び 情報出力 + * [引数] * file __FILE__ * line __LINE__ - * func __func__ (����) - * �����ɂ� NLP_MARK ���g���Ƃ悢 - * target �`�F�b�N�Ώ� - * [�Ԃ�l] + * func __func__ (関数名) + * これらには NLP_MARK を使うとよい + * target チェック対象 + * [返り値] * 0 OK * 1 NULL *-------------------------------------- @@ -166,16 +166,16 @@ int nullpo_chk (const char *file, int line, const char *func, /*====================================== * nullpo_chk_f - * Null�`�F�b�N �y�� �ڍׂȏ��o�� - * [����] + * Nullチェック 及び 詳細な情報出力 + * [引数] * file __FILE__ * line __LINE__ - * func __func__ (����) - * �����ɂ� NLP_MARK ���g���Ƃ悢 - * target �`�F�b�N�Ώ� - * fmt ... vprintf�ɓn����� - * ���l��W�ϐ��̏����o���Ȃǂ� - * [�Ԃ�l] + * func __func__ (関数名) + * これらには NLP_MARK を使うとよい + * target チェック対象 + * fmt ... vprintfに渡される + * 備考や関係変数の書き出しなどに + * [返り値] * 0 OK * 1 NULL *-------------------------------------- @@ -186,26 +186,26 @@ int nullpo_chk_f (const char *file, int line, const char *func, /*====================================== * nullpo_info - * nullpo���o�� - * [����] + * nullpo情報出力 + * [引数] * file __FILE__ * line __LINE__ - * func __func__ (����) - * �����ɂ� NLP_MARK ���g���Ƃ悢 + * func __func__ (関数名) + * これらには NLP_MARK を使うとよい *-------------------------------------- */ void nullpo_info (const char *file, int line, const char *func); /*====================================== * nullpo_info_f - * nullpo�ڍ��o�� - * [����] + * nullpo詳細情報出力 + * [引数] * file __FILE__ * line __LINE__ - * func __func__ (����) - * �����ɂ� NLP_MARK ���g���Ƃ悢 - * fmt ... vprintf�ɓn����� - * ���l��W�ϐ��̏����o���Ȃǂ� + * func __func__ (関数名) + * これらには NLP_MARK を使うとよい + * fmt ... vprintfに渡される + * 備考や関係変数の書き出しなどに *-------------------------------------- */ void nullpo_info_f (const char *file, int line, const char *func, diff --git a/src/common/timer.c b/src/common/timer.c index d9552fe..fca6f42 100644 --- a/src/common/timer.c +++ b/src/common/timer.c @@ -253,7 +253,7 @@ int delete_timer (int id, int (*func) (int, unsigned int, int, int)) search_timer_func_list (func)); return -2; } - // ���̂���������ɂ܂����� + // そのうち消えるにまかせる timer_data[id].func = NULL; timer_data[id].type = TIMER_ONCE_AUTODEL; timer_data[id].tick -= 60 * 60 * 1000; @@ -298,10 +298,10 @@ int do_timer (unsigned int tick) { if (DIFF_TICK (timer_data[i].tick, tick) < -1000) { - // 1�b�ȏ�̑啝�Ȓx�����������Ă���̂ŁA - // timer�����^�C�~���O�����ݒl�Ƃ��鎖�� - // �Ăяo�����^�C�~���O(������tick)���ŏ������Ă� - // timer���̎����^�C�~���O��x�点�� + // 1秒以上の大幅な遅延が発生しているので、 + // timer処理タイミングを現在値とする事で + // 呼び出し時タイミング(引数のtick)相対で処理してる + // timer関数の次回処理タイミングを遅らせる timer_data[i].func (i, tick, timer_data[i].id, timer_data[i].data); } diff --git a/src/common/version.h b/src/common/version.h index 60c9fca..cd9808e 100644 --- a/src/common/version.h +++ b/src/common/version.h @@ -14,14 +14,14 @@ #define ATHENA_SERVER_INTER 4 // inter server #define ATHENA_SERVER_MAP 8 // map server -// ATHENA_MOD_VERSION�̓p�b�`�ԍ��ł��B -// ����͖����ɕς��Ȃ��Ă��C����������ς�����x�̈����ŁB -// �i����A�b�v���[�h�̓x�ɕύX����̂��ʓ|�Ǝv���邵�A�������� -// �@���̍��ڂ��Q�Ƃ���l�����邩�ǂ����ŋ^�₾����B�j -// ���̒��x�̈����Ȃ̂ŁA�T�[�o�[�ɖ₢���킹�鑤���A�����܂Ŗڈ����x�̈����� -// ����܂�M�p���Ȃ����ƁB -// �Isnapshot�̎���A�傫�ȕύX���������ꍇ�͐ݒ肵�Ăق����ł��B -// C����̎d�l��A�ŏ���0��t�����8�i���ɂȂ�̂ŊԈႦ�Ȃ��ʼn������B +// ATHENA_MOD_VERSIONはパッチ番号です。 +// これは無理に変えなくても気が向いたら変える程度の扱いで。 +// (毎回アップロードの度に変更するのも面倒と思われるし、そもそも +// この項目を参照する人がいるかどうかで疑問だから。) +// その程度の扱いなので、サーバーに問い合わせる側も、あくまで目安程度の扱いで +// あんまり信用しないこと。 +// 鯖snapshotの時や、大きな変更があった場合は設定してほしいです。 +// C言語の仕様上、最初に0を付けると8進数になるので間違えないで下さい。 #define ATHENA_MOD_VERSION 1052 // mod version (patch No.) #endif |