The Seraphim - A custom Ship OXP from start to finish.
Moderators: winston, another_commander
- DaddyHoggy
- Intergalactic Spam Assassin
- Posts: 8515
- Joined: Tue Dec 05, 2006 9:43 pm
- Location: Newbury, UK
- Contact:
Fantastic!
I expect the reverse normal to be used lots by fellow Ooliters! Fantastic trick. Bravo.
I expect the reverse normal to be used lots by fellow Ooliters! Fantastic trick. Bravo.
Oolite Life is now revealed hereSelezen wrote:Apparently I was having a DaddyHoggy moment.
- JensAyton
- Grand Admiral Emeritus
- Posts: 6657
- Joined: Sat Apr 02, 2005 2:43 pm
- Location: Sweden
- Contact:
This is actually a bug in the script. I reported it a few years ago, but it didn’t matter then because everyone was using Wings3D. :-)Scarecrow wrote:Unless... some of my OBJs had variables in that were supposed to be integers (or at least the Python script is expecting them to be integers) but were in fact assigned the value 'off' - this caused the script to have a paddy and strop off.
Specifically, in obj files the statement “s off” is equivalent to “s 0”, but the script only accepts the second form.
Edit: There is now a fixed version of Obj2DatTex.py at http://svn.berlios.de/svnroot/repos/ool ... onverters/.
E-mail: [email protected]
Thanks, Ahruman.
Well, that's done! The Galcop Viper is now replaced by the Seraphim, including repositioned flashing lights and correct thruster and weapon positioning (except for the missile. I didn't realise it had a missile - so that launches from the Radar - I doubt you'd ever notice ingame anyway).
Now for the shaders...!
Well, that's done! The Galcop Viper is now replaced by the Seraphim, including repositioned flashing lights and correct thruster and weapon positioning (except for the missile. I didn't realise it had a missile - so that launches from the Radar - I doubt you'd ever notice ingame anyway).
Now for the shaders...!
In the spirit of the intended blog-like nature of this thread, I should point out that I had problems creating the OXP.
I read the Wiki and discovered that all I need to make the ship work is a folder with the naming convention xxx.oxp - where xxx is the name of my oxp.
In that folder I needed a models folder with my new DAT models in. A textures folder with my new PNG file in and a config file with a shipdata.plist in.
The shipdata.plist only needed to include the data fior my new ship.
Okay, so far so good.
I copied the viper data for the galcop viper and added my subobjects using the commands listed in the wiki shipdata.plist page and nothing happened.
For some reason, even though I held down shift while it started up to clear the cache, Oolite seemed to completely ignore my oxp
After some minor hair-tearing I decide I was doing too much too soon. So I deleted the viper data and copied the buoy data exactly and simply edited the model data entry so that it used my seraphim_main model instead.
BINGO! It worked.
So then I added a subobject that included the canopy.
BINGO! That worked.
So then I added the rest of the subobjects.
Huzzah! That all worked properly.
I realised at some point that I'd had some semi-colons missing in my subobject commands and so the plist simply wasn't working.
Once I'd gotten the buoy to be replaced, I went back and redid the viper data, making sure all the semicolons were present and it worked fine.
I then positioned the weapon, afterburner and flashing lights based on the existing variables in the plist.
Crow
I read the Wiki and discovered that all I need to make the ship work is a folder with the naming convention xxx.oxp - where xxx is the name of my oxp.
In that folder I needed a models folder with my new DAT models in. A textures folder with my new PNG file in and a config file with a shipdata.plist in.
The shipdata.plist only needed to include the data fior my new ship.
Okay, so far so good.
I copied the viper data for the galcop viper and added my subobjects using the commands listed in the wiki shipdata.plist page and nothing happened.
For some reason, even though I held down shift while it started up to clear the cache, Oolite seemed to completely ignore my oxp
After some minor hair-tearing I decide I was doing too much too soon. So I deleted the viper data and copied the buoy data exactly and simply edited the model data entry so that it used my seraphim_main model instead.
BINGO! It worked.
So then I added a subobject that included the canopy.
BINGO! That worked.
So then I added the rest of the subobjects.
Huzzah! That all worked properly.
I realised at some point that I'd had some semi-colons missing in my subobject commands and so the plist simply wasn't working.
Once I'd gotten the buoy to be replaced, I went back and redid the viper data, making sure all the semicolons were present and it worked fine.
I then positioned the weapon, afterburner and flashing lights based on the existing variables in the plist.
Crow
In situations like that where things don't appear that you are expecting, it's always worth looking in the logs. In those you normally get errors and warnings reported which let you know quite what it choked on and where you need to sort things.
Not always, but much more often than not, and definitely worth a look in solving such mysteries...
Not always, but much more often than not, and definitely worth a look in solving such mysteries...
My OXPs via Boxspace or from my Wiki pages .
Thargoid TV
Dropbox Referral Link
Thargoid TV
Dropbox Referral Link
- Commander McLane
- ---- E L I T E ----
- Posts: 9520
- Joined: Thu Dec 14, 2006 9:08 am
- Location: a Hacker Outpost in a moderately remote area
- Contact:
My suggestion is the same as Thargoid's: Before having a nervous breakdown, or frantically yelling for help , just look in the logfile.
Actually strike that and replace with: Always look in the logfile. On my computer I have the logfile open in a window next to my Oolite window all the time. This way I don't only immediatly see all errors I have made, but also can inform other OXPers about the errors they made when the wrote their OXPs without consulting the log.
Sometimes even better than the log file is the JS-console. If you're on a Mac, it is integrated in Debug.oxp. Once you've started working with Debug.oxp and the console you won't know anymore how you ever could live and script without it. Seriously. Just one example: To what a hassle you went just to make your ship appear. And then it doesn't even appear as a ship, but as a buoy. With Debug.oxp it's a piece of cake: You just launch and choose 'Create Ship...' from the new drop-down menu named 'Debug'. A small box opens and asks you to type the role of the ship you want to create. Do it, and the ship appears immediately within 10 km of your current position, in all its beauty. And if you want another one, just choose 'Create Ship...' again, as often as you want.
And the console is the place where you (a) find debugging information, error messages, and the like, with valuable extra information compared to the log, and (b) can type all JavaScript-commands with immediate effect, so you can manipulate the Ooniverse and anything around you on the fly. In-val-u-a-ble!
If you have (and know how to use) these instruments, OXP-understanding and OXP-creating immediatly becomes twice as easy.
EDIT: fixed stoopid typo
Actually strike that and replace with: Always look in the logfile. On my computer I have the logfile open in a window next to my Oolite window all the time. This way I don't only immediatly see all errors I have made, but also can inform other OXPers about the errors they made when the wrote their OXPs without consulting the log.
Sometimes even better than the log file is the JS-console. If you're on a Mac, it is integrated in Debug.oxp. Once you've started working with Debug.oxp and the console you won't know anymore how you ever could live and script without it. Seriously. Just one example: To what a hassle you went just to make your ship appear. And then it doesn't even appear as a ship, but as a buoy. With Debug.oxp it's a piece of cake: You just launch and choose 'Create Ship...' from the new drop-down menu named 'Debug'. A small box opens and asks you to type the role of the ship you want to create. Do it, and the ship appears immediately within 10 km of your current position, in all its beauty. And if you want another one, just choose 'Create Ship...' again, as often as you want.
And the console is the place where you (a) find debugging information, error messages, and the like, with valuable extra information compared to the log, and (b) can type all JavaScript-commands with immediate effect, so you can manipulate the Ooniverse and anything around you on the fly. In-val-u-a-ble!
If you have (and know how to use) these instruments, OXP-understanding and OXP-creating immediatly becomes twice as easy.
EDIT: fixed stoopid typo
Last edited by Commander McLane on Tue Feb 03, 2009 11:56 am, edited 1 time in total.
-
- Quite Grand Sub-Admiral
- Posts: 6682
- Joined: Wed Feb 28, 2007 7:54 am
Quote for emphasis. The debug console is truly an invaluable tool no OXPer should be without, regardless of the platform they are working on.Commander McLane wrote:My suggestion is the same as Thargoid's: Before having a nervous breakdown, or frantically yelling for help , just look in the logfile.
Actually strike that and replace with: Always look in the logfile. On my computer I have the logfile open in a window next to my Oolite window all the time. This way I don't only immediatly see all errors I have made, but also can inform other OXPers about the errors they made when the wrote their OXPs without consulting the log.
Sometimes even better than the log file is the JS-console. If you're on a Mac, it is integrated in Debug.oxp. Once you've started working with Debug.oxp and the console you won't know anymore how you ever could live and script without it. Seriously. Just one example: To what a hassle you went just to make your ship appear. And then it doesn't even appear as a ship, but as a buoy. With Debug.oxp it's a piece of cake: You just launch and choose 'Create Ship...' from the new drop-down menu named 'Debug'. A small box opens and asks you to type the role of the ship you want to create. Do it, and the ship appears immediately within 10 km of your current position, in all its beauty. And if you want another one, just choose 'Create Ship...' again, as often as you want.
And the console is the place where you (a) find debugging information, error messages, and the like, with valuable extra information compared to the log, and (b) can type all JavaScript-commands with immediate effect, so you can manipulate the Ooniverse and anything around you on the fly. In-val-u-a-ble!
If you have (and know hat to use) these instruments, OXP-understanding and OXP-creating immediatly becomes twice as easy.
- JensAyton
- Grand Admiral Emeritus
- Posts: 6657
- Joined: Sat Apr 02, 2005 2:43 pm
- Location: Sweden
- Contact:
Just so non-Mac OXPers don’t feel left out: many of the Debug menu commands just issue JavaScript commands. For instance, Create Ship… uses: system.legacy_addShipsWithinRadius('whatever-role-you-specified', 1, 'abs', player.ship.position, 10000), which works fine in the cross-platform JS console. If you want to use it a lot, you can create a macro, like this:Commander McLane wrote:Just one example: To what a hassle you went just to make your ship appear. And then it doesn't even appear as a ship, but as a buoy. With Debug.oxp it's a piece of cake: You just launch and choose 'Create Ship...' from the new drop-down menu named 'Debug'. A small box opens and asks you to type the role of the ship you want to create. Do it, and the ship appears immediately within 10 km of your current position, in all its beauty. And if you want another one, just choose 'Create Ship...' again, as often as you want.
Code: Select all
> :setM create system.legacy_addShipsWithinRadius(PARAM, 1, 'abs', player.ship.position, 10000)
> :create my-role
E-mail: [email protected]
"buoy" is (one of) the role(s) of the buoy entity (look in shipdata.plist in the resources/config folder to see). So to generate a con-store, you'll need to look in the shipdata.plist file for the OXP with it in, find out what the role is for the con-store entity, and then :create constorerole, replacing constorerole with whatever the role is defined as.Pangloss wrote:I downloaded Debug, just for kicks & giggles. I can generate buoys by typing "buoy". How would I generate a Mall-Wart Griff Con Store?
The :create
With the small caveat that if there are any conditions etc also set up in the shipdata.plist, these will also need to be fulfilled before the store will appear.
Last edited by Thargoid on Wed Feb 04, 2009 4:50 pm, edited 1 time in total.
My OXPs via Boxspace or from my Wiki pages .
Thargoid TV
Dropbox Referral Link
Thargoid TV
Dropbox Referral Link
The value was in triangles. Often referred to as polys - though poly can mean a face with any number of sides.
Aaaaaanyway, it's been a very, very long time but my mind has flitted, butterfly-like once again over to this unfinished Seraphim oxp.
I got quite far into the project, indeed, I actually had a workable OXP but I gave up in a huff when it came time to look at shaders. I just don't even know where to start with them. I've looked at Griff's examples and the various tutorials and wiki entries. I've looked at them several times now and it's just row upon row of incomprehensible maths.
I'm used to Material editors in 3D programs that give me slots. All I need to do is tell it which diffuse texture to use, which normal map texture to use, which specular texture (or value) to use. Sadly, it doesn't seem that simple in Oolite. Maybe if I can figure it out I can write a total newbs tutorial.
But, before I can do anything, I find that after all this time, Oolite is no longer functioning! I installed version 1.73.4 and all I get is this:
Anyone got any ideas what's going on?
In the mean time, I'll try updating my drivers but I'm not convinced that that's the problem.
Crow
Aaaaaanyway, it's been a very, very long time but my mind has flitted, butterfly-like once again over to this unfinished Seraphim oxp.
I got quite far into the project, indeed, I actually had a workable OXP but I gave up in a huff when it came time to look at shaders. I just don't even know where to start with them. I've looked at Griff's examples and the various tutorials and wiki entries. I've looked at them several times now and it's just row upon row of incomprehensible maths.
I'm used to Material editors in 3D programs that give me slots. All I need to do is tell it which diffuse texture to use, which normal map texture to use, which specular texture (or value) to use. Sadly, it doesn't seem that simple in Oolite. Maybe if I can figure it out I can write a total newbs tutorial.
But, before I can do anything, I find that after all this time, Oolite is no longer functioning! I installed version 1.73.4 and all I get is this:
Anyone got any ideas what's going on?
In the mean time, I'll try updating my drivers but I'm not convinced that that's the problem.
Crow
- Griff
- Oolite 2 Art Director
- Posts: 2483
- Joined: Fri Jul 14, 2006 12:29 pm
- Location: Probably hugging his Air Fryer
Hi Scarecrow, great to see you back, we're all still gagging to get our hands on your oxp!
Have a look here regarding your graphics problem
https://bb.oolite.space/viewtopic.php?t= ... c&start=20
A_C's fix of adding the -nosplash switch to your oolite shortcut fixes it though, so maybe no need to update your drivers
Have a look here regarding your graphics problem
https://bb.oolite.space/viewtopic.php?t= ... c&start=20
A_C's fix of adding the -nosplash switch to your oolite shortcut fixes it though, so maybe no need to update your drivers