Commit Graph

320 Commits

Author SHA1 Message Date
proller
b90e431fc7 new adjustable finite liquid 2013-02-24 18:39:07 +04:00
kwolekr
97260d09a8 Add flag string settings, flat map option 2013-02-06 16:52:48 -05:00
kwolekr
a73905401a Improve random map seed generation 2013-02-06 01:10:37 -05:00
kwolekr
91e88196c7 Make mapgen factory setup more elegant, add mapgen_v6.h 2013-01-23 16:16:49 -05:00
kwolekr
b87cd8c58b Use a string identifier for a mapgen instead of version 2013-01-21 21:41:37 +02:00
kwolekr
278d93a3ee Removed Mapgen V7 for now 2013-01-21 21:41:37 +02:00
kwolekr
631a835e07 Finish and clean up mapgen configuration 2013-01-21 21:41:37 +02:00
kwolekr
cde3d38766 Clean up EmergeManager, do initial work on Mapgen configuration 2013-01-21 21:41:37 +02:00
kwolekr
d5029958b9 Readded and optimized mapgen V6 2013-01-21 21:41:37 +02:00
kwolekr
11afcbff69 The new mapgen, noise functions, et al. 2013-01-21 21:41:33 +02:00
kwolekr
a785522194 Only clear block modified flag if writing to db was successful 2013-01-21 21:41:09 +02:00
Jürgen Doser
183c81b5ec fix integer overflow (fixes #414)
liquid_kind was declared as an u8, but used to hold a content_t value, which is delcared to be a u16.

changing this fixes (at least for me) the problem reported in bug #414.
2013-01-12 23:32:09 +04:00
Ilya Zhuravlev
926830e0df Add liquid_renewable property. 2012-09-07 20:48:12 +04:00
Perttu Ahola
ee2d9d973a Reorganize ClientMap rendering code for a bit more performance
- Don't select blocks for drawing in every frame
- Sort meshbuffers by material before drawing
2012-09-04 22:41:03 +03:00
Perttu Ahola
3e754382af Tweak rollback and liquids 2012-07-27 15:46:51 +03:00
Perttu Ahola
7ef0a13250 Tweak rollback stuff 2012-07-27 14:52:29 +03:00
Perttu Ahola
1d44a98f2f ABM and liquid overload skip 2012-07-27 13:45:49 +03:00
Perttu Ahola
a9d8df83d2 Make the rollback system VERY FUCKING GOD DAMN POWERFUL 2012-07-27 13:24:28 +03:00
Perttu Ahola
508b7b5e51 Don't track liquids for rollback because of too much log 2012-07-27 02:46:54 +03:00
Perttu Ahola
0190f9b077 Experimental-ish rollback functionality 2012-07-27 02:27:18 +03:00
darkrose
cd6becd442 Implement node timers 2012-07-23 08:18:37 +03:00
Perttu Ahola
d0ea6f9920 Properly and efficiently use split utility headers 2012-06-17 02:40:36 +03:00
Perttu Ahola
037b259197 Switch the license to be LGPLv2/later, with small parts still remaining as GPLv2/later, by agreement of major contributors 2012-06-05 18:54:07 +03:00
Perttu Ahola
f48882213e Add ignore_world_load_errors configuration option and provide better error messages 2012-06-04 22:34:40 +03:00
Perttu Ahola
3899f83da8 NodeMetaRef:{to,from}_table and lua_api.txt additions 2012-06-03 22:31:01 +03:00
Kahrl
704782c95b WIP node metadata, node timers 2012-06-03 22:31:00 +03:00
Perttu Ahola
582ca33507 Remove unnecessary debug output 2012-03-29 01:38:13 +03:00
Perttu Ahola
02c035c548 Reduce EnvRef:set_node() time tenfold by postponing the dayNightDiff update until it is actually needed 2012-03-29 00:28:48 +03:00
Perttu Ahola
4f01db256f Re-implement and re-tune mapgen v2 2012-03-27 19:05:59 +03:00
Perttu Ahola
8609af54fc Remove usage of mapgen::add_random_objects(block) 2012-03-27 19:01:52 +03:00
Perttu Ahola
d629f4d2fb Remove some debug output 2012-03-27 19:01:52 +03:00
Perttu Ahola
8cb7badd63 Do post-mapgen lighting using the VoxelManipulator-based functions (causes glitches currently) 2012-03-27 19:01:51 +03:00
Perttu Ahola
0f3c2f6541 voxalgo::clearLightAndCollectSources 2012-03-27 19:01:51 +03:00
Perttu Ahola
a32706bc26 Post-mapgen lighting optimization 2012-03-27 18:52:36 +03:00
Perttu Ahola
bdcca4767c Make mapgen generate stuff in chunks of 3^3 mapblocks 2012-03-27 18:52:36 +03:00
Perttu Ahola
58bed83d03 Move ClientMap to clientmap.{h,cpp} 2012-03-16 00:25:18 +02:00
Kahrl
807a0d313b MapBlockMesh, mesh animation system, urgent mesh updates, athmospheric light, removed footprints 2012-03-15 21:45:44 +02:00
Perttu Ahola
f1d9880006 Clean up log messages everywhere 2012-03-11 04:15:45 +02:00
Kahrl
02b334a679 Create node metadata when placing nodes again 2012-01-22 17:31:20 +02:00
Kahrl
157a4cf18c Node placement / mineral / serialization / iron freq / node_dig callback
- Node placement code moved to Lua
- Mineral system removed (added default:stone_with_coal and default:stone_with_iron).
- MapBlock and MapNode serialization updated.
- Mapgen: Frequency of iron increased.
- node_dig callback and related changes.
2012-01-22 17:24:50 +02:00
Perttu Ahola
cd030639a4 Print debug stacks to infostream rather than errorstream when placing CONTENT_IGNORE 2011-11-29 21:05:36 +02:00
Perttu Ahola
be2ecf9186 Quick fix to a bug that makes it possible to raise water levels everywhere with one source 2011-11-29 19:13:59 +02:00
Perttu Ahola
705f142b8d GenericNodeMetadata and an example furnace 2011-11-29 19:13:57 +02:00
Perttu Ahola
842eb5da28 Replace old active block random node modifying things with actual ActiveBlockModifiers 2011-11-29 19:13:56 +02:00
Perttu Ahola
ec4f58741b Fix a random commented-out piece of lighting code, altough it doesn't work any better 2011-11-29 19:13:55 +02:00
Perttu Ahola
b2ccbdffc1 Make map generator as much threaded as possible (not much benefit with current generator because of small generator chunk size (a single MapBlock)) 2011-11-29 19:13:54 +02:00
Perttu Ahola
651657edfd Print out number of blocks in memory at unload 2011-11-29 19:13:51 +02:00
Perttu Ahola
74770ab718 Don't allow placing CONTENT_IGNORE with Map::setNode() because it is never useful and is only caused by bugs. 2011-11-29 19:13:51 +02:00
Perttu Ahola
e5650bb549 Make liquid_alternative_* to be strings 2011-11-29 19:13:51 +02:00
Perttu Ahola
6a8f9135de Store metadata as metadata name in node definition 2011-11-29 19:13:51 +02:00
Perttu Ahola
941176cd65 Default to saving stuff more often to minimize lag caused by a single save 2011-11-29 19:13:50 +02:00
Perttu Ahola
251b015210 Don't print 'Blocks modified by: ' in Map::timerUpdate if no blocks were written 2011-11-29 19:13:50 +02:00
Perttu Ahola
616bad96af Don't print all block saves to verbosestream; rather print counts of distinct modifiers 2011-11-29 19:13:49 +02:00
Perttu Ahola
1b765b9740 Add reason parameter to setModified and print it out to verbosestream when saving block 2011-11-29 19:13:49 +02:00
Perttu Ahola
df8346ef4d Do not expose CONTENT_* stuff in content_mapnode.h and use a name converter wrapper in old code 2011-11-29 19:13:47 +02:00
Perttu Ahola
c0f6395cf0 Node definition names 2011-11-29 19:13:46 +02:00
Perttu Ahola
f107967fdc Remove node content-dependent stuff from map.cpp 2011-11-29 19:13:46 +02:00
Perttu Ahola
c6fd2986d4 GameDef compiles 2011-11-29 19:13:42 +02:00
Perttu Ahola
abceeee92f Create framework for getting rid of global definitions of node/tool/item/whatever types 2011-11-29 19:13:41 +02:00
Perttu Ahola
3b77a63d5d Allocate MapBlock::m_node_metadata on heap to allow less header bloat 2011-11-29 19:13:41 +02:00
Perttu Ahola
64996422c0 Move ContentFeatures to mapnode_contentfeatures.{h,cpp} and clean stuff 2011-11-29 19:13:40 +02:00
Perttu Ahola
763da10c7b Reset block usage timer on client only if it is very probably drawn 2011-11-08 02:13:22 +02:00
Perttu Ahola
4964daa5be Possible fix to bases of islands/hills getting culled out too early 2011-11-03 15:10:58 +02:00
Perttu Ahola
718086f383 Tune occlusion culling a bit more 2011-11-03 13:35:32 +02:00
Perttu Ahola
339b7588d2 Tune occlusion culling a bit 2011-11-03 13:35:09 +02:00
Perttu Ahola
0ac5f6a7ca Very simple occlusion culling 2011-11-03 12:48:08 +02:00
Perttu Ahola
1726b82a16 occlusion culling fix, a little reshaping of map rendering for more useful profiler output and dynamic profiler text size 2011-11-02 18:13:56 +02:00
Perttu Ahola
4b6138e69b Improve Connection with threading and some kind of congestion control 2011-10-20 23:04:09 +03:00
Perttu Ahola
9b907dd65a Try to tune fog to work well on high-end machines also 2011-10-18 21:08:31 +03:00
Perttu Ahola
4e1055543c Tune map rendering and related diagnostics 2011-10-18 19:18:01 +03:00
Perttu Ahola
78f4142f4f Add /clearobjects 2011-10-18 00:01:50 +03:00
Perttu Ahola
5037efdea9 Add some rendering statistics to profiler 2011-10-17 17:06:28 +03:00
Perttu Ahola
b0481b9db1 Fix chest not working after walked away and came back 2011-10-17 01:04:22 +03:00
Perttu Ahola
67a6bc4ab5 Fix map delete on windows (concatenate paths correctly with / or \ depending on OS) 2011-10-16 16:16:47 +03:00
Perttu Ahola
b65a5aceb0 Use the logger; also, default to not showing much crap in console. Use --info-on-stderr to enable crap. 2011-10-16 14:57:53 +03:00
Perttu Ahola
9e46cbf7ea Header file tweaking; mainly for speed 2011-10-12 13:53:38 +03:00
Perttu Ahola
a7833cca22 Merge remote-tracking branch 'marktraceur/master' 2011-09-26 22:41:06 +03:00
Perttu Ahola
061d4b4202 Merge branch 'view_bobbing_and_vielded_tool' 2011-09-26 15:10:02 +03:00
Mark Holmquist
85f119e1e6 Adding (most) of the sapling functionality. It has yet to work, since MEET_OTHER was not implemented at the time of this commit. Hopefully it will work when merged with celeron's latest. 2011-09-23 18:13:53 -07:00
darkrose
8b875d71d1 remove content_* things from map.cpp 2011-09-23 18:04:48 +10:00
darkrose
582e450bad added locking chests - clean patch 2011-09-22 19:11:48 +10:00
Kahrl
e4cb004460 trying something else... also replaced M_PI by PI everywhere 2011-09-08 16:10:44 +02:00
Kahrl
baf7da9d4a Collected and moved existing camera infrastructure from game.cpp to camera.cpp and camera.h. Introduced configuration settings 'fov' which chooses the camera's (vertical) field of view and 'view_bobbing' which currently does nothing. Other code refactored to not expect the FOV to be a build time constant. 2011-09-08 01:08:47 +02:00
Kahrl
c0b35fa429 Removed unused camera_position and camera_direction fields from Client. Moved ClientEnvironment::drawPostFx to ClientMap::renderPostFx -- this will make the camera management classes easier to write, as ClientMap already knows the camera position but ClientEnvironment doesn't and has to be told about it. This also eliminates the need for Client::getEnv(). Made the post effect color a content feature defined in content_mapnode.h. 2011-09-07 19:21:28 +02:00
Perttu Ahola
5c1074aa7d Remove block file from disk when saved to database 2011-09-06 20:28:45 +03:00
Perttu Ahola
3c30ab2807 Speed up periodical map unloading by moving beginSave() and endSave() to outer loop in Map::timerUpdate() 2011-09-06 19:16:36 +03:00
Perttu Ahola
310fa10035 Merge remote-tracking branch 'queatz/sqlite-map' 2011-09-06 18:04:02 +03:00
Kahrl
570a8dbf22 allow specifying a fixed seed in the config file for generating the map (fixed_map_seed) 2011-09-06 17:05:17 +03:00
JacobF
d670c831c2 These numbers were well exceeding 2^32... 2011-09-04 17:01:28 -04:00
JacobF
d1a16f24cf Initial sqlite3 maps.
* The map will reside in world/map.sqlite
* It will load from the sectors folder but will not save there
2011-09-02 19:07:14 -04:00
Giuseppe Bilotta
b37fffc2c5 Hopefully fix 'dangling water'
If a block has (at least visible) liquids, the block below should also
be flowed in.
2011-08-22 21:45:13 +03:00
Perttu Ahola
6596e585fe Flowing lava updates lighting 2011-08-22 13:19:07 +03:00
Giuseppe Bilotta
c51564ab5b Optimize for viscosity 1 2011-08-16 20:38:44 +02:00
Giuseppe Bilotta
1eb14c7743 Viscous fluids 2011-08-16 20:37:46 +02:00
Giuseppe Bilotta
56e9f97294 Make sure all neighbors of changed fluids are activated
This should fix the remaining cases of fluid not advancing or not
retreating.
2011-08-16 18:05:28 +02:00
Giuseppe Bilotta
774faf4e85 Let the liquids flow in the open
No need to curb their spread artificially.
2011-08-16 17:42:28 +02:00
Giuseppe Bilotta
d0711821f3 Ensure air neighbors to liquids that can flow are enqueued for transformation 2011-08-16 17:42:14 +02:00
Giuseppe Bilotta
7024b45197 Ensure param2 is set correctly in transformLiquids 2011-08-16 16:50:38 +02:00
Giuseppe Bilotta
5fce673a56 Use defines for liquid levels 2011-08-16 16:50:38 +02:00
Giuseppe Bilotta
708f1c336e transformLiquid: small optimization and whitespace cleanup 2011-08-16 06:42:11 +02:00