python实现红警三录像文件读取与自动分析生成流程图信息——二、项目结构与代码初步介绍

RA3Bar-RA3Launcher:重新实现RA3.exe(红色警报3游戏启动器) RA3Bar-RA3QuickLoader 有关此项目的更多详细信息,请访问: : 如果您会说中文,也可以在这里: : 特征 几乎立即启动Red Alert 3 现在,您可以单击Red Alert 3的启动屏幕以打开RA3的控制中心。 如果您希望使用当前版本的C&C:Online Launcher玩Mods [1],这可能会非常方便。 现在,您可以直接在控制中心内添加自定义命令行参数。 同样,如果要在使用C&C:Online Launcher时添加一些命令行参数,这可能非常方便。 控制中心的游戏浏览器现在配备了一个简单的重播解析器,可以显示一些比赛信息,例如日期,游戏持续时间,地图和玩家列表。 它还可以修复因游戏崩溃而损坏的重播。 如果您无法使用RA3.exe打开(观看).RA3Replay文件,现在可以以一种非常简单的方式设置重播文件关联:右键单击该重播文件,然后在打 立即下载

总目录

一、简介

二、项目结构与代码初步介绍

三、拓展给mod使用

======================= 大爽歌作,made by big shuang =======================

二、项目结构与代码初步介绍

1 - 文件夹介绍

  • ra3autohander/: 存放该自动分析工具所有相关的python代码
  • replays/: 存放示例用的录像文件和分析后的json文件
  • ra3autohander/build/和ra3autohander/dist/: 打包python文件成exe时生成的,基本不用去管

2 - 文件介绍

  • ra3autohander/main_zh.py和ra3autohander/main.py: 主程序,(工具运行入口),前者是中文版,后者是英文版

  • ra3autohander/主程序.exe和ra3autohander/main.exe: 主程序py文件打包成的exe文件,前者是中文版,后者是英文版

  • ra3autohander/gui.py: 实现了可视化界面,供main_zh.py和main.py调用,文件本身则是调用了hander.py文件进行的录像的读取和解析

  • ra3autohander/hander.py: 对录像文件读取分析并导出成需要的json文件功能封装成几个可供gui.py的方法,具体的录像读取功能则是调用更底层的ra3replay.py来实现,导出流程图信息则是基于flowchart.py来实现

  • ra3autohander/flowchart.py: 对初步解析后的录像进行进一步分析,并格式化为流程图json

  • ra3autohander/fc_units.py: 实现了流程图解析需要的基础节点类,存放流程图的配置变量

以下文件实现了对红警三录像文件的读取与解析

  • ra3autohander/ra3replay.py: 实现了对红警三录像的读取与解析
    的类 KWReplayWithCommands和对红警三录像主体(body)内容的解析类ReplayBody
  • ra3autohander/kwreplay.py: 实现了KWReplayWithCommands类的父类KWReplay(该类本来是用于解析凯恩的愤怒的),也实现了解析录像玩家数据信息的类Player
  • ra3autohander/ra3chunks.py: 实现了ReplayBody的基础单元chunk(可以理解为数据块)的解析类RA3Chunk
  • ra3autohander/chunks.py: 实现了RA3Chunk类的父类Chunk和对基础单元chunk(可以理解为数据块)中的命令的解析类Command
  • ra3autohander/replay_config.py: 存放录像文件配置信息,比如一些命令对应的16进制码,一些单位对应的16进制码

3 - 红警三录像文件格式简要介绍

红警三录像文件,后缀名为RA3Replay,该文件由16进制码编写
分为录像头(head),录像主体(body),录像尾(footer)

  • 录像头一般记录地图信息和玩家初始信息,比如阵营队伍颜色
  • 录像体(body)由数据块(chunk)组成,
    每个数据块内包含0到多个命令(command),
    每个命令都有一个命令id——cmd_id,为两位16进制码,
    目前已解析出具体意义的cmd_id存放在replay_config.py的BO_COMMANDS,
    具体对应意义存放在replay_config.py的CMDNAMES中。
  • 录像尾暂未研究,应该没记录啥重要信息
红警制作素材 这是红色警戒mod大师不吐皮制作的一个非常经典的素材-圣战建造厂 立即下载

相关推荐

红警2rules代码大全

rules文件所需代码大全,基本上所有会用到的的代码都在里面了

惊艳于红警开源代码?赏心悦目的代码注释,我们也可以 !

这几天,红警1的开源代码重现江湖,这个20年前,甚至25年前的代码,被我们所有的后来者所惊叹,这才是一个艺术品一般的存在。那么如果我们也想写出如此优美的代码,应该注意的事项有哪些?本文将讲述3个编码时需要注意的部分,并着重讲解如何编写出规范的代码注释并加以利用。

刘炫320的博客 3万+

产业园区如何高效对接企业技术需求与高校科研成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

卧槽!红警源代码居然开源了....

