{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":218187091,"defaultBranch":"master","name":"opengametools","ownerLogin":"jpaver","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-10-29T02:26:08.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/8569715?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1698105405.0","currentOid":""},"activityList":{"items":[{"before":"69b2b999f9e364ed8d30652c2e2dbbf71431958c","after":"a45c00f7c4ff2e7f750099cba7fcc299e0d08096","ref":"refs/heads/master","pushedAt":"2023-11-16T07:54:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jpaver","name":null,"path":"/jpaver","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8569715?s=80&v=4"},"commit":{"message":"ogt_vox: add type-based memory alignment within the internal sub allocator.\n\n- attempted fix for https://github.com/jpaver/opengametools/issues/62.\n- we now use a new _vox_suballoc_array type that internally aligns base offset to the size of the type by default (in cases where alignment matters, I'd expect the struct to be padded to the natural alignment and for all members to have appropriate alignment padding for them too)\n- this still relies upon a reasonable alignment from _vox_malloc, which should either be guaranteed to be 8 or 16 in most 64-bit platforms\n\n@mgerhardy, PTAL and confirm this fixes your ASAN testing issue. Thanks!","shortMessageHtmlLink":"ogt_vox: add type-based memory alignment within the internal sub allo…"}},{"before":"ba75d6550a15f5a9363d9bee5fca92a72c5218b5","after":"784c56e1c325e474a9ba5b8970f73be937f0e502","ref":"refs/heads/ogt-vox-alignment","pushedAt":"2023-10-24T00:20:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jpaver","name":null,"path":"/jpaver","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8569715?s=80&v=4"},"commit":{"message":"ogt_vox: add type-based memory alignment within the internal sub allocator.\n\n- attempted fix for https://github.com/jpaver/opengametools/issues/62.\n- we now use a new _vox_suballoc_array type that internally aligns base offset to the size of the type by default (in cases where alignment matters, I'd expect the struct to be padded to the natural alignment and for all members to have appropriate alignment padding for them too)\n- this still relies upon a reasonable alignment from _vox_malloc, which should either be guaranteed to be 8 or 16 in most 64-bit platforms\n\n@mgerhardy, PTAL and confirm this fixes your ASAN testing issue. Thanks!","shortMessageHtmlLink":"ogt_vox: add type-based memory alignment within the internal sub allo…"}},{"before":"6878078a42f824fa3a8fbc1ced85e9f28e68c873","after":"ba75d6550a15f5a9363d9bee5fca92a72c5218b5","ref":"refs/heads/ogt-vox-alignment","pushedAt":"2023-10-24T00:11:37.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jpaver","name":null,"path":"/jpaver","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8569715?s=80&v=4"},"commit":{"message":"ogt_vox: add type-based memory alignment within the internal sub allocator.\n\n- fix for https://github.com/jpaver/opengametools/issues/62","shortMessageHtmlLink":"ogt_vox: add type-based memory alignment within the internal sub allo…"}},{"before":"05335250aedc75b33a6a9bd9604cae42c7a84064","after":"6878078a42f824fa3a8fbc1ced85e9f28e68c873","ref":"refs/heads/ogt-vox-alignment","pushedAt":"2023-10-24T00:04:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jpaver","name":null,"path":"/jpaver","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8569715?s=80&v=4"},"commit":{"message":"ogt_vox: add type-based memory alignment within the internal sub allocator.\n\n- fix for https://github.com/jpaver/opengametools/issues/62","shortMessageHtmlLink":"ogt_vox: add type-based memory alignment within the internal sub allo…"}},{"before":null,"after":"05335250aedc75b33a6a9bd9604cae42c7a84064","ref":"refs/heads/ogt-vox-alignment","pushedAt":"2023-10-23T23:56:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jpaver","name":null,"path":"/jpaver","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8569715?s=80&v=4"},"commit":{"message":"ogt_vox: add type-based memory alignment within the internal sub allocator.\n\n- fix for https://github.com/jpaver/opengametools/issues/62","shortMessageHtmlLink":"ogt_vox: add type-based memory alignment within the internal sub allo…"}},{"before":"c40fe6038d70c16cc8c852507ecd86b30090444a","after":"69b2b999f9e364ed8d30652c2e2dbbf71431958c","ref":"refs/heads/master","pushedAt":"2023-09-30T01:55:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jpaver","name":null,"path":"/jpaver","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8569715?s=80&v=4"},"commit":{"message":"Fix for _vox_models_are_equal comparing two models with the same volume but different dimensions as equal","shortMessageHtmlLink":"Fix for _vox_models_are_equal comparing two models with the same volu…"}},{"before":"a4797815901517aacaf03628391766d9d68902a6","after":null,"ref":"refs/heads/jp-fix-strcpy-overrun","pushedAt":"2023-07-27T04:56:07.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jpaver","name":null,"path":"/jpaver","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8569715?s=80&v=4"}},{"before":"61927db3af731109b0121240080467c6cff79d8c","after":null,"ref":"refs/heads/ogt-vox-fix-vox2obj-for-legacy-models","pushedAt":"2023-07-27T04:56:05.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jpaver","name":null,"path":"/jpaver","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8569715?s=80&v=4"}},{"before":"8b46b0e0df3df0e5eec66d2802012b5b48e6b9d1","after":"c40fe6038d70c16cc8c852507ecd86b30090444a","ref":"refs/heads/master","pushedAt":"2023-07-25T02:56:04.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"jpaver","name":null,"path":"/jpaver","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8569715?s=80&v=4"},"commit":{"message":"CI: execute the tests\n\nalso see issue #37","shortMessageHtmlLink":"CI: execute the tests"}},{"before":"c38c248bcbc0fe65e2e2c47bfbad149c3975aee6","after":"8b46b0e0df3df0e5eec66d2802012b5b48e6b9d1","ref":"refs/heads/master","pushedAt":"2023-07-25T02:55:19.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"jpaver","name":null,"path":"/jpaver","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8569715?s=80&v=4"},"commit":{"message":"voxseparate: fix uninitialized members causing segfaults\n\n- also we now use ogt_vox_transform_get_identity() instead of explicitly defining it.","shortMessageHtmlLink":"voxseparate: fix uninitialized members causing segfaults"}},{"before":"b5ddd9f0f1cefc2fefec72eaf516146dd2cb9268","after":"c38c248bcbc0fe65e2e2c47bfbad149c3975aee6","ref":"refs/heads/master","pushedAt":"2023-07-25T02:49:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jpaver","name":null,"path":"/jpaver","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8569715?s=80&v=4"},"commit":{"message":"opengametools: fix vox2obj reading + converting legacy .vox files\n\nfixes: https://github.com/jpaver/opengametools/issues/55\n\n- legacy vox files don't contain information about groups, transforms, animations etc, so a lot of the paths in vox2obj that assume that groups/keyframes exist were problematic.\n- we fix this in 2 ways\n1. we now create a default group when importing these legacy vox files.\n2. we now don't allow clients to sample directly from the ogt_vox_anim_transform structures, but only directly from the instances or the groups themselves. This allows the sampling functions to fallback to the embedded transform if no keyframes exist.\n3. we now expose global and local versions of transform sampling for both instances and groups. Global = world space flattened transform. Local = transform relative to the parent group.\n- I took the opportunity to expose ogt_vox_transform_get_identity() and ogt_vox_transform_multiply to the clients in case they need to compose local transforms in interesting ways.","shortMessageHtmlLink":"opengametools: fix vox2obj reading + converting legacy .vox files"}},{"before":null,"after":"61927db3af731109b0121240080467c6cff79d8c","ref":"refs/heads/ogt-vox-fix-vox2obj-for-legacy-models","pushedAt":"2023-07-22T22:00:00.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jpaver","name":null,"path":"/jpaver","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8569715?s=80&v=4"},"commit":{"message":"opengametools: fix vox2obj reading + converting legacy .vox files\n\nfixes: https://github.com/jpaver/opengametools/issues/55\n\n- legacy vox files don't contain information about groups, transforms, animations etc, so a lot of the paths in vox2obj that assume that groups/keyframes exist were problematic.\n- we fix this in 2 ways\n1. we now create a default group when importing these legacy vox files.\n2. we now don't allow clients to sample directly from the ogt_vox_anim_transform structures, but only directly from the instances or the groups themselves. This allows the sampling functions to fallback to the embedded transform if no keyframes exist.\n3. we now expose global and local versions of transform sampling for both instances and groups. Global = world space flattened transform. Local = transform relative to the parent group.\n- I took the opportunity to expose ogt_vox_transform_get_identity() and ogt_vox_transform_multiply to the clients in case they need to compose local transforms in interesting ways.","shortMessageHtmlLink":"opengametools: fix vox2obj reading + converting legacy .vox files"}},{"before":"d3240fc48f2aee4ff6926d9b70ea3716fed2b743","after":"b5ddd9f0f1cefc2fefec72eaf516146dd2cb9268","ref":"refs/heads/master","pushedAt":"2023-07-22T20:46:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jpaver","name":null,"path":"/jpaver","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8569715?s=80&v=4"},"commit":{"message":"vox2obj: fix compilation for windows again\n\n- a prior change to get this compiling for linux introduced std::min/std::max.\n- unfortunately windows headers pollute the global namespace with symbols like min/max, which conflicts with the usage of std::min/std::max.\n- microsoft: can we have clean headers please?","shortMessageHtmlLink":"vox2obj: fix compilation for windows again"}},{"before":"b6812f9c702d6e2cc1637be1d0303c71614460eb","after":"d3240fc48f2aee4ff6926d9b70ea3716fed2b743","ref":"refs/heads/master","pushedAt":"2023-07-22T20:32:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jpaver","name":null,"path":"/jpaver","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8569715?s=80&v=4"},"commit":{"message":"ogt_vox: added progress callback","shortMessageHtmlLink":"ogt_vox: added progress callback"}},{"before":"54a0fcf8fb88578a828fdcf4e6440ab8e4eaac54","after":"b6812f9c702d6e2cc1637be1d0303c71614460eb","ref":"refs/heads/master","pushedAt":"2023-07-22T20:20:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jpaver","name":null,"path":"/jpaver","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8569715?s=80&v=4"},"commit":{"message":"ogt_vox: added build pipeline for linux","shortMessageHtmlLink":"ogt_vox: added build pipeline for linux"}},{"before":"f7c760b89558e93a728932df546a4ab25bcf1026","after":"54a0fcf8fb88578a828fdcf4e6440ab8e4eaac54","ref":"refs/heads/master","pushedAt":"2023-07-22T19:58:03.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"jpaver","name":null,"path":"/jpaver","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8569715?s=80&v=4"},"commit":{"message":"vox2fbx: use open_file, too","shortMessageHtmlLink":"vox2fbx: use open_file, too"}},{"before":"4cd9067c4123ca56e19023f836ca7a368f9a2644","after":"f7c760b89558e93a728932df546a4ab25bcf1026","ref":"refs/heads/master","pushedAt":"2023-06-11T20:08:24.415Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jpaver","name":null,"path":"/jpaver","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8569715?s=80&v=4"},"commit":{"message":"Added asserts to catch saving and loading of a model with zero size","shortMessageHtmlLink":"Added asserts to catch saving and loading of a model with zero size"}},{"before":"fca5bc9c8458b2565be1478221a52220dd5fe897","after":"4cd9067c4123ca56e19023f836ca7a368f9a2644","ref":"refs/heads/master","pushedAt":"2023-06-11T19:55:47.947Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"jpaver","name":null,"path":"/jpaver","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8569715?s=80&v=4"},"commit":{"message":"Update src/ogt_vox.h","shortMessageHtmlLink":"Update src/ogt_vox.h"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADsGwGCgA","startCursor":null,"endCursor":null}},"title":"Activity · jpaver/opengametools"}