Ejemplo n.º 1
0
        public void Initialize_AdvanceLight_LightViz4()
        {
            Torque_Class_Helper tch = new Torque_Class_Helper("ShaderData", "AL_ShadowVisualizeShader");

            tch.PropsAddString("DXVertexShaderFile", "shaders/common/guiMaterialV.hlsl");
            tch.PropsAddString("DXPixelShaderFile", "shaders/common/lighting/advanced/dbgShadowVisualizeP.hlsl");

            tch.PropsAddString("OGLVertexShaderFile", "shaders/common/gl/guiMaterialV.glsl");
            tch.PropsAddString("OGLPixelShaderFile", "shaders/common/lighting/advanced/gl/dbgShadowVisualizeP.glsl");

            tch.Props.Add("pixVersion", "2.0");
            tch.Create();

            tch = new Torque_Class_Helper("CustomMaterial", "AL_ShadowVisualizeMaterial");
            tch.Props.Add("shader", "AL_ShadowVisualizeShader");
            tch.Props.Add("stateBlock", "AL_DepthVisualizeState");

            tch.PropsAddString(@"sampler[""shadowMap""]", "#AL_ShadowVizTexture");
            tch.PropsAddString(@"sampler[""depthViz""]", "depthviz");

            tch.Props.Add("pixVersion", "2.0");
            tch.Create();

            TorqueSingleton ts = new TorqueSingleton("GuiControlProfile", "AL_ShadowLabelTextProfile");

            ts.PropsAddString("fontColor", "0 0 0");
            ts.Props.Add("autoSizeWidth", "true");
            ts.Props.Add("autoSizeHeight", "true");
            ts.PropsAddString("justify", "left");
            ts.Props.Add("fontSize", "14");
            ts.Create();
        }
Ejemplo n.º 2
0
        public bool CreateAndConnectToLocalServer(string serverType, string level)
        {
            if (!CreateServer(serverType, level))
            {
                return(false);
            }


            coGameConnection client = new Torque_Class_Helper("GameConnection", "ServerConnection").Create();


            client.setConnectArgs(sGlobal["$pref::Player::Name"]);

            client.setJoinPassword(sGlobal["$Client::Password"]);

            string result = client.connectLocal();

            if (result != "")
            {
                client.delete();
                DestroyServer();
                return(false);
            }
            return(true);
        }
Ejemplo n.º 3
0
        public void createAI(int count)
        {
            if (lastcount > 0)
            {
                console.error("Mobs already spawned");
                return;
            }

            lastcount = count;
            int team = 0;

            for (int i = 0; i < count; i++)
            {
                team++;
                if (team == 3)
                {
                    team = 1;
                }

                coScriptObject MobRoot = new Torque_Class_Helper("ScriptObject", "Mob" + i.AsString()).Create().AsString();
                MobRoot["player"] = "";
                MobRoot["aiteam"] = team.AsString();
                ((coSimSet)"rootgroup").pushToBack(MobRoot);
                Util._schedule((i * 100).AsString(), "0", "spawnAI", MobRoot);
            }
            using (BackgroundWorker bwr_AIThought = new BackgroundWorker())
            {
                bwr_AIThought.DoWork += bwr_AIThought_DoWork;

                bwr_AIThought.RunWorkerAsync();
            }
        }
Ejemplo n.º 4
0
        public string PickCameraSpawnPoint(string spawnGroups)
        {
            coSimObject spawnpoint = null;

            String[] lspawngroups = spawnGroups.Split(' ');

            foreach (coSimSet group in lspawngroups)
            {
                if (!group.isObject())
                {
                    continue;
                }
                spawnpoint = group.getRandom();
                if (spawnpoint.isObject())
                {
                    return(spawnpoint);
                }
            }
            coSpawnSphere DefaultCameraSpawnSphere = "DefaultCameraSpawnSphere";

            if (!DefaultCameraSpawnSphere.isObject())
            {
                Torque_Class_Helper spawn = new Torque_Class_Helper("SpawnSphere", "DefaultCameraSpawnSphere");
                spawn.Props.Add("dataBlock", "SpawnSphereMarker");
                spawn.PropsAddString("spawnClass", Game__DefaultCameraClass);
                spawn.PropsAddString("spawnDatablock", Game__DefaultCameraDataBlock);
                coSpawnSphere spawnobj = spawn.Create();

                ((coSimSet)"MissionCleanup").pushToBack(spawnobj);
            }

            return(DefaultCameraSpawnSphere);
        }
Ejemplo n.º 5
0
        public void initialize_scattersky()
        {
            Torque_Class_Helper tch = new Torque_Class_Helper("GFXStateBlockData", "ScatterSkySBData");

            tch.Props.Add("cullDefined", "true");
            tch.PropsAddString("cullMode", "GFXCullNone");
            tch.Props.Add("zDefined", "true");
            tch.Props.Add("zEnable", "true");
            tch.Props.Add("zWriteEnable", "false");
            tch.Props.Add("zFunc", "GFXCmpLessEqual");

            tch.Props.Add("samplersDefined", "true");
            tch.Props.Add("samplerStates[0]", "SamplerClampLinear");
            tch.Props.Add("samplerStates[1]", "SamplerClampLinear");
            tch.Props.Add("vertexColorEnable", "true");
            tch.Create();

            TorqueSingleton ts = new TorqueSingleton("ShaderData", "ScatterSkyShaderData");

            ts.PropsAddString("DXVertexShaderFile", "shaders/common/scatterSkyV.hlsl");
            ts.PropsAddString("DXPixelShaderFile", "shaders/common/scatterSkyP.hlsl");

            ts.PropsAddString("OGLVertexShaderFile", "shaders/common/gl/scatterSkyV.glsl");
            ts.PropsAddString("OGLPixelShaderFile", "shaders/common/gl/scatterSkyP.glsl");

            ts.Props.Add("pixVersion", "2.0");

            ts.Create();
        }
