Compare commits

..

993 Commits

Author SHA1 Message Date
Perttu Ahola
fb3ac49335 Update version to 0.4.dev-20120318 2012-03-18 19:14:20 +02:00
Perttu Ahola
c54a40df06 Attempt to fix build for MSVC 2012-03-18 19:08:13 +02:00
Perttu Ahola
9c4f68e174 Fix getVisibleBrightness() to return sunlight visibility correctly even if not much of world has been loaded 2012-03-18 18:30:21 +02:00
Perttu Ahola
4ee4dfdc13 Make some things diggable by hand by using a special group oddly_breakable_by_hand; also fill in some other groups 2012-03-18 18:20:55 +02:00
Perttu Ahola
2e0c0e9d89 Fix old world search path for non-run-in-place build 2012-03-18 17:17:05 +02:00
Perttu Ahola
db5db587be Move doc/changelog.txt and doc/ancient_main_comment.txt into old/ 2012-03-18 16:43:51 +02:00
Perttu Ahola
569fca5308 Disable word wrap in vertical texts in main menu 2012-03-18 16:32:59 +02:00
Perttu Ahola
b409803527 Fix installation in cmake project files 2012-03-18 16:30:02 +02:00
Perttu Ahola
99d257ae8b "or" -> "||" in content_mapblock.cpp 2012-03-18 16:07:17 +02:00
Perttu Ahola
2f2b7915ea Fix and tune stars 2012-03-18 15:57:25 +02:00
Perttu Ahola
c1cfcb1577 Do not clear address in main menu if starting a singleplayer game by double clicking the world 2012-03-18 15:26:06 +02:00
Perttu Ahola
2e90ed07ac Dynamic sky, fog and cloud colors; sun and moon 2012-03-18 13:42:18 +02:00
Perttu Ahola
58bed83d03 Move ClientMap to clientmap.{h,cpp} 2012-03-16 00:25:18 +02:00
Perttu Ahola
54917e3062 Add Client::getEnv() and remove some unnecessary wrappers 2012-03-15 23:54:10 +02:00
Perttu Ahola
81385682c8 Revert old 4BS/s walk speed for now 2012-03-15 23:11:07 +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
f9a66c5d46 Tune main menu 2012-03-15 21:37:43 +02:00
Perttu Ahola
60add387e3 Create main menu tab "Settings" for client settings 2012-03-15 18:15:12 +02:00
Perttu Ahola
ca0fd4173c Fix click areas of singleplayer checkboxes 2012-03-15 16:20:26 +02:00
Perttu Ahola
4aa0f040fb Fix initial moving of mouse above the "exit to menu" button in singleplayer mode 2012-03-15 16:20:21 +02:00
Perttu Ahola
5957fed9a7 Fix and improve Server's privilege get/setters 2012-03-15 15:38:59 +02:00
Perttu Ahola
6298878bfa Add "simple singleplayer mode"; Fix a number of GUI things 2012-03-15 15:20:20 +02:00
Perttu Ahola
899004207d Save selected tab 2012-03-15 14:17:05 +02:00
Perttu Ahola
2b200d481f Menu tuning WIP 2012-03-15 13:59:48 +02:00
Perttu Ahola
8551ddc839 Use a more standard order of yes/no/cancel/whatever buttons in dialogs 2012-03-15 13:18:21 +02:00
Perttu Ahola
eea3277b81 Crude tab test in main menu (requires gui redesign for the additional tabs) 2012-03-13 08:50:03 +02:00
Perttu Ahola
11b86f8d8a Add [new] to world name when supplying a non-existent world on command line 2012-03-13 01:46:24 +02:00
Perttu Ahola
71a3c2fcd1 Allow directly supplying world as a parameter, including world.mt 2012-03-13 01:46:19 +02:00
Perttu Ahola
4ff36696ea Move keychange/connect main menu buttons a bit 2012-03-13 01:02:25 +02:00
Perttu Ahola
800d3b4ee7 Fix game selection in world creation (used always the first one) 2012-03-13 00:58:57 +02:00
Perttu Ahola
a0b2c7ba25 Attempt to fix RUN_IN_PLACE autodetection on Linux 2012-03-13 00:51:33 +02:00
Perttu Ahola
64232f0aec Add confirmation menu and make world deletion possible in GUI 2012-03-13 00:48:05 +02:00
Perttu Ahola
591527d878 World creation button and dialog and functionality 2012-03-13 00:06:37 +02:00
Perttu Ahola
82073025cc Remember selected world by path 2012-03-12 22:15:56 +02:00
Perttu Ahola
2c9bb06516 Make finish quicktune and leave it unused (as intended) 2012-03-12 21:27:29 +02:00
Perttu Ahola
18c4a90101 Add quicktune.{cpp,h} 2012-03-12 08:38:15 +02:00
Perttu Ahola
5a8ee4889d Handle certain errors properly when using --go 2012-03-11 21:41:32 +02:00
Perttu Ahola
ea1fdf3201 Add a note about minetest.conf in the key change dialog (because it sucks) 2012-03-11 21:32:03 +02:00
Perttu Ahola
2e61008fd9 Use default_game when making a new world using --world without --gameid 2012-03-11 21:24:29 +02:00
Perttu Ahola
eafde7186f Remove duplicate code in main menu 2012-03-11 21:12:27 +02:00
Perttu Ahola
a72dc388c3 Rename "Delete map" to "Delete world" 2012-03-11 21:03:54 +02:00
Perttu Ahola
618314985d Proper handling of failing to bind server socket 2012-03-11 20:45:43 +02:00
Perttu Ahola
d1d83d7e7f World selection box in main menu (and random fixing) 2012-03-11 20:45:14 +02:00
Perttu Ahola
bcaab74f1f --world implies local game 2012-03-11 16:11:07 +02:00
Perttu Ahola
1b670a293b Fix CreateAllDirs() (failed for relative fully non-existing path) 2012-03-11 16:06:32 +02:00
Perttu Ahola
45f78bdf40 Mention world location at server startup at action level 2012-03-11 15:49:14 +02:00
Perttu Ahola
54eca4e736 Redirect Lua print to minetest.debug 2012-03-11 15:41:53 +02:00
Perttu Ahola
3da05a09b5 --logfile '' = no logging 2012-03-11 15:28:35 +02:00
Perttu Ahola
f79082a46d Remove useless debug output (log at info level) 2012-03-11 15:23:30 +02:00
Perttu Ahola
e71d75ed9a --gameid list 2012-03-11 15:20:42 +02:00
Perttu Ahola
a4a35f659b Update --gameid to manpages 2012-03-11 15:13:10 +02:00
Perttu Ahola
9eba6a349f Update version number to 0.4.dev-20120311 2012-03-11 15:10:34 +02:00
Perttu Ahola
6a1b6d0344 world.mt creation 2012-03-11 15:04:50 +02:00
Perttu Ahola
7f7fb9750d command-line/world game selection 2012-03-11 14:54:23 +02:00
Perttu Ahola
df190b8f87 full_punch_interval = 1.0 for mese pickaxe 2012-03-11 12:30:56 +02:00
Perttu Ahola
af33b3b338 Limit crack update speed 2012-03-11 12:28:41 +02:00
Perttu Ahola
a87d19cd7e When mouse button is held down in air, show continuous animation 2012-03-11 12:22:37 +02:00
Perttu Ahola
611fe41588 Fix log output in ban.cpp 2012-03-11 12:12:21 +02:00
Perttu Ahola
8b6cce18cb Improve command-line parameters 2012-03-11 12:06:59 +02:00
Perttu Ahola
d330430336 Prettify --help output 2012-03-11 11:02:22 +02:00
Perttu Ahola
37b2bc3c0c Move huge comment from the beginning of main.cpp to doc/ancient_main_comment.txt 2012-03-11 10:53:27 +02:00
Perttu Ahola
f49914dd17 --verbose, not --info-on-stderr 2012-03-11 04:22:48 +02:00
Perttu Ahola
f1d9880006 Clean up log messages everywhere 2012-03-11 04:15:45 +02:00
Perttu Ahola
6ec447a1aa Do not print errors when searching for usable configuration file 2012-03-11 01:09:27 +02:00
Perttu Ahola
b485fac33e Fix configuration file behaviour
- Do not rewrite if nothing needs to be changed
- Update at program exit, in addition to updating when continuing from main menu to game
2012-03-11 00:54:51 +02:00
Perttu Ahola
98404ad8ea Increase Peer max_packets_per_second (hopefully doesn't break anything) 2012-03-11 00:20:04 +02:00
Perttu Ahola
e1f5227304 Add description in minetest.conf.example 2012-03-10 23:54:45 +02:00
Perttu Ahola
2de8f915f8 Tune "Connecting to server" and "Waiting content" screens 2012-03-10 23:28:51 +02:00
Kahrl
967f25461b Chat console, including a number of rebases and modifications.
Defaults modified from original: alpha=200, key=F10
2012-03-10 20:11:10 +02:00
Perttu Ahola
0053651814 Starting the game in the pause menu is lame, don't do it\! 2012-03-10 18:21:15 +02:00
Kahrl
7d36833bd4 Set fixed FOV for the wielded item 2012-03-10 18:15:31 +02:00
Kahrl
1bbfd0b6d2 Different implementation of KeyPress::operator==
Fixes some key mapping issues.
2012-03-10 18:10:59 +02:00
Perttu Ahola
4547ace59a Make Camera::updateViewingRange more snappy in following the min/max settings 2012-03-10 18:03:40 +02:00
Perttu Ahola
d74659254b Faster player movement and smaller collision box 2012-03-10 17:28:56 +02:00
Perttu Ahola
55d310b05a dig_immediate=2 -> 0.5 seconds digging time 2012-03-10 17:25:14 +02:00
Perttu Ahola
15da308c2a Set rail to have dig_immediate=2 2012-03-10 17:23:36 +02:00
Perttu Ahola
e80bc6ef58 Tidy up server log output a bit 2012-03-10 17:10:16 +02:00
Perttu Ahola
d81e783665 Clean unit test output 2012-03-10 17:10:16 +02:00
Perttu Ahola
030b63c3d2 Add and tidy up some Server log output for declined connections 2012-03-10 17:10:16 +02:00
Perttu Ahola
f3dba05143 Remove servermain.cpp, use main.cpp with a couple of #ifdefs instead 2012-03-10 17:10:16 +02:00
Perttu Ahola
1020707918 Fix addon and configuration file paths 2012-03-10 17:10:16 +02:00
Perttu Ahola
c89d1cf072 Initial directory structure rework 2012-03-10 17:10:10 +02:00
Perttu Ahola
9c5e422d3a Ban and Auth managers use infostream rather than dstream 2012-03-10 15:49:38 +02:00
Perttu Ahola
5e00141005 Replace dig_immediate=1 with dig_immediate=3 in mods/default/init.lua 2012-03-10 11:28:14 +02:00
Perttu Ahola
fa70413c82 Add a small bunch of notes about groups in mods/default/init.lua 2012-03-10 11:28:14 +02:00
Perttu Ahola
06d2bc7fbd dig_immediate=3 instead of 1 means 0 seconds 2012-03-10 11:28:14 +02:00
Perttu Ahola
1ae9e0afa1 Update mini documentation in mods/default/init.lua a bit 2012-03-10 11:28:14 +02:00
Perttu Ahola
f9da2c9507 Immediate smoke puff when a normal entity is punched to death 2012-03-10 11:28:14 +02:00
Perttu Ahola
989aba1966 Fix and tune things, add tool "recharge" animation, add dummyball 2012-03-10 11:28:14 +02:00
Perttu Ahola
6b7d6c27ee Set proper armor group for experimental:tnt 2012-03-10 11:28:13 +02:00
Perttu Ahola
8db89b8136 LuaEntity armor groups 2012-03-10 11:28:13 +02:00
Perttu Ahola
8c01ad8a9d ClientActiveObject::debugInfoText() 2012-03-10 11:28:13 +02:00
Perttu Ahola
f60a5ec08f Remove header in servermain.cpp to make minetestserver to build 2012-03-10 11:28:13 +02:00
Perttu Ahola
501b8fe743 Damage groups WIP 2012-03-10 11:28:13 +02:00
Perttu Ahola
e9cdb938fe Entity damage system WIP; Remove C++ mobs 2012-03-10 11:28:13 +02:00
Perttu Ahola
f1cb91cd93 Small fix in getHitParams 2012-03-10 11:28:13 +02:00
Perttu Ahola
910186905f Don't draw cracks when digging is impossible 2012-03-10 11:28:13 +02:00
Perttu Ahola
07ed57476f itemgroup.h and ItemGroupList typedef 2012-03-10 11:28:13 +02:00
Perttu Ahola
0b21618a05 Tune group digging time stuff a bit 2012-03-10 11:28:13 +02:00
Perttu Ahola
b49a7c140e remove material from minetest.nodedef_default 2012-03-10 11:28:13 +02:00
Perttu Ahola
562ac3bce9 Digging time groups WIP 2012-03-10 11:28:12 +02:00
Jeija
f21291211c Improve raillike drawtype 2012-03-10 11:16:45 +02:00
Perttu Ahola
d834d6e074 Handle select errno EINTR properly (not doing this breaks at least many profilers) 2012-03-08 10:03:29 +02:00
Perttu Ahola
11716825fc Move profiler measurements into inside of mutex locking for more useful results 2012-03-07 21:54:18 +02:00
Perttu Ahola
0309021359 Add dedicated_server_step setting 2012-03-07 21:44:53 +02:00
Perttu Ahola
14a71590c3 Merge remote-tracking branch 'jn/random-fixes' 2012-02-28 21:47:15 +02:00
Juhani Numminen
a5f6d65c37 Add UNIX man pages to aid package creators. 2012-02-28 21:26:14 +02:00
Juhani Numminen
79326e6287 Add descriptions to command line arguments 2012-02-28 21:03:45 +02:00
Juhani Numminen
c8ec711503 Install icon and .desktop file on Unix systems 2012-02-28 21:03:38 +02:00
celeron55
0f8b91bfba Merge pull request #46 from garrosh/master
Add *~ to .gitignore
2012-02-28 10:44:40 -08:00
Perttu Ahola
b7fd3c8669 Add minetest.get_worldpath() for getting location for custom data 2012-02-28 20:41:26 +02:00
Perttu Ahola
b3f4cbe157 Fix pointed.thing.ref -> pointed_thing.ref in builtin.lua 2012-02-28 19:55:24 +02:00
Perttu Ahola
d0491ce8b6 Add descriptions to minetest.conf.example 2012-02-27 14:27:28 +02:00
Jonathan Neuschäfer
806f10524f server: /give: show the actual stackstring 2012-02-24 23:27:01 +01:00
Jonathan Neuschäfer
50110e00e8 creative inventory: update to use default:fence_wood 2012-02-24 23:27:01 +01:00
Jonathan Neuschäfer
3a89c40e26 mesh: warn only once about render-to-target not being supported 2012-02-24 23:27:01 +01:00
Jonathan Neuschäfer
ff678d1607 tile: remove redundant warning about failing render-to-target 2012-02-24 23:27:01 +01:00
Jonathan Neuschäfer
abab3db23d tile: don't duplicate std::string::find_last_of 2012-02-24 23:26:14 +01:00
Jonathan Neuschäfer
496451c164 itemdef: handle the !render-to-target case 2012-02-24 22:37:16 +01:00
Perttu Ahola
993821a924 Tune brightness stuff and fog color 2012-02-06 17:40:48 +02:00
Perttu Ahola
ad5ac22442 Set default maximum viewing range to a bit more than default server send range to make fog work well 2012-02-06 17:34:45 +02:00
Perttu Ahola
94b25685c5 Fix calculating if block is in viewing range; fix fog and default minimum accordingly 2012-02-06 17:27:54 +02:00
Kahrl
88cdd3a363 Players stay in environment even when dead, damage flash and fall damage fixes
Don't set m_removed on dead players (dead players are indicated by hp == 0). Local
damage flash is shown whatever the cause was (even from Lua set_hp). PlayerCAO
damage flash matches duration of local damage flash. Fall damage is dealt much more consistently (this is done by disallowing jumping when speed.Y is very negative, up to now jumping could sometimes negate fall damage)
2012-02-05 12:06:55 +02:00
Perttu Ahola
e15de8b70d Modify light values to work a bit better with non-smooth lighting 2012-02-05 12:02:40 +02:00
Perttu Ahola
61016962ee Add groups = {} to item definition 2012-02-04 02:20:05 +02:00
Perttu Ahola
a1eb2836c0 Set better visual light levels 2012-02-02 16:14:32 +02:00
Giuseppe Bilotta
64af6d3afe Fix some warnings on some compilers
ItemStack is a struct, not a class
CollisionInfo is a struct, not a class
InventoryAction is abstract and it needs a virtual destructor
2012-02-02 15:54:20 +02:00
Perttu Ahola
365f7a5bfe Merge remote-tracking branch 'kahrl/hidehud' 2012-02-02 14:35:18 +02:00
Kahrl
796009ef21 Fix server hang when stepping a furnace with a huge dtime 2012-02-02 12:50:11 +02:00
Kahrl
b85b4ede82 Page up/down: don't display the old value, it was a little confusing 2012-02-01 02:37:01 +01:00
Kahrl
2cb96d9d68 Page up and down change the minimum viewing range 2012-02-01 02:24:55 +01:00
Kahrl
78bf92175a Show the top line too when only chat, but not HUD is shown 2012-02-01 01:36:59 +01:00
Kahrl
0c3d39357b F1 toggles HUD, F2 toggles chat, F5 toggles debug info, F6 toggles profiler pages 2012-02-01 00:56:30 +01:00
Kahrl
0e8bd531c2 Fix craftresult_is_preview flood in log and remove unnecessary debug output 2012-01-25 20:18:20 +02:00
Garrosh
ac69a3561a Added Kate backup file scheme to .gitignore for Kate users 2012-01-24 22:38:00 -05:00
Perttu Ahola
24b1008d56 Remove unnecessary delays from large data transfer unit test 2012-01-24 12:50:10 +02:00
Perttu Ahola
a4340c330a Set default number of maximum users to 100 instead of 20 2012-01-24 12:02:40 +02:00
Perttu Ahola
2e8e9ee7f5 Add EnvRef:set_timeofday(0...1) and EnvRef:get_timeofday() 2012-01-24 12:01:59 +02:00
Perttu Ahola
cb05a28745 Call this 0.4.dev-20120122-1 2012-01-22 23:05:36 +02:00
Perttu Ahola
a387c9b95d Fix "illegal escape sequence" in MSVC (actually not illegal) 2012-01-22 22:00:29 +02:00
Kahrl
0a426f3592 Fix give_initial_stuff mod; experimental mod: dug_item -> drop; scriptapi.cpp: drops -> drop 2012-01-22 17:31:20 +02:00
Kahrl
00bc9a8678 tool and ToolItem apply item aliases 2012-01-22 17:31:20 +02:00
Kahrl
c241902b40 Cleanup (some stuff went wrong when reverting 4-byte mapnodes); fix legacy_wallmounted 2012-01-22 17:31:20 +02:00
Kahrl
4799a8f761 cleanup 2012-01-22 17:31:20 +02:00
Kahrl
02b334a679 Create node metadata when placing nodes again 2012-01-22 17:31:20 +02:00
Kahrl
b4dd5d3bd7 Client-side prediction of inventory changes, and some inventory menu fixes 2012-01-22 17:31:20 +02:00
Kahrl
1efdc36b22 Inventory menu (with dragging) improved. Crafting is now handled via a IACTION_CRAFT inventory action. 2012-01-22 17:31:12 +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
Kahrl
f22c73f501 Fix inventory glitch when connecting as new user 2012-01-14 11:05:24 +01:00
Kahrl
c920df748b Inventory menu changes: Tooltips; dragging; drop from menu. Lag is a bit annoying (even in single player). 2012-01-13 12:35:55 +01:00
Kahrl
a58d725569 Tool progress bar tweaking 2012-01-12 08:47:17 +01:00
Kahrl
6a76c226e1 The huge item definition and item namespace unification patch (itemdef), see http://c55.me/minetest/wiki/doku.php?id=changes:itemdef 2012-01-12 06:10:39 +01:00
Perttu Ahola
569156b013 Call this 0.4.dev-20120106-1 2012-01-06 20:41:52 +02:00
Perttu Ahola
6d4bc012f0 Fix key change menu a bit 2012-01-06 19:50:40 +02:00
Perttu Ahola
2f5c28aaf1 ObjectRef:setpos() to move player properly (a bit shortcuttish implementation) 2012-01-06 19:17:44 +02:00
Perttu Ahola
4f2c1e36a1 Implement minetest.register_on_dieplayer() 2012-01-06 00:12:33 +02:00
Perttu Ahola
bc743ca7ce Add missing checks to texture caching 2012-01-04 00:37:46 +02:00
Perttu Ahola
f9d7e399b2 Limit range of ABM timer initial value randomization 2012-01-03 13:49:47 +02:00
Perttu Ahola
3e6f824e6c Use free rather than delete for malloc'd memory 2012-01-02 21:42:33 +02:00
Perttu Ahola
6286c555d4 Initialize ABM timer to random value to spread processing 2012-01-02 21:06:38 +02:00
Perttu Ahola
4630281318 Fix ABM trigger chance being often way too high 2012-01-02 20:26:33 +02:00
Perttu Ahola
cd0019acd2 Fix server sending stuff before textures have been sent 2012-01-02 17:44:00 +02:00
Perttu Ahola
e82a76e438 Mark ObjectRef::get_entity_name() deprecated 2012-01-02 17:33:03 +02:00
Perttu Ahola
ab57fbe4ca Add name field to registered entities 2012-01-02 16:26:40 +02:00
Perttu Ahola
56f55ab1af Add ObjectRef:getvelocity(), ObjectRef:setyaw() and ObjectRef:getyaw() 2012-01-02 16:19:52 +02:00
Perttu Ahola
2445cbbbdc Add ObjectRef:get_luaentity() 2012-01-02 16:08:59 +02:00
Perttu Ahola
48131bf988 Call this 0.4.dev-20120102-1 2012-01-02 13:51:43 +02:00
Perttu Ahola
2b9596fe9b Make text area in message dialog a bit larger 2012-01-02 13:34:24 +02:00
Perttu Ahola
0e1f448b61 Texture cache on client (mostly made by sapier) (breaks network compatibility) 2012-01-02 13:31:50 +02:00
Perttu Ahola
ff82b95800 ObjectRef:get_entity_name() and fixing of comments in default/init.lua 2012-01-02 13:12:56 +02:00
Perttu Ahola
49b7055cb3 Make add_entity return a reference to added entity (or nil) 2012-01-02 12:48:25 +02:00
Perttu Ahola
cb88f7b6d4 Clean up InvRef documentation in default/init.lua a bit 2012-01-02 03:18:23 +02:00
Perttu Ahola
9425fb8192 Improve mini Lua reference 2012-01-02 02:59:14 +02:00
Perttu Ahola
e48ccd7943 Add ObjectRef:get_inventory() and add stuff to documentation comments 2012-01-02 02:59:14 +02:00
Perttu Ahola
6be5441176 Working implementation of experimental:luafurnace 2012-01-02 02:59:14 +02:00
Perttu Ahola
d5ba7ebaf0 Random fixes to InvRef related stuff and a broken luafurnace 2012-01-02 02:59:14 +02:00
Perttu Ahola
270a482740 Add InvRef:get_list() and InvRef:set_list() and fix some things (untested) 2012-01-02 02:59:14 +02:00
Perttu Ahola
e0b4890794 Add minetest.get_inventory(location), untested 2012-01-02 02:57:14 +02:00
Perttu Ahola
247e8b6e5d A small robustness addition to ItemStack 2012-01-02 01:49:38 +02:00
Perttu Ahola
b760e2ba23 Rename InvStack to ItemStack 2012-01-02 01:49:38 +02:00
Perttu Ahola
103173fc9b Add InvRef and InvStack (currently untested and unusable) 2012-01-02 01:49:38 +02:00
Perttu Ahola
70ed371d0c Add default: to everything in default/init.lua (...hopefully doesn't break anything) 2012-01-01 21:31:47 +02:00
Perttu Ahola
81d3485109 Fix segfault when generating stuff on world boundaries 2012-01-01 21:01:55 +02:00
Perttu Ahola
7b7b68cdab Correctly pop stuff from the Lua stack in script_load() 2011-12-31 14:41:57 +02:00
Giuseppe Bilotta
135a65e200 Add virtual destructors to abstract classes
IRespawnInitiator and InventoryActions are abstract classes, but they
were missing a virtual destructor. Define it, even if it does nothing
and its absence most likely makes no difference other tha causing
warnings during compile.
2011-12-28 20:50:21 +02:00
Perttu Ahola
123529e5eb Fix mirrored sign texture 2011-12-28 18:29:33 +02:00
Perttu Ahola
e81989a0d8 Add wooden planks to creative inventory 2011-12-28 18:24:09 +02:00
Perttu Ahola
1c15f53318 Add EnvRef:get_objects_inside_radius(pos, radius) 2011-12-28 18:18:08 +02:00
Perttu Ahola
7937813c98 Add get_look_dir(), get_look_pitch() and get_look_yaw() for players 2011-12-28 17:34:07 +02:00
Perttu Ahola
ad4040d982 Fix minetest.env:get_player_by_name(nil) causing segfault and similar things 2011-12-28 16:25:29 +02:00
Perttu Ahola
69579306dd Extend load screen maximum time 2011-12-11 16:52:19 +02:00
Perttu Ahola
bd21f00f0a Add minetest.get_modpath(modname) 2011-12-11 16:49:40 +02:00
Perttu Ahola
012bcbcb48 add_luaentity->add_entity in mods/experimental 2011-12-11 01:52:37 +02:00
Perttu Ahola
e06d4555bf Call this 0.4.dev-20111209-1 2011-12-09 11:36:47 +02:00
Perttu Ahola
abd106bacb Enforce modname naming convention 2011-12-04 18:26:05 +02:00
Perttu Ahola
008de2fb8f Delete unknown LuaEntities when punched 2011-12-04 16:25:27 +02:00
Perttu Ahola
2e67fa3e48 Improve /spawnentity a bit 2011-12-04 16:20:54 +02:00
Perttu Ahola
ea36951bc4 Rename EnvRef:add_luaentity to EnvRef:add_entity 2011-12-04 16:08:37 +02:00
Perttu Ahola
09c48b60bd Add EnvRef:get_node_light(pos, timeofday) 2011-12-04 15:55:37 +02:00
Perttu Ahola
4cc117ddf6 Properly use time_from_last_punch for limiting PvP punch damage 2011-12-04 14:43:01 +02:00
Kahrl
ceaf8edade Use plain IBillboardSceneNode instead of MyBillboardSceneNode (improves
Irrlicht 1.8 compat); also find dungeon master's fireball texture
again; add /spawnentity command
2011-12-04 13:27:30 +02:00
Perttu Ahola
520200d597 Check symlinks with stat() to know if they are directories or not 2011-12-04 13:02:00 +02:00
Perttu Ahola
ab67985d21 Add support for unix filesystems which yield DT_UNKNOWN in dirent->d_type, falling back on stat(). 2011-12-04 12:49:58 +02:00
Perttu Ahola
bc5cc638fc Fix player not dying when beated to death by other player 2011-12-04 03:56:22 +02:00
Perttu Ahola
bff8be8b76 Fix getting two old-style minerals per digged node 2011-12-04 03:47:55 +02:00
Perttu Ahola
3e95b8a158 Determine light_propagates from paramtype 2011-12-04 03:45:02 +02:00
Perttu Ahola
e8539d4dae Add experimental TNT's old name as an alias 2011-12-04 02:16:23 +02:00
Perttu Ahola
1907b31da7 Add furnace to legacy aliases 2011-12-04 02:15:05 +02:00
Perttu Ahola
6145a135bd Make ToolItem and MaterialItem to convert names by aliases at creation time too (necessary for eg. crafting) 2011-12-04 02:12:45 +02:00
Perttu Ahola
97c3bc408b Fix fence name 2011-12-04 02:12:43 +02:00
Perttu Ahola
a00e908f52 Call this 0.4.dev-20111204-1 2011-12-04 01:24:47 +02:00
Perttu Ahola
4ad8891e05 Convert CraftItems directly to the name pointed by alias; necessary due to lua definition table 2011-12-04 01:16:22 +02:00
Perttu Ahola
2b8b2a4f30 Fix wrong checked node names in bucket 2011-12-04 01:15:09 +02:00
Perttu Ahola
5c24450e54 Add some aliases to bucket 2011-12-04 00:51:19 +02:00
Perttu Ahola
3a689a5c4f Don't initialize ItemCAOs with stick.png 2011-12-04 00:45:12 +02:00
Perttu Ahola
44e36d9aad Fix craftitem aliases 2011-12-04 00:44:29 +02:00
Perttu Ahola
62f7f72d20 Move default_treeprop.png to treeprop.png 2011-12-04 00:40:04 +02:00
Perttu Ahola
829c632511 Craftitem aliases 2011-12-04 00:39:20 +02:00
Perttu Ahola
8730dfb1f9 Fix log message in tooldef.cpp 2011-12-04 00:35:08 +02:00
Perttu Ahola
6764365994 Modify a commit in tooldef.cpp and nodedef.cpp 2011-12-04 00:33:05 +02:00
Perttu Ahola
8addbc9655 Tool aliases 2011-12-04 00:22:34 +02:00
Perttu Ahola
658d1a7235 Add serialization for node aliases to let client show inventory images correctly 2011-12-04 00:07:02 +02:00
Perttu Ahola
4b00d4d9d2 Node definition aliases 2011-12-03 23:50:31 +02:00
Perttu Ahola
6a5829788e Even more texture fixing 2011-12-03 22:33:22 +02:00
Perttu Ahola
03074cd23e Rename lump_of_* to *_lump 2011-12-03 22:31:12 +02:00
Perttu Ahola
2620e8eada Fix the previous commit 2011-12-03 21:31:39 +02:00
Perttu Ahola
9b5e676ffa Clean and fix mods/experimental/init.lua 2011-12-03 21:30:54 +02:00
Perttu Ahola
fd1ef11617 More texture naming fixes 2011-12-03 21:22:29 +02:00
Perttu Ahola
9fa567a6ce Rename textures of default mod 2011-12-03 21:10:02 +02:00
Perttu Ahola
fc6c00cbe1 Remove iron apple from default 2011-12-03 20:31:41 +02:00
Perttu Ahola
66f90a6101 Make global names in default mod use good naming convention and move backwards-compatibility definitions to mods/legacy 2011-12-03 20:25:21 +02:00
Perttu Ahola
1fe5c58d56 Rename cookresult_item to cookresult_itemstring 2011-12-03 18:45:04 +02:00
Perttu Ahola
f23616acaf add EnvRef:get_node_or_nil() 2011-12-03 18:37:50 +02:00
Perttu Ahola
7d37913ea4 Add ABM required neighbor check 2011-12-03 18:18:59 +02:00
Perttu Ahola
ac56053c74 Fix bucket texture names 2011-12-03 17:40:58 +02:00
Perttu Ahola
d566ffaa5f Allow digging unknown nodes 2011-12-03 13:56:39 +02:00
Perttu Ahola
d06d7cb9a4 Show infotext for unknown nodes 2011-12-03 13:51:16 +02:00
Perttu Ahola
e494b5d422 Show infotext for unknown items placed on ground 2011-12-03 13:46:19 +02:00
Perttu Ahola
fdf7b3bcdf Call this 0.4.dev-20111203-3 2011-12-03 12:02:45 +02:00
Perttu Ahola
871e6c0c73 On SIGINT in main menu, don't connect before shutting down 2011-12-03 12:02:27 +02:00
Kahrl
392485aa45 inventorycube: use all three specified textures; also moved mesh creation / modification functions to mesh.cpp; in lua, inventorycube is now called minetest.inventorycube 2011-12-03 11:47:37 +02:00
Kahrl
275a348b75 Do not broadcast an empty chat message when someone tries to log in with the wrong password 2011-12-03 11:47:19 +02:00
Kahrl
189689716c Notify player whose password is being changed 2011-12-03 11:47:19 +02:00
Perttu Ahola
3965d432ca Call this 0.4.dev-20111203-2 2011-12-03 11:45:26 +02:00
Perttu Ahola
746b960c0d Note about debug.txt in error message dialog when mod fails to load 2011-12-03 11:44:47 +02:00
Perttu Ahola
760416b81f Change naming convention to be modname:* instead of modname_* (sorry modders!) 2011-12-03 11:41:52 +02:00
Perttu Ahola
1c785c32ef Fix note about run-in-place mod search path in mods/default/init.lua 2011-12-03 04:00:42 +02:00
Perttu Ahola
cd608b1877 Set version 0.4.dev-20111203-1 2011-12-03 03:46:19 +02:00
Perttu Ahola
c6dd75ccfb Add usermods/ to mod search paths and print out the paths at server startup 2011-12-03 03:43:20 +02:00
Perttu Ahola
6b2023dc3e Properly handle mod name conflicts 2011-12-03 03:32:30 +02:00
Perttu Ahola
2f4a92d701 Better mod loading error handling 2011-12-03 03:23:14 +02:00
Perttu Ahola
324c544922 Add world/mods to mod search path 2011-12-03 02:55:54 +02:00
Perttu Ahola
fbbbcf97d8 Remove accidental stupid naming in craftitem example 2011-12-03 02:48:06 +02:00
Perttu Ahola
d96cd236f3 Enforced mod global naming convention and better error reporting 2011-12-03 02:45:55 +02:00
Perttu Ahola
581f950e10 Fix script error reporting a bit 2011-12-02 22:49:54 +02:00
Perttu Ahola
9344816bd6 Fix ActiveObject creation for fast player respawns 2011-12-02 17:30:22 +02:00
Perttu Ahola
67c21fc42f Fix sending of player hp (was sent all the time) 2011-12-02 17:19:42 +02:00
Perttu Ahola
c2d266efc6 Remove unnecessary debug output from mods/default/init.lua 2011-12-02 16:24:56 +02:00
Perttu Ahola
ec1859b095 Show bare hand when no item is selected 2011-12-02 15:20:42 +02:00
Perttu Ahola
bc00cdeb2c Set version to 0.4.dev-20111202-1 2011-12-02 13:00:42 +02:00
Perttu Ahola
3e6e35f383 Fix mod licensing and add a mention about sound licensing in README.txt 2011-12-02 12:58:46 +02:00
Perttu Ahola
b9e8e20c9c Script-defined creative inventory 2011-12-02 12:43:57 +02:00
Perttu Ahola
932988af46 Rename "build" privilege to "interact" (backwards-compatibly, of course) 2011-12-02 12:18:19 +02:00
Perttu Ahola
69bc9224db Rename "NodeItem"/"ToolItem"/"CraftItem" to "node"/"tool"/"craft" 2011-12-02 12:12:07 +02:00
Perttu Ahola
a17efe6e8f Remove obsolete createPickedUpItem() 2011-12-02 11:54:23 +02:00
Perttu Ahola
e8b0722137 Add time_from_last_punch to Lua API 2011-12-02 11:51:41 +02:00
Perttu Ahola
ed128fff26 Add a note about mods being under CC BY-SA 3.0 like textures 2011-12-02 11:40:04 +02:00
Mark Holmquist
a465fd5b99 + middle-click now empties the inventory slot properly 2011-12-02 11:31:10 +02:00
Perttu Ahola
9af0142a36 Add enable_pvp setting 2011-12-02 11:25:47 +02:00
Perttu Ahola
34fd47887e Make unlimited player transfer distance configurable 2011-12-02 11:22:09 +02:00
Perttu Ahola
2dc9a0c724 Fix player double damage 2011-12-02 11:16:51 +02:00
Perttu Ahola
c357985135 Make hitting players make a visual damage flash to the player texture and the screen of the local player 2011-12-02 10:57:40 +02:00
Perttu Ahola
ae2b7f9523 Don't hide players in pitch black (like oerkkis) 2011-12-02 10:45:43 +02:00
Perttu Ahola
5344dec760 Move ServerRemotePlayer to a separate file 2011-12-02 10:44:20 +02:00
Perttu Ahola
89bc306632 Fix /give(me) commands a bit in default mod 2011-12-02 02:17:01 +02:00
Perttu Ahola
dc05b106f2 Fix the previous commit 2011-12-02 02:04:25 +02:00
Perttu Ahola
a416cf7c45 Enforce PLAYER_INVENTORY_SIZE in ObjectRef::l_inventory_set_list 2011-12-02 02:01:46 +02:00
Perttu Ahola
09010410cf Print out PROTOCOL_VERSIONs if server is incompatible with client 2011-12-02 01:24:54 +02:00
Perttu Ahola
f8bbecebf5 Higher default map save and unload interval 2011-12-02 01:20:54 +02:00
Perttu Ahola
9d67037570 Don't send objects or map data before definitions have been sent 2011-12-02 01:18:25 +02:00
Perttu Ahola
e4daa4c065 Make players be again visible from a long distance 2011-12-02 01:08:14 +02:00
Perttu Ahola
08a10b8a6a Remove stuff made obsolete by making players more ActiveObject-like and raise protocol version number by one (because it is not compatible at all anymore) 2011-12-01 23:55:57 +02:00
Perttu Ahola
af32240545 Players are more like objects + related stuff 2011-12-01 23:33:48 +02:00
Perttu Ahola
ee0d3bacbc Player-is-SAO WIP 2011-12-01 18:23:58 +02:00
Perttu Ahola
9dcfa882b1 Fix non-fancy leaves not making faces with water 2011-12-01 14:48:52 +02:00
Perttu Ahola
cb589b1f99 Make non-fancy leaf texture to go in texture atlas too 2011-12-01 14:12:47 +02:00
Perttu Ahola
e6e3eef0ef Add ServerActiveObject::removingFromEnvironment() 2011-12-01 13:22:33 +02:00
Perttu Ahola
0e113a4c81 Remove +"^[forcesingle" from ContentFeatures::setInventoryTexture, because 1) it was not used, 2) if it will be used, it won't need to do that anymore 2011-12-01 13:01:37 +02:00
Perttu Ahola
1da3a8e24b Fix getTextureRaw to always return an image that is not in the texture atlas and fix plain "^[forcesingle" handling 2011-12-01 13:00:27 +02:00
Perttu Ahola
3509714951 Fix loading of legacy MaterialItems (was loaded as a quite random type) 2011-12-01 12:50:32 +02:00
Perttu Ahola
146be1f0b6 Fix texture atlas not being created correctly 2011-12-01 12:43:17 +02:00
Perttu Ahola
223a4f4741 Include the freedesktop.org-standard .desktop file in misc/ to aid package makers 2011-12-01 12:12:48 +02:00
Perttu Ahola
1f1c1790f5 Remove old stuff from misc/ 2011-12-01 12:11:26 +02:00
Kahrl
2ca00fa585 Fix processing of the default_password setting. It is now actually used as the plaintext password for new users. Also add /setpassword and /clearpassword server commands that can be used by admins with the PRIV_PASSWORD privilege, and update the /help message. 2011-12-01 12:06:39 +02:00
Kahrl
1901158b3e Make camera.cpp Irrlicht 1.8-compatible by calling ITexture::lock differently depending on the irrlicht version. 2011-12-01 11:56:06 +02:00
Kahrl
63d3403a20 Wireshark dissector: correct messed up field names 2011-12-01 11:38:06 +02:00
Kahrl
7f7fe444d3 Wireshark dissector: Add TOSERVER_RESPAWN and TOCLIENT_DEATHSCREEN, plus some failed assertion fix (well, hack). 2011-12-01 11:38:06 +02:00
Perttu Ahola
f4272ccf8f Enable simple drag and drop in inventory 2011-12-01 11:32:51 +02:00
Perttu Ahola
4196b0d341 Inventory move-to-slot hilighting 2011-12-01 11:25:55 +02:00
Perttu Ahola
ebc7a36a83 Note in init.lua the methods specific to the "generic" node metadata 2011-12-01 10:55:25 +02:00
Giuseppe Bilotta
aab50cd2cc Fix conditional bug in inventory
A spurious semicolon after the conditional checking for the drop count
to be not higher than the owned count caused the subsequent
    count = getCount()
