Andrey K [Fri, 7 Apr 2017 10:25:53 +0000 (10:25 +0000)]
Translated using Weblate (Russian)
Currently translated at 60.1% (552 of 918 strings)
monolifed [Sun, 9 Apr 2017 16:36:26 +0000 (16:36 +0000)]
Translated using Weblate (Turkish)
Currently translated at 93.6% (860 of 918 strings)
Muhammad Nur Hidayat Yasuyoshi [Fri, 7 Apr 2017 09:54:49 +0000 (09:54 +0000)]
Translated using Weblate (Malay)
Currently translated at 54.9% (504 of 918 strings)
Vaughan Lapsley [Wed, 12 Apr 2017 12:54:03 +0000 (22:54 +1000)]
Remove CMAKE -ffast-math flag from OSX/FreeBSD
Fixes issue: #4274
I have tested on MacOS 10.12.4
Requires testing on:
FreeBSD, Windows and Linux which I do not have access to.
Loic Blot [Thu, 4 May 2017 05:52:31 +0000 (07:52 +0200)]
LINT fix since cloud API merge
paramat [Thu, 4 May 2017 02:02:16 +0000 (03:02 +0100)]
Directional coloured fog: Fix order of SColor components
'video::SColor pointcolor' was initialised with order RGBA instead of ARGB.
No change in behaviour as 'm_bgcolor' has alpha 255.
paramat [Tue, 2 May 2017 00:37:23 +0000 (01:37 +0100)]
Clouds: Fix reddish clouds. Add missing alpha update
Fix accidental swap of red and blue components that caused reddish clouds
Add missing update of alpha in remoteplayer.cpp
red-001 [Wed, 19 Apr 2017 13:16:54 +0000 (14:16 +0100)]
Add function to get server info.
SmallJoker [Wed, 3 May 2017 11:48:46 +0000 (13:48 +0200)]
Fading soungs: Fix client crash on older servers
paramat [Fri, 28 Apr 2017 02:06:49 +0000 (03:06 +0100)]
Set sky API: Add bool for clouds in front of custom skybox
Default true.
Add 'm_clouds_enabled' bool to sky.h, set from new bool in 'set sky' API.
Make 'getCloudsVisible()' depend on 'm_clouds_enabled' instead of
'm_visible' (whether normal sky is visible).
SmallJoker [Sat, 1 Apr 2017 18:38:14 +0000 (20:38 +0200)]
Sneak: Improve and fix various things
Remove useless `got_teleported`.
Fix jitter when walking against the sneak limits.
Fix damage evading on sneak ladders.
Brandon [Sun, 10 Jul 2016 05:08:26 +0000 (00:08 -0500)]
Sound API: Add fading sounds
Ben Deutsch [Fri, 17 Mar 2017 09:39:47 +0000 (10:39 +0100)]
Add clouds API
Loïc Blot [Sat, 29 Apr 2017 18:36:09 +0000 (20:36 +0200)]
Optimize updateFastFaceRow processing by removing some TileSpec copy (#5678)
* Optimize updateFastFaceRow processing by removing some TileSpec copy
It permit to decrease this function from 54% runtime to 45% and reduce copy from 14% runtime to 12.5%
getTileInfo also reduced from 27% to 23%
* makeFastFace should use a const ref too
this trigger a const pointer need in the underlying function
Also fix some code style and prevent calculating 4 times the same position at a point
* Reduce a comparison cost for lights in updateFastFaceRow
shivajiva101 [Sat, 29 Apr 2017 16:18:46 +0000 (17:18 +0100)]
Fix visual slide issue with set_detach, fixes #5620
Loïc Blot [Sat, 29 Apr 2017 16:16:58 +0000 (18:16 +0200)]
content_cao: fix getPlayerControl structure copy on each step (#5677)
Also fix some codestyle issues around it.
Loïc Blot [Sat, 29 Apr 2017 15:25:25 +0000 (17:25 +0200)]
Client & ClientEnvirnment: don't create fake events (#5676)
Instead of create fake events on the stack on each loop call (Game::run), verify is queue is empty or not and handle event directly if there is.
This prevents fake ClientEvent creation & memory allocations
Same fix is also applied on ClientEnvironment, & rename getClientEvent to getClientEnvEvent to match ClientEnvEvent object
SmallJoker [Sat, 29 Apr 2017 12:36:55 +0000 (14:36 +0200)]
Fix Travis/unittest broken since
b662a45
Loic Blot [Sat, 29 Apr 2017 10:18:14 +0000 (12:18 +0200)]
Remove legacy unused define DIGGING_PARTICLES_AMOUNT
Vincent Glize [Sat, 29 Apr 2017 10:08:16 +0000 (12:08 +0200)]
[CSM] Add event on_place_node API lua (#5548)
* [CSM] Add event on_place_node API lua
Loic Blot [Sat, 29 Apr 2017 07:47:22 +0000 (09:47 +0200)]
Auke Kok [Sat, 29 Apr 2017 07:16:32 +0000 (00:16 -0700)]
Reorder TileLayer. (#5638)
Despite the split of TileSpec into TileDef and TileLayer, the
TileLayer struct is still 66 bytes large, and doesn't fit in
a single cacheline.
I'm moving the color member to cacheline 2, in the hope that it
is less used and the compiler loads all the hot members in a single
cacheline instead. Only color sits now in cacheline 2, all the
other members are in cacheline 1.
Note: is_color is probably rarely set, most nodes will likely
not use hardware coloring, but this may change in the future.
Ideally, this class is shrunk to 64 bytes.
Vincent Glize [Sat, 29 Apr 2017 07:16:06 +0000 (09:16 +0200)]
[CSM] add screenshot api lua (#5674)
* [CSM] add screenshot api lua
ShadowNinja [Sun, 6 Mar 2016 19:31:16 +0000 (14:31 -0500)]
Clean up getTime helpers
This increases size of the getTime return values to 64 bits.
It also removes the TimeGetter classes since the getTime functions
are now very precise.
you [Fri, 28 Apr 2017 18:12:28 +0000 (20:12 +0200)]
Fix click-digging torches (#5652)
Torches are dug instantly again.
When the digging time is 0, a delay of 0.15 seconds is added between digging nodes. If the left mouse button is released, the delay is set to 0, thus click-digging.
Auke Kok [Fri, 28 Apr 2017 18:11:43 +0000 (11:11 -0700)]
Allow mesh and nodeboxes to wave like plants or leaves. (#3497)
We introduce a new value for "waving" - 2:
0 - waving disabled
1 - wave like a plant
2 - wave like a leave
Plantlike nodes will only allow waving = 1, but for leaves we will
permit both 1 and 2 since current minetest_game sets it to 1 for
all leaves. This makes it somewhat backwards compatible.
For mesh and nodebox, values 1 and 2 are both valid, and the node
can wave in both fashions as desired.
I've tested this with the crops:corn plants, which are mesh nodes,
and the results are really good. The code change is trivial as
well, so I've opted to document the waving parameter in lua_api.txt
because it was missing from there.
Nodeboxes likely will not wave properly unless waving = 2. However
it's possible that waving=1 may be desired by some mod developers
for geometries I have not tried, so the code will not prohibit
either value for mesh and nodebox drawtypes.
Add lua_api.txt documentation for this feature and document both
the existing functionality and the expansion to mesh and nodebox
drawtypes.
ShadowNinja [Thu, 27 Apr 2017 14:57:46 +0000 (10:57 -0400)]
Fix Travis builds
Louis Pearson [Thu, 27 Apr 2017 11:33:59 +0000 (06:33 -0500)]
Search user path for sounds (#5657)
Loïc Blot [Thu, 27 Apr 2017 09:52:44 +0000 (11:52 +0200)]
Don't permit to copy Scripting classes (Client,Server,Mainmenu)
red-001 [Thu, 27 Apr 2017 09:49:44 +0000 (10:49 +0100)]
Allow scripts to get the client protocol version in non-debug builds. (#5649)
Bluebird [Thu, 27 Apr 2017 09:49:07 +0000 (04:49 -0500)]
Fix incorrect formspec-tooltip doc, add detail in 'floodable' & 'on_flood' docs (#5660)
* Fix incorrect formspec tooltip documentation
* Improve `floodable` and `on_flood` documentation.
The original documentation did not specify that liquids should not themselves be floodable. This is probably something that should be mentioned.
Loic Blot [Wed, 26 Apr 2017 19:11:46 +0000 (21:11 +0200)]
red-001 [Wed, 26 Apr 2017 19:10:13 +0000 (20:10 +0100)]
Fix #5655 (#5658)
Client: Don't send `TOSERVER_RECEIVED_MEDIA` since it's not used anymore
Server: Handle `TOSERVER_RECEIVED_MEDIA` using `Server::handleCommand_Deprecated`
Bluebird [Wed, 26 Apr 2017 05:24:15 +0000 (00:24 -0500)]
Tiny documentation fix. (#5659)
There are plenty of lines longer than 80 characters, and spliting the function declaration across two lines can be momentarily confusing.
ShadowNinja [Tue, 25 Apr 2017 17:38:08 +0000 (13:38 -0400)]
Rename Scripting API files for consistency
Louis Pearson [Tue, 25 Apr 2017 11:11:51 +0000 (06:11 -0500)]
Footsteps without view bobbing (#5645)
* Remove redundant view_bobbing setting
Also fixes bug where disabling view_bobbing disables footstep sounds.
* Removes redundant view_bobbing setting
Setting view_bobbing amount to 0 is now the only way to
turn view_bobbing on and off. Also fixed a bug where footstep
sounds would not play when view_bobbing was disabled.
Loïc Blot [Tue, 25 Apr 2017 08:17:53 +0000 (10:17 +0200)]
Fix various points reported by cppcheck (#5656)
* Fix various performance issues reported by cppcheck + code style (CI)
* Make CI happy with code style on master
* guiFileSelectMenu: remove useless includes
* some performance fixes pointed by cppcheck
* remove some useless casts
* TextDest: remove unused setFormSpec function
* Fix various iterator post-increment reported by cppcheck
Loïc Blot [Mon, 24 Apr 2017 14:06:27 +0000 (16:06 +0200)]
Gitlab-CI: keep build workspace only 1 hour
Loic Blot [Sun, 23 Apr 2017 14:22:53 +0000 (16:22 +0200)]
Fix lint since recent player to db merge
Loïc Blot [Sun, 23 Apr 2017 12:35:08 +0000 (14:35 +0200)]
Player data to Database (#5475)
* Player data to Database
Add player data into databases (SQLite3 & PG only)
PostgreSQL & SQLite: better POO Design for databases
Add --migrate-players argument to server + deprecation warning
* Remove players directory if empty
Loic Blot [Sun, 23 Apr 2017 08:24:00 +0000 (10:24 +0200)]
LINT fix
Loic Blot [Sun, 23 Apr 2017 08:21:08 +0000 (10:21 +0200)]
Revert "CONTRIBUTING: disallow signed git commits"
This reverts commit
7a6502a7a5007e4bed8c1dd10af39d4fa2b296a4.
Signed commits are supported by PPA and weblate now
Loïc Blot [Sun, 23 Apr 2017 07:52:40 +0000 (09:52 +0200)]
Pass clang-format on various cpp/header files (#5559)
red-001 [Sat, 22 Apr 2017 11:59:02 +0000 (12:59 +0100)]
Network:Remove old opcodes and fix documentation. (#5573)
paramat [Sat, 22 Apr 2017 04:16:50 +0000 (05:16 +0100)]
Mgflat, Mgv7: Fix noise crash on world exit.
Fix crash caused by destructor 'delete' on noise objects that are not
created due to mapgen options.
Crash was caused by commit
57eaf62c697cec91890d9cb28d10385d293d2d3f
Dániel Juhász [Fri, 21 Apr 2017 10:56:10 +0000 (12:56 +0200)]
Add /fixlight chat command
paramat [Fri, 21 Apr 2017 01:19:24 +0000 (02:19 +0100)]
Mgflat, Mgv7: Only create noise objects if needed
paramat [Thu, 20 Apr 2017 21:47:28 +0000 (22:47 +0100)]
Sneak glitch: Set default to false
The 'sneak glitch' physics override now controls whether a player can
use the new move code replications of the old sneak side-effects:
sneak ladders and 2 node sneak jump. This completes our intention to
replicate the old sneak side-effects in new code and provide them as
an option that is disabled by default.
Auke Kok [Thu, 20 Apr 2017 06:10:39 +0000 (23:10 -0700)]
Add on_flood() callback.
This callback is called if a liquid definitely floods a non-air
node on the map. The callback arguments are (pos, oldnode, newnode)
and can return a `bool` value indicating whether flooding the
node should be cancelled (`return true` will prevent the node
from flooding).
Documentation is added, the callback function was tested with a
modified minetest_game.
Note that `return true` will likely cause the node's `on_flood()`
callback to be called every second until the node gets removed,
so care must be taken to prevent many callbacks from using this
return value. The current default liquid update interval is 1.0
seconds, which isn't unmanageable.
The larger aim of this patch is to remove the lava cooling ABM,
which is a significant cost to idle servers that have lava on their
map. This callback will be much more efficient.
Dániel Juhász [Fri, 21 Apr 2017 22:55:07 +0000 (00:55 +0200)]
Fix a memory leak (#5636)
Loic Blot [Fri, 21 Apr 2017 22:51:13 +0000 (00:51 +0200)]
Fixing warning pointed by @sfan5 and clang and cleanup guiFileSelectMenu
* Also pass clang-format on guiFileSelectMenu.h and remove it from whitelist
Loic Blot [Fri, 21 Apr 2017 22:36:59 +0000 (00:36 +0200)]
Revert a const ref on update texture
if mod is a reference to a class member a variable swap breaks.
We should find a way to keep this const ref if possible.
Added a comment about this in header
Loïc Blot [Fri, 21 Apr 2017 22:34:00 +0000 (00:34 +0200)]
lua: remove core.cause_error call (#5637)
it was used in minimal to trigger core crash, not very useful
Loïc Blot [Fri, 21 Apr 2017 21:40:48 +0000 (23:40 +0200)]
Fix various performance issues reported by cppcheck + code style (CI) (#5635)
* Make CI happy with code style on master
* guiFileSelectMenu: remove useless includes
* some performance fixes pointed by cppcheck
* remove some useless casts
* TextDest: remove unused setFormSpec function
orwell96 [Fri, 21 Apr 2017 17:31:59 +0000 (19:31 +0200)]
Fix #5617 - respect message and reconnect parameters when shutting down immediately (#5621)
Dániel Juhász [Fri, 21 Apr 2017 16:04:06 +0000 (18:04 +0200)]
Fix after soft node overlays
This removes a segmentation fault and makes node meshes well colorized.
Dániel Juhász [Fri, 21 Apr 2017 13:34:59 +0000 (15:34 +0200)]
Soft node overlay (#5186)
This commit adds node overlays, which are tiles that are drawn on top of
other tiles.
Loïc Blot [Fri, 21 Apr 2017 08:22:20 +0000 (10:22 +0200)]
Gitlab-CI enhancements (#5629)
Loïc Blot [Fri, 21 Apr 2017 08:06:08 +0000 (10:06 +0200)]
Fix various performance issues reported by cppcheck (#5628)
* Also remove 1 non declared but defined functions
Ekdohibs [Thu, 20 Apr 2017 04:06:15 +0000 (06:06 +0200)]
Run generate_from_settingtypes.lua
Dániel Juhász [Sat, 11 Mar 2017 16:07:04 +0000 (17:07 +0100)]
Light update for map blocks
This is not really different from the light update of a voxel
manipulator. This update does not assume that the lighting was correct
before, therefore it is useful for correction.
Also expose this function to the Lua API for light correction, and
allow voxel manipulators not to update the light.
Dániel Juhász [Sat, 11 Mar 2017 16:03:15 +0000 (17:03 +0100)]
Split light update into two parts
The common part can be reused.
Loïc Blot [Wed, 19 Apr 2017 22:12:52 +0000 (00:12 +0200)]
Fix various copy instead of const ref reported by cppcheck (part 3) (#5616)
* Also remove 2 non declared but defined functions
* Make some functions around const ref changes const
Loïc Blot [Wed, 19 Apr 2017 21:02:07 +0000 (23:02 +0200)]
Fix various copy instead of const ref reported by cppcheck (#5615)
* Also remove InventoryList::peekItem unused function
* Fix some post increment to preincrement reported by cppcheck
paramat [Mon, 17 Apr 2017 13:17:43 +0000 (14:17 +0100)]
Conf.example: Move some lines to minetest.conf.example.extra
Some information in conf.example cannot be generated from
settingtypes.txt, moving it to a new file makes generating
conf.example while preserving that information easier.
Regenerate conf.example from settingtypes.txt.
MarkuBu [Thu, 13 Apr 2017 11:58:34 +0000 (13:58 +0200)]
Pointed thing to face pos: Fix crash if opening door with slab or stair
Avoids crash caused when 'pointed thing -under' and '-above' are not
face-neighbours, for example in the case of pointing to the top half
of a door.
Hybrid Dog [Mon, 10 Apr 2017 20:07:52 +0000 (22:07 +0200)]
Tools: Fix tool digging speed limit
Loïc Blot [Tue, 18 Apr 2017 22:36:30 +0000 (00:36 +0200)]
Fix various variables passed by copy instead of const ref (#5610)
Pointed by cppcheck
Loïc Blot [Tue, 18 Apr 2017 15:13:50 +0000 (17:13 +0200)]
Auke Kok [Tue, 18 Apr 2017 05:48:17 +0000 (22:48 -0700)]
Reorder TileSpec. (#5591)
Put accessed members that are needed by updateFastFaceRow()
all in the same cacheline.
Ekdohibs [Tue, 18 Apr 2017 04:40:53 +0000 (06:40 +0200)]
Fix always using the xbox layout (reported by coverity).
Auke Kok [Sat, 15 Apr 2017 05:16:57 +0000 (22:16 -0700)]
Don't make TAB exit game if bound to inventory.
I play with the TAB key bound to the inventory. However, the
code here assumes that TAB means "close formspec" in all contexts,
including the main menu. This causes my game to exit when I attempt
to TAB in between USERNAME and PASSWORD fields.
We know when m_client != NULL that the game is a client game and
not in the main menu, and then it's OK to use the INVENTORY bound
key to exit the formspec, since it's not the main menu.
SmallJoker [Mon, 17 Apr 2017 11:49:48 +0000 (13:49 +0200)]
Fix MSVC build broken by
34d32ce
`round` -> `myround`
Remove superflous `floor` calls
Perttu Ahola [Sat, 15 Apr 2017 07:55:52 +0000 (10:55 +0300)]
MeshUpdateQueue: Add a MapBlock cache that minimizes the amount of MapBlock copying done in the main thread
Cache size is configurable by the meshgen_block_cache_size (default 20 MB).
New profiler stats:
- MeshUpdateQueue MapBlock cache hit %
- MeshUpdateQueue MapBlock cache size kB
Removes one type of stutter that was seen on the client when received MapBlocks
were being handled. (the "MeshMakeData::fill" stutter)
Kind of related to at least #5239
Originally preceded by these commits, now includes them:
- Move the mesh generator thread into src/mesh_generator_thread.{cpp,h}
- mesh_generator_thread.cpp: Update code style
- MeshUpdateThread: Modify interface to house a different implementation: Actual functionality will be changed by next commits.
- MeshMakeData: Add fillBlockData() interface (so that caller can fill in stuff from eg. a MapBlock cache)
Perttu Ahola [Sat, 15 Apr 2017 15:21:23 +0000 (18:21 +0300)]
Include container.h in util/thread.h. util/thread.h doesn't compile without it
paramat [Wed, 5 Apr 2017 11:18:22 +0000 (12:18 +0100)]
Sneak: Add option for old move code
Temporary option for the old move code for specific old sneak behaviour.
Enabled by setting the added 'new move' physics override to false.
By default 'new move' is true.
Loic Blot [Mon, 17 Apr 2017 07:37:12 +0000 (09:37 +0200)]
Remove an unused variable in Android Build
Auke Kok [Mon, 17 Apr 2017 07:04:58 +0000 (00:04 -0700)]
Plug two minor Leaks (#5603)
* Resource leak: CHECK_FILE_ERR returns, without freeing chunk_name.
Found with static analysis.
* Resource leak: leaks `page` on error path.
Found with static analysis.
Loïc Blot [Sun, 16 Apr 2017 12:44:15 +0000 (14:44 +0200)]
Android progressbar fix (#5601)
* Fix progressbar for Android
Fixes #5599
Fixed #5403
* draw_load_screen: use texturesource
this permits to unify texture loading code
* scale progress bar
* Add gl version check for GL_OES_texture_npot. This fixed the texture on loading screen
* Remove two sanity checks pointed by @celeron55
* sfan5 comments + android ratio fixes
Nathanaël Courant [Sun, 16 Apr 2017 07:48:48 +0000 (00:48 -0700)]
Disable android leveldb by default (#5596)
1) Now leveldb is brick (thanks google)
2) By default, use SQLite3, this work perfectly and NOBODY not use LevelDB on Android :)
Loïc Blot [Sat, 15 Apr 2017 21:19:18 +0000 (23:19 +0200)]
Implement delayed server shutdown with cancelation (#4664)
SmallJoker [Sat, 15 Apr 2017 12:30:27 +0000 (14:30 +0200)]
Minimap: Do a double-typecast to fix compiling with MSVC
Loïc Blot [Sat, 15 Apr 2017 07:25:43 +0000 (09:25 +0200)]
Partial damage cheat fix: node damages server side (#4981)
* Damage cheat fix: server side
* Lava/Node damages overtime server side
* lava hurt interval is only for old protocol
Loic Blot [Fri, 14 Apr 2017 16:26:24 +0000 (18:26 +0200)]
NetworkPacket: don't copy push std::string and std::wstring
Loic Blot [Fri, 14 Apr 2017 13:56:40 +0000 (15:56 +0200)]
Fix wrong channel type in Client/Server CommandFactories
This is a u8 not a u16
Loïc Blot [Fri, 14 Apr 2017 13:34:01 +0000 (15:34 +0200)]
ClientIface::sendToAll: honor packet configuration (#5590)
Loic Blot [Fri, 14 Apr 2017 07:26:11 +0000 (09:26 +0200)]
Fix android build
bigfoot547 [Fri, 14 Apr 2017 07:04:41 +0000 (02:04 -0500)]
[CSM] Add function to set minimap shape (#5569)
* [CSM] Add function to set minimap shape
Also deprecates `toggle_shape`.
* Oh fish, I messed that one up!
* Fix Style
* Sorry, I missed something
I still had the `luamethod` call in there!
* Add getters
* Remove extra line
* Remove useless variable
Please review again @nerzhul . Thanks!
* Satisfy nerzhul
Dániel Juhász [Wed, 12 Apr 2017 23:24:00 +0000 (01:24 +0200)]
Only use palette if param_type2 is correct
Dániel Juhász [Thu, 13 Apr 2017 08:19:46 +0000 (10:19 +0200)]
Add documentation for map block format 27 (#5576)
Vincent Glize [Wed, 12 Apr 2017 21:05:01 +0000 (23:05 +0200)]
[CSM] Fix localplayer documentation (#5557)
numberZero [Wed, 12 Apr 2017 14:51:07 +0000 (18:51 +0400)]
Fix inability to change metadata using stack:to_table() (#5547)
Loic Blot [Wed, 12 Apr 2017 07:05:27 +0000 (09:05 +0200)]
Fix fips_cipher_abort warning and other duplicate macros
red-001 [Tue, 11 Apr 2017 21:35:25 +0000 (22:35 +0100)]
[CSM] Allow escaping chatcommands and add missing calls to gettext. (#5565)
t0ny2 [Tue, 11 Apr 2017 17:29:24 +0000 (18:29 +0100)]
Replace occurrence of luaL_reg in l_localplayer (#5566)
Related to commit
41c5483. Replace a final occurrence of luaL_reg in
src/script/lua_api/l_localplayer.cpp
paramat [Thu, 6 Apr 2017 14:58:12 +0000 (15:58 +0100)]
Sneak glitch: Detect ledge for 2-node climb-up
Re-creates the old sneak-jump behaviour in new code.
Enabled by the 'sneak glitch' physics override.
When a ledge is detected the jump speed modifier is set to the larger
of 'physics override jump' and 1.3 to allow a 2-node climb-up.
An unexpected side-effect is the simple sneak ladder working smoothly.
red-001 [Mon, 10 Apr 2017 19:14:00 +0000 (20:14 +0100)]
[CSM] Use more gettext (#5553)
red-001 [Mon, 10 Apr 2017 19:13:20 +0000 (20:13 +0100)]
[CSM] Move `.list_players` and `.disconnect` to builtin. (#5550)
Loïc Blot [Mon, 10 Apr 2017 07:40:06 +0000 (09:40 +0200)]
Clang-format fix for Android
Loïc Blot [Mon, 10 Apr 2017 07:17:53 +0000 (09:17 +0200)]
Clang-format styles fixes since previous commit