来源|小詹学Python红警,准确的说应该叫“红色警戒”,是大部分 80 后记忆里跟游戏二字关系最深的情节。相信每一名 80 后,都有一段难忘的红警岁月,甚至可以说很多人的青春,就叫红警!说到红色警戒游戏,估计应该是很多同学的童年回忆了吧。或者大概在 2000 年之后,星际和红警都在网吧必装游戏之列。这款游戏也是当年西木头(WestWood)打造的爆款即时战略游戏之一,以至于一提到即时战略游戏,我...

程序IT圈 368

Cloudflare 5秒盾逆向实战:13次请求背后的Python补环境框架搭建指南

本文深入解析了如何通过Python构建浏览器环境模拟框架,以应对Cloudflare 5秒盾等现代Web防护机制。文章详细拆解了其背后复杂的13次请求链,涵盖了JavaScript执行引擎集成、DOM事件模拟、网络请求控制及Canvas指纹等环境检测的完整实现方案,为自动化数据采集和逆向工程提供了实战指南。

gold的博客 348

3D数学-动力学

3D数学-11-动力学 旋转运动学 二维旋转动力学 首先我们考虑最简单的情况: 我们将F施加在圆盘(忽略质量)上的一个点(质量为m)上 图中:F为我们施加的力,O是枢轴原点。 通过基本的运算,我们可以得到 F'= F*sinθ 那么切向加速度 a = F'/ m 切向加速度是线性速度的加速度,我们通过除以半径获得角加速度 α = a / r 现在,我们换一种方式,那就是通过杠杆臂的方式去施加力 为了能够计算出m点的角加速度,我们需要引入一个概念:扭矩 他的理解类似于力矩,公式如下 τ = Flsi

韩天衣的博客 2285

python实现红警三录像文件读取与自动分析生成流程图信息——一、简介

之前做了一个红警三的建造出兵流程图绘制工具 有评论建议说能不能够自动读取录像。 同时自己使用的时候,也感觉确实一点点手动绘制太过麻烦。 所以专门为该工具做了个自动录像读取分析工具。 总目录 一、简介 二、项目结构与代码初步介绍 三、代码细节介绍 ======================= 大爽歌作,made by big shuang ======================= 一、简介 1 - 工具使用介绍, 为了方便没有编程基础的朋友使用,我专门做了gui(可视化程序界面)并且打包成了exe.

大爽老师的博客 923

JLink版本不兼容?手把手教你解决APM32F003F6P6在Keil中烧写闪退和报错

本文详细解析了APM32F003F6P6在Keil中烧写闪退和报错的解决方案,重点介绍了JLink版本兼容性问题。通过实测不同版本组合,推荐使用JLink 7.20a或6.86b与Keil 5.25的黄金组合,并提供详细的降级驱动和工程配置步骤,帮助开发者高效解决烧写困境。

weixin_33694620的博客 416

L2-013 红色警报(Python3)

团体程序设计天梯赛-练习集

weixin_55730361的博客 931

【Unity】ABB CRB 15000 外部引导运动实战:从配置到实时控制

本文详细介绍了ABB CRB 15000协作机器人的外部引导运动(EGM)功能在Unity环境中的实战应用。从RobotStudio配置到Unity实时通信架构,再到EGM运动控制技巧和问题排查,全面解析如何实现机器人的高精度实时控制。通过实际案例展示EGM技术在精密装配等场景中的显著效果,帮助开发者快速掌握这一先进技术。

weixin_29057695的博客 445

新手必看!BUUCTF-PWN题实战:从零搭建Kali环境到成功RIP栈溢出

本文为CTF二进制安全新手提供了一份详实的BUUCTF-PWN入门指南。内容涵盖从零搭建Kali Linux环境、安装配置pwntools等核心工具,到深入浅出地讲解栈溢出原理与汇编基础,并手把手带领读者完成一道名为“rip”的经典栈溢出题目实战,成功利用漏洞获取系统权限。

t8u9v0w1x的博客 504

python实现红警三录像文件读取与自动分析生成流程图信息——三、拓展给mod使用

总目录 一、简介 二、项目结构与代码初步介绍 三、拓展给mod使用 ======================= 大爽歌作,made by big shuang ======================= 三、拓展给mod使用 1 - 为流程图绘制工具拓展 这个拓展起来还是比较简单的。 主要是添加图片素材就可以, 在images/nodes文件夹下,根据单位种类找到其所属于的文件夹添加单位图片,文件夹和命名格式可见 https://blog.youkuaiyun.com/python1639er/article/

大爽老师的博客 618

基于粒子群优化的PID控制在药液流量控制系统中的应用

本文提出了一种基于粒子群优化(PSO)的PID控制算法,用于药液流量控制系统。系统采用C37控制器和Codesys 2.3编程环境实现,通过传感器实时监测流量、压力和车速,并控制水泵占空比和电动球阀开度来精确调节药液流量。硬件配置包括FT-2000流量传感器、PT-3000压力传感器和MV-500电动球阀等。控制算法将PSO与PID结合,使用ITAE指标优化PID参数,在Codesys中实现了包含PSO优化循环、PID控制等功能的程序模块。该系统通过分层控制策略和智能优化算法,提高了药液流量控制的精度和响应