Ejemplo n.º 6
0
        public string StaticShapeDataCreate(coSimDataBlock data)
        {
            Torque_Class_Helper tch = new Torque_Class_Helper("StaticShape");

            tch.Props.Add("dataBlock", data);
            coSimObject obj = tch.Create();

            return(obj);
        }
Ejemplo n.º 7
0
        public coItem ItemDataCreateItem(coItemData datablock)
        {
            Torque_Class_Helper tch = new Torque_Class_Helper("Item");

            tch.Props.Add("dataBlock", datablock);
            tch.Props.Add("static", "true");
            tch.Props.Add("rotate", "true");
            return(tch.Create());
        }
Ejemplo n.º 8
0
        public void AddObjectTo_MobSearchGroup(coPlayer obj, int team)
        {
            coSimSet MobSearchGroup = "MobSearchGroup_" + team;

            if (!MobSearchGroup.isObject())
            {
                MobSearchGroup = new Torque_Class_Helper("SimSet", "MobSearchGroup_" + team).Create();
            }
            MobSearchGroup.add(obj);
        }
Ejemplo n.º 9
0
        public void initializeShadowMaps()
        {
            Torque_Class_Helper tch = new Torque_Class_Helper("ShaderData", "BlurDepthShader");

            tch.PropsAddString("DXVertexShaderFile", "shaders/common/lighting/shadowMap/boxFilterV.hlsl");
            tch.PropsAddString("DXPixelShaderFile", "shaders/common/lighting/shadowMap/boxFilterP.hlsl");

            tch.PropsAddString("OGLVertexShaderFile", "shaders/common/lighting/shadowMap/gl/boxFilterV.glsl");
            tch.PropsAddString("OGLPixelShaderFile", "shaders/common/lighting/shadowMap/gl/boxFilterP.glsl");
            tch.Props.Add("pixVersion", "2.0");
            tch.Create();
        }
Ejemplo n.º 10
0
        public void ClientCmdPlayTeleportEffect(Point3F position, coSimDataBlock effectDataBlock)
        {
            if (!effectDataBlock.isObject())
            {
                return;
            }
            Torque_Class_Helper tch = new Torque_Class_Helper("Explosion");

            tch.Props.Add("position", '"' + position.AsString() + '"');
            tch.Props.Add("datablock", effectDataBlock);
            tch.Create();
        }
Ejemplo n.º 11
0
        public void connect(string server)
        {
            iGlobal["$pref::Net::PacketRateToServer"]        = 32;
            iGlobal["$pref::Net::PacketSize"]                = 200;
            iGlobal["$platform::timeManagerProcessInterval"] = 1;
            coGameConnection conn = new Torque_Class_Helper("GameConnection", "ServerConnection").Create().AsString();

            ((coSimSet)"rootgroup").pushToBack(conn);
            conn.setConnectArgs(sGlobal["$pref::Player::Name"]);
            conn.setJoinPassword(sGlobal["$Client::Password"]);
            conn.connect(server);
        }
Ejemplo n.º 12
0
        public coAIPlayer AiPlayerSpawn(string name, TransformF spawnPoint)
        {
            Torque_Class_Helper tch = new Torque_Class_Helper("AiPlayer");

            tch.Props.Add("dataBlock", "DemoPlayer");
            tch.Props.Add("path", "");
            coAIPlayer npc = tch.Create();

            ((coSimSet)"MissionCleanup").pushToBack(npc);
            npc.setShapeName(name);
            npc.setTransform(spawnPoint);
            return(npc);
        }
        public void DoManualDetonation(coSceneObject obj)
        {
            Torque_Class_Helper tch = new Torque_Class_Helper("Item", "");

            tch.Props.Add("dataBlock", "Detonade");
            coSceneObject nade = tch.Create();

            ((coSimSet)"MissionCleanUp").pushToBack(nade);
            nade.setTransform(obj.getTransform());
            nade["sourceObject"] = obj["SourceObject"];
            nade.schedule("50", "setDamageState", "Destroyed");
            obj.delete();
        }
