Commit Graph

485 Commits (3b0891ba89f7a75f832032036a6aefa2573e325d)

Author SHA1 Message Date
Maikel de Vries 1df322b7ff adapt objects and scenarios to new component implementation 2016-05-21 13:34:34 +02:00
Mark 853af2c155 Merge 'master' into liquid_container 2016-05-01 08:43:05 +02:00
Maikel de Vries 3c267bb7dc making buying in flagpole work when flag is in non-nil object layer 2016-04-24 13:21:16 +02:00
Mark b6b5f5a79f Merge branch 'master' into liquid_container 2016-04-11 21:23:28 +02:00
Maikel de Vries fe0440f881 reduce size of shipyard to better fit in the landscape 2016-04-10 18:00:24 +02:00
Maikel de Vries 797ce5f589 fix basement solidmask for large widths 2016-04-10 17:03:30 +02:00
Maikel de Vries be96d62868 move ejection pop sound to structures subfolder 2016-04-10 12:26:34 +02:00
Mark dd7bf3e89e Merge remote-tracking branch 'origin/master' into liquid_container
Conflicts will be merged in the next commit:
	planet/Objects.ocd/Items.ocd/Tools.ocd/Pipe.ocd/PipeLine.ocd/Script.c
	planet/Objects.ocd/Items.ocd/Tools.ocd/Pipe.ocd/Script.c
