Skip to content

Releases: shenjackyuanjie/Difficult-Rocket

0.9.0.0 新年快乐!

31 Dec 12:44
929ee75
Compare
Choose a tag to compare

DR game/DR rs 0.3.x 更新日志

20231224 DR rs 0.3.0

感谢 @InfyniteHeap 进行的重构工作

  • 重构了 Rust 部分的文件结构

  • 去除了早期的 serde-xml-rsxml-rs 依赖

    • 这是因为之前 quick-xml 在解析 Option<Vec<T>> 有问题
    • 现在问题解决了
    • 以及 quick-xml 的解析方式更符合规范 ( 或者说更明确 )
  • 将所有的 logging 去除

    • 改为 lib-not-dr.loggers
  • 现在飞船保存测试的命令叫作 save

DR sdk 0.9.0.0

Changes

  • api.screen.BaseScreen
    • on_draw
      • self, window: ClientWindow -> self, dt: float, window: ClientWindow
      • dt 为上一帧到这一帧的时间间隔
      • dt is the time interval from the last frame to this frame

Rename

  • Api_version -> api_version
  • _DR_Status -> _DRStatus
    • name = DR Option -> DR Status
    • 这毛病属实是没想到, 之前一直没发现

Rework

  • logging 的依赖改为 lib_not_dr.loggers
    • 以后都用 lib_not_dr 的 logger 了
    • Change the dependency of logging to lib_not_dr.loggers
    • Use lib_not_dr logger in the future

Add

  • 添加内置依赖: lib-not-dr
    • Added built-in dependency: lib-not-dr
    • 不再同时维护两份代码
    • No longer maintain two sets of code at the same time

Fix

  • 如果没有 DR_game 的情况下, 退出时会 join 控制台线程
    • 通过检测线程是否是守护线程来判断是否 join
    • If there is no DR_game, join the console thread when exiting
      • Determine whether to join by detecting whether the thread is a daemon thread

Dependency

  • 更新了所有的依赖版本号
    • 去看 requirements.txt
  • Updated all dependency version numbers
    • Go see requirements.txt
  • 去除了 rtoml 的依赖
    • 改为 tomlitomlkit 组合
  • Removed rtoml dependency
    • Change to tomli and tomlkit combination
  • 删除了 requirement-xxx.txt
    • 现在使用 gen_require.py 0/1/2 来先生成然后安装依赖
    • python gen_require.py 0 ( 运行 / run only )

    • python gen_require.py 1 ( 构建 / build )

    • python gen_require.py 2 ( 开发 / develop )

    • gen_require.py 会在 requirements.txt 中生成依赖
  • Delete requirement-xxx.txt
    • Now use gen_require.py 0/1/2 to generate and install dependencies
    • python gen_require.py 0 ( run only )

    • python gen_require.py 1 ( build )

    • python gen_require.py 2 ( develop )

    • gen_require.py will generate dependencies in requirements.txt

0.8.7.2 0.8最后一版 更新了一大堆东西

17 Dec 07:34
2774541
Compare
Choose a tag to compare