to be always executed. Fix by removing the extra semicolon.
2011-12-01 10:41:24 +02:00
Giuseppe Bilotta
96c30452f9 Fix structs being declared as classes
Some compilers complain when a class is declared as a struct or vice
versa. Fix by making sure that the correct tag is used both in
declaration and definition.
2011-12-01 10:39:47 +02:00
Perttu Ahola
4d0f227c70 Fix sand to be cookable to glass 2011-12-01 02:56:49 +02:00
Perttu Ahola
50b87c3791 Update version in CMakeLists.txt to 0.4.dev-20111201-1 2011-12-01 02:43:10 +02:00
Perttu Ahola
b6539399f4 Fix deadlock if MeshUpdateThread asks new textures while it is being stopped (happened if texture data was transferred slowly) 2011-12-01 02:41:52 +02:00
Perttu Ahola
8b8ef8acc0 Move NodeMetadata prototype containers to content_nodemeta.cpp to fix them not being filled correctly on some systems and compilers 2011-12-01 01:58:31 +02:00
Perttu Ahola
74c6836f2f Update version in CMakeLists.txt to 0.4.dev-20111201-0 2011-12-01 00:37:46 +02:00
Perttu Ahola
d8d6d0dc95 Do not assert if count becomes larger than getStackMax() in InventoryItem::add(); it is nicer for scripting and overall hacking this way, because rising it higher than the limit is does not break anything. It should be, and is, enforced elsewhere where appropriate. 2011-12-01 00:07:21 +02:00
Perttu Ahola
f6c6c4f917 Load count 0 in itemstring as 1 2011-12-01 00:04:21 +02:00
Perttu Ahola
918c507a66 Move craftitem_place_item as minetest.craftitem_place_item in builtin.lua 2011-11-30 23:52:02 +02:00
Perttu Ahola
1b61ca412b ObjectRef:get_player_name, ObjectRef:inventory_set_list, ObjectRef:inventory_get_list 2011-11-30 23:38:18 +02:00
Perttu Ahola
cd563473fa Add ObjectRef:punch and ObjectRef:right_click to Lua API 2011-11-30 20:54:54 +02:00
Perttu Ahola
d26e19a296 List added functions in default/init.lua 2011-11-30 20:38:55 +02:00
Perttu Ahola
a244e367ea Add get_wielded_itemstring, get_wielded_item, damage_wielded_item and make getacceleration visible in API 2011-11-30 20:36:07 +02:00
Perttu Ahola
347216d654 Reworked the inventory move handling code, hopefully fixed more problems than caused 2011-11-30 19:49:34 +02:00
Perttu Ahola
49e4f55b09 Fix player getting reset to 0,0 at connect if being far from 0,0 2011-11-30 00:39:36 +02:00
Perttu Ahola
661ed387df Version 0.4.dev-20111129-2 2011-11-29 23:23:33 +02:00
Perttu Ahola
ccfec0400f Modify builtin ABMs to have lower interval and higher trigger non-chance 2011-11-29 23:22:44 +02:00
Perttu Ahola
e109ed5cef Proper player inventory and hp modification tracking and sending accordingly 2011-11-29 23:18:20 +02:00
Perttu Ahola
b2c905d800 Tune main menu a bit and show version number in there 2011-11-29 22:34:58 +02:00
Perttu Ahola
4bcff65ad0 Better version match fail messages from server 2011-11-29 22:23:03 +02:00
Perttu Ahola
e5d372f238 dev-20111129-1 2011-11-29 21:46:03 +02:00
Perttu Ahola
103d4793f0 Create the necessary API for /giveme and /give and implement those commands; also sort out the scripts a bit 2011-11-29 21:30:22 +02:00
Perttu Ahola
2a610b011a Handle items with m_count==0 sanely when placing 2011-11-29 21:05:53 +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
6d23fb2592 Do not install the static lua library file 2011-11-29 19:27:41 +02:00
Perttu Ahola
bc48cf076d Remove content_inventory.{h,cpp} 2011-11-29 19:13:59 +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
d57aa531e1 Modify bucket namings 2011-11-29 19:13:58 +02:00
Perttu Ahola
bb898bf587 Add bucket textures 2011-11-29 19:13:58 +02:00
Perttu Ahola
9d35e4fa6e Reorganize mods 2011-11-29 19:13:58 +02:00
Perttu Ahola
bd1e5f4fc8 Add missing files for a previous commit 2011-11-29 19:13:58 +02:00
Perttu Ahola
95951ce558 Update version number to 0.4.dev-20111129 2011-11-29 19:13:58 +02:00
Perttu Ahola
10a363ebf3 Add a note about the default mod not using the modname_ prefix in textures 2011-11-29 19:13:58 +02:00
Kahrl
d6b30dd3a5 CraftItem rework and Lua interface 2011-11-29 19:13:58 +02:00
Perttu Ahola
1c19f959db Fix active_object_count and active_object_count_wider not getting updated between ABM calls causing huge amounts of DMs and rats and stuff 2011-11-29 19:13:58 +02:00
Perttu Ahola
dde22d26a8 Add NULL terminations to EnumString definitions 2011-11-29 19:13:57 +02:00
Perttu Ahola
c8211ceb3e Some MSVC fixes 2011-11-29 19:13:57 +02:00
Perttu Ahola
c910ead4db Fix CMake install data path 2011-11-29 19:13:57 +02:00
Perttu Ahola
fe64f2b673 Silly MSVC doesn't know how to handle type conversions for parameters of pow(). Help it. 2011-11-29 19:13:57 +02:00
Perttu Ahola
a91eb36277 Update installation in CMakeLists.txt 2011-11-29 19:13:57 +02:00
Perttu Ahola
026979e39d Rename menu background to menubg.png, move unknown_block.png and unknown_object.png to client, make generating a placeholder image for the filename "" not cause an error 2011-11-29 19:13:57 +02:00
Perttu Ahola
705f142b8d GenericNodeMetadata and an example furnace 2011-11-29 19:13:57 +02:00
Perttu Ahola
e880cc40e9 Fix stuff in inventory.{cpp,h} 2011-11-29 19:13:57 +02:00
Perttu Ahola
7bb4b7911b Comment out debug output in ServerEnvironment::activateBlock 2011-11-29 19:13:57 +02:00
Perttu Ahola
fadf248892 Handle ActiveBlockModifier intervals properly, down to 1s 2011-11-29 19:13:57 +02:00
Perttu Ahola
0f2b932e92 Initial NodeMetaRef stuff 2011-11-29 19:13:56 +02:00
Perttu Ahola
34bd1b3032 Lua interface for ActiveBlockModifier 2011-11-29 19:13:56 +02:00
Perttu Ahola
8924588511 Remove creation of builtin.lua defined minetest.registered_* tables in C 2011-11-29 19:13:56 +02:00
Perttu Ahola
6029d9e5a9 Comment fix in builtin.lua 2011-11-29 19:13:56 +02:00
Perttu Ahola
19a1ac1f34 For consistency, implement calling of on_chat_message callbacks in C 2011-11-29 19:13:56 +02:00
Perttu Ahola
30648d1cc9 Implement callback registration in Lua instead of C 2011-11-29 19:13:56 +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
05df2ee8a4 Add chat message callback and send functions 2011-11-29 19:13:56 +02:00
Perttu Ahola
ab3911ba9e Print errors from local log to chat 2011-11-29 19:13:56 +02:00
Perttu Ahola
013921782b Add a third log output interface method 2011-11-29 19:13:56 +02:00
Perttu Ahola
c449e5f20a Use log_deregister_thread in EmergeThread 2011-11-29 19:13:56 +02:00
Perttu Ahola
6e0de7b42c Add log_remove_output and log_deregister_thread 2011-11-29 19:13:55 +02:00
Perttu Ahola
2e42391b86 Fix mod dependency sort 2011-11-29 19:13:55 +02:00
Perttu Ahola
21bd679076 Add depends.txt for mods/give_initial_stuff 2011-11-29 19:13:55 +02:00
Perttu Ahola
fd8b9a3a44 Warn about unsatisfied dependencies 2011-11-29 19:13:55 +02:00
Perttu Ahola
5c1cb01936 Make blocks to be loaded from disk when the active block area reaches them 2011-11-29 19:13:55 +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
4ce6e5f0c5 Optimize lighting by a tiny bit 2011-11-29 19:13:55 +02:00
Perttu Ahola
a8a82e0b21 Sort mods by dependencies defined by modpath/depends.txt in each mod (not mandatory) 2011-11-29 19:13:55 +02:00
Perttu Ahola
739cb87385 Fix default value of visual in LuaEntityProperties 2011-11-29 19:13:55 +02:00
Perttu Ahola
8492796a5c Allow server-side teleporting 2011-11-29 19:13:55 +02:00
Perttu Ahola
218b626016 Fix and tune player movement checks (make them very loose) 2011-11-29 19:13:55 +02:00
Kahrl
f42c57d9a8 Add IDropAction and related stuff 2011-11-29 19:13:54 +02:00
Perttu Ahola
82a460ec90 Improve luaentity sprite functionality (and add some random stuff) 2011-11-29 19:13:54 +02:00
Perttu Ahola
b4e6ca63b5 Comment out print("on_generated: ...") in Lua 2011-11-29 19:13:54 +02:00
Perttu Ahola
1d36e68346 Fix liquid source backface culling (was not turned off) 2011-11-29 19:13:54 +02:00
Perttu Ahola
41c473cf5e Fix player getting thrown underground after connecting 2011-11-29 19:13:54 +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
769cc9879f Add on_generated hook 2011-11-29 19:13:54 +02:00
Perttu Ahola
0dbb31afeb Improve player movement speed checking 2011-11-29 19:13:54 +02:00
Perttu Ahola
1bfc3c1eb9 Player movement speed and node access distance checking 2011-11-29 19:13:54 +02:00
Perttu Ahola
8bd178c2e5 If available, use local textures instead of those sent by server 2011-11-29 19:13:53 +02:00
Perttu Ahola
b58dc083a9 Fix TNT script 2011-11-29 19:13:53 +02:00
Perttu Ahola
65b2a2cb02 Make lighting update occur immediately after ClientActiveObject addition to make objects show up much more responsively 2011-11-29 19:13:53 +02:00
Perttu Ahola
70363847aa Reshape LuaEntityCAO implementation a bit and make TNT to blink 2011-11-29 19:13:53 +02:00
Perttu Ahola
1ce749c86a Optimize active block modifier stuff (was left horribly unoptimized after making content ids dynamic) 2011-11-29 19:13:53 +02:00
Perttu Ahola
08c9b6037d Re-implement give_initial_stuff 2011-11-29 19:13:53 +02:00
Perttu Ahola
57a2bd056c Exception handling in Lua setting get 2011-11-29 19:13:53 +02:00
Perttu Ahola
234bf99743 Lua setting getter 2011-11-29 19:13:53 +02:00
Perttu Ahola
f93144fee7 remove get_nodedef 2011-11-29 19:13:53 +02:00
Perttu Ahola
945d01fd9e on_newplayer and on_respawnplayer callbacks 2011-11-29 19:13:53 +02:00
Perttu Ahola
d99d27dcbe liquid_type -> liquidtype 2011-11-29 19:13:52 +02:00
Perttu Ahola
908db7c1d2 Make node definitions available to Lua 2011-11-29 19:13:52 +02:00
Perttu Ahola
77337271fc Remove give_initial_stuff 2011-11-29 19:13:52 +02:00
Kahrl
c1479a2732 Add node definitions in Lua and do not use content_mapnode_init anymore (except in test.cpp) 2011-11-29 19:13:52 +02:00
Perttu Ahola
1f53ca5f4c Modify CONTENT_AIR and CONTENT_IGNORE handling in nodedef.cpp 2011-11-29 19:13:52 +02:00
Perttu Ahola
425db289d5 Fix random node definition stuff 2011-11-29 19:13:52 +02:00
Perttu Ahola
d2eed169ae Add builtin.lua 2011-11-29 19:13:52 +02:00
Perttu Ahola
61ffe1eac4 builtin.lua 2011-11-29 19:13:52 +02:00
Perttu Ahola
9e7ad1e2aa Add object reference to Lua on_place/dig/punchnode parameters 2011-11-29 19:13:52 +02:00
Perttu Ahola
ae9f183cda Fix "warning: comparison between signed and unsigned integer expressions" 2011-11-29 19:13:52 +02:00
Perttu Ahola
71bc20c453 Some node definitions in Lua 2011-11-29 19:13:52 +02:00
Perttu Ahola
ff1ae29f97 Duplicate last tile image automatically to all for lua node definitions 2011-11-29 19:13:51 +02:00
Perttu Ahola
fdf6eecd59 Make map generator more responsive 2011-11-29 19:13:51 +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
6153a2fb10 Improve debug stack printing interface 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
18bb0ea1ea Mode node definition loading from Lua (still not finished), fix metadata creation from name 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
704d8a62bf Set block modified flag when node metadata inventory is modified 2011-11-29 19:13:50 +02:00
Perttu Ahola
3b3ca65562 Add names to NodeMetadata 2011-11-29 19:13:50 +02:00
Perttu Ahola
697ff926ce Add Lua node definition stuff (not complete) 2011-11-29 19:13:50 +02:00
Perttu Ahola
e8a9578774 Add texture modifier [brighten and modify [toalpha to modify existing texture, not read a new base 2011-11-29 19:13:50 +02:00
Perttu Ahola
0bf3a15886 Random Lua tweaks/fixes 2011-11-29 19:13:50 +02:00
Perttu Ahola
cebc8c78a4 Make object hit delay smaller for fun; actually it should be roughly zero and hit damage should be calculated from the amount of time since last punch, limited to a maximum value 2011-11-29 19:13:50 +02:00
Perttu Ahola
290e921920 Relatively snappy object-ground collision detection 2011-11-29 19:13:50 +02:00
Perttu Ahola
94feb62b08 When digging a node, don't switch to punching an object without raising button 2011-11-29 19:13:50 +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
0ce0c8fcfb Improve LuaEntity velocity/acceleration handling (by kahrl); implement staticdata interface to Lua 2011-11-29 19:13:49 +02:00
Perttu Ahola
811ac5ac3a Mess up with node definitions to make CONTENT_IGNORE be correctly interpreted when creating meshes 2011-11-29 19:13:49 +02:00
Perttu Ahola
901d98b687 Optimize map generator for the dynamic content ids a bit 2011-11-29 19:13:49 +02:00
Perttu Ahola
4503b03b26 Make added nodes give the corresponding NodeItem as of now (placeholder code) 2011-11-29 19:13:49 +02:00
Perttu Ahola
0e64406b06 Fix tool wear 2011-11-29 19:13:49 +02:00
Perttu Ahola
1220b642eb Falling sand and gravel 2011-11-29 19:13:49 +02:00
Perttu Ahola
cc03718d3c Node place/dig Lua callbacks 2011-11-29 19:13:49 +02:00
Perttu Ahola
d7cb6146c8 Fix crafted tools being a very tiny bit worn in default/init.lua 2011-11-29 19:13:48 +02:00
Perttu Ahola
4f021fc7dd Remove crafting definitions from content_craft.cpp 2011-11-29 19:13:48 +02:00
Perttu Ahola
498ebef357 Add classic crafting recipes to default/init.lua 2011-11-29 19:13:48 +02:00
Perttu Ahola
cebbaf1664 Catch SerializationError in CCraftDefManager::getCraftResult() 2011-11-29 19:13:48 +02:00
Perttu Ahola
227e067512 Add note about craft_get_result() not being used anymore, but don't remove before it's contents have been transferred to scripts 2011-11-29 19:13:48 +02:00
Perttu Ahola
9d5b458479 Crafting definition in scripts 2011-11-29 19:13:48 +02:00
Perttu Ahola
8dd3622c6d Improve item serialization 2011-11-29 19:13:48 +02:00
Perttu Ahola
564c3a9c96 Allow inputting nodename of MaterialItem in ItemSpec::checkItem 2011-11-29 19:13:48 +02:00
Perttu Ahola
4725e5c52e Fix another silly mistake making CONTENT_IGNORE definition not being what it should 2011-11-29 19:13:47 +02:00
Perttu Ahola
106027fc29 Fix silly misspelling in mapgen that made junglegrass to be CONTENT_IGNORE 2011-11-29 19:13:47 +02:00
Perttu Ahola
d1298fe5e7 Actually fill in the NewNameGetter names to allow map generator operation and crafting 2011-11-29 19:13:47 +02:00
Perttu Ahola
eabfb370ac MapNode constructor to allow ndef+name 2011-11-29 19:13:47 +02:00
Perttu Ahola
62164d955c Initial node definition stuff 2011-11-29 19:13:47 +02:00
Perttu Ahola
a5545593ba Fix camera MaterialItem draw logic 2011-11-29 19:13:47 +02:00
Perttu Ahola
f68fa667c8 Clean InventoryItem interface a bit 2011-11-29 19:13:47 +02:00
Perttu Ahola
7a29b14a20 Improved MaterialItem (stores nodename) 2011-11-29 19:13:47 +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
50d63e4b0a Add name field to ContentFeatures 2011-11-29 19:13:46 +02:00
Perttu Ahola
6a417c538f Remove burn time definitions from FurnaceNodeMetadata 2011-11-29 19:13:46 +02:00
Perttu Ahola
7fae32095a Remove old comments 2011-11-29 19:13:46 +02:00
Perttu Ahola
37a5f8a30b Move cook result properly to ContentFeatures 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
a793533d1a Remove content_mapnode.h and nodedef.h #includes 2011-11-29 19:13:46 +02:00
Perttu Ahola
3318d0b4b8 Remove content dependencies from mapblock.cpp 2011-11-29 19:13:46 +02:00
Perttu Ahola
81f1cc662f Remove #include <content_mapnode.h> from game.cpp 2011-11-29 19:13:46 +02:00
Perttu Ahola
28fe2987a0 Saner sized sapling 2011-11-29 19:13:45 +02:00
Perttu Ahola
26abf6fd82 Cut down content transfer verbosity 2011-11-29 19:13:45 +02:00
Perttu Ahola
594b189569 Cut down TextureSource verbosity 2011-11-29 19:13:45 +02:00
Perttu Ahola
7696a38543 Improve loading screen and protocol 2011-11-29 19:13:45 +02:00
Perttu Ahola
cde35d1606 Clean nodefeat and content_mapnode a bit 2011-11-29 19:13:45 +02:00
Perttu Ahola
9fc78cbece Fix flowing water being always opaque 2011-11-29 19:13:45 +02:00
Perttu Ahola
e4dff41560 Fix MaterialProperties serialization (constant_time was missing) 2011-11-29 19:13:45 +02:00
Perttu Ahola
2f2392f783 Improve glass 2011-11-29 19:13:45 +02:00
Perttu Ahola
c3703ded95 Fix NDT_PLANTLIKE scaling to always keep the bottom at ground level 2011-11-29 19:13:44 +02:00
Perttu Ahola
e5fd010a6c Replace direct irrlicht texture fetching in CAO content with TextureSource 2011-11-29 19:13:44 +02:00
Perttu Ahola
ba762bcd49 Clean mapnode.h and fix other files accordingly 2011-11-29 19:13:44 +02:00
Perttu Ahola
6da8cb00e2 Node definitions transfer 2011-11-29 19:13:44 +02:00
Perttu Ahola
eed727c61b Completely generalized mesh generation; ContentFeatures serialization 2011-11-29 19:13:44 +02:00
Perttu Ahola
89e7bacd99 Clean more 2011-11-29 19:13:44 +02:00
Perttu Ahola
ff34955a0d Remove commented out code 2011-11-29 19:13:44 +02:00
Perttu Ahola
a48a0e77eb Prepare more for node definition serialization 2011-11-29 19:13:43 +02:00
Perttu Ahola
cf6e22e9a6 Better node texture generation 2011-11-29 19:13:43 +02:00
Perttu Ahola
c1202a2ecc Update inventory texture too 2011-11-29 19:13:43 +02:00
Perttu Ahola
01ae0daea5 Properly update textures in node definitions 2011-11-29 19:13:43 +02:00
Perttu Ahola
45fc45a49e Sending of textures WIP 2011-11-29 19:13:43 +02:00
Perttu Ahola
7bdc328a71 Fix yet-another serialization error in utility.h and set constructor of Buffer take const data for copying 2011-11-29 19:13:43 +02:00
Perttu Ahola
e71744b918 Modify mod and texture directory hierarchies 2011-11-29 19:13:43 +02:00
Perttu Ahola
40e7a1a5c9 Update TODO list in scriptapi.cpp 2011-11-29 19:13:43 +02:00
Perttu Ahola
7878d9b3f6 Set traditional minetest durability values to tools 2011-11-29 19:13:43 +02:00
Perttu Ahola
9e1c4533b8 Move tool definitions to script 2011-11-29 19:13:43 +02:00
Perttu Ahola
4b8e4dae58 Tool definition transfer to client 2011-11-29 19:13:42 +02:00
Perttu Ahola
0754f2a7af ToolDefManager serialization 2011-11-29 19:13:42 +02:00
Perttu Ahola
8d2d28f1dc ToolDefinition serialization 2011-11-29 19:13:42 +02:00
Perttu Ahola
e9620d9c8c Make fence post selection box smaller and create code to allow node placement to the side of a static box 2011-11-29 19:13:42 +02:00
Perttu Ahola
de51f87e05 Tune gravel and picks 2011-11-29 19:13:42 +02:00
Perttu Ahola
1afed48a2c Make possible and do update textures in node definitions after late texture atlas making 2011-11-29 19:13:42 +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
5fc791ac9a Move tool stuff to tool.{h,cpp} 2011-11-29 19:13:41 +02:00
Perttu Ahola
72884bf85f Tune the tool speed thing 2011-11-29 19:13:41 +02:00
Perttu Ahola
f97d4355be New kind of tool speed and wear calculation thingy 2011-11-29 19:13:41 +02:00
Perttu Ahola
e19d1ea95a Set version to 0.4 2011-11-29 19:13:41 +02:00
Perttu Ahola
96b71236ed Clean headers a bit 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
64fa59e24f Generic NodeMetadata text input 2011-11-29 19:13:41 +02:00
Perttu Ahola
79c9f14aec Generalize selection boxes 2011-11-29 19:13:41 +02:00
Perttu Ahola
2ef414d05f Set the BS constant to be floating-point; this removes the need for floating point numbers when dividing it 2011-11-29 19:13:41 +02:00
Perttu Ahola
77cf27b82b Clean code and modify comments in mapnode_contentfeatures.h 2011-11-29 19:13:40 +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
f8c9b70379 Scripting: Allow multiple global step callbacks and improve documentation 2011-11-29 19:13:40 +02:00
Perttu Ahola
7b802c547d Handle undefined objects better 2011-11-29 19:13:40 +02:00
Perttu Ahola
73bb3bc595 Scripting WIP: Add global environment step function on_step 2011-11-29 19:13:40 +02:00
Perttu Ahola
1320d07068 Scripting WIP: dynamic object stuff 2011-11-29 19:13:40 +02:00
Perttu Ahola
0b97ad8384 ServerRemotePlayer implements ServerActiveObject 2011-11-29 19:13:40 +02:00
Perttu Ahola
ddaff2d653 Scripting WIP 2011-11-29 19:13:40 +02:00
Perttu Ahola
75a0ca6bd6 Scripting WIP 2011-11-29 19:13:40 +02:00
Perttu Ahola
38944467d3 Scripting WIP 2011-11-29 19:13:39 +02:00
Perttu Ahola
23adfff4fe Scripting WIP 2011-11-29 19:13:39 +02:00
Perttu Ahola
b35adfbd2d Scripting WIP 2011-11-29 19:13:39 +02:00
Perttu Ahola
526eedf98e Scripting WIP 2011-11-29 19:13:39 +02:00
Perttu Ahola
dcedfdacd1 Scripting WIP 2011-11-29 19:13:39 +02:00
Perttu Ahola
ea8d6d7abd Scripting WIP 2011-11-29 19:13:39 +02:00
Perttu Ahola
f145d498a6 Scripting WIP 2011-11-29 19:13:39 +02:00
Perttu Ahola
41c91391fc Scripting WIP; Lua entity step callback works 2011-11-29 19:13:39 +02:00
Perttu Ahola
1ddfdc55dd Add textures in data/textures (appeared to not have been added) 2011-11-29 19:13:39 +02:00
Perttu Ahola
a6a1e6ed1a random scripting work-in-progress 2011-11-29 19:13:39 +02:00
Perttu Ahola
f8430723e0 Add the default.lua script 2011-11-29 19:13:38 +02:00
Perttu Ahola
bfc68d3151 Scripting WIP 2011-11-29 19:13:38 +02:00
Perttu Ahola
ee8b6d3444 Move images to data/textures and fix some path stuff; hope that installation still works 2011-11-29 19:11:04 +02:00
Perttu Ahola
2115a766f6 Make it actually build 2011-11-29 19:11:04 +02:00
Perttu Ahola
d1a5e97a7f Add Lua 2011-11-29 19:11:04 +02:00
Perttu Ahola
7372282a72 Better spawn position finding and checking 2011-11-13 03:17:42 +02:00
Perttu Ahola
bc0e5c0063 Update changelog and call this 0.3.1 2011-11-09 12:07:40 +02:00
Perttu Ahola
045e32b6ec Fix water-glass and water-lava surfaces 2011-11-08 16:17:38 +02:00
Perttu Ahola
fea55a9b87 Call this 0.3.dev-20111108 2011-11-08 02:13:29 +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
Kahrl
1c98ec94da Make Connection::Receive return the data via a SharedBuffer reference, so the caller doesn't have to choose the right buffer size in advance.
Conflicts:

	src/test.cpp
2011-11-07 11:21:42 +02:00
Kahrl
28660b4c1a utility.h: Change Buffer's interface to be more compatible with SharedBuffer's interface, connection.h: use Buffer instead of SharedBuffer in command and event queues 2011-11-07 11:19:56 +02:00
Perttu Ahola
fa72e65b59 Add new Connection test in test.cpp in case needed in the future (commented out), improve comments in test.cpp a bit 2011-11-07 11:15:43 +02:00
Perttu Ahola
7d5d676eac Infinite packet flood test for debugging the new network layer 2011-11-07 01:20:58 +02:00
Constantin Wenger
61f2cc45c2 Command-line signal handling for Windows 2011-11-06 19:24:44 +02:00
Perttu Ahola
c1d92d72e1 Make water invisible next to underwater glass 2011-11-05 23:30:27 +02:00
Perttu Ahola
4f71a9fbde Improve "compile on Windows" section in readme 2011-11-05 14:48:32 +02:00
Perttu Ahola
4142b8c352 Call this version 0.3.dev-20111104 2011-11-04 22:16:36 +02:00
Perttu Ahola
d0fdfd44c5 Add option to set water opaque (mainly for stylistic choice) 2011-11-03 23:06:57 +02:00
Perttu Ahola
f5995337e8 Fix flowing liquid spacing; water and lava next to each other will glitch a bit but it isn't as bad as this was 2011-11-03 23:04:56 +02:00
Perttu Ahola
1469196d3b Update /README.txt, remove duplicate /doc/README.txt and update CMakeLists.txt to package /README.txt 2011-11-03 21:36:42 +02:00
Perttu Ahola
e9fd3def90 Make CONTENT_IGNORE to not block the view when occlusion culling 2011-11-03 20:45:44 +02:00
Perttu Ahola
a2af490b7b Disable mipmapping because it is sometimes ugly 2011-11-03 20:17:18 +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
03db16d55b Remove trailing / or \ in path_userdata (probably fixes world deletion on Windows) 2011-11-02 13:43:00 +02:00
Perttu Ahola
0c20973c17 Add 3d cloud checkbox in main menu (and rename setting from enable_2d_clouds to enable_3d_clouds) 2011-11-02 12:50:21 +02:00
Perttu Ahola
f65d157786 Set version to 0.3.0 and update changelog 2011-11-01 16:54:01 +02:00
Perttu Ahola
899404f3b1 Fix an obvious bug in utility.h 2011-11-01 14:54:11 +02:00
Perttu Ahola
6aab526989 Attempt a workaround to the network layer segfault 2011-10-30 11:59:23 +02:00
Perttu Ahola
c349708eab Make it to compile on MSVC2010 2011-10-21 18:37:43 +03:00
Perttu Ahola
9c3e0a8040 0.3.dev-20111021 2011-10-21 18:29:13 +03:00
Perttu Ahola
7f25183936 Some tuning in m_max_packets_per_second algorithm 2011-10-21 11:52:26 +03:00
Perttu Ahola
4b6138e69b Improve Connection with threading and some kind of congestion control 2011-10-20 23:04:09 +03:00
Perttu Ahola
b6fcbc5fba Default max_simultaneous_block_sends_server_total to 2 to make network not cough too much on the fixed block sending code 2011-10-19 19:34:47 +03:00
Perttu Ahola
ed870a7237 Fix apple inventory texture 2011-10-19 02:36:46 +03:00
Perttu Ahola
3a06fb8831 Fix and tune block sending 2011-10-19 02:17:23 +03:00
Perttu Ahola
d47120aeb3 Add enable_2d_clouds setting for usage on lower-end machines 2011-10-18 23:55:55 +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
28f2fdb6de Fix possible NULL dereference in MobV2CAO::step 2011-10-18 19:53:34 +03:00
Perttu Ahola
4e1055543c Tune map rendering and related diagnostics 2011-10-18 19:18:01 +03:00
Perttu Ahola
8ead29a302 set backface culling off again for torches, ladders, rails and signs 2011-10-18 18:32:35 +03:00
Perttu Ahola
fe98fe342a ...Make the the server buildable again after the last commit 2011-10-18 17:20:54 +03:00
Perttu Ahola
554f7f120c Improve rendering and fix tiling in mesh generation 2011-10-18 13:56:35 +03:00
Perttu Ahola
05ab58cd14 Automate texture listing for texture atlas making 2011-10-18 11:31:23 +03:00
Perttu Ahola
eae2d35ca5 Fix client profiler print interval 2011-10-18 10:36:52 +03:00
Perttu Ahola
85002883bd Better handling of SendFailedException in Connection 2011-10-18 03:42:23 +03:00
Perttu Ahola
22b07bdb30 Fix object duplication bug 2011-10-18 02:58:15 +03:00
Perttu Ahola
fe338745a3 Make active_block_range default to 2 2011-10-18 00:41:17 +03:00
Perttu Ahola
6ce0c61dc0 Fix possible NULL pointer access in MobV2CAO 2011-10-18 00:41:02 +03:00
Perttu Ahola
78f4142f4f Add /clearobjects 2011-10-18 00:01:50 +03:00
Perttu Ahola
ea1fda5ebc Made a scheme to get rid of the objects in the worst object flooded blocks 2011-10-17 20:57:58 +03:00
Perttu Ahola
67db77b8b3 Modify default active block range 2011-10-17 20:41:43 +03:00
Perttu Ahola
64c4d00693 F2 toggles profiler display in client 2011-10-17 20:40:55 +03:00
Perttu Ahola
6661d9be1a Attempt to fix objects getting multiplicated by objects getting deactivated in a different block than where they were loaded and then the original block, from where the static object was removed, not getting saved at unload 2011-10-17 20:19:37 +03:00
Perttu Ahola
c41f1c960b Fix minetest.conf.example a bit 2011-10-17 20:04:35 +03:00
Perttu Ahola
9a62a909bc Add a log message to SEnv and make it load objects if there are < 51 of them, to load blocks that were limited to 50 2011-10-17 19:44:28 +03:00
Perttu Ahola
93f4d2b3f1 Catch SendFailedException when replying back in Connection::Receive() 2011-10-17 18:02:26 +03:00
Perttu Ahola
558a133044 Display RTT (round trip time, ping) on client status text 2011-10-17 17:18:50 +03:00
Perttu Ahola
5037efdea9 Add some rendering statistics to profiler 2011-10-17 17:06:28 +03:00
Perttu Ahola
e9888c8e25 Workaround for blocks having a huge amount of active objects; add log messages related to active objects for investigation 2011-10-17 11:52:38 +03:00
Perttu Ahola
3daaff3a42 Remove very floody log message of MobV2SAO 2011-10-17 11:45:06 +03:00
celeron55
d39f98aeb0 Improve active object handling log output 2011-10-17 10:47:06 +03:00
celeron55
30c21b4abd Fix partly double printed debug.txt 2011-10-17 10:46:16 +03:00
Perttu Ahola
cfd19dcdb5 Fix punching of oerkkis 2011-10-17 01:58:38 +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
5f39885975 Improve inventory debug output 2011-10-17 01:03:45 +03:00
Perttu Ahola
9ff8067426 Fix items showing up as sticks when placed in world 2011-10-17 00:08:27 +03:00
Perttu Ahola
162619a426 Fix to-transparend conversion of backgrounds of sprite image files that don't have an alpha channel 2011-10-16 23:41:43 +03:00
Perttu Ahola
2419d0029a Some more profiler stuff to get the hang on what really uses CPU 2011-10-16 22:39:35 +03:00
Perttu Ahola
b8f2dcea4d Improve debug profiler usage for investigating CPU usage of server 2011-10-16 21:16:44 +03:00
Perttu Ahola
07d000cc54 When granting or revoking privileges, notify the target player too 2011-10-16 20:03:43 +03:00
Perttu Ahola
6470743e51 Make dungeon masters not shoot the walls with no reason 2011-10-16 19:39:20 +03:00
Perttu Ahola
143dce6672 When player times out, log the action as a timeout rather than regular quitting 2011-10-16 19:38:56 +03:00
Perttu Ahola
96b2d1fd29 Check NULL pointer properly in some new code trying to log new stuff 2011-10-16 18:50:30 +03:00
Perttu Ahola
369177aa80 Better player damage prevention when falling on unloaded blocks, not involving getting stuck in there. 2011-10-16 18:45:17 +03:00
Perttu Ahola
0bf533f753 Switch more stuff to use the logging thing and fix segfault on player leave from server as introduced in a previous switch-to-logging commit 2011-10-16 16:28:12 +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
ef397dca7c Update changelog (albeit a bit late) 2011-10-16 15:20:04 +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
4846846a2d Initially add small and tight logging facility 2011-10-16 12:45:00 +03:00
Perttu Ahola
414c614893 Add peaceful / not peaceful distinction in mobs and the only_peaceful_mobs setting 2011-10-16 11:52:33 +03:00
Perttu Ahola
a17abae128 Update Linux build instructions in README.txt a bit and list the bat script used for releases 2011-10-16 03:08:11 +03:00
Perttu Ahola
286edd4f1e Update version number to 0.3.dev-20111016 2011-10-16 00:53:37 +03:00
Perttu Ahola
4914eb29d1 Replace M_PI with PI 2011-10-16 00:24:51 +03:00
Perttu Ahola
825953bbdc Fix some "Conditional jump or move depends on uninitialised value(s)" valgrind detections 2011-10-15 23:07:43 +03:00
Perttu Ahola
fd6452749e Resource file handling for exe icon for MinGW 2011-10-15 17:05:16 +03:00
Perttu Ahola
7c2639ddd9 Make view bobbing amount configurable 2011-10-15 16:32:24 +03:00
Perttu Ahola
3f58028d31 Make dungeon masters though and make oerkkis disappear when they get to you (because hitting them doesn't work for some unknown reason) 2011-10-15 16:04:25 +03:00
Perttu Ahola
94dfececf6 strict_protocol_version_checking setting; PROTOCOL_VERSION in clientserver.h; clean up defaultsettings.cpp and minetest.conf.example 2011-10-15 15:02:28 +03:00
Perttu Ahola
74febd5c31 Handle death and respawn better 2011-10-15 14:46:59 +03:00
Perttu Ahola
857fe0551c Set a better version number 2011-10-15 12:51:30 +03:00
Perttu Ahola
5341bf59c2 Improve mobv2 2011-10-15 12:17:21 +03:00
Perttu Ahola
43a28f04fa mobv2 2011-10-15 02:28:57 +03:00
Perttu Ahola
080002f8ed Lock mutex when accessing m_env in Server::~Server 2011-10-14 12:39:25 +03:00
Perttu Ahola
853a78681e In CMake scripts: New version number, fix MSVC stuff 2011-10-14 09:55:39 +03:00
Perttu Ahola
9e46cbf7ea Header file tweaking; mainly for speed 2011-10-12 13:53:38 +03:00
Perttu Ahola
b60b58b627 Saner block modification flag operation for not saving everything always 2011-10-12 10:53:37 +03:00
Kahrl
3e975d8f28 minetestmapper: Fix the way ylist is computed, use cStringIO instead of rolling own Bytestream, remove some artifacts when drawing underground blocks, introduce a --drawunderground switch (defaults to of), 'blocknum' renamed to 'content'. 2011-09-27 02:38:19 +02:00
Perttu Ahola
a7833cca22 Merge remote-tracking branch 'marktraceur/master' 2011-09-26 22:41:06 +03:00
Perttu Ahola
08ac3454cc minetestmapper speed tweaks (kahrl & JacobF) 2011-09-26 22:31:34 +03:00
Perttu Ahola
3ca847b4e1 Add apple color to minetestmapper and fix cactus color 2011-09-26 20:55:00 +03:00
Perttu Ahola
e7fcc08d26 Fix minetestmapper.py 2011-09-26 20:54:42 +03:00
Perttu Ahola
520b470217 Merge remote-tracking branch 'kahrl/sectors2sqlite-fix' 2011-09-26 20:01:46 +03:00
Perttu Ahola
9a7471b740 Rotate wielded tool the right way and modify axe graphics accordingly 2011-09-26 16:10:54 +03:00
Perttu Ahola
061d4b4202 Merge branch 'view_bobbing_and_vielded_tool' 2011-09-26 15:10:02 +03:00
Perttu Ahola
2ecd53ce09 Fix single-frame lag in camera yaw/pitch, tune view bobbing and add wielded tool movement when walking and tweak stuff a bit 2011-09-26 15:09:04 +03:00
Kahrl
561bb64963 Support Python 2 and 3 in sectors2sqlite.py. 2011-09-26 13:24:21 +02:00
Kahrl
d5899a53fd Fix processing of blocks below y=0 in sectors2sqlite.py. 2011-09-26 13:10:22 +02:00
Perttu Ahola
b9e680d06c Server user limit configuration option 2011-09-26 11:57:51 +03:00
Perttu Ahola
0ccc0ac927 Merge remote-tracking branch 'darkrose/master' 2011-09-26 11:57:28 +03:00
celeron55
63eca0feb2 Merge pull request #10 from joshbeck/master
Fixed null pointer dereference errors found by cppcheck
2011-09-24 00:55:05 -07:00
Joshua Beck
ae561d705f Fixed null pointer dereference errors found by cppcheck 2011-09-24 02:11:43 -05:00
Mark Holmquist
bc01ae4cbd Fixed merge issues with saplings, ready to pull now! 2011-09-23 18:19:47 -07:00
Mark Holmquist
319f43e6d2 Fixed saplings growing into trees (thanks so much, Kahrl!)
Put the random interval back to 1 in 50 chance. It's not as rare as rats, but rarer than grass.
2011-09-23 18:14:35 -07:00
Mark Holmquist
f19919546d Adding sapling texture 2011-09-23 18:13:53 -07: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
Perttu Ahola
789c88509c Move PLATFORM_LIBS around to make sqlite3 link with libdl on some distros 2011-09-23 08:48:58 +03:00
Perttu Ahola
bdf54908aa Make client report a newer version number to the server than 2011-07-31 does and make the server enforce it 2011-09-22 20:47:47 +03:00
Perttu Ahola
7244f09111 Oh well, let's call it just 0.2.20110922 2011-09-22 18:22:04 +03:00
Perttu Ahola
ca748ad44c Update changelog and version to 0.2.20110922_rc1 2011-09-22 18:15:05 +03:00
darkrose
79cb754358 added locking chest texture 2011-09-22 19:12:17 +10:00
darkrose
582e450bad added locking chests - clean patch 2011-09-22 19:11:48 +10:00
Perttu Ahola
ae6d83a41e Better apple tree generation 2011-09-21 23:31:55 +03:00
Kahrl
3e012122d1 Simplistic wielded tool lighting, added setMeshVerticesColor to utility.h and refactored some other code into calls of that 2011-09-21 18:37:29 +02:00
Kahrl
a4a2c34831 reduce view bobbing slightly 2011-09-21 15:54:06 +02:00
Kahrl
36af9bb027 Create a separate scene manager for the wielded tool. This fixes the glitchyness in large map coordinates and some depth buffer problems. (The tool doesn't bob anymore when walking, this will be fixed later.) Fix MSVC build (thanks to dannydark). 2011-09-21 01:42:52 +02:00
Kahrl
6599002149 fix a numerical problem, but tool is still jittery 2011-09-20 18:25:29 +02:00
Kahrl
cbd2bcf102 Fix jittery view bobbing at large map coordinates again. Wielded tool still has problems there 2011-09-20 18:19:26 +02:00
Kahrl
01f3ae1c50 Digging animation 2011-09-20 11:06:16 +02:00
Kahrl
eaff4616ad fix some normals 2011-09-19 17:11:53 +02:00
Kahrl
ab42549b1e Wielded tool updates, leaves and glass work now 2011-09-19 17:08:42 +02:00
Kahrl
02726f0003 Convert any inventory item into a mesh, bring back InventoryItem::getImageRay(), some const-correctness fixes 2011-09-19 06:37:24 +02:00
Kahrl
36bcbca9ac Added sprite extruder 2011-09-19 03:01:11 +02:00
Kahrl
4ed837bcfa trying some view bobbing changes 2011-09-18 17:02:30 +02:00
Kahrl
54f3796f91 Oops, up vector is needed. 2011-09-18 02:24:43 +02:00
Kahrl
ae66d611f2 This looks more like MC view bobbing, but still not even close 2011-09-18 02:17:39 +02:00
Perttu Ahola
b22cb69a15 Merge remote-tracking branch 'sfan5/apple-trees' 2011-09-16 19:09:13 +03:00
Kahrl
40707e3c5b SQLite needs to be linked with -ldl on some Linux distros. 2011-09-16 19:06:45 +03:00
Kahrl
acfb2bb8bc Revert some changes that could lead to slower map transfer and increaed network load. 2011-09-16 18:03:58 +02:00
JacobF
7f51bccf47 update minetestmapper so it can read the database also 2011-09-16 18:59:33 +03:00
Perttu Ahola
bfa5ad483f Update changelog 2011-09-16 18:59:17 +03:00
Kahrl
ae89aa55b9 Updated colors.txt (which is used by minetestmapper) 2011-09-15 23:09:00 +02:00
Kahrl
63266928a5 Made wielded tool move slightly (and smoothly) during view bobbing. Making the tool be a child node of an empty scene node instead of the camera scene node seemingly fixed the uncontrollable tool jitter, too. 2011-09-15 01:53:42 +02:00
Kahrl
fc92da4324 View bobbing is slower in the water. 2011-09-15 01:53:42 +02:00
sfan5
88dc8c694e Added Iron Apple which heals 4 Hearts 2011-09-12 20:10:17 +02:00
sfan5
785a2fd23a Changed the Heal Amount of Apples from 6 to 2 2011-09-12 19:44:26 +02:00
sfan5
4328a6442b Fixed duplication bug 2011-09-11 19:17:14 +02:00
sfan5
6496b1cf1f Removed Spaces 2011-09-11 18:16:07 +02:00
sfan5
c0caedc373 Added Apple Trees 2011-09-11 17:50:44 +02:00
Kahrl
524cf237b8 inventory displays tool breakage bar again 2011-09-08 17:45:39 +02:00
Kahrl
e4cb004460 trying something else... also replaced M_PI by PI everywhere 2011-09-08 16:10:44 +02:00
Kahrl
71418639d3 attempting to merge Queatz/the-wielded-tool and kahrl/viewbobbing, something doesn't work right yet 2011-09-08 14:21:56 +02:00
Kahrl
f2ec226521 minor view bobbing improvements 2011-09-08 13:34:28 +02:00
Kahrl
0931d4b7ff make it slightly less annoying :o) 2011-09-08 13:14:59 +02:00
Kahrl
ccadebabba Implemented view bobbing (testing simple lemniscate shape) 2011-09-08 13:03:55 +02:00
Kahrl
18771a39cf Commented out debug statements again 2011-09-08 01:24:47 +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
JacobF
f31b0a3361 Display which tool the player is holding
And some simple animation when trying to dig...
2011-09-07 10:56:04 -04:00
Perttu Ahola
d28ea57083 Note about texture atlas 2011-09-07 01:27:04 +03:00
Perttu Ahola
8e26c5c066 Add note about trans_table_19. 2011-09-07 01:19:48 +03:00
Perttu Ahola
5c1074aa7d Remove block file from disk when saved to database 2011-09-06 20:28:45 +03:00
JacobF
bd72091150 Pause in unloaded territory instead of collide 2011-09-06 20:07:43 +03:00
Perttu Ahola
faf3d7902a Make Connection::Send cancel silently if peer doesn't exist. 2011-09-06 19:39:23 +03:00
Perttu Ahola
63f1ded167 Update version number to something more proper for this stage of development (0.2.201109xx_dev) 2011-09-06 19:22:00 +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
Perttu Ahola
bc847e8cc2 Fix bug in posix file/directory removal wrapper, as pointed out by kahrl 2011-09-06 17:52:03 +03:00
Perttu Ahola
b82952bdba Fix some texture stuff: remove item_fence.png, use fence.png, remove inexisting cactus.png from texture atlas (replace with nothing because cactus is rare) 2011-09-06 17:13:24 +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
c68ea19e8d Now SAOs will reflect changes to their temporary inventory object
Also, the temp item wasn't being deleted, might have been a memory leak.
Now you will only eat 1 item off a stack
2011-09-06 16:36:11 +03:00
JacobF
0c91d01866 Cull empty lines... 2011-09-04 17:06:23 -04:00
JacobF
e34cef312f Files to database converter 2011-09-04 17:02:50 -04: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
JacobF
2d872ce3fa Furnace was crashing stuff again 2011-09-02 17:33:06 -04:00
JacobF
e3c58eff1c Merge branch 'master' of /media/Field/Software/minetest-queatz/minetest-sqlite/.. into sqlite-map 2011-09-02 16:59:17 -04:00
JacobF
99de37ff94 Update to SQLite 3.7.7.1 2011-09-01 18:27:30 -04:00
JacobF
5e3b9e3578 * Furnace would say it was overloaded when it had a non-cookable source
* I didn't understand that expression last fix and now the furnace would burn fuel
even when it had no source item.
2011-09-01 15:39:15 -04:00
Perttu Ahola
ad795c9f0c Merge remote-tracking branch 'queatz/furnace-fix' 2011-08-31 17:04:12 +03:00
Perttu Ahola
d6d479f94c Updated changelog 2011-08-31 00:43:34 +03:00
JacobF
6415528f96 If there was no source item in a furnace it would cause a segmentation fault. 2011-08-30 11:38:53 -04:00
Perttu Ahola
4af1f2963c Merge remote-tracking branch 'kahrl/dissector' 2011-08-30 14:24:33 +03:00
Perttu Ahola
ba0322f353 Merge remote-tracking branch 'queatz/mmb10' 2011-08-30 14:24:23 +03:00
Perttu Ahola
1a705523c0 Merge remote-tracking branch 'queatz/furnace-is-not-blackhole' 2011-08-30 14:24:12 +03:00
Perttu Ahola
87b9e5467d Merge remote-tracking branch 'queatz/furnace-is-not-out-nor-can-rat-escape' 2011-08-30 14:24:07 +03:00
Perttu Ahola
625dac8d8c Merge remote-tracking branch 'queatz/privs' 2011-08-30 14:23:44 +03:00
JacobF
134e49cc8e Merged 2 branches because they relied on each other.
This one contains these changes from main c55:
* Adds a function to check if there is room for a specific item
* Using that, you can now pick up rats if you have a full inventory and a not full rat stack
* Furnace would cook only 1 item if that item used the last available result slot, now it will continue
* Furnace will say it's overloaded
* Furnace won't wait until the next step to start on the next item
 - This caused small fuels to cook slower than meant to
 - Also caused furnaces to say they were out of fuel after finishing the last fuel item
2011-08-25 19:27:50 -04:00
Kahrl
cab426ffa3 dissector branch: fix for doc/protocol.txt: CONTROLTYPE_DISCO is 3 2011-08-25 21:32:48 +02:00
Kahrl
3edf2bb417 dissector branch: fix description of TOCLIENT_PLAYERITEM in clientserver.h 2011-08-25 21:31:28 +02:00
Kahrl
9ebfbd150e dissector branch: added wireshark dissector minetest.lua 2011-08-25 21:29:41 +02:00
JacobF
e278742c5e Middle mouse click will move 10 items around at a time. 2011-08-25 12:43:19 -04:00
JacobF
ef08163c38 Don't remove furnace if something is inside it. 2011-08-24 18:53:06 -04:00
JacobF
2e82268a67 If a user doesn't have build rights, don't allow them to move items to and from their inventory 2011-08-23 22:08:09 -04:00
JacobF
00bdfad5f6 The password box in the mainmenu is focused if there is already a name and address filled in 2011-08-23 22:06:35 -04:00
Perttu Ahola
efd8dabd91 Lava is now better visible inside water. (a crappy hack) 2011-08-23 03:01:01 +03:00
Perttu Ahola
e4f443a57a Inventory transparency; very loosely based on sapier's commits.
Also contains some commented-out code for testing out different looks
in the future.
2011-08-23 00:33:38 +03:00
Perttu Ahola
d4df20a913 if creative mode and player has no build privileges, cannot drop items. 2011-08-22 22:55:17 +03:00
Perttu Ahola
db495668ae Fixed water mesh generation acting weird next to sand 2011-08-22 22:44:43 +03:00
Perttu Ahola
996c653490 Fix byte count in serialization of "F1000"
Some access violations and segfaults and strange behaviour might have
been caused by this.
2011-08-22 22:17:26 +03:00
Perttu Ahola
4acad897cf Fixed some protocol comment errors in clientserver.h and elsewhere
-- TOCLIENT_OBJECTDATA: peer ID field is missing
-- TOCLIENT_ACTIVE_OBJECT_REMOVE_ADD: added: init length should be u32, not u16
2011-08-22 22:04:46 +03: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
a99450ab72 Possibly fixed the extremely rare PeerNotFound loop bug.
See explanation in http://2pktfkt.de/irc/minetest-delta/2011-08-22.html
2011-08-22 21:27:11 +03:00
Perttu Ahola
7776d6228e Update README.txt 2011-08-22 15:01:09 +03:00
Perttu Ahola
5415256a52 Merge remote-tracking branch 'oblomov/me_cmd' 2011-08-22 14:46:54 +03:00
Perttu Ahola
836e43db60 Merge remote-tracking branch 'oblomov/new_input' 2011-08-22 14:46:52 +03:00
Giuseppe Bilotta
9c94538fb7 Change way commands are displayed in chat window 2011-08-22 13:43:53 +02:00
Giuseppe Bilotta
53eedd3ba4 Introduce hotkey for calling up a command window
This is just a chat window with the / text pre-loaded.
2011-08-22 13:02:08 +02:00
Giuseppe Bilotta
42134bb49e Send KEY_END when (re)creating a text input
This ensures that on creation and when resizing the cursor is at the end
of the text rather than at the beginnig.
2011-08-22 13:02:08 +02:00
Giuseppe Bilotta
0488bf54d3 /me command 2011-08-22 13:02:08 +02:00
Giuseppe Bilotta
da19aee307 Server now supports replies without prefix 2011-08-22 13:02:08 +02:00
Giuseppe Bilotta
d2c0b4905a Defines for server command context flags 2011-08-22 13:02:08 +02:00
Giuseppe Bilotta
153f07fdfb Remove distinction between /# and / commands
No need to make the server command syntax more complicated than
necessary. If the need ever arise, we'll find some other way to
distinguish the client commands. Also, the /# syntax is deprecated and
will be made obsolete in time.
2011-08-22 13:02:08 +02:00
Giuseppe Bilotta
7e610aece5 Overhaul the input system
This allows us to map the keys which are not considered in
irrlicht's EKEY_CODE system, such as \, [, /, ] etc.
2011-08-22 13:01:11 +02:00
Giuseppe Bilotta
16aedc0ef6 Fix typos in key names 2011-08-22 12:52:15 +02:00
Perttu Ahola
6596e585fe Flowing lava updates lighting 2011-08-22 13:19:07 +03:00
Perttu Ahola
f98eda4d52 Merge remote-tracking branch 'oblomov/liquid_fixes' 2011-08-22 12:53:18 +03:00
Perttu Ahola
23717510c2 Merge branch 'lava' 2011-08-22 12:53:02 +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
Perttu Ahola
29c9d3d5f4 Implemented MEET_OTHER 2011-08-16 12:23:19 +03:00
Giuseppe Bilotta
708f1c336e transformLiquid: small optimization and whitespace cleanup 2011-08-16 06:42:11 +02:00
Perttu Ahola
dc4ac0b96f small fix to transformLiquids 2011-08-15 18:49:44 +03:00
Perttu Ahola
296748d32e Fixed liquid mesh generation 2011-08-15 17:45:35 +03:00
Perttu Ahola
ad408f269c Add lava to creative inventory (hmm, we're shortly running out of creative inventory space) 2011-08-15 16:57:57 +03:00
Perttu Ahola
e57754868f Hopefully fixed msvc "'sqrt' : ambiguous call to overloaded function" 2011-08-15 15:11:00 +03:00
Perttu Ahola
0c7e7f4998 Non-vertex-alpha texture material for lava 2011-08-15 12:08:41 +03:00
Giuseppe Bilotta
136657bcc1 Get rid of makepackage_binary.sh
It's outdated, and it would be better to use cmake's packaging
capabilities instead, for better cross-platformness.
2011-08-15 11:07:30 +02:00
Giuseppe Bilotta
dc16820e02 Cleanup root
These scripts should not be in the root but in util/ and in fact
they are, so let's get rid of these.
2011-08-15 11:05:05 +02:00
Perttu Ahola
4b85608e30 modified mapgen to generate less lava 2011-08-15 11:56:16 +03:00
Perttu Ahola
8ab77f4153 Added #define WATER_ALPHA in content_mapnode.cpp 2011-08-15 11:51:33 +03:00
Perttu Ahola
472585a7e8 tuned lava/universal damage code 2011-08-15 11:49:39 +03:00
Perttu Ahola
8f42a8be0c lava! 2011-08-15 02:04:56 +03:00
Perttu Ahola
c4b707bca2 Windows.h -> windows.h for cross-mingw build 2011-08-14 21:26:07 +03:00
Perttu Ahola
9e35fe8c37 Merge remote-tracking branch 'speedprog/fixedNotFindingData' 2011-08-13 14:05:01 +03:00
Giuseppe Bilotta
385904d75a Let Settings accept a const char* directly 2011-08-13 07:33:43 +02:00
Giuseppe Bilotta
b1e0b7728b Fix keycode_to_keyname return value 2011-08-13 07:31:46 +02:00
Giuseppe Bilotta
eb255e6870 Clean up key names handling
Constify keycode and move the static array of localizable names from the
guiKeyChangeMenu header to the implementation file, changing its name.
2011-08-12 23:42:00 +02:00
Giuseppe Bilotta
72e4c8f523 Fix use of && instead of & 2011-08-12 23:34:12 +02:00
Perttu Ahola
835d2e4b5f Removed assert if creating texture atlas image fails; cancel creating image instead. 2011-08-12 17:17:47 +03:00
Constantin Wenger
94b42a79d7 fixed not finding data dir if installed 2011-08-12 14:26:37 +02:00
Perttu Ahola
e40da2341c Fixed/extended/modified ban stuff to be good for inclusion 2011-08-12 13:11:27 +03:00
Perttu Ahola
7aa72c56b6 Merge remote-tracking branch 'speedprog/banByIp' 2011-08-12 11:55:51 +03:00
Constantin Wenger
5784c14ab7 added ipban support
commands:
/#ipban <nick>
/#ipunban <ip>
2011-08-12 03:37:18 +02:00
Perttu Ahola
3028bbb95b Updated .gitignore to ignore vim swap files 2011-08-12 00:33:24 +03:00
Giuseppe Bilotta
dfdc817db3 Typo fix 2011-08-11 19:45:44 +02:00
Giuseppe Bilotta
f4856a33c9 .gitattributes
Marking *.cpp files as C++ files makes for nicer diffs when using
--color-words or similar options.
2011-08-11 17:57:40 +02:00
Giuseppe Bilotta
371af9c241 Notify other players of wielded item change 2011-08-11 15:22:36 +02:00
Giuseppe Bilotta
88a9bae160 constify inventory item serialization 2011-08-11 15:22:36 +02:00
Giuseppe Bilotta
ecd5c5f920 Clients inform server on wielded item
This is done with the new TOSERVER_PLAYERITEM message, that informs the
server on the index of the wielded item.
2011-08-11 15:22:36 +02:00
Giuseppe Bilotta
91d1186cbb Keep track of player item 2011-08-11 15:22:36 +02:00
Giuseppe Bilotta
467b3cf4c1 Some inventory const-ification 2011-08-11 15:22:35 +02:00
Giuseppe Bilotta
c007d8219e Server should use the same eye position as the client 2011-08-11 15:22:35 +02:00
Giuseppe Bilotta
b318e82356 Refactor player's eye position coding
Collect the player's eye position coding in a Player method, and
use it in client to pass the eye position information to the game.
2011-08-11 15:22:35 +02:00
Giuseppe Bilotta
98fa00db12 Introduce Player::getLightPosition
This is currently only used in the lighting update for remote
players in client.
2011-08-11 15:22:35 +02:00
Perttu Ahola
69fca4f3cb Merged some FreeBSD fixes 2011-08-11 12:32:36 +03:00
q66
f6ed45fc20 Proper placement of binary files. 2011-08-11 11:19:33 +02:00
q66
e81ff1e833 Gettext fix for *BSD - require special linkage as glibc is not used 2011-08-11 11:19:05 +02:00
q66
43b6ca0d14 Prevent threadid_t from losing precision when casted on 64bit systems 2011-08-11 10:52:27 +02:00
Giuseppe Bilotta
34492ce480 Respect base virtual functions' signatures 2011-08-08 16:15:53 +02:00
Giuseppe Bilotta
163c38e175 Always return from non-void functions
This quiets a warning in Clang.
2011-08-08 16:13:48 +02:00
Giuseppe Bilotta
11be390110 Keys should be s32, not u32
At least two reasons for this:
* activeKey is treated as signed (check for sign, assign -1, etc)
* the ID retrieved from Irrlicht's events are signed
2011-08-08 16:12:15 +02:00
Giuseppe Bilotta
ea26a9f543 Remove spurious assignment 2011-08-08 16:11:37 +02:00
Giuseppe Bilotta
f9e1b0cd97 InventoryAction is a struct, not a class 2011-08-08 15:38:20 +02:00
Giuseppe Bilotta
805564dcf2 Clang doesn't like -Wno-unused-but-set-variable
The release versions of CMake don't yet properly support flag checking
in Clang, so we need to exclude it explicitly for the time being.
2011-08-11 10:08:58 +02:00
Giuseppe Bilotta
76fb792544 Project uses C++, so use CHECK_CXX_COMPILER_FLAG
Although this doesn't change much for our specific case, it can make a
difference for some flags, so use the appropriate macro.
2011-08-11 10:06:48 +02:00
Dmitry Marakasov
ff35014eff Fix data paths for FreeBSD 2011-08-02 02:50:16 +04:00
Dmitry Marakasov
de868d24c1 Fix "integer constant is too large for 'long' type" error 2011-08-02 02:49:15 +04:00
Dmitry Marakasov
318a730c45 Check whether -Wno-unused-but-set-variable is supported before using
it. It seems to only be available on recent (>=4.6) versions of gcc.
2011-08-01 22:17:32 +04:00
Perttu Ahola
9017c51e7f the zlib error print function now prints to dstream (debug.txt) 2011-08-08 12:11:41 +03:00
Perttu Ahola
bdb66aced7 removed broken and old tags and re-added 0.2.20110731_3 2011-08-05 11:54:54 +03:00
Perttu Ahola
ab83444cc3 Added tag 0.2.20110731_3 for changeset a519d6832511 2011-08-05 11:52:58 +03:00
Perttu Ahola
64a6da3e45 merged delta and c55 2011-08-05 11:22:13 +03:00
Giuseppe Bilotta
dd9909a574 minetestmapper can be run from any directory
If it doesn't find colors.txt locally, it looks for the one in the
directory of the script itself.
2011-08-05 08:45:15 +02:00
Giuseppe Bilotta
59c58f230e Some obvious errors in the new fluid flow management 2011-08-05 08:45:15 +02:00
Giuseppe Bilotta
f79069f5b3 MapNode is a struct, not a class 2011-08-05 08:45:15 +02:00
Giuseppe Bilotta
f5e0ba266e Some more Italian translations 2011-08-05 08:45:15 +02:00
Constantin Wenger
7361f29527 fixed some error :/ 2011-08-05 08:45:15 +02:00
Constantin Wenger
1d009a37df changed on string in german translation to fit to gui 2011-08-05 08:45:15 +02:00
Constantin Wenger
0fb208e63c updated po update script to detect wgettext and N_ 2011-08-05 08:45:15 +02:00
Constantin Wenger
dade01be29 update op PO files 2011-08-05 08:45:15 +02:00
Constantin Wenger
45057667f1 update to german translation 2011-08-05 08:45:15 +02:00
Constantin Wenger
4ab4e33450 marked strings as translation
now translated if set to a button
2011-08-05 08:45:15 +02:00
Constantin Wenger
0cfca69b42 fixed displaying special chars in the keychange menu 2011-08-05 08:45:15 +02:00
Constantin Wenger
1278a57afe added danish translation made by Frederik Helth 2011-08-05 08:45:15 +02:00
Nils Dagsson Moskopp
071c0b5536 * Welcome to OMSK. 2011-08-05 08:45:15 +02:00
Nils Dagsson Moskopp
735fa8b652 * README updated 2011-08-03 19:01:55 +02:00
Perttu Ahola
0b37f98e16 * fix for broken water 2011-08-03 19:00:25 +02:00
Perttu Ahola
5f8809e425 Fixed farmesh to such that it was a long time ago. 2011-08-03 13:03:30 +03:00
Nils Dagsson Moskopp
f143e269f4 Merge pull request #48 from Oblomov/master
Minor code cleanups (always in the gettext area, but no functional changs)
2011-08-02 01:49:31 -07:00
Giuseppe Bilotta
1d1aec9631 Use wgettext 2011-08-02 10:11:40 +02:00
Giuseppe Bilotta
817180bd55 Introduce wgettext
All usages of gettext() are converted to wchars, so let's factor this
into a single inline.
2011-08-02 10:11:40 +02:00
Giuseppe Bilotta
60bd878f0a Get rid of unused variables 2011-08-02 10:11:39 +02:00
Nils Dagsson Moskopp
bbd8e645a2 * README updated 2011-08-01 21:18:57 +02:00
Perttu Ahola
97d659c9fd added TODO in main.cpp 2011-08-01 19:21:43 +03:00
Nils Dagsson Moskopp
7b8227039f * papyrus texture now darker and edgier 2011-08-01 16:49:42 +02:00
Nils Dagsson Moskopp
363487c97b * less clumsy ladder texture, based on rails 2011-08-01 15:47:02 +02:00
Nils Dagsson Moskopp
f6bc662194 Merge pull request #47 from MarkTraceur/master
More better ladders
2011-08-01 05:59:40 -07:00
Mark Holmquist
7bd9e53ae6 Changing CONTENT_LADDER to be an extended block 2011-08-01 09:22:56 +02:00
Mark Holmquist
267744a568 Fixing ladders again 2011-08-01 09:22:44 +02:00
Mark Holmquist
8e67f4c4e6 Fixed a few problems in the ladder update, and changed the speed to account for gravity 2011-08-01 09:22:36 +02:00
Mark Holmquist
1c59cff832 Ladders implemented! 2011-08-01 09:22:36 +02:00
Mark Holmquist
bc2819cab2 Added ladders--they don't have any use yet, though 2011-08-01 09:22:36 +02:00
Nils Dagsson Moskopp
7ece67727d Merge remote-tracking branch 'origin/upstream' 2011-07-31 20:04:04 +02:00
Perttu Ahola
303351de6d Added tag 0.2.20110731_3 for changeset b277d01700f6 2011-07-31 15:55:00 +03:00
Nils Dagsson Moskopp
831003156c Merge pull request #44 from SpeedProg/master
last fix was shit, so a fix for the fix -_-
2011-07-31 05:35:27 -07:00
Constantin Wenger
54de4afd75 last fix was shit but this one works (tested) 2011-07-31 14:28:07 +02:00
Nils Dagsson Moskopp
c01c487c62 Merge branch 'master' of github.com:erlehmann/minetest-delta 2011-07-30 23:08:52 +02:00
Nils Dagsson Moskopp
2f6e931921 Merge pull request #41 from SpeedProg/master
fixe gettext I hope
2011-07-30 14:08:18 -07:00
Constantin Wenger
50dc2d8112 fixe for msvc broke linux 2011-07-30 23:05:40 +02:00
Nils Dagsson Moskopp
f4d7530587 Merge branch 'master' of github.com:erlehmann/minetest-delta 2011-07-30 22:33:26 +02:00
Nils Dagsson Moskopp
185c0bd587 Merge pull request #40 from SpeedProg/master
translated some word to german
2011-07-30 13:33:08 -07:00
Constantin Wenger
3c0090c0df german translation update, translated some of the new strings 2011-07-30 22:28:18 +02:00
Nils Dagsson Moskopp
6199252cda Merge pull request #39 from SpeedProg/master
fixes for gettext to workaround some bad behaviour of Irrlicht
2011-07-30 13:28:14 -07:00
Constantin Wenger
c08720bfba this fixes problem with msvc++ and should work on other systems and so on anyway. 2011-07-30 22:08:16 +02:00
Constantin Wenger
4882bda667 changed one forgotten en_US.UTF-8 to C 2011-07-30 22:08:16 +02:00
Constantin Wenger
a817419fe4 fixed redefinitivon of gettext.h is included more than once 2011-07-30 22:08:16 +02:00
Constantin Wenger
37bf9a666a set some more text to gettext and updated po files 2011-07-30 22:08:16 +02:00
Constantin Wenger
cd6d204a9d changed some strings of the german translation to fit in the areas 2011-07-30 22:08:16 +02:00
Constantin Wenger
9baae3a701 set locales to C because en_US not installed on some systems, only UTF-8 version and en_US.UTF-8 does not work. 2011-07-30 22:08:16 +02:00
Constantin Wenger
92f504f98d fixed displaying "umlauts" (deutsch umlaute) and hopefully other non ASCII chars, too 2011-07-30 22:03:25 +02:00
Nils Dagsson Moskopp
75816150ec * honor environment variables, use utf-8 2011-07-30 21:17:04 +02:00
Nils Dagsson Moskopp
4681392bac * PEP 8 compliance 2011-07-30 21:05:33 +02:00
Nils Dagsson Moskopp
17830c5894 - removed old minetestmapper 2011-07-30 20:37:53 +02:00
Wolfgang Fellger
edbcf7c039 * support for content types extension in minetestmapper 2011-07-30 20:35:55 +02:00
Nils Dagsson Moskopp
96bee29e35 Merge branch 'upstream/master' 2011-07-30 19:47:55 +02:00
Nils Dagsson Moskopp
82ea534997 * README updated 2011-07-30 19:30:43 +02:00
Nils Dagsson Moskopp
a4fe2a7c75 - compiling with translations works again 2011-07-30 19:28:44 +02:00
Nils Dagsson Moskopp
4ef9c7675a Merge remote-tracking branch 'origin/upstream' 2011-07-30 18:55:43 +02:00
Nils Dagsson Moskopp
f69123050b Merge branch 'master' of github.com:erlehmann/minetest-delta 2011-07-24 20:04:20 +02:00
Nils Dagsson Moskopp
a5a9c9f799 Merge pull request #36 from Oblomov/master
Some more gettext stuff
2011-07-24 11:00:38 -07:00
Giuseppe Bilotta
cce210f676 Locale dir should be parallel to global data dir 2011-07-24 19:23:03 +02:00
Giuseppe Bilotta
a8e493122e Read config from gettext.h
Otherwise the USE_GETTEXT define might not be visible.
2011-07-24 19:13:34 +02:00
Giuseppe Bilotta
e00d7ee5be Italian translations 2011-07-24 19:06:17 +02:00
Nils Dagsson Moskopp
ad6b087353 + 24x24 rendering of SVG minetest icon, polished manually to look crisp 2011-07-24 18:51:44 +02:00
Giuseppe Bilotta
3715e39e5d Actually make USE_GETTEXT available in the source 2011-07-24 18:34:10 +02:00
Giuseppe Bilotta
423109e64c Two more instances of unhardcoding the project name 2011-07-24 18:12:11 +02:00
Nils Dagsson Moskopp
71b7d92597 Merge pull request #35 from Oblomov/master
some more gettext fixes
2011-07-24 09:01:10 -07:00
Giuseppe Bilotta
e034f8a2a3 Sanitize GETTEXT usage macros
Now the user-level option is called ENABLE_GETTEXT, and USE_GETTEXT is
only set to true if gettext was enabled and found. This simplifies all
check to USE_GETTEXT only rather than the double checks for it being
enabled and found.
2011-07-24 16:52:59 +02:00
Giuseppe Bilotta
47381bde3b Bring po update out of cmake again
This solves two issues at once:
* CMake would delete po files during ‘make clean’ because it thought
  they were autogenerated and not just managed
* the only gettext tools readily available in Windows are so old they
  don't support options like --package-name

The change also moves minetest.pot down one level, so we don't need to
special case ‘en’ anymore.

The downside is of course that you need some sane POSIX shell to update
the po files.
2011-07-24 16:52:59 +02:00
Giuseppe Bilotta
c578efb32b Refactor gettext init
Put the gettext init code in a macro and define it appropriately
depending on whether gettext is actually available or not.
2011-07-24 16:52:59 +02:00
Giuseppe Bilotta
5aa2679be7 Do not package en translation, since we don't build it 2011-07-24 09:19:25 +02:00
Giuseppe Bilotta
d4e7faca21 Gettext domain should match the project name
This partially reverts 023cc0d37776976b4b192b7363f73a5d2debdef6, goes
back to using PROJECT_NAME for the filename and also uses PROJECT_NAME
as text domain in the source code.
2011-07-24 09:19:25 +02:00
Giuseppe Bilotta
4ffba76bb3 Place project name and gettext use in config 2011-07-24 09:18:29 +02:00
Nils Dagsson Moskopp
f4a08f7fb3 Merge pull request #34 from SpeedProg/master
Changes to make gettext enabled if it is found
2011-07-23 19:01:51 -07:00
Constantin Wenger
f6d9bcc9bb updated cmakerules to autodetect if gettext can be used
fixed error if gettext is disabled
2011-07-23 22:36:11 +02:00
Nils Dagsson Moskopp
a7daf8e652 * README updated 2011-07-22 21:56:00 +02:00
Constantin Wenger
4771b4951d change in readme of a lib 2011-07-22 20:55:00 +02:00
Constantin Wenger
383698186f Merge remote-tracking branch 'upstream/master' 2011-07-22 20:53:29 +02:00
Constantin Wenger
fb4c3ab4fb fixed some problems with filenames of the translations 2011-07-22 20:40:47 +02:00
Constantin Wenger
96ad0c8638 updated some parts which don't really make a problem but are better this way 2011-07-22 20:40:46 +02:00
Nils Dagsson Moskopp
7985d746f9 Merge branch 'upstream/master' 2011-07-22 20:16:58 +02:00
Nils Dagsson Moskopp
a45f287ae1 Merge pull request #32 from Oblomov/master
Gettext + misc fixes
2011-07-22 10:30:55 -07:00
Giuseppe Bilotta
7d9dd352cf Declare USE_GETTEXT option 2011-07-22 14:42:04 +02:00
Constantin Wenger
a09660dc85 fixed problem with displaying special chars 2011-07-22 13:27:30 +02:00
Giuseppe Bilotta
d78e5e7329 updatepo cmake rule
Get rid of the system-specific updatelocales.sh and introduce an
updatepo cmake rule. po files are also updated before creating the mo
files, and we now keep the .pot file (in the po/en directory). To
stabilize the po file creation, file contents are sorted by source
filename.

Update po files in the process.
2011-07-22 12:40:29 +02:00
Giuseppe Bilotta
e61b2f99c1 Static naming of po file
The po file should not be named c55 if we're in ∆. But since it is not
exposed at installation time, we don't actually need its name to be
based on the project name at all, so just call it minetest.po
2011-07-22 09:58:02 +02:00
Giuseppe Bilotta
d386f02893 Refactor mo creation/installation 2011-07-22 09:36:17 +02:00
Giuseppe Bilotta
5a3218e535 Use project name for mo files 2011-07-22 08:33:08 +02:00
Giuseppe Bilotta
02653573d2 Merge remote-tracking branch 'erlehmann/master'
Conflicts (from the introduction of fr translations):
	src/CMakeLists.txt
2011-07-22 07:48:22 +02:00
Constantin Wenger
5c66664aef changed some lines to fit the 80chars limit 2011-07-22 07:25:40 +02:00
Nils Dagsson Moskopp
21b7a272c4 * nicer firefly texture 2011-07-21 20:13:31 +02:00
Nils Dagsson Moskopp
17a47b3335 + unknown block is sick 2011-07-21 17:36:23 +02:00
Nils Dagsson Moskopp
89bbff18e5 Merge pull request #29 from cisoun/master
Add french translation.
2011-07-21 07:33:34 -07:00
Constantin Wenger
fc95d00b2f fixed not finding dll for gettext in MSVC 2011-07-21 16:21:01 +02:00
Cyriaque Skrapits
3f4f844eeb Added missing .po fil.e 2011-07-21 16:14:18 +02:00
Cyriaque Skrapits
6875ead7cf Added french translation. 2011-07-21 16:09:57 +02:00
Nils Dagsson Moskopp
5388e8b124 * different collision box for fireflies so they now hover above the ground 2011-07-21 15:40:00 +02:00
Giuseppe Bilotta
02b14090c2 Reorganize cmake gettext message output to ease debugging 2011-07-21 15:16:59 +02:00
Giuseppe Bilotta
56a744599f Restore "Leave address blank" position 2011-07-21 15:12:58 +02:00
Giuseppe Bilotta
9fa4b72a47 Find correct library for MSVC vs MingW in Winows 2011-07-21 14:50:15 +02:00
Giuseppe Bilotta
3e78b29cae Only install locale files if using gettext 2011-07-21 14:46:23 +02:00
Giuseppe Bilotta
d63c160bd6 Uppercase DEFINED or cmake 2.8.4 complains 2011-07-21 13:59:50 +02:00
Constantin Wenger
2a6c0fc17f updated some path because the dlls are mostly under bin not lib
added explanation why libintl must not belinked under some oses
2011-07-21 13:24:37 +02:00
Giuseppe Bilotta
1340da7b54 Refactor and clean up gettext management 2011-07-21 12:33:29 +02:00
Giuseppe Bilotta
89af509d10 Make gettext optional 2011-07-21 09:03:41 +02:00
Weedy
89b8b792c1 Tweak makefiles to add -delta suffix. 2011-07-21 09:03:20 +02:00
Weedy
a19491dbd2 Fix win32 MSVC compile. (screw gettext) 2011-07-21 09:03:17 +02:00
Nils Dagsson Moskopp
f5c6e3973c Merge pull request #27 from Oblomov/master
* regression fix for windows build.
2011-07-20 14:29:01 -07:00
Giuseppe Bilotta
e7beaac6f5 Move package search out of conditional
This unbreaks the Windows build which would otherwise have problems at
the jthread level.
2011-07-20 23:09:28 +02:00
Nils Dagsson Moskopp
84684e53ed + fireflies 2011-07-20 22:05:57 +02:00
Nils Dagsson Moskopp
4c0e36a5e9 * README updated 2011-07-20 19:14:40 +02:00
Nils Dagsson Moskopp
8ed83250d7 Merge branch 'master' of github.com:erlehmann/minetest-delta 2011-07-20 18:56:32 +02:00
Nils Dagsson Moskopp
360a8918dd Merge pull request #24 from SpeedProg/master
gettext paths problem
2011-07-20 09:56:23 -07:00
Constantin Wenger
4d43a67419 fixed problem with wront paths in gettext 2011-07-20 18:49:18 +02:00
Nils Dagsson Moskopp
33e80dae7f Merge branch 'master' of github.com:erlehmann/minetest-delta 2011-07-20 18:29:48 +02:00
Nils Dagsson Moskopp
4f53619a15 Merge pull request #23 from Oblomov/master
Some misc usability patches
2011-07-20 09:29:07 -07:00
Giuseppe Bilotta
3fb5b7a3bd Set the window caption for the initial window too 2011-07-20 17:59:48 +02:00
Giuseppe Bilotta
bcd3e1af2f Check the data path before usage
When not running in place, check if the assumed data path in
../share/APPNAME exists. If it doesn't exist, fall back to ../data
instead. This allows the program to run successfully from the checkout
directory even without the run-in-place flag active.
2011-07-20 17:59:48 +02:00
Giuseppe Bilotta
cd45ae3d0f Use system sqlite3/jthread libs if available 2011-07-20 17:59:48 +02:00
Nils Dagsson Moskopp
e5dc58e710 Merge branch 'master' of github.com:erlehmann/minetest-delta 2011-07-20 17:56:49 +02:00
Nils Dagsson Moskopp
cef7bb0619 Merge pull request #22 from SpeedProg/master
added gettext support
2011-07-20 08:56:35 -07:00
Constantin Wenger
a006b828a6 updated german po file for minetest-delta (prior it was for minetest)
set +x on bashscript
2011-07-20 17:00:54 +02:00
Constantin Wenger
052bb24c7f added gettext support
german translation file
and bashscript to update translations
2011-07-20 16:51:19 +02:00
Nils Dagsson Moskopp
3c630c0d90 Merge branch 'upstream/master' 2011-07-20 14:20:07 +02:00
Nils Dagsson Moskopp
d0810b0156 * README updated (graphics licensing) 2011-07-20 02:45:15 +02:00
Nils Dagsson Moskopp
ffd3cdf519 * by popular request, fewer clouds 2011-07-20 02:44:51 +02:00
Nils Dagsson Moskopp
ac2e822ea1 * README updated 2011-07-19 23:35:12 +02:00
Nils Dagsson Moskopp
0cd2972d60 + minetest application icon 2011-07-19 23:32:01 +02:00
Nils Dagsson Moskopp
821ff68f54 * initialize liquid_kind properly so compiler does not bitch about it 2011-07-19 02:02:50 +02:00
Nils Dagsson Moskopp
e8eb4d233b + fake shading for the volumetric clouds 2011-07-19 01:43:30 +02:00
Nils Dagsson Moskopp
414d1ff9e2 + volumetric clouds (thanks teddydestodes) 2011-07-18 22:50:14 +02:00
Felix Krause
7d92ce061d final fixes to liquid flow, works now as intended 2011-07-18 02:38:57 +02:00
Felix Krause
a1e2a8bec6 fixes to liquid transformation 2011-07-18 02:38:48 +02:00
Felix Krause
f34a9b6a71 fixed refactoring issues // slowed down water flow a bit
* liquid flow no longer does random things when transformed
* if a flowi
ng liquid node doesn't have a solid block as neighbor, its spread distan
ce is shortened by 1
2011-07-18 02:38:32 +02:00
Felix Krause
def870953a * refactored liquid transformation code (has some flaws)
Completely rewrote the liquid transformation. The algorithm now exclusively modifies the current node in one iteration. Another change is that MapNode.param2 now stores a bit that tells other nodes if a flowing liquid node flows downwards. This is accomplished by two masks on param2 for the "flow down" bit and the "liquid level" bits.

This will be the base of future improvements to the liquid flow. However, in the current state flowing liquid does not always disappear when cut off its source. Be aware that this branch is work in progress.
2011-07-18 02:37:19 +02:00
Nils Dagsson Moskopp
f2c6330505 * Омская птица 2011-07-18 02:09:55 +02:00
Nils Dagsson Moskopp
077ffa5231 * changed GUI to indicate Minetest Δ 2011-07-17 22:33:51 +02:00
Nils Dagsson Moskopp
0802edf582 * README updated 2011-07-16 17:14:58 +02:00
Nils Dagsson Moskopp
8bfa56648d Merge remote-tracking branch 'origin/upstream' 2011-07-16 16:52:45 +02:00
Nils Dagsson Moskopp
4d20f1283f * fix automerge regression 2011-07-15 20:16:02 +02:00
Nils Dagsson Moskopp
0a38e542c1 * regression fix, clay occurs again now 2011-07-15 06:37:47 +02:00
Nils Dagsson Moskopp
96f551a287 * possibly nicer trees 2011-07-15 02:23:41 +02:00
Nils Dagsson Moskopp
af05e4b2de Merge branch 'upstream/master'
Conflicts:
	data/oerkki1.png
	src/client.cpp
2011-07-14 22:43:28 +02:00
Nils Dagsson Moskopp
4415d95c50 * possibly improved water flow, by flyx86
- When flowing liquid starts to flow down, it stops contributing to its neighboring nodes' liquid level (possibly transforming it back to air)
- Flowing liquid turns into a source if there are at least 2 adjacent liquid source nodes
- If a new liquid flow reaches existing flowing liquid, the existing liquid is now updated properly.
2011-07-14 16:17:53 +02:00
Nils Dagsson Moskopp
1cdf210e4f * possible fix for large cubic holes in map 2011-07-13 23:12:18 +02:00
Nils Dagsson Moskopp
b0ad5ce8e2 * slightly different values for 3d perlin noise 2011-07-13 23:10:41 +02:00
Nils Dagsson Moskopp
b2447393e4 * regression fix, papyrus should appear again now 2011-07-13 16:21:20 +02:00
Nils Dagsson Moskopp
63ce6eee5c * README updated 2011-07-11 16:22:14 +02:00
Jiří Procházka
858b2d7439 + farmesh config options 2011-07-11 15:01:43 +02:00
Nils Dagsson Moskopp
6103e59c19 * amended upstream branch notes 2011-07-09 18:22:39 +02:00
Nils Dagsson Moskopp
a106c0dbdc + notes regarding upstream conversion from mercurial using hg-fast-export 2011-07-09 18:14:05 +02:00
Nils Dagsson Moskopp
f37a3a84fa Merge pull request #13 from Bahamada/upstream_merge
Upstream merge
2011-06-27 06:56:26 -07:00
Sebastian Rühl
13cf5425db backported cactus, papyrus and clay 2011-06-26 13:47:21 +02:00
Sebastian Rühl
fb6ac9a1a6 small fix 2011-06-26 12:52:03 +02:00
Sebastian Rühl
033ae0dcae Merge branch 'master' of https://github.com/erlehmann/minetest-delta.git into upstream_merge
Conflicts:
	.gitignore
	CMakeLists.txt
	data/heart.png
	src/CMakeLists.txt
	src/game.cpp
	src/guiMainMenu.cpp
	src/inventory.cpp
	src/map.cpp
	src/mapblock.cpp
	src/mapnode.cpp
	src/mapnode.h
	src/materials.cpp
	src/server.cpp

Signed-off-by: Sebastian Rühl <bahamada_basti@yahoo.de>
2011-06-26 12:24:32 +02:00
Nils Dagsson Moskopp
e261cc9e8f + rail block bounding box 2011-06-08 05:27:55 +02:00
Nils Dagsson Moskopp
2ec160454a * README updated 2011-06-07 19:41:03 +02:00
Nils Dagsson Moskopp
51d308c666 + rail 2011-06-07 19:24:30 +02:00
Nils Dagsson Moskopp
b3c439fb16 * README updated 2011-06-03 13:39:07 +02:00
Nils Dagsson Moskopp
15ae9ca8a2 + bookshelf in minetestmapper, same color as wood 2011-06-03 13:31:42 +02:00
Nils Dagsson Moskopp
c3cd89705d * point out setInventoryTextureCube() is broken with a FIXME 2011-06-03 13:13:31 +02:00
Nils Dagsson Moskopp
1bd25925cb + paper, book, bookshelf 2011-06-03 13:12:56 +02:00
Nils Dagsson Moskopp
17e17ceb59 * README updated 2011-06-03 00:57:39 +02:00
Nils Dagsson Moskopp
8da4a4276f + papyrus in minetestmapper 2011-06-03 00:56:27 +02:00
Nils Dagsson Moskopp
3bb1cfdf36 + papyrus 2011-06-03 00:55:28 +02:00
Nils Dagsson Moskopp
e627f023a0 * made cactus color darker 2011-06-03 00:52:46 +02:00
Nils Dagsson Moskopp
bd5cdbf1a4 + check if sectors/sectors2 directories exist before attempting to read them 2011-06-02 17:21:58 +02:00
Nils Dagsson Moskopp
34e57da1ca * encoding fix 2011-06-02 17:19:50 +02:00
Nils Dagsson Moskopp
de8996ac3b * tabs to spaces 2011-06-02 17:13:05 +02:00
Nils Dagsson Moskopp
33264d0fb6 * ignore minetestmapper output 2011-06-02 16:54:05 +02:00
Nils Dagsson Moskopp
cc65bda2cc + sandstone color value now in minetestmapper 2011-06-02 16:52:25 +02:00
Nils Dagsson Moskopp
4b2b65df9f + minetestmapper2, colors modified for Minetest Δ 2011-06-02 16:17:50 +02:00
Nils Dagsson Moskopp
4800f1df97 * README updated 2011-06-02 03:03:47 +02:00
Nils Dagsson Moskopp
9850df35ae Merge pull request #1 from TeddyDesTodes/master
+ submenu for key assignment, fast_move and free_move can now be toggled
2011-06-01 17:20:37 -07:00
teddydestodes
7dfa3442fe Merge remote-tracking branch 'upstream/master' 2011-06-01 19:47:10 +02:00
teddydestodes
58bc6f3a18 added new submenu for key assignment
configwriting/saving isn't complete and will break your config if you use fancy keys
2011-06-01 19:44:07 +02:00
Nils Dagsson Moskopp
a75c31143a * README updated 2011-06-01 17:19:28 +02:00
Nils Dagsson Moskopp
15b375827e Merge pull request #5 from bucket-T/master
MacOSX build support
2011-06-01 08:08:41 -07:00
Nils Dagsson Moskopp
60578e0950 * README updated 2011-06-01 16:46:49 +02:00
teddydestodes
09d7654f46 Merge remote-tracking branch 'bucket-t/master' 2011-06-01 14:43:27 +02:00
MrLoom
28234f6e54 MacOSX build support 2011-06-01 14:13:22 +02:00
teddydestodes
63fe487d93 Merge remote-tracking branch 'upstream/master' 2011-06-01 14:11:52 +02:00
Nils Dagsson Moskopp
d2b2c7c09e * improved fence dimensions (cuboid side lengths now multiples of 2, textures should fit better) 2011-06-01 20:06:16 +08:00
Nils Dagsson Moskopp
c930a92b72 * clay is rarer now 2011-06-01 08:09:28 +02:00
Nils Dagsson Moskopp
cffd40c5d6 + clay and associated items 2011-06-01 04:57:46 +02:00
Nils Dagsson Moskopp
fb78854e9b + brick 2011-05-31 22:04:09 +02:00
Nils Dagsson Moskopp
461f53945d * menulogo now shows minetest delta 2011-05-31 20:52:20 +02:00
Nils Dagsson Moskopp
6c3ca42e0e + fence inventory icon 2011-05-31 03:54:39 +02:00
Nils Dagsson Moskopp
0f4c83eb98 * improved fence dimensions (cuboid side lengths now multiples of 2, textures should fit better) 2011-05-31 02:56:23 +02:00
Nils Dagsson Moskopp
880aa870a0 + cactii 2011-05-30 14:42:08 +02:00
Nils Dagsson Moskopp
cf136f1935 + .gitignore 2011-05-30 01:21:37 +08:00
teddydestodes
ca26de72c9 fast_move and free_move can now be toggled 2011-05-29 19:17:42 +02:00
Nils Dagsson Moskopp
af574e58fe + .gitignore 2011-05-29 19:08:59 +02:00
Nils Dagsson Moskopp
ed81aa8aae + README in main directory 2011-05-29 19:03:59 +02:00
Nils Dagsson Moskopp
9ab64658ba * better heart icon 2011-05-29 18:49:02 +02:00
Nils Dagsson Moskopp
3504a66eda * better glass graphics 2011-05-29 18:48:39 +02:00
Nils Dagsson Moskopp
3f0ac7adce * better rat graphics 2011-05-29 18:48:21 +02:00
Nils Dagsson Moskopp
0076339914 * enemies are now omsk birds 2011-05-29 18:47:40 +02:00
Nils Dagsson Moskopp
2176f4d697 * better player graphics 2011-05-29 18:45:50 +02:00
Nils Dagsson Moskopp
843ffba567 + sandstone 2011-05-29 18:44:42 +02:00
395 changed files with 67448 additions and 31056 deletions

2
.gitattributes vendored Normal file
View File

@@ -0,0 +1,2 @@
*.cpp diff=cpp
*.h diff=cpp

6
.gitignore vendored
View File

@@ -1,3 +1,4 @@
*~
map/*
world/*
CMakeFiles/*
@@ -9,6 +10,7 @@ src/jthread/CMakeFiles/*
src/jthread/Makefile
src/jthread/cmake_config.h
src/jthread/cmake_install.cmake
.*.swp
minetest.conf
bin/
CMakeCache.txt
@@ -20,3 +22,7 @@ src/jthread/libjthread.a
debug.txt
bin/debug.txt
minetestmapper/map.png
locale/
src/lua/build/
src/lua/CMakeFiles/
*bak*

29
.hgtags
View File

@@ -1,28 +1 @@
c37bcfd89dd627fdb131ae3f77fcaab02721bf76 working
69547bd6be420eb40f55524fd2131cbbaa2e0e29 110107195706-exp
e3c3c8e27bbc8c9b61710517a78944deb1c61696 110211211322
23880c78e40c50ad54fcd8844510f7a423b37f2a 110212200513
20c49c98c92a62df457b773c562df41d4167492b 110214175330
10be2b71f965585af90af96903e83b4ddff52bf9 20110424_0
9b05d4bfee9312aef4182fa6f63b4237368cec34 0.2.20110529_0
6fa0a8b40406aa567f8fa84b5e2045a7e3762c1d 0.2.20110529_1
cf6dd618ef0b7514c81ae87749733b5a328fc763 0.2.20110529_2
96efc17b4cd92aacbe947b520a6ba91727d42f03 0.2.20110602_0
0000000000000000000000000000000000000000 0.2.20110602_0
6f17cd3f6c5481e6abc906fc441980c764632cbc 0.2.20110602_0
dd08a9b5cb84d55b7576bb3fde3068dd263bc3bc 0.2.20110618_0_dev
25aa2021937f7a8b36808390983cebbc16ae6965 0.2.20110704_0
25aa2021937f7a8b36808390983cebbc16ae6965 0.2.20110704_0
0000000000000000000000000000000000000000 0.2.20110704_0
0000000000000000000000000000000000000000 0.2.20110704_0
65263ec55caf526e3f3e0bdc6657ce42daee46bc 0.2.20110704_0
06c62112b503e746d5d8cc40f951974447d590b7 0.2.20110731_0
705a7e95b8710c8cada5524d8c7bb658f4b710d9 0.2.20110731_1
4a6cf9491306988b24c79438ee6398885c432fce 0.2.20110731_2
4a6cf9491306988b24c79438ee6398885c432fce 0.2.20110731_2
0000000000000000000000000000000000000000 0.2.20110731_2
0000000000000000000000000000000000000000 0.2.20110731_2
8ad16fbce9a4da45b2552ad8b400a5a127722acc 0.2.20110731_2
c87e28deaabf4a776c261b3a09b6bf5ea3e04abf 0.2.20110731_3
c87e28deaabf4a776c261b3a09b6bf5ea3e04abf 0.2.20110731_3
0000000000000000000000000000000000000000 0.2.20110731_3
a519d683251105654d2a146ae7b91d3850b6504c 0.2.20110731_3

View File

@@ -7,11 +7,14 @@ endif(${CMAKE_VERSION} STREQUAL "2.8.2")
# This can be read from ${PROJECT_NAME} after project() is called
project(minetest)
# Also remember to set PROTOCOL_VERSION in clientserver.h when releasing
set(VERSION_MAJOR 0)
set(VERSION_MINOR 2)
set(VERSION_PATCH 20110731_3)
set(VERSION_MINOR 4)
set(VERSION_PATCH dev-20120318)
set(VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
MESSAGE(STATUS "*** Will build version ${VERSION_STRING} ***")
# Configuration options
if(WIN32)
@@ -46,26 +49,44 @@ find_package(Irrlicht)
#
if(WIN32)
set(DATADIR "data")
set(SHAREDIR "share")
set(BINDIR "bin")
set(DOCDIR "doc")
set(EXAMPLE_CONF_DIR ".")
set(EXAMPLE_CONF_DIR "user")
elseif(APPLE)
# random placeholders
set(DATADIR "share/${PROJECT_NAME}")
set(SHAREDIR "share/${PROJECT_NAME}")
set(BINDIR "bin")
set(DOCDIR "share/doc/${PROJECT_NAME}")
set(EXAMPLE_CONF_DIR ".")
set(EXAMPLE_CONF_DIR ${DOCDIR})
elseif(UNIX) # Linux, BSD etc
set(DATADIR "share/${PROJECT_NAME}")
set(BINDIR "bin")
set(DOCDIR "share/doc/${PROJECT_NAME}")
set(EXAMPLE_CONF_DIR "share/doc/${PROJECT_NAME}")
if(RUN_IN_PLACE)
set(SHAREDIR "share")
set(BINDIR "bin")
set(DOCDIR "doc")
set(MANDIR "share/unix/man")
set(EXAMPLE_CONF_DIR ${DOCDIR})
set(XDG_APPS_DIR "share/unix/applications")
set(ICONDIR "share/unix/icons")
else()
set(SHAREDIR "share/${PROJECT_NAME}")
set(BINDIR "bin")
set(DOCDIR "share/doc/${PROJECT_NAME}")
set(MANDIR "share/man")
set(EXAMPLE_CONF_DIR ${DOCDIR})
set(XDG_APPS_DIR "share/applications")
set(ICONDIR "share/icons")
endif()
endif()
install(FILES "doc/README.txt" DESTINATION "${DOCDIR}")
install(FILES "doc/changelog.txt" DESTINATION "${DOCDIR}")
install(FILES "minetest.conf.example" DESTINATION "${DOCDIR}")
install(FILES "README.txt" DESTINATION "${DOCDIR}")
install(FILES "minetest.conf.example" DESTINATION "${EXAMPLE_CONF_DIR}")
if(UNIX)
install(FILES "doc/minetest.6" "doc/minetestserver.6" DESTINATION "${MANDIR}/man6")
install(FILES "misc/minetest.desktop" DESTINATION "${XDG_APPS_DIR}")
install(FILES "minetest-icon.svg" DESTINATION "${ICONDIR}/hicolor/scalable/apps")
endif()
#
# Subdirectories

View File

@@ -26,11 +26,11 @@ Map directory:
- Map is stored in a directory, which can be removed to generate a new map.
- There is a command-line option for it: --map-dir
- For a RUN_IN_PLACE build, it is located in:
../map
../world
- Otherwise something like this:
Windows: C:\Documents and Settings\user\Application Data\minetest\map
Linux: ~/.minetest/map
OS X: ~/Library/Application Support/minetest/map
Windows: C:\Documents and Settings\user\Application Data\minetest\world
Linux: ~/.minetest/world
OS X: ~/Library/Application Support/minetest/world
Configuration file:
-------------------
@@ -54,12 +54,12 @@ Compiling on GNU/Linux:
-----------------------
Install dependencies. Here's an example for Debian/Ubuntu:
$ apt-get install build-essential libirrlicht-dev cmake libbz2-dev libpng12-dev libjpeg8-dev libxxf86vm-dev libgl1-mesa-dev
$ apt-get install build-essential libirrlicht-dev cmake libbz2-dev libpng12-dev libjpeg8-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev
Download source, extract (this is the URL to the latest of source repository, which might not work at all times):
$ wget https://bitbucket.org/celeron55/minetest/get/tip.tar.gz
$ tar xf tip.tar.gz
$ cd minetest
$ wget https://github.com/celeron55/minetest/tarball/master -O master.tar.gz
$ tar xf master.tar.gz
$ cd celeron55-minetest-286edd4 (or similar)
Build a version that runs directly from the source directory:
$ cmake . -DRUN_IN_PLACE=1
@@ -73,7 +73,7 @@ $ ./minetest
- If you want to install it system-wide (or are making a distribution package), you will want to use -DRUN_IN_PLACE=0
- You can build a bare server or a bare client by specifying -DBUILD_CLIENT=0 or -DBUILD_SERVER=0
- You can select between Release and Debug build by -DCMAKE_BUILD_TYPE=<Debug or Release>
- Note that the Debug build is considerably slower
- Debug build is slower, but gives much more useful output in a debugger
Compiling on Windows:
---------------------
@@ -90,16 +90,18 @@ Compiling on Windows:
http://www.winimage.com/zLibDll/index.html
* Zlib library (zlibwapi.lib and zlibwapi.dll from zlib125dll.zip):
http://www.winimage.com/zLibDll/index.html
* gettext bibrary and tools:
* Optional: gettext bibrary and tools:
http://gnuwin32.sourceforge.net/downlinks/gettext.php
- This is used for other UI languages. Feel free to leave it out.
* And, of course, Minetest-c55:
http://celeron.55.lt/~celeron55/minetest/download
- Steps:
- Select a directory called DIR hereafter in which you will operate.
- Make sure you have CMake and a compiler installed.
- Download all the other stuff to DIR and extract them into there. All those
packages contain a nice base directory in them, which should end up being
the direct subdirectories of DIR.
- Download all the other stuff to DIR and extract them into there.
("extract here", not "extract to packagename/")
- All those packages contain a nice base directory in them, which
should end up being the direct subdirectories of DIR.
- You will end up with a directory structure like this (+=dir, -=file):
-----------------
+ DIR
@@ -119,7 +121,7 @@ Compiling on Windows:
+ lib
+ include
...
+ gettext
+ gettext (optional)
+bin
+include
+lib
@@ -157,11 +159,14 @@ Compiling on Windows:
GETTEXT_MSGFMT DIR/gettext/bin/msgfmt
-----------------
- Hit "Configure"
- Hit "Configure" once again 8)
- If something is still coloured red, you have a problem.
- Hit "Generate"
If using MSVC:
- Open the generated minetest.sln
- The project defaults to the "Debug" configuration. Make very sure to
select "Release", unless you want to debug some stuff (it's slower)
select "Release", unless you want to debug some stuff (it's slower
and might not even work at all)
- Build the ALL_BUILD project
- Build the INSTALL project
- You should now have a working game with the executable in
@@ -174,8 +179,33 @@ Compiling on Windows:
- You should now have a working game with the executable in
DIR/minetest/bin/minetest.exe
License of Minetest-c55
-----------------------
Windows releases of minetest are built using a bat script like this:
--------------------------------------------------------------------
set installpath="C:\tmp\minetest_install"
set irrlichtpath="C:\tmp\irrlicht-1.7.2"
set sourcedir=%CD%
set builddir=%sourcedir%\bvc10
mkdir %builddir%
pushd %builddir%
cmake %sourcedir% -G "Visual Studio 10" -DIRRLICHT_SOURCE_DIR=%irrlichtpath% -DRUN_IN_PLACE=1 -DCMAKE_INSTALL_PREFIX=%installpath%
"C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" ALL_BUILD.vcxproj /p:Configuration=Release
"C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" INSTALL.vcxproj /p:Configuration=Release
"C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" PACKAGE.vcxproj /p:Configuration=Release
popd
License of Minetest-c55 textures and sounds
-------------------------------------------
This applies to textures and sounds contained in the main Minetest
distribution.
Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
http://creativecommons.org/licenses/by-sa/3.0/
License of Minetest-c55 source code
-----------------------------------
Minetest-c55
Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com>
@@ -247,3 +277,21 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
Fonts
---------------
DejaVu Sans Mono:
Fonts are (c) Bitstream (see below). DejaVu changes are in public domain.
Glyphs imported from Arev fonts are (c) Tavmjong Bah (see below)
Bitstream Vera Fonts Copyright:
Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is
a trademark of Bitstream, Inc.
Arev Fonts Copyright:
Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved.

View File

@@ -16,21 +16,6 @@ FIND_PROGRAM(GETTEXT_MSGFMT
PATHS "${CUSTOM_GETTEXT_PATH}/bin"
DOC "path to msgfmt")
FIND_PROGRAM(GETTEXT_MSGMERGE
NAMES msgmerge
PATHS "${CUSTOM_GETTEXT_PATH}/bin"
DOC "path to msgmerge")
FIND_PROGRAM(GETTEXT_MSGEN
NAMES msgen
PATHS "${CUSTOM_GETTEXT_PATH}/bin"
DOC "path to msgen")
FIND_PROGRAM(GETTEXT_EXTRACT
NAMES xgettext
PATHS "${CUSTOM_GETTEXT_PATH}/bin"
DOC "path to xgettext")
# modern Linux, as well as Mac, seem to not need require special linking
# they do not because gettext is part of glibc
# TODO check the requirements on other BSDs and older Linux
@@ -56,7 +41,6 @@ IF (WIN32)
DOC "gettext *iconv*.lib")
ENDIF(WIN32)
IF(GETTEXT_INCLUDE_DIR AND GETTEXT_MSGFMT)
IF (WIN32)
# in the Win32 case check also for the extra linking requirements
@@ -64,6 +48,10 @@ IF(GETTEXT_INCLUDE_DIR AND GETTEXT_MSGFMT)
SET(GETTEXT_FOUND TRUE)
ENDIF()
ELSE(WIN32)
# *BSD variants require special linkage as they don't use glibc
IF(${CMAKE_SYSTEM_NAME} MATCHES "BSD")
SET(GETTEXT_LIBRARY "intl")
ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "BSD")
SET(GETTEXT_FOUND TRUE)
ENDIF(WIN32)
ENDIF()
@@ -71,10 +59,14 @@ ENDIF()
IF(GETTEXT_FOUND)
SET(GETTEXT_PO_PATH ${CMAKE_SOURCE_DIR}/po)
SET(GETTEXT_MO_BUILD_PATH ${CMAKE_BINARY_DIR}/locale/<locale>/LC_MESSAGES)
SET(GETTEXT_MO_DEST_PATH locale/<locale>/LC_MESSAGES)
SET(GETTEXT_MO_DEST_PATH ${DATADIR}/../locale/<locale>/LC_MESSAGES)
FILE(GLOB GETTEXT_AVAILABLE_LOCALES RELATIVE ${GETTEXT_PO_PATH} "${GETTEXT_PO_PATH}/*")
LIST(REMOVE_ITEM GETTEXT_AVAILABLE_LOCALES minetest.pot)
MACRO(SET_MO_PATHS _buildvar _destvar _locale)
STRING(REPLACE "<locale>" ${_locale} ${_buildvar} ${GETTEXT_MO_BUILD_PATH})
STRING(REPLACE "<locale>" ${_locale} ${_destvar} ${GETTEXT_MO_DEST_PATH})
ENDMACRO(SET_MO_PATHS)
ELSE()
SET(GETTEXT_INCLUDE_DIR "")
SET(GETTEXT_LIBRARY "")
ENDIF()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 598 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 199 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 209 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 193 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 B

View File

@@ -1,238 +0,0 @@
Minetest-c55
---------------
An InfiniMiner/Minecraft inspired game.
Copyright (c) 2010-2011 Perttu Ahola <celeron55@gmail.com>
Further documentation:
----------------------
- Website: http://celeron.55.lt/~celeron55/minetest/
- Wiki: http://celeron.55.lt/~celeron55/minetest/wiki/
- Forum: http://celeron.55.lt/~celeron55/minetest/forum/
This is a development version:
------------------------------
- Don't expect it to work as well as a finished game will.
- Please report any bugs to me. That way I can fix them to the next release.
- debug.txt is useful when the game crashes.
Controls:
---------
- See the in-game pause menu
- Settable in the configuration file, see the section below.
Map directory:
--------------
- Map is stored in a directory, which can be removed to generate a new map.
- There is a command-line option for it: --map-dir
- For a RUN_IN_PLACE build, it is located in:
../map
- Otherwise something like this:
Windows: C:\Documents and Settings\user\Application Data\minetest\map
Linux: ~/.minetest/map
OS X: ~/Library/Application Support/minetest/map
Configuration file:
-------------------
- An optional configuration file can be used. See minetest.conf.example.
- Path to file can be passed as a parameter to the executable:
--config <path-to-file>
- Defaults:
- If built with -DRUN_IN_PLACE=1:
../minetest.conf
../../minetest.conf
- Otherwise something like this:
Windows: C:\Documents and Settings\user\Application Data\minetest\minetest.conf
Linux: ~/.minetest/minetest.conf
OS X: ~/Library/Application Support/minetest.conf
Command-line options:
---------------------
- Use --help
Compiling on GNU/Linux:
-----------------------
Install dependencies. Here's an example for Debian/Ubuntu:
$ apt-get install build-essential libirrlicht-dev cmake libbz2-dev libpng12-dev libjpeg8-dev libxxf86vm-dev libgl1-mesa-dev
Download source, extract (this is the URL to the latest of source repository, which might not work at all times):
$ wget https://bitbucket.org/celeron55/minetest/get/tip.tar.gz
$ tar xf tip.tar.gz
$ cd minetest
Build a version that runs directly from the source directory:
$ cmake . -DRUN_IN_PLACE=1
$ make -j2
Run it:
$ cd bin
$ ./minetest
- Use cmake . -LH to see all CMake options and their current state
- If you want to install it system-wide (or are making a distribution package), you will want to use -DRUN_IN_PLACE=0
- You can build a bare server or a bare client by specifying -DBUILD_CLIENT=0 or -DBUILD_SERVER=0
- You can select between Release and Debug build by -DCMAKE_BUILD_TYPE=<Debug or Release>
- Note that the Debug build is considerably slower
Compiling on Windows:
---------------------
- You need:
* CMake:
http://www.cmake.org/cmake/resources/software.html
* MinGW or Visual Studio
http://www.mingw.org/
http://msdn.microsoft.com/en-us/vstudio/default
* Irrlicht SDK 1.7:
http://irrlicht.sourceforge.net/downloads.html
* Zlib headers (zlib125.zip)
http://www.winimage.com/zLibDll/index.html
* Zlib library (zlibwapi.lib and zlibwapi.dll from zlib125dll.zip):
http://www.winimage.com/zLibDll/index.html
* And, of course, Minetest-c55:
http://celeron.55.lt/~celeron55/minetest/download
- Steps:
- Select a directory called DIR hereafter in which you will operate.
- Make sure you have CMake and a compiler installed.
- Download all the other stuff to DIR and extract them into there. All those
packages contain a nice base directory in them, which should end up being
the direct subdirectories of DIR.
- You will end up with a directory structure like this (+=dir, -=file):
-----------------
+ DIR
- zlib-1.2.5.tar.gz
- zlib125dll.zip
- irrlicht-1.7.1.zip
- 110214175330.zip (or whatever, this is the minetest source)
+ zlib-1.2.5
- zlib.h
+ win32
...
+ zlib125dll
- readme.txt
+ dll32
...
+ irrlicht-1.7.1
+ lib
+ include
...
+ minetest
+ src
+ doc
- CMakeLists.txt
...
-----------------
- Start up the CMake GUI
- Select "Browse Source..." and select DIR/minetest
- Now, if using MSVC:
- Select "Browse Build..." and select DIR/minetest-build
- Else if using MinGW:
- Select "Browse Build..." and select DIR/minetest
- Select "Configure"
- Select your compiler
- It will warn about missing stuff, ignore that at this point. (later don't)
- Make sure the configuration is as follows
(note that the versions may differ for you):
-----------------
BUILD_CLIENT [X]
BUILD_SERVER [ ]
CMAKE_BUILD_TYPE Release
CMAKE_INSTALL_PREFIX DIR/minetest-install
IRRLICHT_SOURCE_DIR DIR/irrlicht-1.7.1
RUN_IN_PLACE [X]
WARN_ALL [ ]
ZLIB_DLL DIR/zlib125dll/dll32/zlibwapi.dll
ZLIB_INCLUDE_DIR DIR/zlib-1.2.5
ZLIB_LIBRARIES DIR/zlib125dll/dll32/zlibwapi.lib
-----------------
- Hit "Configure"
- Hit "Generate"
If using MSVC:
- Open the generated minetest.sln
- The project defaults to the "Debug" configuration. Make very sure to
select "Release", unless you want to debug some stuff (it's slower)
- Build the ALL_BUILD project
- Build the INSTALL project
- You should now have a working game with the executable in
DIR/minetest-install/bin/minetest.exe
- Additionally you may create a zip package by building the PACKAGE
project.
If using MinGW:
- Using the command line, browse to the build directory and run 'make'
(or mingw32-make or whatever it happens to be)
- You should now have a working game with the executable in
DIR/minetest/bin/minetest.exe
License of Minetest-c55
-----------------------
Minetest-c55
Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Irrlicht
---------------
This program uses the Irrlicht Engine. http://irrlicht.sourceforge.net/
The Irrlicht Engine License
Copyright © 2002-2005 Nikolaus Gebhardt
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute
it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must
not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
JThread
---------------
This program uses the JThread library. License for JThread follows:
Copyright (c) 2000-2006 Jori Liesenborgs (jori.liesenborgs@gmail.com)
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.

View File

@@ -85,5 +85,10 @@ Furnace metadata:
Chest metadata:
TBD
Locking Chest metadata:
u16 string_len
u8[string_len] string
TBD
// END

85
doc/minetest.6 Normal file
View File

@@ -0,0 +1,85 @@
.\" Minetest man page
.TH minetest 6 "11 March 2012" "" ""
.SH NAME
minetest \- Multiplayer infinite-world block sandbox
.SH SYNOPSIS
.B minetest
[ OPTION ... ]
.SH DESCRIPTION
.B Minetest
is one of the first InfiniMiner/Minecraft(/whatever) inspired games (started October 2010), with a goal of taking the survival multiplayer gameplay to a slightly different direction.
.PP
The main design philosophy is to keep it technically simple, stable and portable. It will be kept lightweight enough to run on fairly old hardware.
.SH OPTIONS
.TP
\-\-address <value>
Address to connect to
.TP
\-\-config <value>
Load configuration from specified file
.TP
\-\-disable\-unittests
Disable unit tests
.TP
\-\-enable\-unittests
Enable unit tests
.TP
\-\-gameid <value>
Set gameid
.TP
\-\-go
Disable main menu
.TP
\-\-help
Show allowed options
.TP
\-\-logfile <value>
Set logfile path (debug.txt)
.TP
\-\-map\-dir <value>
Same as --world (deprecated)
.TP
\-\-name <value>
Set player name
.TP
\-\-password <value>
Set password
.TP
\-\-port <value>
Set network port (UDP) to use
.TP
\-\-random\-input
Enable random user input, for testing
.TP
\-\-server
Run dedicated server
.TP
\-\-speedtests
Run speed tests
.TP
\-\-verbose
Print more information to console
.TP
\-\-world <value>
Set world path
.SH BUGS
Please report all bugs to Perttu Ahola <celeron55@gmail.com>.
.SH AUTHOR
.PP
Perttu Ahola <celeron55@gmail.com>
and contributors.
.PP
This man page was originally written by
Juhani Numminen <juhaninumminen0@gmail.com>.
.SH WWW
http://c55.me/minetest/
.SH "SEE ALSO"
.BR minetestserver(6)

64
doc/minetestserver.6 Normal file
View File

@@ -0,0 +1,64 @@
.\" Minetestserver man page
.TH minetestserver 6 "11 March 2012" "" ""
.SH NAME
minetestserver \- Minetest server
.SH SYNOPSIS
.B minetestserver
[ OPTION ... ]
.SH DESCRIPTION
.B Minetest
is one of the first InfiniMiner/Minecraft(/whatever) inspired games (started October 2010), with a goal of taking the survival multiplayer gameplay to a slightly different direction.
.PP
The main design philosophy is to keep it technically simple, stable and portable. It will be kept lightweight enough to run on fairly old hardware.
.SH OPTIONS
.TP
\-\-config <value>
Load configuration from specified file
.TP
\-\-disable\-unittests
Disable unit tests
.TP
\-\-enable\-unittests
Enable unit tests
.TP
\-\-gameid <value>
Set gameid
.TP
\-\-help
Show allowed options
.TP
\-\-logfile <value>
Set logfile path (debug.txt)
.TP
\-\-map\-dir <value>
Same as --world (deprecated)
.TP
\-\-port <value>
Set network port (UDP) to use
.TP
\-\-verbose
Print more information to console
.TP
\-\-world <value>
Set world path
.SH BUGS
Please report all bugs to Perttu Ahola <celeron55@gmail.com>.
.SH AUTHOR
.PP
Perttu Ahola <celeron55@gmail.com>
and contributors.
.PP
This man page was originally written by
Juhani Numminen <juhaninumminen0@gmail.com>.
.SH WWW
http://c55.me/minetest/
.SH "SEE ALSO"
.BR minetest(6)

View File

@@ -42,7 +42,7 @@ Initialization:
u8 channel = 0
# Control packet header
u8 type = TYPE_CONTROL = 0
u8 controltype = CONTROLTYPE_DISCO = 2
u8 controltype = CONTROLTYPE_DISCO = 3
- Here's a quick untested connect-disconnect done in PHP:
# host: ip of server (use gethostbyname(hostname) to get from a dns name)
@@ -61,7 +61,7 @@ function check_if_minetestserver_up($host, $port)
$peer_id = substr($buf, 9, 2);
# Disconnect
$buf = "\x4f\x45\x74\x03".$peer_id."\x00\x00\x02";
$buf = "\x4f\x45\x74\x03".$peer_id."\x00\x00\x03";
socket_sendto($socket, $buf, strlen($buf), 0, $host, $port);
socket_close($socket);

271
genmap.py
View File

@@ -1,271 +0,0 @@
#!/usr/bin/python2
# This is an example script that generates some valid map data.
import struct
import random
import os
import sys
import zlib
import array
from pnoise import pnoise
# Old directory format:
# world/sectors/XXXXZZZZ/YYYY
# XXXX,YYYY,ZZZZ = coordinates in hexadecimal
# fffe = -2
# ffff = -1
# 0000 = 0
# 0001 = 1
#
# New directory format:
# world/sectors2/XXX/ZZZ/YYYY
# XXX,YYYY,ZZZ = coordinates in hexadecimal
# fffe = -2
# ffff = -1
# 0000 = 0
# 0001 = 1
# ffe = -2
# fff = -1
# 000 = 0
# 001 = 1
#
# For more proper file format documentation, refer to mapformat.txt
# For node type documentation, refer to mapnode.h
# NodeMetadata documentation is not complete, refer to nodemeta.cpp
#
# Seed for generating terrain
SEED = 0
# 0=old, 1=new
SECTOR_DIR_FORMAT = 1
mapdir = "world"
def to4h(i):
s = "";
s += '{0:1x}'.format((i>>12) & 0x000f)
s += '{0:1x}'.format((i>>8) & 0x000f)
s += '{0:1x}'.format((i>>4) & 0x000f)
s += '{0:1x}'.format((i>>0) & 0x000f)
return s
def to3h(i):
s = "";
s += '{0:1x}'.format((i>>8) & 0x000f)
s += '{0:1x}'.format((i>>4) & 0x000f)
s += '{0:1x}'.format((i>>0) & 0x000f)
return s
def get_sector_dir(px, pz):
global SECTOR_DIR_FORMAT
if SECTOR_DIR_FORMAT == 0:
return "/sectors/"+to4h(px)+to4h(pz)
elif SECTOR_DIR_FORMAT == 1:
return "/sectors2/"+to3h(px)+"/"+to3h(pz)
else:
assert(0)
def getrand_air_stone():
i = random.randrange(0,2)
if i==0:
return 0
return 254
# 3-dimensional vector (position)
class v3:
def __init__(self, x=0, y=0, z=0):
self.X = x
self.Y = y
self.Z = z
class NodeMeta:
def __init__(self, type_id, data):
self.type_id = type_id
self.data = data
class StaticObject:
def __init__(self):
self.type_id = 0
self.data = ""
def ser_u16(i):
return chr((i>>8)&0xff) + chr((i>>0)&0xff)
def ser_u32(i):
return (chr((i>>24)&0xff) + chr((i>>16)&0xff)
+ chr((i>>8)&0xff) + chr((i>>0)&0xff))
# A 16x16x16 chunk of map
class MapBlock:
def __init__(self):
self.content = array.array('B')
self.param1 = array.array('B')
self.param2 = array.array('B')
for i in range(16*16*16):
# Initialize to air
self.content.append(254)
# Full light on sunlight, none when no sunlight
self.param1.append(15)
# No additional parameters
self.param2.append(0)
# key = v3 pos
# value = NodeMeta
self.nodemeta = {}
# key = v3 pos
# value = StaticObject
self.static_objects = {}
def set_content(self, v3, b):
self.content[v3.Z*16*16+v3.Y*16+v3.X] = b
def set_param1(self, v3, b):
self.param1[v3.Z*16*16+v3.Y*16+v3.X] = b
def set_param2(self, v3, b):
self.param2[v3.Z*16*16+v3.Y*16+v3.X] = b
# Get data for serialization. Returns a string.
def serialize_data(self):
s = ""
for i in range(16*16*16):
s += chr(self.content[i])
for i in range(16*16*16):
s += chr(self.param1[i])
for i in range(16*16*16):
s += chr(self.param2[i])
return s
def serialize_nodemeta(self):
s = ""
s += ser_u16(1)
s += ser_u16(len(self.nodemeta))
for pos, meta in self.nodemeta.items():
pos_i = pos.Z*16*16 + pos.Y*16 + pos.X
s += ser_u16(pos_i)
s += ser_u16(meta.type_id)
s += ser_u16(len(meta.data))
s += meta.data
return s
def serialize_staticobj(self):
s = ""
s += chr(0)
s += ser_u16(len(self.static_objects))
for pos, obj in self.static_objects.items():
pos_i = pos.Z*16*16 + pos.Y*16 + pos.X
s += ser_s32(pos.X*1000)
s += ser_s32(pos.Y*1000)
s += ser_s32(pos.Z*1000)
s += ser_u16(obj.type_id)
s += ser_u16(len(obj.data))
s += obj.data
return s
def writeblock(mapdir, px,py,pz, block):
sectordir = mapdir + get_sector_dir(px, pz);
try:
os.makedirs(sectordir)
except OSError:
pass
path = sectordir+"/"+to4h(py)
print("writing block file "+path)
f = open(sectordir+"/"+to4h(py), "wb")
if f == None:
return
# version
version = 17
f.write(struct.pack('B', version))
# flags
# 0x01=is_undg, 0x02=dn_diff, 0x04=lighting_expired
flags = 0 + 0x02 + 0x04
f.write(struct.pack('B', flags))
# data
c_obj = zlib.compressobj()
c_obj.compress(block.serialize_data())
f.write(struct.pack('BB', 0x78, 0x9c)) # zlib magic number
f.write(c_obj.flush())
# node metadata
c_obj = zlib.compressobj()
c_obj.compress(block.serialize_nodemeta())
f.write(struct.pack('BB', 0x78, 0x9c)) # zlib magic number
f.write(c_obj.flush())
# mapblockobject count
f.write(ser_u16(0))
# static objects
f.write(block.serialize_staticobj())
# timestamp
f.write(ser_u32(0xffffffff))
f.close()
for z0 in range(-1,3):
for x0 in range(-1,3):
for y0 in range(-1,3):
print("generating block "+str(x0)+","+str(y0)+","+str(z0))
#v3 blockp = v3(x0,y0,z0)
# Create a MapBlock
block = MapBlock()
# Generate stuff in it
for z in range(0,16):
for x in range(0,16):
h = 20.0*pnoise((x0*16+x)/100.,(z0*16+z)/100.,SEED+0)
h += 5.0*pnoise((x0*16+x)/25.,(z0*16+z)/25.,SEED+0)
if pnoise((x0*16+x)/25.,(z0*16+z)/25.,SEED+92412) > 0.05:
h += 10
#print("r="+str(r))
# This enables comparison by ==
h = int(h)
for y in range(0,16):
p = v3(x,y,z)
b = 254
y1 = y0*16+y
if y1 <= h-3:
b = 0 #stone
elif y1 <= h and y1 <= 0:
b = 8 #mud
elif y1 == h:
b = 1 #grass
elif y1 < h:
b = 8 #mud
elif y1 <= 1:
b = 9 #water
# Material content
block.set_content(p, b)
# Place a sign at the center at surface level.
# Placing a sign means placing the sign node and
# adding node metadata to the mapblock.
if x == 8 and z == 8 and y0*16 <= h-1 and (y0+1)*16-1 > h:
p = v3(8,h+1-y0*16,8)
# 14 = Sign
content_type = 14
block.set_content(p, content_type)
# This places the sign to the bottom of the cube.
# Working values: 0x01, 0x02, 0x04, 0x08, 0x10, 0x20
block.set_param2(p, 0x08)
# Then add metadata to hold the text of the sign
s = "Hello at sector ("+str(x0)+","+str(z0)+")"
meta = NodeMeta(content_type, ser_u16(len(s))+s)
block.nodemeta[p] = meta
# Write it on disk
writeblock(mapdir, x0,y0,z0, block)
#END

View File

@@ -1,67 +0,0 @@
#!/bin/sh
PROJECT_NAME=minetest-delta
PACKAGEDIR=../$PROJECT_NAME-packages
PACKAGENAME=$PROJECT_NAME-binary-`date +%y%m%d%H%M%S`
PACKAGEPATH=$PACKAGEDIR/$PACKAGENAME
mkdir -p $PACKAGEPATH
mkdir -p $PACKAGEPATH/bin
mkdir -p $PACKAGEPATH/data
mkdir -p $PACKAGEPATH/doc
mkdir -p $PACKAGEPATH/locale/de/LC_MESSAGES/
cp minetest.conf.example $PACKAGEPATH/
cp bin/$PROJECT_NAME.exe $PACKAGEPATH/bin/
cp bin/Irrlicht.dll $PACKAGEPATH/bin/
cp bin/zlibwapi.dll $PACKAGEPATH/bin/
#cp bin/test $PACKAGEPATH/bin/
#cp bin/fasttest $PACKAGEPATH/bin/
#cp bin/server $PACKAGEPATH/bin/
#cp ../irrlicht/irrlicht-1.7.1/lib/Linux/libIrrlicht.a $PACKAGEPATH/bin/
#cp ../jthread/jthread-1.2.1/src/.libs/libjthread-1.2.1.so $PACKAGEPATH/bin/
cp -r data/fontlucida.png $PACKAGEPATH/data/
cp -r data/player.png $PACKAGEPATH/data/
cp -r data/player_back.png $PACKAGEPATH/data/
cp -r data/stone.png $PACKAGEPATH/data/
cp -r data/grass.png $PACKAGEPATH/data/
cp -r data/grass_footsteps.png $PACKAGEPATH/data/
cp -r data/water.png $PACKAGEPATH/data/
cp -r data/tree.png $PACKAGEPATH/data/
cp -r data/leaves.png $PACKAGEPATH/data/
cp -r data/mese.png $PACKAGEPATH/data/
cp -r data/cloud.png $PACKAGEPATH/data/
cp -r data/sign.png $PACKAGEPATH/data/
cp -r data/sign_back.png $PACKAGEPATH/data/
cp -r data/rat.png $PACKAGEPATH/data/
cp -r data/mud.png $PACKAGEPATH/data/
cp -r data/torch.png $PACKAGEPATH/data/
cp -r data/torch_on_floor.png $PACKAGEPATH/data/
cp -r data/torch_on_ceiling.png $PACKAGEPATH/data/
cp -r data/tree_top.png $PACKAGEPATH/data/
cp -r data/coalstone.png $PACKAGEPATH/data/
cp -r data/crack.png $PACKAGEPATH/data/
cp -r data/wood.png $PACKAGEPATH/data/
cp -r data/stick.png $PACKAGEPATH/data/
cp -r data/tool_wpick.png $PACKAGEPATH/data/
cp -r data/tool_stpick.png $PACKAGEPATH/data/
cp -r data/tool_mesepick.png $PACKAGEPATH/data/
cp -r data/grass_side.png $PACKAGEPATH/data/
cp -r data/lump_of_coal.png $PACKAGEPATH/data/
cp -r data/lump_of_iron.png $PACKAGEPATH/data/
cp -r data/mineral_coal.png $PACKAGEPATH/data/
cp -r data/mineral_iron.png $PACKAGEPATH/data/
cp -r data/sand.png $PACKAGEPATH/data/
#cp -r data/pauseMenu.gui $PACKAGEPATH/data/
cp -r doc/README.txt $PACKAGEPATH/doc/README.txt
cp -r locale/de/LC_MESSAGES/$PROJECT_NAME.mo $PACKAGEPATH/locale/de/LC_MESSAGES/
cd $PACKAGEDIR
rm $PACKAGENAME.zip
zip -r $PACKAGENAME.zip $PACKAGENAME

BIN
minetest-icon-24x24.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 913 B

View File

@@ -39,14 +39,17 @@
#keymap_jump = KEY_SPACE
#keymap_sneak = KEY_LSHIFT
#keymap_inventory = KEY_KEY_I
# Go down ladder / go down in fly mode / go fast in fast mode
#keymap_special1 = KEY_KEY_E
#keymap_chat = KEY_KEY_T
#keymap_cmd = /
#keyman_console = KEY_F10
#keymap_rangeselect = KEY_KEY_R
#keymap_freemove = KEY_KEY_K
#keymap_fastmove = KEY_KEY_J
#keymap_frametime_graph = KEY_F1
#keymap_screenshot = KEY_F12
# Some (temporary) keys for debugging
#keymap_special1 = KEY_KEY_E
#keymap_print_debug_stacks = KEY_KEY_P
# The desired FPS
@@ -58,8 +61,8 @@
#viewing_range_nodes_max = 300
#viewing_range_nodes_min = 25
# Initial window size
screenW# = 800
screenH# = 600
#screenW = 800
#screenH = 600
# Address to connect to (#blank = start local server)
#address =
# Enable random user input, for testing
@@ -99,45 +102,70 @@ screenH# = 600
#farmesh_distance = 40
# Enable/disable clouds
#enable_clouds = true
# Don't draw stone (for testing)
#invisible_stone = false
# Path for screenshots
#screenshot_path = .
# Amount of view bobbing (0 = no view bobbing, 1.0 = normal, 2.0 = double)
#view_bobbing_amount = 1.0
# In-game chat console background color (R,G,B)
#console_color = (0,0,0)
# In-game chat console background alpha (opaqueness, between 0 and 255)
#console_alpha = 200
#
# Server stuff
#
# Default game (default when creating a new world)
#default_game = mesetint
# Map directory (everything in the world is stored here)
#map-#dir = /custom/map
#map-dir = /custom/map
# Message of the Day
#motd = Welcome to this awesome Minetest server!
# Maximum number of players connected simultaneously
#max_users = 20
# Set to false to allow old clients to connect
#strict_protocol_version_checking = true
# Set to true to enable creative mode (unlimited inventory)
#creative_mode = false
# Enable players getting damage and dying
#enable_damage = false
# Despawn all non-peaceful mobs
#only_peaceful_mobs = false
# A chosen map seed for a new map, leave empty for random
#fixed_map_seed =
# Gives some stuff to players at the beginning
#give_initial_stuff = false
# New users need to input this password
#default_password =
# Available privileges: build, teleport, settime, privs, shout
#default_privs = build, shout
# Whether players are transferred to client without any range limit
#unlimited_player_transfer_distance = true
# Whether to enable players killing each other
#enable_pvp = true
# Set to true to enable experimental features or stuff that is tested
# (varies from version to version, usually not useful at all)
#enable_experimental = false
# Profiler data print interval. #0 = disable.
#profiler_print_interval = 0
#enable_mapgen_debug_info = false
# Player and object positions are sent at intervals specified by this
#objectdata_interval = 0.2
#active_object_range = 2
# from how far client knows about objects
#active_object_send_range_blocks = 3
# how large area of blocks are subject to the active block stuff (active = objects are loaded and ABMs run)
#active_block_range = 2
# how many blocks are flying in the wire simultaneously per client
#max_simultaneous_block_sends_per_client = 2
# how many blocks are flying in the wire simultaneously per server
#max_simultaneous_block_sends_server_total = 8
#max_block_send_distance = 8
#max_block_generate_distance = 8
#max_block_send_distance = 7
#max_block_generate_distance = 5
#time_send_interval = 20
# Length of day/night cycle. 72=20min, 360=4min, 1=24hour
# Length of day/night cycle. 72=20min, 360=4min, 1=24hour, 0=day/night/whatever stays unchanged
#time_speed = 72
#server_unload_unused_data_timeout = 60
#server_map_save_interval = 60
#server_unload_unused_data_timeout = 29
#server_map_save_interval = 5.3
# To reduce lag, block transfers are slowed down when a player is building something.
# This determines how long they are slowed down after placing or removing a node.
#full_block_send_enable_min_time_from_building = 2.0
# Set to true to enable experimental features or stuff that is tested
# (varies from version to version, usually not useful at all)
#enable_experimental = false

View File

@@ -1,25 +0,0 @@
0 128 128 128
1 107 134 51
2 39 66 106
3 255 255 0
4 86 58 31
5 48 95 8
6 102 129 38
7 178 178 0
8 101 84 36
9 39 66 106
12 104 78 42
13 210 194 156
14 117 86 41
15 128 79 0
16 118 118 118
18 123 123 123
19 199 199 199
20 183 183 222
21 103 78 42
22 219 202 178
23 78 154 6
24 204 0 0
25 211 215 207
26 138 226 52
27 104 78 42

View File

@@ -1,275 +0,0 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Made by j0gge, modified by celeron55
# This program is free software. It comes without any warranty, to
# the extent permitted by applicable law. You can redistribute it
# and/or modify it under the terms of the Do What The Fuck You Want
# To Public License, Version 2, as published by Sam Hocevar. See
# http://sam.zoy.org/wtfpl/COPYING for more details.
# Requires Python Imaging Library: http://www.pythonware.com/products/pil/
# Some speed-up: ...lol, actually it slows it down.
#import psyco ; psyco.full()
#from psyco.classes import *
import zlib
import Image, ImageDraw
import os
import string
import time
def hex_to_int(h):
i = int(h,16)
if(i > 2047):
i-=4096
return i
def hex4_to_int(h):
i = int(h,16)
if(i > 32767):
i-=65536
return i
def int_to_hex3(i):
if(i < 0):
return "%03X" % (i + 4096)
else:
return "%03X" % i
def int_to_hex4(i):
if(i < 0):
return "%04X" % (i + 65536)
else:
return "%04X" % i
def limit(i,l,h):
if(i>h):
i=h
if(i<l):
i=l
return i
# Fix these!
path="../map/"
output="map.png"
sector_xmin = -1000/16
sector_xmax = 1000/16
sector_zmin = -1000/16
sector_zmax = 1000/16
# Load color information for the blocks.
colors = {}
f = file("colors.txt")
for line in f:
values = string.split(line)
colors[int(values[0])] = (int(values[1]), int(values[2]), int(values[3]))
f.close()
xlist = []
zlist = []
# List all sectors to memory and calculate the width and heigth of the resulting picture.
if os.path.exists(path + "sectors2"):
for filename in os.listdir(path + "sectors2"):
for filename2 in os.listdir(path + "sectors2/" + filename):
x = hex_to_int(filename)
z = hex_to_int(filename2)
if x < sector_xmin or x > sector_xmax:
continue
if z < sector_zmin or z > sector_zmax:
continue
xlist.append(x)
zlist.append(z)
if os.path.exists(path + "sectors"):
for filename in os.listdir(path + "sectors"):
x = hex4_to_int(filename[:4])
z = hex4_to_int(filename[-4:])
if x < sector_xmin or x > sector_xmax:
continue
if z < sector_zmin or z > sector_zmax:
continue
xlist.append(x)
zlist.append(z)
w = (max(xlist) - min(xlist)) * 16 + 16
h = (max(zlist) - min(zlist)) * 16 + 16
print "w="+str(w)+" h="+str(h)
im = Image.new("RGB", (w, h), "white")
impix = im.load()
stuff={}
starttime = time.time()
# Go through all sectors.
for n in range(len(xlist)):
#if n > 500:
# break
if n % 200 == 0:
nowtime = time.time()
dtime = nowtime - starttime
n_per_second = 1.0 * n / dtime
if n_per_second != 0:
seconds_per_n = 1.0 / n_per_second
time_guess = seconds_per_n * len(xlist)
remaining_s = time_guess - dtime
remaining_minutes = int(remaining_s / 60)
remaining_s -= remaining_minutes * 60;
print("Processing sector "+str(n)+" of "+str(len(xlist))
+" ("+str(round(100.0*n/len(xlist), 1))+"%)"
+" (ETA: "+str(remaining_minutes)+"m "
+str(int(remaining_s))+"s)")
xpos = xlist[n]
zpos = zlist[n]
xhex = int_to_hex3(xpos)
zhex = int_to_hex3(zpos)
xhex4 = int_to_hex4(xpos)
zhex4 = int_to_hex4(zpos)
sector1 = xhex4.lower() + zhex4.lower()
sector2 = xhex.lower() + "/" + zhex.lower()
ylist=[]
sectortype = ""
try:
for filename in os.listdir(path + "sectors/" + sector1):
if(filename != "meta"):
pos = int(filename,16)
if(pos > 32767):
pos-=65536
ylist.append(pos)
sectortype = "old"
except OSError:
pass
if sectortype != "old":
try:
for filename in os.listdir(path + "sectors2/" + sector2):
if(filename != "meta"):
pos = int(filename,16)
if(pos > 32767):
pos-=65536
ylist.append(pos)
sectortype = "new"
except OSError:
pass
if sectortype == "":
continue
ylist.sort()
# Make a list of pixels of the sector that are to be looked for.
pixellist = []
for x in range(16):
for y in range(16):
pixellist.append((x,y))
# Go through the Y axis from top to bottom.
for ypos in reversed(ylist):
yhex = int_to_hex4(ypos)
filename = ""
if sectortype == "old":
filename = path + "sectors/" + sector1 + "/" + yhex.lower()
else:
filename = path + "sectors2/" + sector2 + "/" + yhex.lower()
f = file(filename, "rb")
# Let's just memorize these even though it's not really necessary.
version = f.read(1)
flags = f.read(1)
dec_o = zlib.decompressobj()
try:
mapdata = dec_o.decompress(f.read())
except:
mapdata = []
f.close()
if(len(mapdata)<4096):
print "bad: " + xhex+zhex+"/"+yhex + " " + len(mapdata)
else:
chunkxpos=xpos*16
chunkypos=ypos*16
chunkzpos=zpos*16
for (x,z) in reversed(pixellist):
for y in reversed(range(16)):
datapos=x+y*16+z*256
if(ord(mapdata[datapos])!=254):
try:
pixellist.remove((x,z))
# Memorize information on the type and height of the block and for drawing the picture.
stuff[(chunkxpos+x,chunkzpos+z)]=(chunkypos+y,ord(mapdata[datapos]))
break
except:
print "strange block: " + xhex+zhex+"/"+yhex + " x: " + str(x) + " y: " + str(y) + " z: " + str(z) + " block: " + str(ord(mapdata[datapos]))
# After finding all the pixeld in the sector, we can move on to the next sector without having to continue the Y axis.
if(len(pixellist)==0):
break
print "Drawing image"
# Drawing the picture
starttime = time.time()
n = 0
minx = min(xlist)
minz = min(zlist)
for (x,z) in stuff.iterkeys():
if n % 500000 == 0:
nowtime = time.time()
dtime = nowtime - starttime
n_per_second = 1.0 * n / dtime
if n_per_second != 0:
listlen = len(stuff)
seconds_per_n = 1.0 / n_per_second
time_guess = seconds_per_n * listlen
remaining_s = time_guess - dtime
remaining_minutes = int(remaining_s / 60)
remaining_s -= remaining_minutes * 60;
print("Drawing pixel "+str(n)+" of "+str(listlen)
+" ("+str(round(100.0*n/listlen, 1))+"%)"
+" (ETA: "+str(remaining_minutes)+"m "
+str(int(remaining_s))+"s)")
n += 1
(r,g,b)=colors[stuff[(x,z)][1]]
# Comparing heights of a couple of adjacent blocks and changing brightness accordingly.
try:
y1=stuff[(x-1,z)][0]
y2=stuff[(x,z-1)][0]
y=stuff[(x,z)][0]
d=(y-y1+y-y2)*12
if(d>36):
d=36
r=limit(r+d,0,255)
g=limit(g+d,0,255)
b=limit(b+d,0,255)
except:
pass
#impix[w-1-(x-minx*16),h-1-(z-minz*16)]=(r,g,b)
impix[x-minx*16,h-1-(z-minz*16)]=(r,g,b)
# Flip the picture to make it right and save.
#print "Transposing"
#im=im.transpose(Image.FLIP_TOP_BOTTOM)
print "Saving"
im.save(output)

File diff suppressed because it is too large Load Diff

11
misc/minetest.desktop Normal file
View File

@@ -0,0 +1,11 @@
[Desktop Entry]
Name=Minetest
GenericName=Minetest
Comment=Multiplayer infinite-world block sandbox
Exec=minetest
Icon=minetest-icon
Terminal=false
Type=Application
Categories=Game;
StartupNotify=false

View File

@@ -1,410 +0,0 @@
/*
Minetest-c55
Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include <math.h>
#include "noise.h"
#include <iostream>
#include "debug.h"
#define NOISE_MAGIC_X 1619
#define NOISE_MAGIC_Y 31337
#define NOISE_MAGIC_Z 52591
#define NOISE_MAGIC_SEED 1013
double cos_lookup[16] = {
1.0,0.9238,0.7071,0.3826,0,-0.3826,-0.7071,-0.9238,
1.0,-0.9238,-0.7071,-0.3826,0,0.3826,0.7071,0.9238
};
double dotProduct(double vx, double vy, double wx, double wy){
return vx*wx+vy*wy;
}
double easeCurve(double t){
return 6*pow(t,5)-15*pow(t,4)+10*pow(t,3);
}
double linearInterpolation(double x0, double x1, double t){
return x0+(x1-x0)*t;
}
double biLinearInterpolation(double x0y0, double x1y0, double x0y1, double x1y1, double x, double y){
double tx = easeCurve(x);
double ty = easeCurve(y);
/*double tx = x;
double ty = y;*/
double u = linearInterpolation(x0y0,x1y0,tx);
double v = linearInterpolation(x0y1,x1y1,tx);
return linearInterpolation(u,v,ty);
}
double triLinearInterpolation(
double v000, double v100, double v010, double v110,
double v001, double v101, double v011, double v111,
double x, double y, double z)
{
/*double tx = easeCurve(x);
double ty = easeCurve(y);
double tz = easeCurve(z);*/
double tx = x;
double ty = y;
double tz = z;
return(
v000*(1-tx)*(1-ty)*(1-tz) +
v100*tx*(1-ty)*(1-tz) +
v010*(1-tx)*ty*(1-tz) +
v110*tx*ty*(1-tz) +
v001*(1-tx)*(1-ty)*tz +
v101*tx*(1-ty)*tz +
v011*(1-tx)*ty*tz +
v111*tx*ty*tz
);
}
double noise2d(int x, int y, int seed)
{
int n = (NOISE_MAGIC_X * x + NOISE_MAGIC_Y * y
+ NOISE_MAGIC_SEED * seed) & 0x7fffffff;
n = (n>>13)^n;
n = (n * (n*n*60493+19990303) + 1376312589) & 0x7fffffff;
return 1.0 - (double)n/1073741824;
}
double noise3d(int x, int y, int z, int seed)
{
int n = (NOISE_MAGIC_X * x + NOISE_MAGIC_Y * y + NOISE_MAGIC_Z * z
+ NOISE_MAGIC_SEED * seed) & 0x7fffffff;
n = (n>>13)^n;
n = (n * (n*n*60493+19990303) + 1376312589) & 0x7fffffff;
return 1.0 - (double)n/1073741824;
}
#if 0
double noise2d_gradient(double x, double y, int seed)
{
// Calculate the integer coordinates
int x0 = (x > 0.0 ? (int)x : (int)x - 1);
int y0 = (y > 0.0 ? (int)y : (int)y - 1);
// Calculate the remaining part of the coordinates
double xl = x - (double)x0;
double yl = y - (double)y0;
// Calculate random cosine lookup table indices for the integer corners.
// They are looked up as unit vector gradients from the lookup table.
int n00 = (int)((noise2d(x0, y0, seed)+1)*8);
int n10 = (int)((noise2d(x0+1, y0, seed)+1)*8);
int n01 = (int)((noise2d(x0, y0+1, seed)+1)*8);
int n11 = (int)((noise2d(x0+1, y0+1, seed)+1)*8);
// Make a dot product for the gradients and the positions, to get the values
double s = dotProduct(cos_lookup[n00], cos_lookup[(n00+12)%16], xl, yl);
double u = dotProduct(-cos_lookup[n10], cos_lookup[(n10+12)%16], 1.-xl, yl);
double v = dotProduct(cos_lookup[n01], -cos_lookup[(n01+12)%16], xl, 1.-yl);
double w = dotProduct(-cos_lookup[n11], -cos_lookup[(n11+12)%16], 1.-xl, 1.-yl);
// Interpolate between the values
return biLinearInterpolation(s,u,v,w,xl,yl);
}
#endif
#if 1
double noise2d_gradient(double x, double y, int seed)
{
// Calculate the integer coordinates
int x0 = (x > 0.0 ? (int)x : (int)x - 1);
int y0 = (y > 0.0 ? (int)y : (int)y - 1);
// Calculate the remaining part of the coordinates
double xl = x - (double)x0;
double yl = y - (double)y0;
// Get values for corners of cube
double v00 = noise2d(x0, y0, seed);
double v10 = noise2d(x0+1, y0, seed);
double v01 = noise2d(x0, y0+1, seed);
double v11 = noise2d(x0+1, y0+1, seed);
// Interpolate
return biLinearInterpolation(v00,v10,v01,v11,xl,yl);
}
#endif
double noise3d_gradient(double x, double y, double z, int seed)
{
// Calculate the integer coordinates
int x0 = (x > 0.0 ? (int)x : (int)x - 1);
int y0 = (y > 0.0 ? (int)y : (int)y - 1);
int z0 = (z > 0.0 ? (int)z : (int)z - 1);
// Calculate the remaining part of the coordinates
double xl = x - (double)x0;
double yl = y - (double)y0;
double zl = z - (double)z0;
// Get values for corners of cube
double v000 = noise3d(x0, y0, z0, seed);
double v100 = noise3d(x0+1, y0, z0, seed);
double v010 = noise3d(x0, y0+1, z0, seed);
double v110 = noise3d(x0+1, y0+1, z0, seed);
double v001 = noise3d(x0, y0, z0+1, seed);
double v101 = noise3d(x0+1, y0, z0+1, seed);
double v011 = noise3d(x0, y0+1, z0+1, seed);
double v111 = noise3d(x0+1, y0+1, z0+1, seed);
// Interpolate
return triLinearInterpolation(v000,v100,v010,v110,v001,v101,v011,v111,xl,yl,zl);
}
double noise2d_perlin(double x, double y, int seed,
int octaves, double persistence)
{
double a = 0;
double f = 1.0;
double g = 1.0;
for(int i=0; i<octaves; i++)
{
a += g * noise2d_gradient(x*f, y*f, seed+i);
f *= 2.0;
g *= persistence;
}
return a;
}
double noise2d_perlin_abs(double x, double y, int seed,
int octaves, double persistence)
{
double a = 0;
double f = 1.0;
double g = 1.0;
for(int i=0; i<octaves; i++)
{
a += g * fabs(noise2d_gradient(x*f, y*f, seed+i));
f *= 2.0;
g *= persistence;
}
return a;
}
double noise3d_perlin(double x, double y, double z, int seed,
int octaves, double persistence)
{
double a = 0;
double f = 1.0;
double g = 1.0;
for(int i=0; i<octaves; i++)
{
a += g * noise3d_gradient(x*f, y*f, z*f, seed+i);
f *= 2.0;
g *= persistence;
}
return a;
}
double noise3d_perlin_abs(double x, double y, double z, int seed,
int octaves, double persistence)
{
double a = 0;
double f = 1.0;
double g = 1.0;
for(int i=0; i<octaves; i++)
{
a += g * fabs(noise3d_gradient(x*f, y*f, z*f, seed+i));
f *= 2.0;
g *= persistence;
}
return a;
}
// -1->0, 0->1, 1->0
double contour(double v)
{
v = fabs(v);
if(v >= 1.0)
return 0.0;
return (1.0-v);
}
double noise3d_param(const NoiseParams &param, double x, double y, double z)
{
double s = param.pos_scale;
x /= s;
y /= s;
z /= s;
if(param.type == NOISE_PERLIN)
{
return param.noise_scale*noise3d_perlin(x,y,z, param.seed,
param.octaves,
param.persistence);
}
else if(param.type == NOISE_PERLIN_ABS)
{
return param.noise_scale*noise3d_perlin_abs(x,y,z, param.seed,
param.octaves,
param.persistence);
}
else if(param.type == NOISE_PERLIN_CONTOUR)
{
return contour(param.noise_scale*noise3d_perlin(x,y,z,
param.seed, param.octaves,
param.persistence));
}
else if(param.type == NOISE_PERLIN_CONTOUR_FLIP_YZ)
{
return contour(param.noise_scale*noise3d_perlin(x,z,y,
param.seed, param.octaves,
param.persistence));
}
else assert(0);
}
/*
NoiseBuffer
*/
NoiseBuffer::NoiseBuffer():
m_data(NULL)
{
}
NoiseBuffer::~NoiseBuffer()
{
clear();
}
void NoiseBuffer::clear()
{
if(m_data)
delete[] m_data;
m_data = NULL;
m_size_x = 0;
m_size_y = 0;
m_size_z = 0;
}
void NoiseBuffer::create(const NoiseParams &param,
double first_x, double first_y, double first_z,
double last_x, double last_y, double last_z,
double samplelength_x, double samplelength_y, double samplelength_z)
{
clear();
m_start_x = first_x - samplelength_x;
m_start_y = first_y - samplelength_y;
m_start_z = first_z - samplelength_z;
m_samplelength_x = samplelength_x;
m_samplelength_y = samplelength_y;
m_samplelength_z = samplelength_z;
m_size_x = (last_x - m_start_x)/samplelength_x + 2;
m_size_y = (last_y - m_start_y)/samplelength_y + 2;
m_size_z = (last_z - m_start_z)/samplelength_z + 2;
m_data = new double[m_size_x*m_size_y*m_size_z];
for(int x=0; x<m_size_x; x++)
for(int y=0; y<m_size_y; y++)
for(int z=0; z<m_size_z; z++)
{
double xd = (m_start_x + (double)x*m_samplelength_x);
double yd = (m_start_y + (double)y*m_samplelength_y);
double zd = (m_start_z + (double)z*m_samplelength_z);
double a = noise3d_param(param, xd,yd,zd);
intSet(x,y,z, a);
}
}
void NoiseBuffer::multiply(const NoiseParams &param)
{
assert(m_data != NULL);
for(int x=0; x<m_size_x; x++)
for(int y=0; y<m_size_y; y++)
for(int z=0; z<m_size_z; z++)
{
double xd = (m_start_x + (double)x*m_samplelength_x);
double yd = (m_start_y + (double)y*m_samplelength_y);
double zd = (m_start_z + (double)z*m_samplelength_z);
double a = noise3d_param(param, xd,yd,zd);
intMultiply(x,y,z, a);
}
}
// Deprecated
void NoiseBuffer::create(int seed, int octaves, double persistence,
bool abs,
double first_x, double first_y, double first_z,
double last_x, double last_y, double last_z,
double samplelength_x, double samplelength_y, double samplelength_z)
{
NoiseParams param;
param.type = abs ? NOISE_PERLIN_ABS : NOISE_PERLIN;
param.seed = seed;
param.octaves = octaves;
param.persistence = persistence;
create(param, first_x, first_y, first_z,
last_x, last_y, last_z,
samplelength_x, samplelength_y, samplelength_z);
}
void NoiseBuffer::intSet(int x, int y, int z, double d)
{
int i = m_size_x*m_size_y*z + m_size_x*y + x;
assert(i >= 0);
assert(i < m_size_x*m_size_y*m_size_z);
m_data[i] = d;
}
void NoiseBuffer::intMultiply(int x, int y, int z, double d)
{
int i = m_size_x*m_size_y*z + m_size_x*y + x;
assert(i >= 0);
assert(i < m_size_x*m_size_y*m_size_z);
m_data[i] = m_data[i] * d;
}
double NoiseBuffer::intGet(int x, int y, int z)
{
int i = m_size_x*m_size_y*z + m_size_x*y + x;
assert(i >= 0);
assert(i < m_size_x*m_size_y*m_size_z);
return m_data[i];
}
double NoiseBuffer::get(double x, double y, double z)
{
x -= m_start_x;
y -= m_start_y;
z -= m_start_z;
x /= m_samplelength_x;
y /= m_samplelength_y;
z /= m_samplelength_z;
// Calculate the integer coordinates
int x0 = (x > 0.0 ? (int)x : (int)x - 1);
int y0 = (y > 0.0 ? (int)y : (int)y - 1);
int z0 = (z > 0.0 ? (int)z : (int)z - 1);
// Calculate the remaining part of the coordinates
double xl = x - (double)x0;
double yl = y - (double)y0;
double zl = z - (double)z0;
// Get values for corners of cube
double v000 = intGet(x0, y0, z0);
double v100 = intGet(x0+1, y0, z0);
double v010 = intGet(x0, y0+1, z0);
double v110 = intGet(x0+1, y0+1, z0);
double v001 = intGet(x0, y0, z0+1);
double v101 = intGet(x0+1, y0, z0+1);
double v011 = intGet(x0, y0+1, z0+1);
double v111 = intGet(x0+1, y0+1, z0+1);
// Interpolate
return triLinearInterpolation(v000,v100,v010,v110,v001,v101,v011,v111,xl,yl,zl);
}

View File

@@ -1,108 +0,0 @@
/*
Minetest-c55
Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef NOISE_HEADER
#define NOISE_HEADER
double easeCurve(double t);
// Return value: -1 ... 1
double noise2d(int x, int y, int seed);
double noise3d(int x, int y, int z, int seed);
double noise2d_gradient(double x, double y, int seed);
double noise3d_gradient(double x, double y, double z, int seed);
double noise2d_perlin(double x, double y, int seed,
int octaves, double persistence);
double noise2d_perlin_abs(double x, double y, int seed,
int octaves, double persistence);
double noise3d_perlin(double x, double y, double z, int seed,
int octaves, double persistence);
double noise3d_perlin_abs(double x, double y, double z, int seed,
int octaves, double persistence);
enum NoiseType
{
NOISE_PERLIN,
NOISE_PERLIN_ABS,
NOISE_PERLIN_CONTOUR,
NOISE_PERLIN_CONTOUR_FLIP_YZ
};
struct NoiseParams
{
NoiseType type;
int seed;
int octaves;
double persistence;
double pos_scale;
double noise_scale; // Useful for contour noises
NoiseParams(NoiseType type_=NOISE_PERLIN, int seed_=0,
int octaves_=3, double persistence_=0.5,
double pos_scale_=100.0, double noise_scale_=1.0):
type(type_),
seed(seed_),
octaves(octaves_),
persistence(persistence_),
pos_scale(pos_scale_),
noise_scale(noise_scale_)
{
}
};
double noise3d_param(const NoiseParams &param, double x, double y, double z);
class NoiseBuffer
{
public:
NoiseBuffer();
~NoiseBuffer();
void clear();
void create(const NoiseParams &param,
double first_x, double first_y, double first_z,
double last_x, double last_y, double last_z,
double samplelength_x, double samplelength_y, double samplelength_z);
void multiply(const NoiseParams &param);
// Deprecated
void create(int seed, int octaves, double persistence,
bool abs,
double first_x, double first_y, double first_z,
double last_x, double last_y, double last_z,
double samplelength_x, double samplelength_y, double samplelength_z);
void intSet(int x, int y, int z, double d);
void intMultiply(int x, int y, int z, double d);
double intGet(int x, int y, int z);
double get(double x, double y, double z);
private:
double *m_data;
double m_start_x, m_start_y, m_start_z;
double m_samplelength_x, m_samplelength_y, m_samplelength_z;
int m_size_x, m_size_y, m_size_z;
};
#endif

View File

@@ -0,0 +1,345 @@
------------------------------------------------------------------
The ancient comment from the beginning of main.cpp is stored here.
------------------------------------------------------------------
/*
=============================== NOTES ==============================
NOTE: Things starting with TODO are sometimes only suggestions.
NOTE: iostream.imbue(std::locale("C")) is very slow
NOTE: Global locale is now set at initialization
NOTE: If VBO (EHM_STATIC) is used, remember to explicitly free the
hardware buffer (it is not freed automatically)
NOTE: A random to-do list saved here as documentation:
A list of "active blocks" in which stuff happens. (+=done)
+ Add a never-resetted game timer to the server
+ Add a timestamp value to blocks
+ The simple rule: All blocks near some player are "active"
- Do stuff in real time in active blocks
+ Handle objects
- Grow grass, delete leaves without a tree
- Spawn some mobs based on some rules
- Transform cobble to mossy cobble near water
- Run a custom script
- ...And all kinds of other dynamic stuff
+ Keep track of when a block becomes active and becomes inactive
+ When a block goes inactive:
+ Store objects statically to block
+ Store timer value as the timestamp
+ When a block goes active:
+ Create active objects out of static objects
- Simulate the results of what would have happened if it would have
been active for all the time
- Grow a lot of grass and so on
+ Initially it is fine to send information about every active object
to every player. Eventually it should be modified to only send info
about the nearest ones.
+ This was left to be done by the old system and it sends only the
nearest ones.
NOTE: Seeds in 1260:6c77e7dbfd29:
5721858502589302589:
Spawns you on a small sand island with a surface dungeon
2983455799928051958:
Enormous jungle + a surface dungeon at ~(250,0,0)
Old, wild and random suggestions that probably won't be done:
-------------------------------------------------------------
SUGG: If player is on ground, mainly fetch ground-level blocks
SUGG: Expose Connection's seqnums and ACKs to server and client.
- This enables saving many packets and making a faster connection
- This also enables server to check if client has received the
most recent block sent, for example.
SUGG: Add a sane bandwidth throttling system to Connection
SUGG: More fine-grained control of client's dumping of blocks from
memory
- ...What does this mean in the first place?
SUGG: A map editing mode (similar to dedicated server mode)
SUGG: Transfer more blocks in a single packet
SUGG: A blockdata combiner class, to which blocks are added and at
destruction it sends all the stuff in as few packets as possible.
SUGG: Make a PACKET_COMBINED which contains many subpackets. Utilize
it by sending more stuff in a single packet.
- Add a packet queue to RemoteClient, from which packets will be
combined with object data packets
- This is not exactly trivial: the object data packets are
sometimes very big by themselves
- This might not give much network performance gain though.
SUGG: Precalculate lighting translation table at runtime (at startup)
- This is not doable because it is currently hand-made and not
based on some mathematical function.
- Note: This has been changing lately
SUGG: A version number to blocks, which increments when the block is
modified (node add/remove, water update, lighting update)
- This can then be used to make sure the most recent version of
a block has been sent to client, for example
SUGG: Make the amount of blocks sending to client and the total
amount of blocks dynamically limited. Transferring blocks is the
main network eater of this system, so it is the one that has
to be throttled so that RTTs stay low.
SUGG: Meshes of blocks could be split into 6 meshes facing into
different directions and then only those drawn that need to be
SUGG: Background music based on cellular automata?
http://www.earslap.com/projectslab/otomata
SUGG: Simple light color information to air
SUGG: Server-side objects could be moved based on nodes to enable very
lightweight operation and simple AI
- Not practical; client would still need to show smooth movement.
SUGG: Make a system for pregenerating quick information for mapblocks, so
that the client can show them as cubes before they are actually sent
or even generated.
SUGG: Erosion simulation at map generation time
- This might be plausible if larger areas of map were pregenerated
without lighting (which is slow)
- Simulate water flows, which would carve out dirt fast and
then turn stone into gravel and sand and relocate it.
- How about relocating minerals, too? Coal and gold in
downstream sand and gravel would be kind of cool
- This would need a better way of handling minerals, mainly
to have mineral content as a separate field. the first
parameter field is free for this.
- Simulate rock falling from cliffs when water has removed
enough solid rock from the bottom
SUGG: For non-mapgen FarMesh: Add a per-sector database to store surface
stuff as simple flags/values
- Light?
- A building?
And at some point make the server send this data to the client too,
instead of referring to the noise functions
- Ground height
- Surface ground type
- Trees?
Gaming ideas:
-------------
- Aim for something like controlling a single dwarf in Dwarf Fortress
- The player could go faster by a crafting a boat, or riding an animal
- Random NPC traders. what else?
Game content:
-------------
- When furnace is destroyed, move items to player's inventory
- Add lots of stuff
- Glass blocks
- Growing grass, decaying leaves
- This can be done in the active blocks I guess.
- Lots of stuff can be done in the active blocks.
- Uh, is there an active block list somewhere? I think not. Add it.
- Breaking weak structures
- This can probably be accomplished in the same way as grass
- Player health points
- When player dies, throw items on map (needs better item-on-map
implementation)
- Cobble to get mossy if near water
- More slots in furnace source list, so that multiple ingredients
are possible.
- Keys to chests?
- The Treasure Guard; a big monster with a hammer
- The hammer does great damage, shakes the ground and removes a block
- You can drop on top of it, and have some time to attack there
before he shakes you off
- Maybe the difficulty could come from monsters getting tougher in
far-away places, and the player starting to need something from
there when time goes by.
- The player would have some of that stuff at the beginning, and
would need new supplies of it when it runs out
- A bomb
- A spread-items-on-map routine for the bomb, and for dying players
- Fighting:
- Proper sword swing simulation
- Player should get damage from colliding to a wall at high speed
Documentation:
--------------
Build system / running:
-----------------------
Networking and serialization:
-----------------------------
SUGG: Fix address to be ipv6 compatible
User Interface:
---------------
Graphics:
---------
SUGG: Combine MapBlock's face caches to so big pieces that VBO
can be used
- That is >500 vertices
- This is not easy; all the MapBlocks close to the player would
still need to be drawn separately and combining the blocks
would have to happen in a background thread
SUGG: Make fetching sector's blocks more efficient when rendering
sectors that have very large amounts of blocks (on client)
- Is this necessary at all?
SUGG: Draw cubes in inventory directly with 3D drawing commands, so that
animating them is easier.
SUGG: Option for enabling proper alpha channel for textures
TODO: Flowing water animation
TODO: A setting for enabling bilinear filtering for textures
TODO: Better control of draw_control.wanted_max_blocks
TODO: Further investigate the use of GPU lighting in addition to the
current one
TODO: Artificial (night) light could be more yellow colored than sunlight.
- This is technically doable.
- Also the actual colors of the textures could be made less colorful
in the dark but it's a bit more difficult.
SUGG: Somehow make the night less colorful
TODO: Occlusion culling
- At the same time, move some of the renderMap() block choosing code
to the same place as where the new culling happens.
- Shoot some rays per frame and when ready, make a new list of
blocks for usage of renderMap and give it a new pointer to it.
Configuration:
--------------
Client:
-------
TODO: Untie client network operations from framerate
- Needs some input queues or something
- This won't give much performance boost because calculating block
meshes takes so long
SUGG: Make morning and evening transition more smooth and maybe shorter
TODO: Don't update all meshes always on single node changes, but
check which ones should be updated
- implement Map::updateNodeMeshes() and the usage of it
- It will give almost always a 4x boost in mesh update performance.
- A weapon engine
- Tool/weapon visualization
FIXME: When disconnected to the menu, memory is not freed properly
TODO: Investigate how much the mesh generator thread gets used when
transferring map data
Server:
-------
SUGG: Make an option to the server to disable building and digging near
the starting position
FIXME: Server sometimes goes into some infinite PeerNotFoundException loop
* Fix the problem with the server constantly saving one or a few
blocks? List the first saved block, maybe it explains.
- It is probably caused by oscillating water
- TODO: Investigate if this still happens (this is a very old one)
* Make a small history check to transformLiquids to detect and log
continuous oscillations, in such detail that they can be fixed.
FIXME: The new optimized map sending doesn't sometimes send enough blocks
from big caves and such
FIXME: Block send distance configuration does not take effect for some reason
Environment:
------------
TODO: Add proper hooks to when adding and removing active blocks
TODO: Finish the ActiveBlockModifier stuff and use it for something
Objects:
--------
TODO: Get rid of MapBlockObjects and use only ActiveObjects
- Skipping the MapBlockObject data is nasty - there is no "total
length" stored; have to make a SkipMBOs function which contains
enough of the current code to skip them properly.
SUGG: MovingObject::move and Player::move are basically the same.
combine them.
- NOTE: This is a bit tricky because player has the sneaking ability
- NOTE: Player::move is more up-to-date.
- NOTE: There is a simple move implementation now in collision.{h,cpp}
- NOTE: MovingObject will be deleted (MapBlockObject)
TODO: Add a long step function to objects that is called with the time
difference when block activates
Map:
----
TODO: Flowing water to actually contain flow direction information
- There is a space for this - it just has to be implemented.
TODO: Consider smoothening cave floors after generating them
TODO: Fix make_tree, make_* to use seed-position-consistent pseudorandom
- delta also
Misc. stuff:
------------
TODO: Make sure server handles removing grass when a block is placed (etc)
- The client should not do it by itself
- NOTE: I think nobody does it currently...
TODO: Block cube placement around player's head
TODO: Protocol version field
TODO: Think about using same bits for material for fences and doors, for
example
SUGG: Restart irrlicht completely when coming back to main menu from game.
- This gets rid of everything that is stored in irrlicht's caches.
- This might be needed for texture pack selection in menu
TODO: Merge bahamada's audio stuff (clean patch available)
Making it more portable:
------------------------
Stuff to do before release:
---------------------------
Fixes to the current release:
-----------------------------
Stuff to do after release:
---------------------------
Doing currently:
----------------
======================================================================
*/

View File

@@ -3,6 +3,51 @@ Minetest-c55 changelog
This should contain all the major changes.
For minor stuff, refer to the commit log of the repository.
0.3.1: (released on 2011-11-09)
- Fix frustum culling (previous versions have rendered too much stuff that is not actually visible (about 180 degrees, while should have been more like 100.))
- Add occlusion culling (improves performance a lot)
- Add “3d clouds” on/off checkbox in main menu
- Add “opaque water” on/off checkbox
- Fix some random minor stuff
- Turn mipmapping off (This makes far-away textures a bit noisier but better looking)
- Add Command-line signal handler for Windows (contributed by SpeedProg)
- Fix network layer segmentation fault introduced in 0.3.dev-20111021
- Fix water-glass and water-lava and lava-glass surfaces
0.3.0: (released on 2011-11-01)
- Some small fixes
0.3.dev-20111021:
- Modify dungeon masters to only try to shoot players
- Fix object duplication bug at block load/unload bug
- Improve network layer
0.3.dev-20111016:
- Locked chest (contributed)
- Server user limit setting (max_users)
- Wielded tool is shown in HUD (contributed)
- View bobbing (contributed)
- Saplings that drop from leaf blocks and when placed on ground will grow to trees (contributed)
- Optimized map saving (does not re-save everything all the time)
- New mob system and new mob: dungeon master
- Death/respawn screen
0.2.20110922_3:
- Fix the build for MSVC2010; also released for windows using MSVC2010.
0.2.20110922_1:
- Make client report a newer version number to the server than 2011-07-31 does and make server disallow old clients
0.2.20110922:
- Map is saved in an SQLite database file (by Queatz)
- Ladders (MarkTraceur)
- Lava
- Apple trees (sfan5)
- Slightly better looking inventory with transparency
- /me chat command (Oblomov)
- Using chosen map seed possible through fixed_map_seed configuration option (kahrl)
- Fix the long-existed PeerNotFound loop bug
- Some translations and localization-related fixes
- Lots of small fixes
2011-07-31_3:
- Fixes a bug that made the server to deny non-empty passwords from players connecting the first time

486
po/da/minetest.po Normal file
View File

@@ -0,0 +1,486 @@
# German translations for minetest-c55 package.
# Copyright (C) 2011 celeron
# This file is distributed under the same license as the minetest-c55 package.
# Frederik Helth <Guides@live.dk>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: 0.0.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-08-02 12:36+0200\n"
"PO-Revision-Date: 2011-08-02 00:31+0100\n"
"Last-Translator: Frederik Helth <Guides@live.dk>\n"
"Language-Team: \n"
"Language: da\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: src/guiKeyChangeMenu.cpp:84
msgid "KEYBINDINGS"
msgstr ""
#: src/guiKeyChangeMenu.cpp:94
msgid "Forward"
msgstr "Frem"
#: src/guiKeyChangeMenu.cpp:111
msgid "Backward"
msgstr "Tilbage"
#: src/guiKeyChangeMenu.cpp:127 src/guiKeyChangeMenu.h:38
msgid "Left"
msgstr "Venstre"
#: src/guiKeyChangeMenu.cpp:142 src/guiKeyChangeMenu.h:38
msgid "Right"
msgstr "Højre"
#: src/guiKeyChangeMenu.cpp:158
msgid "Use"
msgstr "Brug"
#: src/guiKeyChangeMenu.cpp:173
msgid "Sneak"
msgstr "Snig"
#: src/guiKeyChangeMenu.cpp:189
msgid "Jump"
msgstr "Hop"
#: src/guiKeyChangeMenu.cpp:204
msgid "Inventory"
msgstr "Ting"
#: src/guiKeyChangeMenu.cpp:220
msgid "Chat"
msgstr "Chat"
#: src/guiKeyChangeMenu.cpp:236
msgid "Toggle fly"
msgstr "Flyvning"
#: src/guiKeyChangeMenu.cpp:251
msgid "Toggle fast"
msgstr "Hurtig flyvning"
#: src/guiKeyChangeMenu.cpp:266
msgid "Range select"
msgstr "Afstands load"
#: src/guiKeyChangeMenu.cpp:283
msgid "Print stacks"
msgstr "Print stykker"
#: src/guiKeyChangeMenu.cpp:298
msgid "Save"
msgstr "Gem"
#: src/guiKeyChangeMenu.cpp:304 src/guiKeyChangeMenu.h:33
msgid "Cancel"
msgstr "Afslut"
#: src/guiKeyChangeMenu.cpp:537 src/guiKeyChangeMenu.cpp:542
#: src/guiKeyChangeMenu.cpp:547 src/guiKeyChangeMenu.cpp:552
#: src/guiKeyChangeMenu.cpp:557 src/guiKeyChangeMenu.cpp:562
#: src/guiKeyChangeMenu.cpp:567 src/guiKeyChangeMenu.cpp:572
#: src/guiKeyChangeMenu.cpp:577 src/guiKeyChangeMenu.cpp:582
#: src/guiKeyChangeMenu.cpp:587 src/guiKeyChangeMenu.cpp:592
#: src/guiKeyChangeMenu.cpp:597
msgid "press Key"
msgstr "Tryk knap"
#: src/guiKeyChangeMenu.h:33
msgid "Left Button"
msgstr "Venstre Knap"
#: src/guiKeyChangeMenu.h:33
msgid "Middle Button"
msgstr "Midt Knap"
#: src/guiKeyChangeMenu.h:33
msgid "Right Button"
msgstr "Højre Knap"
#: src/guiKeyChangeMenu.h:33
msgid "X Button 1"
msgstr ""
#: src/guiKeyChangeMenu.h:34
msgid "Back"
msgstr "Tilbage"
#: src/guiKeyChangeMenu.h:34
msgid "Clear"
msgstr "Rens"
#: src/guiKeyChangeMenu.h:34
msgid "Return"
msgstr "Tilbage"
#: src/guiKeyChangeMenu.h:34
msgid "Tab"
msgstr ""
#: src/guiKeyChangeMenu.h:34
msgid "X Button 2"
msgstr ""
#: src/guiKeyChangeMenu.h:35
msgid "Capital"
msgstr ""
#: src/guiKeyChangeMenu.h:35
msgid "Control"
msgstr "Kontrol"
#: src/guiKeyChangeMenu.h:35
msgid "Kana"
msgstr ""
#: src/guiKeyChangeMenu.h:35
msgid "Menu"
msgstr ""
#: src/guiKeyChangeMenu.h:35
msgid "Pause"
msgstr ""
#: src/guiKeyChangeMenu.h:35
msgid "Shift"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Convert"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Escape"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Final"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Junja"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Kanji"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Nonconvert"
msgstr ""
#: src/guiKeyChangeMenu.h:37
msgid "Accept"
msgstr "Accepter"
#: src/guiKeyChangeMenu.h:37
msgid "End"
msgstr "Slut"
#: src/guiKeyChangeMenu.h:37
msgid "Home"
msgstr "Hjem"
#: src/guiKeyChangeMenu.h:37
msgid "Mode Change"
msgstr "Mode skift"
#: src/guiKeyChangeMenu.h:37
msgid "Next"
msgstr "Næste"
#: src/guiKeyChangeMenu.h:37
msgid "Priot"
msgstr ""
#: src/guiKeyChangeMenu.h:37
msgid "Space"
msgstr "Mellemrum"
#: src/guiKeyChangeMenu.h:38
msgid "Down"
msgstr "Ned"
#: src/guiKeyChangeMenu.h:38
msgid "Execute"
msgstr ""
#: src/guiKeyChangeMenu.h:38
msgid "Print"
msgstr ""
#: src/guiKeyChangeMenu.h:38
msgid "Select"
msgstr "Vælge"
#: src/guiKeyChangeMenu.h:38
msgid "Up"
msgstr "Op"
#: src/guiKeyChangeMenu.h:39
msgid "Delete"
msgstr "Slet"
#: src/guiKeyChangeMenu.h:39
msgid "Help"
msgstr "Hjælp"
#: src/guiKeyChangeMenu.h:39
msgid "Insert"
msgstr "Indset"
#: src/guiKeyChangeMenu.h:39
msgid "Snapshot"
msgstr "Screenshot"
#: src/guiKeyChangeMenu.h:42
msgid "Left Windows"
msgstr "Venstre windows"
#: src/guiKeyChangeMenu.h:43
msgid "Apps"
msgstr ""
#: src/guiKeyChangeMenu.h:43
msgid "Numpad 0"
msgstr ""
#: src/guiKeyChangeMenu.h:43
msgid "Numpad 1"
msgstr ""
#: src/guiKeyChangeMenu.h:43
msgid "Right Windows"
msgstr ""
#: src/guiKeyChangeMenu.h:43
msgid "Sleep"
msgstr ""
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 2"
msgstr ""
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 3"
msgstr ""
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 4"
msgstr ""
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 5"
msgstr ""
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 6"
msgstr ""
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 7"
msgstr ""
#: src/guiKeyChangeMenu.h:45
msgid "Numpad *"
msgstr ""
#: src/guiKeyChangeMenu.h:45
msgid "Numpad +"
msgstr ""
#: src/guiKeyChangeMenu.h:45
msgid "Numpad -"
msgstr ""
#: src/guiKeyChangeMenu.h:45
msgid "Numpad /"
msgstr ""
#: src/guiKeyChangeMenu.h:45
msgid "Numpad 8"
msgstr ""
#: src/guiKeyChangeMenu.h:45
msgid "Numpad 9"
msgstr ""
#: src/guiKeyChangeMenu.h:49
msgid "Num Lock"
msgstr ""
#: src/guiKeyChangeMenu.h:49
msgid "Scroll Lock"
msgstr ""
#: src/guiKeyChangeMenu.h:50
msgid "Left Shift"
msgstr ""
#: src/guiKeyChangeMenu.h:50
msgid "Right Shight"
msgstr ""
#: src/guiKeyChangeMenu.h:51
msgid "Left Control"
msgstr ""
#: src/guiKeyChangeMenu.h:51
msgid "Left Menu"
msgstr ""
#: src/guiKeyChangeMenu.h:51
msgid "Right Control"
msgstr ""
#: src/guiKeyChangeMenu.h:51
msgid "Right Menu"
msgstr ""
#: src/guiKeyChangeMenu.h:53
msgid "Comma"
msgstr ""
#: src/guiKeyChangeMenu.h:53
msgid "Minus"
msgstr ""
#: src/guiKeyChangeMenu.h:53
msgid "Period"
msgstr ""
#: src/guiKeyChangeMenu.h:53
msgid "Plus"
msgstr ""
#: src/guiKeyChangeMenu.h:57
msgid "Attn"
msgstr ""
#: src/guiKeyChangeMenu.h:57
msgid "CrSel"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "Erase OEF"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "ExSel"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "OEM Clear"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "PA1"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "Play"
msgstr "Spil"
#: src/guiKeyChangeMenu.h:58
msgid "Zoom"
msgstr ""
#: src/guiMainMenu.cpp:181
msgid "Name/Password"
msgstr "Navn/kodeord"
#: src/guiMainMenu.cpp:206
msgid "Address/Port"
msgstr "Adresse/port"
#: src/guiMainMenu.cpp:228
msgid "Leave address blank to start a local server."
msgstr "Lad black for at spille localt"
#: src/guiMainMenu.cpp:235
msgid "Fancy trees"
msgstr "Fancy trær"
#: src/guiMainMenu.cpp:241
msgid "Smooth Lighting"
msgstr ""
#: src/guiMainMenu.cpp:249
msgid "Start Game / Connect"
msgstr "Start spil"
#: src/guiMainMenu.cpp:258
msgid "Change keys"
msgstr "Indstillinger"
#: src/guiMainMenu.cpp:281
msgid "Creative Mode"
msgstr "Kreativ mode"
#: src/guiMainMenu.cpp:287
msgid "Enable Damage"
msgstr "Tag imod skade"
#: src/guiMainMenu.cpp:295
msgid "Delete map"
msgstr "Slet mappen"
#: src/guiMessageMenu.cpp:94 src/guiTextInputMenu.cpp:112
msgid "Proceed"
msgstr "Fortsæt"
#: src/guiPasswordChange.cpp:103
msgid "Old Password"
msgstr "Gamle kodeord"
#: src/guiPasswordChange.cpp:120
msgid "New Password"
msgstr "Nye kodeord"
#: src/guiPasswordChange.cpp:136
msgid "Confirm Password"
msgstr "Gentag kodeord"
#: src/guiPasswordChange.cpp:153
msgid "Change"
msgstr "Skift"
#: src/guiPasswordChange.cpp:162
msgid "Passwords do not match!"
msgstr "Kodeordne matcher ikke hinanden!"
#: src/guiPauseMenu.cpp:111
msgid "Continue"
msgstr "Fortsæt"
#: src/guiPauseMenu.cpp:118
msgid "Change Password"
msgstr "Skift kodeord"
#: src/guiPauseMenu.cpp:125
msgid "Disconnect"
msgstr "Logud"
#: src/guiPauseMenu.cpp:132
msgid "Exit to OS"
msgstr "Afslut til OS"
#: src/guiPauseMenu.cpp:139
msgid ""
"Default Controls:\n"
"- WASD: Walk\n"
"- Mouse left: dig/hit\n"
"- Mouse right: place/use\n"
"- Mouse wheel: select item\n"
"- 0...9: select item\n"
"- Shift: sneak\n"
"- R: Toggle viewing all loaded chunks\n"
"- I: Inventory menu\n"
"- ESC: This menu\n"
"- T: Chat\n"
msgstr ""

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.0.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-07-22 11:00+0200\n"
"PO-Revision-Date: 2011-07-20 16:58+0100\n"
"POT-Creation-Date: 2011-08-02 12:36+0200\n"
"PO-Revision-Date: 2011-08-02 11:54+0100\n"
"Last-Translator: Constantin Wenger <constantin.wenger@googlemail.com>\n"
"Language-Team: Deutsch <>\n"
"Language: de\n"
@@ -17,92 +17,467 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
#: src/guiMainMenu.cpp:180
#: src/guiKeyChangeMenu.cpp:84
msgid "KEYBINDINGS"
msgstr "TASTEN EINST."
#: src/guiKeyChangeMenu.cpp:94
msgid "Forward"
msgstr "Vorwärts"
#: src/guiKeyChangeMenu.cpp:111
msgid "Backward"
msgstr "Rückwärts"
#: src/guiKeyChangeMenu.cpp:127 src/guiKeyChangeMenu.h:38
msgid "Left"
msgstr "Links"
#: src/guiKeyChangeMenu.cpp:142 src/guiKeyChangeMenu.h:38
msgid "Right"
msgstr "Rechts"
#: src/guiKeyChangeMenu.cpp:158
msgid "Use"
msgstr "Benutzen"
#: src/guiKeyChangeMenu.cpp:173
msgid "Sneak"
msgstr "Kriechen"
#: src/guiKeyChangeMenu.cpp:189
msgid "Jump"
msgstr "Springen"
#: src/guiKeyChangeMenu.cpp:204
msgid "Inventory"
msgstr "Inventar"
#: src/guiKeyChangeMenu.cpp:220
msgid "Chat"
msgstr "Chat"
#: src/guiKeyChangeMenu.cpp:236
msgid "Toggle fly"
msgstr "Fliegen umsch."
#: src/guiKeyChangeMenu.cpp:251
msgid "Toggle fast"
msgstr "Speed umsch."
#: src/guiKeyChangeMenu.cpp:266
msgid "Range select"
msgstr "Entfernung wählen"
#: src/guiKeyChangeMenu.cpp:283
msgid "Print stacks"
msgstr "Stack ausgeben"
#: src/guiKeyChangeMenu.cpp:298
msgid "Save"
msgstr "Speichern"
#: src/guiKeyChangeMenu.cpp:304 src/guiKeyChangeMenu.h:33
msgid "Cancel"
msgstr "Abbrechen"
#: src/guiKeyChangeMenu.cpp:537 src/guiKeyChangeMenu.cpp:542
#: src/guiKeyChangeMenu.cpp:547 src/guiKeyChangeMenu.cpp:552
#: src/guiKeyChangeMenu.cpp:557 src/guiKeyChangeMenu.cpp:562
#: src/guiKeyChangeMenu.cpp:567 src/guiKeyChangeMenu.cpp:572
#: src/guiKeyChangeMenu.cpp:577 src/guiKeyChangeMenu.cpp:582
#: src/guiKeyChangeMenu.cpp:587 src/guiKeyChangeMenu.cpp:592
#: src/guiKeyChangeMenu.cpp:597
msgid "press Key"
msgstr "Taste drücken"
#: src/guiKeyChangeMenu.h:33
msgid "Left Button"
msgstr "linke Taste"
#: src/guiKeyChangeMenu.h:33
msgid "Middle Button"
msgstr ""
#: src/guiKeyChangeMenu.h:33
msgid "Right Button"
msgstr ""
#: src/guiKeyChangeMenu.h:33
msgid "X Button 1"
msgstr ""
#: src/guiKeyChangeMenu.h:34
msgid "Back"
msgstr "Rücktaste"
#: src/guiKeyChangeMenu.h:34
msgid "Clear"
msgstr "löschen"
#: src/guiKeyChangeMenu.h:34
msgid "Return"
msgstr "Return"
#: src/guiKeyChangeMenu.h:34
msgid "Tab"
msgstr "Tab"
#: src/guiKeyChangeMenu.h:34
msgid "X Button 2"
msgstr ""
#: src/guiKeyChangeMenu.h:35
msgid "Capital"
msgstr "Feststellen"
#: src/guiKeyChangeMenu.h:35
msgid "Control"
msgstr "Strg"
#: src/guiKeyChangeMenu.h:35
msgid "Kana"
msgstr ""
#: src/guiKeyChangeMenu.h:35
msgid "Menu"
msgstr "Menü"
#: src/guiKeyChangeMenu.h:35
msgid "Pause"
msgstr "Pause"
#: src/guiKeyChangeMenu.h:35
msgid "Shift"
msgstr "Umsch."
#: src/guiKeyChangeMenu.h:36
msgid "Convert"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Escape"
msgstr "Escape"
#: src/guiKeyChangeMenu.h:36
msgid "Final"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Junja"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Kanji"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Nonconvert"
msgstr ""
#: src/guiKeyChangeMenu.h:37
msgid "Accept"
msgstr "Annehmen"
#: src/guiKeyChangeMenu.h:37
msgid "End"
msgstr "Ende"
#: src/guiKeyChangeMenu.h:37
msgid "Home"
msgstr "Pos1"
#: src/guiKeyChangeMenu.h:37
msgid "Mode Change"
msgstr ""
#: src/guiKeyChangeMenu.h:37
msgid "Next"
msgstr "Bild runter"
#: src/guiKeyChangeMenu.h:37
msgid "Priot"
msgstr "Bild hoch"
#: src/guiKeyChangeMenu.h:37
msgid "Space"
msgstr "Leertaste"
#: src/guiKeyChangeMenu.h:38
msgid "Down"
msgstr "Runter"
#: src/guiKeyChangeMenu.h:38
msgid "Execute"
msgstr "Ausführen"
#: src/guiKeyChangeMenu.h:38
msgid "Print"
msgstr "Druck"
#: src/guiKeyChangeMenu.h:38
msgid "Select"
msgstr "Select"
#: src/guiKeyChangeMenu.h:38
msgid "Up"
msgstr "Hoch"
#: src/guiKeyChangeMenu.h:39
msgid "Delete"
msgstr "Entf"
#: src/guiKeyChangeMenu.h:39
msgid "Help"
msgstr "Hilfe"
#: src/guiKeyChangeMenu.h:39
msgid "Insert"
msgstr "Einfg"
#: src/guiKeyChangeMenu.h:39
msgid "Snapshot"
msgstr "Schnapschuss"
#: src/guiKeyChangeMenu.h:42
msgid "Left Windows"
msgstr "Win links"
#: src/guiKeyChangeMenu.h:43
msgid "Apps"
msgstr ""
#: src/guiKeyChangeMenu.h:43
msgid "Numpad 0"
msgstr "Ziffernblock 0"
#: src/guiKeyChangeMenu.h:43
msgid "Numpad 1"
msgstr "Ziffernblock 1"
#: src/guiKeyChangeMenu.h:43
msgid "Right Windows"
msgstr "Win rechts"
#: src/guiKeyChangeMenu.h:43
msgid "Sleep"
msgstr "Schlaf"
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 2"
msgstr "Ziffernblock 2"
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 3"
msgstr "Ziffernblock 3"
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 4"
msgstr "Ziffernblock 4"
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 5"
msgstr "Ziffernblock 5"
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 6"
msgstr "Ziffernblock 6"
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 7"
msgstr "Ziffernblock 7"
#: src/guiKeyChangeMenu.h:45
msgid "Numpad *"
msgstr "Ziffernblock *"
#: src/guiKeyChangeMenu.h:45
msgid "Numpad +"
msgstr "Ziffernblock +"
#: src/guiKeyChangeMenu.h:45
msgid "Numpad -"
msgstr "Ziffernblock -"
#: src/guiKeyChangeMenu.h:45
msgid "Numpad /"
msgstr "Ziffernblock /"
#: src/guiKeyChangeMenu.h:45
msgid "Numpad 8"
msgstr "Ziffernblock 8"
#: src/guiKeyChangeMenu.h:45
msgid "Numpad 9"
msgstr "Ziffernblock 9"
#: src/guiKeyChangeMenu.h:49
msgid "Num Lock"
msgstr "Num"
#: src/guiKeyChangeMenu.h:49
msgid "Scroll Lock"
msgstr "Rollen"
#: src/guiKeyChangeMenu.h:50
msgid "Left Shift"
msgstr "Umsch. links"
#: src/guiKeyChangeMenu.h:50
msgid "Right Shight"
msgstr "Umsch. rechts"
#: src/guiKeyChangeMenu.h:51
msgid "Left Control"
msgstr "Strg links"
#: src/guiKeyChangeMenu.h:51
msgid "Left Menu"
msgstr "Alt"
#: src/guiKeyChangeMenu.h:51
msgid "Right Control"
msgstr "Strg rechts"
#: src/guiKeyChangeMenu.h:51
msgid "Right Menu"
msgstr "Alt Gr"
#: src/guiKeyChangeMenu.h:53
msgid "Comma"
msgstr "Komma"
#: src/guiKeyChangeMenu.h:53
msgid "Minus"
msgstr "Minus"
#: src/guiKeyChangeMenu.h:53
msgid "Period"
msgstr "Punkt"
#: src/guiKeyChangeMenu.h:53
msgid "Plus"
msgstr "Plus"
#: src/guiKeyChangeMenu.h:57
msgid "Attn"
msgstr ""
#: src/guiKeyChangeMenu.h:57
msgid "CrSel"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "Erase OEF"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "ExSel"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "OEM Clear"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "PA1"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "Play"
msgstr "Play"
#: src/guiKeyChangeMenu.h:58
msgid "Zoom"
msgstr "Zoom"
#: src/guiMainMenu.cpp:181
msgid "Name/Password"
msgstr "Name/Passwort"
#: src/guiMainMenu.cpp:203
#: src/guiMainMenu.cpp:206
msgid "Address/Port"
msgstr "Adresse / Port"
#: src/guiMainMenu.cpp:223
#: src/guiMainMenu.cpp:228
msgid "Leave address blank to start a local server."
msgstr "Lasse die Adresse frei um einen eigenen Server zu starten"
#: src/guiMainMenu.cpp:230
#: src/guiMainMenu.cpp:235
msgid "Fancy trees"
msgstr "Schöne Bäume"
#: src/guiMainMenu.cpp:236
#: src/guiMainMenu.cpp:241
msgid "Smooth Lighting"
msgstr "Besseres Licht"
#: src/guiMainMenu.cpp:244
#: src/guiMainMenu.cpp:249
msgid "Start Game / Connect"
msgstr "Spiel starten / Verbinden"
#: src/guiMainMenu.cpp:253
#: src/guiMainMenu.cpp:258
msgid "Change keys"
msgstr "Tastenbelegung ändern"
msgstr "Tasten ändern"
#: src/guiMainMenu.cpp:276
#: src/guiMainMenu.cpp:281
msgid "Creative Mode"
msgstr "Kreativitätsmodus"
#: src/guiMainMenu.cpp:282
#: src/guiMainMenu.cpp:287
msgid "Enable Damage"
msgstr "Schaden einschalten"
#: src/guiMainMenu.cpp:290
#: src/guiMainMenu.cpp:295
msgid "Delete map"
msgstr "Karte löschen"
#: src/guiMessageMenu.cpp:93 src/guiTextInputMenu.cpp:111
#: src/guiMessageMenu.cpp:94 src/guiTextInputMenu.cpp:112
msgid "Proceed"
msgstr "Fortsetzen"
#: src/guiPasswordChange.cpp:102
#: src/guiPasswordChange.cpp:103
msgid "Old Password"
msgstr "Altes Passwort"
#: src/guiPasswordChange.cpp:117
#: src/guiPasswordChange.cpp:120
msgid "New Password"
msgstr "Neues Passwort"
#: src/guiPasswordChange.cpp:131
#: src/guiPasswordChange.cpp:136
msgid "Confirm Password"
msgstr "Passwort wiederholen"
#: src/guiPasswordChange.cpp:146
#: src/guiPasswordChange.cpp:153
msgid "Change"
msgstr "Ändern"
#: src/guiPasswordChange.cpp:155
#: src/guiPasswordChange.cpp:162
msgid "Passwords do not match!"
msgstr "Passwörter passen nicht zusammen"
#: src/guiPauseMenu.cpp:110
#: src/guiPauseMenu.cpp:111
msgid "Continue"
msgstr "Weiter"
#: src/guiPauseMenu.cpp:117
#: src/guiPauseMenu.cpp:118
msgid "Change Password"
msgstr "Passwort ändern"
#: src/guiPauseMenu.cpp:124
#: src/guiPauseMenu.cpp:125
msgid "Disconnect"
msgstr "Verbindung trennen"
#: src/guiPauseMenu.cpp:131
#: src/guiPauseMenu.cpp:132
msgid "Exit to OS"
msgstr "Programm beenden"
#: src/guiPauseMenu.cpp:138
#: src/guiPauseMenu.cpp:139
#, fuzzy
msgid ""
"Keys:\n"
"Default Controls:\n"
"- WASD: Walk\n"
"- Mouse left: dig blocks\n"
"- Mouse right: place blocks\n"
"- Mouse left: dig/hit\n"
"- Mouse right: place/use\n"
"- Mouse wheel: select item\n"
"- 0...9: select item\n"
"- Shift: sneak\n"
@@ -113,11 +488,11 @@ msgid ""
msgstr ""
"Tastenkürzel:\n"
"- WASD: Gehen\n"
"- linke Maustaste: dig blocks\n"
"- rechte Maustaste: place blocks\n"
"- linke Maustaste: Blöcke aufnehmen \n"
"- rechte Maustaste: Blöche ablegen\n"
"- Mausrad: Item auswählen\n"
"- 0...9: Item auswählen\n"
"- Shift: ducken\n"
"- R: Alle geladenen Kartenteile anzeigen, umschalten\n"
"- R: alle geladenen Blöcke anzeigen (wechseln)\n"
"- I: Inventarmenü\n"
"- T: Chat\n"

View File

@@ -1,113 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-07-24 11:32+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: src/guiMainMenu.cpp:180
msgid "Name/Password"
msgstr ""
#: src/guiMainMenu.cpp:203
msgid "Address/Port"
msgstr ""
#: src/guiMainMenu.cpp:223
msgid "Leave address blank to start a local server."
msgstr ""
#: src/guiMainMenu.cpp:230
msgid "Fancy trees"
msgstr ""
#: src/guiMainMenu.cpp:236
msgid "Smooth Lighting"
msgstr ""
#: src/guiMainMenu.cpp:244
msgid "Start Game / Connect"
msgstr ""
#: src/guiMainMenu.cpp:253
msgid "Change keys"
msgstr ""
#: src/guiMainMenu.cpp:276
msgid "Creative Mode"
msgstr ""
#: src/guiMainMenu.cpp:282
msgid "Enable Damage"
msgstr ""
#: src/guiMainMenu.cpp:290
msgid "Delete map"
msgstr ""
#: src/guiMessageMenu.cpp:93 src/guiTextInputMenu.cpp:111
msgid "Proceed"
msgstr ""
#: src/guiPasswordChange.cpp:102
msgid "Old Password"
msgstr ""
#: src/guiPasswordChange.cpp:117
msgid "New Password"
msgstr ""
#: src/guiPasswordChange.cpp:131
msgid "Confirm Password"
msgstr ""
#: src/guiPasswordChange.cpp:146
msgid "Change"
msgstr ""
#: src/guiPasswordChange.cpp:155
msgid "Passwords do not match!"
msgstr ""
#: src/guiPauseMenu.cpp:110
msgid "Continue"
msgstr ""
#: src/guiPauseMenu.cpp:117
msgid "Change Password"
msgstr ""
#: src/guiPauseMenu.cpp:124
msgid "Disconnect"
msgstr ""
#: src/guiPauseMenu.cpp:131
msgid "Exit to OS"
msgstr ""
#: src/guiPauseMenu.cpp:138
msgid ""
"Keys:\n"
"- WASD: Walk\n"
"- Mouse left: dig blocks\n"
"- Mouse right: place blocks\n"
"- Mouse wheel: select item\n"
"- 0...9: select item\n"
"- Shift: sneak\n"
"- R: Toggle viewing all loaded chunks\n"
"- I: Inventory menu\n"
"- ESC: This menu\n"
"- T: Chat\n"
msgstr ""

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.0.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-07-22 11:00+0200\n"
"POT-Creation-Date: 2011-08-02 12:36+0200\n"
"PO-Revision-Date: 2011-07-21 15:48+0200\n"
"Last-Translator: Cyriaque 'Cisoun' Skrapits <cysoun@gmail.com>\n"
"Language-Team: Français <>\n"
@@ -17,92 +17,469 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
#: src/guiMainMenu.cpp:180
#: src/guiKeyChangeMenu.cpp:84
msgid "KEYBINDINGS"
msgstr ""
#: src/guiKeyChangeMenu.cpp:94
msgid "Forward"
msgstr ""
#: src/guiKeyChangeMenu.cpp:111
msgid "Backward"
msgstr ""
#: src/guiKeyChangeMenu.cpp:127 src/guiKeyChangeMenu.h:38
msgid "Left"
msgstr ""
#: src/guiKeyChangeMenu.cpp:142 src/guiKeyChangeMenu.h:38
msgid "Right"
msgstr ""
#: src/guiKeyChangeMenu.cpp:158
msgid "Use"
msgstr ""
#: src/guiKeyChangeMenu.cpp:173
msgid "Sneak"
msgstr ""
#: src/guiKeyChangeMenu.cpp:189
msgid "Jump"
msgstr ""
#: src/guiKeyChangeMenu.cpp:204
msgid "Inventory"
msgstr ""
#: src/guiKeyChangeMenu.cpp:220
msgid "Chat"
msgstr ""
#: src/guiKeyChangeMenu.cpp:236
msgid "Toggle fly"
msgstr ""
#: src/guiKeyChangeMenu.cpp:251
msgid "Toggle fast"
msgstr ""
#: src/guiKeyChangeMenu.cpp:266
msgid "Range select"
msgstr ""
#: src/guiKeyChangeMenu.cpp:283
msgid "Print stacks"
msgstr ""
#: src/guiKeyChangeMenu.cpp:298
msgid "Save"
msgstr ""
#: src/guiKeyChangeMenu.cpp:304 src/guiKeyChangeMenu.h:33
msgid "Cancel"
msgstr ""
#: src/guiKeyChangeMenu.cpp:537 src/guiKeyChangeMenu.cpp:542
#: src/guiKeyChangeMenu.cpp:547 src/guiKeyChangeMenu.cpp:552
#: src/guiKeyChangeMenu.cpp:557 src/guiKeyChangeMenu.cpp:562
#: src/guiKeyChangeMenu.cpp:567 src/guiKeyChangeMenu.cpp:572
#: src/guiKeyChangeMenu.cpp:577 src/guiKeyChangeMenu.cpp:582
#: src/guiKeyChangeMenu.cpp:587 src/guiKeyChangeMenu.cpp:592
#: src/guiKeyChangeMenu.cpp:597
msgid "press Key"
msgstr ""
#: src/guiKeyChangeMenu.h:33
msgid "Left Button"
msgstr ""
#: src/guiKeyChangeMenu.h:33
msgid "Middle Button"
msgstr ""
#: src/guiKeyChangeMenu.h:33
msgid "Right Button"
msgstr ""
#: src/guiKeyChangeMenu.h:33
msgid "X Button 1"
msgstr ""
#: src/guiKeyChangeMenu.h:34
msgid "Back"
msgstr ""
#: src/guiKeyChangeMenu.h:34
msgid "Clear"
msgstr ""
#: src/guiKeyChangeMenu.h:34
msgid "Return"
msgstr ""
#: src/guiKeyChangeMenu.h:34
msgid "Tab"
msgstr ""
#: src/guiKeyChangeMenu.h:34
msgid "X Button 2"
msgstr ""
#: src/guiKeyChangeMenu.h:35
msgid "Capital"
msgstr ""
#: src/guiKeyChangeMenu.h:35
msgid "Control"
msgstr ""
#: src/guiKeyChangeMenu.h:35
msgid "Kana"
msgstr ""
#: src/guiKeyChangeMenu.h:35
msgid "Menu"
msgstr ""
#: src/guiKeyChangeMenu.h:35
msgid "Pause"
msgstr ""
#: src/guiKeyChangeMenu.h:35
msgid "Shift"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Convert"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Escape"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Final"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Junja"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Kanji"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Nonconvert"
msgstr ""
#: src/guiKeyChangeMenu.h:37
msgid "Accept"
msgstr ""
#: src/guiKeyChangeMenu.h:37
msgid "End"
msgstr ""
#: src/guiKeyChangeMenu.h:37
msgid "Home"
msgstr ""
#: src/guiKeyChangeMenu.h:37
#, fuzzy
msgid "Mode Change"
msgstr "Changer"
#: src/guiKeyChangeMenu.h:37
msgid "Next"
msgstr ""
#: src/guiKeyChangeMenu.h:37
msgid "Priot"
msgstr ""
#: src/guiKeyChangeMenu.h:37
msgid "Space"
msgstr ""
#: src/guiKeyChangeMenu.h:38
msgid "Down"
msgstr ""
#: src/guiKeyChangeMenu.h:38
msgid "Execute"
msgstr ""
#: src/guiKeyChangeMenu.h:38
msgid "Print"
msgstr ""
#: src/guiKeyChangeMenu.h:38
msgid "Select"
msgstr ""
#: src/guiKeyChangeMenu.h:38
msgid "Up"
msgstr ""
#: src/guiKeyChangeMenu.h:39
#, fuzzy
msgid "Delete"
msgstr "Supprimer carte"
#: src/guiKeyChangeMenu.h:39
msgid "Help"
msgstr ""
#: src/guiKeyChangeMenu.h:39
msgid "Insert"
msgstr ""
#: src/guiKeyChangeMenu.h:39
msgid "Snapshot"
msgstr ""
#: src/guiKeyChangeMenu.h:42
msgid "Left Windows"
msgstr ""
#: src/guiKeyChangeMenu.h:43
msgid "Apps"
msgstr ""
#: src/guiKeyChangeMenu.h:43
msgid "Numpad 0"
msgstr ""
#: src/guiKeyChangeMenu.h:43
msgid "Numpad 1"
msgstr ""
#: src/guiKeyChangeMenu.h:43
msgid "Right Windows"
msgstr ""
#: src/guiKeyChangeMenu.h:43
msgid "Sleep"
msgstr ""
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 2"
msgstr ""
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 3"
msgstr ""
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 4"
msgstr ""
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 5"
msgstr ""
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 6"
msgstr ""
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 7"
msgstr ""
#: src/guiKeyChangeMenu.h:45
msgid "Numpad *"
msgstr ""
#: src/guiKeyChangeMenu.h:45
msgid "Numpad +"
msgstr ""
#: src/guiKeyChangeMenu.h:45
msgid "Numpad -"
msgstr ""
#: src/guiKeyChangeMenu.h:45
msgid "Numpad /"
msgstr ""
#: src/guiKeyChangeMenu.h:45
msgid "Numpad 8"
msgstr ""
#: src/guiKeyChangeMenu.h:45
msgid "Numpad 9"
msgstr ""
#: src/guiKeyChangeMenu.h:49
msgid "Num Lock"
msgstr ""
#: src/guiKeyChangeMenu.h:49
msgid "Scroll Lock"
msgstr ""
#: src/guiKeyChangeMenu.h:50
msgid "Left Shift"
msgstr ""
#: src/guiKeyChangeMenu.h:50
msgid "Right Shight"
msgstr ""
#: src/guiKeyChangeMenu.h:51
msgid "Left Control"
msgstr ""
#: src/guiKeyChangeMenu.h:51
msgid "Left Menu"
msgstr ""
#: src/guiKeyChangeMenu.h:51
msgid "Right Control"
msgstr ""
#: src/guiKeyChangeMenu.h:51
msgid "Right Menu"
msgstr ""
#: src/guiKeyChangeMenu.h:53
msgid "Comma"
msgstr ""
#: src/guiKeyChangeMenu.h:53
msgid "Minus"
msgstr ""
#: src/guiKeyChangeMenu.h:53
msgid "Period"
msgstr ""
#: src/guiKeyChangeMenu.h:53
msgid "Plus"
msgstr ""
#: src/guiKeyChangeMenu.h:57
msgid "Attn"
msgstr ""
#: src/guiKeyChangeMenu.h:57
msgid "CrSel"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "Erase OEF"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "ExSel"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "OEM Clear"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "PA1"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "Play"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "Zoom"
msgstr ""
#: src/guiMainMenu.cpp:181
msgid "Name/Password"
msgstr "Nom / MdP"
#: src/guiMainMenu.cpp:203
#: src/guiMainMenu.cpp:206
msgid "Address/Port"
msgstr "Adresse / Port"
#: src/guiMainMenu.cpp:223
#: src/guiMainMenu.cpp:228
msgid "Leave address blank to start a local server."
msgstr "Laisser l'adresse vide pour lancer un serveur local."
#: src/guiMainMenu.cpp:230
#: src/guiMainMenu.cpp:235
msgid "Fancy trees"
msgstr "Arbres spéciaux"
#: src/guiMainMenu.cpp:236
#: src/guiMainMenu.cpp:241
msgid "Smooth Lighting"
msgstr "Lumière douce"
#: src/guiMainMenu.cpp:244
#: src/guiMainMenu.cpp:249
msgid "Start Game / Connect"
msgstr "Démarrer / Connecter"
#: src/guiMainMenu.cpp:253
#: src/guiMainMenu.cpp:258
msgid "Change keys"
msgstr "Changer touches"
#: src/guiMainMenu.cpp:276
#: src/guiMainMenu.cpp:281
msgid "Creative Mode"
msgstr "Mode créatif"
#: src/guiMainMenu.cpp:282
#: src/guiMainMenu.cpp:287
msgid "Enable Damage"
msgstr "Activer blessures"
#: src/guiMainMenu.cpp:290
#: src/guiMainMenu.cpp:295
msgid "Delete map"
msgstr "Supprimer carte"
#: src/guiMessageMenu.cpp:93 src/guiTextInputMenu.cpp:111
#: src/guiMessageMenu.cpp:94 src/guiTextInputMenu.cpp:112
msgid "Proceed"
msgstr "OK"
#: src/guiPasswordChange.cpp:102
#: src/guiPasswordChange.cpp:103
msgid "Old Password"
msgstr "Ancien mot de passe"
#: src/guiPasswordChange.cpp:117
#: src/guiPasswordChange.cpp:120
msgid "New Password"
msgstr "Nouveau mot de passe"
#: src/guiPasswordChange.cpp:131
#: src/guiPasswordChange.cpp:136
msgid "Confirm Password"
msgstr "Confirmer mot de passe"
#: src/guiPasswordChange.cpp:146
#: src/guiPasswordChange.cpp:153
msgid "Change"
msgstr "Changer"
#: src/guiPasswordChange.cpp:155
#: src/guiPasswordChange.cpp:162
msgid "Passwords do not match!"
msgstr "Mauvaise correspondance!"
#: src/guiPauseMenu.cpp:110
#: src/guiPauseMenu.cpp:111
msgid "Continue"
msgstr "Continuer"
#: src/guiPauseMenu.cpp:117
#: src/guiPauseMenu.cpp:118
msgid "Change Password"
msgstr "Changer mot de passe"
#: src/guiPauseMenu.cpp:124
#: src/guiPauseMenu.cpp:125
msgid "Disconnect"
msgstr "Déconnection"
#: src/guiPauseMenu.cpp:131
#: src/guiPauseMenu.cpp:132
msgid "Exit to OS"
msgstr "Quitter le jeu"
#: src/guiPauseMenu.cpp:138
#: src/guiPauseMenu.cpp:139
#, fuzzy
msgid ""
"Keys:\n"
"Default Controls:\n"
"- WASD: Walk\n"
"- Mouse left: dig blocks\n"
"- Mouse right: place blocks\n"
"- Mouse left: dig/hit\n"
"- Mouse right: place/use\n"
"- Mouse wheel: select item\n"
"- 0...9: select item\n"
"- Shift: sneak\n"

499
po/it/minetest.po Normal file
View File

@@ -0,0 +1,499 @@
# Italian translations for minetest package.
# Copyright (C) 2011 THE minetest'S COPYRIGHT HOLDER
# This file is distributed under the same license as the minetest package.
# Giuseppe Bilotta <giuseppe.bilotta@gmail.com>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: minetest\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-08-02 12:36+0200\n"
"PO-Revision-Date: 2011-07-24 18:56+0200\n"
"Last-Translator: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>\n"
"Language-Team: Italian\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/guiKeyChangeMenu.cpp:84
msgid "KEYBINDINGS"
msgstr ""
#: src/guiKeyChangeMenu.cpp:94
msgid "Forward"
msgstr "Avanti"
#: src/guiKeyChangeMenu.cpp:111
msgid "Backward"
msgstr "Indietro"
#: src/guiKeyChangeMenu.cpp:127 src/guiKeyChangeMenu.h:38
msgid "Left"
msgstr "Sinistra"
#: src/guiKeyChangeMenu.cpp:142 src/guiKeyChangeMenu.h:38
msgid "Right"
msgstr "Destra"
#: src/guiKeyChangeMenu.cpp:158
msgid "Use"
msgstr "Usa"
#: src/guiKeyChangeMenu.cpp:173
msgid "Sneak"
msgstr ""
#: src/guiKeyChangeMenu.cpp:189
msgid "Jump"
msgstr "Salta"
#: src/guiKeyChangeMenu.cpp:204
msgid "Inventory"
msgstr "Invetario"
#: src/guiKeyChangeMenu.cpp:220
msgid "Chat"
msgstr "Parla"
#: src/guiKeyChangeMenu.cpp:236
msgid "Toggle fly"
msgstr ""
#: src/guiKeyChangeMenu.cpp:251
msgid "Toggle fast"
msgstr ""
#: src/guiKeyChangeMenu.cpp:266
msgid "Range select"
msgstr ""
#: src/guiKeyChangeMenu.cpp:283
msgid "Print stacks"
msgstr ""
#: src/guiKeyChangeMenu.cpp:298
msgid "Save"
msgstr "Salva"
#: src/guiKeyChangeMenu.cpp:304 src/guiKeyChangeMenu.h:33
msgid "Cancel"
msgstr "Annulla"
#: src/guiKeyChangeMenu.cpp:537 src/guiKeyChangeMenu.cpp:542
#: src/guiKeyChangeMenu.cpp:547 src/guiKeyChangeMenu.cpp:552
#: src/guiKeyChangeMenu.cpp:557 src/guiKeyChangeMenu.cpp:562
#: src/guiKeyChangeMenu.cpp:567 src/guiKeyChangeMenu.cpp:572
#: src/guiKeyChangeMenu.cpp:577 src/guiKeyChangeMenu.cpp:582
#: src/guiKeyChangeMenu.cpp:587 src/guiKeyChangeMenu.cpp:592
#: src/guiKeyChangeMenu.cpp:597
msgid "press Key"
msgstr "premi tasto"
#: src/guiKeyChangeMenu.h:33
msgid "Left Button"
msgstr "Tasto sinistro"
#: src/guiKeyChangeMenu.h:33
msgid "Middle Button"
msgstr "Tasto centrale"
#: src/guiKeyChangeMenu.h:33
msgid "Right Button"
msgstr "Tasto destro"
#: src/guiKeyChangeMenu.h:33
msgid "X Button 1"
msgstr ""
#: src/guiKeyChangeMenu.h:34
msgid "Back"
msgstr "Indietro"
#: src/guiKeyChangeMenu.h:34
msgid "Clear"
msgstr ""
#: src/guiKeyChangeMenu.h:34
msgid "Return"
msgstr "Invio"
#: src/guiKeyChangeMenu.h:34
msgid "Tab"
msgstr ""
#: src/guiKeyChangeMenu.h:34
msgid "X Button 2"
msgstr ""
#: src/guiKeyChangeMenu.h:35
msgid "Capital"
msgstr ""
#: src/guiKeyChangeMenu.h:35
msgid "Control"
msgstr ""
#: src/guiKeyChangeMenu.h:35
msgid "Kana"
msgstr ""
#: src/guiKeyChangeMenu.h:35
msgid "Menu"
msgstr ""
#: src/guiKeyChangeMenu.h:35
msgid "Pause"
msgstr ""
#: src/guiKeyChangeMenu.h:35
msgid "Shift"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Convert"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Escape"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Final"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Junja"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Kanji"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Nonconvert"
msgstr ""
#: src/guiKeyChangeMenu.h:37
msgid "Accept"
msgstr ""
#: src/guiKeyChangeMenu.h:37
msgid "End"
msgstr ""
#: src/guiKeyChangeMenu.h:37
msgid "Home"
msgstr ""
#: src/guiKeyChangeMenu.h:37
msgid "Mode Change"
msgstr ""
#: src/guiKeyChangeMenu.h:37
msgid "Next"
msgstr ""
#: src/guiKeyChangeMenu.h:37
msgid "Priot"
msgstr ""
#: src/guiKeyChangeMenu.h:37
msgid "Space"
msgstr "Spazio"
#: src/guiKeyChangeMenu.h:38
msgid "Down"
msgstr "Giù"
#: src/guiKeyChangeMenu.h:38
msgid "Execute"
msgstr ""
#: src/guiKeyChangeMenu.h:38
msgid "Print"
msgstr "Stampa"
#: src/guiKeyChangeMenu.h:38
msgid "Select"
msgstr ""
#: src/guiKeyChangeMenu.h:38
msgid "Up"
msgstr ""
#: src/guiKeyChangeMenu.h:39
msgid "Delete"
msgstr "Cancella"
#: src/guiKeyChangeMenu.h:39
msgid "Help"
msgstr ""
#: src/guiKeyChangeMenu.h:39
msgid "Insert"
msgstr ""
#: src/guiKeyChangeMenu.h:39
msgid "Snapshot"
msgstr ""
#: src/guiKeyChangeMenu.h:42
msgid "Left Windows"
msgstr ""
#: src/guiKeyChangeMenu.h:43
msgid "Apps"
msgstr ""
#: src/guiKeyChangeMenu.h:43
msgid "Numpad 0"
msgstr ""
#: src/guiKeyChangeMenu.h:43
msgid "Numpad 1"
msgstr ""
#: src/guiKeyChangeMenu.h:43
msgid "Right Windows"
msgstr ""
#: src/guiKeyChangeMenu.h:43
msgid "Sleep"
msgstr ""
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 2"
msgstr ""
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 3"
msgstr ""
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 4"
msgstr ""
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 5"
msgstr ""
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 6"
msgstr ""
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 7"
msgstr ""
#: src/guiKeyChangeMenu.h:45
msgid "Numpad *"
msgstr ""
#: src/guiKeyChangeMenu.h:45
msgid "Numpad +"
msgstr ""
#: src/guiKeyChangeMenu.h:45
msgid "Numpad -"
msgstr ""
#: src/guiKeyChangeMenu.h:45
msgid "Numpad /"
msgstr ""
#: src/guiKeyChangeMenu.h:45
msgid "Numpad 8"
msgstr ""
#: src/guiKeyChangeMenu.h:45
msgid "Numpad 9"
msgstr ""
#: src/guiKeyChangeMenu.h:49
msgid "Num Lock"
msgstr ""
#: src/guiKeyChangeMenu.h:49
msgid "Scroll Lock"
msgstr ""
#: src/guiKeyChangeMenu.h:50
msgid "Left Shift"
msgstr ""
#: src/guiKeyChangeMenu.h:50
msgid "Right Shight"
msgstr ""
#: src/guiKeyChangeMenu.h:51
msgid "Left Control"
msgstr ""
#: src/guiKeyChangeMenu.h:51
msgid "Left Menu"
msgstr ""
#: src/guiKeyChangeMenu.h:51
msgid "Right Control"
msgstr ""
#: src/guiKeyChangeMenu.h:51
msgid "Right Menu"
msgstr ""
#: src/guiKeyChangeMenu.h:53
msgid "Comma"
msgstr ""
#: src/guiKeyChangeMenu.h:53
msgid "Minus"
msgstr ""
#: src/guiKeyChangeMenu.h:53
msgid "Period"
msgstr ""
#: src/guiKeyChangeMenu.h:53
msgid "Plus"
msgstr ""
#: src/guiKeyChangeMenu.h:57
msgid "Attn"
msgstr ""
#: src/guiKeyChangeMenu.h:57
msgid "CrSel"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "Erase OEF"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "ExSel"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "OEM Clear"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "PA1"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "Play"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "Zoom"
msgstr ""
#: src/guiMainMenu.cpp:181
msgid "Name/Password"
msgstr "Nome/Password"
#: src/guiMainMenu.cpp:206
msgid "Address/Port"
msgstr "Indirizzo/Porta"
#: src/guiMainMenu.cpp:228
msgid "Leave address blank to start a local server."
msgstr "Lascia vuoto l'indirizzo per avviare un server locale"
#: src/guiMainMenu.cpp:235
msgid "Fancy trees"
msgstr "Alberi strani"
#: src/guiMainMenu.cpp:241
msgid "Smooth Lighting"
msgstr ""
#: src/guiMainMenu.cpp:249
msgid "Start Game / Connect"
msgstr "Avvia Gioco / Connetti"
#: src/guiMainMenu.cpp:258
msgid "Change keys"
msgstr "Modifica tasti"
#: src/guiMainMenu.cpp:281
msgid "Creative Mode"
msgstr "Modalità creativa"
#: src/guiMainMenu.cpp:287
msgid "Enable Damage"
msgstr "Attiva Danno"
#: src/guiMainMenu.cpp:295
msgid "Delete map"
msgstr "Cancella mappa"
#: src/guiMessageMenu.cpp:94 src/guiTextInputMenu.cpp:112
msgid "Proceed"
msgstr "Procedi"
#: src/guiPasswordChange.cpp:103
msgid "Old Password"
msgstr "Vecchia password"
#: src/guiPasswordChange.cpp:120
msgid "New Password"
msgstr "Nuova password"
#: src/guiPasswordChange.cpp:136
msgid "Confirm Password"
msgstr "Conferma password"
#: src/guiPasswordChange.cpp:153
msgid "Change"
msgstr "Modifica"
#: src/guiPasswordChange.cpp:162
msgid "Passwords do not match!"
msgstr "Le password non corrispondono!"
#: src/guiPauseMenu.cpp:111
msgid "Continue"
msgstr "Continua"
#: src/guiPauseMenu.cpp:118
msgid "Change Password"
msgstr "Cambia password"
#: src/guiPauseMenu.cpp:125
msgid "Disconnect"
msgstr "Disconnetti"
#: src/guiPauseMenu.cpp:132
msgid "Exit to OS"
msgstr "Esci al S.O."
#: src/guiPauseMenu.cpp:139
#, fuzzy
msgid ""
"Default Controls:\n"
"- WASD: Walk\n"
"- Mouse left: dig/hit\n"
"- Mouse right: place/use\n"
"- Mouse wheel: select item\n"
"- 0...9: select item\n"
"- Shift: sneak\n"
"- R: Toggle viewing all loaded chunks\n"
"- I: Inventory menu\n"
"- ESC: This menu\n"
"- T: Chat\n"
msgstr ""
"Tasti:\n"
"- WASD: Cammina\n"
"- Mouse left: scava blocchi\n"
"- Mouse right: piazza blocchi\n"
"- Mouse wheel: seleziona oggetto\n"
"- 0...9: seleziona oggetto\n"
"- Shift: furtivo\n"
"- R: (Dis)attiva motra tutti i blocchi caricati\n"
"- I: Inventario\n"
"- ESC: Questo menu\n"
"- T: Parla\n"

487
po/minetest.pot Normal file
View File

@@ -0,0 +1,487 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: minetest\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-08-02 12:36+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: src/guiKeyChangeMenu.cpp:84
msgid "KEYBINDINGS"
msgstr ""
#: src/guiKeyChangeMenu.cpp:94
msgid "Forward"
msgstr ""
#: src/guiKeyChangeMenu.cpp:111
msgid "Backward"
msgstr ""
#: src/guiKeyChangeMenu.cpp:127 src/guiKeyChangeMenu.h:38
msgid "Left"
msgstr ""
#: src/guiKeyChangeMenu.cpp:142 src/guiKeyChangeMenu.h:38
msgid "Right"
msgstr ""
#: src/guiKeyChangeMenu.cpp:158
msgid "Use"
msgstr ""
#: src/guiKeyChangeMenu.cpp:173
msgid "Sneak"
msgstr ""
#: src/guiKeyChangeMenu.cpp:189
msgid "Jump"
msgstr ""
#: src/guiKeyChangeMenu.cpp:204
msgid "Inventory"
msgstr ""
#: src/guiKeyChangeMenu.cpp:220
msgid "Chat"
msgstr ""
#: src/guiKeyChangeMenu.cpp:236
msgid "Toggle fly"
msgstr ""
#: src/guiKeyChangeMenu.cpp:251
msgid "Toggle fast"
msgstr ""
#: src/guiKeyChangeMenu.cpp:266
msgid "Range select"
msgstr ""
#: src/guiKeyChangeMenu.cpp:283
msgid "Print stacks"
msgstr ""
#: src/guiKeyChangeMenu.cpp:298
msgid "Save"
msgstr ""
#: src/guiKeyChangeMenu.cpp:304 src/guiKeyChangeMenu.h:33
msgid "Cancel"
msgstr ""
#: src/guiKeyChangeMenu.cpp:537 src/guiKeyChangeMenu.cpp:542
#: src/guiKeyChangeMenu.cpp:547 src/guiKeyChangeMenu.cpp:552
#: src/guiKeyChangeMenu.cpp:557 src/guiKeyChangeMenu.cpp:562
#: src/guiKeyChangeMenu.cpp:567 src/guiKeyChangeMenu.cpp:572
#: src/guiKeyChangeMenu.cpp:577 src/guiKeyChangeMenu.cpp:582
#: src/guiKeyChangeMenu.cpp:587 src/guiKeyChangeMenu.cpp:592
#: src/guiKeyChangeMenu.cpp:597
msgid "press Key"
msgstr ""
#: src/guiKeyChangeMenu.h:33
msgid "Left Button"
msgstr ""
#: src/guiKeyChangeMenu.h:33
msgid "Middle Button"
msgstr ""
#: src/guiKeyChangeMenu.h:33
msgid "Right Button"
msgstr ""
#: src/guiKeyChangeMenu.h:33
msgid "X Button 1"
msgstr ""
#: src/guiKeyChangeMenu.h:34
msgid "Back"
msgstr ""
#: src/guiKeyChangeMenu.h:34
msgid "Clear"
msgstr ""
#: src/guiKeyChangeMenu.h:34
msgid "Return"
msgstr ""
#: src/guiKeyChangeMenu.h:34
msgid "Tab"
msgstr ""
#: src/guiKeyChangeMenu.h:34
msgid "X Button 2"
msgstr ""
#: src/guiKeyChangeMenu.h:35
msgid "Capital"
msgstr ""
#: src/guiKeyChangeMenu.h:35
msgid "Control"
msgstr ""
#: src/guiKeyChangeMenu.h:35
msgid "Kana"
msgstr ""
#: src/guiKeyChangeMenu.h:35
msgid "Menu"
msgstr ""
#: src/guiKeyChangeMenu.h:35
msgid "Pause"
msgstr ""
#: src/guiKeyChangeMenu.h:35
msgid "Shift"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Convert"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Escape"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Final"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Junja"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Kanji"
msgstr ""
#: src/guiKeyChangeMenu.h:36
msgid "Nonconvert"
msgstr ""
#: src/guiKeyChangeMenu.h:37
msgid "Accept"
msgstr ""
#: src/guiKeyChangeMenu.h:37
msgid "End"
msgstr ""
#: src/guiKeyChangeMenu.h:37
msgid "Home"
msgstr ""
#: src/guiKeyChangeMenu.h:37
msgid "Mode Change"
msgstr ""
#: src/guiKeyChangeMenu.h:37
msgid "Next"
msgstr ""
#: src/guiKeyChangeMenu.h:37
msgid "Priot"
msgstr ""
#: src/guiKeyChangeMenu.h:37
msgid "Space"
msgstr ""
#: src/guiKeyChangeMenu.h:38
msgid "Down"
msgstr ""
#: src/guiKeyChangeMenu.h:38
msgid "Execute"
msgstr ""
#: src/guiKeyChangeMenu.h:38
msgid "Print"
msgstr ""
#: src/guiKeyChangeMenu.h:38
msgid "Select"
msgstr ""
#: src/guiKeyChangeMenu.h:38
msgid "Up"
msgstr ""
#: src/guiKeyChangeMenu.h:39
msgid "Delete"
msgstr ""
#: src/guiKeyChangeMenu.h:39
msgid "Help"
msgstr ""
#: src/guiKeyChangeMenu.h:39
msgid "Insert"
msgstr ""
#: src/guiKeyChangeMenu.h:39
msgid "Snapshot"
msgstr ""
#: src/guiKeyChangeMenu.h:42
msgid "Left Windows"
msgstr ""
#: src/guiKeyChangeMenu.h:43
msgid "Apps"
msgstr ""
#: src/guiKeyChangeMenu.h:43
msgid "Numpad 0"
msgstr ""
#: src/guiKeyChangeMenu.h:43
msgid "Numpad 1"
msgstr ""
#: src/guiKeyChangeMenu.h:43
msgid "Right Windows"
msgstr ""
#: src/guiKeyChangeMenu.h:43
msgid "Sleep"
msgstr ""
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 2"
msgstr ""
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 3"
msgstr ""
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 4"
msgstr ""
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 5"
msgstr ""
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 6"
msgstr ""
#: src/guiKeyChangeMenu.h:44
msgid "Numpad 7"
msgstr ""
#: src/guiKeyChangeMenu.h:45
msgid "Numpad *"
msgstr ""
#: src/guiKeyChangeMenu.h:45
msgid "Numpad +"
msgstr ""
#: src/guiKeyChangeMenu.h:45
msgid "Numpad -"
msgstr ""
#: src/guiKeyChangeMenu.h:45
msgid "Numpad /"
msgstr ""
#: src/guiKeyChangeMenu.h:45
msgid "Numpad 8"
msgstr ""
#: src/guiKeyChangeMenu.h:45
msgid "Numpad 9"
msgstr ""
#: src/guiKeyChangeMenu.h:49
msgid "Num Lock"
msgstr ""
#: src/guiKeyChangeMenu.h:49
msgid "Scroll Lock"
msgstr ""
#: src/guiKeyChangeMenu.h:50
msgid "Left Shift"
msgstr ""
#: src/guiKeyChangeMenu.h:50
msgid "Right Shight"
msgstr ""
#: src/guiKeyChangeMenu.h:51
msgid "Left Control"
msgstr ""
#: src/guiKeyChangeMenu.h:51
msgid "Left Menu"
msgstr ""
#: src/guiKeyChangeMenu.h:51
msgid "Right Control"
msgstr ""
#: src/guiKeyChangeMenu.h:51
msgid "Right Menu"
msgstr ""
#: src/guiKeyChangeMenu.h:53
msgid "Comma"
msgstr ""
#: src/guiKeyChangeMenu.h:53
msgid "Minus"
msgstr ""
#: src/guiKeyChangeMenu.h:53
msgid "Period"
msgstr ""
#: src/guiKeyChangeMenu.h:53
msgid "Plus"
msgstr ""
#: src/guiKeyChangeMenu.h:57
msgid "Attn"
msgstr ""
#: src/guiKeyChangeMenu.h:57
msgid "CrSel"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "Erase OEF"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "ExSel"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "OEM Clear"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "PA1"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "Play"
msgstr ""
#: src/guiKeyChangeMenu.h:58
msgid "Zoom"
msgstr ""
#: src/guiMainMenu.cpp:181
msgid "Name/Password"
msgstr ""
#: src/guiMainMenu.cpp:206
msgid "Address/Port"
msgstr ""
#: src/guiMainMenu.cpp:228
msgid "Leave address blank to start a local server."
msgstr ""
#: src/guiMainMenu.cpp:235
msgid "Fancy trees"
msgstr ""
#: src/guiMainMenu.cpp:241
msgid "Smooth Lighting"
msgstr ""
#: src/guiMainMenu.cpp:249
msgid "Start Game / Connect"
msgstr ""
#: src/guiMainMenu.cpp:258
msgid "Change keys"
msgstr ""
#: src/guiMainMenu.cpp:281
msgid "Creative Mode"
msgstr ""
#: src/guiMainMenu.cpp:287
msgid "Enable Damage"
msgstr ""
#: src/guiMainMenu.cpp:295
msgid "Delete map"
msgstr ""
#: src/guiMessageMenu.cpp:94 src/guiTextInputMenu.cpp:112
msgid "Proceed"
msgstr ""
#: src/guiPasswordChange.cpp:103
msgid "Old Password"
msgstr ""
#: src/guiPasswordChange.cpp:120
msgid "New Password"
msgstr ""
#: src/guiPasswordChange.cpp:136
msgid "Confirm Password"
msgstr ""
#: src/guiPasswordChange.cpp:153
msgid "Change"
msgstr ""
#: src/guiPasswordChange.cpp:162
msgid "Passwords do not match!"
msgstr ""
#: src/guiPauseMenu.cpp:111
msgid "Continue"
msgstr ""
#: src/guiPauseMenu.cpp:118
msgid "Change Password"
msgstr ""
#: src/guiPauseMenu.cpp:125
msgid "Disconnect"
msgstr ""
#: src/guiPauseMenu.cpp:132
msgid "Exit to OS"
msgstr ""
#: src/guiPauseMenu.cpp:139
msgid ""
"Default Controls:\n"
"- WASD: Walk\n"
"- Mouse left: dig/hit\n"
"- Mouse right: place/use\n"
"- Mouse wheel: select item\n"
"- 0...9: select item\n"
"- Shift: sneak\n"
"- R: Toggle viewing all loaded chunks\n"
"- I: Inventory menu\n"
"- ESC: This menu\n"
"- T: Chat\n"
msgstr ""

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 498 B

After

Width:  |  Height:  |  Size: 498 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

Before

Width:  |  Height:  |  Size: 582 B

After

Width:  |  Height:  |  Size: 582 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 710 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 489 B

859
share/server/builtin.lua Normal file
View File

@@ -0,0 +1,859 @@
--
-- This file contains built-in stuff in Minetest implemented in Lua.
--
-- It is always loaded and executed after registration of the C API,
-- before loading and running any mods.
--
--
-- Override some Lua library functions
--
print = minetest.debug
--
--
--
function basic_dump2(o)
if type(o) == "number" then
return tostring(o)
elseif type(o) == "string" then
return string.format("%q", o)
elseif type(o) == "boolean" then
return tostring(o)
elseif type(o) == "function" then
return "<function>"
elseif type(o) == "userdata" then
return "<userdata>"
elseif type(o) == "nil" then
return "nil"
else
error("cannot dump a " .. type(o))
return nil
end
end
function dump2(o, name, dumped)
name = name or "_"
dumped = dumped or {}
io.write(name, " = ")
if type(o) == "number" or type(o) == "string" or type(o) == "boolean"
or type(o) == "function" or type(o) == "nil"
or type(o) == "userdata" then
io.write(basic_dump2(o), "\n")
elseif type(o) == "table" then
if dumped[o] then
io.write(dumped[o], "\n")
else
dumped[o] = name
io.write("{}\n") -- new table
for k,v in pairs(o) do
local fieldname = string.format("%s[%s]", name, basic_dump2(k))
dump2(v, fieldname, dumped)
end
end
else
error("cannot dump a " .. type(o))
return nil
end
end
function dump(o, dumped)
dumped = dumped or {}
if type(o) == "number" then
return tostring(o)
elseif type(o) == "string" then
return string.format("%q", o)
elseif type(o) == "table" then
if dumped[o] then
return "<circular reference>"
end
dumped[o] = true
local t = {}
for k,v in pairs(o) do
t[#t+1] = "" .. k .. " = " .. dump(v, dumped)
end
return "{" .. table.concat(t, ", ") .. "}"
elseif type(o) == "boolean" then
return tostring(o)
elseif type(o) == "function" then
return "<function>"
elseif type(o) == "userdata" then
return "<userdata>"
elseif type(o) == "nil" then
return "nil"
else
error("cannot dump a " .. type(o))
return nil
end
end
--
-- Item definition helpers
--
function minetest.inventorycube(img1, img2, img3)
img2 = img2 or img1
img3 = img3 or img1
return "[inventorycube"
.. "{" .. img1:gsub("%^", "&")
.. "{" .. img2:gsub("%^", "&")
.. "{" .. img3:gsub("%^", "&")
end
function minetest.pos_to_string(pos)
return "(" .. pos.x .. "," .. pos.y .. "," .. pos.z .. ")"
end
function minetest.get_pointed_thing_position(pointed_thing, above)
if pointed_thing.type == "node" then
if above then
-- The position where a node would be placed
return pointed_thing.above
else
-- The position where a node would be dug
return pointed_thing.under
end
elseif pointed_thing.type == "object" then
obj = pointed_thing.ref
if obj ~= nil then
return obj:getpos()
else
return nil
end
else
return nil
end
end
function minetest.dir_to_facedir(dir)
if math.abs(dir.x) > math.abs(dir.z) then
if dir.x < 0 then
return 3
else
return 1
end
else
if dir.z < 0 then
return 2
else
return 0
end
end
end
function minetest.dir_to_wallmounted(dir)
if math.abs(dir.y) > math.max(math.abs(dir.x), math.abs(dir.z)) then
if dir.y < 0 then
return 1
else
return 0
end
elseif math.abs(dir.x) > math.abs(dir.z) then
if dir.x < 0 then
return 3
else
return 2
end
else
if dir.z < 0 then
return 5
else
return 4
end
end
end
function minetest.get_node_drops(nodename, toolname)
local drop = ItemStack({name=nodename}):get_definition().drop
if drop == nil then
-- default drop
return {ItemStack({name=nodename})}
elseif type(drop) == "string" then
-- itemstring drop
return {ItemStack(drop)}
elseif drop.items == nil then
-- drop = {} to disable default drop
return {}
end
-- Extended drop table
local got_items = {}
local got_count = 0
local _, item, tool
for _, item in ipairs(drop.items) do
local good_rarity = true
local good_tool = true
if item.rarity ~= nil then
good_rarity = item.rarity < 1 or math.random(item.rarity) == 1
end
if item.tools ~= nil then
good_tool = false
for _, tool in ipairs(item.tools) do
if tool:sub(1, 1) == '~' then
good_tool = toolname:find(tool:sub(2)) ~= nil
else
good_tool = toolname == tool
end
if good_tool then
break
end
end
end
if good_rarity and good_tool then
got_count = got_count + 1
for _, add_item in ipairs(item.items) do
got_items[#got_items+1] = add_item
end
if drop.max_items ~= nil and got_count == drop.max_items then
break
end
end
end
return got_items
end
function minetest.item_place_node(itemstack, placer, pointed_thing)
local item = itemstack:peek_item()
local def = itemstack:get_definition()
if def.type == "node" and pointed_thing.type == "node" then
local pos = pointed_thing.above
local oldnode = minetest.env:get_node(pos)
local olddef = ItemStack({name=oldnode.name}):get_definition()
if not olddef.buildable_to then
minetest.log("info", placer:get_player_name() .. " tried to place"
.. " node in invalid position " .. minetest.pos_to_string(pos)
.. ", replacing " .. oldnode.name)
return
end
minetest.log("action", placer:get_player_name() .. " places node "
.. def.name .. " at " .. minetest.pos_to_string(pos))
local newnode = {name = def.name, param1 = 0, param2 = 0}
-- Calculate direction for wall mounted stuff like torches and signs
if def.paramtype2 == 'wallmounted' then
local under = pointed_thing.under
local above = pointed_thing.above
local dir = {x = under.x - above.x, y = under.y - above.y, z = under.z - above.z}
newnode.param2 = minetest.dir_to_wallmounted(dir)
-- Calculate the direction for furnaces and chests and stuff
elseif def.paramtype2 == 'facedir' then
local playerpos = placer:getpos()
local dir = {x = pos.x - playerpos.x, y = pos.y - playerpos.y, z = pos.z - playerpos.z}
newnode.param2 = minetest.dir_to_facedir(dir)
minetest.log("action", "facedir: " .. newnode.param2)
end
-- Add node and update
minetest.env:add_node(pos, newnode)
-- Set metadata owner
if def.metadata_name ~= "" then
minetest.env:get_meta(pos):set_owner(placer:get_player_name())
end
-- Run script hook
local _, callback
for _, callback in ipairs(minetest.registered_on_placenodes) do
callback(pos, newnode, placer)
end
itemstack:take_item()
end
return itemstack
end
function minetest.item_place_object(itemstack, placer, pointed_thing)
local pos = minetest.get_pointed_thing_position(pointed_thing, true)
if pos ~= nil then
local item = itemstack:take_item()
minetest.env:add_item(pos, item)
end
return itemstack
end
function minetest.item_place(itemstack, placer, pointed_thing)
if itemstack:get_definition().type == "node" then
return minetest.item_place_node(itemstack, placer, pointed_thing)
else
return minetest.item_place_object(itemstack, placer, pointed_thing)
end
end
function minetest.item_drop(itemstack, dropper, pos)
minetest.env:add_item(pos, itemstack)
return ""
end
function minetest.item_eat(hp_change, replace_with_item)
return function(itemstack, user, pointed_thing) -- closure
if itemstack:take_item() ~= nil then
user:set_hp(user:get_hp() + hp_change)
itemstack:add_item(replace_with_item) -- note: replace_with_item is optional
end
return itemstack
end
end
function minetest.node_punch(pos, node, puncher)
-- Run script hook
local _, callback
for _, callback in ipairs(minetest.registered_on_punchnodes) do
callback(pos, node, puncher)
end
end
function minetest.node_dig(pos, node, digger)
minetest.debug("node_dig")
local def = ItemStack({name=node.name}):get_definition()
if not def.diggable then
minetest.debug("not diggable")
minetest.log("info", digger:get_player_name() .. " tried to dig "
.. node.name .. " which is not diggable "
.. minetest.pos_to_string(pos))
return
end
local meta = minetest.env:get_meta(pos)
if meta ~= nil and not meta:get_allow_removal() then
minetest.debug("dig prevented by metadata")
minetest.log("info", digger:get_player_name() .. " tried to dig "
.. node.name .. ", but removal is disabled by metadata "
.. minetest.pos_to_string(pos))
return
end
minetest.log('action', digger:get_player_name() .. " digs "
.. node.name .. " at " .. minetest.pos_to_string(pos))
if not minetest.setting_getbool("creative_mode") then
local wielded = digger:get_wielded_item()
local drops = minetest.get_node_drops(node.name, wielded:get_name())
-- Wear out tool
tp = wielded:get_tool_capabilities()
dp = minetest.get_dig_params(def.groups, tp)
wielded:add_wear(dp.wear)
digger:set_wielded_item(wielded)
-- Add dropped items
local _, dropped_item
for _, dropped_item in ipairs(drops) do
digger:get_inventory():add_item("main", dropped_item)
end
end
-- Remove node and update
minetest.env:remove_node(pos)
-- Run script hook
local _, callback
for _, callback in ipairs(minetest.registered_on_dignodes) do
callback(pos, node, digger)
end
end
--
-- Item definition defaults
--
minetest.nodedef_default = {
-- Item properties
type="node",
-- name intentionally not defined here
description = "",
groups = {},
inventory_image = "",
wield_image = "",
wield_scale = {x=1,y=1,z=1},
stack_max = 99,
usable = false,
liquids_pointable = false,
tool_capabilities = nil,
-- Interaction callbacks
on_place = minetest.item_place,
on_drop = minetest.item_drop,
on_use = nil,
on_punch = minetest.node_punch,
on_dig = minetest.node_dig,
-- Node properties
drawtype = "normal",
visual_scale = 1.0,
tile_images = {""},
special_materials = {
{image="", backface_culling=true},
{image="", backface_culling=true},
},
alpha = 255,
post_effect_color = {a=0, r=0, g=0, b=0},
paramtype = "none",
paramtype2 = "none",
is_ground_content = false,
sunlight_propagates = false,
walkable = true,
pointable = true,
diggable = true,
climbable = false,
buildable_to = false,
metadata_name = "",
liquidtype = "none",
liquid_alternative_flowing = "",
liquid_alternative_source = "",
liquid_viscosity = 0,
light_source = 0,
damage_per_second = 0,
selection_box = {type="regular"},
legacy_facedir_simple = false,
legacy_wallmounted = false,
}
minetest.craftitemdef_default = {
type="craft",
-- name intentionally not defined here
description = "",
groups = {},
inventory_image = "",
wield_image = "",
wield_scale = {x=1,y=1,z=1},
stack_max = 99,
liquids_pointable = false,
tool_capabilities = nil,
-- Interaction callbacks
on_place = minetest.item_place,
on_drop = minetest.item_drop,
on_use = nil,
}
minetest.tooldef_default = {
type="tool",
-- name intentionally not defined here
description = "",
groups = {},
inventory_image = "",
wield_image = "",
wield_scale = {x=1,y=1,z=1},
stack_max = 1,
liquids_pointable = false,
tool_capabilities = nil,
-- Interaction callbacks
on_place = minetest.item_place,
on_drop = minetest.item_drop,
on_use = nil,
}
minetest.noneitemdef_default = { -- This is used for the hand and unknown items
type="none",
-- name intentionally not defined here
description = "",
groups = {},
inventory_image = "",
wield_image = "",
wield_scale = {x=1,y=1,z=1},
stack_max = 99,
liquids_pointable = false,
tool_capabilities = nil,
-- Interaction callbacks
on_place = nil,
on_drop = nil,
on_use = nil,
}
--
-- Make raw registration functions inaccessible to anyone except builtin.lua
--
local register_item_raw = minetest.register_item_raw
minetest.register_item_raw = nil
local register_alias_raw = minetest.register_alias_raw
minetest.register_item_raw = nil
--
-- Item / entity / ABM registration functions
--
minetest.registered_abms = {}
minetest.registered_entities = {}
minetest.registered_items = {}
minetest.registered_nodes = {}
minetest.registered_craftitems = {}
minetest.registered_tools = {}
minetest.registered_aliases = {}
-- For tables that are indexed by item name:
-- If table[X] does not exist, default to table[minetest.registered_aliases[X]]
local function set_alias_metatable(table)
setmetatable(table, {
__index = function(name)
return rawget(table, minetest.registered_aliases[name])
end
})
end
set_alias_metatable(minetest.registered_items)
set_alias_metatable(minetest.registered_nodes)
set_alias_metatable(minetest.registered_craftitems)
set_alias_metatable(minetest.registered_tools)
-- These item names may not be used because they would interfere
-- with legacy itemstrings
local forbidden_item_names = {
MaterialItem = true,
MaterialItem2 = true,
MaterialItem3 = true,
NodeItem = true,
node = true,
CraftItem = true,
craft = true,
MBOItem = true,
ToolItem = true,
tool = true,
}
local function check_modname_prefix(name)
if name:sub(1,1) == ":" then
-- Escape the modname prefix enforcement mechanism
return name:sub(2)
else
-- Modname prefix enforcement
local expected_prefix = minetest.get_current_modname() .. ":"
if name:sub(1, #expected_prefix) ~= expected_prefix then
error("Name " .. name .. " does not follow naming conventions: " ..
"\"modname:\" or \":\" prefix required")
end
local subname = name:sub(#expected_prefix+1)
if subname:find("[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]") then
error("Name " .. name .. " does not follow naming conventions: " ..
"contains unallowed characters")
end
return name
end
end
function minetest.register_abm(spec)
-- Add to minetest.registered_abms
minetest.registered_abms[#minetest.registered_abms+1] = spec
end
function minetest.register_entity(name, prototype)
-- Check name
if name == nil then
error("Unable to register entity: Name is nil")
end
name = check_modname_prefix(tostring(name))
prototype.name = name
prototype.__index = prototype -- so that it can be used as a metatable
-- Add to minetest.registered_entities
minetest.registered_entities[name] = prototype
end
function minetest.register_item(name, itemdef)
-- Check name
if name == nil then
error("Unable to register item: Name is nil")
end
name = check_modname_prefix(tostring(name))
if forbidden_item_names[name] then
error("Unable to register item: Name is forbidden: " .. name)
end
itemdef.name = name
-- Apply defaults and add to registered_* table
if itemdef.type == "node" then
setmetatable(itemdef, {__index = minetest.nodedef_default})
minetest.registered_nodes[itemdef.name] = itemdef
elseif itemdef.type == "craft" then
setmetatable(itemdef, {__index = minetest.craftitemdef_default})
minetest.registered_craftitems[itemdef.name] = itemdef
elseif itemdef.type == "tool" then
setmetatable(itemdef, {__index = minetest.tooldef_default})
minetest.registered_tools[itemdef.name] = itemdef
elseif itemdef.type == "none" then
setmetatable(itemdef, {__index = minetest.noneitemdef_default})
else
error("Unable to register item: Type is invalid: " .. dump(itemdef))
end
-- Flowing liquid uses param2
if itemdef.type == "node" and itemdef.liquidtype == "flowing" then
itemdef.paramtype2 = "flowingliquid"
end
-- BEGIN Legacy stuff
if itemdef.cookresult_itemstring ~= nil and itemdef.cookresult_itemstring ~= "" then
minetest.register_craft({
type="cooking",
output=itemdef.cookresult_itemstring,
recipe=itemdef.name,
cooktime=itemdef.furnace_cooktime
})
end
if itemdef.furnace_burntime ~= nil and itemdef.furnace_burntime >= 0 then
minetest.register_craft({
type="fuel",
recipe=itemdef.name,
burntime=itemdef.furnace_burntime
})
end
-- END Legacy stuff
-- Disable all further modifications
getmetatable(itemdef).__newindex = {}
--minetest.log("Registering item: " .. itemdef.name)
minetest.registered_items[itemdef.name] = itemdef
minetest.registered_aliases[itemdef.name] = nil
register_item_raw(itemdef)
end
function minetest.register_node(name, nodedef)
nodedef.type = "node"
minetest.register_item(name, nodedef)
end
function minetest.register_craftitem(name, craftitemdef)
craftitemdef.type = "craft"
-- BEGIN Legacy stuff
if craftitemdef.inventory_image == nil and craftitemdef.image ~= nil then
craftitemdef.inventory_image = craftitemdef.image
end
-- END Legacy stuff
minetest.register_item(name, craftitemdef)
end
function minetest.register_tool(name, tooldef)
tooldef.type = "tool"
tooldef.stack_max = 1
-- BEGIN Legacy stuff
if tooldef.inventory_image == nil and tooldef.image ~= nil then
tooldef.inventory_image = tooldef.image
end
if tooldef.tool_capabilities == nil and
(tooldef.full_punch_interval ~= nil or
tooldef.basetime ~= nil or
tooldef.dt_weight ~= nil or
tooldef.dt_crackiness ~= nil or
tooldef.dt_crumbliness ~= nil or
tooldef.dt_cuttability ~= nil or
tooldef.basedurability ~= nil or
tooldef.dd_weight ~= nil or
tooldef.dd_crackiness ~= nil or
tooldef.dd_crumbliness ~= nil or
tooldef.dd_cuttability ~= nil) then
tooldef.tool_capabilities = {
full_punch_interval = tooldef.full_punch_interval,
basetime = tooldef.basetime,
dt_weight = tooldef.dt_weight,
dt_crackiness = tooldef.dt_crackiness,
dt_crumbliness = tooldef.dt_crumbliness,
dt_cuttability = tooldef.dt_cuttability,
basedurability = tooldef.basedurability,
dd_weight = tooldef.dd_weight,
dd_crackiness = tooldef.dd_crackiness,
dd_crumbliness = tooldef.dd_crumbliness,
dd_cuttability = tooldef.dd_cuttability,
}
end
-- END Legacy stuff
minetest.register_item(name, tooldef)
end
function minetest.register_alias(name, convert_to)
if forbidden_item_names[name] then
error("Unable to register alias: Name is forbidden: " .. name)
end
if minetest.registered_items[name] ~= nil then
minetest.log("WARNING: Not registering alias, item with same name" ..
" is already defined: " .. name .. " -> " .. convert_to)
else
--minetest.log("Registering alias: " .. name .. " -> " .. convert_to)
minetest.registered_aliases[name] = convert_to
register_alias_raw(name, convert_to)
end
end
-- Alias the forbidden item names to "" so they can't be
-- created via itemstrings (e.g. /give)
local name
for name in pairs(forbidden_item_names) do
minetest.registered_aliases[name] = ""
register_alias_raw(name, "")
end
-- Deprecated:
-- Aliases for minetest.register_alias (how ironic...)
--minetest.alias_node = minetest.register_alias
--minetest.alias_tool = minetest.register_alias
--minetest.alias_craftitem = minetest.register_alias
--
-- Built-in node definitions. Also defined in C.
--
minetest.register_item(":unknown", {
type = "none",
description = "Unknown Item",
inventory_image = "unknown_item.png",
on_place = minetest.item_place,
on_drop = minetest.item_drop,
})
minetest.register_node(":air", {
description = "Air (you hacker you!)",
inventory_image = "unknown_block.png",
wield_image = "unknown_block.png",
drawtype = "airlike",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
air_equivalent = true,
})
minetest.register_node(":ignore", {
description = "Ignore (you hacker you!)",
inventory_image = "unknown_block.png",
wield_image = "unknown_block.png",
drawtype = "airlike",
paramtype = "none",
sunlight_propagates = false,
walkable = false,
pointable = false,
diggable = false,
buildable_to = true, -- A way to remove accidentally placed ignores
air_equivalent = true,
})
-- The hand (bare definition)
minetest.register_item(":", {
type = "none",
})
--
-- Default material types
--
function minetest.digprop_constanttime(time)
return {
diggability = "constant",
constant_time = time,
}
end
function minetest.digprop_stonelike(toughness)
return {
diggablity = "normal",
weight = toughness * 5,
crackiness = 1,
crumbliness = -0.1,
cuttability = -0.2,
}
end
function minetest.digprop_dirtlike(toughness)
return {
diggablity = "normal",
weight = toughness * 1.2,
crackiness = 0,
crumbliness = 1.2,
cuttability = -0.4,
}
end
function minetest.digprop_gravellike(toughness)
return {
diggablity = "normal",
weight = toughness * 2,
crackiness = 0.2,
crumbliness = 1.5,
cuttability = -1.0,
}
end
function minetest.digprop_woodlike(toughness)
return {
diggablity = "normal",
weight = toughness * 1.0,
crackiness = 0.75,
crumbliness = -1.0,
cuttability = 1.5,
}
end
function minetest.digprop_leaveslike(toughness)
return {
diggablity = "normal",
weight = toughness * (-0.5),
crackiness = 0,
crumbliness = 0,
cuttability = 2.0,
}
end
function minetest.digprop_glasslike(toughness)
return {
diggablity = "normal",
weight = toughness * 0.1,
crackiness = 2.0,
crumbliness = -1.0,
cuttability = -1.0,
}
end
--
-- Creative inventory
--
minetest.creative_inventory = {}
minetest.add_to_creative_inventory = function(itemstring)
table.insert(minetest.creative_inventory, itemstring)
end
--
-- Callback registration
--
local function make_registration()
local t = {}
local registerfunc = function(func) table.insert(t, func) end
return t, registerfunc
end
minetest.registered_on_chat_messages, minetest.register_on_chat_message = make_registration()
minetest.registered_globalsteps, minetest.register_globalstep = make_registration()
minetest.registered_on_placenodes, minetest.register_on_placenode = make_registration()
minetest.registered_on_dignodes, minetest.register_on_dignode = make_registration()
minetest.registered_on_punchnodes, minetest.register_on_punchnode = make_registration()
minetest.registered_on_generateds, minetest.register_on_generated = make_registration()
minetest.registered_on_newplayers, minetest.register_on_newplayer = make_registration()
minetest.registered_on_dieplayers, minetest.register_on_dieplayer = make_registration()
minetest.registered_on_respawnplayers, minetest.register_on_respawnplayer = make_registration()
--
-- Set random seed
--
math.randomseed(os.time())
-- END

View File

@@ -0,0 +1,2 @@
default

View File

@@ -0,0 +1,95 @@
-- bucket (Minetest 0.4 mod)
-- A bucket, which can pick up water and lava
minetest.register_alias("bucket", "bucket:bucket_empty")
minetest.register_alias("bucket_water", "bucket:bucket_water")
minetest.register_alias("bucket_lava", "bucket:bucket_lava")
minetest.register_craft({
output = 'bucket:bucket_empty 1',
recipe = {
{'default:steel_ingot', '', 'default:steel_ingot'},
{'', 'default:steel_ingot', ''},
}
})
bucket = {}
bucket.liquids = {}
-- Register a new liquid
-- source = name of the source node
-- flowing = name of the flowing node
-- itemname = name of the new bucket item (or nil if liquid is not takeable)
-- inventory_image = texture of the new bucket item (ignored if itemname == nil)
-- This function can be called from any mod (that depends on bucket).
function bucket.register_liquid(source, flowing, itemname, inventory_image)
bucket.liquids[source] = {
source = source,
flowing = flowing,
itemname = itemname,
}
bucket.liquids[flowing] = bucket.liquids[source]
if itemname ~= nil then
minetest.register_craftitem(itemname, {
inventory_image = inventory_image,
stack_max = 1,
liquids_pointable = true,
on_use = function(itemstack, user, pointed_thing)
-- Must be pointing to node
if pointed_thing.type ~= "node" then
return
end
-- Check if pointing to a liquid
n = minetest.env:get_node(pointed_thing.under)
if bucket.liquids[n.name] == nil then
-- Not a liquid
minetest.env:add_node(pointed_thing.above, {name=source})
elseif n.name ~= source then
-- It's a liquid
minetest.env:add_node(pointed_thing.under, {name=source})
end
return {name="bucket:bucket_empty"}
end
})
end
end
minetest.register_craftitem("bucket:bucket_empty", {
inventory_image = "bucket.png",
stack_max = 1,
liquids_pointable = true,
on_use = function(itemstack, user, pointed_thing)
-- Must be pointing to node
if pointed_thing.type ~= "node" then
return
end
-- Check if pointing to a liquid source
n = minetest.env:get_node(pointed_thing.under)
liquiddef = bucket.liquids[n.name]
if liquiddef ~= nil and liquiddef.source == n.name and liquiddef.itemname ~= nil then
minetest.env:add_node(pointed_thing.under, {name="air"})
return {name=liquiddef.itemname}
end
end,
})
bucket.register_liquid(
"default:water_source",
"default:water_flowing",
"bucket:bucket_water",
"bucket_water.png"
)
bucket.register_liquid(
"default:lava_source",
"default:lava_flowing",
"bucket:bucket_lava",
"bucket_lava.png"
)
minetest.register_craft({
type = "fuel",
recipe = "default:bucket_lava",
burntime = 60,
})

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 363 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 369 B

File diff suppressed because it is too large Load Diff

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 B

View File

Before

Width:  |  Height:  |  Size: 292 B

After

Width:  |  Height:  |  Size: 292 B

View File

Before

Width:  |  Height:  |  Size: 597 B

After

Width:  |  Height:  |  Size: 597 B

View File

Before

Width:  |  Height:  |  Size: 604 B

After

Width:  |  Height:  |  Size: 604 B

View File

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 279 B

View File

Before

Width:  |  Height:  |  Size: 236 B

After

Width:  |  Height:  |  Size: 236 B

View File

Before

Width:  |  Height:  |  Size: 167 B

After

Width:  |  Height:  |  Size: 167 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 B

View File

Before

Width:  |  Height:  |  Size: 151 B

After

Width:  |  Height:  |  Size: 151 B

View File

Before

Width:  |  Height:  |  Size: 142 B

After

Width:  |  Height:  |  Size: 142 B

View File

Before

Width:  |  Height:  |  Size: 613 B

After

Width:  |  Height:  |  Size: 613 B

View File

Before

Width:  |  Height:  |  Size: 249 B

After

Width:  |  Height:  |  Size: 249 B

View File

Before

Width:  |  Height:  |  Size: 210 B

After

Width:  |  Height:  |  Size: 210 B

View File

Before

Width:  |  Height:  |  Size: 118 B

After

Width:  |  Height:  |  Size: 118 B

View File

Before

Width:  |  Height:  |  Size: 933 B

After

Width:  |  Height:  |  Size: 933 B

View File

Before

Width:  |  Height:  |  Size: 830 B

After

Width:  |  Height:  |  Size: 830 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 539 B

After

Width:  |  Height:  |  Size: 539 B

View File

Before

Width:  |  Height:  |  Size: 246 B

After

Width:  |  Height:  |  Size: 246 B

View File

Before

Width:  |  Height:  |  Size: 236 B

After

Width:  |  Height:  |  Size: 236 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 978 B

View File

Before

Width:  |  Height:  |  Size: 874 B

After

Width:  |  Height:  |  Size: 874 B

View File

Before

Width:  |  Height:  |  Size: 856 B

After

Width:  |  Height:  |  Size: 856 B

View File

Before

Width:  |  Height:  |  Size: 878 B

After

Width:  |  Height:  |  Size: 878 B

View File

Before

Width:  |  Height:  |  Size: 591 B

After

Width:  |  Height:  |  Size: 591 B

View File

Before

Width:  |  Height:  |  Size: 936 B

After

Width:  |  Height:  |  Size: 936 B

View File

Before

Width:  |  Height:  |  Size: 672 B

After

Width:  |  Height:  |  Size: 672 B

View File

Before

Width:  |  Height:  |  Size: 502 B

After

Width:  |  Height:  |  Size: 502 B

View File

Before

Width:  |  Height:  |  Size: 507 B

After

Width:  |  Height:  |  Size: 507 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 395 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 357 B

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 203 B

After

Width:  |  Height:  |  Size: 203 B

View File

Before

Width:  |  Height:  |  Size: 952 B

After

Width:  |  Height:  |  Size: 952 B

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 965 B

After

Width:  |  Height:  |  Size: 965 B

View File

Before

Width:  |  Height:  |  Size: 303 B

After

Width:  |  Height:  |  Size: 303 B

View File

Before

Width:  |  Height:  |  Size: 410 B

After

Width:  |  Height:  |  Size: 410 B

View File

Before

Width:  |  Height:  |  Size: 203 B

After

Width:  |  Height:  |  Size: 203 B

View File

Before

Width:  |  Height:  |  Size: 260 B

After

Width:  |  Height:  |  Size: 260 B

View File

Before

Width:  |  Height:  |  Size: 242 B

After

Width:  |  Height:  |  Size: 242 B

Some files were not shown because too many files have changed in this diff Show More