2016-03-25 17:15:39 +01:00
Mark db061b5cad Refactoring: Simplified script.
Unit tests still pass.
2016-03-25 16:31:17 +01:00
Mark c0b783c976 Power: Fix unit test 20 2016-03-25 16:13:11 +01:00
Mark 274379ddc3 Producers: Fixed unit test 5
Added unit test 6 for fuel objects that do not behave correctly. Fuel should always return the current fuel amount if not parameter is passed.
2016-03-18 17:44:51 +01:00
Mark 8749300622 Fix unit tests: Some code adjustments were forgotten in the other commits. 2016-03-16 22:44:48 +01:00
Mark afc8797b2f Fix steam engine 2016-03-01 19:54:55 +01:00
Mark 072f599cdb Refactoring fuel: Removed the 'get_partial' parameter.
This was used inconsistently and without regard to correctness, so it is better removed altogether. In case of incomplete objects, the incomplete object always returns the reduced amount.
2016-03-01 17:19:39 +01:00
Mark 4f51a75a20 Removed fuel object
Need for a fuel burner library is evident
2016-03-01 06:55:02 +01:00
Nicolas Hake fe91cec2b7 Merge remote-tracking branch 'github/pull/14' 2016-02-29 14:05:45 +01:00
Mark 7561779d8c Producers handle fuel and liquid with liquid objects 2016-02-27 15:04:37 +01:00
Mark a524e7db2c Added comment 2016-02-27 14:43:24 +01:00
Mark 0a77b58b6a Steam Engine: Use fuel as liquid, finished
The pump was blocked, because the steam engine did not insert enough material
2016-02-27 14:35:38 +01:00
Mark 7894fb0fc6 Steam Engine: Use fuel liquid, Work in progress 2016-02-27 12:41:46 +01:00
Mark 8f7d823633 Steam Engine: Replace fuel_amount with GetFuelAmount() where possible 2016-02-26 23:30:17 +01:00
Mark 52884fb685 Removed liquid container logic from pump.
Previously, sharing the logic made sense, because both objects used variables to store the liquid. Now, the liquid container stores liquid in an object - this is not desirable in the pump because it would create and remove objects for no good reason (only so that it has a virtual liquid storage) every time it pumps. Consequently, liquid objects cannot enter a pump anymore.
2016-02-26 23:17:38 +01:00
Mark fa0af84686 Fixed pump 2016-02-26 23:03:52 +01:00
Mark 8c578931bb Liquid Object: Replaced liquid container logic
The liquid container now stores liquid objects, instead of volume and liquid type. Liquid objects can have be of a specific type, such as Liquid_Water, Liquid_Oil, etc..., but they can also just stay Library_Liquid for other liquids.
The liquid container logic has become more complex now, but still works as before. Transferring liquids to other objects may still need some improvements:
- at the moment, transferring liquids between liquid containers is possible
- maybe liquids objects, such as oil, can enter a liquid container while another liquid is in that container already - will need a unit test for that
- transferring liquid from a liquid container to a structure or crew member should be possible (but is not yet), if the target is not a liquid container but contains liquid containers
2016-02-19 06:53:44 +01:00
Mark e2689ad1c3 Prototype: Liquid objects as menu icon
It seems that real objects would be nicer.
2016-02-16 21:08:23 +01:00
Mark 651f5c806b Refactoring: Steam engine liquid extraction
The steam engine treats barrels the same as itself when it comes to extracting liquids. This removes the need for the callback OnFuelRemoved() in the barrel, as well as the stupid definition call from the barrel to the steam engine.
2016-02-16 21:07:46 +01:00
Mark 734987cd8d Steam engine: Reduced duplicate code 2016-02-16 21:07:41 +01:00
Mark 8e692a25c4 Use property instead of function for barrel intake 2016-02-16 21:07:17 +01:00
Mark be8fd0833c Oil-burning steam engine
The steam engine can burn oil as fuel now. Added test to power system unit test. Still needs support for actually getting oil into the engine.
Fixed a bug in LiquidContainer that would return no liquid if the entire contents are removed. Added unit test for said bug.
Fixed overspilling of connected liquid containers. Pump no longer counts as a liquid container/tank, so that it still spills liquid if no drain is connected.
2016-02-16 21:04:06 +01:00
Mark a0fb0473b3 Barrels function as fuel now.
The steam engine does not remove the barrels, it just empties them. Made power system unit test 19 end if both pumps are pumping, this seems to be the intention of the unit test. Added power system unit test 20: Steam engine fueled by oil barrels.
2016-02-16 21:04:01 +01:00
Mark cce260a9a7 Refactoring: Steam engine
Made the steam engine interface more modular, removing duplicate code. Added a callback when refilling fuel that allows the objects not to be removed. This is important for barrels, because barrels will just empty their contents, they should not vanish!
2016-02-16 21:03:57 +01:00
Mark e985ffbd45 Changed pipe interface
- connect / disconnect callbacks do not include the line anymore
- the drain and source pipes are set to the pipe now, instead of the line
2016-02-16 21:03:43 +01:00
Mark e99ab4471a Refactoring: Completely remodeled pipe interface
Pipes can connect to nearly anything now. The connecting object is responsible for rejecting the connection.
2016-02-16 21:03:20 +01:00
Mark 5c83545900 Refactoring: Replaced pump internal liquid storage with library function calls
The pump actually stores liquid until it can pump. This may not be desired, but it was like that before my changes already. This probably is better than having it drop excess material at the pump.
2016-02-16 21:03:10 +01:00
Mark 30352e422e Refactoring: Replaced pump pipe variables with library function calls 2016-02-16 21:03:06 +01:00
Mark 9c28cb978a Analysis for refactoring 2016-02-16 21:03:01 +01:00
Mark 371fdaeaa6 Refactoring: Pump interface names
The pump uses the same function names as the liquid tank now. This is a preparation for the consolidation of the two.
2016-02-16 21:02:56 +01:00
Mark e1627a2619 Pump liquids to liquid containers
The pump can transfer liquids to and from liquid containers now. Changed the material storage from material index to material name now, because liquid containers may contain fantasy liquids, too. The pipe cannot output such imaginary liquids though, so only transfer between compatible containers is possible.
2016-02-16 21:02:51 +01:00
Mark 427cacfbba Bugfix: Insert at wrong object 2016-02-16 21:02:46 +01:00
Mark 7b573691a4 Bugfix: Wrong menu entry in pump 2016-02-16 21:02:41 +01:00
Mark 97bdd342fc Refactoring: Pump, pipe, better menu handling
The pipe can be connected from the interaction menu now, too. Expanded the disconnection logic, because more problems arise when the pipe can still be connected to other structures - it would be sufficient to remove the line, but that could be annoying:
- if the pipe is connected to a container, then you can disconnect the pipe from that liquid tank and it will still be connected to the pump
- if you disconnect the pipe from the pump, then it will disconnect from the liquid tank as well

