5079 Commits

Author SHA1 Message Date
payonel
1ecd2b1e6e bitblt fix for same device, and better markDirty code 2020-05-18 02:36:58 -07:00
payonel
fabe7bac43 gpu budget cleanup - made the vram bitblt budget and energy cost far more reasonable and logical
note: dirty page bitblts to a screen are increasinly expensive for larger buffers
bitblts to vram are "free" (no budget, no energy)
note that any direct component call has a minimum .001 budget cost
2020-05-17 23:33:01 -07:00
payonel
efe6cbc1e7 vram: added a couple more defaults for buffer api and fixed client sync code for dirty buffer updates 2020-05-17 20:16:26 -07:00
payonel
e70856bf9f gpu video ram with allocate, free, bitblts
writing text and color data to a gpu page is free and server side only
bitblt to screen cause an update and has more budget and power cost
2020-05-17 17:29:19 -07:00
payonel
9d38ecb51d remove packet sync for invisible gpu change - make free more free 2020-05-16 10:48:23 -07:00
payonel
4a3b53d760 fix openos crash when setViewport is called without args 2020-05-15 21:42:08 -07:00
payonel
15d34a8660 GPU speed up: Writing to the gpu buffer outside the viewport is free. no budget cost, no power cost, (also, writes are already direct calls)
We've discussed a large variety of options for the gpu
I've reviewed our options and suggestions. Ultimately - users want faster graphics. Most of the ideas are relating to what api is meaningful to the user. The core issue we have in making graphics faster is an increase load on the server.
For example
  Tier 3 GPU and Tier 3 Screen has a max resolution of 160x50
  If you set the viewport (via gpu.setViewport) to 160x25 the bottom half of the buffer will no longer be shown. All gpu.set, gpu.copy, and gpu.fill calls into that space have no cost
  Overlaps are calculated for partial cost. Half in and half out will have half the power cost.

