[RELEASE] Jaguar Company 2.5r29

Discussion and information relevant to creating special missions, new ships, skins etc.

Moderators: another_commander, winston

User avatar
Commander McLane
---- E L I T E ----
---- 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:

Re: [WIP] Jaguar Company 1.5

Post by Commander McLane »

Tricky wrote:
The ones in the quoted text is a verbatim copy from the readme file which is also a copy and paste of the majority of the wiki entry, which is why there is a strange format for the [ ] brackets.
Then why do you use a wiki format in a BB post? That makes no sense, as it makes no sense to quote verbatim from the wiki on the BB. If you decide to do so, however, you should take the time to convert from wiki-style formatting to BB-style formatting, as a courtesy to the readers of the BB.
User avatar
Tricky
---- E L I T E ----
---- E L I T E ----
Posts: 821
Joined: Sun May 13, 2012 11:12 pm
Location: Bradford, UK. (Anarchic)

[UPDATE] [WIP] Jaguar Company 1.6

Post by Tricky »

v1.6 (2012-07-12)
There is now no concept of leaders and wingmen. All ships keep in a group.
Complete rewrite of the AI to reflect the above.

Downloads
box.com
dropbox.com
User avatar
Tricky
---- E L I T E ----
---- E L I T E ----
Posts: 821
Joined: Sun May 13, 2012 11:12 pm
Location: Bradford, UK. (Anarchic)

Re: [WIP] Jaguar Company 1.6

Post by Tricky »

There is a bug with the ship script. I'll be releasing a fix later tonight when I get home.
User avatar
Tricky
---- E L I T E ----
---- E L I T E ----
Posts: 821
Joined: Sun May 13, 2012 11:12 pm
Location: Bradford, UK. (Anarchic)

[UPDATE] [WIP] Jaguar Company 1.6.2

Post by Tricky »

v1.6.2 (2012-07-14)
Bug fix for the ship script.
Bug fix to the waypoint AI. Never exited the stock AI.
Cascade Weapon detection actually works for pre v1.77
Took the opportunity to clean up some files and re-do the textures.

Downloads
box.com
dropbox.com
User avatar
Tricky
---- E L I T E ----
---- E L I T E ----
Posts: 821
Joined: Sun May 13, 2012 11:12 pm
Location: Bradford, UK. (Anarchic)

Re: [WIP] Jaguar Company 1.6.2

Post by Tricky »

Forgot to mention v1.6 introduced the base to the system.

In order to find the base, go towards the sun from the witchpoint and look for an asteroid field. The base has a class of rock so it won't mass lock, but it will be identified as Jaguar Company Base when targetted. It isn't far from the witchpoint, just out of the way from the route.

Note, it is a dark rock, there are no docking flashers, there is no docking bouy, docking computers are not allowed, there is a small anti-clockwise spin to the station.
Image
User avatar
BuggyBY
Dangerous
Dangerous
Posts: 108
Joined: Thu Feb 09, 2012 9:03 am

Re: [WIP] Jaguar Company 1.6.2

Post by BuggyBY »

Is the system containing the base still a secret? Also, I don't see the "rippling pool" resemblance mentioned in v1.5 changelog, or has that design choice been abandoned?
User avatar
Tricky
---- E L I T E ----
---- E L I T E ----
Posts: 821
Joined: Sun May 13, 2012 11:12 pm
Location: Bradford, UK. (Anarchic)

Re: [WIP] Jaguar Company 1.6.2

Post by Tricky »

BuggyBY wrote:
Is the system containing the base still a secret?
It's not a secret as such. Obviously Jaguar Company don't want to advertise their presence to all and sundry.

Something I have been thinking of is a special piece of equipment you can pick up to be able to locate the base (and the group of ships). Whether this is buyable from the base or given as a thank you from Jaguar Company for helping out is yet to be decided. That is probably one thing that should have made it into the Future Versions section.
BuggyBY wrote:
Also, I don't see the "rippling pool" resemblance mentioned in v1.5 changelog, or has that design choice been abandoned?
It's not working as I really want. It needs the docking bay to be rendered another 2 times (by the main program) for the reflections map and the refractions map. Not really feasible at all. What I had was a cheat and doesn't look too good with the new textures. I've got an idea of placing a semi-transparent door in front of the docking bay (as a subentity) and rippling that.
User avatar
Tricky
---- E L I T E ----
---- E L I T E ----
Posts: 821
Joined: Sun May 13, 2012 11:12 pm
Location: Bradford, UK. (Anarchic)

