| Commit message (Collapse) | Author | Age |
|
|
| |
This ensures the shutting down progress bar is correctly rendered. This fixes #3050.
|
|
|
|
|
|
|
| |
Fixes a crash caused in MTGame by breaking and right-clicking a chest.
If loading meta, digging, node can disappear and we looked at meta, which is wrong because meta became NULL.
Pointer is invalidated and we read wrong memory area
|
|
|
|
| |
Use runData.dig_time_complete instead of params.time to find out whether it's instant digging.
runData.dig_time_complete is set to something very big if the node can't be dug, whereas param.time is 0 when digging is impossible or it's instant digging. So not using param.time fixes #5728.
|
|
|
|
| |
* When minimap is disabled in configuration, really disable it
|
| |
|
|
|
|
|
|
|
|
| |
* Limit properly the sound setting at updateSound runtime step
Fix #5026
* Add a comment
|
|
|
|
|
|
|
|
|
|
| |
* Move KeyList & InputHandler from game.h to client/inputhandler.h
We have a header for inputs, move inputhandler class & related keylist object to it
Also introduce a cpp file for MyEventReceiver::OnEvent function in inputhandler.h because a so huge function doesn't needs to be inlined
* Pass clang-format on inputhandler.{cpp,h} (compatible)
|
| |
|
|
|
|
|
|
| |
- Split movement keys into separate entries.
- Increase buffer size due to the above change.
- Change capitalisation.
- Remove code-style violating white spaces.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Rework escape/pause menu
- Remove build information
- Use current controls instead of default controls
- Add information about the current server in place of the build information
- Add text saying the game is paused to if in singleplayer mode.
rework pause/escape menu
* improve consistency + display server_name
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* Save minetest screen width/height options when modified
* Add autosave_screensize setting (default true)
* Fix @SmallJoker comments
|
| |
|
|
|
|
|
|
|
| |
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).
|
| |
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
* [CSM] Add event on_place_node API lua
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
* Also remove InventoryList::peekItem unused function
* Fix some post increment to preincrement reported by cppcheck
|
| |
|
|
|
| |
Pointed by cppcheck
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
| |
- If the hand can dig a node the item wielded can't, allow to dig it anyway.
- Fix the API callbacks from setting the hand instead of the wielded item.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Some performance optimizations
This is globally removing some memory useless copy
* use a const ref return on std::string Settings::get to prevent data copy on getters which doesn't need to copy it
* pass some stack created strings to static const as they are not modified anywhere
* Camera: return nametags per const ref instead of a list pointer, we only need to read it
* INodeDefManager: getAll should be a result ref writer instead of a return copy
* INodeDefManager: getAlias should return a const std::string ref
* Minimap: unroll a Scolor creation in blitMinimapPixersToImageRadar to prvent many variable construct/destruct which are unneeded (we rewrite the content in the loop)
* CNodeDefManager::updateAliases: prevent a idef getall copy
* Profiler: constness
* rollback_interface: create real_name later, and use const ref
* MapBlockMesh updateFastFaceRow: unroll TileSpec next_tile, which has a cost of 1.8% CPU due to variable allocation/destruction,
* MapBlockMesh updateFastFaceRow: copy next_tile to tile only if it's a different tilespec
* MapBlockMesh updateFastFaceRow: use memcpy to copy next_lights to lights to do it in a single cpu operation
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* showPauseMenu is now part of game
* remove many flags parameters passed to game functions, use the member.
* rename VolatileRunFlags to GameUIFlags (this will permit to share structure with client and CSM
* updatePointedThing: remove pointer ref, we already have the pointer in rundata
* move some attributes outside of VolatileRunFlags after renaming, to game class
* rename statustext to m_statustext
* make some const variables static
* All those changes permit to reduce a little bit function class cost and will permit to interface CSM with some interesting Game flags
* Expose GameUIFlags to client
* Client now have GameUIFlags parameter and setters for other classes
* Fix minimap show/hide in Lua because we now have access to the real flag
|
|
|
|
| |
This removes the hacky server_dedicated pseudo-setting.
|
|
|
|
| |
Fixes #5413
|
|
|
|
| |
GameRunData is passed on many game functions, or one of its attributes whereas it's a member of the class. Remove it from functions arguments and call object directly from concerned functions.
This will reduce a little bit the Game class loop usage & very little bit the memory usage (due to non creation of pointer/references)
|
|
|
| |
This fixes issue #5404
|
|
|
|
|
|
|
|
| |
* Rename Mapper (too generic) to Minimap
* Add lua functions to get/set position, angle, mode for minimap
* Client: rename m_mapper to m_minimap
* Add minimap to core.ui namespace (core.ui.minimap)
* Add various functions to manage minimap (show, hide, toggle_shape)
* Cleanup trivial declaration in client
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
* Add on_death callback
* Add on_hp_modification & on_damage_taken callbacks
* move preview code to preview.lua
|
|
|
|
|
|
|
|
|
|
| |
* rename GameScripting to ServerScripting
* Make getBuiltinLuaPath static serverside
* Add on_shutdown callback
* Add on_receiving_chat_message & on_sending_chat_message callbacks
* ScriptApiBase: use IGameDef instead of Server
This permits to share common attribute between client & server
* Enable mod security in client side modding without conditions
|
|
|
|
|
|
| |
Correct node placement prediction for attached colorwallmounted nodes.
Correct placement direction for colorfacedir and colorwallmounted nodes.
Correct detatch mechanism for attached colorwallmounted nodes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix footstep sounds coming from nodes to either side when walking on a
1 node wide row of nodebox slabs such as default:snow.
Fix sand footsteps when swimming in 1 node deep water.
Use a new function 'getFootstepNodePos()' instead of 'getStandingNodePos()'
to avoid using a horizontally-offset 'sneak node' for sounds.
Sound is selected from the node BS * 0.05 below the player's feet, so
that 1/16th slabs will play the slab sound but 1/32nd slabs will not.
If the player is not 'touching ground' the node detection position is
changed to BS * 0.5 below to preserve footstep sounds when landing after
a jump or fall.
|
|
|
|
| |
Due to a rebase mistake halo highlighting was disabled. This commit
re-adds that feature.
|
| |
|
|
|
|
|
| |
For Game::openConsole() and GUIChatConsole::openConsole() the
parameter name 'height' is misleading because it's actually a
percentage of the screen/window height.
|