133 Commits

Author SHA1 Message Date
rubenwardy
2fe20c59bb Add texture overriding 2015-05-19 21:27:07 +02:00
kwolekr
e8fb94705c NodeResolver: Remove NodeResolveMethod
This simplifies NodeResolver logic and makes some interfaces cleaner.
2015-05-07 02:36:01 -04:00
kwolekr
2766bcbb51 NodeDefManager: Improve const-correctness of interfaces
- Add ability to explicitly reset NodeResolve state (useful for unittesting)
- Remove non-essential NodeResolve methods modifying state from INodeDefManager
- Add const qualifier to NodeDefManager and ContentFeatures serialize
2015-05-05 16:52:06 -04:00
kwolekr
127b35ba69 Tests: Add NodeResolver unittests
Minor misc. NodeResolver cleanups
Prefix faux content type constants for testing with t_ to avoid
confusion or name collisions
2015-05-05 12:00:36 -04:00
kwolekr
737d4078c9 Schematics: Refactor NodeResolver and add NodeResolveMethod
NodeResolver name lists now belong to the NodeResolver object instead of
the associated NodeDefManager.  In addition to minimizing unnecessary
abstraction and overhead, this move permits NodeResolvers to look up nodes
that they had previously set pending for resolution.  So far, this
functionality has been used in the case of schematics for
serialization/deserialization.
2015-04-16 16:27:05 -04:00
Craig Robbins
0731f9ed2a Move globals from main.cpp to more sane locations
Move debug streams to log.cpp|h

Move GUI-related globals to clientlauncher

Move g_settings and g_settings_path to settings.cpp|h

Move g_menuclouds to clouds.cpp|h

Move g_profiler to profiler.cpp|h
2015-04-01 23:04:25 +10:00
Aaron Suen
b7263a190f Move texture_min_size even further down the pipe. Now, textures are JIT-upscaled using an image transformation, right at the time they're added to a mesh or particle; images used in 2D elements are left unscaled. This should fix any remaining issues with HUD elements. 2015-03-31 16:56:33 +10:00
kwolekr
67a32d0c03 Revert "Fix issue #2441: crash on respawn, since a conversion std::list to std::vector on Environment.cpp"
This reverts parts of commit 9749d9fee6db99da1ab861dc04ec63ef973db3e0, which breaks node resolver
list clearing
2015-03-20 18:41:26 -04:00
est31
f9986b360a Finer progress bar updates when initializing nodes
The bar is only drawn when the user will notice a change, which prevents time overheads that this commit would cause, resulting from useless draws.
2015-03-15 22:01:52 +10:00
Craig Robbins
27791ee1aa For usages of assert() that are meant to persist in Release builds (when NDEBUG is defined), replace those usages with persistent alternatives 2015-03-07 22:41:47 +10:00
Loic Blot
5e4c5bfb4f Fix issue #2441: crash on respawn, since a conversion std::list to std::vector on Environment.cpp
* Also change some std::list to std::vector for ClientMap::renderMap
* Remove disabled code in ClientMap::renderMap, disabled since a long time
2015-03-05 15:36:20 +01:00
Loic Blot
188c15c3d8 Replace std::list to std::vector into tile.cpp (m_texture_trash) and move tile.hpp to src/client/ 2015-03-05 11:59:40 +01:00
kwolekr
07dc5f4f34 NodeDef: Clear NodeResolver related entries too in clear() 2015-01-04 22:39:57 -05:00
kwolekr
bcf72f8481 NodeResolver: Perform callback immediately if node registration phase finished
Also add NodeResolver callbacks on the client
2015-01-04 16:32:31 -05:00
kwolekr
0dbb71c92b Remove freezemelt (the remainder of proller nonsense) 2015-01-04 03:30:10 -05:00
kwolekr
0c9a04e1d6 Add support back for resolving group names in NodeResolver 2014-12-29 23:15:53 -05:00
kwolekr
b68dcb323d Set fallback content if resolving content vector requires everything 2014-12-27 22:20:04 -05:00
kwolekr
2aa53ba603 Redefine NodeResolver interface and replace with callback mechanism 2014-12-27 02:12:21 -05:00
unknown
9297cec8b5 Change TileSpec::frames to be std::vector not std::map
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-12-21 02:41:17 +10:00
Anton
420b5ec08c Use std::string::empty() instead of size() where applicable 2014-12-12 15:16:24 -05:00
kwolekr
4a03418de2 NodeResolver: Fix some comments and use const references for params 2014-12-12 14:21:41 -05:00
kwolekr
1eaec9ee22 NodeResolver: Fix cancelNode and cancelNodeList 2014-12-11 00:41:54 -05:00
RealBadAngel
dbab810924 Recalculate normals for mesh #0. Fix for issue #1902. 2014-12-05 01:05:18 +01:00
Craig Robbins
47d1207aa8 Optimise functions from CNodeDefManager and VoxelManipulator
CNodeDefManager::get()
VoxelManipulator::addArea()
2014-11-21 14:56:45 +10:00
ShadowNinja
7474ee6393 Fix wallmounted mesh rotations 2014-11-19 16:17:54 -05:00
RealBadAngel
b015b62dad Add option to enable mesh caching, add wallmounted for meshes. 2014-10-29 08:37:33 +01:00
kwolekr
442f1d4390 Add NodeResolver documentation
Set content to fallback on AddNode failure
Consider node list requests with no results as failed
2014-10-28 02:23:45 -04:00
kwolekr
4f31a0ef47 Add NodeResolver and clean up node name -> content ID resolution system 2014-10-26 23:55:45 -04:00
RealBadAngel
8ddf8a4022 Recalculate normals for cached meshes.
Check if mesh is here before adding to meshcollector.

