aboutsummaryrefslogtreecommitdiff
path: root/src/game.cpp
AgeCommit message (Collapse)Author
2018-01-13Add confirmation on new player registration (#6849)Muhammad Rifqi Priyo Susanto
* Attempt to add registration confirmation Using SRP auth mechanism, if server sent AUTH_MECHANISM_FIRST_SRP that means the player isn't exist. Also tell player about the server and chosen username. Local game has localhost as IP address of the server. Add RenderingEngine::draw_menu_scene() to draw GUI and clouds background. aborted -> connection_aborted * Rewrite information message text Client::promptConfirmRegister() -> Client::promptConfirmRegistration()
2018-01-05Don't recalculate statustext initial color everytime & review fixesLoic Blot
2018-01-05GameUI refactor (part 7/7): Finish to include profiler things to GameUILoic Blot
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
2018-01-05GameUI refactor (part 6/X): Move Game::guitext_profiler & ↵Loic Blot
showStatusTextSimple to GameUI class Other enhancements: * Move showStatusTextSimple to GameUI class & rename to showTranslatedStatusText
2018-01-05GameUI refactor (part 5/X): Move Game::guitext_chat to GameUI classLoic Blot
Other enhancements: * Move update_profiler_gui to Game class * Move updateChat to Game class
2018-01-05GameUI refactor (part 4/X): Move Game::guitext_status, Game::m_statustext, ↵Loic Blot
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
2018-01-05GameUI refactor (part 3/X): Move Game::guitext2, Game::guitext_info, ↵Loic Blot
Game::infotext to GameUI class Other enhancements: * Drop unused GameRunData::time_of_day * Little GameUI::update code path optimizations
2018-01-05GameUI refactor (part 2/X): Move Game::guitext to GameUI + enhancements on ↵Loic Blot
StaticText Other enhancements: * C++ friendlyness for addStaticText() -> move to static StaticText::add()
2018-01-05GameUI refactor (part 1/X): GameUI object creation + GameUIFlags move to GameUILoic Blot
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
2017-12-26Add check to pause game on lost window focusrubenwardy
2017-12-14Zoom: Add 'disabled by game or mod' messageparamat
2017-12-14Minimap messages: Improve 'disabled by server' messageparamat
2017-12-11CSM fixes: load mods after flavours & add flavour to block mod loading (#6738)Loïc Blot
* 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
2017-12-10F5 debug info: Add colons, use lowercase except for FPS and RTTThomasMonroe314
2017-11-27F5 Debug info: More compact, return to 2 linesparamat
All data fits on width 960, most useful data still visible on width 800.
2017-11-08Move files to subdirectories (#6599)Vitaliy
* Move files around
2017-10-31Rewrite rendering engine (#6253)Vitaliy
* Clean draw_*() arguments * Split rendering core * Add anaglyph 3D * Interlaced 3D * Drop obsolete methods
2017-10-29Allow overriding tool capabilities through itemstack metadataraymoo
This makes it possible to modify the tool capabilities of individual itemstacks by calling a method on itemstack metadata references.
2017-10-17don't pass g_settings around, and use it directlyEsteban I. RM
2017-10-17Implement #6096Esteban I. RM
2017-10-02[CSM] Add callback on open inventory (#5793)Vincent Glize
2017-09-30game.cpp: remove dead code for proto v25 compat (#6481)Loïc Blot
Protocol v25 is not supported anymore
2017-09-28Server: affect bind_addr on constructor instead of start() (#6474)Loïc Blot
bind_addr is already ready when using constructor as we read is.IPv6 from it, instead pass the whole address
2017-09-26Add mute setting (toggled by the mute key and in the volume menu) (#6415)DTA7
* Add mute setting (toggled by the mute key and in the volume menu)
2017-09-11Implement client node dig predictionAuke Kok
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.
2017-09-10Fix incorrect buffer size calculation on creation of HUD status messagesrubenwardy
Fixes #6400
2017-09-08Particles: Do not add digging particles for airlike nodes (#6392)SmallJoker
2017-09-05Make HUD status messages translatable (#5795)Wuzzy
* Make HUD status messages translatable * Make strings in showStatusTextSimple translatable
2017-08-30Remove DSTACK support (#6346)Loïc Blot
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.
2017-08-29Formspec: Add options to set background color and opacity (fullscreen mode + ↵Loïc Blot
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
2017-08-28Clientevent refactor (#6320)Loïc Blot
* 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
2017-08-26Check item_drop amount clientside (#6242)rubenwardy
2017-08-24Add clientside translations.Ekdohibs
2017-08-24Fix Android node selection distance (#6187)Dániel Juhász
2017-08-24Safe digging and placing (#6127)Ben Deutsch
* 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
2017-08-20Minimap: Add new HUD flag for minimap radar modeparamat
Flag default is true to not change default behaviour. The existing minimap HUD flag remains the master control for minimap.
2017-08-20Modernize source code: last part (#6285)Loïc Blot
* 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
2017-08-19Fix shader.h inclusion place in game.cppLoïc Blot
2017-08-18Optimize headers (part 2) (#6272)Loïc Blot
* 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
2017-08-17clientmap, clientmedia: code modernizationLoic Blot
* 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
2017-08-16Cleanup various headers to reduce compilation times (#6255)Loïc Blot
* Cleanup various headers to reduce compilation times
2017-08-13Trigger on_rightclick regardless on the formspec meta fieldSmallJoker
Document behaviour for older clients.
2017-08-12Full viewing range key message clarifiedFixer
To make it sound less confusing to players
2017-07-30Make direct item selection keys freely bindableWuzzy
2017-07-18In-cloud fog: Strengthen effect when small view range is usedLars Hofhansl
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.
2017-07-17Chat: Move chat text down to not overlap 3rd line of debug text (#6145)Paramat
2017-07-16F5 debug display: Reformat and remove some information (#6125)Paramat
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'.
2017-07-16Chat protocol rewrite (#5117)Loïc Blot
* 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
2017-07-07Expose getPointedThing to LuaDániel Juhász
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).
2017-07-05Fog effect when camera is inside cloudBen Deutsch
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