Taruu 30 Опубликовано: 3 сентября, 2020 @Totoro А почему разная реакция на запуск программы через ./ и просто напрямую ?_? Если запускать напрямую то он говорит что нет компонентов. и это nil значение если через палку то все норм :/ 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fire_Ball 2 Опубликовано: 3 сентября, 2020 4 часа назад, Totoro сказал: Спасибо за отзыв! Добавлять компоненты можно уже и сейчас. Дело в том, что ядро эмулятора - это Scala-библиотека. (Теоретически можно подключить и к Java-проекту.) Как раз в ядре компоненты и определены. Подключаете ядро к своему проекту, как обычную библиотеку, и пишете любые компоненты какие хотите. Там довольно простая система классов и можно брать как пример уже готовые компоненты (лежат в пакете entity). Разумеется для этого придётся знать Java или Scala. Я не уверен что имеет смысл делать какой-то другой механизм, так как помимо ядра вам в любом случае понадобятся и какие-то интерфейсы к вашему компоненту, то есть надо ещё и специальную разметку придумывать... Так что "моддинг" эмулятора без использования Java или Scala грозит быть слишком сложным. Спасибо за ответ, и теперь появился новый вопрос: так и должно быть, что при отправке беспроводного сообщения, второй компьютер ловит целых 3? 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 562 Опубликовано: 4 сентября, 2020 20 часов назад, Fire_Ball сказал: Спасибо за ответ, и теперь появился новый вопрос: так и должно быть, что при отправке беспроводного сообщения, второй компьютер ловит целых 3? Неа, это бага. Надо будет поправить. 22 часа назад, Taruu сказал: А почему разная реакция на запуск программы через ./ и просто напрямую ?_? Если запускать напрямую то он говорит что нет компонентов. и это nil значение если через палку то все норм :/ Видимо как-то связано с тем как оно ресурсы грузит. Подозреваю что там путь до working directory разный получается. Надо тоже подебажить. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Griffi 17 Опубликовано: 22 сентября, 2020 Экраны мыло Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 23 сентября, 2020 Как все таки тут создавать файлы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 541 Опубликовано: 23 сентября, 2020 4 часа назад, Zer0Galaxy сказал: Как все таки тут создавать файлы? OpenOS устанавливал? 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ProgramCrafter 544 Опубликовано: 23 сентября, 2020 4 часа назад, Zer0Galaxy сказал: Как все таки тут создавать файлы? OpenOS надо устанавливать с дискеты на жёсткий диск, как и в Minecraft. На дискете с OpenOS файл создать невозможно - файловая система дискет защищена от записи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 148 Опубликовано: 23 сентября, 2020 3 минуты назад, ProgramCrafter сказал: OpenOS надо устанавливать с дискеты на жёсткий диск, как и в Minecraft. Я не знаток эмуляторов, но в Minecraft необязательно устанавливать OpenOS для редактирования файлов. Да, при загрузке с дискеты корень файловой системы смонтирован в режиме Read Only. Но загрузка с дискеты никак не мешает редактировать файлы на жёстких дисках, смонтированных в режиме записи по путям /mnt/xxx, где xxx – первые три символа адреса диска. # ls /mnt 5b5 f94 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 562 Опубликовано: 16 октября, 2020 В десктопном Ocelot в компьютере который создаётся по-умолчанию нету жесткого диска. Только дискетка с OpenOS. Вставьте какой-нибудь жёсткий и файлы можно будет редактировать. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Doob 2 748 Опубликовано: 16 октября, 2020 Не, проблема была с сохранением. Файл workspace.nbt был пустой. Потом дошло, что надо запустить из консоли без аргументов, просто java -jar ocelot.jar. Тогда все работает нормально. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Laine_prikol 48 Опубликовано: 17 октября, 2020 В 23.09.2020 в 02:44, Griffi сказал: Экраны мыло Подвигай за правый нижний угол - это будет масштабировать размер окна монитора 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 562 Опубликовано: 18 октября, 2020 @Doob хм. Может косяк с определением пути до текущей папки или что-нибудь такое. Надо будет исследовать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
BadCoder 10 Опубликовано: 6 декабря, 2020 Очень хотелось бы переключатель между Lua 5.2 и Lua 5.3 И почему в системнике 3 тира всего один слот для карты 2 тира? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
LeshaInc Автор темы 624 Опубликовано: 6 декабря, 2020 44 минуты назад, BadCoder сказал: Очень хотелось бы переключатель между Lua 5.2 и Lua 5.3 ПКМ по процессору там выбирай. Или через lua computer.setArchitecture 44 минуты назад, BadCoder сказал: И почему в системнике 3 тира всего один слот для карты 2 тира? Исправим Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ProgramCrafter 544 Опубликовано: 2 февраля, 2021 Нашлась пара багов. Не знаю, как один из них стабильно воспроизводить, но назову. 1. Менее страшный: ошибка или зависание во время выхода из эмулятора. 2. Более страшный: некоторые сейвы отказываются грузиться. В сейве два включенных компьютера, на каждом OpenOS установлена на диск. Логи stderr (открыт сейв "NostdWorkspace", открываю "StdWorkspace"): Скрытый текст Exception in thread "Thread-10" java.io.FileNotFoundException: D:\Ocelot\NostdWorkspace\480d7bb1-2c59-4969-8a7e-7111c32a6f93\lib\core\lua_shell.lua (Системе не удается найти указанный путь) at java.io.RandomAccessFile.open0(Native Method) at java.io.RandomAccessFile.open(Unknown Source) at java.io.RandomAccessFile.<init>(Unknown Source) at totoro.ocelot.brain.entity.fs.FileInputStreamFileSystem$FileChannel.<init>(FileInputStreamFileSystem.scala:51) at totoro.ocelot.brain.entity.fs.FileInputStreamFileSystem.openInputChannel(FileInputStreamFileSystem.scala:48) at totoro.ocelot.brain.entity.fs.FileInputStreamFileSystem.openInputChannel$(FileInputStreamFileSystem.scala:48) at totoro.ocelot.brain.entity.fs.FileSystemAPI$ReadWriteFileSystem.openInputChannel(FileSystemAPI.scala:253) at totoro.ocelot.brain.entity.fs.FileSystemAPI$ReadWriteFileSystem.openInputChannel(FileSystemAPI.scala:253) at totoro.ocelot.brain.entity.fs.InputStreamFileSystem.$anonfun$load$2(InputStreamFileSystem.scala:65) at scala.collection.immutable.Vector.foreach(Vector.scala:1794) at totoro.ocelot.brain.entity.fs.InputStreamFileSystem.load(InputStreamFileSystem.scala:61) at totoro.ocelot.brain.entity.fs.InputStreamFileSystem.load$(InputStreamFileSystem.scala:58) at totoro.ocelot.brain.entity.fs.FileSystemAPI$ReadWriteFileSystem.totoro$ocelot$brain$entity$fs$OutputStreamFileSystem$$super$load(FileSystemAPI.scala:253) at totoro.ocelot.brain.entity.fs.OutputStreamFileSystem.load(OutputStreamFileSystem.scala:51) at totoro.ocelot.brain.entity.fs.OutputStreamFileSystem.load$(OutputStreamFileSystem.scala:50) at totoro.ocelot.brain.entity.fs.FileSystemAPI$ReadWriteFileSystem.totoro$ocelot$brain$entity$fs$Capacity$$super$load(FileSystemAPI.scala:253) at totoro.ocelot.brain.entity.fs.Capacity.load(Capacity.scala:58) at totoro.ocelot.brain.entity.fs.Capacity.load$(Capacity.scala:55) at totoro.ocelot.brain.entity.fs.FileSystemAPI$ReadWriteFileSystem.load(FileSystemAPI.scala:253) at totoro.ocelot.brain.entity.fs.FileSystem.load(FileSystem.scala:319) at totoro.ocelot.brain.entity.traits.DiskManaged.load(DiskManaged.scala:84) at totoro.ocelot.brain.entity.traits.DiskManaged.load$(DiskManaged.scala:75) at totoro.ocelot.brain.entity.HDDManaged.totoro$ocelot$brain$entity$traits$Tiered$$super$load(HDDManaged.scala:6) at totoro.ocelot.brain.entity.traits.Tiered.load(Tiered.scala:26) at totoro.ocelot.brain.entity.traits.Tiered.load$(Tiered.scala:25) at totoro.ocelot.brain.entity.HDDManaged.load(HDDManaged.scala:6) at totoro.ocelot.brain.nbt.persistence.NBTPersistence$.load(NBTPersistence.scala:68) at totoro.ocelot.brain.nbt.persistence.NBTPersistence$.load(NBTPersistence.scala:64) at totoro.ocelot.brain.entity.traits.Inventory.$anonfun$load$1(Inventory.scala:87) at totoro.ocelot.brain.entity.traits.Inventory.$anonfun$load$1$adapted(Inventory.scala:86) at totoro.ocelot.brain.nbt.ExtendedNBT$ExtendedNBTTagList.foreach(ExtendedNBT.scala:248) at totoro.ocelot.brain.entity.traits.Inventory.load(Inventory.scala:86) at totoro.ocelot.brain.entity.traits.Inventory.load$(Inventory.scala:84) at totoro.ocelot.brain.entity.Case.totoro$ocelot$brain$entity$traits$Entity$$super$load(Case.scala:10) at totoro.ocelot.brain.entity.traits.Entity.load(Entity.scala:34) at totoro.ocelot.brain.entity.traits.Entity.load$(Entity.scala:33) at totoro.ocelot.brain.entity.Case.totoro$ocelot$brain$entity$traits$Computer$$super$load(Case.scala:10) at totoro.ocelot.brain.entity.traits.Computer.load(Computer.scala:76) at totoro.ocelot.brain.entity.traits.Computer.load$(Computer.scala:75) at totoro.ocelot.brain.entity.Case.totoro$ocelot$brain$entity$traits$Tiered$$super$load(Case.scala:10) at totoro.ocelot.brain.entity.traits.Tiered.load(Tiered.scala:26) at totoro.ocelot.brain.entity.traits.Tiered.load$(Tiered.scala:25) at totoro.ocelot.brain.entity.Case.load(Case.scala:33) at totoro.ocelot.brain.nbt.persistence.NBTPersistence$.load(NBTPersistence.scala:68) at totoro.ocelot.brain.nbt.persistence.NBTPersistence$.load(NBTPersistence.scala:64) at totoro.ocelot.brain.workspace.Workspace.$anonfun$load$1(Workspace.scala:165) at totoro.ocelot.brain.workspace.Workspace.$anonfun$load$1$adapted(Workspace.scala:164) at totoro.ocelot.brain.nbt.ExtendedNBT$ExtendedNBTTagList.foreach(ExtendedNBT.scala:248) at totoro.ocelot.brain.workspace.Workspace.load(Workspace.scala:164) at ocelot.desktop.OcelotDesktop$.loadWorld(OcelotDesktop.scala:97) at ocelot.desktop.OcelotDesktop$.$anonfun$open$1(OcelotDesktop.scala:161) at ocelot.desktop.OcelotDesktop$.$anonfun$open$1$adapted(OcelotDesktop.scala:156) at ocelot.desktop.OcelotDesktop$.$anonfun$chooseDirectory$1(OcelotDesktop.scala:179) at java.lang.Thread.run(Unknown Source) Stdout при закрытии с ошибкой: Скрытый текст 16:23:40.737 [main] INFO ocelot.desktop.OcelotDesktop$ - Starting up Ocelot Desktop 16:23:40.777 [main] INFO totoro.ocelot.brain.Ocelot$ - Brain initialization... 16:23:40.777 [main] INFO totoro.ocelot.brain.Ocelot$ - Version: 0.6.5 16:23:40.777 [main] INFO totoro.ocelot.brain.Ocelot$ - Loading configuration... 16:23:41.037 [main] INFO totoro.ocelot.brain.Ocelot$ - Registering available machine architectures... 16:23:42.747 [main] INFO totoro.ocelot.brain.Ocelot$ - Found a compatible native library: 'Ocelot-0.6.5-lua52-native.64.dll'. 16:23:42.827 [main] INFO totoro.ocelot.brain.Ocelot$ - Found a compatible native library: 'Ocelot-0.6.5-lua53-native.64.dll'. 16:23:42.827 [main] INFO totoro.ocelot.brain.Ocelot$ - Registering loot (floppies and EEPROMs with standard OpenComputers software)... 16:23:42.827 [main] INFO totoro.ocelot.brain.Ocelot$ - Registering entity constructors (for persistence purposes)... 16:23:42.857 [main] INFO totoro.ocelot.brain.Ocelot$ - Initializing unicode wcwidth. 16:23:42.867 [main] INFO totoro.ocelot.brain.Ocelot$ - Initializing font glyph widths. 16:23:42.897 [main] WARN totoro.ocelot.brain.Ocelot$ - Invalid glyph char code detected in font.hex. Expected 0<= charCode <10000, got: 1D300 16:23:42.897 [main] WARN totoro.ocelot.brain.Ocelot$ - 87 total invalid glyph char codes detected in font.hex 16:23:42.897 [main] INFO totoro.ocelot.brain.Ocelot$ - glyph width ready. 16:23:42.907 [main] INFO totoro.ocelot.brain.Ocelot$ - Initialization finished. 16:23:42.907 [main] INFO ocelot.desktop.ColorScheme$ - Loading color scheme 16:23:42.917 [main] INFO ocelot.desktop.ColorScheme$ - Loaded 39 colors 16:23:42.947 [main] INFO ocelot.desktop.util.Ticker - Setting tick interval to 50.0 ms (20.0 s^-1) 16:23:42.947 [main] INFO ocelot.desktop.util.Ticker - Setting tick interval to 16.666666 ms (60.000004 s^-1) 16:23:43.487 [main] INFO ocelot.desktop.ui.UiHandler$ - Loaded window icons of sizes 256, 128, 64, 32, 16 16:23:43.807 [main] INFO ocelot.desktop.ui.UiHandler$ - Created window with Size2D [ 800,00 x 600,00 ] 16:23:43.807 [main] INFO ocelot.desktop.ui.UiHandler$ - OpenGL vendor: NVIDIA Corporation 16:23:43.807 [main] INFO ocelot.desktop.ui.UiHandler$ - OpenGL renderer: GeForce 8800 GTX/PCIe/SSE2 16:23:43.807 [main] INFO ocelot.desktop.util.Spritesheet$ - Loading sprites 16:23:43.867 [main] INFO ocelot.desktop.util.Spritesheet$ - Loaded 108 sprites 16:23:43.877 [main] INFO ocelot.desktop.graphics.ShaderProgram - Loading shader program (general) 16:23:43.907 [main] INFO ocelot.desktop.util.Font - Loading font unscii-16 16:23:44.067 [main] INFO ocelot.desktop.util.Font - Packed 8942 glyphs into 1536x1536 1-bit texture (294912 bytes) 16:23:44.097 [main] INFO ocelot.desktop.util.Font - Loading font unscii-8 16:23:44.117 [main] INFO ocelot.desktop.util.Font - Packed 2005 glyphs into 1536x1536 1-bit texture (294912 bytes) 16:23:44.217 [main] INFO ocelot.desktop.ui.UiHandler$ - OpenAL device: OpenAL Soft 16:23:44.227 [Thread-3] INFO ocelot.desktop.util.Ticker - Setting tick interval to 50.0 ms (20.0 s^-1) 16:23:44.227 [Thread-3] INFO ocelot.desktop.util.Ticker - Setting tick interval to 50.0 ms (20.0 s^-1) 16:25:44.109 [main] INFO ocelot.desktop.OcelotDesktop$ - Cleaning up 16:25:44.110 [main] DEBUG ocelot.desktop.graphics.Texture - Destroyed texture (ID: 1) 16:25:44.110 [main] DEBUG ocelot.desktop.graphics.ShaderProgram - Destroyed shader program (general) 16:25:44.110 [main] DEBUG ocelot.desktop.graphics.mesh.VertexArray - Destroyed VAO (ID: 1) 16:25:44.111 [main] DEBUG ocelot.desktop.graphics.Texture - Destroyed texture (ID: 2) 16:25:44.111 [main] DEBUG ocelot.desktop.graphics.Texture - Destroyed texture (ID: 3) 16:25:44.111 [main] DEBUG ocelot.desktop.graphics.Texture - Destroyed texture (ID: 4) 16:25:44.129 [main] ERROR ocelot.desktop.OcelotDesktop$ - java.io.IOException: Unable to delete file: C:\Users\***\AppData\Local\Temp\ocelot-desktop2808142413485854439\OpenAL64.dll at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:2400) at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:1721) at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1617) at ocelot.desktop.ui.UiHandler$.terminate(UiHandler.scala:218) at ocelot.desktop.OcelotDesktop$.mainInner(OcelotDesktop.scala:58) at ocelot.desktop.OcelotDesktop$.main(OcelotDesktop.scala:65) at ocelot.desktop.OcelotDesktop.main(OcelotDesktop.scala) При зависании лог такой же, но заканчивается перед надписью "Cleaning up". Версия Java: Скрытый текст java version "1.8.0_241" Java(TM) SE Runtime Environment (build 1.8.0_241-b07) Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode) 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ECS 1 900 Опубликовано: 2 февраля, 2021 Заметил, что дефолтный EEPROM (который Lua BIOS) выставлен в режим ReadOnly. В игровых опенкомпах он доступен для перезаписи 1 1 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
AlexCatze 57 Опубликовано: 10 февраля, 2021 Багрепорт. Что бы повторить баг нужно: Запустить эмулятор. Добавить ретранслятор. Подключить ретранслятор к компьютеру. Попробовать сохранить конфигурацию. Последствия бага: Конфигурация не сохраняется, файл workspace.nbt пустой. При попытке сохранится ещё раз, эмулятор зависает намертво. ocelot-desktop.log пустой. 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ArtHacker 38 Опубликовано: 10 февраля, 2021 21 минуту назад, AlexCatze сказал: Багрепорт. Что бы повторить баг нужно: Запустить эмулятор. Добавить ретранслятор. Подключить ретранслятор к компьютеру. Попробовать сохранить конфигурацию. Последствия бага: Конфигурация не сохраняется, файл workspace.nbt пустой. При попытке сохранится ещё раз, эмулятор зависает намертво. ocelot-desktop.log пустой. Эта проблема не связана с ретрансляторами, у меня было тоже самое но без ретранслятора. Похоже это случается рандомно. Скинь пожалуйста версию java как ProgramCrafter пару постов выше. Желаю удачи Тоторо и другим в откладке и исправлении бага. Это будет очень сложно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
AlexCatze 57 Опубликовано: 10 февраля, 2021 1 час назад, ArtHacker сказал: Эта проблема не связана с ретрансляторами, у меня было тоже самое но без ретранслятора. Похоже это случается рандомно. Окей. Завтра скину, сейчас уже комп выключил. Просто я тут в очередной раз возрождаю OpenNet(шутка, пишу свою сеть, за основу взяв OpenNet), сделал сложную сеть, и словил этот баг. Минут 10 перебирал комбинации, у меня он стабильно есть с ретранслятором, и его стабильно нет без ретранслятора. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ArtHacker 38 Опубликовано: 10 февраля, 2021 3 минуты назад, AlexCatze сказал: Окей. Завтра скину, сейчас уже комп выключил. Просто я тут в очередной раз возрождаю OpenNet(шутка, пишу свою сеть, за основу взяв OpenNet), сделал сложную сеть, и словил этот баг. Минут 10 перебирал комбинации, у меня он стабильно есть с ретранслятором, и его стабильно нет без ретранслятора. Ну, удачи с очередным возрождением OpenNet с разработкой сети. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах