diff --git a/CHANGELOG.md b/CHANGELOG.md index 845cedc9..fc94db50 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,96 +1,151 @@ -# 0.25 - 2024.12.01 +# 0.26 - 2025.01.24 -[Documentation](https://github.com/MihailRis/VoxelEngine-Cpp/tree/release-0.25/doc/en/main-page.md) for 0.25 +[Documentation](https://github.com/MihailRis/VoxelEngine-Cpp/tree/release-0.26/doc/en/main-page.md) for 0.26 Table of contents: - [Added](#added) + - [Changes](#changes) - [Functions](#functions) - [Fixes](#fixes) ## Added -- 3dtext -- blockwraps -- network (http requests and sockets) +- headless mode `--headless +- script execution mode `--headless --script filename` +- test execution mode `--headless --test filename` +- vctest console application - libraries: - - base64 - - gfx.text3d - - gfx.blockwraps - - network + - app + - byteutil +- in-game chat +- text markup: Markdown +- syntax-highlighting: Lua +- http post requests +- `Scripts` menu page for app scripts +- binding `hud.chat` +- user-defined console.submit - events: - - on_replaced - - on_block_replaced - - on_player_tick -- structures 'lowering' property -- add 'hint' property to textbox -- add 'taking' and 'placing' properties to slot and slotsgrid -- add 'scroll-step' property to container -- add 'line-numbers' and 'text-color' to textbox -- modules: - - base:util -- uinode property 'id' -- block.materials table -- block.properties table -- item.properties table -- add version to world info table -- add 'sizeSpread' particles property -- add user properties + - on_chunk_present + - on_chunk_remove + - on_inventory_open + - on_inventory_closed +- [canvas](https://github.com/MihailRis/VoxelEngine-Cpp/pull/444) ui node +- settings: + - `graphics.dense-render` +- block properties: + - `culling` +- particles properties: + - `angle_spread` + - `min_angular_vel`, `max_angular_vel` +- bytearray support in serializers +- ui properties: + - uinode: `cursor` + - textbox: `markup`, `syntax`, `text-color` + - label: `markup` +- base pack: + - add transparent leaves render mode + - add falling leaves particles + - 'states' parameter in base:falling_block +- nameless worlds +- SIGTERM handler +- project: + - clang Windows workflow + - engine tests + +### Changes + +- moved `devtools.console` binding handler to Lua +- move `key:escape` binding handler to Lua +- upgrade dead emitters garbage collection +- reserved player entity ids: `0` - none (example: dead), `-1` - auto (spawns new one) +- input.add_callback("key:name") support and add optional `owner` argument ### Functions -- player.is_infinite_items -- player.set_infinite_items -- player.is_instant_destruction -- player.set_instant_destruction -- player.get_name -- player.set_name -- hud.open -- base64.encode -- base64.decode -- utf8.escape -- string.escape +- app.tick +- app.sleep +- app.sleep_until +- app.new_world +- app.open_world +- app.save_world +- app.close_world +- app.reopen_world +- app.delete_world +- app.config_packs +- app.reconfig_packs +- app.get_setting +- app.set_setting +- app.get_version +- app.get_setting_info +- app.load_content +- app.reset_content +- app.is_content_loaded +- app.quit +- entity:get_player +- start_coroutine +- gui.clear_markup +- gui.escape_markup +- gui.alert +- gui.confirm +- gui.load_document +- console.get +- world.get_chunk_data +- world.set_chunk_data +- world.save_chunk_data +- world.count_chunks +- player.create +- player.delete +- player.is_suspended +- player.set_suspended +- player.is_loaded_chunks +- player.set_loading_chunks +- network.post +- table.shuffle +- table.deep_copy +- math.normalize +- math.round +- byteutil.pack +- byteutil.unpack +- file.name +- file.stem +- file.ext +- file.prefix +- hud.set_allow_pause +Methods: +- uinode:reposition +- socket:available - textbox:lineAt - textbox:linePos -- network.get -- network.get_binary -- network.tcp_connect -- network.tcp_open -- network.get_total_upload -- network.get_total_download -- gfx.text3d.show -- gfx.text3d.hide -- gfx.text3d.get_text -- gfx.text3d.set_text -- gfx.text3d.get_pos -- gfx.text3d.set_pos -- gfx.text3d.get_axis_x -- gfx.text3d.set_axis_x -- gfx.text3d.get_axis_y -- gfx.text3d.set_axis_y -- gfx.text3d.set_rotation -- gfx.text3d.update_settings +New overloads: +- block.get_X, block.get_Y, block.get_Z +- player.get_rot ## Fixes - -- [fix translucent blocks render](https://github.com/MihailRis/VoxelEngine-Cpp/pull/370) -- [fix blocks selection with semi-transparent blocks](https://github.com/MihailRis/VoxelEngine-Cpp/commit/171cbb48d099032d7e78c51a46c374104f96f0d1) -- [fix: commands repository not reset before world open](https://github.com/MihailRis/VoxelEngine-Cpp/commit/1a00a91b604399f3108aa995422d371e573e650b) -- [mip-mapping related fixes](https://github.com/MihailRis/VoxelEngine-Cpp/commit/d9277e1b31714632bd7f5f601b8362a9e7cb8819) -- [fix disabled slots display](https://github.com/MihailRis/VoxelEngine-Cpp/commit/e8ee3e04b1398a3ada8445591267525304410571) -- [fix attack](https://github.com/MihailRis/VoxelEngine-Cpp/commit/bc17abc8b3ee7ff9027f7e3c375ca0330bb8e7bc) -- [fix: commands repository not reset before world open](https://github.com/MihailRis/VoxelEngine-Cpp/commit/1a00a91b604399f3108aa995422d371e573e650b) -- [fix stdlib.lua](https://github.com/MihailRis/VoxelEngine-Cpp/commit/6ec33ab98c78523eaececf40f113f2323d25a33a) -- [fix file.write_bytes](https://github.com/MihailRis/VoxelEngine-Cpp/commit/0fec17a8b69ac81255b77022f3af5addf8fcc8f8) -- [fix World::nextInventoryId](https://github.com/MihailRis/VoxelEngine-Cpp/commit/371fdaedcef2c163edd226160f388068b2bf5e83) -- [fix block inventory unbinding](https://github.com/MihailRis/VoxelEngine-Cpp/commit/6f6c2a916afd6b9b79221111fc72b1a86109be13) -- [fix xml text escapes handling](https://github.com/MihailRis/VoxelEngine-Cpp/commit/53c54dc91d132c221ff5fea2f7e9fb4568db9a0f) -- [fix `\'` escape parsing](https://github.com/MihailRis/VoxelEngine-Cpp/commit/2bc6cbda2e809b14fa6cffe09161b53c1636675f) -- [fix crosshair look](https://github.com/MihailRis/VoxelEngine-Cpp/commit/e034bda477c35efe96548e78ecc722966a7a2197) -- [fix: actual block inventory size not updating on inventory-size property update](https://github.com/MihailRis/VoxelEngine-Cpp/commit/1ba5b0ce33103e539ccb199ee1cd52095e286a1f) -- [fix falling block hitbox](https://github.com/MihailRis/VoxelEngine-Cpp/commit/352ef6485a4b796d1cdc8dd0e00ab1a1d72a2c0a) -- [fix console position](https://github.com/MihailRis/VoxelEngine-Cpp/commit/3ea213e8d3cee7be55ec39ffb18dc557dec7557b) -- [fix: fatal error on pack removal when no world open](https://github.com/MihailRis/VoxelEngine-Cpp/commit/78d5ab02c2ba8a3d05cf5639eb10a49c9ca14ec3) -- [fix custom model lighting](https://github.com/MihailRis/VoxelEngine-Cpp/commit/a333cadfcaeb485a30833343d55faf01b28a5c5f) -- [fix: emitter does not skip particles](https://github.com/MihailRis/VoxelEngine-Cpp/commit/983e516fb4ebc1f2def592f2b7f3195d968deed2) -- [fix old custom models render](https://github.com/MihailRis/VoxelEngine-Cpp/commit/82733d38011b52a426cb74560521949c1cd43cc1) +- [fix on_block_interact & fix segfault after engine finished](https://github.com/MihailRis/VoxelEngine-Cpp/commit/d1f92c21d0bbdf2df0eb3b31c5637bdf7110444c) +- [fix item.properties](https://github.com/MihailRis/VoxelEngine-Cpp/commit/92fb19ba5e2307fdbcbf5d0e55f9c0712be45f72) +- [fix base:bazalt durability](https://github.com/MihailRis/VoxelEngine-Cpp/commit/a036c5e383135dc0f9b086e244188d1ceb3f0bf2) +- [fix camera-related bugs](https://github.com/MihailRis/VoxelEngine-Cpp/commit/0d071ab0141edbf087f3ec03505792740023c01e) +- [fix: grabbed item is deleted on inventory close](https://github.com/MihailRis/VoxelEngine-Cpp/commit/2787f2fc5495004f6029644ed5221f3abfc0c68f) +- [fix block overriding](https://github.com/MihailRis/VoxelEngine-Cpp/commit/cda34e3975a42696ea31a1b0018731e746cd13bb) +- [fix faces culling when 'light-passing' is false](https://github.com/MihailRis/VoxelEngine-Cpp/commit/954724c8378da525fc7349c018e9351c5bdfdf8f) +- [fix particles lighting](https://github.com/MihailRis/VoxelEngine-Cpp/commit/6be640458d6b4ae46866b342ca0f26e561ead125) +- [fix non-skipping particles](https://github.com/MihailRis/VoxelEngine-Cpp/pull/421/commits/f1c7317c5ab2a148e5188e091cd1aa3490dc8b4d) +- [fix content stats](https://github.com/MihailRis/VoxelEngine-Cpp/commit/97eef3ef1900157a9648bade8e06b203b99ee6f6) +- [fix byte manipulation functions](https://github.com/MihailRis/VoxelEngine-Cpp/commit/9490d1f7eacb00f56112dfdd1ea12bb9c3ca528d) +- [fix error handling in events and runnables](https://github.com/MihailRis/VoxelEngine-Cpp/commit/03a3062940ebfc4e8f0b3efc5930c71f8d07b604) +- [fix small dumb legacy memory leak](https://github.com/MihailRis/VoxelEngine-Cpp/commit/4d0b9f049b79322959e4aefd95eedc665e87d087) +- [fix grass lighting](https://github.com/MihailRis/VoxelEngine-Cpp/commit/9d7816a286fb3a7269b5220502354720e4d2726b) +- [small fixes in translation.](https://github.com/MihailRis/VoxelEngine-Cpp/commit/d25452784d68be19821dc917ad15bc0a92d81bd9) +- [fix errors handling in event handlers](https://github.com/MihailRis/VoxelEngine-Cpp/commit/f62fc5a039dca70219fb2b38f61fc53a2542adf7) +- [fix lua stack manipulations](https://github.com/MihailRis/VoxelEngine-Cpp/commit/e7555448cf0df86995b40d67fa58de1ca78f8105) +- [fix lua::create_lambda](https://github.com/MihailRis/VoxelEngine-Cpp/commit/40cdebb175014736e35bc31ecc93ae72fb00a6e9) +- [fix some UB](https://github.com/MihailRis/VoxelEngine-Cpp/commit/b5999fe36420d116674abc353ed3dad739ac5f70) +- [fix rigidbody:is_enabled](https://github.com/MihailRis/VoxelEngine-Cpp/commit/2adfbdb19226b2685848131073a56b354706433d) +- [fix panel elements removal](https://github.com/MihailRis/VoxelEngine-Cpp/commit/c6951e09651149463528bdffbc2cba4ea41de4a4) +- [fix infinite block fields conversion requests](https://github.com/MihailRis/VoxelEngine-Cpp/commit/0494db91872abff500cfc153a32035ee3f2745ae) +- [fix data_buffer:put_number](https://github.com/MihailRis/VoxelEngine-Cpp/commit/e247902cc6ffdaa6beab391fcfdaea7f021ab063) +- [fix textbox horizontal scroll & fix console log width](https://github.com/MihailRis/VoxelEngine-Cpp/commit/13fde2116d095b9393c4f5804ba23071e5f56ad6) +- [fix is_array](https://github.com/MihailRis/VoxelEngine-Cpp/pull/420) +- [fix neighbour chunk update](https://github.com/MihailRis/VoxelEngine-Cpp/pull/404) +- [fix lamp material](https://github.com/MihailRis/VoxelEngine-Cpp/commit/57356e1d64d6d9d7e8d59b078543b290e998ad00)