DR-docs/docs/main/change_log/sdk/0-8.md
2023-12-16 23:40:38 +08:00

9.0 KiB

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

DR sdk 0.8.6.1

Fix

  • 现在 DR.py 启动之后如果崩溃会在控制台输出完整的 Crash report 了
    • Now, after DR.py starts, if it crashes, the complete Crash report will be output to the console

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 sdk 0.8.5.2

Fix

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

Change

  • 修改了 DR.py
    • 实际上是 DR-start.py 的改名
    • Changed DR.py
      • Actually renamed DR-start.py

Clean

  • 删除了 DR-start.py
    • 实际上是改成了 DR.py
    • Removed DR-start.py
      • Actually changed to DR.py
  • 删除了 libs/utils/dsm.py
    • Deleted libs/utils/dsm.py

DR sdk 0.8.5.1

API

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

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 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

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
"""

DR sdk 0.8.2.0

Fix

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 时 没有检查是否为空