Skip to content

Instantly share code, notes, and snippets.

View hhrhhr's full-sized avatar

Dmitry Zaitsev hhrhhr

  • Russia, Veliky Novgorod
View GitHub Profile
@hhrhhr
hhrhhr / mass_convert.bat
Last active February 16, 2019 21:29
Subnautica Below Zero: map export
@echo off
rem edit paths (input and output)
set MESH_DIR=b:\sub
set WORK_DIR=d:\tmp\subnautica\zero_work
set LUA=E:\devel\lua_x64\lua.exe
set LUA_DIR=%~dp0%
:convert
@hhrhhr
hhrhhr / invaders_generator.lua
Created November 8, 2018 20:02
Invaders generator for LÖVE
local lg = love.graphics
local rnd = math.random
local canvas
local show_help
local invader_sz
local invader_num
local function hsv2rgb(H, S, V) -- 0...360
local Hi = math.floor(H / 60) % 6
@hhrhhr
hhrhhr / ColorCheckerSG.txt
Last active April 12, 2019 06:04
ColorChecker SG SVG generator
LGOROWLENGTH 12
ORIGINATOR "ColorCheckerSG - November2014 edition and newer"
MANUFACTURER "X-Rite - http://www.xrite.com"
5/11/2015 # Time: 16:08
"i1Pro 2 ; Serial number 1000691"
"MeasurementCondition=M0 Filter=no"
NUMBER_OF_FIELDS 4
@hhrhhr
hhrhhr / ProfileTCC.qbs
Created August 8, 2018 00:56
Qbs profile for Tiny C Compiler and some examples
import qbs
Project {
Profile {
// condition: true
name: "TCC-32"
qbs.toolchainType: "gcc"
qbs.architecture: "x86"
qbs.targetOS: "windows"
qbs.targetPlatform: "windows"
@hhrhhr
hhrhhr / w2em.bob.csv
Created February 10, 2017 14:25
parsed hub pins
entityType X Y Z entityName
AlchemyTable -404.70846557617 -798.3857421875 25.471561431885 mq7024_alchemy_table
ArmorRepairTable -1132.4968261719 72.598106384277 51.316051483154 repair_table_bob_3
ArmorRepairTable -20.374904632568 285.32702636719 10.792315483093 repair_table_bob_7
ArmorRepairTable -271.07943725586 643.38385009766 2.8930871486664 repair_table_bob_1
ArmorRepairTable -365.51690673828 -813.21014404297 31.254356384277 mq7024_armor_table
ArmorRepairTable -460.71783447266 -951.64904785156 63.124675750732 repair_table_bob_2
ArmorRepairTable -487.9248046875 -1417.9982910156 91.023025512695 Repair Table
ArmorRepairTable -508.65612792969 -305.91540527344 3.5980970859528 repair_table_bob_6
ArmorRepairTable 35.185459136963 -1748.0291748047 36.432548522949 repair_table_bob_4
@hhrhhr
hhrhhr / dic_export.lua
Last active September 22, 2015 03:53
Act of Agression: lang export. usage: "lua dic_export.lua path_to_file"
assert("Lua 5.3" == _VERSION, "\n\nERROR: Lua 5.3 needed\n")
local input = assert(arg[1])
local output = arg[2] or input .. ".txt"
local r
local function read_uint32()
return string.unpack("I", r:read(4))
end
@hhrhhr
hhrhhr / threaded-cross-platform-game-development.md
Last active March 10, 2018 05:02
Разработка многопоточных кроссплатформенных игр (копия https://int-software.intel.com/ru-ru/articles/threaded-cross-platform-game-development)
Примечание
Русскоязычный оригинал в настоящее время недоступен. Ссылка на исходники и изображения взяты из статьи на английском языке.

Разработка многопоточных кроссплатформенных игр

Введение

Технологии компьютерных игр переживают эпоху значительных концептуальных перемен: переход к многопоточным движкам, оптимизированным для многоядерных процессоров. Многоядерные процессоры уже стали стандартом для ПК и игровых консолей нового поколения, и разработчики игр хотят охватить как можно больше таких систем. К сожалению, поддержка многопоточности и разных вычислительных платформ – это нетривиальная задача, и многие разработчики сталкиваются с трудностями при реализации этих задач в программном коде. В данной статье предпринята попытка облегчить задачу перехода к многопоточной архит

@hhrhhr
hhrhhr / SDL2-fix-gcc-compatibility.patch
Created September 6, 2015 18:57
SDL2: Don't try to re-implement D3D11 pieces which are already part of mingw-w64; Workaround a gcc compatibility issue
--- src/render/direct3d11/SDL_render_d3d11.c.orig 2015-03-21 20:17:57.816864185 +0100
+++ src/render/direct3d11/SDL_render_d3d11.c 2015-03-21 22:21:30.123045735 +0100
@@ -46,6 +46,9 @@
#endif /* __WINRT__ */
+#define SDL_DEBUG_STRINGIFY_ARG(str) #str
+#define SDL_DEBUG(str) SDL_DEBUG_STRINGIFY_ARG(__FUNCTION__) str
+
#define SAFE_RELEASE(X) if ((X)) { IUnknown_Release(SDL_static_cast(IUnknown*, X)); X = NULL; }
public void Deserialize(Stream input)
{
this.Version = input.ReadValueU32();
this.EncryptionKey = 0;
if (this.Version >= 114)
{
this.EncryptionKey |= (uint)(input.ReadValueU16() << 16);
}
@hhrhhr
hhrhhr / aida64_shared_memory.lua
Created March 18, 2015 20:43
test access to shared memory of AIDA64 with luajit
local lpName = "AIDA64_SensorValues"
local FILE_MAP_ACCESS = 0x0004 --> FILE_MAP_READ
local ffi = require("ffi")
ffi.cdef[[
void* __stdcall OpenFileMappingA(
unsigned long dwDesiredAccess,
int bInheritHandle,