Ejemplo n.º 14
0
        public string MissionGroupRespawnTurret(coSimSet thisobj, coTurretShapeData datablock, coTurretShape classname, TransformF transform, bool isstatic, bool respawn)
        {
            Torque_Class_Helper turret = new Torque_Class_Helper(classname, "");

            turret.Props.Add("datablock", datablock);
            turret.Props.Add("static", isstatic.AsString());
            turret.Props.Add("respawn", respawn.AsString());
            coTurretShape turretid = turret.Create();

            turretid.setTransform(transform);
            ((coSimSet)"MissioinGroup").pushToBack(turretid);
            return(turretid);
        }
        public void Initialize_AdvanceLight_LightViz()
        {
            Torque_Class_Helper tch = new Torque_Class_Helper("GFXStateBlockData", "AL_DepthVisualizeState");

            tch.Props.Add("zDefined", "true");
            tch.Props.Add("zEnable", "false");
            tch.Props.Add("zWriteEnable", "false");

            tch.Props.Add("samplersDefined", "true");
            tch.Props.Add("samplerStates[0]", "SamplerClampPoint");  // depth
            tch.Props.Add("samplerStates[1]", "SamplerClampLinear"); // viz color lookup
            tch.Create();

            tch = new Torque_Class_Helper("GFXStateBlockData", "AL_DefaultVisualizeState");
            tch.Props.Add("blendDefined", "true");
            tch.Props.Add("blendEnable", "true");
            tch.Props.Add("blendSrc", "GFXBlendSrcAlpha");
            tch.Props.Add("blendDest", "GFXBlendInvSrcAlpha");

            tch.Props.Add("zDefined", "true");
            tch.Props.Add("zEnable", "false");
            tch.Props.Add("zWriteEnable", "false");

            tch.Props.Add("samplersDefined", "true");
            tch.Props.Add("samplerStates[0]", "SamplerClampPoint");  // #prepass
            tch.Props.Add("samplerStates[1]", "SamplerClampLinear"); // depthviz
            tch.Create();

            tch = new Torque_Class_Helper("ShaderData", "AL_DepthVisualizeShader");
            tch.PropsAddString("DXVertexShaderFile ", "shaders/common/postFx/postFxV.hlsl");
            tch.PropsAddString("DXPixelShaderFile", "shaders/common/lighting/advanced/dbgDepthVisualizeP.hlsl");

            tch.PropsAddString("OGLVertexShaderFile", "shaders/common/postFx/postFxV.glsl");
            tch.PropsAddString("OGLPixelShaderFile", "shaders/common/lighting/advanced/gl/dbgDepthVisualizeP.glsl");

            tch.PropsAddString("samplerNames[0]", "prepassBuffer");
            tch.PropsAddString("samplerNames[1]", "depthViz");

            tch.Props.Add("pixVersion", "2.0");
            tch.Create();

            TorqueSingleton ts = new TorqueSingleton("PostEffect", "AL_DepthVisualize");

            ts.Props.Add("shader", "AL_DepthVisualizeShader");
            ts.Props.Add("stateBlock", "AL_DefaultVisualizeState");
            ts.PropsAddString("texture[0]", "#prepass");
            ts.PropsAddString("texture[1]", "depthviz");
            ts.PropsAddString("target", "$backBuffer");
            ts.Props.Add("renderPriority", "9999");
            ts.Create();
        }
Ejemplo n.º 16
0
        public void commonMaterialData_Init()
        {
            iGlobal["$scroll"]   = 1;
            iGlobal["$rotate"]   = 2;
            iGlobal["$wave"]     = 4;
            iGlobal["$scale"]    = 8;
            iGlobal["$sequence"] = 16;
            // Common stateblock definitions

            Torque_Class_Helper tch = new Torque_Class_Helper("GFXSamplerStateData", "SamplerClampLinear");

            tch.Props.Add("textureColorOp", "GFXTOPModulate");
            tch.Props.Add("addressModeU", "GFXAddressClamp");
            tch.Props.Add("addressModeV", "GFXAddressClamp");
            tch.Props.Add("addressModeW", "GFXAddressClamp");
            tch.Props.Add("magFilter", "GFXTextureFilterLinear");
            tch.Props.Add("minFilter", "GFXTextureFilterLinear");
            tch.Props.Add("mipFilter", "GFXTextureFilterLinear");
            tch.Create();

            tch = new Torque_Class_Helper("GFXSamplerStateData", "SamplerClampPoint");
            tch.Props.Add("textureColorOp", "GFXTOPModulate");
            tch.Props.Add("addressModeU", "GFXAddressClamp");
            tch.Props.Add("addressModeV", "GFXAddressClamp");
            tch.Props.Add("addressModeW", "GFXAddressClamp");
            tch.Props.Add("magFilter", "GFXTextureFilterPoint");
            tch.Props.Add("minFilter", "GFXTextureFilterPoint");
            tch.Props.Add("mipFilter", "GFXTextureFilterPoint");
            tch.Create();

            tch = new Torque_Class_Helper("GFXSamplerStateData", "SamplerWrapLinear");
            tch.Props.Add("textureColorOp", "GFXTOPModulate");
            tch.Props.Add("addressModeU", "GFXTextureAddressWrap");
            tch.Props.Add("addressModeV", "GFXTextureAddressWrap");
            tch.Props.Add("addressModeW", "GFXTextureAddressWrap");
            tch.Props.Add("magFilter", "GFXTextureFilterLinear");
            tch.Props.Add("minFilter", "GFXTextureFilterLinear");
            tch.Props.Add("mipFilter", "GFXTextureFilterLinear");
            tch.Create();

            tch = new Torque_Class_Helper("GFXSamplerStateData", "SamplerWrapPoint");
            tch.Props.Add("textureColorOp", "GFXTOPModulate");
            tch.Props.Add("addressModeU", "GFXTextureAddressWrap");
            tch.Props.Add("addressModeV", "GFXTextureAddressWrap");
            tch.Props.Add("addressModeW", "GFXTextureAddressWrap");
            tch.Props.Add("magFilter", "GFXTextureFilterPoint");
            tch.Props.Add("minFilter", "GFXTextureFilterPoint");
            tch.Props.Add("mipFilter", "GFXTextureFilterPoint");
            tch.Create();
        }
        public string RocketLauncherImageOnAltFire(coItem thisobj, coPlayer obj, string slot)
        {
            int currentAmmo = ShapeBaseShapeBaseGetInventory(obj, (thisobj["ammo"]));

            if (currentAmmo < thisobj["loadCount"].AsInt())
            {
                thisobj["loadCount"] = currentAmmo.AsString();
            }
            coProjectile projectile = null;

            for (int shotCount = 0; shotCount < thisobj["loadCount"].AsInt(); shotCount++)
            {
                // Decrement inventory ammo. The image's ammo state is updated
                // automatically by the ammo inventory hooks.
                ShapeBaseShapeBaseDecInventory(obj, (thisobj["ammo"]), 1);
                // We fire our weapon using the straight ahead aiming point of the gun
                // We'll need to "skew" the projectile a little bit.  We start by getting
                // the straight ahead aiming point of the gun
                Point3F    vec    = obj.getMuzzleVector(slot.AsInt());
                Random     r      = new Random();
                TransformF matrix = new TransformF();
                matrix.MPosition.x = (float)((r.NextDouble() - .5) * 2 * Math.PI * 0.008);
                matrix.MPosition.y = (float)((r.NextDouble() - .5) * 2 * Math.PI * 0.008);
                matrix.MPosition.z = (float)((r.NextDouble() - .5) * 2 * Math.PI * 0.008);
                TransformF mat = math.MatrixCreateFromEuler(matrix);

                // Which we'll use to alter the projectile's initial vector with
                TransformF muzzleVector = math.MatrixMulVector(mat, vec);

                // Get the player's velocity, we'll then add it to that of the projectile
                TransformF objectVelocity = new TransformF(obj.getVelocity());

                muzzleVector   = muzzleVector.vectorScale(thisobj["projectile.muzzleVelocity"].AsFloat());
                objectVelocity = objectVelocity.vectorScale(thisobj["projectile.velInheritFactor"].AsFloat());
                TransformF muzzleVelocity = muzzleVector + objectVelocity;

                Torque_Class_Helper tch = new Torque_Class_Helper(thisobj["projectileType"], "");
                tch.Props.Add("dataBlock", thisobj["projectile"]);
                tch.Props.Add("initialVelocity", '"' + muzzleVelocity.ToString() + '"');
                tch.Props.Add("initialPosition", '"' + obj.getMuzzlePoint(slot.AsInt()).AsString() + '"');
                tch.Props.Add("sourceObject", obj);
                tch.Props.Add("sourceSlot", slot);
                tch.Props.Add("client", obj["client"]);


                projectile = tch.Create();
                ((coSimSet)"MissionCleanup").pushToBack(projectile);
            }
            return(projectile);
        }