[UPDATE] [WIP] Jaguar Company 1.7

Post by Tricky »

v1.7 (2012-07-21)
Simplified the intercept AI.
Heavily commented the scripts and AIs.
Stray comma in pirate-victim-roles.plist removed.
Used Obj2DatTexNorm.py on the models and preserved the material names.
Modified the shipdata to use the material names.
Relaxed distance code to cope with battalion sized groups. (64 ships tested)

Downloads
box.com
dropbox.com
User avatar
Tricky
---- E L I T E ----
---- E L I T E ----
Posts: 821
Joined: Sun May 13, 2012 11:12 pm
Location: Bradford, UK. (Anarchic)

Re: [WIP] Jaguar Company 1.7

Post by Tricky »

I'll have v1.8 out soon. Spent the last 8 hours tracking down an OpenGL error...

Code: Select all

07:34:23.986 [rendering.opengl.error]: OpenGL error: "invalid operation" (0x502), context: POST OOShaderUniform.m:572 (-[OOShaderUniform(OOPrivate) applyBinding]) -- glUniform1iARB(location, iVal)
  07:34:23.987 [rendering.opengl.stateDump]: OpenGL state dump:
    07:34:23.987 [rendering.opengl.stateDump]: Material state:
      07:34:23.987 [rendering.opengl.stateDump]: Ambient: white
      07:34:23.987 [rendering.opengl.stateDump]: Diffuse: white
      07:34:23.987 [rendering.opengl.stateDump]: Emission: black
      07:34:23.987 [rendering.opengl.stateDump]: Specular: (0.20f, 0.20f, 0.20f, 1.00f)
      07:34:23.987 [rendering.opengl.stateDump]: Shininess: 10
      07:34:23.987 [rendering.opengl.stateDump]: Colour material: disabled
      07:34:23.987 [rendering.opengl.stateDump]: Current color: green
      07:34:23.987 [rendering.opengl.stateDump]: Shade model: GL_SMOOTH
      07:34:23.987 [rendering.opengl.stateDump]: Blending: disabled
      07:34:23.987 [rendering.opengl.stateDump]: Texture env mode: GL_MODULATE
      07:34:23.987 [rendering.opengl.stateDump]: Active texture unit: GL_TEXTURE0
      07:34:23.987 [rendering.opengl.stateDump]: Active client texture unit: GL_TEXTURE0
    07:34:23.987 [rendering.opengl.stateDump]: Cull face mode: GL_BACK
    07:34:23.987 [rendering.opengl.stateDump]: Front face direction: GL_CCW
    07:34:23.987 [rendering.opengl.stateDump]: Lighting: enabled
    07:34:23.987 [rendering.opengl.stateDump]: Light 0: disabled
    07:34:23.988 [rendering.opengl.stateDump]: Light 1: ENABLED
      07:34:23.988 [rendering.opengl.stateDump]: Ambient: black
      07:34:23.988 [rendering.opengl.stateDump]: Diffuse: (1.00f, 1.00f, 0.98f, 1.00f)
      07:34:23.988 [rendering.opengl.stateDump]: Specular: (1.00f, 1.00f, 0.96f, 1.00f)
    07:34:23.988 [rendering.opengl.stateDump]: Light 2: disabled
    07:34:23.988 [rendering.opengl.stateDump]: Light 3: disabled
    07:34:23.988 [rendering.opengl.stateDump]: Light 4: disabled
    07:34:23.988 [rendering.opengl.stateDump]: Light 5: disabled
    07:34:23.988 [rendering.opengl.stateDump]: Light 6: disabled
    07:34:23.988 [rendering.opengl.stateDump]: Light 7: disabled
    07:34:23.988 [rendering.opengl.stateDump]: Fog: disabled
    07:34:23.988 [rendering.opengl.stateDump]: Selected state flags:
      07:34:23.988 [rendering.opengl.stateDump]: GL_VERTEX_ARRAY: ENABLED
      07:34:23.988 [rendering.opengl.stateDump]: GL_NORMAL_ARRAY: ENABLED
      07:34:23.988 [rendering.opengl.stateDump]: GL_TEXTURE_COORD_ARRAY: ENABLED
      07:34:23.988 [rendering.opengl.stateDump]: GL_COLOR_ARRAY: disabled
      07:34:23.988 [rendering.opengl.stateDump]: GL_EDGE_FLAG_ARRAY: disabled
      07:34:23.988 [rendering.opengl.stateDump]: GL_TEXTURE_2D: ENABLED
      07:34:23.988 [rendering.opengl.stateDump]: GL_DEPTH_TEST: ENABLED
      07:34:23.988 [rendering.opengl.stateDump]: GL_DEPTH_WRITEMASK: ENABLED
      07:34:23.988 [rendering.opengl.stateDump]: GL_DITHER: ENABLED
      07:34:23.988 [rendering.opengl.stateDump]: GL_POINT_SMOOTH: ENABLED
      07:34:23.988 [rendering.opengl.stateDump]: GL_LINE_SMOOTH: ENABLED
