Releases: shenjackyuanjie/Difficult-Rocket
Releases · shenjackyuanjie/Difficult-Rocket
0.9.2.0 ! oreui 来力!
0.9.0.0 新年快乐!
DR game/DR rs 0.3.x 更新日志
20231224 DR rs 0.3.0
感谢 @InfyniteHeap 进行的重构工作
-
重构了 Rust 部分的文件结构
-
去除了早期的
serde-xml-rs
和xml-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
tolib_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
- Added built-in dependency:
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
- Go see
- 去除了
rtoml
的依赖- 改为
tomli
和tomlkit
组合
- 改为
- Removed
rtoml
dependency- Change to
tomli
andtomlkit
combination
- Change to
- 删除了
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 inrequirements.txt
- Now use
0.8.7.2 0.8最后一版 更新了一大堆东西
(文件是 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
usingpyglet.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 allxxCamera
- Used to reset zoom + translation with one click
0.8.6.0 code clean up and some bug fix
实际上最近的时间都去写 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
- Crash report 的时区不正确
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
- Add
include_data_dir
移除libs/fonts
textures
- 改为
assets
和config
- 改为
Files:
DR 0.8.6.0
build forLinux
MacOS
Windows
dr_game 0.3.1.3
package withdr_rs 0.2.15.2
build forcpython 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
DR sdk 0.8.5.2
Fix
crash
引用了已经重命名的Difficult_Rocket.game_version
(Difficult_Rocket.sdk_version
)
DR sdk 0.8.5.1
API
- 将
Camera
和CenterCamera
添加到Difficult_Rocket.api.camera
- Add
Camera
andCenterCamera
toDifficult_Rocket.api.camera
- Add
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
- Use
Files:
DR 0.8.5.2
build forLinux
MacOS
Windows
dr_game 0.3.1.1
package withdr_rs 0.2.15.0
build forcpython 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
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
- Adapted the modification of mods about
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
- Adapted the modification of mods about
- 适配了
添加
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
- Improve the xml writer's
DR game 0.2.1.0
修改
- 将
sr1_ship
中的Camera_rs
改为Difficult_Rocket.utils.camera.Camera
- Change
Camera_rs
insr1_ship
toDifficult_Rocket.utils.camera.Camera
- Change
- 添加了部件的连接线(都是彩色哒)
- Add the connection line of the part (all are colored)
DR rs 0.2.13.0
删除
- 删除了
render.rs
- 没必要拿 rust 写这玩意(
- 用
DR game
的camera
代替 - Delete
render.rs
- No need to write this thing with rust (
- Use
DR game
'scamera
instead
添加
- 添加了 基于
quick-xml::writer::Writer
的 xmlSR1Ship
写入- 折磨啊啊啊啊啊啊啊啊
- Add xml
SR1Ship
write based onquick-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 tobuild\nuitka-windows
- Build on
- For example
- 例如
Files:
DR 0.8.5.0
build forLinux
MacOS
Windows
dr_game 0.3.0.0
package withdr_rs 0.2.15.0
build forcpython 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
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
- Now these key values are in the language file of
- 现在这些键值已经在
- 将 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
- Ensure that
- 保证调用
- 现在输入命令之后不会输出一个
True
/False
了- (实际上是用来检测命令是不是用
/
开头的) - Now, the command will not output a
True
/False
- (Actually used to detect whether the command starts with
/
)
- (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
- Actually a poor version of
- And after matching, if the first character after the matching content is a space, the space will be intercepted
- 现在会先用
What's Changed
- first part for phy simluation by @shenjackyuanjie in #34
Full Changelog: 0.8.3.0...0.8.4.0
0.8.3.0 bug fix and rework (breaking changes)
What's Changed
- remove pyglet_rs (it just look useless by @shenjackyuanjie in #28
- Feature/get named logger by @shenjackyuanjie in #29
- Feature/rebase dr runtime by @shenjackyuanjie in #30
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
添加
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 forLinux
MacOS
Windows
dr_game 0.2.0.0
package withdr_rs 0.2.10.1
build forcpython 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
#27 啊啊啊啊啊啊啊 WHY FIX ISSUE AFTER RELEASE
Full Changelog: 0.8.1.0...0.8.2.0
DR sdk 0.8.2.0
Fix
- issue #27 (https://github.com/shenjackyuanjie/Difficult_Rocket/issues/27)
为什么每次发完release都要修issue啊 font文件夹不存在就会报错
0.8.1.0 bug fix and build improvement
What's Changed
- Feature/python build by @shenjackyuanjie in #25
Fix
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
- A multi-thread console based on
- 一个基于
Bug 修复
- #19
BorrowMutError