Get config

来自MudWiki

名称

   get_config() - 查询驱动程序的各种配置设置

语法

   string | int get_config( int );

描述

   这个外部函数用来查询游戏程序程序的运行时配置文件的各种设置。关于配置可识别的选项可以参考游戏驱动的 `runtime_config.h` 文件。

   此文件中具体定义的内容如下:

   #ifndef _RUNTIME_CONFIG_H
   #define _RUNTIME_CONFIG_H

   #define BASE_CONFIG_STR 0
   #define CFG_STR(x) ((x) + BASE_CONFIG_STR)
   /*
    * These config settings return a string
    */

   #define __MUD_NAME__ CFG_STR(0)
   #define __RC_STR_1__ CFG_STR(1)
   #define __MUD_LIB_DIR__ CFG_STR(2)
   #define __BIN_DIR__ CFG_STR(3)
   #define __LOG_DIR__ CFG_STR(4)
   #define __INCLUDE_DIRS__ CFG_STR(5)
   #define __RC_STR_2__ CFG_STR(6)
   #define __MASTER_FILE__ CFG_STR(7)
   #define __SIMUL_EFUN_FILE__ CFG_STR(8)
   #define __SWAP_FILE__ CFG_STR(9)
   #define __DEBUG_LOG_FILE__ CFG_STR(10)
   #define __DEFAULT_ERROR_MESSAGE__ CFG_STR(11)
   #define __DEFAULT_FAIL_MESSAGE__ CFG_STR(12)
   #define __GLOBAL_INCLUDE_FILE__ CFG_STR(13)
   #define __MUD_IP__ CFG_STR(14)

   /*
    * These config settings return an int (ie number)
    */
   #define BASE_CONFIG_INT (BASE_CONFIG_STR + 15)
   #define CFG_INT(x) ((x) + BASE_CONFIG_INT)

   #define __MUD_PORT__ CFG_INT(0)
   #define __RC_INT_1__ CFG_INT(1)
   #define __TIME_TO_CLEAN_UP__ CFG_INT(2)
   #define __TIME_TO_RESET__ CFG_INT(3)
   #define __TIME_TO_SWAP__ CFG_INT(4)
   #define __COMPILER_STACK_SIZE__ CFG_INT(5)
   #define __EVALUATOR_STACK_SIZE__ CFG_INT(6)
   #define __INHERIT_CHAIN_SIZE__ CFG_INT(7)
   #define __MAX_EVAL_COST__ CFG_INT(8)
   #define __MAX_LOCAL_VARIABLES__ CFG_INT(9)
   #define __MAX_CALL_DEPTH__ CFG_INT(10)
   #define __MAX_ARRAY_SIZE__ CFG_INT(11)
   #define __MAX_BUFFER_SIZE__ CFG_INT(12)
   #define __MAX_MAPPING_SIZE__ CFG_INT(13)
   #define __MAX_STRING_LENGTH__ CFG_INT(14)
   #define __MAX_BITFIELD_BITS__ CFG_INT(15)
   #define __MAX_BYTE_TRANSFER__ CFG_INT(16)
   #define __MAX_READ_FILE_SIZE__ CFG_INT(17)
   #define __RC_INT_18__ CFG_INT(18)
   #define __SHARED_STRING_HASH_TABLE_SIZE__ CFG_INT(19)
   #define __OBJECT_HASH_TABLE_SIZE__ CFG_INT(20)
   #define __LIVING_HASH_TABLE_SIZE__ CFG_INT(21)
   #define __RC_INT_22__ CFG_INT(22)
   #define __RC_INT_23__ CFG_INT(23)
   #define __RC_GAMETICK_MSEC__ CFG_INT(24)
   #define __RC_HEARTBEAT_INTERVAL_MSEC__ CFG_INT(25)
   #define __RC_SANE_EXPLODE_STRING__ CFG_INT(26)
   #define __RC_REVERSIBLE_EXPLODE_STRING__ CFG_INT(27)
   #define __RC_SANE_SORTING__ CFG_INT(28)
   #define __RC_WARN_TAB__ CFG_INT(29)
   #define __RC_WOMBLES__ CFG_INT(30)
   #define __RC_CALL_OTHER_TYPE_CHECK__ CFG_INT(31)
   #define __RC_CALL_OTHER_WARN__ CFG_INT(32)
   #define __RC_MUDLIB_ERROR_HANDLER__ CFG_INT(33)
   #define __RC_NO_RESETS__ CFG_INT(34)
   #define __RC_LAZY_RESETS__ CFG_INT(35)
   #define __RC_RANDOMIZED_RESETS__ CFG_INT(36)
   #define __RC_NO_ANSI__ CFG_INT(37)
   #define __RC_STRIP_BEFORE_PROCESS_INPUT__ CFG_INT(38)
   #define __RC_THIS_PLAYER_IN_CALL_OUT__ CFG_INT(39)
   #define __RC_TRACE__ CFG_INT(40)
   #define __RC_TRACE_CODE__ CFG_INT(41)
   #define __RC_INTERACTIVE_CATCH_TELL__ CFG_INT(42)
   #define __RC_RECEIVE_SNOOP__ CFG_INT(43)
   #define __RC_SNOOP_SHADOWED__ CFG_INT(44)
   #define __RC_REVERSE_DEFER__ CFG_INT(45)
   #define __RC_HAS_CONSOLE__ CFG_INT(46)
   #define __RC_NONINTERACTIVE_STDERR_WRITE__ CFG_INT(47)
   #define __RC_TRAP_CRASHES__ CFG_INT(48)
   #define __RC_OLD_TYPE_BEHAVIOR__ CFG_INT(49)
   #define __RC_OLD_RANGE_BEHAVIOR__ CFG_INT(50)
   #define __RC_WARN_OLD_RANGE_BEHAVIOR__ CFG_INT(51)
   #define __RC_SUPPRESS_ARGUMENT_WARNINGS__ CFG_INT(52)
   #define __RC_ENABLE_COMMANDS_CALL_INIT__ CFG_INT(53)
   #define __RC_SPRINTF_ADD_JUSTFIED_IGNORE_ANSI_COLORS__ CFG_INT(54)
   #define __RC_APPLY_CACHE_BITS__ CFG_INT(55)
   #define __RC_CALL_OUT_ZERO_NEST_LEVEL__ CFG_INT(56)

   #define RUNTIME_CONFIG_NEXT CFG_INT(100)
   #endif /* _RUNTIME_CONFIG_H */

翻译

   雪风(i@mud.ren)