• 0.8.7.2 2774541191

    shenjack released this 2023-11-20 20:14:38 +08:00 | 277 commits to main since this release

    DR SDK 0.8.x 更新日志

    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
    Downloads
  • 0.8.6.0 17180e29b3

    shenjack released this 2023-07-17 20:00:03 +08:00 | 353 commits to main since this release

    实际上最近的时间都去写 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
    Downloads
  • 0.8.5.2 11c2e79141

    shenjackyuanjie released this 2023-07-01 23:13:25 +08:00 | 402 commits to main since this release

    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
    Downloads
  • 0.8.5.0 c572fbd72a

    shenjackyuanjie released this 2023-07-01 21:57:54 +08:00 | 403 commits to main since this release

    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
    Downloads
  • 0.8.4.0 ab8ff84a5e

    shenjackyuanjie released this 2023-06-22 14:16:47 +08:00 | 438 commits to main since this release

    DR sdk 0.8.4.0

    Fix

    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: https://github.com/shenjackyuanjie/Difficult-Rocket/compare/0.8.3.0...0.8.4.0

    Downloads
  • 0.8.3.0 5183dbfb25

    shenjackyuanjie released this 2023-06-17 16:20:49 +08:00 | 467 commits to main since this release

    What's Changed

    Full Changelog: https://github.com/shenjackyuanjie/Difficult-Rocket/compare/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

    添加

    • 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
    Downloads
  • 0.8.2.0 a5ee30a534

    0.8.2.0 Stable

    shenjackyuanjie released this 2023-06-11 18:39:29 +08:00 | 503 commits to main since this release

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

    Full Changelog: https://github.com/shenjackyuanjie/Difficult-Rocket/compare/0.8.1.0...0.8.2.0

    DR sdk 0.8.2.0

    Fix

    Downloads
  • 0.8.1.0 66831c211e

    shenjackyuanjie released this 2023-06-11 17:51:33 +08:00 | 506 commits to main since this release

    What's Changed

    Fix

    #24

    Full Changelog: https://github.com/shenjackyuanjie/Difficult-Rocket/compare/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
    Downloads
  • 0.8.0.1 390b7bf07d

    shenjackyuanjie released this 2023-05-28 14:21:47 +08:00 | 565 commits to main since this release

    Downloads
  • 0.6.0 82e8c4a062

    shenjackyuanjie released this 2023-05-25 00:20:54 +08:00 | 1277 commits to main since this release

    20211025 V 0.6.0

    Command Line Update!

    Change

    • now Difficult Rocket will only fit python3.8+
      • because :=
    • now main crash report handler have new way to handler crash
    • now fonts' folder's name is HarmonyOS_Sans

    Add

    • Difficult_Rocket.graphics.widgets.Parts
      • have many costume value
    • libs/fonts now have HarmonyOS_Sans font
    • handler of on_key_press and on_key_release and on_text
    • game.config config file
    • lang/en-us.json5 now up to date with lang/zh-CN.json5
    • translate/Lang.翻译 same as Lang.lang
    • command/CommandLine to render command line
    • @new_thread now can option if log this thread to crash or not
    • start.cmd witch could debug easier

    Translate

    • Add
      • window
        • message.text
        • command.text
        • text.motion
        • text.motion_select
        • setup.use_time_ns
        • fonts.found
        • game.input_stop
        • game.command_stop
        • game.window_stop
        • game.stop_get
        • game.stop
        • game.end
      • client
        • setup.use_time_ns

    Command

    • now you can press t to call out a message window
      • or press / to open command line
      • not done
      • useless until now
    • new command
      • /min_fps
        • get min fps in 5 second
      • /max_fps
        • get max fps in 5 second
      • /stop
        • stop the game
      • /default
        • switch window size to default size
    Downloads