Lestradae wrote:No, please post your list [of error messages] here! If you found anything I haven`t found yet, it`s very helpful to have it
before the next release!
Okay, here are selected ones from recent runs. First, I get a ton of these every time, with no indication where they come from. Binary elimination is the only way I can see to track it down. May not even be in RS:
Code: Select all
2008-06-30 11:44:44.453 oolite[14383] [ship.sanityCheck.nilDict]: Ship created with nil dictionary!
Next, the endemic alphabetic case problems, first with one example:
Code: Select all
2008-06-30 11:44:49.025 oolite[14383] [files.notFound]: ----- WARNING: Could not find texture file "const.png". Used default no textures material instead.
Whenever I get those, I create a symlink to eliminate it. Here's the list of symlinks I've created so far for RS 3.02, first for textures. The names on the left are references; the names on the right are the actual name of the file:
- const.png -> CONST.png
- CONST.PNG -> CONST.png
- mainhull.PNG -> mainhull.png
- moose.png -> MOOSE.png
- orb.png -> Orb.png
- ORB.png -> Orb.png
- ORB.PNG -> Orb.png
And there's also "oresrian_trader.dat -> Oresrian_Trader.dat" in Models. And of course, those are just the ones I've found so far.
Then the Police Condor AI script, which is missing quote marks all over the place:
Code: Select all
2008-06-30 11:44:50.219 oolite[14383] [plist.parse.foundation.failed]: Failed to parse .../.Oolite/AddOns/Zzzz_Realistic_Shipyards_V3.02.oxp/AIs/PoliceCondorAI.plist as a property list using Foundation. Retrying using homebrew parser. WARNING: the homebrew parser is deprecated and will be removed in a future version of Oolite.
Parse failed at line 8 (char 440) - unexpected character (wanted ',' or ')')
2008-06-30 11:44:50.220 oolite[14383] [plist.homebrew.parseError]: Property list isn't in XML format, homebrew parser can't help you.
Then there's this awful thing, which is who knows where:
Code: Select all
.:85: element array: validity error : Element array content does not follow the DTD, expecting (array | data | date | dict | false | integer | real | string | true)*, got (key integer key integer key string string string )
</array>
^
And this, which thankfully comes with a filename, and is probably a version-transition problem (with oolite, not RS):
Code: Select all
2008-07-14 02:28:17.748 oolite[23530] [script.javaScript.exception.22]: ***** JavaScript exception: TypeError: this.ship.call is not a function
2008-07-14 02:28:17.748 oolite[23530] [script.javaScript.exception.22]: .../.Oolite/AddOns/Zzzz_Realistic_Shipyards_V3.02.oxp/Scripts/bweed-kestrelfalcon-falcon.js, line 29.
Finally, I think these aren't errors in RS, but they're in my log, and maybe the author will notice them. Curiously, I do
not have the Black Monk OXP installed:
Code: Select all
2008-06-30 12:55:13.078 oolite[14966] [shipData.load.error]: ***** ERROR: the shipdata.plist entry "centergun" specifies no roles, ignoring.
2008-06-30 12:55:13.078 oolite[14966] [shipData.load.error]: ***** ERROR: the shipdata.plist entry "monk_r_wing" specifies no roles, ignoring.
2008-06-30 12:55:13.078 oolite[14966] [shipData.load.error]: ***** ERROR: the shipdata.plist entry "monk_engine" specifies no roles, ignoring.
2008-06-30 12:55:13.079 oolite[14966] [shipData.load.error]: ***** ERROR: the shipdata.plist entry "monk_cannon" specifies no roles, ignoring.
2008-06-30 12:55:13.080 oolite[14966] [shipData.load.error]: ***** ERROR: the shipdata.plist entry "griff_spacebar_subent_template" specifies no model, ignoring.
2008-06-30 12:55:13.081 oolite[14966] [shipData.load.error]: ***** ERROR: the shipdata.plist entry "thargoid-player" specifies no roles, ignoring.
2008-06-30 12:55:13.081 oolite[14966] [shipData.load.error]: ***** ERROR: the shipdata.plist entry "monk_l_wing" specifies no roles, ignoring.
And that's what I've collected so far.
know that some ships are represented multiple times, from different shipyard entries, but in at least one case, there was something like a 60,000Cr difference between two ships that were both "standard customer model". And that ship is only in RS, and only in there once.
The only possible explanation for that is that there
are two different versions of that ship which have the same in-game name, but are actually different (i.e. one has 0.35 LS top speed, the other 0.37 LS but both are named Cobra MkIII). Otherwise it would be a mystery.
Yeah, I know those cases exist, and checked explicitly for it. Wasn't the case here. I was expecting you to say "Yeah, that's how the shipyard algorithm works, period."
Do you recall which ship that was?
No, dagnabbit, I didn't make a note--got wrapped up in some other things at the time and forgot to.
Next time for sure!
An alternative explanation would be that you had another oxp installed also that has the same ship type but with a different price which is not rewritten properly by RS - have you checked for that?
Yes, no joy. Which is why I even mentioned it in the first place. It was a pure-RS ship, single instance, two different prices for the same model.
Do the RS prices as they stand now include standard equipment in the cost? How about the tech level?
The additional equipment is calculated by the core game into the price. The ship`s TL determines where a ship can be found, not its equipment.
I wasn't clear in my questions, sorry. First, yes I know that the shipyard adds to the cost of a ship that has
optional equipment installed, often at wildly inflated rates. What I was talking about was
standard equipment. Let's take, as a simple example, the All Stars Large freighter. Its RS price is listed as 32,530, which is close to my little price calculator's 33,076. (The difference is in the speed calc, which I mentioned in another post; I still haven't yet figured out the algorithm you use in programmatic terms.) And 32,530 is how a "standard customer model" would usually be listed in a shipyard. But the aafreighter comes standard with External Heat Shielding, a 1500Cr item supposedly available at TL4 and above. The effect becomes even more pronounced when you buy something like a Fer-de-Lance or an Imperial Courier, which both come with a huge stack of high-priced standard equipment. You note later that the tech level of the (standard)
equipment isn't considered when figuring the TL of the
ship, which I guess makes some sense, sorta. But it seems like one is getting the standard equipment for free using the "realistic" pricing model. When setting the price in the shipdata.plist for the ships I'm creating, I've added in the costs of the standard equipment too.
If it makes sense to also factor the "has ECC" or "has no ECC" into the price I`m also not so sure anymore. I left it in because I had the vague idea to make the scope of a large cargo bay dependable on the "base cargo bay" but leave the price as it is for all ships. That way, while the Cobra MkIII`s large cargo bay adds 15 tons to its 20 for a total of 35 tons, an Anaconda`s large cargo bay might add 570 tons to its 750 for a total of 1320 tons ... not sure yet. Ideas welcome.
This makes it clear that you have the same questions I do, which while not ideal, at least makes me feel less like a dunderhead.
So far, I haven't found any real reason to dock at a SIRF, beyond the visual pleasure of it.
The SIRF Yards have a Tech Level that is three levels higher than the TL of the system surrounding it. If you look at the equipment dock you will see that. In systems of TL 13+ the TL of the SIRFYards stays at 15, but the equipment including the TL 15 equipment gets cheaper. Much cheaper. There`s your reason
Except I docked at a SIRF in at least three TL13 systems, and the equipment prices and ship offerings were identical to those at the main station. And no TL14 or 15 systems in galaxy 1 have SIRFs, so I can't check there. So far as I've seen, there's never been a single difference between the ships or equipment offered at a SIRF versus the main station. Maybe I just need to get around more.
Is it or is it not possible for an OXP to set the prices seen in a shipyard display, based on data of its own, and what it can get from the game engine?
That would be very,
very great, if that was possible, but I don`t know if it is and if, how-to. If someone ever scripted a gadget like that I`d immediately include it into future RS and be
hugely thankful for getting spared lots of future work by hand ...
Okay, I was hoping you might already know. I am pretty sure it's not possible right now, based on what I've seen in the scripting docs, but I thought I recalled seeing ahruman or another of the developers mention that it might be possible in the future. Tonight or tomorrow, I'll convert my python price calculator to ECMAScript, just to be ready in case it does get implemented.
some ideas for the future, like an automated installer that lets you include or omit ships, either in groups ("Trek", "Star Wars", "Uber", "Starter", etc.) or individually
That`s a very good idea. Cmdr Maegil I think said he might create RS versions "for Jamesons" and "for veterans". If he or someone else invests the work, I would appreciate that very much and, if wanted, even host it on my paid box account and add download links on the Realistic Shipyards page to the alternate variants.
An automatic installer that lets you add or remove ships or ship packs, but not by oxp picking (the ship oxps in RS have been repaired, some of them massively, by using the old oxps again you`d get all the old errors again!) but directly from RS, would be the best actually. No idea if or how that is possible - if someone does it, again, I would embrace it, host it and list it on the RS page.
Oh, it's possible. As we in the business say, SMOP--simple matter of programming. I already know how I'd do it, but am unclear about the portability issues--we have people on Windows, on Macs, on Linux, and probably other Unix variants. Finding a language that can be counted on for each of those platforms is a real trick. (I guess I could do it in ObjectiveC, but I shudder at the thought.) That's the hard issue; using a set of selections to craft a customized shipdata.plist and other config files, that's cake.
The other issue is selective downloads; it'd be a shame to have to download all the textures and such for every RS ship, only to wind up installing, say, less than half of them. So the installer would presumably have to tell the user which "packs" to download after the selections were made, to complete the installation. Each pack would include the models, textures, and images for the selected ships, and possibly a few others. So if you selected, say, the Navy Constitution during installation, you'd need to download the Star Trek pack, even if you didn't intend to use the Navy Escort, for example. Its model and texture would be there, but wouldn't be referenced by the installer-created shipdata and shipyard plist files.
In summary, RS actually consists of three parts:
- The SIRF, which is neat, but as mentioned above, I have some questions about. I haven't heard anybody say anything negative about it.
- The "realistic" pricing model. I haven't heard any strong objections to this, either. If a day comes where the game itself could calculate ship prices, this part could go away.
- The ships. Here's where the objections seem to arise, from several categories of players:
- The ultra-purists, who just want the basic eleven ships.
- The old-schoolers, who enjoy a little variety, maybe even use the aegidian OXPs, and the griff textures, but basically operate in a world that's much like the standard one.
- The ooniverse purists, who like lots of different ships, but don't care to see a Millenium Falcon or Enterprise or Liberator gracing the spacelanes of the ooniverse.
- The gradualists, who enjoy ship variety, as long as they're not "too uber".
And probably other categories I'm not thinking of. I bet very few people fall completely within a single category, but each of those sorts of objections has been raised against RS.
Making ships individually selectable, while easing download and installation, would satisfy a wider range of users, no?
Fire away, mateys!