两个意思:
sga是一组包含一个Oracle实例的数据和控制信息的共享内存结构。主要是用于存储数据库信息的内存区,该信息为数据库进程所共享(PGA不能共享的)。
SGA系统全局区的英文简称,SGA (System Global Area)是Oracle Instance的 基本组成部分,在实例启动时分配。是一组包含一个Oracle实例的数据和控制信息的共享内存结构。
享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据一次从输入文件到共享内存区,另一次从共享内存区到输出文件。
扩展资料:
1、SGA的构成——数据和控制信息,我们下面会详细介绍。
2、SGA是共享的,即当有多个用户同时登录了这个实例,SGA中的信息可以被它们同时访问(当涉及到互斥的问题时,由latch和sequence控制)。
第一步:所需工具
sgareader:由于文件比较大,请来这里下载CaiMM帖子中的附件http://game.ali213.net/thread-2593996-1-1.html
Archive.exe:用于将rbf文件打包成sga4(这个不能在dow2中直接使用)
sga4to5.exe:将sga4文件转换成sg5(可以在dow2中使用的sga)
以上2个见附件。
第二步:建立文件结构
以DoW2\GameAssets\Archives\gameattrib.sga文件为例
我们用sgareader打开DoW2\GameAssets\Archives\gameattrib.sga可以看到这个sga文件的文件结构,图片还是请看CaiMM的帖子http://game.ali213.net/thread-2593996-1-1.html
最外层的:Attrib这个是压缩包的名称,在用Archive.exe打包的时候,由alias的信息指定。(详细见第三步:如何使用Archive.exe)
接下来,从simulation开始,这些全部是文件夹路径。如何使用将在下文细说
第三步:如何使用Archive.exe
使用Archive需要建立一个外部文件,用于指定这个sga包中的内容。
首先我们建立这么一个文件Packaging-List.txt(文件名任意,类型txt)
输入以下内容:(蓝字内容为txt文件中的文本)
Archivename="wargearbetter"
TOCStartname="Data"alias="Attrib"relativeroot=""
FileSettingsStartdefcompression="1"
FileSettingsEnd
D:\model\simulation\attrib\sbps\campaign\playable\race_marine\troops\sm_assault_marine_thaddeus.rbf
D:\model\simulation\attrib\sbps\campaign\playable\race_marine\troops\sm_assault_terminator_thaddeus.rbf
D:\model\simulation\attrib\sbps\campaign\playable\race_marine\troops\sm_devastator_marine_lucanus.rbf
D:\model\simulation\attrib\sbps\campaign\playable\race_marine\troops\sm_force_commander.rbf
D:\model\simulation\attrib\sbps\campaign\playable\race_marine\troops\sm_scout_marine_cyrus.rbf
D:\model\simulation\attrib\sbps\campaign\playable\race_marine\troops\sm_tactical_marine_tarkus.rbf
D:\model\simulation\attrib\sbps\campaign\playable\race_marine\troops\sm_terminator_force_commander.rbf
D:\model\simulation\attrib\sbps\campaign\playable\race_marine\troops\sm_terminator_lucanus.rbf
D:\model\simulation\attrib\sbps\campaign\playable\race_marine\troops\sm_terminator_tarkus.rbf
D:\model\simulation\attrib\sbps\campaign\playable\race_marine\troops\sm_terminator_tarkus_only.rbf
D:\model\simulation\attrib\sbps\campaign\playable\race_marine\vehicles\sm_dreadnought_davian.rbf
D:\model\simulation\attrib\tuning\tuning_info.rbf
TOCEnd
上面这个txt的内容就是我在这个帖子http://game.ali213.net/thread-2604563-1-1.html中附件1bubatter.sga所使用的。
以下解释其中的内容:
Archivename:这个应该是你给自己压缩包的名字(其实随便取的。。。。)
TOCStartname:这个应该是sga包的内容(建议使用"Data",我使用这个没有发生过错误,其他类型未知)
alias:这个是你打包成的sga包中标题名称,请对应你修改文件所属来命名(譬如我修改的几个文件属于DoW2\GameAssets\Archives\gameattrib.sga,用sgareader打开sga文件,看到最上面的表标题是"Attrib",那么我们在这里也要使用alias="Attrib",譬如我们改的第一关奖励大量物品的mod,他是属于另外一个sga文件,其类型是data,那么就要把类型改成alias="DATA"。
relativeroot:这个请保持"",不需要修改。
Archive.exe的使用:
参考命令行:
archive.exe-cPackaging-List.txt-r"d:\model"-atest.sga
Packaging-List.txt:是我需要使用的list文件,就是上面说明的那个。
"d:\model":这个是我们打包文件所在的路径。
test.sga:这个是生成的sga文件名
使用命令行工具:请在windows的开始->运行->输入cmd打开命令行输入窗口,然后将路径切换到Archive.exe所在文件夹中,譬如我是放到d:\model中,那么我需要将路径切换到其中,然后使用上述命令行。执行后在d:\model中会生成test.sga文件,这个就是sga4文件了,下面我们将其转换成sga5文件。
"d:\model"这个位置的参数的意义:
我的文件结构d:\model\simulation\...
由于mod的工作机制是将mod中的文件替换原来的未知的文件,所以必须将生成的sga中的文件路径准确的对应原gameattrib.sga中文件的路径。
archive.exe打包出来的路径格式如下:
Attrib
|-simulation
|-simulation中的文件夹
|-simulation中的文件夹...
————————————————
Attrib:是在Packaging-List.txt文件中alias参数指定。
simulation文件夹:这个其实是D:\model\simulation\attrib\sbps\campaign\playable\race_marine\troops这串路径去掉"d:\model"后的内容。
如果我将archive.exe-cPackaging-List.txt-r"d:\model"-atest.sga改成archive.exe-cPackaging-List.txt-r"d:\model\simulation"-atest.sga
那么生成的路径格式就会变成:
Attrib
|-attrib
|-attrib中的文件夹...
|-attrib中的文件夹...
这个请尝试几次就知道了,打包好后用sgareader看一下。
第四步:将sga4转换成sga5
我还是将sga4to5.exe放在了d:\model文件夹中,示例命令行如下
sga4to5.exe-i"d:\model\test.sga"-o"d:\model\upbetter.sga"-v-name"Attributes"
"d:\model\test.sga":参数是转换输入的sga文件名
"d:\model\upbetter.sga":是转换输出的sga文件名
其余参数应该不要改动。
第五步:在DOW2中使用做好的sgamod
在DOW2安装目录中找到DOW2.module文件,用文本编辑器打开(每个版本中的DOW2.module内容并不一样)
譬如我修改的mod中的内容是替换GameAttrib.sga的,那么找到GameAttrib.sga,如下:
[attrib:common]
folder.01=GameAssets\Data
archive.02=GameAssets\Archives\GameAttrib.sga
将其改成:
[attrib:common]
folder.01=GameAssets\Data
archive.01=GameAssets\Archives\maymod.sga
archive.02=GameAssets\Archives\GameAttrib.sga
补充:
我将http://game.ali213.net/thread-2603902-1-1.html
这位兄弟修改的文件打包成sga。
第一步:将相关文件释放到d:\model文件夹(目录结构见附件1)
附件1.jpg,2.jpg
第二步:编辑Packaging-List.txt文件。(附件mod示例.rar中有Packaging-List.txt)
mod示例.rar:这个压缩包是我根据这个简易教程做的一个工作目录。可以下载用于参考,或者直接使用,将相关文件添加到我的目录中的指定未知,然后修改Packaging-List.txt就好。
将修改的文件文件添加如其中,绿色为所有的rbf文件
Archivename="wargearbetter"
TOCStartname="Data"alias="Attrib"relativeroot=""
FileSettingsStartdefcompression="1"
FileSettingsEnd
D:\model\simulation\attrib\sbps\campaign\playable\race_marine\troops\sm_assault_marine_thaddeus.rbf
D:\model\simulation\attrib\sbps\campaign\playable\race_marine\troops\sm_assault_terminator_thaddeus.rbf
D:\model\simulation\attrib\sbps\campaign\playable\race_marine\troops\sm_devastator_marine_lucanus.rbf
D:\model\simulation\attrib\sbps\campaign\playable\race_marine\troops\sm_force_commander.rbf
D:\model\simulation\attrib\sbps\campaign\playable\race_marine\troops\sm_scout_marine_cyrus.rbf
D:\model\simulation\attrib\sbps\campaign\playable\race_marine\troops\sm_tactical_marine_tarkus.rbf
D:\model\simulation\attrib\sbps\campaign\playable\race_marine\troops\sm_terminator_force_commander.rbf
D:\model\simulation\attrib\sbps\campaign\playable\race_marine\troops\sm_terminator_lucanus.rbf
D:\model\simulation\attrib\sbps\campaign\playable\race_marine\troops\sm_terminator_tarkus.rbf
D:\model\simulation\attrib\sbps\campaign\playable\race_marine\troops\sm_terminator_tarkus_only.rbf
D:\model\simulation\attrib\sbps\campaign\playable\race_marine\vehicles\sm_dreadnought_davian.rbf
D:\model\simulation\attrib\tuning\tuning_info.rbf
D:\model\simulation\attrib\wargear\wargear\campaign\playable\race_marine\sm_arm_terminator_armour_armor_of_azariah.rbf
D:\model\simulation\attrib\wargear\wargear\campaign\playable\race_marine\sm_acc_purity_seal_invocation_of_the_primarchs.rbf
D:\model\simulation\attrib\wargear\wargear\campaign\playable\race_marine\sm_arm_power_armour_mail_of_the_immortals.rbf
D:\model\simulation\attrib\weapons\weapon\campaign\playable\race_marine\sm_assault_cannon_the_benediction_of_fury.rbf
D:\model\simulation\attrib\weapons\weapon\campaign\playable\race_marine\sm_dreadnought_assault_cannon_the_chorus_of_the_righteous_dead.rbf
D:\model\simulation\attrib\weapons\weapon\campaign\playable\race_marine\sm_thunder_hammer_and_storm_shield_holy_arms_of_the_champion.rbf
D:\model\simulation\attrib\weapons\weapon\campaign\playable\race_marine\sm_twohanded_hammer_dorns_retribution_not_demo.rbf
TOCEnd
第三步:将文件打包成sga
archive.exe-cPackaging-List.txt-r"d:\model"-atest.sga
见附件3.jpg
第四步:将sga4文件转换成sga5
sga4to5.exe-i"d:\model\test.sga"-o"d:\model\upbetter.sga"-v-name"Attributes"
附件4。jpg
第五步:将sga文件加入到dow2中
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)