Fix deleting the meshes.
2014-10-21 18:43:29 +02:00
Kahrl
64c514df4e Fix some indentation in nodedef.cpp 2014-10-20 16:11:38 +02:00
Kahrl
722951d2b1 Fix memory leak caused by mesh nodes (and nodeboxes) 2014-10-20 16:11:00 +02:00
RealBadAngel
983201a10b Custom collision boxes node property. 2014-10-19 20:48:21 +02:00
RealBadAngel
1c09928344 Add meshnode drawtype. 2014-10-18 16:42:23 +02:00
kwolekr
a429c60f02 Fix special tile backspace culling 2014-10-03 11:20:29 -04:00
RealBadAngel
d3da481c8d Fix broken plantlike drawtype. 2014-10-03 15:33:32 +02:00
kwolekr
f2697f667e Fix misc. style issues 2014-10-03 03:49:06 -04:00
kwolekr
c0f52dc35e Clean up nodedef.cpp 2014-10-03 03:21:08 -04:00
BlockMen
e25777936f Add optional framed glasslike drawtype 2014-10-02 11:35:15 +02:00
TriBlade9
2d6eb3d2f3 Add firelike drawtype 2014-09-21 15:50:27 -04:00
ShadowNinja
dbf9e444b1 Split settings into seperate source and header files
This also cleans up settings a bit
2014-09-21 14:39:35 -04:00
RealBadAngel
4569853cff Allow use all 6 faces for special tiles.
Protocol version bump.
2014-08-25 12:47:06 +02:00
RealBadAngel
ff1e7d78c9 Speedup mapblock_mesh 2014-07-17 22:28:14 +02:00
sfan5
aa1f637b86 Fix errors/warnings reported by valgrind 2014-07-06 16:33:02 +02:00
RealBadAngel
068b1ca61d Unite nodes shaders.
Pass drawtype and material type to shaders.
Move shaders generation to startup only.
Allow assign shaders per tile.
Initial code to support water surface shader.
2014-06-15 05:40:33 +02:00
RealBadAngel
c18af13697 Shaders rework. 2013-12-03 18:55:25 +01:00
kwolekr
ea3c3fb481 Cavegen: Respect is_ground_content MapNode setting; fix some code formatting issues 2013-11-29 20:54:04 -05:00
BlockMen
b131a282ba Add support for different drowning damage and allow drowning in other nodetypes 2013-08-06 17:49:39 +02:00
proller
f4d5ac656f Leveled nodebox backward compatibility 2013-08-02 00:50:58 +04:00
proller
cdb2b82262 Weather support 2013-07-27 23:21:48 +04:00
PilzAdam
5d02ca8efd Bump protocol version 2013-07-20 21:25:21 +02:00