summaryrefslogtreecommitdiff
path: root/src/game.cpp
Commit message (Collapse)AuthorAge
* Don't recalculate statustext initial color everytime & review fixesLoic Blot2018-01-05
|
* GameUI refactor (part 7/7): Finish to include profiler things to GameUILoic Blot2018-01-05
| | | | | | | | | Other changes: * Add GameUI clarification comment * Move force_fog_off & disable_camera_update flags from GameUI to Game, it's not UI related * Properly init GameUI::Flags * Move toggleChat toggleHud & toggleProfiler to GameUI * Add gameui.cpp to LINT whitelist
* GameUI refactor (part 6/X): Move Game::guitext_profiler & ↵Loic Blot2018-01-05
| | | | | | | showStatusTextSimple to GameUI class Other enhancements: * Move showStatusTextSimple to GameUI class & rename to showTranslatedStatusText
* GameUI refactor (part 5/X): Move Game::guitext_chat to GameUI classLoic Blot2018-01-05
| | | | | | Other enhancements: * Move update_profiler_gui to Game class * Move updateChat to Game class
* GameUI refactor (part 4/X): Move Game::guitext_status, Game::m_statustext, ↵Loic Blot2018-01-05
| | | | | | | | GameRunData::statustext_time to GameUI class Other enhancements: * Simplify setStatusText to showStatusText, as it shows the label too (preventing almost every setStatusText to call setStatusTextTime(0) * Add unittests
* GameUI refactor (part 3/X): Move Game::guitext2, Game::guitext_info, ↵Loic Blot2018-01-05
| | | | | | | | Game::infotext to GameUI class Other enhancements: * Drop unused GameRunData::time_of_day * Little GameUI::update code path optimizations
* GameUI refactor (part 2/X): Move Game::guitext to GameUI + enhancements on ↵Loic Blot2018-01-05
| | | | | | | StaticText Other enhancements: * C++ friendlyness for addStaticText() -> move to static StaticText::add()
* GameUI refactor (part 1/X): GameUI object creation + GameUIFlags move to GameUILoic Blot2018-01-05
| | | | | | | | | | Game class is too huge and has too specialization on various subjects, like UI, formspecs, client, renderer. Start to move UI related things to GameUI object and cleanup them Other improvements: * updateChat: more performance on error messages by remove string copies * Initialize all game class members in definition instead of constructor (with nullptr instead of NULL) * Drop unused Client::show{GameChat,GameHud,Profiler,GameFog} * Add GameUI unittests
* Add check to pause game on lost window focusrubenwardy2017-12-26
|
* Zoom: Add 'disabled by game or mod' messageparamat2017-12-14
|
* Minimap messages: Improve 'disabled by server' messageparamat2017-12-14
|
* CSM fixes: load mods after flavours & add flavour to block mod loading (#6738)Loïc Blot2017-12-11
| | | | | | | | | | | | | | * CSM fixes: load mods after flavours & add flavour to block mod loading * Don't permit to load mods twice * Prepare builtin integrity global algorithm * Add missing doc & use a nicer byteflag for LOAD_CLIENT_MODS flavour * flag typo fix * Invert CSM_FL_LOOKUP_NODES & CSM_FL_LOAD_CLIENT_MODS ids
* F5 debug info: Add colons, use lowercase except for FPS and RTTThomasMonroe3142017-12-10
|
* F5 Debug info: More compact, return to 2 linesparamat2017-11-27
| | | | All data fits on width 960, most useful data still visible on width 800.
* Move files to subdirectories (#6599)Vitaliy2017-11-08
| | | | * Move files around
* Rewrite rendering engine (#6253)Vitaliy2017-10-31
| | | | | | | | | | | | * Clean draw_*() arguments * Split rendering core * Add anaglyph 3D * Interlaced 3D * Drop obsolete methods
* Allow overriding tool capabilities through itemstack metadataraymoo2017-10-29
| | | | | This makes it possible to modify the tool capabilities of individual itemstacks by calling a method on itemstack metadata references.
* don't pass g_settings around, and use it directlyEsteban I. RM2017-10-17
|
* Implement #6096Esteban I. RM2017-10-17
|
* [CSM] Add callback on open inventory (#5793)Vincent Glize2017-10-02
|
* game.cpp: remove dead code for proto v25 compat (#6481)Loïc Blot2017-09-30
| | | Protocol v25 is not supported anymore
* Server: affect bind_addr on constructor instead of start() (#6474)Loïc Blot2017-09-28
| | | bind_addr is already ready when using constructor as we read is.IPv6 from it, instead pass the whole address
* Add mute setting (toggled by the mute key and in the volume menu) (#6415)DTA72017-09-26
| | | | * Add mute setting (toggled by the mute key and in the volume menu)
* Implement client node dig predictionAuke Kok2017-09-11
| | | | | | | | Dig prediction allows clients to remove dug nodes without waiting for server acknowledgement. This patch allows mods to override dig prediction, it can either be turned off or a different "prediction node" can be selected.
* Fix incorrect buffer size calculation on creation of HUD status messagesrubenwardy2017-09-10
| | | | Fixes #6400
* Particles: Do not add digging particles for airlike nodes (#6392)SmallJoker2017-09-08
|
* Make HUD status messages translatable (#5795)Wuzzy2017-09-05
| | | | | | * Make HUD status messages translatable * Make strings in showStatusTextSimple translatable
* Remove DSTACK support (#6346)Loïc Blot2017-08-30
| | | Debugstacks is not useful, we don't really use it, the DebugStack is not pertinent, gdb and lldb are better if we really want to debug.
* Formspec: Add options to set background color and opacity (fullscreen mode + ↵Loïc Blot2017-08-29
| | | | | | | | | | | | default mode) (#5493) * Formspec: Add options to set background color and opacity (fullscreen mode) * Enhance previous comment: Set formspec background when regenerate UI. * This permit to do the calcul only at regen and override it with bgcolor tag * Add a setting for default background color into formspec, separated from fullscreen * Add a little performance gain on formspecs using a const ref instead of copying formspec string
* Clientevent refactor (#6320)Loïc Blot2017-08-28
| | | | | | | | | | * Refactor clientevent structure * Move structure outside of client header * Create client events on heap not stack, this remove the ClientEvent object copy * Use clientEventHandler to route events
* Check item_drop amount clientside (#6242)rubenwardy2017-08-26
|
* Add clientside translations.Ekdohibs2017-08-24
|
* Fix Android node selection distance (#6187)Dániel Juhász2017-08-24
|
* Safe digging and placing (#6127)Ben Deutsch2017-08-24
| | | | | | | | | | | | | | * Setting: Safe digging and placing * New setting 'safe_dig_and_place' under Controls * If set, digging and placing will not auto-repeat * Releasing buttons unblocks the respective action again * Useful for inexperienced users in creative mode where default repeat times may be too short * Safe placing (right click repetition) does not need a guarding flag * Added new setting to minetest.conf.example
* Minimap: Add new HUD flag for minimap radar modeparamat2017-08-20
| | | | | Flag default is true to not change default behaviour. The existing minimap HUD flag remains the master control for minimap.
* Modernize source code: last part (#6285)Loïc Blot2017-08-20
| | | | | | | | | | | * Modernize source code: last par * Use empty when needed * Use emplace_back instead of push_back when needed * For range-based loops * Initializers fixes * constructors, destructors default * c++ C stl includes
* Fix shader.h inclusion place in game.cppLoïc Blot2017-08-19
|
* Optimize headers (part 2) (#6272)Loïc Blot2017-08-18
| | | | | | | | | | | | | | * Optimize headers (part 2) * less debug.h in headers * less remoteplayer.h for everybody * Cleanup (part 2) * camera.h: mesh.h * mapgen.h: mapnode.h * serverenvironment.h: mapblock.h * nodedef.h: shader.h
* clientmap, clientmedia: code modernizationLoic Blot2017-08-17
| | | | | | | | | * use range-based for loops * simplify some tests * various code style fixes * remove debugprint in ClientMap::getBackgroundBrightness, debug code was not intended to be there * remove unused fields in MapDrawControl * use emplace_back instead of push_back when necessary
* Cleanup various headers to reduce compilation times (#6255)Loïc Blot2017-08-16
| | | | * Cleanup various headers to reduce compilation times
* Trigger on_rightclick regardless on the formspec meta fieldSmallJoker2017-08-13
| | | | Document behaviour for older clients.
* Full viewing range key message clarifiedFixer2017-08-12
| | | | To make it sound less confusing to players
* Make direct item selection keys freely bindableWuzzy2017-07-30
|
* In-cloud fog: Strengthen effect when small view range is usedLars Hofhansl2017-07-18
| | | | | | | Ensure in-cloud fog is always stronger than outside-of-cloud-fog even when using a small view range. Also limit in-cloud fog range to a maximum of 32 nodes to keep it fairly strong when using a large view range.
* Chat: Move chat text down to not overlap 3rd line of debug text (#6145)Paramat2017-07-17
|
* F5 debug display: Reformat and remove some information (#6125)Paramat2017-07-16
| | | | | | | | | | | | | | | | | | | | For consistency return to 'FPS =', add comma before FPS. Remove 'R' from 'range_all' as may be re-keymapped. Remove inconsistent brackets from 'range_all'. Change 'v_range' to 'view_range'. Add 'pos = ' before co-ordinates. Add spaces around '=' in yaw display. Remove brackets from around 'yaw' and 'seed'. Move 'pointing_at' to 3rd line. Remove 'param1' (0 for all solid nodes and unreadable for light sources due to light bank encoding). Remove file name of pointed node top tile (this also removes the need to get ContentFeatures for the node, slightly improving performance). Replace quotes around node data with brackets, looks better and more consistent. Add 'guitext3' for third line. Use 'setVisible' for all 3 lines to control the setting of each text rectangle. Improve logic of 3rd line to only run code it needs to depending on whether pointing data is avaialble and whether node is not 'ignore' and not 'unknown'.
* Chat protocol rewrite (#5117)Loïc Blot2017-07-16
| | | | | | | | | | | | | * New TOCLIENT_CHAT_MESSAGE packet * Rename old packet to TOCLIENT_CHAT_MESSAGE_OLD for compat * Handle TOCLIENT_CHAT_MESSAGE new structure client side * Client chat queue should use a specific object * SendChatMessage: use the right packet depending on protocol version (not complete yet) * Add chatmessage(type) objects and handle them client side (partially) * Use ChatMessage instead of std::wstring server side * Update with timestamp support
* Expose getPointedThing to LuaDániel Juhász2017-07-07
| | | | | | This commit introduces Raycast, a Lua user object, which can be used to perform a raycast on the map. The ray is continuable, so one can also get hidden nodes (for example to see trough glass).
* Fog effect when camera is inside cloudBen Deutsch2017-07-05
| | | | | | | | | | | | | | | | | | Fixes issue #3576 * Clouds now take camera position as 3D, not 2D * Cloud grid filling extracted to gridFilled method * Clouds detect whether camera is inside cloud * Camera in cloud changes fog by overriding sky colors with cloud color * Sun, moon and stars can be temporarily disabled with setBodiesVisible * Disabling fog also disables all "inside cloud" behaviors
* Fix crash due to missing pointer validationLoic Blot2017-07-02
| | | | Fix #6092