AI的内部世界的博客 250

使用Amazon Redshift Simple Replay实用程序简化Amazon Redshift RA3迁移评估

Amazon Redshift是快速、广受欢迎的完全托管式云数据仓库,允许您使用标准 Amazon SQL 处理数据仓库、运营数据库和数据湖中的 EB 级数据。它提供不同的节点类型以适应...

亚马逊云科技专栏 372

【AUTOSAR-DEM】-2.4-APP SWC如何读取MIL灯状态以及配置MIL灯

该篇博文将告诉您: MIL(Malfunction Indicator Lamp/Light)灯的点灯和灭灯过程; DEM模块如何配置MIL灯; APP SWC如何获取MIL灯状态。

「汽车电子助手」的博客 1712

MATLAB - 激光雷达 - 相机联合标定(Lidar-Camera Calibration)

激光雷达传感器和相机通常在自动驾驶应用中结合使用,因为激光雷达传感器收集三维空间信息,而相机则以二维图像捕捉空间的外观和纹理。您可以融合来自这些传感器的数据来改进物体检测和分类。激光雷达-相机标定可以估算出一个变换矩阵,给出两个传感器之间的相对旋转和平移。在进行激光雷达-相机数据融合时,您可以使用该矩阵。本图说明了激光雷达和相机标定 (LCC) 过程的工作流程,我们使用棋盘格作为标定对象。我们从激光雷达和相机数据中提取棋盘角和平面,然后在它们的坐标系之间建立几何关系,进行标定。

机器人控制与仿真应用 7371

"红警"游戏开源代码带给我们的震撼

可能像我这个岁数的朋友都知道"西木头(Westwood Studios)"工作室出品的"红色警戒",记得当时红警1的启动程序名为RA95.exe,因此很多人叫他"红警95"。《命令与征服》系列是他的招牌作品,1998 年,EA收购了西木头。而现在,EA已经开源了红警的源代码,但是不涉及游戏素材和游戏引擎,目的就是Mod社区更好的改变游戏行为,这正是开源所倡导的。经过大神鉴...

bisal的专栏 4865

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

我来也了哦

文章目录 前言 HELLO 优快云,我来了 你来自哪里?来优快云想收获什么? 你在技术学习中遇到的最大的问题是什么?怎么解决的? 你用过哪些开源项目让你忍不住推荐给朋友? 有什么事情想做很久了?还没去做的原因是什么? 你和朋友讨论过的哪些有趣的技术问题? 最近你印象最深刻的技术热点事件是什么? 如果你可以向优快云产品/运营提问,你想问什么? 如果你可以向优快云的任意一位用户提问,你想问什么? 总结 ...

m0_52284307的博客 278

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

红警 1 游戏开源,代码非常规范,网友:秀色可餐

作者 | 程序员的那些事来源 | 程序员的那些事(id:iProgrammer)最后有一个小测试!测测你是不是红警老玩家!EA 部分开源红警啦!5 月 27 日,知名游戏公司 EA 在 ...

优快云资讯 4352

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

卧槽!红警代码竟然开源了!!!

公众号关注“GitHubDaily”设为 “星标”,每天带你逛 GitHub!大家好,我是小 G。如果你这两天一直有关注 GitHub Trending,那你应该会发现有个项目偷偷爬上...

GitHubDaily 3万+

Python游戏辅助脚本(aircv模块)—红警OL资源自动采集

import aircv as ac import uiautomator2 as u2 import time import random d=u2.connect('172.21.236.63') def match(imsrc,imobj): result=ac.find_template(imsrc,imobj,0.7) if(result!=None): return resu...

u012865864的博客 7907

红警代码开源了 来瞅瞅源码 文内送Win10可联机的红警2标准版游戏

大家好,我是小杰。 最近我偶然看到了个新闻,红警的开源代码,于是我喜出望外的去github上下载和编译。接下来我来谈一谈这个过程。 公众号原文链接 可以从此处进入公众号领取游戏 红警这款游戏相信大多数人都玩过,这里面有70、80、90后珍贵的回忆,不过就算拿到现在来玩也不腻。比如我就搞到了可以联机对战的红警标准版,可以在windows 10上完美运行,局域网联机都没问题。我已经联机玩了好几天了,想要的小伙伴可以在后台回复【红警标准版】获取,当然如果运行和联机有任何问题可以在 公众号下方的联系作者 找到我的微

hailong66666的博客 9919

python 安装第三方库出现黄色警报和红色警报

老笔记本安装第三方库,都会出现黄色警报,出现问题。按网上的解决方案更新pip,结果还是没用。(这里一定要注意pip3的问题),终于找到方案https://blog.youkuaiyun.com/zhang_han666/article/details/88286010 解决方案:更新安装源和设置时长限制 --default-timeout=100 -i https://pypi.tuna...

之度的博客 5472
上一篇: python实现红警三录像文件读取与自动分析生成流程图信息——一、简介
下一篇: python实现红警三录像文件读取与自动分析生成流程图信息——三、拓展给mod使用
大爽歌
博客等级 码龄9年 422粉丝 92原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值