Ejemplo n.º 18
0
        public bool sfxAutodetect()
        {
            // Get all the available devices.
            string devices = Util.sfxGetAvailableDevices();
            // Collect and sort the devices by preferentiality.


            int count = Util.getRecordCount(devices);


            coArrayObject deviceTrySequence = new Torque_Class_Helper("ArrayObject").Create().AsString();


            for (int i = 0; i < count; i++)
            {
                string info     = Util.getRecord(devices, i);
                string provider = Util.getField(info, 0);
                deviceTrySequence.push_back(provider, info);
            }
            deviceTrySequence.sortfk("sfxCompareProvider");
            // Try the devices in order.

            count = deviceTrySequence.count();
            for (int i = 0; i < count; i++)
            {
                string provider = deviceTrySequence.getKey(i);
                string info     = deviceTrySequence.getValue(i);
                sGlobal["$pref::SFX::provider"]    = provider;
                sGlobal["$pref::SFX::device"]      = Util.getField(info, 1);
                sGlobal["$pref::SFX::useHardware"] = Util.getField(info, 2);
                // By default we've decided to avoid hardware devices as
                // they are buggy and prone to problems.
                bGlobal["$pref::SFX::useHardware"] = false;
                if (!sfxInit())
                {
                    continue;
                }
                bGlobal["$pref::SFX::autoDetect"] = false;
                deviceTrySequence.delete();
                return(true);
            }
            // Found no suitable device.
            console.error("sfxAutodetect - Could not initialize a valid SFX device.");
            sGlobal["$pref::SFX::provider"]    = "";
            sGlobal["$pref::SFX::device"]      = "";
            sGlobal["$pref::SFX::useHardware"] = "";
            deviceTrySequence.delete();
            return(false);
        }
Ejemplo n.º 19
0
        public void HelpFileListonSelect(string thisobj, string row)
        {
            coFileObject fo = new Torque_Class_Helper("FileObject").Create().AsString();

            fo.openForRead(console.GetVarString(thisobj + ".fileName[" + row + "]"));
            string text = "";

            while (!fo.isEOF())
            {
                text += fo.readLine() + "\n";
            }

            fo.close();
            console.Call("HelpText", "setText", new[] { text });
        }
Ejemplo n.º 20
0
        public UInt32 AiPlayerAiPlayerSpawn(string name, TransformF spawnpoint)
        {
            Torque_Class_Helper npcScriptObject = new Torque_Class_Helper("AIPlayer", "");

            npcScriptObject.Props.Add("dataBlock", "DemoPlayer");
            npcScriptObject.Props.Add("path", "");
            coAIPlayer npc = npcScriptObject.Create();

            if (npc != 0)
            {
                ((coSimSet)"MissionCleanup").pushToBack(npc);
                npc.setShapeName(name);
                npc.setTransform(spawnpoint);
                //                console.SetVar(npcID.ToString(), 1);
            }
            return(npc);
        }
Ejemplo n.º 21
0
        public string ProximityMineDataOnThrow(coItemData datablock, coPlayer player, int amount)
        {
            ShapeBaseShapeBaseDecInventory(player, datablock, 1);

            Torque_Class_Helper tch = new Torque_Class_Helper("ProximityMine", "");

            tch.Props.Add("datablock", datablock);
            tch.Props.Add("sourceObject", player);
            tch.Props.Add("rotation", string.Format("\"0 0 1 {0} \"", new Random().NextDouble() * 360));
            tch.Props.Add("static", "false");
            tch.Props.Add("client", player["client"]);
            coProximityMine pm = (tch.Create());

            ((coSimSet)"MissionCleanup").pushToBack(pm);

            return(pm);
        }
Ejemplo n.º 22
0
        public string loadFileText(string file)
        {
            coFileObject fo = new Torque_Class_Helper("FileObject").Create();

            fo.openForRead(file);
            string text = "";

            while (!fo.isEOF())
            {
                text += fo.readLine();
                if (!fo.isEOF())
                {
                    text += "\n";
                }
            }
            fo.delete();
            return(text);
        }
