








(edited)

(edited)










interface OiniOptions<TA, TB, TC> {
operators: { [operator: string]: (a: TA, b: TB) => TC };
}
export const oini =
<TA, TB, TC>(options: OiniOptions<TA, TB, TC>) =>
(template: TemplateStringsArray, a: TA, b: TB) => {
const operator = template[1].trim();
const operatorFunction = options.operators[operator];
if (!operatorFunction) {
throw new Error(`Operator ${operator} not found`);
}
return operatorFunction(a, b);
};































When I had the idea it really looks like an interpreter but I do only want to make single operation works
v 









now i kinda want to spend a weekend making this



















the dark time of learning in chinese










(Not Home for another hour)


























































floor(sqrt((2^31 - 1) / sizeof(int))) == 23170





floor(sqrt((2^31 - 1) / sizeof(int))) == 23170 

sizeof(int) or sizeof(CTile) but both are 4 bytes


















radv/amdgpu: Not enough memory for command submission.














freeze is not implemented. only tune zones, bcs tune zones are cool even for vanilla 








































2





















(edited)


























start_video command, to start recording to a video file with a specific filename, instead of always using the current timestamp.
Add log messages to start_video and stop_video commands to indicate success and errors.
Make the CClient::StartVideo function non-static and reduce duplicate code in the Con_StartVideo function.
Determine the video filename outside of the CVideo constructor, same as for demos.





