Separate names with a comma.
Discussion in 'Starbound Modding' started by Defiance3, Aug 3, 2016.
will answer the question in the meme?
If you're referring to the release of my mod, it won't be ready for a bit. I initially wanted to get it out within a week, but shortly after I realized how much work this really calls for.
Fortunately, I do work on it each day, and I'm hoping to release a usable build by the end of this month.
If you're having to rely on external processes for arbitrary file I/O, how are you handling platform differences?
I'm currently not aware of what the differences are when using the io and os libraries on different platforms, so as of now, the mod is only confirmed to be working on Windows. I'll have to check what the platform specifics are regarding said libraries and make changes as necessary.
Well, the issue with io.popen() in particular is that there are entirely different command sets between Windows and Linux; even if a command name is the same, it might not work in at all the same way between the two.
I found a way to (hopefully) detect the platform the mod is running in, allowing me to run different code for different platforms. Though, to make sure it works, I'll have to actually run the mod on different platforms, just to be sure I'm getting the desired results.
I always wanted to do that. Do you want any help ? Maybe you could put it on github for real; i'd be thrilled to push some code.
Since things seem to be going well as of now, the most helpful thing others can do will be to create content for the computers, and perhaps even let me put said content into the mod itself.
Oh, I forgot to mention in my earlier posts that the mod does work in multiplayer as of now. Though, there might be a problem when two users are using a monitor and they both have their cursors over the monitor.
This is because the monitor code is client side, and constantly sends the cursor position, meaning both users will be sending their cursor positions. I'll have to find a way so that the first person to interact with the monitor will have priority over the cursor.
EDIT: As far as putting the code on github goes, I plan to do that on the initial release. I'd like to get documentation up before said release though.
On CC the cursor is entirely an abstraction on the side of the software you're running; it's just set by arrow key or mouse input and doesn't exist as a concept clientside. That would probably be a better route for the sake of flexibility.
I'm aware of how the cursor functions in CC. However, I believe it will be an acceptable trade off at the sake of flexibility to allow for getting the current mouse position on screen without the use of events. It may even be possible to get several mouse positions at once for multiple users, which of course would solve the main problem behind using this current setup.
Finally got around to implementing the ability to access multiple storage devices. By default, StarOS will assign labels to them in alphabetical order, starting from "C"
Example program paths: "C:/bin/lua.lua"; "C:/lib/json.lua"; "E:/lib/boot/event.lua". One step closer to having most of the basic functions being available.
It has only taken so long so far because at the time of me creating the mod to begin with, I had no idea how I wanted to go about making it (It was like having a bunch of legos but you don't know what to build).
I'm gradually having a better idea of what I want the layout of this mod to be. I hope to begin creating more documentation soon, so do keep an eye out for that on the mod's github page.
I didn't think it'd be so easy, but I've implemented sounds and stuff. You can play the sound of any instrument (assuming you have a soundchip for it), as well as change the pitch of the sound, meaning you can pretty much play all the songs that you can play in game, also assuming you have a program written to play .abc files. =P
Also, using a speaker peripheral, you'll be given the ability to change the volume of the sounds as well. In the future, you'll need speakers to use your soundchips, as without one, you'll only be able to play beep sounds.
Not much to really show for this one. Other than that, progress is going as expected. Once I finish up the shell of StarOS, finish the built-in programs, and fix a few glitches here and there, It'll be just about ready to be released.
I'd love to squeeze in routers, modems, and all the fun stuffs (like Starnet, the default in-game internet) before the release, but it may end up delaying it a bit depending on when I start. Anyway, we'll see what happens.
what type of content are you looking for? i would love to help out on this mod somehow being a huge fan of computercraft. hopfully some mods will come out that will greatly benefit from computer control as well.
Anything, really. Though, I suppose it should be at least 100 lines if it's gonna be put into the mod itself. =P
If you're still looking for specifics, the first thing that comes to mind is an OS. There's enough information on the mod's github page to work on something basic if someone really wanted to, but making an entire OS is a rather large project, depending on it's capabilities. I don't really have anything else in mind for other specifics things, so I suppose whatever comes in handy will do. And I also hope to see people make mods to add new peripherals as well, it would be rather nice to see.
Alright, just wanted to let you guys know I didn't forget about the mod. I've been mostly working on StarOS, fixing up the wiki for the documentation of the mod, and other things. For one, I've finally gotten around to implementing the gpu color limits, and I've made it possible to play sounds at a specific frequency. As for those who are wondering about the release date, I'll be releasing the mod on the 7th, regardless of it being where I want it to be or not, since you guys have been so patient with me.
Just beware that if it is at a point I don't deem necessarily ready upon release, you won't see it on the forums, but rather on my github page for the mod. Anyway, back to coding!
I've been working on the paint program, and in the gif below, you'll see the color selector specifically.
In it, first I display what default 4bit color looks like, then I bring it up to 8bit, then lastly to 24 bit. Unfortunately, you won't see much past the 8bit part because of gif limitations, but this will give you an idea of how the color system works in game. Of course, you won't actually be able to set the color channel bits to high numbers like shown above unless the GPU can support it, and the 4bit color in the beginning is what the first tier GPU will have.
Okay, so I just finished pushing some code onto Github for anyone who's brave enough to try it. However, here are a few notes you should be aware of:
The mod is in very early alpha. It's not 100% bug proof, not even nearly. Expect some things to break.
It only works on Windows, since I wasn't able to find the output of other terminals, nor do I own any computers running Mac or Linux.
StarOS is not complete, so some APIs may not be the most rounded out, or some programs may be unfinished.
You'll have to a few things before you can straight up use the mod. Check the INSTALLATION.txt file for details.
Although the mod does work on multiplayer, do it at your own risk!
Be aware that a lot of that art for the mod came from donpapillon, so a big thanks to them!
If a computer has been shut down, it cannot be restarted without rejoining your own singleplayer world.
I plan to continue to update the mod as time progresses, but be aware that now that school is tomorrow for me, I'll be slowed down on working on this. If anyone has any questions about how to use the mod or the Lua side of things, feel free to send me a pm.
Awesome stuff Defiance3 !
Oracle VM VirtualBox is available in a free variety for personal use. While Windows doesn't always play well within a VM, Linux certainly does. I'm currently using VirtualBox because - for reasons unknown to me - PNGGauntlet doesn't appear on my screen when ran natively from W7(it used to) even if I re-download etc. So I set up a VM with XP for the task, and gave it access to a folder where I put stuff. I have not attempted to run a Linux video game from within VirtualBox, but I expect it would work fine.
Still you wouldn't necessarily need to. You just would need to run any old LUA interpreter to see if anything you're doing doesn't work. Particularly where storage access is involved. And you can get your feet wet in Linux without so much as setting up a new HD Partition. I personally like Linux Mint and always think about going back to it from W7. An alternative to the VM route is that the LM install disk is itself a live disk, so you can play around without installing anything. Also useful to clean viruses/fix things/etc.
As for OSX, I can't help you probably. I have no idea. I'm pretty sure VirtualBox does that too, but you'd need to get a disk image somehow. Probably want to Google search how to make that happen. I'm not 100% sure you need to anyhow, because OSX is a UNIX variant just like Linux, so maybe the Linux methods work here too? Not that I can say so with any authority.
Point is though, you don't NEED a separate computer. VMs are great also for providing a sandbox to run untrustworthy code. You can save state, do stuff, restore state, etc. I probably should move all my browsing into a LM VM for just this reason.