Commit Graph

158 Commits (6bd059915cb43dbdae6f022aae27062fc52e1219)

Author SHA1 Message Date
ExeVirus 6bd059915c
Safe texture compression (#2808)
Only a single program was used to safely compress all textures in MTG.

 * `optipng -o7 -zm1-9 -nc -strip all -clobber %%f`

The key command used is -nc, which stops color mode changes. I.e. any RGBA textures will remain RGBA textures, with none being changes to 8-bit indexed mode.

utils/optimize_textures.sh performs this compression automatically, assuming optipng is installed.
2021-02-12 20:55:18 +01:00
sfan5 08b13c9efb Fix deprecated alpha / use_texture_alpha use 2021-02-07 11:48:05 +01:00
Wuzzy 6605724fe1
Add icons for invisible nodes (#2718) 2020-09-30 16:41:04 +01:00
An0n3m0us 686fdb5c06
Add different woods to mese posts (#2599) 2020-08-16 13:21:22 +02:00
An0n3m0us 0662f96284
Reduce hud icons size to 12x12 pixels (#2669) 2020-05-28 11:12:15 +02:00
sfan5 b3d91a487d
Add new dry shrub texture by Extex101 (#2680) 2020-05-14 22:33:53 +01:00
Paramat 7caa5d36f2
Move hotbar code/textures, and damage sound, from player_api to default
These are unrelated to the Player API and player object.
All other GUI/HUD code and textures are in default.
All other engine hardcoded sounds are in default.
The player_api mod is highly likely to be used unchanged in new games,
so logical grouping of content will help the creation of new games.
2019-10-18 02:43:06 +01:00
TumeniNodes c32b8adaa3 Add 'dry dirt' and 'dry dirt with dry grass' nodes for savanna biome 2019-07-26 17:50:44 +01:00
Paramat d16612c1cb
Add new, longer 'default_grass_side' texture
Update side texture to match the new top texture.
3/4 side coverage instead of 1/2,
2019-07-22 02:18:20 +01:00
TumeniNodes bfb84da39c Add new 'default_grass' texture 2019-07-15 17:43:05 +01:00
Paramat 3bca295da8
New lighter, greyer permafrost texture 2019-07-13 23:35:25 +01:00
random-geek 6e0e2b8be9 Textures: Update permafrost to new dirt, improve stones, add stones side 2019-02-03 19:14:13 +00:00
Paramat 6688ddf6d4
Add large cactus seedling
Alter 'large cactus' schematic to place another force-placed cactus node,
to replace the cactus seedling on growth.
Make schematic 5x7x5 to solve rotation, placement and protection check
issues.
Add a y-slice probability for height variation.

Growth time is tuned to not make this a faster way to obtain cactus nodes
compared to normal cactus farming.
Seedling texture by Extex101.

Use sapling/seedling description in protection intersection message in
'sapling_on_place' function.
2019-01-02 02:18:50 +00:00
Ezhh 21f5eaade0
Add plantlike_rooted coral 2018-11-15 00:49:16 +00:00
SmallJoker ad486bc863 New glass, glass stair/slab, and glass door textures 2018-11-02 17:22:54 +00:00
random-geek ab1a79b13c Add blueberry bushes 2018-10-09 20:54:22 +01:00
Paramat f4f90520ec
Add new dirt texture by random-geek 2018-08-21 20:41:26 +01:00
TumeniNodes 9318c71659 Biomes: Add pine bush to taiga and snowy grassland
Replaces 'bush' in snowy grassland.
2018-07-13 01:17:07 +01:00
Paramat 513609dcfd
Fence rails: Add fence rail textures
Minor clean up of README.txt, including deletion of credits for removed
torch textures.
2018-07-08 22:22:07 +01:00
TumeniNodes 7e1b07fddd Add fence rails
Dedicated fence rail textures coming in a follow-up PR.
2018-07-07 19:03:33 +01:00
Paramat ace7ec953e
Biomes: Add tundra lowland with permafrost, stones, moss and snow
Move previous tundra to highland and remove the snowblocks that are
unsuitable for a fairly dry biome, use snow slabs instead.
2018-05-04 23:05:47 +01:00
Paramat c2209c120e Add new pine needles texture by Splizard 2018-03-13 20:02:18 +00:00
paramat b90aabec80 Rainforest: Add emergent jungle tree and sapling
Height 20 to 32 nodes.
Dependent on chunksize >= 5.
Base limited to maximum altitude y = 32.
Craft sapling from 9 jungle saplings.
2018-02-19 07:16:16 +00:00
paramat 7f3e9e65b3 Add marram grass for coastal sand dunes
Use noise with 1 octave and flag 'absvalue' to create sand paths
in dunes.
2018-02-07 22:52:26 +00:00
paramat ca81e9b8c6 Coniferous litter: Improve textures
Greyer, lighter, reduce lines, remove dark patches.
Shorter and more consistent side texture.
2018-02-04 02:34:42 +00:00
paramat d1db66bf4f Ferns: Add 3 sizes for coniferous forest biome
Remove flowers from coniferous forest.
Add 'dirt with coniferous litter' to farming mod overrides.
2017-12-24 20:50:44 +00:00
paramat 8ab7c54d76 Biomes: Add 'dirt with coniferous litter' node for coniferous forest 2017-12-24 00:33:21 +00:00
paramat 62d5d5954e Book textures: Reset colour profiles to remove warnings 2017-12-20 20:46:41 +00:00
paramat 0c841771a7 Book textures: Replace with more original textures 2017-12-11 15:58:32 +00:00
paramat eb5a5b56e1 Decorations: Add kelp to cool and temperate shallow ocean
Original texture by tobyplowy, colourised by paramat.
2017-10-10 22:57:10 +01:00
TumeniNodes 8817d1c696 default_desert_cobble.png with darker mortar (#1859) 2017-08-13 13:45:39 +02:00
rubenwardy 5d19fd6923 Separate player code into new mod 2017-08-01 03:57:29 +01:00
TumeniNodes 71dff2ac4a Default: Correct dimensions of default_clay_brick.png (#1858)
Resize default_clay_brick.png from 16x17px to 16x16px, as mentioned in issue #1855
2017-07-29 18:09:27 +02:00
sfan5 f855beeda5 Use transparency for unused part of mese post top texture
The color autogeneration algorithm of minetestmapper otherwise
causes this node to appear as solid black.
2017-06-06 12:54:42 +02:00
Michael Bargatin a8a60d33a3 Resize book textures from 16x17 to 16x16 2017-06-03 11:54:39 -04:00
Vanessa Ezekowitz d104b9b10f Chest: Redo new chests to use single-tile textures where possible
This keeps the filenames the same, but adds a new "inside" double texture
for the open chest.
Use regular drawtype for closed chest and delete the "cube.obj" model.
X-flip the right-side texture for the closed chest.
2017-05-18 09:45:56 +01:00
SmallJoker a533434b58 Chests: Keep old textures for mod compability
Prevents generating ugly looking dummy images for mods that weren't updated yet.
2017-05-07 20:46:49 -07:00
Auke Kok 011ad78b42 Improve Chest appearance - opening chests.
Adds a mesh model that appears when a chest is opened. The chest
stays visibly open as long as the player keeps it open. When the
player closes the formspec, the chest returns back to the closed
shape. While opening and closing, a sound plays.

A second person inspecting the chest will trigger a second sound
open. However, only after the last player closes the chest, does the
chest actually visually close and is the sound close played. This
keeps mesh updates to a minimum.

While it's possible that a server shutting down may cause chests
to remain open, this does not affect the chests' working matter,
and opening or closing them should fix them.

Old chests are converted to the new style by LBM. I previously
had them converted on open but this was unreliable, and LBMs
don't have that problem.

Open chests cannot be dug up. This prevents people from keeping
a chest open and digging it out as well, since closing a chest
would place a chest back (swap) at the spot. We could protect
against this, but it still messes up the client and causes a lot
of "missing node inventory" error messages otherwise. It's
unlikely but possible that a player lagging out causes a chest
to stay "open" and thus unremovable by digging, but there are
other ways of dealing with that - a server restart fixes that
issue.

If the lid of the chest is obstructed, the sounds continue to play,
but the lid isn't opened. Obstructed means that a node is present
above the chest lid, however, we ignore several node types like signs,
torches (not 3d) and wallmounted nodeboxes (typically signs) since
they don't pose any major obstruction in almost any case, and are
typically found above chests. Additionally, the selection box of the
opened chest does not include the lid, and so one can still interact
with e.g. a sign behind an open lid.

Due to the fact that chests now have 7+ textures, we can no longer
use materials (limit: 6) to texture the chest, and so there is now
a single UV mapped image that applies both to open and closed chests.
While this does mean texture pack makers need to create it, this
is extremely simple and consists of a simple cut'n'paste over the
template and should be really easy to do. Only one texture file is
now then used for both open and closed chests.
2017-05-01 19:36:35 +01:00
paramat 4d9fd7ad61 Textures: Reduce contrast of snow ripples 2017-04-23 23:05:31 +01:00
paramat 2668619638 Ores: Add tin ore, lump, ingot and block
Use Calinou's textures from moreores mod.
Craft bronze from tin and copper instead of steel and copper.
Match ore density to the moreores mod but start ore at a depth of
y = -32 to be part of the depth progression of other ores.
2017-04-20 19:55:05 +01:00
paramat a57d2db54a Bushes: Add saplings
Bush saplings grow in half the time of tree saplings.
Bushes do not need 'from sapling' schematic variants because only the
stem node is force-placed in the mapgen schematic, so only the sapling
is force-replaced.
Bush leaves drop saplings with a rarity that ensures at least 1 sapling
per bush on average.
2017-04-12 17:18:50 +01:00
LNJ fe021281e6 Textures: Replace aspen leaves texture with BlockMen's 2017-04-11 03:57:44 +01:00
paramat 37c81f70b0 Textures: New textures for silver sandstone nodes 2017-03-14 19:05:14 +00:00
Diego Martínez 1d45b27c12 Add desert/silver sandstone-related blocks. (#1596)
Add desert and silver sand-related blocks, and stairs.
2017-03-06 19:03:30 -08:00
paramat d1b132555b Biomes: New surface node for rainforest
Moist rainforest plant litter.
Textures by npx.
2017-02-28 05:32:19 +00:00
Paramat 86849d9eec Default: Add nodebox mese post light usable as a growlamp (#1480)
Light level 14 to be able to grow plants.
3 returned from crafting with 1 glass node, 3 mese crystals and 1
wood plank.
Seamlessly placable on appletree wood fence posts.
2017-02-08 16:01:30 -08:00
Martin Doege eb1805ea0a Textures: Strip color profiles from some textures
Removes the "iCCP: known incorrect sRGB profile" error messages on the
console when starting minetest_game by stripping offending color profiles.
2017-01-22 07:43:12 +00:00
paramat 7998de671f Default: Convert remaining indexed leaves to RGBA
Some GPUs cause visual bugs when mip-mapping is used with indexed textures
that use alpha. Because leaves are sometimes rendered opaque it is even
more important to keep these as RGBA to preserve the correct background
colour.
2016-12-04 06:36:05 +00:00
Auke Kok e4b1c93512 Keys: Allow easy sharing of access without commands
This code adds the key concept to minetest_game, and integrates it
with lockable nodes. Currently supported lockable items are the Steel
Door, the Steel Trapdoor, and the Locked Chest.

The goal of this modification is to introduce a fine-grained multi-
player permission system that is intuitive and usable without any
console or chat commands, and doesn't require extra privileges to
be granted or setup. Keys can also physically be conveyed to other
players, adding to gameplay and adding some personality that is
preferable to console commands or editing formspecs.

A skeleton key can be crafted with 1 gold ingot. Skeleton keys can
then be matched to a lockable node by right-clicking the skeleton
key on a lockable node, which changes the skeleton key to a "key".

Gold was chosen as it's currently a not-so very useful item, and
therefore it's likely that players have some, but aren't really
using it for any purpose.

This key can subsequently used by any player to open or access that
lockable node, including retrieving items from Locked Chests, or
putting items in them.

They key is programmed to fit only the particular locked node it is
programmed to. This is achieved by storing a secret value in both
key and locked node. If this secret value doesn't match, the key
will not open the locked node. This allows many keys to be created
for one chest or door, but a key will only fit one node ever. The
secrets are stored in node, and item meta for the key.

If a locked node is removed, all keys that opened it are no longer
valid. Even if a new door/chest is placed in exactly the same spot,
the old keys will no longer fit that node.

Keys can be smelted back in gold ingots if they are no longer useful.

The method of storing a secret in nodemeta and itemstackmeta is secure
as there is no way for the client to create new items on the server
with a particular secret metadata value. Even if you could possible
create such an itemstack on the client, the server does not ever read
itemstackmeta from a client package.

The patch adds an API that allows other nodes and nodes added by
mods to use the same keys as well. The method how to implement this
is described in game_api.txt. The mod should add 2 callbacks to it's
node definition. Example code is given.

Textures are from PixelBOX, thanks to Gambit.
2016-11-25 03:01:14 +00:00
Auke Kok 1e691c4429 Carts: Merge boost_cart as "carts" mod
This is all the working code from SmallJoker's boost_cart, poored into
a more suitable form for minetest_game.

- Mesecons and moreores stuff was removed entirely.
- Textures were all renamed and moved out of default/
- Updated license, readme.txt, attribution
- Changed code license to MIT, left artwork at CC0
- removed default:rail and made aliases for it
- :carts:rail is now carts:rail.
- localized entity def
- removed copper rail entirely
- startstop rail was removed, as well as detector rail
- remodeled to b3d using stujones11 excellent blend model, but sizes
  of cart adjusted to make pixel sizes consistent (0.625) everywhere.
- slightly more complex texture map for the cart (front/side visibly
  different)
- rail parameters are passed as a separate def table, and stored in
  a private list. This avoids having to call `get_meta` on every
  node. In return, we need the node name, though.
- adds metal sounds (based on default metal sound function) and
  cart moving sound.
- reduced cart speeds to max 7, 5 by pushing.
- Added on_step() rail event handler, gets called when a cart is on
  a rail.
- Added various rebased updates from upstream (thanks Krock)
- Included a fix that removes the 'reverse jiggle' when stopping.
- Included reworked textures by sofar.

The mod namespace is still public, but I'm NOT declaring it an API. I'd
rather see it localized instead, for now. Any public interface in this
code is *experimental* at best, and should be considered non-stable and
unsupported for now.
2016-11-21 03:15:04 +00:00