• 0.8.0.0 0fae2ce610

    shenjackyuanjie released this 2023-05-14 21:05:43 +08:00 | 550 commits to main since this release

    What's Changed

    New Contributors

    Full Changelog: https://github.com/shenjackyuanjie/Difficult-Rocket/compare/0.7.2.1...0.8.0.0

    202305 DR 0.8.0.0 + DR_api 0.1.0.0 + DR_rs 0.2.7.0 + 15

    啊哈! mod 加载来啦!

    啊啊啊啊啊 大重构 api

    现在控制台是 真 多线程了

    DR_api 0.1.0.0

    • 大概是一个可用的版本了
    • ModInfo
      • on_load(game: Game, old_self: Optional[ModInfo]) -> bool
        • game: Game 对象 用于存储 DR SDK 的信息
        • old_self: 旧的 ModInfo 对象, 可以用于从上次加载中恢复信息
        • 返回值: 是否加载成功
      • on_client_start(game: Game, client: ClientWindow) -> None
        • game: Game 对象 用于存储 DR SDK 的信息
        • client: ClientWindow 对象 用于传递客户端状态
      • on_client_stop(game: Game, client: ClientWindow, source: str = 'window')
        • game: Game 对象 用于存储 DR SDK 的信息
        • client: ClientWindow 对象 用于传递客户端状态
        • source: 关闭调用的来源

    DR_rs 0.2.7.0

    • __init__.py
      • 添加了 SR1Ship_rs 的 typing
        • name
        • description
        • lift_off
        • touch_ground
        • img_pos() -> Tuple[int, int, int, int]
    • 导出了 SR1Ship_rs
      • Exported SR1Ship_rs
    • types::SR1PartData
      • get_box(&self, part_type: &SR1PartType) -> (f64, f64, f64, f64)
    • types::SR1Ship
      • from_file
    • 添加了 Console_rs
      • 用于使用 Rust 多线程读取 stdin
      • Use Rust mutithread to read stdin

    Remove

    • game.config
      • 已删除
      • Removed
    • DR_option & DR_runtime(long_version 15)
      • 完全移除 DR_rust 部分
        • Completely removed the DR_rust part
    • 现在 client 不会在 setup() 中调用 DR_runtimefind_mods() 方法
      • Now client will not call the find_mods() method of DR_runtime in setup()
    • Difficult_Rocket.crash
      • Remove write_options method
      • Remove write_markdown_tablet method
        • Replace with Option().as_markdown()
    • Difficult_Rocket.utils.new_thread
      • Moved to Diffiuclt_Rocket.utils.thread
    • Difficult_Rocket.utils.thread
      • Remove Threads

    Changes

    • main.toml
      • game.mods.path
        • 存储 mod 的路径
          • Store the path of the mod
    • Difficult_Rocket.mod.MODInfo -> Difficult_Rocket.api.mod.ModInfo
      • 用于存储 mod 的信息
        • Used to store information about the mod
    • Difficult_Rocket.DR_runtime
      • 添加 mod_path: str 字段
      • 添加 DR_Mod_List: List[Tuple[str, Version]] 字段
      • 添加 load_mods() -> None 方法
      • 添加 find_mods -> List[str] 方法
        • Add mod_path: str field
        • Add DR_Mod_List: List[Tuple[str, Version]] field
        • Add load_mods() -> None method
        • Add find_mods -> List[str] method
    • 现在游戏崩溃时会自动在 stdio 中输出崩溃日志 内容跟 crash report 中的基本相同
      • Now when the game crashes, it will automatically output the crash log in stdio
        • The content of the crash log is basically the same as the crash report
    • utils.new_thread
      • 跟随 MCDR 的更新
      • 将记录线程的方式改成 函数回调
        • Follow the update of MCDR
        • Change the way to record threads to function callbacks
    • Difficult_Rocket.api
      • 大重构,移除定义,改为引用
        • Big refactoring, remove definition, change to reference
    • Difficult_Rocket.api.types.Options ( Difficult_Rocket.utils.options.Options )
      • options -> _options
      • option_with_len(self) ->
        • 修改 返回值 类型+类型注释
        • Modify the return value type + type annotation
        • List[Union[List[Tuple[str, Any, Any]], int, Any]]: -> Tuple[List[Tuple[str, Union[Any, Type], Type]], int, int, int]
    • Difficult_Roocket.main.Game
      • 使用 Options 完全重构
      • 分离 init mods init console init logger load_file
        • Completely refactored using Options
        • Separate init mods init console init logger load_file
    • Difficult_Rocket.command.api.CommandText
      • find -> re_find

    Add

    • Difficult_Rocket.api.types.Options ( Difficult_Rocket.utils.options.Options )
      • 添加 as_markdown 方法
        • 用于方便的用人类可读的 Markdown 格式 直接输出一个已经实例化的 Options 类的所有字段
      • Add as_markdown method
        • Used to easily output all fields of an instantiated Options class in a human-readable Markdown format
    • Difficult_Rocket.command.api.CommandText
      • 添加基于 str.findfind(text: str) -> bool 方法
      • Add method find(text: str) based on str.find

    Docs

    • howto/translate.md
      • 修改为新的 tr 调用方式
        • Modified to the new tr call method
    • SUMMARY.md
      • add howto/translate.md
      • add howto/game/readme.md
      • contributors -> Contributing

    Mod Loader

    • ModInfo
      • on_load(game: Game, old_self: Optional[ModInfo]) -> bool
        • game: Game 对象 用于存储 DR SDK 的信息
        • old_self: 旧的 ModInfo 对象, 可以用于从上次加载中恢复信息
        • 返回值: 是否加载成功
          • game: Game object used to store information about the DR SDK
          • old_self: Old ModInfo object, can be used to restore information from the last load
          • Return value: Whether the load is successful
    Downloads