问题标签 [quake2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - C/GCC 警告 - 一次编写并到处测试?
我正在用 ANSI C 编写一个命令行程序来解析 Quake 2 地图文件,以报告正在使用多少实体和纹理。我的开发机器是 MacBook。我正在 OS X Snow Leopard(32 位)、Windows XP(32 位)和 Vista(64 位)以及 Ubuntu 9.10(32 位)上进行测试。
该代码在 OS X 和 GCC 4.2 上完美无缺。其他平台,也不是那么完美。
Visual Studio 2005 抱怨 main() 块中间有一个数组声明——数组的大小信息直到那时才可用——应该在顶部声明。通过在顶部声明一个指针并编写一个函数来创建数组来解决这个问题。
Windows 上的 Dev-C++ 和 GCC (3.4) 没有任何抱怨。
Windows 上的 Cygwin 和 GCC (4.4) 抱怨数组下标具有 char 类型。我添加了 (int) 强制转换来解决这个问题。
Ubuntu 和 GCC (4.4) 抱怨忽略 fread 的返回值。尽管我在其他地方读到过,我可能是 Ubuntu 打包 GCC 方式中的一个错误。在我使用 fread in 的上下文中,这似乎是可以安全忽略的。该警告仅与 -O3 标志一起出现。
除了 Visual Studio 2005,我测试的所有编译器都是 GCC 的某个版本。追查所有这些错误和警告是一件非常痛苦的事情。到目前为止,我一直在 Makefile 中使用以下标志:
调试:-pedantic -Wall
释放:-O3
我应该使用一组 GCC 标志来捕获我的主要开发机器上的所有错误吗?还是一次编写,到处测试是生活中的事实?
c - 如何在程序崩溃之前检测文本文件是否损坏?
我正在用 ANSI C 编写一个命令行程序来解析 Quake 2 地图文件,以报告正在使用多少实体和纹理。我的开发机器是 MacBook。我正在 OS X Snow Leopard(32 位)、Windows XP(32 位)和 Vista(64 位)以及 Ubuntu 9.10(32 位)上进行测试。
我在 Vista 上遇到了一个崩溃的错误,程序会与某个地图文件一起挂起。花了一段时间才发现不是程序而是地图文件本身。我没有注意到文本文件有任何异常。重新打开并保存地图文件修复了该问题。
我的代码将整个地图文件加载到内存中,使用 strtok() 使用 '\n' 分隔行,解析每一行,并将数据加载到单链接列表中进行处理。有没有办法检测地图(文本)文件是否损坏?
最简单的非编程解决方案是添加包含问题和解决方案的常见问题解答文件。
3d - 用于研究应用的最流行的开源、免费、有据可查的游戏引擎
我的公司正准备提出一种中风和脑损伤康复工具,我们需要知道有哪些免费、开源和有据可查的游戏引擎。
- 我们将构建一个 3D 环境。
- 我们需要很好地控制角色的精细动作(例如手指动作)。
- 如果可能的话,我们需要一个好的物理引擎,包括碰撞检测和反向运动学。
- 如果代码中已经有一些钩子用于提供触觉反馈,那将非常有用,但这不是必需的。
- 图形不需要是惊人的。
- 将概念证明放在一起一定相对容易。
我倾向于 Jake2,因为 Java 非常容易编程,但我需要更多有经验的人来考虑。
c - Quake2中qglTexImage2D的第三个internalFormat
从 Quake2 源,gl_rsufr.c 中的函数 GL_BeginBuildingLightmaps,我看到了这些代码:
qglTexImage2D
与 glTexImage2D 相同。
问题出在调试中,我看到 is 的第三个参数(internalFormat)的输入值为qglTexImage2D
3。3gl_tex_solid_format
是参数 internalFormat 的有效值吗?
quarkus - 无法使用 quarkus 加载 html5 mp3 音频
我正在研究 gwt quake2 的 j2cl 端口,此时与 wildfly 一起工作一切正常(工作仍在进行中),但不与 quarkus 一起工作。
问题是:对 mp3 文件的任何请求都处于挂起状态,所有其他文件都正确加载。
与wildfly 一切正常。
老实说,我不知道出了什么问题,看起来我错过了一些东西。
如何重现:
先决条件:
- java 1.8(java.nio emulation atm 仅适用于 java 1.8,否则会出现如下错误:错误:包存在于另一个模块中:java.base)
- 行家3.6
- 夸库斯 1.5.1
在linux上测试
克隆https://github.com/treblereel/quake2-gwt-port
从服务器模块运行 com.googlecode.gwtquake.tools.Installer (它将下载资源并将其转换为war文件夹)
对于野蝇:
1)将baseq2从war目录复制到server/src/main/webapp/
2)运行mvn clean package
3)部署到wildfly
4)打开http://127.0.0.1:8080/quake2/并检查一切正常
对于夸库:
1) checkout quarkus 分支
2) 将 baseq2 从 war 目录复制到 server/src/main/resources/META-INF/resources/
3) 运行 mvn clean package
4) java -jar server/target/quake2-runner.jar
5) 打开http://0.0.0.0:8080/quake2/
6) 检查 menu1.wav.mp3 是否永远处于挂起状态。
有任何想法吗 ?感谢帮助。
c++ - 正确使用 Quake II PVS 数据
我一直在研究和测试 Quake II 能见度的阅读和使用。在多次尝试实现它之后,我还没有完全管理它。否则,我主要基于这篇文章,另一篇关于 Blogger的文章,并浏览了有关该主题的更多文档,我什至深入研究了 Quake II 源代码本身,但我不太明白哪里出了问题。
在可视化我的 PVS 时,我发现无论我使用什么解包算法,它似乎总是只突出显示随机叶子,通常是被更近的叶子隐藏的叶子,这使得它们不可见。有时我最终会得到应该清晰可见但不可见的叶子。
从文件中反序列化 vis 数据是我的第一个也是唯一一个可检测到的错误:我最初读取偏移量并分别分配位向量。我后来发现 PVS/PHS 偏移量在偏移量中考虑了它们自己。我最终诉诸于逐字读取和分配可见块,使偏移量指向正确的位置。
我对第二季度 PVS 拆包的收获是
- 它是可见簇的行程编码位图
- 0 表示下一个字节是要跳过多少簇并将其标记为隐藏
- 否则我们直接从位向量映射(给定到目前为止我们用 RLE 字节累积的偏移量)
至于集群,我构建了一个集群数组,作为一组叶子,当被索引时,为每个集群条目提供一个叶子的链表。
到目前为止,这一切都说得通,对吧?我应该能够:读取 vis 数据,为给定集群解压缩,从给定其自己的集群的叶子的解压缩 PVS 中获取可见集群列表
到目前为止,这不起作用!我对解决方案不知所措。我不知道该怎么办。是否有一些我不了解的概念,我的思路和分析中的一些疏忽?
作为参考,我正在对 quake2 的 base1.bsp 和一些简单区域的自定义导出进行测试。我会发布代码,但我有许可问题和很多需要清理的东西......对不起!