1838 Commits

Author SHA1 Message Date
Aaron Suen
b905cccd54 Add documentation to wishlist. 2020-07-12 12:40:41 -04:00
Aaron Suen
dc704a424a Include special_tiles in overlay.txt template 2020-07-12 10:58:17 -04:00
Aaron Suen
41975051cb Set player down on ground in pushout 2020-07-11 21:55:15 -04:00
Aaron Suen
4e8bccc9f4 Consistently bias pushout toward origin
Under pathological circumstances such as players
getting stuck near mapgen_limit, we don't want them getting stuck outside the bounds and then
pushed up past the ceiling.  Instead always try to
bias the push toward the origin, under the
assumption that some place near there should
be safe.
2020-07-11 21:13:05 -04:00
Aaron Suen
574f4f1ccb Fix definition of solids for pushout 2020-07-11 21:02:41 -04:00
Aaron Suen
0246f03a7f Players no longer obstruct doors 2020-07-11 20:52:22 -04:00
Aaron Suen
03945dcbbd Push players out of solids 2020-07-11 20:50:00 -04:00
Aaron Suen
7f620c462f Revert door logic position hashing
For some reason pos_to_string gives us correct
behavior, but hash_node_position does not, even
though we check to make sure that nodes are
properly rounded so non-integer issues should not
apply here.
2020-07-09 21:18:18 -04:00
Aaron Suen
e81c2a6f26 Note about requests for already-added stuff 2020-07-08 21:45:11 -04:00
Aaron Suen
4fa8de04ad Document non-ideas.
Things that have been repeatedly suggested and
repeatedly rejected.
2020-07-08 21:43:49 -04:00
Aaron Suen
81ccebddc8 Revert player backface culling
Just realized that this breaks certain custom skins,
like WintersKnight's prosthetic arm.  The
performance improvement from culling a handful of
polygons is really nothing compared to the loss of
unique use of transparency in texture art.
2020-07-07 22:47:27 -04:00
Aaron Suen
51def38621 Falling nodes honor stasis 2020-07-07 08:17:28 -04:00
Aaron Suen
1d35109312 Admin tool auditing, fix falling check 2020-07-07 08:04:05 -04:00
Aaron Suen
675c1891a3 Add "dig anything" mode to admin tool
Bypass all group checks, dig literally any node, and try to put
the result in player inventory.  Note that this may effectively
DESTROY certain delicate features like the Dais Ex Machina core,
but it can be used to fix virtually any kind of unbreakable node
mess created in a world.
2020-07-07 07:48:28 -04:00
Aaron Suen
2f3f06dc33 Merge branch 'dev' into 'dev'
Model improvements

See merge request sztest/nodecore!16
2020-07-07 11:40:55 +00:00
LoneWolfHT
f733264ecc Fix up hand model 2020-07-06 21:20:12 -07:00
LoneWolfHT
762c72315a Fix player model normals 2020-07-06 21:20:12 -07:00
Aaron Suen
a999356558 Clean up legacy ents from really old worlds 2020-07-06 21:23:02 -04:00
Aaron Suen
8074e0a639 Enable backface culling for players 2020-07-05 17:52:14 -04:00
Aaron Suen
e234033789 Make tool wear warning visual too. 2020-07-05 17:49:09 -04:00
Aaron Suen
e51ee0c040 Fix segfault when TP customizes fire anim 2020-07-05 17:16:49 -04:00
Aaron Suen
f04efd1efe Fix now-free-hanging active lens 2020-07-05 14:58:11 -04:00
Aaron Suen
8658b7a280 Use new standard screenshot 2020-07-05 14:32:55 -04:00
Aaron Suen
58683c2b24 Document screnshot world 2020-07-05 14:19:27 -04:00
Aaron Suen
e12047af64 Freeze all animations in screenshot world
Now we should be able to compose an exactly
matching screenshot each time.
2020-07-05 14:12:18 -04:00
Aaron Suen
095cf81089 Mock up players in screenshot world too
I used to do this by just starting a LAN game
and logging in multiple accounts, but not only
is this inconvenient, but the poses don't match
on each screenshot either.
2020-07-05 14:03:37 -04:00
Aaron Suen
b9a583d6b1 Try to smooth out smoke particles 2020-07-05 13:02:45 -04:00
Aaron Suen
c47565594b Fix glass in shelves. 2020-07-05 11:46:20 -04:00
Aaron Suen
a14c217a98 Fix smoke generators
Now smoke will also be completely static, so
screenshots don't have to be "timed" to catch
a good puff of smoke.
2020-07-05 11:45:06 -04:00
Aaron Suen
762d9771f9 Restructure screenshot mods
- Refactor mockup mod into multiple
- Use stasis mode instead of nc_reative mod,
  eliminate a dependency