...which didn't tell me a lot.

Turned out that the wiki claimed that the shader uniform 'withinStationAegis' is a float. It is really a boolean. I've changed it on the wiki ([EliteWiki] [url=http://wiki.alioth.net/index.php/Shader ... forms#Ship]Ship shader uniforms[/url]).
User avatar
Tricky
---- E L I T E ----
---- E L I T E ----
Posts: 821
Joined: Sun May 13, 2012 11:12 pm
Location: Bradford, UK. (Anarchic)

Re: [WIP] Jaguar Company 1.7

Post by Tricky »

shader-uniform-bindings.plist in the trunk Config directory is the file I got my final confirmation from. The other was this...

Code: Select all

/usr/local/src/oolite/trunk/src/Core/Entities/ShipEntity.h:- (BOOL) withinStationAegis;
Because I thought it was a float (distance) I was concentrating on other uniforms with a type of integer. It was only on close examination of the logs further up that I saw something that opened up other avenues to check.

Code: Select all

  07:34:23.550 [shader.uniform.set]: Set up uniform <OOShaderUniform 0x105a0f88>{0: int uColorMap = 0;}
  07:34:23.550 [shader.uniform.set]: Set up uniform <OOShaderUniform 0x105a0f28>{1: int uDecalMap = 3;}
  07:34:23.550 [shader.uniform.set]: Set up uniform <OOShaderUniform 0x105a0ec8>{2: float uDecalRotation = 0.7;}
  07:34:23.550 [shader.uniform.set]: Set up uniform <OOShaderUniform 0x105a0e68>{3: vec4 uDecal_XY_Scale = (0.18, 0.22, 9);}
  07:34:23.550 [shader.uniform.set]: Set up uniform <OOShaderUniform 0x105a0e08>{4: int uEffectsMap = 2;}
  07:34:23.550 [shader.uniform.set]: Set up uniform <OOShaderUniform 0x105a0da8>{5: float uEnginePower = [<ShipEntity 0x12e2f800> speedFactor];}
  07:34:23.550 [shader.uniform.set]: Set up uniform <OOShaderUniform 0x105a0d48>{6: int uHostileTarget = [<ShipEntity 0x12e2f800> hasHostileTarget];}
  07:34:23.550 [shader.uniform.set]: Set up uniform <OOShaderUniform 0x105a0ce8>{7: float uHullHeatLevel = [<ShipEntity 0x12e2f800> hullHeatLevel];}
  07:34:23.551 [shader.uniform.set]: Set up uniform <OOShaderUniform 0x105a0c88>{8: int uNearlyDead = [<ShipEntity 0x12e2f800> throwingSparks];}
  07:34:23.551 [shader.uniform.set]: Set up uniform <OOShaderUniform 0x105a0c28>{9: int uNormalMap = 1;}
  07:34:23.551 [shader.uniform.set]: Set up uniform <OOShaderUniform 0x105a0bc8>{10: vec4 uPaintColor1 = (0.75, 0, 0);}
  07:34:23.551 [shader.uniform.set]: Set up uniform <OOShaderUniform 0x105a0b68>{11: vec4 uPaintColor2 = (0.33, 0.2, 0);}
  07:34:23.551 [shader.uniform.set]: Set up uniform <OOShaderUniform 0x105a0aa8>{12: int uStationAegis = [<ShipEntity 0x12e2f800> withinStationAegis];}
  07:34:23.551 [shader.uniform.set]: Set up uniform <OOShaderUniform 0x105a0a48>{13: float uTime = [<ShipEntity 0x12e2f800> universalTime];}
