Community
SCI Programming => SCI Development Tools => Topic started by: Cryptonomic on November 25, 2010, 07:51:33 AM
-
It looks like SCI Studio was open source. Is that the case for SCI Companion? I'm guessing not since I can't find a reference to it, but I figured I'd ask. There's a lot of neat stuff in the Companion but I also think it could benefit from a few updates. (I'm also wondering if a .NET conversion is worthwhile.)
If the tool isn't open source, is there a reason why not to anyone's knowledge? Is the author still around? It looks like the tool hasn't been updated in awhile. (June 13 2007, according to the site.)
If not, it looks like a better bet is to take the source of SCI Studio and start from there.
-
Ah ha! Never mind, answered my own question based on a few other threads here.
So the guy who wrote SCI Companion apparently never made the source available. As far as I'm concerned then SCI Companion should be dead to the community. You can't improve upon it and therefore it will stagnate for lack of ability to implement new ideas.
The source is there for SCI Studio although it's an ungodly mess in some ways. I see there was an attempt to recreate it -- and that source was put on SourceForge. However, it's basically just the same application with a few changes. So it seems like SCI Studio (both EGA and VGA) are the way to go if there need to be improvements.
It's a pity that the SCI tools are in such disarray because I think they do offer a great counterbalance to the complexities of something like AGS. Personally I find the SCI-EGA games a lot crisper than the "realistic-ish" backgrounds of the VGA games.
-
Don't knock Companion, it's far better than Studio in many ways and it's a LOT less buggy. I use it for the bulk of my SCI editing. The only reason I even use Studio anymore is to compile my scripts because for some reason whenever Companion compiles ScummVM gets a stack overflow whenever you launch the game in question. Not that I write games specifically for ScummVM, but it's nice to have compatibility on all fronts.
Studio may be open source but nobody's done anything with it since Brian left and since troflip created Companion. So Companion is still the better tool, in my opinion. Still waiting for someone with some know-how to improve on the source for Studio and possibly finish Studio VGA, though.
-
The future of Companion may be a dead end, but until someone makes some progress with Studio, that is a moot point. Who knows if Omni will get anywhere, but at least he is has made some attempts to get things started. Putting it on SVN should encourage others. If you can add to his efforts, by all means, please do so. Any contributions would be appreciated.
One thing that you have to give Brian credit for is that he opened the source for Studio VGA when he realized that he was not going to do anything more with it. Too bad troflip is not around to open up Companion.
-
Because scistudio is open source, it has greater potential for growth, true. But in their current states, companion is the better tool. That worries me that scumm especially doesn't like companions compiler because my games are too close on heap to use studios. It's probably a bad sign on the studio front that Phil thought it would be easier to start from scratch when making companion rather than sorting out studio.
-
That worries me that scumm especially doesn't like companions compiler because my games are too close on heap to use studios. It's probably a bad sign on the studio front that Phil thought it would be easier to start from scratch when making companion rather than sorting out studio.
So, is there a preference (for heap error avoidance - or for other reasons) on companion vs studio when compiling?
-
The thing with SCI Studio VGA source-code is that it's written in Borland C++ Builder, which is quite old and costs money. So, to use the code you have to strip out all the Borland GUI stuff and what you're left with is a mess. It'd be better to start from scratch using free IDEs and GUI libraries and use parts that you can from Brian's code.
I might look into it when I get a chance :)
-
There are too many free IDEs to ignore. Even Microsoft has Visual Studio Express for free download, even though it does have some limitations. Since Omni started to set it up on SVN, it should be possible to have more than one person working on it.
Ironic that part of the reason that Brian gave it up was the lack of fan games being made with Studio. I feel that would have changed if Studio VGA had been finished. At the time, I was waiting for it to try my hand at it. What would be great would be to have SCI32 to work with, so you could play on modern Windows without an emulator.
-
The only reason I even use Studio anymore is to compile my scripts because for some reason whenever Companion compiles ScummVM gets a stack overflow whenever you launch the game in question.
I fixed this a few weeks ago.
-
So you did! Excellent! I have no further reason to use Studio anymore. IIRC, Companion's compiling method is much more efficient and space saving than Studio's.
-
@ gumby... companions compiled script sizes are smaller that studio's. So there's less heap being taken up by the physical script which gives you more to play with. Especially when it comes to the core scripts, the ones that are always loaded.
-
I am very glad Brian open-sourced SCI Studio, I wish SCI Comp was open to as it would have been easier to improve upon that I believe.
If you can do something with SCI Studio in the format it is currently in go ahead, a few people who wrote certain aspects do still lurk around and I have a somewhat working knowledge of it currently.
You can tell going through the code what is his early work just by his style and lack of comments. Other parts are done by others entirely and written in Visual Studio which makes some of it easier to bring up to date(for me anyways).
But like Eigen said the bulk of the code is Borland C++ Builder GUI components and that makes a mess of things.
-
What others are we talking about? I thought Brian was the only one who worked on SCI Studio ever.
-
I am very glad Brian open-sourced SCI Studio, I wish SCI Comp was open to as it would have been easier to improve upon that I believe.
Yeah, I agree. That was more my point: if a community is going to rally around a tool (like SCI Companion), then having that tool not be modifiable any further doesn't seem like the smartest strategy, regardless of how good the tool may be.
Out of curiosity, has anyone asked the original author of the SCI Companion if he had any plans to release source code? I see his web site appears to have a valid e-mail but I wasn't sure how many times he had been inundated with requests (if at all).
-
Troflip used to be an active member of the community way back. I don't remember why he didn't want to open-source it. Maybe because it wasn't quite finished? I don't know. At any rate, it doesn't really matter if one is more modifiable than the other at this point in time because nobody is really making any changes anyway. Although, Omni has been taking a look at the source lately and is making heads and tails out of it, which is exciting.
-
Hi, long time no see :-)
I'm willing to hand out the source code if someone can host it somewhere.
I don't recall the reason I didn't make it available before. I know I was working on a newer version that would have c++ style syntax instead of the LISP stuff. So maybe I was hoping I would complete that (but I never did). Or maybe I still wanted to do some code cleanup before handing it out.
It also required a UI library from prof-uis.com. I believe all that way necessary was the freeware version of their MFC UI library - hopefully they still have that available, since I can't redistribute their binaries.
It may take me a while to find the source code version that matches the last offical SCI Companion release. I had various versions of SCI Companion in various states of completion. I know I had a version with sound resource support too (you could import midi files and set loop points, etc...).
-
I would be more then willing to host this.
-
Nice! Thank you, troflip!
-
I'm not sure what happened to my reply, but I would gladly mirror it on SHP.
-
Good to see you swung by Phil. lol, yeah I don't think finding a place to host the companion source is going to be a problem.
-
Cool, I'll try to find time this weekend to package it up.
It looks like there is a compiler bug that causes issues with running the games in freesci. Maybe I'll see if I can fix that too.
-
Do we really need to worry about Free SCI anymore? Unless it affects ScummVM, too...
-
FreeSCI is dead. And the problem with adding the games into ScummVM has since been dealt with by the developers. It's not really a problem anymore. But then, I also don't see a problem with correcting something that is a bug either way.
-
But then, I also don't see a problem with correcting something that is a bug either way.
Of course. Really the only reason, and who knows how a bug might surface in some other way, too.
-
FreeSCI is dead. And the problem with adding the games into ScummVM has since been dealt with by the developers. It's not really a problem anymore. But then, I also don't see a problem with correcting something that is a bug either way.
I know there was recent related post here regarding that our games were not working in ScummVM. Nice to hear that it is resolved!
-
Here it is (http://www.mtnphil.com/Games/SCIComp-Unfinished.zip)
This is a visual studio 2005 c++ project.
In order to compile, it will most likely require some of the freeware MFC UI libraries from prof-uis.com
Here is the executable (http://www.mtnphil.com/Games/SCIComp-Unfinished-Exe.zip)
It should be in mostly functional form, except last time I messed with it, I was experimenting with various things like code-browsing and C++-style syntax. So various functions might be disabled in code.
This version also has a sound editor (where you can import midi files, see the notes, set cue points, etc...). I forget if my last official release had that.
-
I think it also has a "room explorer" where it will show you a grid of all the room pics in the game, and how they're connected.
And also an abandoned attempt at a visual room editor.
I couldn't find a way to activate these using the exe, so the options to invoke them are probably commented out, or hidden behind some shortcut key. (But the code files are still there, so if someone takes the time to figure it out...).
I know I was experimenting with SCI VGA too. I had it able to load the VGA pic resources at one point - I'm not sure if I got any further than that.
-
This version also has a sound editor (where you can import midi files, see the notes, set cue points, etc...). I forget if my last official release had that.
It did not :(. But now it does! :D
That's weird. Your last release was 2.1.0.5 and this one is 2.1.0.3. Also, bit of a problem with the MIDI output select option. If I set it to something it automatically reverts to whatever it was before. No way to save it. And there doesn't seem to be a way to dump the sysex from the MT-32 patch through the MIDI device. But it's fan-flipping-tastic of you to release the source for this! Thank you so much!
-
To re-iterate: this is an unsupported unstable "non-release" :-)
Hence the version number being wrong.
I just don't want my "good name" sullied with an unstable version of SCI Companion, so please don't post this in the SCI Tools section of this website. And of course, don't open/edit any games with it without having a backup.
(maybe I shouldn't have provided an exe :-)).
If someone wants to take on the task of polishing it up and adding features, they should make it clear when releasing the new version that it is a combination effort between me and them, and that they have added the new features (and updated the "submit feedback/check for updates" entries in the help menu accordingly).
-
Thank you so much for this! It is definitely appreciated!
-
Yes thank you for this! I have been very excited the last week waiting for this. Unfortunately I am a little under the weather this weekend but how would you guys like this hosted? Unless someone else gets to it first which is fine.
I "think" I have all the external file I need from ProfUI. Now to just build it and go from there.!
-
Why not put it on SourceForge?
-
That works for me, I know some do not like Sourceforge.
-
Yeah, of course I understand it's not a stable official release. But it's nice to see will be possible in the future!
-
My vote would also be SourceForge. What is the licensing agreement is on this (SCI Companion)? I couldn't find anything in the source regarding this. Troflip, I'd highly recommend updating the zip file so that you are ensured that your work is protected and that you retain credit (as you referred to in your previous post).
-
I know the ProfUI libs he used are free for non commercial use and can be redistributed freely with a credit acknowledgment.
-
Do you by chance know which version of the Boost externals you used? Attempting to avoid to much version mismatch, I think I found the proper version of ProfUI. If you know that version it would be helpful also.
-
Gosh, no idea, sorry. I don't even have the machine I last built that on around (I backed up the source code, but I haven't built it, and I don't even have visual c++ installed on my current machine). If it helps, I was working on this in late 2007, so its probably whatever the latest version Boost was back around that time. I seem to recall I just copied over a few of the boost headers - I didn't use much from it.
-
Thanks, late 2007 narrows it down a lot almost exactly. I did notice you did not have a heavy dependence on boost but the headers you used had a lot of updating in 2008.
I am loading this is VS2010 now. Just because I only have 6.0 and 2008 and 2010 available. Once I get home I should have this compiling in 2010. I will update your info as you wanted and throw it on on an SVN someplace.
-
I'd a swore i've seen an svn mod for the smf forums, but can't seem to find it now...
-
Boost version 1.34.0 is the exact version used.
Posting that in case someone comes along later and is curious.
Also was curious, was your testvgagame a custom game or something specific you tested against? If you have no clue that is fine =p
-
Also was curious, was your testvgagame a custom game or something specific you tested against? If you have no clue that is fine =p
Was this the beginnings of SCI1 support?
-
Not sure yet, after being sick last week I am playing catch up and have not had a good chance to look over everything yet.
-
Also was curious, was your testvgagame a custom game or something specific you tested against? If you have no clue that is fine =p
Wow, you found that from some log file that got included in the .zip?
Honestly, I have no idea (and you can remove that game.log file :-)).
I know I got loading VGA pic resources loaded for viewing, but I don't think I did anything with the SCI1 scripts or any of the other resources.
-
Heh don't worry I will remove the log file. I had the idea when I saw something looking at the project file. During a grep of the files I noticed the folder and went hmmm.
I'll also prune the other "extra" information like game.log, it is actually what I am doing as we speak.
-
Let me know if you have any other questions about what various files do.
You'll note the coding style is very different in different files. It changed a lot over the course of the few years I was working on it. Some of the older stuff uses HRESULTs for error handling, but most of the code is modern exception-based c++. I also went on a bit of a jihad for a while removing Microsoft-specific stuff (like CString) and converting to the STL wherever possible.
-
I noticed the STL uh changing.
I think now the biggest issue is some of the version mismatching of ProfUI files. You probably had V2.62.
Trying to get it going still with this mishmash but honestly I will not get a good chance to look over this for a few more weeks, I just look at it 30 minutes or so at a time when I can. Was pretty sick recently and got put behind on several projects at work and at the moment those are my main priority. If anyone here wants to get this going I would not mind.
-
If I knew what I was doing I'd lend a hand. You're time (and whatever of it you can spend) on this is greatly appreciated, Omni!
-
I created a github repository for SCI Companion:
https://github.com/OmerMor/SciCompanion (https://github.com/OmerMor/SciCompanion)
When I have some time, I'll try to make it compile using the info in this thread.
Anyone is welcome to fork this, or even join the project.
-
I know this kinda dropped dead. But losing most of my vision in my dominant eye made me read less and I had to focus my attention as I could not browse all the forums I used to be able to.
I just got this to compile tonight. ProfUIS 2.92 works. You need Visual Studio 2003.net. Boost 1.34. Then you just need to build the proper files in ProfUIs and set a few includes in the project file for your custom paths and wham; compiles with no errors and 4 warnings!
Boost: http://www.boost.org/users/history/version_1_34_0.html
Boost: http://www.boost.org/users/history/version_1_34_1.html(bugfix)
ProfUIs: http://www.prof-uis.com/download/profuis292_freeware.zip
I compiled against 2.92. 2.92 should just be a bug fix. I have 2.92 downloading now so I can compile against that to.
I do not remember the license to those two but I think they can be redistributed freely. Someone would need to double check.
-
That's awful! Is that permanent?
-
As my Eye Doctor puts it "It is permanent if it does not go away". I Currently can see out of it again(mostly) but the detachment and scarring is getting worse. Hoping this new treatment reverses that. I won't know for a few months though.
-
Good luck and keep us updated!
-
Omni: sorry to about your illness. I hope it goes away.
I'd like to thank you for your information about sci companion's compilation.
I pushed a version that is compiling, and also contains all the dependencies to github.
You can all fork it, or simply download a zip of the source, and compile it using vs2003.
Sadly, I haven't managed to upgrade the solution to vs2010 yet.
The repository is at: https://github.com/OmerMor/SciCompanion (https://github.com/OmerMor/SciCompanion)