Ejemplo n.º 23
0
 public void Initialize_ArtGuiCursors()
 {
     if (console.GetVarString("$platform") == "macos")
     {
         Torque_Class_Helper tch = new Torque_Class_Helper("GuiCursor", "DefaultCursor");
         tch.PropsAddString("hotSpot", "4 4");
         tch.PropsAddString("renderOffset", " 0 0");
         tch.PropsAddString("bitmapName", "./core/art/gui/images/macCursor");
         tch.CreateDB();
     }
     else
     {
         Torque_Class_Helper tch = new Torque_Class_Helper("GuiCursor", "DefaultCursor");
         tch.PropsAddString("hotSpot", "1 1");
         tch.PropsAddString("renderOffset", " 0 0");
         tch.PropsAddString("bitmapName", "./core/art/gui/images/defaultCursor");
         tch.CreateDB();
     }
 }
Ejemplo n.º 24
0
        public void ResetMission()
        {
            console.print("*** MISSION RESET");
            // Remove any temporary mission objects


            if (((coSimSet)"MissionCleanup").isObject())
            {
                ((coSimSet)"MissionCleanup").delete();
            }

            sGlobal["$instantGroup"] = sGlobal["ServerGroup"];

            coSimSet MissionCleanup = new Torque_Class_Helper("SimGroup", "MissionCleanup").Create();

            MissionCleanup["$instantGroup"] = MissionCleanup;

            console.clearServerPaths();
            console.error("-------------> Client Group Count = " + ClientGroup.Count);
        }
        public void Initialize_AdvanceLight_LightViz3()
        {
            Torque_Class_Helper tch = new Torque_Class_Helper("ShaderData", "AL_LightSpecularVisualizeShader");

            tch.PropsAddString("DXVertexShaderFile", "shaders/common/postFx/postFxV.hlsl");
            tch.PropsAddString("DXPixelShaderFile", "shaders/common/lighting/advanced/dbgLightSpecularVisualizeP.hlsl");

            tch.PropsAddString("OGLVertexShaderFile", "shaders/common/postFx/postFxV.glsl");
            tch.PropsAddString("OGLPixelShaderFile", "shaders/common/lighting/advanced/dl/dbgLightSpecularVisualizeP.glsl");

            tch.PropsAddString("samplerNames[0]", "lightInfoBuffer");
            tch.Props.Add("pixVersion", "2.0");
            tch.Create();

            TorqueSingleton ts = new TorqueSingleton("PostEffect", "AL_LightSpecularVisualize");

            ts.Props.Add("shader", "AL_LightSpecularVisualizeShader");
            ts.PropsAddString("stateBlock", "AL_DefaultVisualizeState");
            ts.PropsAddString("texture[0]", "#lightinfo");
            ts.PropsAddString("target", "$backBuffer");
            ts.Props.Add("renderPriority", "9999");
            ts.Create();
        }
Ejemplo n.º 26
0
        public void onActivateBasicLM()
        {
            // If HDR is enabled... enable the special format token.
            if ((sGlobal["$platform"] == "macos") || ((coPostEffect)"HDRPostFx").isEnabledX())
            {
                ((coGFXStateBlockData)"AL_FormatToken").call("enable");
            }
            // Create render pass for projected shadow.

            coRenderPassManager BL_ProjectedShadowRPM = new Torque_Class_Helper("RenderPassManager", "BL_ProjectedShadowRPM").Create();

            // Create the mesh bin and add it to the manager.

            coRenderMeshMgr meshbin = new Torque_Class_Helper("RenderMeshMgr").Create();

            BL_ProjectedShadowRPM.addManager(meshbin);
            // Add both to the root group so that it doesn't
            // end up in the MissionCleanup instant group.

            coSimSet rootGroup = "RootGroup";

            rootGroup.pushToBack(BL_ProjectedShadowRPM);
            rootGroup.pushToBack(meshbin);
        }