closes #779
2020-05-15 21:01:41 -07:00
payonel
a13792aef3 fixing and old unicode bug
the openos io buffer in utf8 mode can splice inside a utf8 sequence
this code prevents that by reading the next chunk to complete the sequence
in the case the stream actually has bad utf8 sequence, the io buffer decides to return
more data than it was asked, rather than corrupt the stream
closes #1207
2020-05-15 02:33:59 -07:00
payonel
66bcd3f46a fix cpu to use default lua arch (5.3) 2020-05-14 22:56:47 -07:00
payonel
7bd148367c put 5.3 above 5.2 so it is the first selected architecture 2020-05-14 21:32:21 -07:00
payonel
f9e84b3fd9 woops, left debug text in code 2020-05-14 20:58:35 -07:00
payonel
5cb4dc5537 tiny cleanup in shell for crashed scripts
remove unknown error message
2020-05-14 20:18:38 -07:00
payonel
310120df31 fix a couple of devfs adapter issues
gpu: remove screen link when there is no screen
modem: remove max packet size, as this method no longer exists
2020-05-13 09:09:30 -07:00
payonel
f5b5170f5c fix \27[6n response, it should write [ before the coords
improve motion sensor check both feet and eyes
2020-05-13 00:50:30 -07:00
PrismaticYT
abcc7cea22 Add Cortana
Add Cortana (from Halo; https://en.wikipedia.org/wiki/Cortana_(Halo))
2020-05-12 22:30:47 -07:00
PrismaticYT
6e924cd325 Update README.md 2020-05-12 09:00:58 -07:00
payonel
463d5635fe fix hologram.copy - we weren't sending the full dirty region on updates in some cases
closes #3254
2020-05-11 22:59:41 -07:00
payonel
f82ccc5fc4 pass errors back to shell.execute. it seems reasonable for only interactive shell to assert (and thus print stack) on failed commands) 2020-05-11 11:15:00 -07:00
Avevad
58943f9e74 [OpenOS] Tiny ls manual fixes
Removed unnecessary characters in the OpenOS manpage for ls
2020-05-11 08:11:02 -07:00
payonel
be1cf8c24c fix shift+back in /bin/edit - it should backspace normally 2020-05-06 22:09:13 -07:00
Amanda Cameron
db91f2c601 barcode-reader: Oops, turns out if you try and scan literally anything else, it'll break the scan. 2020-05-04 01:41:43 -07:00
payonel
ad5443c415 close handles on procs in reverse order
also explicitly close stdout in cat. proc closes it, but this is cleaner
2020-04-28 10:36:25 -07:00
payonel
b117cbf89b keep old files, besides, deleting them does cause machine failure with autosaving mods that may adjust file timestamps
closes #3225
closes #2999
2020-04-27 00:04:34 -07:00
payonel
77b3819f2f nevermind, I was wrong. and apparently we need the cache to nil the key else more problems with something we're doing with lua callbacks 2020-04-26 12:38:43 -07:00
payonel
ee8c2902e2 a weak table does not need its keys removed
also, this apparently increases the chance for obscure edge case bugs in lua gc
2020-04-24 12:10:06 -07:00
hohserg
b9cc1663b2 Added waypoints addresses to navigation#findWaypoints
Like
{
  redstone = <power>,
  position={<x>,<y>,<z>},
  label = "<label>",
  address = "<waypoint address uuid>"
}
2020-01-30 19:22:52 -08:00
payonel
a19bb2b692 fix for setGameType, asie and BrisingrAerowing were right
closes #2911
2020-01-30 19:17:25 -08:00
payonel
67c375391b whoops, forgot color
#closes 3184 again
2020-01-28 00:07:59 -08:00
JakobDev
d03b217115 Update de_DE.lang 2020-01-26 23:07:26 -08:00
JakobDev
142ffdcf4c Fix Comment 2020-01-26 23:07:26 -08:00
JakobDev
4cc148778a Update German Translation 2020-01-26 23:07:26 -08:00
payonel
e911f8af60 rotate side arg for redstone signal to relative side for rack and computer
closes #3184
2020-01-26 22:16:57 -08:00
payonel
bec3b09fc0 fix wireless card behavior for tier 1 and tier 2
closes #3195
2020-01-25 21:08:04 -08:00
payonel
5b1c60f5ed simplify io stream argument options
also, fix mistake in text streams

closes: #3201
2020-01-25 16:12:00 -08:00
payonel
8fe92ee191 fix text stream writer and clean up reader code along with this 2020-01-25 15:28:54 -08:00
Cruor
004ada9ae8 Fixed typo 2020-01-24 23:13:37 -08:00
Cruor
6e242128ee Added binary support to 'text.internal.reader' 2020-01-24 23:13:37 -08:00
Vexatos
e452b1fb5e Switched to Gradle 5 version on Minecraft 1.7.10
Using a fork of ForgeGradle for that which updates it to that version.
2019-12-30 19:54:45 -08:00
Vexatos
36b9ba06d7
Downgraded Ubuntu version on travis to hopefully fix #3144. (#3198) 2019-12-26 00:10:03 +01:00
Smollet777
0a65a5a83b Update ru_RU.lang 2019-12-19 09:08:17 -08:00
Fingercomp
808d140b5f Use rawequal for comparison to avoid invoking __eq 2019-11-21 08:32:58 -08:00
Vexatos
343ce9687a Version and changelog bump. v1.7.5 2019-11-17 00:40:38 +01:00
payonel
bfed64fa2d reducing some cost to calling ae getCraftables when no filter is given
this delays calling ae.getItemStack until user code calls it for individual
items. this is vey helpful for servers with huge numbers of craftables
otherwise, all serializing calls happen on the main thread
closes #2964
2019-11-16 10:17:47 -08:00
payonel
dd63789b81 fix available archs based on configurations
closes #2986
2019-11-15 23:00:34 -08:00
payonel
063418a297 require minimum of 1000 mb to place fluid source block
closes #3116
2019-11-14 22:41:29 -08:00
payonel
fb2340baa3 raids are unlocked managed only devices
hard disk drives put in raids are wiped
and wiping a disk should reset it to managed and unlocked
resolves #2874
2019-11-14 00:32:07 -08:00
payonel
84525eba7d throw custom too-long-without-yielding
closes #3150
2019-11-10 23:51:40 -08:00
payonel
56f8fdbaa9 Fixes an issue where a robot without an inventory was deleting the
drops. The core problem here actually is that OC agents try to
pull items directly out of killed/destroyed blocks via capturedDrops,
and the robots also pick up items from collision.
The collision code was written to always destroy the drops.
The code that tries to pull items out of capturedDrops spawns items in
world when there is no room in the robot.
Mob drops cause collision pickup AND run the capturedDrops code. When
collision doesn't take anything, and kills the drops, the items are lost.

The best fix would be to stop taking items directly from capturedDrops,
but this code has been here for some time, and we'll leave it for now.

The next best fix is to not always destroy drops on collision, but let
mc code handle collision cleanup as it was designed. Then, when taking
capturedDrops directly, first check if there is an inventory.

This solution leaves one last loop hole, collision doesn't find a place
in inventory and thus has valid world drops.

We can't ignore collision for attacks because the mobs are putting items
in the world. But instead, we need to stop capturedDrops action from
spawning in the world.

closes #3172
2019-11-09 22:46:31 -08:00
payonel
a713ee9741 charger can now charge items in player inventory
closes #1356
2019-08-23 23:09:23 -07:00
RafaGnious
9de3ee9dbc Added Ordis (Warframe)
In the wiki: https://warframe.fandom.com/wiki/Ordis
Ordis is a cephalon which is the name for the forms of artificial intelligence in Warframe ( https://warframe.fandom.com/wiki/Cephalon ).
2019-08-22 19:59:38 -07:00