aboutsummaryrefslogtreecommitdiff
Commit message (Expand)AuthorAge
...
* Quantize light frustum calculations (#12357)x20482022-05-23
* Formally drop support for building with upstream Irrlichtsfan52022-05-23
* Fix hash implementation for SerializedBlockCachesfan52022-05-23
* Use unordered_map instead of map for MapSectorsRichard Try2022-05-23
* Add missing concurrency protection in logger (#12325)paradust72022-05-23
* Fix no_texture.png for unknown nodes with ID < 125 (#12329)Wuzzy2022-05-23
* Docs: clarify spawn_by for decorationsZughy2022-05-23
* Add missing comma in example in lua_api.txt (#12339)Wuzzy2022-05-22
* Add relative numbers for commands by prepending ~ (#9588)Wuzzy2022-05-22
* Replace all uses of core::list with std::list (#12313)paradust72022-05-22
* Fixes needed to use irrArray backed by std::vector (#12263)paradust72022-05-22
* Bump IrrlichtMt version in CIsfan52022-05-22
* Don't ignore server disconnects in client codesfan52022-05-21
* Fixes to Android build + option to turn LuaJIT on/off for testing purposes (#...paradust72022-05-21
* Make no_screenshot image more clear (#12346)Zughy2022-05-21
* Patch built-in Lua to fix miscompile on Android (#12347)paradust72022-05-21
* Optimize JSON string (de)serialization routinessfan52022-05-21
* Improve testSerializeJsonString unit testssfan52022-05-21
* Deprecate game.conf name, use title instead (#12030)rubenwardy2022-05-21
* Improve shadow filters (#12195)x20482022-05-21
* Fix lighting of upright_sprite entities (#12336)x20482022-05-20
* Fix lighting of the wield mesh (#12341)x20482022-05-20
* Use std::map instead of core::map (#12301)paradust72022-05-18
* Remove confusing message in keybindings menusavilli2022-05-17
* Add vcs-browser and contribute URLs to AppdataJakobDev2022-05-17
* DevTest: Fix broken PNG texturesWuzzy2022-05-17
* Initialize wield mesh color when wield_image is setDmitry Kostenko2022-05-15
* Use native packer to transfer globals into async env(s)sfan52022-05-10
* Support packing arbitrary graphs (#12289)Jude Melton-Houghton2022-05-10
* Fix cooking and fuel crafts with aliasesJude Melton-Houghton2022-05-10
* Add doc to list breaking changes for the next major releaseZughy2022-05-10
* Fix possible unreliable behavior due to uninitialized variablesOctavian2022-05-10
* Add more Prometheus metrics (#12274)sfan52022-05-09
* HUD: Update selection mesh every frame (#12270)Lars Müller2022-05-09
* Fix Minetest blaming the wrong mod for errors (#12241)Lars Müller2022-05-09
* Docs: Recommend `self.name` (#12239)Lars Müller2022-05-09
* Consolidate some data structures in MapBlockMeshsfan52022-05-08
* Cache serialized mapblocks during sendingsfan52022-05-08
* item_entity: Cache collisionbox for use in on_stepsfan52022-05-08
* Fix mapblock geometry optimisation not workingROllerozxa2022-05-08
* Remove unused variable WARN_INITZughy2022-05-08
* Enable dependencies when enabling modpacks (#12202)Jude Melton-Houghton2022-05-08
* Fix enabling of dependencies with identical names (#12253)Jude Melton-Houghton2022-05-08
* Fix mods not being recursively enabledrubenwardy2022-05-08
* Fix texture packs showing as "Nil (enabled)" in Content tabrubenwardy2022-05-07
* Add benchmarks for json string serialize/deserialize (#12258)paradust72022-05-06
* Enable chat clickable weblinks by default (#12115)Froggo2022-05-06
* Bump IrrlichtMt to 1.9.0mt5 in CIsfan52022-05-06
* Declare all bundled libs as staticsfan52022-05-06
* Sort out some issues with our CI setupsfan52022-05-06
end function vector.angle(a, b) local dotp = vector.dot(a, b) local cp = vector.cross(a, b) local crossplen = vector.length(cp) return math.atan2(crossplen, dotp) end function vector.dot(a, b) return a.x * b.x + a.y * b.y + a.z * b.z end function vector.cross(a, b) return { x = a.y * b.z - a.z * b.y, y = a.z * b.x - a.x * b.z, z = a.x * b.y - a.y * b.x } end function vector.add(a, b) if type(b) == "table" then return {x = a.x + b.x, y = a.y + b.y, z = a.z + b.z} else return {x = a.x + b, y = a.y + b, z = a.z + b} end end function vector.subtract(a, b) if type(b) == "table" then return {x = a.x - b.x, y = a.y - b.y, z = a.z - b.z} else return {x = a.x - b, y = a.y - b, z = a.z - b} end end function vector.multiply(a, b) if type(b) == "table" then return {x = a.x * b.x, y = a.y * b.y, z = a.z * b.z} else return {x = a.x * b, y = a.y * b, z = a.z * b} end end function vector.divide(a, b) if type(b) == "table" then return {x = a.x / b.x, y = a.y / b.y, z = a.z / b.z} else return {x = a.x / b, y = a.y / b, z = a.z / b} end end function vector.sort(a, b) return {x = math.min(a.x, b.x), y = math.min(a.y, b.y), z = math.min(a.z, b.z)}, {x = math.max(a.x, b.x), y = math.max(a.y, b.y), z = math.max(a.z, b.z)} end