(文件是 0.8.7.3 但是内容还是 0.8.7.2

DR sdk 0.8.7.2

Add

  • assets/fonts
    • unifont.otf
      • unifont v 15.1.02

Translate key

  • Add
    • client
      • load.font
        • start
        • file
        • error
        • use_time

Enhance

  • client.pyglet_load_fonts_folder
    • 现在使用 os.walk 遍历文件夹
    • 使用 tr 进行日志记录

DR sdk 0.8.7.1

Add

  • BaseScreen
    • 现在继承了 Options
    • 添加了 name 选项来识别名称
    • Now inherits Options
    • Added name option to identify name
  • gui.widget.PressTextButton
    • 作为 gui 的一部分
    • 依然在测试阶段
    • 有人发现 bug 请务必发 issue, 十分感谢
    • As part of gui
    • Still in the testing phase
    • If you find a bug, please be sure to issue it, thank you very much

DR sdk 0.8.7.0

Add

  • 添加了 Difficult_Rocket.utils.camera.GroupCamera
    • Difficult_Rocket.utils.camera.CenterGroupCamera
    • 实际上就是使用 pyglet.graphics.Group 来实现的 Camera
    • 具有相同的功能
    • 顺便同样在 api.camera 里添加了导出
      • 这次我一定不会再忘记导出了
    • Added Difficult_Rocket.utils.camera.GroupCamera
    • And Difficult_Rocket.utils.camera.CenterGroupCamera
    • Actually, it is implemented Camera using pyglet.graphics.Group
    • Has the same function
    • By the way, the export was also added in api.camera
      • This time I will never forget to export it again
  • 为所有 xxCamera 添加了
    • reset 方法
    • 用于一键重置缩放+平移
    • Added reset method for all xxCamera
      • Used to reset zoom + translation with one click

0.8.6.0 code clean up and some bug fix

17 Jul 12:20
17180e2
Compare
Choose a tag to compare

实际上最近的时间都去写 lib-not-dr 的指令树和应对期末考试

所以最近没多少更新

(好消息 期末考试年级第 16 班级第 4

DR sdk 0.8.6.0

重构了一下项目结构

Refactored the project structure

Fix

  • issue #42
    • Crash report 的时区不正确
      • Crash report time zone is incorrect

Change

  • 将大部分资源文件移动到 assets/
    • libs/fonts -> assets/fonts
    • configs/lang -> assets/lang
    • configs/xxx.xml -> assets/builtin/xxx.xml
    • textures -> assets/textures
    • Move all the resources to assets/

DR game 0.3.1.2 / 0.3.1.3

  • 加回了显示 delta 的那根线
    • Add back the line that displays delta

DR rs 0.2.15.2

Add

  • SR1PartData_rs
    • get_id -> IdType
    • get_x -> f64
    • get_y -> f64
    • get_activate -> bool
    • get_angle_v -> f64
    • get_explode -> bool

DR rs 0.2.15.1

Changes

  • types.rs & python.rs 利用可用的 Clippy 改进了代码
    • types.rs & python.rs improved the code with available Clippy

20230715 build 2.1.3.0

修改

  • 添加 email win32con smtplib win32evtlog win32evtlogutil win32api--no-follow-import
    • Add email, win32con, smtplib, win32evtlog, win32evtlogutil, win32api to --no-follow-import
  • include_data_dir 移除 libs/fonts textures
    • 改为 assetsconfig

Files:

  • DR 0.8.6.0 build for
    • Linux
    • MacOS
    • Windows
  • dr_game 0.3.1.3 package with
    • dr_rs 0.2.15.2 build for
      • cpython 3.8 amd64 windows
      • cpython 3.10 amd64 windows
      • cpython 3.11 amd64 windows
      • cpython 3.8 darwin
      • cpython 3.8 x86_64 linux-gnu
      • cpython 3.10 darwin
      • cpython 3.10 x86_64 linux-gnu
      • cpython 3.11 x86_64 linux-gnu
      • pypy 3.8 7.3 amd64 windows
      • pypy 3.9 7.3 amd64 windows
      • pypy 3.10 7.3 amd64 windows

0.8.5.2 bugfix! for 0.8.5.0

01 Jul 17:46
Compare
Choose a tag to compare

DR sdk 0.8.5.2

Fix

  • crash 引用了已经重命名的 Difficult_Rocket.game_version (Difficult_Rocket.sdk_version)

DR sdk 0.8.5.1

API

  • CameraCenterCamera 添加到 Difficult_Rocket.api.camera
    • Add Camera and CenterCamera to Difficult_Rocket.api.camera

DR game 0.3.1.1

Fix

  • sr_tr 加载语言文件的路径并没有跟随目录名称改变
    • sr_tr does not follow the directory name change when loading the language file path

DR game 0.3.1.0

  • 使用 Difficult_Rocket.api.camera.Camera
    • Use Difficult_Rocket.api.camera.Camera class

Files:

  • DR 0.8.5.2 build for
    • Linux
    • MacOS
    • Windows
  • dr_game 0.3.1.1 package with
    • dr_rs 0.2.15.0 build for
      • cpython 3.8 amd64 windows
      • cpython 3.10 amd64 windows
      • cpython 3.11 amd64 windows
      • cpython 3.8 darwin
      • cpython 3.8 x86_64 linux-gnu
      • cpython 3.10 darwin
      • cpython 3.10 x86_64 linux-gnu
      • cpython 3.11 x86_64 linux-gnu
      • pypy 3.8 7.3 amd64 windows
      • pypy 3.9 7.3 amd64 windows
      • pypy 3.10 7.3 amd64 windows

0.8.5.0 code clean up with new render on drgame

01 Jul 14:11
Compare
Choose a tag to compare

DR sdk 0.8.5.0

Changes

  • Difficult_Rocket.__init__
    • 重命名 / Rename
    • game_version -> sdk_version
  • ModManager
    • get_mod_module(mod_name: str) -> Optional[ModInfo]
      • 通过 mod 名称获取 mod 的信息
      • Get mod information by mod name
    • load_mod(mod_path: Path) -> Optional[ModInfo]
      • 加载指定路径的 mod
      • Load the mod at the specified path
    • find_mods_in_path(extra_mods_path: Optional[List[Path]]) -> List[Path]
      • 在指定的路径中查找 mod 并返回 mod 的路径
      • Find mods in the specified path and return the path of the mod
    • unload_mod(mod_id: str, game: Game) -> Optional[ModInfo]
      • 卸载指定的 mod 并返回 mod 的信息
      • Unload the specified mod and return the mod information
    • reload_mod(mod_id: str, game: Game)
      • 重新加载指定的 mod
      • Reload the specified mod

Remove

  • DR.client.guis.widget.InputBox
    • 没用了 TextEntry 已经好了 可以直接用了
    • Use Less, the TextEntry is ok to use

Command

  • mods
    • list
      • 列出所有已加载的 mod
      • List all loaded mods
    • reload <mod_id>
      • 重新加载指定的 mod
      • Reload the specified mod

DR sdk 0.8.4.1

Add

  • utils.camera
    • Camera
      • 一个 2D 摄影机,可以用于高效变换渲染坐标
    • CenterCamera
      • 一个中心对器的 2D 摄影机,可以用于高效变换渲染坐标

DR rs 0.3.0.0

修改

  • 适配了 DR sdk 的关于 mods 的修改
    • Adapted the modification of mods about DR sdk
  • RustConsole
    • 现在输入体验更好了
    • Now the input experience is better

DR rs 0.2.15.0

修改

  • 现在支持新的 mods reload 和 unload 了
    • 适配了 DR sdk 的关于 mods 的修改
    • Now support new mods reload and unload
      • Adapted the modification of mods about DR sdk

添加

  • IdType = i64
    • 统一的 id 类型
    • Unified id type
  • PySR1Ship
    • get_connection -> Vec<(i32, i32, IdType, IdType)>
      • 获取飞船的连接信息
      • Get the connection information of the ship

DR rs 0.2.14.0

删除

  • 删除了多个 xml 测试读取函数
    • Remove multiple xml test read functions

改进

  • 改进了 xml writer 的 SR1Ship 写入
    • Improve the xml writer's SR1Ship write

DR game 0.2.1.0

修改

  • sr1_ship 中的 Camera_rs 改为 Difficult_Rocket.utils.camera.Camera
    • Change Camera_rs in sr1_ship to Difficult_Rocket.utils.camera.Camera
  • 添加了部件的连接线(都是彩色哒)
    • Add the connection line of the part (all are colored)

DR rs 0.2.13.0

删除

  • 删除了 render.rs
    • 没必要拿 rust 写这玩意(
    • DR gamecamera 代替
    • Delete render.rs
      • No need to write this thing with rust (
      • Use DR game's camera instead

添加

  • 添加了 基于 quick-xml::writer::Writer 的 xml SR1Ship 写入
    • 折磨啊啊啊啊啊啊啊啊
    • Add xml SR1Ship write based on quick-xml::writer::Writer
      • Torture ah ah ah ah ah ah ah ah

DR rs 0.2.12.0

添加

  • 添加了 xml 的读取测试
    • Add xml read test

DR game 0.1.2.0

修改

  • 现在渲染飞船的时候不会再显示那个白色框了
    • 改为一个彩色的框
  • Now, the ship will not be displayed in the white box
    • Change to a colored box

DR rs 0.2.11.0

添加

  • Python::data::PySR1Ship
    • get_part_box(&self, part_id: i64) -> Option<(f64, f64), (f64, f64)>
      • 用于获取对应 id 的实际碰撞箱

DR game 0.2.0.0

适配

  • 适配了 DR_sdk 0.8.3.0 的修改

DR game 0.1.1.0

添加

  • types.py
    • DR.api.types.SR1 中移动过来

新功能

  • console.py
    • 基于 PyConsole
    • 用于替换 DR sdk 的默认控制台方法

20230630 build 2.1.1.0

修改

  • 现在本地构建会根据系统名称修改输出目录
    • 例如
      • Windows 上构建会输出到 build\nuitka-windows
    • Now the local build will modify the output directory according to the system name
      • For example
        • Build on Windows will output to build\nuitka-windows

Files:

  • DR 0.8.5.0 build for
    • Linux
    • MacOS
    • Windows
  • dr_game 0.3.0.0 package with
    • dr_rs 0.2.15.0 build for
      • cpython 3.8 amd64 windows
      • cpython 3.10 amd64 windows
      • cpython 3.11 amd64 windows
      • cpython 3.8 darwin
      • cpython 3.8 x86_64 linux-gnu
      • cpython 3.10 darwin
      • cpython 3.10 x86_64 linux-gnu
      • cpython 3.11 x86_64 linux-gnu
      • pypy 3.8 7.3 amd64 windows
      • pypy 3.9 7.3 amd64 windows
      • pypy 3.10 7.3 amd64 windows

0840 some remake and translate update

22 Jun 07:14
Compare
Choose a tag to compare

DR sdk 0.8.4.0

Fix

  • issue #33 (#33)
    • 修复了实际上并不会加载 .otf 格式的字体文件的问题

language

  • 去除了 dr_game 相关的键值
    • 现在这些键值已经在 dr_game 自己的语言文件中了
    • Removed the key values related to dr_game
      • Now these key values are in the language file of dr_game itself
  • 将 mod 加载部分的键值独立出来
    • 这样调用起来更方便一些
    • Separate the key values of the mod loading part
      • This makes it easier to call

修改

  • utils.translate
    • Tr
      • 现在支持自定义语言文件的路径了
        • lang_path
      • 用于给 mod 加载自己的语言文件
  • 现在 logging 的配置转移到 __init__ 中了
    • 保证调用 logging 的时候可以正常使用
    • Now the configuration of logging is moved to __init__
      • Ensure that logging can be used normally when called
  • 现在输入命令之后不会输出一个 True/False
    • (实际上是用来检测命令是不是用 / 开头的)
    • Now, the command will not output a True/False
      • (Actually used to detect whether the command starts with /)
  • CommandText
    • find
      • 现在会先用 str.startswith 检测是否以要求的字符串开头
        • 实际上就是丐版 re.match
      • 并且会在匹配上之后 如果匹配内容后面第一个字符是空格 则会截取掉空格
      • Now, it will first use str.startswith to detect whether it starts with the required string
        • Actually a poor version of re.match
      • And after matching, if the first character after the matching content is a space, the space will be intercepted

What's Changed

Full Changelog: 0.8.3.0...0.8.4.0

0.8.3.0 bug fix and rework (breaking changes)

17 Jun 08:33
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.8.2.0...0.8.3.0

DR game 0.2.0.0

适配

  • 适配了 DR_sdk 0.8.3.0 的修改

DR sdk 0.8.3.0

删除

  • pyglet_rs
    • 事实证明这玩意没啥用
    • Removed pyglet_rs

Fix

  • issue #31 (#31)
    • 窗口标题不正确 (实际上是因为只使用 DR_runtime 进行格式化)
    • Window title is incorrect

添加

  • DR_status
    • 实际上就是 DR_runtime
    • DR_runtime -> DR_status
    • client_running
      • 客户端是否在运行
      • Is client running
    • server_running
      • 服务器是否在运行
      • Is server running
  • Mod loader
    • 添加了对支持版本号的 warnings
    • Added warnings for supporting version numbers

移动

  • Difficult_Rocket.DR_runtime
    • DR_version -> DR_status.DR_version
    • API_version -> DR_status.API_version
    • Build_version -> DR_status.Build_version
    • default_language -> DR_status.default_language

删除

  • Diffiuclt_Rocket.long_version
    • 不再使用整数标记版本号 (反正 Version 有一个完整的版本号比较机制)
    • No longer use integer to mark version number (since Version has a complete version comparison mechanism)
  • Difficult_Rocket.DR_rust_available
    • 似乎我忘记删掉这个 DR_rs 的耦合了
long_version: int = 15
"""
long_version: 一个用于标记内部协议的整数
15: 完全移除 DR_rust 相关内容 解耦完成
14: BaseScreen 的每一个函数都添加了一个参数: window: "ClientWindow"
13: 为 DR_runtime 添加 API_version
12: 去除 DR_runtime 的 global_logger
    要 logging 自己拿去(
11: 为 DR_option  添加 use_DR_rust
    修复了一些拼写错误
10: 为 DR_runtime 添加 DR_Rust_get_version
9 : 为 DR_option  添加 pyglet_macosx_dev_test
8 : 为 DR_runtime 添加 DR_rust_version
    为 DR_option  添加 DR_rust_available
    以后就有 DR_rust 了
7 : 为 DR_option 添加 std_font_size
6 : 事实证明, 不如直接用int
5 : 添加 build_version 信息,用于标记编译文件版本,
    游戏版本改为四位数,终于有一个可以让我随便刷的版本号位数了
4 : 把 translate 的字体常量位置改了一下,顺便调换顺序
3 : 就是试试改一下,正好 compiler 要用
2 : 哦,对 longlong 好耶!
1 : 我可算想起来还有这回事了 v0.6.4
"""

files:

  • DR 0.8.3.0 build for
    • Linux
    • MacOS
    • Windows
  • dr_game 0.2.0.0 package with
    • dr_rs 0.2.10.1 build for
      • cpython 3.8 amd64 windows
      • cpython 3.10 amd64 windows
      • cpython 3.11 amd64 windows
      • cpython 3.8 darwin
      • cpython 3.8 x86_64 linux-gnu (not sure can use)
      • cpython 3.10 darwin
      • cpython 3.10 x86_64 linux-gnu
      • cpython 3.11 x86_64 linux-gnu
      • pypy 3.8 7.3 amd64 windows
      • pypy 3.9 7.3 amd64 windows
      • pypy 3.10 7.3 amd64 windows

0.8.2.0

11 Jun 10:55
Compare
Choose a tag to compare

#27 啊啊啊啊啊啊啊 WHY FIX ISSUE AFTER RELEASE

Full Changelog: 0.8.1.0...0.8.2.0

DR sdk 0.8.2.0

Fix

0.8.1.0 bug fix and build improvement

11 Jun 09:51
Compare
Choose a tag to compare

What's Changed

Fix

#24

Full Changelog: 0.8.0.1...0.8.1.0

DR sdk 0.8.1.0

删除

  • api.types.SR1
    • 移动到 dr_game

添加

  • api.types
    • 添加 Version (libs.MCDR.version.Version)
  • Difficult_Rocket.api.types.Options
    • str_option
      • 获取一个所有键、值都是 builtin 类型的字典
      • 可以用于写入文件
    • __str__
    • __repr__
      • Options 可以被 print 打印

修复 Bug

  • 自带的 console 类在 get_command 时 没有检查是否为空

20230611 build 2.1.0.0

添加

  • 现在会在每个平台上自动排除其他平台的 pyglet 兼容模块
    • 例如
      • Windows--no-follow-import pyglet.libs.x11
    • 大幅提升编译效率
    • 缩短编译时间

20230609 build 2.0.0.0

Breaking Change

  • 将构建脚本生成方式改为通过 libs/utils/nuitka.py 生成
  • GitHub Actions 也使用相同脚本构建

DR game 0.1.1.0

添加

  • types.py
    • DR.api.types.SR1 中移动过来

新功能

  • console.py
    • 基于 PyConsole
    • 用于替换 DR sdk 的默认控制台方法

DR rs 0.2.10.1

types.rs

  • 兼容了 Option<Vec<Step>>sr1_data.rs
    • Vec<Step> -> Option<Vec<Step>>

Bug 修复

  • #24 无法解析 带 staging 不带 steps的飞船

DR rs 0.2.10.0

python::PySR1PartType

  • 添加可从 Python 端获取的部件信息
    • get_descriptiton -> String
      • 部件描述 (Part description)
    • get_sprite -> String
      • 部件贴图 (Part sprite)
    • get_width -> u32
      • 部件宽度 (Part width)
    • get_height -> u32
      • 部件高度 (Part height)
    • get_friction
      • 部件摩擦系数 (Part friction)
    • get_hidden
      • 部件是否隐藏 (Part hidden)

DR rs 0.2.9.3

sr1_data

  • inflation
    • Option<bool> -> Option<f64>

Bug 修复

  • #21 field: "missing field Activate"

DR rs 0.2.9.2

Bug 修复

  • #20 <DisconnectedParts/>

DR rs 0.2.9.1

实现

  • types::sr1::get_max_box
    • 部分实现
  • types::math::Rotatable
    • 添加了 mut 版方法

DR rs 0.2.9.0

新功能

  • python::console::PyConsole
    • 一个基于 std::thread 的多线程控制台
    • GIL 我谢谢你
    • 用于替换 DR sdk 的默认控制台方法
      • A multi-thread console based on std::thread
      • Used to replace the default console method of DR sdk

Bug 修复

  • #19 BorrowMutError

pre release for 0.8.0.1

31 May 15:34
Compare
Choose a tag to compare
Pre-release

What's Changed

Issue Fixed

#19
#20
#21
#22

Full Changelog: 0.8.0.0...0.8.0.1