Maybe this is confusing to the user, we can still kick that out later again.
2016-02-16 21:02:32 +01:00
Mark fbdd5eeb09 Refactoring: Pimp, Pipe, SteamEngine
Now it is possible to connect lines from a pump to the steam engine. This is achieved by the steam engine being a liquid tank. It did not seem good to allow connection from pumps to all liquid containers (i.e. barrels). A liquid tank is also a liquid container, they share the same interface, but it is also a structure.

It is not yet possible to fill the steam engine with any liquid though, because it is not defined what kind of liquid it accepts. This will be oil in the future. Furthermore, the behaviour when the pump adds incompatible liquid is not defined yet.
2016-02-16 21:02:28 +01:00
Mark 94d47aa2ba Pump: Menu action constants
Replaced the hardcoded strings in the pump interaction menu with constants.
2016-02-16 21:02:18 +01:00
Mark 35604ec1ac Pump interface:
The pump gets the interfaces ExtractMaterialFromSource and InsertMaterialAtDrain that allow for overloading the pumping process
2016-02-16 21:01:46 +01:00
Maikel de Vries b7766780c5 fix plane for several C4D_None objects which where C4D_Structure before 2016-02-10 22:40:44 +01:00
Lukas Werling 29491ec3b7 Replace lots of empty parameters with proplist for Sound() 2016-02-10 13:31:16 +01:00
Nicolas Hake 6f669e7b49 Merge remote-tracking branch 'github/pull/11' 2016-02-09 22:18:49 +01:00
Maikel de Vries 159dbf071f make ContactCalls a property instead of DefCore entry
This allows for useful runtime changes, like disabling contact calls when an animal dies.
2016-02-08 21:25:43 +01:00
Maikel de Vries 04877e33da do not test permeable solid mask on the elevator case in master
This messes up so many things as one could have expected. Instead we do the sensible thing and enable it only in the test scenario. For future reference all sequences involving an elevator and NPC clonks are broken with this feature.
2016-02-08 15:27:58 +01:00
Maikel de Vries 2d22022a20 correctly place/preview basement for elevator (#1534) 2016-01-30 12:28:35 +01:00
Maikel de Vries 707e0ec041 fix kill tracing for exploding compensator 2016-01-29 13:25:46 +01:00
Sven Eberhardt 1bb78ecd4f Remove some unnecessery animation weights.
These overwrite the animations in their slots while there are no other references to existing animations in the slot.
2016-01-28 23:47:53 -05:00
Sven Eberhardt 920ae9673f Fix animation leaks in bat, chest, grapple bow and tele glove #1647 2016-01-28 23:46:22 -05:00
Clonkonaut 29bfdf73ea Elevator construction preview shows placement of the case (#1534).
Structures can use the definition call ConstructionPreview(Previewer Object, Overlay, Direction) to add any overlay to the previewer. It will be coloured accordingly.
2016-01-28 00:31:22 +01:00
Lukas Werling f8e16686d8 Tweak sound making on Windmill
- Don't make sounds while the wheel is stopped.

 - Make less sounds while the wheel is turning fast.

 - Make less sounds overall.
2016-01-27 16:40:17 +01:00
Mark 93ba7c5954 Vendor Library
Extracted the buy menu of the flagpole to a library, so that other objects can implement a buy menu without having to duplicate the code. An overview of the changes follows:

Library_Base:
- Moved auto-sell functionality to Library_Vendor
- Moved buy and sell functionality to Library_Vendor
- Removed the old engine menu for buying and selling

Library_Vendor:
- Added proplist for accessing local variables, avoiding variable clashes
- Added interfaces GetBuyValue, GetBuyableItems, GetBuyableAmount, ChangeBuyableAmount, GetSellValue
- Changed DoBuy: it uses the interface functions, instead of hardcoded base material
- Changed / merged the existing sell functionality and the flagpole sell functionality in DoSell:
   * does not sell items if QueryOnSell returns true
   * sell sound only audible to seller
   * the sold object tries selling its contents first (for example a bow, if it ever were sellable. This may not hold in the settlement games, but adventures would allow it)
   * the sold object ejects any contents before it is removed. These are usually unsellable objects. Previously they would just be removed together with the object. It has to be tested whether this places the items on the ground or at the center of the sold object
   * removed the "sell all" functionality on right-click for the moment.
- Still has some functions from the old base selling: CanStack and GetSellableContents, for the auto-sell functionality
- Fixed a logical error in AllowBuyMenuEntries
- Distinguish between buyer/seller and payer more, so that the logic can easily be changed in one line later
- Allow for runtime overloads of interface functions
- Changed inconsistent variable naming to a more consistent one
- Added namespaces to all sounds, the "UnCash" sound still does not exist
- Added localization strings for insufficient wealth
- Fixed property name error (missing 'e')
- Buy menu is active by default

Flagpole:
- Replaced the custom sell functionality (how many of these do we have actually??) with the sell functionality from Library_Vendor
- Buying menu is allowed if the rule is active

System.ocg/Object.c
- global functions Buy and Sell ask the target if it is a vendor, instead of whether it is a base, and do the callback there.
- renamed the argument so that it is no longer called "base", but "vendor"
2016-01-24 20:11:27 +01:00
Julius Michaelis 711df05e1a Add button X to fade through half solidmasks.
Enabled on the elevator case for testing.
2016-01-20 18:58:11 +01:00
Maikel de Vries d500218a02 fix shape of basement construction preview and site (#1586) 2016-01-20 15:40:19 +01:00
Maikel de Vries 4114738b45 add power information to interaction menu for flagpole (#1579) 2016-01-20 13:21:02 +01:00
Sven Eberhardt 37f774cfb3 Foundry: Do not show power consumer symbol in construction menu #1580 2016-01-10 22:20:48 -05:00
Sven Eberhardt 3dad1c6d81 Turn MaxContentsCount and HandObjects into properties instead of callbacks (Possibly fixes #1553) 2016-01-10 10:41:34 -05:00
Maikel de Vries f99db85c97 add more bottom vertices to structures to prevent falling down 2016-01-08 19:46:28 +01:00
David Dormagen a3e4b620b9 reworked interactions (grabbing etc.)
The player interface is now similar to how picking up works. This should increase acceptance. Also it was pretty fucked up before. The action bar is gone.
The script logic is now outsourced into a new library similar to the other stuff.
Objects can overload the selector for the new interaction (see "call elevator case").

Additional issues hit and resolved when working on this:
Shifting a cursor did not cancel certain actions (and there was no callback for that). This is now solved by adding two new callbacks.

Issues hit and not resolved:
Certain interactions (calling an elevator case, flipping a construction) are in some control library. They should be in the respective objects (and shown via callbacks etc.). Meh.
The internal interface (declaring interactions etc) has a few places where proplists are just translated because the properties are called differently. This is also a fuckup (i.e. a.interaction_object = b.Object) where the properties should just have been called the same in all places from the beginning.
The name "Action Bar" is pretty misleading now as it is no bar. But that's not something visible to the players. todo: cleanup.
2016-01-02 13:02:45 +01:00
Günther Brammer 00a4c6c428 Replace BorderBound DefCore value with BorderBound object property 2016-01-01 22:18:41 +01:00
Maikel de Vries ede6078c75 move out of solidmask as structure library function 2015-12-29 22:40:52 +01:00
Maikel de Vries 5a95f215a7 add wooden bridge
Parts of the scripts by Pyrit and graphics by Randrian.
2015-12-29 22:40:52 +01:00
David Dormagen 4a2643d432 elevator: make ropes match when flipped (#1517) 2015-12-28 10:21:19 +01:00
Maikel de Vries 8e8a66df76 category for non-structures to C4D_None
These objects are not intended to be constructed as structures (the hammer menu) and should therefore not be structures.
2015-12-28 00:31:15 +01:00
David Dormagen 9c3b437059 armory: add PictureTransformation
..so that the mesh is not clipped in the production menu anymore.
2015-12-24 14:58:31 +01:00
David Dormagen 3899add001 wind generator: changed word "efficacy" to "efficiency"
See Maikel here http://forum.openclonk.org/topic_show.pl?pid=30564#pid30564 .
2015-12-23 13:42:08 +01:00
David Dormagen 2b92a4aeef wind generator: show current efficacy in interaction menu
See http://forum.openclonk.org/topic_show.pl?tid=3222
2015-12-22 13:59:59 +01:00
Maikel de Vries 414d1c4e3a elevator add function to get case 2015-12-20 16:40:47 +01:00
Maikel de Vries f28029923c improve the moving out of basement of objects on construction 2015-12-14 18:13:18 +01:00
David Dormagen dcfb986e34 moved sounds into subfolders
This completes http://forum.openclonk.org/topic_show.pl?tid=3215
2015-12-13 22:14:55 +01:00
Sven Eberhardt 40f46403ba Move sound author attribution from Objects.ocd into main Sound.ocg (where the sounds now reside). 2015-12-13 01:09:48 -05:00
David Dormagen dd3fc7610e sawmill: fix missing info menu
The production menu was used for showing information. Now the sawmill is no producer anymore and thus has no production menu. Instead, the sawmill adds the hint manually now.
2015-12-12 12:06:14 +01:00
Clonkonaut 680505c078 Sawmill now independent from Producer library.
This was hacky to begin with and often caused problems. Lately it made the saw blade spin down after each piece of wood was cut which was something I had fixed before. This won't happen anymore.
I also made the sawing a little bit nicer by adding an engine sound. I WILL MOVE THIS TO SOUND.OCG WHEN ITS DONE
2015-12-12 01:34:08 +01:00
David Dormagen 70b4b6633e sawmill: hide inventory and display remaining wood to be ejected somewhere else (#1481)
The sawmill splits up objects on Collection(). That means you could put trees into the sawmill and even without power could you then take out the wood (that was yet to be ejected).
This is solved by this commit as you cannot take objects out of the sawmill manually anymore. The sawmill still displays the wood that is to be produced (because I found that cool).
2015-12-07 20:55:14 +01:00
Sven Eberhardt 7f6c13084a Register definition-local sounds into definition namespace (id::Soundname) #1185.
Also move all object sounds to global Sound.ocg so they are still played.

This is to prevent naming collisions. All sounds are moved because otherwise all scripts would have to be adjusted. Also, the distinction between sounds in definitions and sounds in Sound.ocg was rather arbitrary.

It will also ensure most sounds are reloaded when sound is turned off temporarily, although that should better be fixed properly.
2015-12-07 00:08:24 -05:00
Sven Eberhardt c5f12523aa Fix ruby sale goal counting gems twice (#1489). 2015-12-06 21:45:06 -05:00
David Dormagen 7a0b170075 interaction menu: made menu-rejection errors a callback
Objects that prevent interaction just in some situations (hostility, dead Clonks, ..) should always be shown in the interaction menu (because otherwise players might suspect bugs) and TELL the player WHY they want no interaction.
For that, they might need to specify own error messages.

Known issues:
* The "OnOpen" callback is done even if interaction is disallowed, however just simply removing the callback might not be sufficient, because we might get a callback disbalance if objects change their attitude while the menu is opened and the menu is closed again.
* Some objects (which should) do not include the Library_Ownable. However, we have no base melees atm and since this might introduce new errors, postpone it to 8.0.
2015-12-06 21:28:03 +01:00
David Dormagen c02cce2c0c interaction menu: allow transfer of items only into IsContainer (#1484) 2015-12-06 16:55:48 +01:00
David Dormagen 34291a0d98 respawn points are called "Respawn" instead of "Flagpole" now
This should give players a hint about what they are used for without actually having to die first.
2015-12-02 22:11:23 +01:00
David Dormagen fb3a1468a0 added texture for gold idol
The idol was once just a temporary placeholder that was to be replaced immediately. But apparently, we won't replace it anytime soon.
So we should at least give it a basic texture for the next release...
2015-12-02 13:55:39 +01:00
David Dormagen 714ad4bc7b elevator case: do not throw error on ControlUp/Down without elevator
Which can hopefully only happen when you spawn the case in the "Playground" scenario. Or maybe as a decoration object.
2015-11-29 18:30:45 +01:00
David Dormagen b7f72085ff stone door: dig free on movement & particles when destroyed (#1443) 2015-11-26 21:08:20 +01:00
David Dormagen 95285c6f9e pump: added info about state to interaction menu
The pump is rather complex. This should allow for (new) players to figure out faster whether e.g. the drain pipe is clogged (as opposed to them doing anything wrong).
2015-11-25 12:05:26 +01:00
David Dormagen 8ad1ccf633 compensator: made sparkle prettier 2015-11-24 23:24:09 +01:00
David Dormagen 72f7ea9c1e buy menu: always properly refresh when money becomes available & slight color change of wealth bar (#1457) 2015-11-23 20:07:32 +01:00
David Dormagen d3bc228f9b interaction menu: added callback when viewing objects (e.g. for chest opening animation) (#1450)
OnContentMenuOpen is not used anymore.
There is a small issue: the callback is also done when the object can actually not be interacted with (e.g. because it's hostile / unfinished). Gotta think about that. But this should solve all our issues for now.
2015-11-22 22:37:58 +01:00
Sven Eberhardt 85b739ce1f Fix nil pointer access in basement placement script. 2015-11-20 20:50:26 -05:00
David Dormagen c247d6f145 added new chest model + alternative skins
The chest is a pretty important object and something a player sees over and over again. This patch adds some detail to the mesh which should look better with the new lighting we have. Additionally, the texture's resolution has been bumped up a little.
2015-11-20 20:05:53 +01:00
David Dormagen cb2b189ff9 removed Library_GoldSeller
Valuables are now solely sold by putting them into the flag. This is consistent with everything else now.
2015-11-07 22:56:57 +01:00
David Dormagen 7baf2bcc1c added wealth display to the buy menu (#1425) 2015-10-24 10:44:01 +02:00
Clonkonaut 414adb2c1c Fix elevator case calling. 2015-10-11 22:28:17 +02:00
Clonkonaut 3c97c25301 Make big vehicles (catapult) control a double elevator but not a single one. 2015-10-11 00:16:14 +02:00
Clonkonaut 819731f78a No more (far too loud in this case) WoodHit sounds on ContactTop/Bottom. 2015-10-10 23:45:50 +02:00
Clonkonaut a69812900e Fix double elevator. 2015-10-10 23:43:21 +02:00
Clonkonaut b60cd9d1b5 Eleveator case checking pathfree for interaction. 2015-10-10 23:19:54 +02:00
Clonkonaut 070236a6de Make the elevator better at catching vehicles with ElevatorControl. 2015-10-10 23:18:23 +02:00
Randrian45 3e361c903b elevator: back weel also turns 2015-10-10 17:05:05 +02:00
WinExploder cbd068cca9 Loom: updated diffuse map 2015-10-08 10:22:23 +02:00
Clonkonaut 3ec8683d45 Elevator: Use ActMap Speed, Accel, Decel. Implemented wheel animation. 2015-10-07 02:00:35 +02:00
Clonkonaut a8c85ff766 Made elevator more usable when swimming. 2015-10-07 01:10:32 +02:00
Clonkonaut e1789c3251 Elevator: No more auto movement but called by interaction. 2015-10-06 15:09:14 +02:00
Armin Burgmeier b8ed577c0f Rotate the OGRE coordinate frame by 90 degrees in X
Also rotate all meshes backwards so that everything keeps working. This should
make it more convenient for modellers to create new meshes.
See http://forum.openclonk.org/topic_show.pl?pid=29410#pid29410.
2015-10-03 11:39:08 -04:00
Sven Eberhardt 69b3b21766 Remove erroneous IsInteractable from windmill.
It doesn't seem to have an interaction. Pressing [Space] in front of the windmill would just cause a script error.
2015-10-01 23:21:24 -04:00
Maikel de Vries 329eaac691 fix foundry collection zone 2015-09-12 22:37:21 +02:00
Julius Michaelis 0df19491e7 Get rid of incorrect sRGB headers in png files.
libpng >1.6 keeps nagging because of that.

Quick bash script to do so:
find . -name *.png \
| while read f; do
	n=$(pngcrush -ow -rem allb-reduce "$f" 2>&1 | grep -c 'incorrect sRGB');
	if [[ $n -gt 0 ]]; then
		git add "$f"
	else
		git checkout "$f"
	fi
done
2015-09-12 21:27:53 +09:00
David Dormagen f333df2c73 always show interaction menu for pump & structures in general
The HasInteractionMenu callback of the pump was eaten by the merge. I checked.
2015-09-10 18:23:44 +02:00
David Dormagen cc3452bd0d custom guis: properly scale with font size now
Previously, the em <-> pixels conversion was a hardcoded value. Now the GUI scales with the font size that can be selected in the options.
Sadly, all scales were off since the hardcoded value was too low.
2015-09-06 19:02:31 +02:00
Maikel de Vries ef0e4ea7b7 elevator digging out objects is forwarded to clonk
This ensures earth ends up in the bucket and is not dug out.
2015-09-06 10:09:46 +02:00
Sven Eberhardt dd690e62b9 Added anti-clogging mechanism to pump.
Now pipes cycle through several offsets before giving up on the pumping.
2015-09-05 13:10:55 -04:00
David Dormagen 6357db3b92 sawmill: hide production menu and show helpful tip instead; also saw wooden objects into wood for real now 2015-09-04 17:19:12 +02:00
David Dormagen ac738735b2 Merge branch 'master' into Controls
Conflicts:
	planet/Objects.ocd/Vehicles.ocd/Airplane.ocd/Script.c
	src/game/C4Game.cpp
	src/game/C4GraphicsSystem.cpp
	src/gamescript/C4GameScript.cpp
2015-09-02 08:19:34 +02:00
Clonkonaut 86a68f8d9f Loom: renamed animation "my_animation" to "Working" 2015-08-28 16:17:56 +02:00
WinExploder 333bb1e771 Loom: Added Model with animations 2015-08-28 13:47:48 +02:00
Clonkonaut 2d223188cd Fix sawblade rotation. 2015-08-24 00:10:30 +02:00
David Dormagen 36544bd56c Merge branch 'master' into Controls
Conflicts:
	planet/Objects.ocd/Libraries.ocd/Producer.ocd/Script.c
	planet/Objects.ocd/Structures.ocd/Foundry.ocd/Script.c
	planet/Objects.ocd/Vegetation.ocd/Branch.ocd/Script.c
	planet/Objects.ocd/Vegetation.ocd/Trunk.ocd/Script.c
	planet/System.ocg/FindLocation.c
2015-08-02 19:24:04 +02:00
Sven Eberhardt d2bfdb9d4b Remove some unnecessary properties when saving free basements in saved scenarios.
Width and category were saved even on default values.
2015-07-25 20:38:45 -04:00
Clonkonaut 0e48f2baaa New model for the loom. Animation is missing. 2015-07-23 15:09:11 +02:00
Clonkonaut 609df7df88 Added 3 libraries: Lamp Post, Lamp and Lamp Dummy
Reworked the lantern and buildings to use the libraries.

Lamp Post: Included by buildings if lamps should hang outside.
Lamp: Included by lamps!
Lamp Dummy: Included by the dummy object that resembles the (outisde) hanging lamp.
2015-07-18 13:14:31 +02:00
Clonkonaut f653d4c70c Lantern may now be attached to buildings. Simply put it in the building's inventory. 2015-07-02 22:36:32 +02:00
Maikel de Vries 0e4ad1797e improve double elevator vehicle movement by having a single solid mask 2015-06-08 21:20:38 +02:00
Maikel de Vries 178dce647d fix flagpole selling 2015-06-07 12:54:40 +02:00
Maikel de Vries 2e0bde2a1c fixed interaction for construction site and chest 2015-06-07 12:28:22 +02:00
Maikel de Vries 45444c0d6a block putting non-valuable into the flag, sell the valuables
This needs some graphics on the contents side opposing the flag and the functionality is best put in a separate library.
2015-06-07 11:34:32 +02:00
Maikel de Vries 3a6bcaafb6 use new script gui for goal and wealth HUD 2015-06-03 22:36:36 +02:00
David Dormagen 196f528201 Merge branch 'master' into Controls
Conflicts:
	planet/Objects.ocd/HUD.ocd/FancyGridMenu.ocd/DefCore.txt
	planet/Objects.ocd/HUD.ocd/GridMenu.ocd/DefCore.txt
	planet/Objects.ocd/Helpers.ocd/Dummy.ocd/Graphics.png
	planet/Objects.ocd/Items.ocd/Tools.ocd/WindBag.ocd/Script.c
	planet/Objects.ocd/Items.ocd/Weapons.ocd/Javelin.ocd/Script.c
	planet/Objects.ocd/Libraries.ocd/ClonkControl.ocd/Script.c
	planet/Objects.ocd/Libraries.ocd/Constructor.ocd/ConstructionMenu.ocd/Script.c
	planet/Objects.ocd/Libraries.ocd/Constructor.ocd/Script.c
	planet/Objects.ocd/Libraries.ocd/Flag.ocd/Marker.ocd/Script.c
	planet/Objects.ocd/Libraries.ocd/Producer.ocd/Script.c
	planet/Objects.ocd/Structures.ocd/Flagpole.ocd/Script.c
	planet/Objects.ocd/Structures.ocd/Pump.ocd/Script.c
	src/game/C4Game.cpp
	src/gamescript/C4GameScript.cpp
	src/gui/C4GameMessage.cpp
	src/landscape/C4Landscape.cpp
2015-06-03 22:32:36 +02:00
Maikel de Vries 16d8dac26d wealth icon instead of $ for flagpole buy submenu 2015-06-01 21:58:47 +02:00
Maikel de Vries aa84f78c03 fixed description of the chest interaction 2015-05-21 22:32:23 +02:00
Maikel de Vries 8a297766b3 fix pump power consumption (#1309) 2015-05-13 21:18:15 +02:00
Sven Eberhardt 067c4d4e57 Light up target door on remote control by switch (#1296). 2015-05-07 20:26:16 +02:00
Sven Eberhardt 21500a81a9 Fix pump to clear the last row of pixels (#1057) and allow pumping from pump without source pipe.
ExtractMaterial has been changed to be able to slurp in from the most distant horizontal position rather than the closest to the extraction top center.

Also speed up ExtractMaterial for the common case of no required horizontal shifts.
2015-05-01 18:13:41 +02:00
Maikel de Vries 6ae279d7ac improve moving objects out of basement on completion 2015-04-08 20:15:23 +02:00
Maikel de Vries 58c1220a19 fix scenario saving of basements 2015-04-07 18:54:29 +02:00
Maikel de Vries 7d2386b7f6 add missing descriptions for chest and gold idol 2015-04-05 17:53:12 +02:00
David Dormagen d077d3343e reworked bucket & producer library to work with stackable earth objects instead of magic material amounts 2015-03-26 12:27:10 +01:00
Maikel de Vries a24dd229c4 producer does not depend on partial fuel amounts 2015-03-24 22:39:18 +01:00
David Dormagen ebcc397221 add proper support (inventory & interaction-menu contents) for extra slot library
Also fix bug with GuiScriptWindow where scrollbars would not be hidden in some cases (f.e. no-crop parent and negative-top child).
2015-03-19 16:22:06 +01:00
Maikel de Vries ca04f00a58 add test for underproduction of power 2015-03-09 18:55:18 +01:00
Maikel de Vries 7c08270ff4 make power need call susceptible to proplist function change 2015-03-09 18:40:45 +01:00
Maikel de Vries 33011b91f5 generator wheel has Plane = 1 to not trigger warning 2015-03-06 22:39:52 +01:00
Maikel de Vries 0ed8c2faa5 fix pumping downwards after source emptyness 2015-03-05 20:40:10 +01:00
Maikel de Vries 650447ff19 Fix category of wind generator wheel helper object 2015-03-02 22:35:10 +01:00
David Dormagen 6466c6d45b adapted flagpole to the interaction menu; moved some frequent checks (completion/hostility) to the interaction menu; the flag is no longer static back 2015-03-01 11:20:33 +01:00
David Dormagen f169640713 interaction menu: improved support/updating of custom entries; adapted pump & producer to interaction menu
Also fooled around with the layout of the interaction menu. Far from final though.
2015-03-01 10:27:29 +01:00
David Dormagen 047bafaa6a improved support for custom interaction menus; made pump control use the new interaction menu 2015-02-27 11:23:20 +01:00
Maikel de Vries 40e0ea7bfc fix door control for wooden cabin 2015-02-18 18:25:49 +01:00
Maikel de Vries 6cd3b9775c fixed power need symbol display for elevator 2015-02-15 09:34:45 +01:00