这个例子是一个撞球系统,碰撞部分也值得学习,不过最重要的还是其配置部分,配置文件为config.txt,其中包括:

Requirements:所需配置

propertyset:预定义的设置,通过名字引用,例子文件中没有

AudioVendor:音频设置

DisplayVendor:视频设置,也是这个例子中最主要的部分,根据不同的显卡制造商(VendorId),不同的设备号(DeviceId),然后根据驱动版本号、操作系统版本等信息做一些设置。

上面提到的设置通过调用游戏中的相应接口设置,保存在CONFIGTABLE ConfigTable中

比如

例1

3DFX
DisplayVendor = 0x121a  "3dfx"
0x8626 = "Rush (Macronix)"
    UnsupportedCard
    break

其含义为

3DFX制作的显卡,如果设备号为0x8626,则不支持当前游戏

例2

DisplayVendor = 0x8086  "Intel"
Unknown = "Unknown"
    UMA

这个是我电脑上所用显卡,intel集成显卡,根据系统内存计算显存。

这个例子在超过4G内存电脑上的问题:

例子在我的电脑上跑有如下提示:

This system does not meet the following minimum requirements:

Minimum memory of 128 megabytes

Minimum video memory of 64 megabytes

其原因是我电脑为win7(64位),内存为8G,内存计算有问题,如下修改即可

INT64 SysMemory;//DWORD SysMemory;

INT64 tmpMemSize = (INT64)ms.dwTotalPhys+(16*1024*1024-1);
SysMemory = ((tmpMemSize & ~(16*1024*1024-1) ) >> 20);

//SysMemory = (((ms.dwTotalPhys+(16*1024*1024-1)) & ~(16*1024*1024-1) ) >> 20);

DirectX Sample-ConfigSystem中采用配置文件进行游戏设置的更多相关文章

  1. 转:Maven项目编译后classes文件中没有dao的xml文件以及没有resources中的配置文件的问题解决

    问题1:在做spring+mybatis时,自动扫描都配置正确了,却在运行时出现了如下错误.后来查看target/classes/.../dao/文件夹下,发现只有mapper的class文件,而没有 ...

  2. 在Tomcat中采用基于表单的安全验证

    .概述   (1)基于表单的验证 基于From的安全认证可以通过TomcatServer对Form表单中所提供的数据进行验证,基于表单的验证使系统开发者可以自定义用户的登陆页面和报错页面.这种验证方法 ...

  3. (转)思考:矩阵及变换,以及矩阵在DirectX和OpenGL中的运用问题:左乘/右乘,行优先/列优先,...

    转自:http://www.cnblogs.com/soroman/archive/2008/03/21/1115571.html 思考:矩阵及变换,以及矩阵在DirectX和OpenGL中的运用1. ...

  4. ASP.NET中的配置文件

    ASP.NET中的配置文件 原创 2014年10月13日 08:15:27 1199   在机房收费系统的时候曾经应用过配置文件,当时也就那么一用对配置文件了解的不是很透彻,下面就来总结一下有关配置文 ...

  5. 基于SqlSugar的开发框架循序渐进介绍(7)-- 在文件上传模块中采用选项模式【Options】处理常规上传和FTP文件上传

    在基于SqlSugar的开发框架的服务层中处理文件上传的时候,我们一般有两种处理方式,一种是常规的把文件存储在本地文件系统中,一种是通过FTP方式存储到指定的FTP服务器上.这种处理应该由程序进行配置 ...

  6. C#开发中使用配置文件对象简化配置的本地保存

    C#开发中使用配置文件对象简化配置的本地保存 0x00 起因 程序的核心是数据和逻辑,开发过程中免不了要对操作的数据进行设置,而有些数据在程序执行过程中被用户或程序做出的修改是应该保存下来的,这样程序 ...

  7. C#开发微信门户及应用(14)-在微信菜单中采用重定向获取用户数据

    我曾经在系列文章中的<C#开发微信门户及应用(11)--微信菜单的多种表现方式介绍>中介绍了微信菜单里面的重定向操作,通过这个重定向操作,我们可以获取一个code值,然后获取用户的open ...

  8. Sqoop2中传入配置文件中url之【坑】

    [特别注意]Sqoop2里面各个版本的区别还是很大的,这里使用1.99.6版本. sqoop2的url等信息放到properties配置文件中,配置文件解析出来传给SqoopClient报错. Sqo ...

  9. python中读取配置文件ConfigParser

    在程序中使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是ConfigParser,这里简单的做一些介 ...

随机推荐

  1. 日本IT工作有感

    不知不觉,在日本关西已经呆了快一个月了. 除了饮食有点不是非常习惯.其他感觉都还好. 日本这边的文化还是非常偏向project师的,project师的社会地位非常高,公司里面也没有国内所谓35岁的焦虑 ...

  2. vcredist_x86.exe 静默安装方法

    我们打包基于VC++开发的应用程序,我们会一同打包一个VC运行库,否则安装到一些非开发环境中,你的应用程序依然可以正确运行. Visual C++ 2008 Redistributable Packa ...

  3. jquery 动态添加和删除 ul li列表

    今天需要实现一个jquery动态添加和删除  ul li列表中的li行,自己简单的实现乐一个,分享一下 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML ...

  4. Linux下经常使用的shell命令记录

    硬件篇 CPU相关 lscpu #查看的是cpu的统计信息. cat /proc/cpuinfo #查看CPU信息具体信息,如每一个CPU的型号,主频等 内存相关 free -m #概要查看内存情况 ...

  5. 函数alv下的颜色设置

    ABAP中的颜色代码是由4位字都组成的 cxyz    c:color的简写,颜色代码均以C开头 x:标准色代码,SAP中一共有7个标准色    y:反转颜色启用/关闭 1/0 z:增强颜色启用/关闭 ...

  6. MFC 用gdi绘制填充多边形区域

    MFC 用gdi绘制填充多边形区域 这里的代码是实现一个三角形的绘制,并用刷子填充颜色 在OnPaint()函数里面 运用的是给定的三角形的三个点,很多个点可以绘制多边形 CBrush br(RGB( ...

  7. [Android学习笔记]枚举与int的转换

    package com.example.enumdemo; import android.app.Activity; import android.os.Bundle; import android. ...

  8. hdu1427之速算24点

    速算24点 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  9. Label的各个属性

  10. WM_PAINT产生原因有2种(用户操作和API)——WM_PAINT和WM_ERASEBKGND产生时的先后顺序不一定(四段讨论)

    1. 当WM_PAINT不是由InvalidateRect产生时,即由最大化,最小化等产生时,或者移动产生(移动有时只会产生WM_ERASEBKGND消息)系统先发送WM_ERASEBKGND消息,再 ...