Hello there,
Some of your might know that I’ve been putting some work in FluffOS v2019 lately, adding some long craven features to it (full UTF8 support, yay), and also, I want to make it easier to development and experiment with.
Hello there,
Some of your might know that I’ve been putting some work in FluffOS v2019 lately, adding some long craven features to it (full UTF8 support, yay), and also, I want to make it easier to development and experiment with.
1.先装好交叉编译的环境,例如mips,安装好mipsel-linux-gnu-g++的工具链
转:(我也不知道哪年从internat上 copy save下来的)
因为reallove的帖子,我算是第一次较为仔细的看了一遍call_out()在driver中的机理,也明确了不少以前似是而非的概念。现整理如下:
1. 关于call_out()的driver级宏开关有两个(均在options.h当中):
a. THIS_PLAYER_IN_CALL_OUT
原作者:未知
有关系统更新一直是玩家乃至于新巫师们关心的问题。比如,为何每隔15分钟大多数房间里杀死的NPC会重生?跑到别处或被玩家背到别处的NPC怎么会跑回去?为什么有的NPC跑不回去?什么有的东西会重生?为什么又有的东西只要别的玩家放在身上?等等。
目前主流MUDLIB都是ES系列的。从ES系列沿袭下来的更新都是通过ROOM的更新实现的。而ROOM的更新则是由MUDOS里的设置每隔一定时间(一般是15分钟)调用一次所有的有reset()函数的房间。而这个reset()函数则写在ROOM的标准继承文件里面。下面我们则来看看ROOM是如何实现房间里的生物、物品的重生或更新:
在写这篇文章之前,正好在网上看到darks兄写的《ROOM的结构》,于是我这篇文章的不少地方也就写得很顺畅了,有些直接引用了《ROOM》一文的一些内容。为了尊重原作者,凡是引用或出自darks兄的原文内容我都用“”与绿色标出:
ROOM的标准文件由于MUDLIB的不同,放在目录路径也不同,但大多情况下也就是/inherit/room/下或者与/obj/room/下两种可能而已。反正不检查一下在/include/下的globals.h,看这个文件里ROOM是定义在哪里就可以了,下面来看一看room.c的程序详解:
Hash table在MudOS中的实现来源网络,如有侵权请告知,即处理!
本文介绍了 MudOS中使用的散 列函数,并对包装了散列函数的散 列表寻址操作做了一个简单的分析,最后模拟MudOS中object hash table实现了一个简 化的散列表。
在MudOS中,散列 表的应用非常广泛,可以说凡是用到查找的地方都用到了散列(hash table),散列的好处在于它的 效率,理想状态下,搜索、插入、删除操作的时间均为O(1),在应用中,虽然达不到这样的理想状态,但相 比于其它数据结构来说,hash table的优势还是很明显的。在非理想状态下,不可避免的会遇到碰撞 问题(collision),MudOS源码中处理碰撞 所采用的方法是使用链表散列。
/*
* local_options.h: compile-time configuration of the driver
*/
/****************************************************************************
* EVERY time you change ANYTHING in this file, RECOMPILE from scratch. *
* (type "make clean" then "make" on a UNIX system) Failure to do so may *
* cause the driver to behave oddly. *
****************************************************************************/
作者:夕阳-风之传说 luoyun
特别感谢sunyc和lonely的热心指导!
FluffOS v3.0在win7虚拟机centos5.5 64位中编译时,需要用到的软件有gcc 4.8和libevent-2.0.21,以下是编译过程:
1. 下载fluffos源代码,网址:https://github.com/fluffos/fluffos/releases
2. 下载VMware中文版,作者下的版本是9.0.2;再将虚拟机需要的安装程序iso文件下载好,作者使用的是centos 5.5 64位
/*
* options.h: defines for the compile-time configuration of the MudOS driver
*/
#ifndef _OPTIONS_H_
#define _OPTIONS_H_
/*
* YOU SHOULD NOT MODIFY THIS FILE DIRECTLY.
*
* Do 'cp options.h local_options' and edit that instead.
*
*/
/* options.h配置详细选项
—————————————————————————-
将 MudOS 下载解压以后可以在相应目录的根目录中找到 options.h 这个文件。如果修
改了这个文件,那么每次都需要重新编译 MudOS 才能生效。重新编译之前,请执行 ma
ke clean 一下。
下面的 options.h 来自 MudOSv22.2b10,MudOS作者推荐在修改options.h 之前,先将
它备份成 local_options。新的特性将会自动对比local_options并且在编译的时候告知
。文中的选项定义并非最原始的定义。此文只是为了说明各个选项的大致含义。
options.h: defines for the compile-time configuration of the MudOS driver
*/