SquidDev
662fb96beb
Overhaul monitor's terminal code
...
This restructures monitor in order to make it thread-safe: namely
removing any world interaction from the computer thread.
Instead of each monitor having their own terminal, resize flag, etc...
we use a monitor "multiblock" object. This is constructed on the origin
monitor and propagated to other monitors when required.
We attempt to construct the multiblock object (and so the corresponding
terminal) as lazily as posible. Consequently, we only create the
terminal when fetching the peripheral (not when attaching, as that is
done on the computer thread).
If a monitor is resized (say due to placing/breaking a monitor) then we
will invalidate all references to the multiblock object, construct a new
one if required, and propagate it to all component monitors.
This commit also fixes several instances of glLists not being deleted
after use. It is not a comprehensive fix, but that is outside the scope
of this commit.
2018-02-14 21:30:07 +00:00
SquidDev
4c14431a3d
Various improvements to command system
...
- Ensure usage is consistent
- Allow computer selectors to return multiple values
- Fix commands being marked as usable when it isn't
- Add /computercraft turn-on, a counter to /computercraft shutdown
2018-02-13 11:45:13 +00:00
SquidDev
5ae38a3f18
Merge pull request #520 from SquidDev-CC/ComputerCraft/hotfix/turtle-world-border
...
Prevent turtles moving beyond the world border
2018-02-13 11:21:55 +00:00
SquidDev
94e10d1f67
Prevent turtles moving beyond the world border
...
As tiles outside the world border are not ticked, turtles are rendered
entirely useless. Furthermore, the turtle animation will never progress
resulting in visual glitches.
In order to avoid this, we ensure the target position is within the
world border when moving to it.
2018-02-12 17:50:46 +00:00
SquidDev
0a50676884
Fix turtle owner not being persisted
2018-02-10 16:10:16 +00:00
SquidDev
41cce78fcb
Merge pull request #518 from SquidDev-CC/ComputerCraft/feature/owner-tracking
...
Track which player "owns" a turtle
2018-02-05 11:07:06 +00:00
SquidDev
4c0fa1fabe
Track which player "owns" a turtle
...
When a player places a turtle, they are marked as its owner. Any actions
they perform (such as breaking blocks, moving, etc...) are performed
using this player's game profile.
This allows turtles to work correctly with various permissions mods.
Previously you would have to whitelist all turtles in order for them to
function within a claim.
2018-02-04 21:35:21 +00:00
SquidDev
54e1dafa3f
Merge pull request #517 from SquidDev-CC/ComputerCraft/feature/ore-dict
...
Add ore dictionary support to all recipes
2018-02-04 20:06:34 +00:00
SquidDev
3ac76bc05b
Add ore dictionary support to all recipes
2018-02-04 20:02:12 +00:00
SquidDev
83030df3ee
Add computer performance monitor
2018-02-02 13:34:27 +00:00
SquidDev
07d15caf6f
Bump Cobalt version
2018-02-02 12:26:21 +00:00
SquidDev
3298efe652
Prevent computer dump command sending too much information
2018-01-20 11:07:09 +00:00
SquidDev
01d9919a3e
Merge pull request #508 from SquidDev-CC/ComputerCraft/hotfix/turtle-speaker-model
...
Fix turtle speaker upgrade's missing texture
2018-01-19 13:10:20 +00:00
SquidDev
80b1170b63
Extract required textures from models instead
...
This ensures we will not get missing texture errors in the future, and
allows resource pack artists to use additional textures.
2018-01-19 13:04:50 +00:00
SquidDev
2e7302e654
Fix turtle speaker upgrade's missing texture
...
The sprite was not registered into the atlas, meaning it rendered the
missing texture instead.
2018-01-19 12:42:32 +00:00
SquidDev
ca7fb8a0b4
Cache turtle family within the tile
...
This means one can call .getFamily() in a thread-safe manner, ensuring
turtle.getFuelLimit() does not cause issues. As we use a specialist
TE class for each family this does not require any specialist caching.
2018-01-18 13:06:34 +00:00
SquidDev
c9b0894f26
Cache direction of modems within the tile
...
This ensures the world is not accessed from another thread.
Closes #410
2018-01-18 13:06:11 +00:00
SquidDev
c3454a195d
Merge branch 'master' of https://github.com/dan200/ComputerCraft
2018-01-15 17:18:48 +00:00
Daniel Ratcliffe
3b3dd8071b
Merge pull request #506 from Wojbie/Advanced-Monitor-Count-Fix
...
Fix advanced monitor recipe.
2018-01-15 12:59:35 +00:00
Wojbie
0d28c67534
Fix advanced monitor recipe.
...
Fix recipe to create 4 monitors.
2018-01-14 23:03:14 +01:00
SquidDev
d0af85754a
Merge branch 'master' of https://github.com/dan200/ComputerCraft
2018-01-13 10:49:07 +00:00
Daniel Ratcliffe
3e265c27ff
Merge pull request #455 from Wilma456/fileread
...
Add read() to Filehandle
2018-01-13 00:58:19 +00:00
Daniel Ratcliffe
8d356f50c4
Merge pull request #440 from Wilma456/iomulti
...
Make io.write() accept multiple args
2018-01-13 00:48:07 +00:00
Daniel Ratcliffe
f30c4f16c0
Merge pull request #411 from Wilma456/copyfixup
...
Fix Bug in copy.lua, mkdir.lua and rename.lua (updated)
2018-01-13 00:32:55 +00:00
Daniel Ratcliffe
8bb8caa315
Merge pull request #448 from Wilma456/writecheck
...
Fix check of write()
2018-01-13 00:28:08 +00:00
SquidDev
0f17a3d72e
Merge branch 'master' of https://github.com/dan200/ComputerCraft
2018-01-12 14:15:22 +00:00
Daniel Ratcliffe
7647369e2d
Merge pull request #446 from Wilma456/moduledir
...
Add folder /rom/modules
2018-01-12 14:10:50 +00:00
Daniel Ratcliffe
4b4208e724
Merge pull request #476 from SquidDev-CC/hotfix/printer-clear
...
Fix the printer overwriting the current page
2018-01-12 13:59:51 +00:00
Daniel Ratcliffe
2a16a1df85
Merge pull request #486 from Wilma456/extensionfix
...
Fix Bug in Paint and Edit
2018-01-12 13:59:15 +00:00
Daniel Ratcliffe
25f7c58400
Merge pull request #494 from SquidDev-CC/hotfix/collision-aabb
...
Fix getCollisionBoundingBox not using all AABBs
2018-01-12 13:57:50 +00:00
Daniel Ratcliffe
c3db91f11f
Merge pull request #485 from Luca0208/patch-1
...
Removed the "the" that was too much(In /rom/help/cd.txt)
2018-01-12 13:56:48 +00:00
Daniel Ratcliffe
8c66ce03d4
Merge pull request #475 from Wilma456/ioline
...
Fix io.lines()
2018-01-12 13:56:21 +00:00
Daniel Ratcliffe
2be2a0625e
Merge pull request #502 from SquidDev-CC/hotfix/missing-overlay
...
Fix turtle overlay not being rendered in items
2018-01-12 13:54:59 +00:00
Daniel Ratcliffe
c904d5041b
Merge pull request #499 from SquidDev-CC/hotfix/null-network
...
Fix ComputerCraftAPI.getWirelessNetwork() failing
2018-01-12 13:54:33 +00:00
SquidDev
632762768e
Add workaround for incorrect overload of getDrops being overridden
...
Closes #2
2017-12-30 19:03:32 +00:00
SquidDev
c69ba205f8
Merge pull request #502 from SquidDev-CC/ComputerCraft/hotfix/missing-overlay
...
Fix turtle overlay not being rendered in items
2017-12-24 21:49:01 +00:00
SquidDev
019f4dbea9
Fix turtle overlay not being rendered in items
2017-12-24 21:44:55 +00:00
SquidDev
259ea41ce3
Merge pull request #499 from SquidDev-CC/ComputerCraft/hotfix/null-network
...
Fix ComputerCraftAPI.getWirelessNetwork() failing
2017-12-10 15:39:59 +00:00
SquidDev
11290f7204
Fix ComputerCraftAPI.getWirelessNetwork() failing
...
I've got to admit, it is super embarrassing that a) I didn't notice this
when testing and b) no one else has noticed until now.
2017-12-10 15:37:40 +00:00
SquidDev
abd06133fb
More binary compatibility stubs for ILuaAPI
2017-12-07 09:24:44 +00:00
SquidDev
29a3a0c48f
Bump version
2017-12-07 09:08:15 +00:00
SquidDev
2728c63512
Add back ILuaAPI
...
This ensures binary compatibility with all those evil mods (Plethora)
which CC internals.
2017-12-07 09:06:47 +00:00
SquidDev
f3b11bc1c2
Copy over CCTweaks's command system
...
This adds several commands which may be useful for server owners. It'd
be nice to integrate this into ComputerCraft itself, but the associated
command framework is quite large so we'd have to think about it.
2017-12-06 15:51:51 +00:00
SquidDev
04590befb3
Add support for viewing arbitrary computers in a GUI
...
Important terminal (such as terminal size) is packed into the the
coordinate fields.
2017-12-06 15:43:25 +00:00
SquidDev
4e9034f910
Make http.websocket call synchronous in bios.lua
...
I thought I'd done this already, but it's possible it got lost during a
rebase.
2017-12-06 09:28:38 +00:00
SquidDev
ba9cfa3764
Bump version
...
Also add CurseGradle support
2017-12-01 20:05:26 +00:00
SquidDev
341e3e2f89
Merge pull request #497 from SquidDev-CC/ComputerCraft/feature/pocket-map
...
Add map-like rendering for pocket computers
2017-12-01 19:41:07 +00:00
SquidDev
3f70ca5192
Merge pull request #492 from SquidDev-CC/ComputerCraft/feature/fun-turtle-rendering
...
Improve vertex transformation system
2017-12-01 19:39:33 +00:00
SquidDev
f11bfc53ee
Use IComputer instead of ServerComputer on the client
2017-12-01 19:32:15 +00:00
SquidDev
61e3967b8e
Merge pull request #494 from SquidDev-CC/ComputerCraft/hotfix/collision-aabb
...
Fix getCollisionBoundingBox not using all AABBs
2017-12-01 19:19:17 +00:00