归档: 2020

挂钩 Windows 的窗口消息处理函数

--> [src: Terraria] 动机 很多游戏在窗口失焦时会自动暂停,绝大多数情况下这没问题,也是玩家期待的行为,因为游戏大概率是全屏或最大化运行,没有玩家希望因为一个弹窗而导致角色死亡。但是如果游戏的输入操作都已经被自动化(如游戏内机制、脚本),或者游戏本身就并不需要太多输入,甚至双屏且大脑具有超线程的用户希望同时激活两个窗口。这个【自动暂停】显然是不利的,强制保持ACTIV

Windows 字体折腾指南

改善Windows自身的字体渲染效果 众所周知,Windows的字体渲染的效果非常差,从隔壁系统过来的话常常会感到眼睛受到了侮辱。但是Windows10自带字体呈现效果似乎有了改观,启用ClearType,在高分屏下改观尤为明显,只可惜用户安装字体可能无法享受这个待遇,而Windows10自带的UI字体微软雅黑又胖又矮实在有点倒胃口,新版微软雅黑又迟迟不见踪影。

实现 constexpr 数学函数(元编程 / 改Clang源码)

动机 constexpr 是个好东西,到了C++20,它条件又放宽了很多,甚至动态分配内存都可以在编译时进行。然而,cmath(math.h),里面的数学函数因为有副作用(errno或fenv异常)导致不能是constexpr。 解决方案 写个编译期数学库 想要在编译期做数学运算的的话可以自己写库,简单搜索一下Github,已经有了gcem,static_math 只要熟悉数值算法