Ejemplo n.º 27
0
        public string ItemDataOnThrow(coItemData datablock, coPlayer player, int amount)
        {
            if (amount == 0)
            {
                amount = 1;
            }

            if (amount > datablock["maxInventory"].AsInt())
            {
                amount = datablock["maxInventory"].AsInt();
            }

            if (!amount.AsBool())
            {
                return("0");
            }


            ShapeBaseShapeBaseDecInventory(player, datablock, amount);

            // Construct the actual object in the world, and add it to
            // the mission group so it's cleaned up when the mission is
            // done.  The object is given a random z rotation.
            Torque_Class_Helper tch = new Torque_Class_Helper("Item", "");

            tch.Props.Add("datablock", datablock);
            tch.Props.Add("rotation", @"""0 0 1 " + (new Random().Next(0, 360)) + @"""");
            tch.Props.Add("count", amount.AsString());

            coItem item = tch.Create();

            ((coSimSet)"MissionGroup").pushToBack(item);

            ItemschedulePop(item);
            return(item);
        }
Ejemplo n.º 28
0
        public void initRenderManager()
        {
            //con.error("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!RENDOR_MANAGER_INITIALIZED!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");

            console.Eval(@"assert(!isObject(""DiffuseRenderPassManager""), ""initRenderManager() - DiffuseRenderPassManager already initialized!"")");
            new Torque_Class_Helper("RenderPassManager", "DiffuseRenderPassManager").Create();
            // This token, and the associated render managers, ensure that driver MSAA
            // does not get used for Advanced Lighting renders.  The 'AL_FormatResolve'
            // PostEffect copies the result to the backbuffer.

            #region new RenderFormatToken(AL_FormatToken)

            Torque_Class_Helper tch = new Torque_Class_Helper("RenderFormatToken", "AL_FormatToken");
            tch.PropsAddString("enabled", "false");
            tch.PropsAddString("format", "GFXFormatR8G8B8A8");
            tch.PropsAddString("depthFormat", "GFXFormatD24S8");
            tch.Props.Add("aaLevel", "0"); // -1 = match backbuffer
            // The contents of the back buffer before this format token is executed
            // is provided in $inTex
            tch.PropsAddString("copyEffect", "AL_FormatCopy");
            // The contents of the render target created by this format token is
            // provided in $inTex
            tch.PropsAddString("resolveEffect", "AL_FormatCopy");
            tch.Create();

            #endregion

            #region DiffuseRenderPassManager.addManager( new RenderPassStateBin() { renderOrder = 0.001; stateToken = AL_FormatToken; } );

            Torque_Class_Helper tchb = new Torque_Class_Helper("RenderPassStateBin");
            tchb.Props.Add("renderOrder", "0.001");
            tchb.Props.Add("stateToken", "AL_FormatToken");

            coRenderPassManager DiffuseRenderPassManager = "DiffuseRenderPassManager";

            DiffuseRenderPassManager.addManager(tchb.Create().AsString());
            //RenderPassManager.addManager("DiffuseRenderPassManager", tchb.Create().AsString());

            #endregion

            // We really need to fix the sky to render after all the
            // meshes... but that causes issues in reflections.

            #region DiffuseRenderPassManager.addManager( new RenderObjectMgr() { bintype = "Sky"; renderOrder = 0.1; processAddOrder = 0.1; } );

            tchb = new Torque_Class_Helper("RenderObjectMgr");
            tchb.PropsAddString("bintype", "Sky");
            tchb.Props.Add("renderOrder", "0.1");
            tchb.Props.Add("processAddOrder", "0.1");
            //RenderPassManager.addManager("DiffuseRenderPassManager", tchb.Create().AsString());
            DiffuseRenderPassManager.addManager(tchb.Create().AsString());

            #endregion

            #region DiffuseRenderPassManager.addManager( new RenderObjectMgr()              { bintype = "Begin"; renderOrder = 0.2; processAddOrder = 0.2; } );

            tchb = new Torque_Class_Helper("RenderObjectMgr");
            tchb.PropsAddString("bintype", "Begin");
            tchb.Props.Add("renderOrder", "0.2");
            tchb.Props.Add("processAddOrder", "0.2");
            DiffuseRenderPassManager.addManager(tchb.Create().AsString());

            #endregion

            // Normal mesh rendering.

            #region DiffuseRenderPassManager.addManager( new RenderMeshMgr()                { bintype = "Interior"; renderOrder = 0.3; processAddOrder = 0.3; } );

            tchb = new Torque_Class_Helper("RenderMeshMgr");
            tchb.PropsAddString("bintype", "Interior");
            tchb.Props.Add("renderOrder", "0.3");
            tchb.Props.Add("processAddOrder", "0.3");
            //RenderPassManager.addManager("DiffuseRenderPassManager", tchb.Create().AsString());
            DiffuseRenderPassManager.addManager(tchb.Create().AsString());

            #endregion

            #region DiffuseRenderPassManager.addManager( new RenderTerrainMgr()             { renderOrder = 0.4; processAddOrder = 0.4; } );

            tchb = new Torque_Class_Helper("RenderTerrainMgr");
            tchb.Props.Add("renderOrder", "0.4");
            tchb.Props.Add("processAddOrder", "0.4");
            //RenderPassManager.addManager("DiffuseRenderPassManager", tchb.Create().AsString());
            DiffuseRenderPassManager.addManager(tchb.Create().AsString());

            #endregion

            #region   DiffuseRenderPassManager.addManager( new RenderMeshMgr()                { bintype = "Mesh"; renderOrder = 0.5; processAddOrder = 0.5; } );

            tchb = new Torque_Class_Helper("RenderMeshMgr");
            tchb.PropsAddString("bintype", "Mesh");
            tchb.Props.Add("renderOrder", "0.5");
            tchb.Props.Add("processAddOrder", "0.5");
            //RenderPassManager.addManager("DiffuseRenderPassManager", tchb.Create().AsString());
            DiffuseRenderPassManager.addManager(tchb.Create().AsString());

            #endregion

            #region DiffuseRenderPassManager.addManager( new RenderImposterMgr()            { renderOrder = 0.56; processAddOrder = 0.56; } );

            tchb = new Torque_Class_Helper("RenderImposterMgr");
            tchb.Props.Add("renderOrder", "0.56");
            tchb.Props.Add("processAddOrder", "0.56");
            //RenderPassManager.addManager("DiffuseRenderPassManager", tchb.Create().AsString());
            DiffuseRenderPassManager.addManager(tchb.Create().AsString());

            #endregion

            #region DiffuseRenderPassManager.addManager( new RenderObjectMgr()              { bintype = "Object"; renderOrder = 0.6; processAddOrder = 0.6; } );

            tchb = new Torque_Class_Helper("RenderObjectMgr");
            tchb.PropsAddString("bintype", "Object");
            tchb.Props.Add("renderOrder", "0.6");
            tchb.Props.Add("processAddOrder", "0.6");
            //RenderPassManager.addManager("DiffuseRenderPassManager", tchb.Create().AsString());
            DiffuseRenderPassManager.addManager(tchb.Create().AsString());

            #endregion

            #region DiffuseRenderPassManager.addManager( new RenderObjectMgr()              { bintype = "Shadow"; renderOrder = 0.7; processAddOrder = 0.7; } );

            tchb = new Torque_Class_Helper("RenderObjectMgr");
            tchb.PropsAddString("bintype", "Shadow");
            tchb.Props.Add("renderOrder", "0.7");
            tchb.Props.Add("processAddOrder", "0.7");
            //RenderPassManager.addManager("DiffuseRenderPassManager", tchb.Create().AsString());
            DiffuseRenderPassManager.addManager(tchb.Create().AsString());

            #endregion

            #region DiffuseRenderPassManager.addManager( new RenderMeshMgr()                { bintype = "Decal"; renderOrder = 0.8; processAddOrder = 0.8; } );

            tchb = new Torque_Class_Helper("RenderMeshMgr");
            tchb.PropsAddString("bintype", "Decal");
            tchb.Props.Add("renderOrder", "0.8");
            tchb.Props.Add("processAddOrder", "0.8");
            //RenderPassManager.addManager("DiffuseRenderPassManager", tchb.Create().AsString());
            DiffuseRenderPassManager.addManager(tchb.Create().AsString());

            #endregion

            #region DiffuseRenderPassManager.addManager( new RenderOcclusionMgr()           { bintype = "Occluder"; renderOrder = 0.9; processAddOrder = 0.9; } );

            tchb = new Torque_Class_Helper("RenderOcclusionMgr");
            tchb.PropsAddString("bintype", "Occluder");
            tchb.Props.Add("renderOrder", "0.9");
            tchb.Props.Add("processAddOrder", "0.9");
            //RenderPassManager.addManager("DiffuseRenderPassManager", tchb.Create().AsString());
            DiffuseRenderPassManager.addManager(tchb.Create().AsString());

            #endregion

            // We now render translucent objects that should handle
            // their own fogging and lighting.

            // Note that the fog effect is triggered before this bin.

            #region DiffuseRenderPassManager.addManager( new RenderObjectMgr(ObjTranslucentBin) { bintype = "ObjectTranslucent"; renderOrder = 1.0; processAddOrder = 1.0; } );

            tchb = new Torque_Class_Helper("RenderObjectMgr", "ObjTranslucentBin");
            tchb.PropsAddString("bintype", "ObjectTranslucent");
            tchb.Props.Add("renderOrder", "1");
            tchb.Props.Add("processAddOrder", "1");
            //RenderPassManager.addManager("DiffuseRenderPassManager", tchb.Create().AsString());
            DiffuseRenderPassManager.addManager(tchb.Create().AsString());

            #endregion

            #region DiffuseRenderPassManager.addManager( new RenderObjectMgr()              { bintype = "Water"; renderOrder = 1.2; processAddOrder = 1.2; } );

            tchb = new Torque_Class_Helper("RenderObjectMgr");
            tchb.PropsAddString("bintype", "Water");
            tchb.Props.Add("renderOrder", "1.2");
            tchb.Props.Add("processAddOrder", "1.2");
            //RenderPassManager.addManager("DiffuseRenderPassManager", tchb.Create().AsString());
            DiffuseRenderPassManager.addManager(tchb.Create().AsString());

            #endregion

            #region DiffuseRenderPassManager.addManager( new RenderObjectMgr()              { bintype = "Foliage"; renderOrder = 1.3; processAddOrder = 1.3; } );

            tchb = new Torque_Class_Helper("RenderObjectMgr");
            tchb.PropsAddString("bintype", "Foliage");
            tchb.Props.Add("renderOrder", "1.3");
            tchb.Props.Add("processAddOrder", "1.3");
            //RenderPassManager.addManager("DiffuseRenderPassManager", tchb.Create().AsString());
            DiffuseRenderPassManager.addManager(tchb.Create().AsString());

            #endregion

            #region DiffuseRenderPassManager.addManager( new RenderParticleMgr()            { renderOrder = 1.35; processAddOrder = 1.35; } );

            tchb = new Torque_Class_Helper("RenderParticleMgr");
            tchb.Props.Add("renderOrder", "1.35");
            tchb.Props.Add("processAddOrder", "1.35");
            //RenderPassManager.addManager("DiffuseRenderPassManager", tchb.Create().AsString());
            DiffuseRenderPassManager.addManager(tchb.Create().AsString());

            #endregion

            #region DiffuseRenderPassManager.addManager( new RenderTranslucentMgr()         { renderOrder = 1.4; processAddOrder = 1.4; } );

            tchb = new Torque_Class_Helper("RenderTranslucentMgr");
            tchb.Props.Add("renderOrder", "1.4");
            tchb.Props.Add("processAddOrder", "1.4");
            //RenderPassManager.addManager("DiffuseRenderPassManager", tchb.Create().AsString());
            DiffuseRenderPassManager.addManager(tchb.Create().AsString());

            #endregion

            // Note that the GlowPostFx is triggered after this bin.

            #region DiffuseRenderPassManager.addManager( new RenderGlowMgr(GlowBin) { renderOrder = 1.5; processAddOrder = 1.5; } );

            tchb = new Torque_Class_Helper("RenderGlowMgr", "GlowBin");
            tchb.Props.Add("renderOrder", "1.5");
            tchb.Props.Add("processAddOrder", "1.5");
            //RenderPassManager.addManager("DiffuseRenderPassManager", tchb.Create().AsString());
            DiffuseRenderPassManager.addManager(tchb.Create().AsString());

            #endregion

            // We render any editor stuff from this bin.  Note that the HDR is
            // completed before this bin to keep editor elements from tone mapping.

            #region DiffuseRenderPassManager.addManager( new RenderObjectMgr(EditorBin) { bintype = "Editor"; renderOrder = 1.6; processAddOrder = 1.6; } );

            tchb = new Torque_Class_Helper("RenderObjectMgr", "EditorBin");
            tchb.PropsAddString("bintype", "Editor");
            tchb.Props.Add("renderOrder", "1.6");
            tchb.Props.Add("processAddOrder", "1.6");
            //RenderPassManager.addManager("DiffuseRenderPassManager", tchb.Create().AsString());
            DiffuseRenderPassManager.addManager(tchb.Create().AsString());

            #endregion

            // Resolve format change token last.

            #region DiffuseRenderPassManager.addManager( new RenderPassStateBin() { renderOrder = 1.7; stateToken = AL_FormatToken; } );

            tchb = new Torque_Class_Helper("RenderPassStateBin");
            tchb.Props.Add("renderOrder", "1.7");
            tchb.Props.Add("stateToken", "AL_FormatToken");
            //RenderPassManager.addManager("DiffuseRenderPassManager", tchb.Create().AsString());
            DiffuseRenderPassManager.addManager(tchb.Create().AsString());

            #endregion
        }
Ejemplo n.º 29
0
        public void CheetahCarOnAdd(coWheeledVehicleData datablock, coWheeledVehicle vehicle, string nameSpaceDepth)
        {
            int nsd = (nameSpaceDepth.AsInt() + 1);

            console.ParentExecute(datablock, "onAdd", nsd, new string[] { datablock, vehicle.ID });
            vehicle.setWheelTire(0, "CheetahCarTire");
            vehicle.setWheelTire(1, "CheetahCarTire");
            vehicle.setWheelTire(2, "CheetahCarTireRear");
            vehicle.setWheelTire(3, "CheetahCarTireRear");


            // Setup the car with some tires & springs
            for (int i = vehicle.getWheelCount() - 1; i >= 0; i--)
            {
                vehicle.setWheelPowered(i, true);
                vehicle.setWheelSpring(i, "CheetahCarSpring");
            }
            // Steer with the front tires
            vehicle.setWheelSteering(0, 1);
            vehicle.setWheelSteering(1, 1);


            // Add tail lights
            Torque_Class_Helper tc = new Torque_Class_Helper("PointLight", "");

            tc.Props.Add("radius", "1");
            tc.Props.Add("isEnabled", "0");
            tc.Props.Add("color", @"""1 0 0.141176 1""");
            tc.Props.Add("brightness", "2");
            tc.Props.Add("castShadows", "1");
            tc.Props.Add("priority", "1");
            tc.Props.Add("animate", "0");
            tc.Props.Add("animationPeriod", "1");
            tc.Props.Add("animationPhase", "1");
            tc.Props.Add("flareScale", "1");
            tc.Props.Add("attenuationRatio", @"""0 1 1""");
            tc.Props.Add("shadowType", @"""DualParaboloidSinglePass""");
            tc.Props.Add("texSize", "512");
            tc.Props.Add("overDarkFactor", @"""2000 1000 500 100""");
            tc.Props.Add("shadowDistance", "400");
            tc.Props.Add("shadowSoftness", "0.15");
            tc.Props.Add("numSplits", "1");
            tc.Props.Add("logWeight", "0.91");
            tc.Props.Add("fadeStartDistance", "0");
            tc.Props.Add("lastSplitTerrainOnly", "0");
            tc.Props.Add("representedInLightmap", "0");
            tc.Props.Add("shadowDarkenColor", @"""0 0 0 -1""");
            tc.Props.Add("includeLightmappedGeometryInShadow", "0");
            tc.Props.Add("rotation", @"""1 0 0 0 """);
            tc.Props.Add("canSave", "1");
            tc.Props.Add("canSaveDynamicFields", "1");
            tc.Props.Add("splitFadeDistances", @"""10 20 30 40""");


            vehicle["rightBrakeLight"] = ((coPointLight)tc.Create());
            vehicle["leftBrakeLight"]  = ((coPointLight)tc.Create());
            vehicle["inv[BulletAmmo]"] = "1000";

            // Mount a ShapeBaseImageData
            vehicle.mountImage("TurretImage", datablock["turretSlot"].AsInt(), true, "");

            // Mount the brake lights
            vehicle.mountObject(vehicle["rightBrakeLight"], datablock["rightBrakeSlot"].AsInt(), new TransformF(true));
            vehicle.mountObject(vehicle["leftbrakelight"], datablock["leftBrakeSlot"].AsInt(), new TransformF(true));
        }
Ejemplo n.º 30
0
        public void GameConnectionOnDeath(coGameConnection client, coPlayer sourceobject, coGameConnection sourceclient, string damagetype, string damloc)
        {
            if (client.isObject())
            {
                if (client["ownedTurrets"] == "")
                {
                    client["ownedTurrets"] = new Torque_Class_Helper("SimSet").Create().AsString();
                }

                coSimSet simSet = client["ownedTurrets"];

                for (uint i = 0; i < simSet.getCount(); i++)
                {
                    ((coSimObject)simSet.getObject(i)).schedule("10", "delete");
                }
            }


            // clear the weaponHUD

            GameConnectionRefreshWeaponHud(client, 0, "", "", "", 0);

            coPlayer player = client["player"];

            // Clear out the name on the corpse
            player.setShapeName("");

            // Update the numerical Health HUD

            //PlayerUpdateHealth(player);


            // Switch the client over to the death cam and unhook the player object.
            coCamera camera = client["camera"];

            if (camera.isObject() && player.isObject())
            {
                camera.call("setMode", "Corpse", player, "", "");
                client.setControlObject(camera);
            }
            else
            {
                console.print("------------>Failed to Switch the client over to the death cam.");
            }

            client["player"] = "0";

            // Display damage appropriate kill message
            string sendMsgFunction = "sendMsgClientKilled_" + damagetype;

            if (!console.isFunction(sendMsgFunction))
            {
                sendMsgFunction = "sendMsgClientKilled_Default";
            }

            console.Call(sendMsgFunction, new string[] { "MsgClientKilled", client, sourceclient, damloc });
            // Dole out points and check for win
            if ((damagetype == "Suicide") || (sourceclient == client))
            {
                IncDeaths(client, "1", "1");
                IncScore(client, "-1", "0");
            }
            else
            {
                IncDeaths(client, "1", "0");
                IncScore(sourceclient, "1", "1");
                IncKills(sourceclient, "1", "0");
            }
        }