Progress

General discussion for players of Oolite.

Moderators: winston, another_commander

User avatar
DaddyHoggy
Intergalactic Spam Assassin
Intergalactic Spam Assassin
Posts: 8515
Joined: Tue Dec 05, 2006 9:43 pm
Location: Newbury, UK
Contact:

Re: Progress

Post by DaddyHoggy »

Praise be the removal of Wonkiness!

Oddly enough, I think some of what you said made sense too - although not uniquely from a JS point of view...
Selezen wrote:
Apparently I was having a DaddyHoggy moment.
Oolite Life is now revealed here
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Re: Progress

Post by JensAyton »

Somebody on Twitter wrote a tool for mapping the dependencies between Objective-C code modules, so now we have a handy map of the source code to help us orient ourselves. This should make things much easier!
User avatar
DaddyHoggy
Intergalactic Spam Assassin
Intergalactic Spam Assassin
Posts: 8515
Joined: Tue Dec 05, 2006 9:43 pm
Location: Newbury, UK
Contact:

Re: Progress

Post by DaddyHoggy »

Ahruman wrote:
Somebody on Twitter wrote a tool for mapping the dependencies between Objective-C code modules, so now we have a handy map of the source code to help us orient ourselves. This should make things much easier!
:shock: :roll: :) Your idea of much easier and mine are somewhat different - that's spaghetti junction on an acid trip!
Selezen wrote:
Apparently I was having a DaddyHoggy moment.
Oolite Life is now revealed here
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Re: Progress

Post by JensAyton »

I particularly like the arc that kinks off in a random direction and then doubles back on itself near the top left. I think GraphViz just gave up after ten minutes.
User avatar
Killer Wolf
---- E L I T E ----
---- E L I T E ----
Posts: 2279
Joined: Tue Jan 02, 2007 12:38 pm

Re: Progress

Post by Killer Wolf »

well i just get a blank pdf so i've no idea what you're talking about :-/
User avatar
Eric Walch
Slightly Grand Rear Admiral
Slightly Grand Rear Admiral
Posts: 5536
Joined: Sat Jun 16, 2007 3:48 pm
Location: Netherlands

Re: Progress

Post by Eric Walch »

Ahruman wrote:
I particularly like the arc that kinks off in a random direction and then doubles back.
Or the OOJSQuaternion that is placed in the center to show its 'importance'. There are a lot of lines heading to it from the east and suddenly they see "Quaternion", get a headache and decide to bypass that station.

PS. I had to zoom in quite far to even recognise there was text written on the picture. I probably need a monitor as used in football arenas to get the whole picture. :wink:
Last edited by Eric Walch on Fri Jan 07, 2011 12:11 pm, edited 1 time in total.
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Re: Progress

Post by JensAyton »

Ahruman wrote:
…an end to the terrible plague of wonkiness.
I forgot to mention a semi-practical consequence of this: the instanceof operator now works properly. The various isFoo entity properties cover most cases where this would be needed, but there it is.
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Re: Progress

Post by JensAyton »

Killer Wolf wrote:
well i just get a blank pdf so i've no idea what you're talking about :-/
Here it is as a JPEG zoomed out to 6 % – 3116×607 pixels.
User avatar
Zieman
---- E L I T E ----
---- E L I T E ----
Posts: 680
Joined: Tue Sep 01, 2009 11:55 pm
Location: in maZe

Re: Progress

Post by Zieman »

Eric Walch wrote:
Ahruman wrote:
I particularly like the arc that kinks off in a random direction and then doubles back.
Or the OOJSQuaternion that is placed in the center to show its 'importance'. There are a lot ow lines heading to it from the east and suddenly they see "Quaternion", get a headache and decide to bypass that station.
Didn't spot that back-doubling arc, but another one, a little left of OOJSQuaternion caught my eye.
Tried to follow the arc to both ends, and to me it looks like the start point is RingEntity and destination ShipEntityScriptMethods. But as the brilliant NoGrip slogan goes: "It's not the destination, but the drive there", this arc looks like it really is a ring racer in a race - starts with swerwing around OOSelfDrawingEntity and OOShaderProgram, continues wobbling between OOJSQuaternion, OOJSCall and OOJSVector (barely missing OOJSCall), then changes its direction ~90 degrees (seems to sober up at the same time) by executing a tight loop before continuing relatively straight to ShipEntityScriptMethods. :)

EDIT: P.S hope the Cthulhu reference is only for the .PDF - wouldn't want the ultimate horror creeping in Oolite... :shock:
...and keep it under lightspeed!

Friendliest Meteor Police that side of Riedquat

[EliteWiki] Far Arm ships
[EliteWiki] Z-ships
[EliteWiki] Baakili Far Trader
[EliteWiki] Tin of SPAM
User avatar
Kaks
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 3009
Joined: Mon Jan 21, 2008 11:41 pm
Location: The Big Smoke

Re: Progress

Post by Kaks »

Ahruman wrote:
  • Kaks “made fuel price slightly more variable”, I’m not sure what that’s about.
I know, I know! :)

"In trunk the fuel price has been affected by the ship's mass for a while. The formula that calculates the actual price has been tweaked to be more proportional to the ship's mass."
Last edited by Kaks on Fri Jan 07, 2011 5:03 pm, edited 1 time in total.
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Re: Progress

Post by JensAyton »

It turns out that the prototype chain fix has a less esoteric effect: previously, you could call methods on the constructor of a singleton instead of the singleton instance itself, which no longer works.

Huh?

Examples of this are PlayerShip vs. player.ship and System vs. system. There is never a valid reason to refer to PlayerShip in code, and in 1.75 it won’t work. Don’t use PlayerShip.dockedStation, use player.ship.dockedStation. For System, the correct usage is (and always has been) that you use system to refer to the current system, and System to call methods dealing with other systems – specifically the three methods listed under “Static Methods” on the [EliteWiki] System reference page.

Code that gets this wrong has always been incorrect, and in 1.75 it won’t work.
User avatar
DaddyHoggy
Intergalactic Spam Assassin
Intergalactic Spam Assassin
Posts: 8515
Joined: Tue Dec 05, 2006 9:43 pm
Location: Newbury, UK
Contact:

Re: Progress

Post by DaddyHoggy »

Did I detect a silent stamping of a foot there? :)
Selezen wrote:
Apparently I was having a DaddyHoggy moment.
Oolite Life is now revealed here
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Re: Progress

Post by JensAyton »

DaddyHoggy wrote:
Did I detect a silent stamping of a foot there? :)
No, not really. I just wanted to be absolutely clear that it’s everyone else’s fault and not mine. :-)

Part of the problem is that there’s no good terminology for referring to methods on instances vs. methods on constructors in JavaScript. Strictly speaking, methods you can call on a vector, say, are methods of Vector3D.prototype, while methods you call on Vector3D itself are methods of Vector3D, and properties of ships are really accessor-backed properties of Ship.prototype and Entity.prototype. This makes perfect sense if you understand JavaScript’s object model, but it’s a bit of a barrier to entry.
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Re: Progress

Post by JensAyton »

One wafer-thin deprecation… the Ship property roleProbabilities will be renamed roleWeights.
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Re: Progress

Post by JensAyton »

It turns out that confusion of System with system and Player with player is rampant, so I’ve added compatibility methods which print warnings much like deprecation handlers. These will be removed in 1.75.1.

Exception: because constructors are functions, they have a non-configurable “name” property already. System.name is “System” and Player.name is “Player”.
Post Reply