I've also noticed that if you force the type it becomes a constant.

Code: Select all

uStationAegis =
{
    type = int;
    value = "withinStationAegis";
};
uTime =
{
    type = float;
    value = "universalTime";
};
The above 2 effectively stay as 0 (zero). Not sure if I like 'type = int' for a boolean, even though that is how it is represented within the code.
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Re: [WIP] Jaguar Company 1.7

Post by JensAyton »

The type in the plist needs to be "binding", which is inferred if it isn’t specified. The type in the shader needs to be int.
User avatar
Tricky
---- E L I T E ----
---- E L I T E ----
Posts: 821
Joined: Sun May 13, 2012 11:12 pm
Location: Bradford, UK. (Anarchic)

[UPDATE] [WIP] Jaguar Company 1.8

Post by Tricky »

Code: Select all

v1.8 (2012-08-09)
    Use performFlyToRangeFromDestination rather than performFlee in the MOVE_AWAY state of patrol AI.
    Patrol ships launch from base on startup.
    Patrol ships dock after returning to base.
    New AI and script for the base.
    Added turrets to the base.
    Stopped the rotation of the base.
        Found out stations stop rotating when attacking and don't start rotating after.
    Commodity pricing.
    withinStationAegis uniform binding is actually a boolean, not a float as the wiki stated.
        gave this 'OpenGL error: "invalid operation" (0x502) ...' in the test log.
Downloads
box.com
dropbox.com
User avatar
Tricky
---- E L I T E ----
---- E L I T E ----
Posts: 821
Joined: Sun May 13, 2012 11:12 pm
Location: Bradford, UK. (Anarchic)

Re: [WIP] Jaguar Company 1.8

Post by Tricky »

This is going to be the last WIP release. v2.0 will address the following...
  • Currently if you attack Jaguar Company and then run away they forget about you. This will need to be changed.
  • Welcome message on docking.
User avatar
Tricky
---- E L I T E ----
---- E L I T E ----
Posts: 821
Joined: Sun May 13, 2012 11:12 pm
Location: Bradford, UK. (Anarchic)

Re: [RELEASE] Jaguar Company 2.0

Post by Tricky »

After much tweaking here is v2.0

Code: Select all

v2.0 (2012-11-30)
    First release out of WIP.
    Moved route code fully into the main worldscript.
    New worldscript for attackers code. Remember attackers. Even players who jump system.
        Friend or Foe checks all ships in scanner range.
        The first few shots are ignored as "friendly fire". Reputation can be lost!
        You can remove the hostile mark by going to a new galaxy. This will also remove your
          reputation.
    Welcome screen on docking.
    Check for player helping. Thanks to Wildeblood for pointing out the then invisible world script
      event 'shipAttackedOther'.
        There's a 10% chance of being seen in the heat of battle. A kill is always seen and rewarded
          highly.
        If the player has enough reputation in combat then the communications buoy will transmit a
          beacon code of 'J' for the player to follow on the ASC. Wait a couple of minutes before
          checking, the tug pushing the communications buoy out has to reach the drop off point
          before the beacon activates.
        The market for the base will change if the player has enough reputation.
    The communications buoy will slowly rotate to point towards the patrol ships on release from the
      tug.
    Black Box Tracker points to the nearest patrol ship.
        Uses new visual effects code for Oolite v1.77 and newer, otherwise a simple invisible object
          hanging above the closest patrol ship that can be tracked with the Advanced Space
          Compass.
        Tracker deactivates if the player is close to the patrol ships.
    If Jaguar Company is forced out of interstellar space, they will all use 1 witchpoint exit even
      though they are all independent entities and not escorts or part of a group.
    Position and name of the base is now fixed. Uses 'system.scrambledPseudoRandomNumber(salt)'.
        Conjunction of the witchpoint, planet and sun is checked for so the base doesn't end up in
          the middle of the planet.
Downloads
box.com
dropbox.com

See OP or download for full readme.
User avatar
Tricky
---- E L I T E ----
---- E L I T E ----
Posts: 821
Joined: Sun May 13, 2012 11:12 pm
Location: Bradford, UK. (Anarchic)

Re: [RELEASE] Jaguar Company 2.0

Post by Tricky »

Turrets were in the wrong position. Re-uploaded. Same version number.
Post Reply