Releases: skywind3000/GameLib
Releases · skywind3000/GameLib
Release list
20260506 - v1.9.9
- Fix old c++ compiler errors.
20260501 - v1.9.8
20260421 - v1.9.7
- 新增:AspectLock(bool lock, uint32_t color) 是否在窗口缩放时锁定内容缩放的纵横比
- FillRect 不透明路径优化:alpha==255 时首行逐像素填充,后续行用 memcpy 从第一行复制,宽矩形性能显著提升
- DrawText 空行跳过:内嵌 8x8 字体逐字符逐行渲染时,bits==0 的行直接 continue,空格等字符几乎零开销
- DrawTextScale 1:1 快路径:w==8 && h==8 时直接走 DrawText,避免查找表开销
- 修复:鼠标在锁定纵横比状态下坐标换算问题
20260420 - v1.9.4
- 新增
GetFramebuffer()接口,返回uint32_t*的 _framebuffer 指针,可以直接用fb[y * GetWidth() + x]访问像素; - 点阵字库缩放绘制支持任意尺寸缩放:
DrawTextScale允许传入 w, h 表示绘制出来的字符想要的宽和高; - 大幅优化
DrawTextScale性能,使用定点数和查找表预计算除法,并且不透明像素直接写 _framebuffer; - PlayPCM 支持播放任意 PCM 数据;
- PlayBeep 重构,使用 PlayPCM 实现,去除阻塞主线程的限制,完全异步化;
20260419 - v1.9.0
- 音频子系统重构:原始单通道 -> 低延迟设备输出+多通道软件重采样混音
- 新增
DrawPrintfScale:带缩放的格式化文字输出 - 新增
KEY_ADD/KEY_SUBTRACT:数字键盘 +/- 按键常量 - SDL mixer 初始化扩展:统一注册更多音频格式 flag,记录
Mix_Init返回值以判断 MIDI 可用性 - 音频后端惰性初始化:waveOut 设备改为首次
PlayWAV时才打开,不用音效的游戏零开销
20260417 - v1.8.1
- Framebuffer 同窗口尺寸解耦合,窗口支持随意改变大小,更新时再把 Framebuffer 缩放绘制;
- 新增立即模式 UI 系统,首批支持四个基础控件:Button, CheckBox, RadioBox, ToggleButton;
- 精灵绘制增加旋转功能;
- 增加截屏功能,将 Framebuffer 保存成图片,方便自动化测试;
- 场景管理:简单场景切换的状态机管理;
- 本地 Key/Value 存储系统:方便初学者实现游戏存档和排行版功能;