2020-07-05 11:29:48 -04:00
Aaron Suen
caac2968dc Inventory dump on built-in teleport cmd
Allow the built-in teleport command to be used
with standard NodeCore rules, i.e. players
can move freely, but items cannot.  Players
travelling by use of this command need a
special priv to keep inventory.
2020-07-05 10:13:26 -04:00
Aaron Suen
553d67c538 Apply extra "hold" to controls for anim
This effectively "debounces" the controls for
waving and mining anims, so players who
are just doing quick punches like for pummel
will still animate visibly for other players
instead of just a "flickering" of the action.
2020-07-05 09:56:52 -04:00
Aaron Suen
ea43981588 Condense startup log noise 2020-07-05 09:45:53 -04:00
Aaron Suen
77bb713b77 Raise minimum log level to "action"
Log entries of "info" don't end up in server log
trace output by default; it's hard-coded to
LL_ACTION in main.cpp.
2020-07-05 08:14:52 -04:00
Aaron Suen
78d321c24f Support explicit TP overrides for special_tiles
Hughes Ross has started to work on a PR for this
(https://github.com/minetest/minetest/pull/10140)
but it doesn't look like it will be ready until 5.4 at
least, and we will support pre-5.4 versions for
some time yet.  The ability for TP artists to
override special_tiles is necessary to allow things
like flowing liquid textures to be customized in
texture packs.

Add a hack for these, similar to how we did the
inventory/wield image hacks.

Note that we are also forcing overrides for special
tiles, since there may be cases where we reuse a
base image without modifiers but TP artists may
still want an independent override.
2020-07-04 19:25:37 -04:00
Aaron Suen
3e3260f789 Back out optic "virtualization"
Apparently this interacts badly with
optomechanics when multiple optic
tick cycles are running on a single
globalstep, since it may cause doors to
miss signals if they quiesce back to
off during the step.
2020-07-03 22:12:10 -04:00
Aaron Suen
dc1fc75321 Log warning on optic limiter 2020-07-03 09:56:38 -04:00
Aaron Suen
efa43e972d Change optic limit to CPU time-based
Instead of limiting the number of cycles
to some arbitrary upper bound, run as
many cycles as necessary up to a CPU
time limit, i.e. we only allow expansion
of globalstep time by a fixed limit.
2020-07-03 09:32:46 -04:00
Aaron Suen
12302342dc Backout hashed value caching
At only 50% hit ratio, it's probably
costing as much to cache as to recalc,
and this simplifies the code better.
2020-07-03 09:26:26 -04:00
Aaron Suen
f27378ca12 Optic "virtualization"
If we're running multiple optic ticks in
rapid succession, then we don't return
control to the rest of the game between
ticks, so there's no point in reading the
map more than once per pos, and no
point in updating the map until the end
when optics may have oscillated
across multiple states.

Maintain a cache and commit buffer
during each globalstep and only flush
them at the end.
2020-07-03 09:23:19 -04:00
Aaron Suen
ed57861fcc Better param naming 2020-07-03 08:38:15 -04:00
Aaron Suen
d6426e9a9f Remove redundant dependency logic 2020-07-03 08:37:09 -04:00
Aaron Suen
32902d5554 Un-hard-code optic config parameters 2020-07-03 08:31:03 -04:00
Aaron Suen
0675d943ad Make lenses sense input immediately 2020-07-03 08:24:09 -04:00
Aaron Suen
a82c8c4679 Add forums link 2020-07-02 23:10:46 -04:00
Aaron Suen
478414385e Fix diagnostic for abm muxing 2020-07-02 00:10:16 -04:00
Aaron Suen
dafc220207 Allow DNTs to recheck
This should hopefully allow the "broken ziprune"
bug that happened on the Community server to
heal itself eventually if it happens again.
2020-07-01 22:17:49 -04:00
Aaron Suen
fe1a5e38b7 Microoptimization consistency
Carry the node pre-indexing a little further to
cover the scan case as well.
2020-07-01 21:40:32 -04:00
Aaron Suen
9203734e5a Optics overhaul: eliminate node meta
Apparently as oilboi pointed out, node metadata
is kinda gross, and in this case we didn't actually
need it, since the information could actually
always have been inferred from the nodes
themselves.

Instead of storing output state in node meta,
just register a callback on the node definition to
interrogate the node itself about its power output.
2020-07-01 21:35:23 -04:00
Aaron Suen
4ce7076708 Standardize and log players losing items
Item ejection due to injury or teleportation:
- Check for custom on_drop calls from items, e.g. admin tools
  that distintegrate instead of becoming items.
- Log players losing items so we can audit where things came from
  or went to.
- Make teleportation and injury APIs use the same methods.
2020-07-01 07:21:10 -04:00