Page 2 of 5

Re: [WIP] Jaguar Company 1.5

Posted: Sun Jul 08, 2012 2:43 pm
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.

[UPDATE] [WIP] Jaguar Company 1.6

Posted: Thu Jul 12, 2012 8:19 am
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

Re: [WIP] Jaguar Company 1.6

Posted: Fri Jul 13, 2012 8:19 pm
by Tricky
There is a bug with the ship script. I'll be releasing a fix later tonight when I get home.

[UPDATE] [WIP] Jaguar Company 1.6.2

Posted: Sun Jul 15, 2012 7:07 pm
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

Re: [WIP] Jaguar Company 1.6.2

Posted: Sun Jul 15, 2012 7:58 pm
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

Re: [WIP] Jaguar Company 1.6.2

Posted: Sun Jul 15, 2012 8:18 pm
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?

Re: [WIP] Jaguar Company 1.6.2

Posted: Mon Jul 16, 2012 1:35 am
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.

[UPDATE] [WIP] Jaguar Company 1.7

Posted: Sat Jul 21, 2012 8:23 pm
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

Re: [WIP] Jaguar Company 1.7

Posted: Mon Aug 06, 2012 7:07 am
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]).

Re: [WIP] Jaguar Company 1.7

Posted: Mon Aug 06, 2012 8:12 am
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.

Re: [WIP] Jaguar Company 1.7

Posted: Mon Aug 06, 2012 11:44 am
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.

[UPDATE] [WIP] Jaguar Company 1.8

Posted: Thu Aug 09, 2012 12:19 am
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

Re: [WIP] Jaguar Company 1.8

Posted: Thu Aug 09, 2012 12:26 am
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.

Re: [RELEASE] Jaguar Company 2.0

Posted: Fri Nov 30, 2012 12:47 am
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.

Re: [RELEASE] Jaguar Company 2.0

Posted: Fri Nov 30, 2012 1:55 am
by Tricky
Turrets were in the wrong position. Re-uploaded. Same version number.