Jump to content

Rekindled Phoenix

Members
  • Posts

    471
  • Joined

  • Last visited

Posts posted by Rekindled Phoenix

  1. Within C# and Leadwerks.Net

     

    Framework.Effects.SkyBox.Material = new Material("abstract::FullskiesBlueClear0016_2_L.mat");

     

    You can also do this easily using the Sandbox editor:

    - Drag an Atmosphere object into the world

    - Set your desired material file

  2. Don't forget C# / VB.Net! :P

     

    I would follow Pixel Perfect's advice and make something small, learn the content pipeline, and get a grasp on a programming language that feels the most comfortable.

  3. Suffix your filenames appropriately to represent each model.

     

    Straight from the Leadwerks Wiki: "The engine will first look for a mesh of the name or file path provided. It will also load any LOD meshes that are found, indicated by adding the suffix "LOD"n to the file name, where n is the detail level."

    An example:

    Rocks_Medium_Stone.gmf
    Rocks_Medium_StoneLOD1.gmf
    Rocks_Medium_StoneLOD2.gmf

  4. Update!

     

    Community user Raz found that the AlphaMap class had a legacy index parameter.

    (This invalid parameter can still be found on the Leadwerks Wiki)

     

    This has been fixed, and now will no longer throw a managed pinvoke exception.

     

     

     

    Feel free to offer your critique, suggestions, and feedback!

  5. Im sorry this didn't solve your issue.

     

    So that you may increase the performance and extensibility of Leadwerks.Net, I will consider adding you as a developer account. PM me once you have an assembla username, with the features you wish to improve

  6. Lua scripts initialize objects, and can set keys. Here is a simple example of how you can do this yourself

     

    function class:CreateObject(model)
           local object=self.super:CreateObject(model)
    
    -- Sets default keys
    object.model:SetKey("SomethingAwesome","1")
    end
    

  7. There is another solution!

    Within the DLL.cs file you need to change this:

     

    internal static class Dll
    {
    	private const string ReleasePath = "engine.dll";
    	private const string DebugPath = "engine.debug.dll";
    	private const string Path = DebugPath  //CHANGE TO DEBUG //ReleasePath;

     

    Only downside is that you will need to recompile the C# project library yourself.

     

    I will update the library to allow for process-bound debugging.

  8. Lazlo's Leadwerks.NET framework that is built on top of LE.NET

     

    It is not built on top of LE.Net, but a different OOP structure that follows the common practices of .Net developers. It includes events, inheritance, and other .Net features that Josh's API doesn't support with the vanilla libraries.

     

    I appreciate ZioRed for offering the library as an alternative solution.

     

    I'm tired of fighting communities and rollbacks without any support.

     

    I will support Leadwerks.Net until 2013, or until LE3 adds a C# library. Even then I would still build an OOP library with an entity structure that's not based on the legacy TEntity objects . Hell, even LUA supports inheritance.

     

    It's time for me to get back to my project. Is there any updates in headers? SVN is protected now. Anonymous access doesn't work.

    Can you give me one Lazlo?

     

    As Raz pointed out, look at the pinned thread in the C# forums. How to use it can be found HERE

  9. Currently I have not bee able to ascertain the reason behind this. I believe it relates to the console commands (possible Win32) that are intercepted by Visual Studio; commands are executed from an 'unsafe' non-CLR library.

     

    (I could be totally incorrect, just a guess)

     

    You have the option to traverse the file generated by the Leadwerks code, as it is appended and write that to the console manually. Although, I wouldn't recommend that.

  10. Are there examples within the community that draw a circle using the cameras perspective? Like the sandbox paintbrush, I need to display a radius around an object using DrawLine() or something similar.

     

    I've looked at how this wiki link does it, possibly transpose the vectors.

     

     

    How would you draw a circle aligned to the terrain?

  11. If you are to do research on how large scale shooter MMOs have succeeded, I would look at All Points Bulletin. Their open world provides several degrees of multiplayer freedom and chaos, while also allowing users to opt-in to quests at any time.

  12. Looks like the issue is resolved. Instead of trying to access the within each object, I create a 'marshaller' that does the drawing for the necessary objects.

     

    function UpdateCablesCycleThru()
    --model,object
    for k1,v1 in pairs(objecttable) do
    	if v1.type ~= nil then
    		if v1.type == NavTypeName then
    			local Pos2 = CameraUnproject(fw.main.camera, k1.position)
    			DrawPath(Pos2)
    		end
    	end
    end
    end
    
    function DrawPath(Pos2) --Used for each object
    
    for k,v in pairs(objecttable) do
    	if v.type ~= nil then
    		if v.type == NavTypeName then --inherited from 'PhoenixPath'
                                   -- Draw elements using both positions
                                   local Pos = CameraUnproject(fw.main.camera, k.position)
    			DrawLine(Pos2.x, Pos2.y, Pos.x, Pos.y)
    		end
    	end
    end
    end

    post-214-0-07632800-1308890212_thumb.jpg

  13. My goal is to cycle all of the entities, and exclude the object that is invoking the event. The problem is that the function attached to AddHook() doesn't have a reference to the object that attached the hook. Seems the AddHook() function can only be passed a delegate (.Net reference) without parameters.

     

    (Since the objects I will be adding are not sorted in order, indexes aren't an option)

     

    function class:CreateObject(model)
           local object=self.super:CreateObject(model)
    
    AddHook("Flip", UpdateCycleThru(object)) --fails 
    
    function object:Free(model)
    	RemoveHook("Flip", UpdateCycleThru(object)) --fails
    	self.super:Free()
           end
    end
    
    function UpdateCycleThru(object)
           -- Cycle through nodes applying a draw method, except for self
    end
    

     

    So my question is, how does an object identify itself from the rest of the objects within the scene, when the function is called outside of the Class overrides?

     

    Looking further into this issue, I may have to cycle through these objects using an external script marshaller...

  14. Looks like good software! I would be pleased to see this integrated with LE3.

     

    If the community can wait a couple weeks, I will be releasing an (alpha) version of my AI Pathing algorithms with several different navigation options to choose from. Maybe something temporary until Josh gets third-party software. (The first release will be available as a Leadwerks.Net Plugin / standalone Lua scripts.)

  15. With each new object script, is the key for 'collision' being set to 'COLLISION_PROP' ? New instances run the constructor script.

     

    Not at home to test, but this might help you

    function class:CreateObject(model)
           local object=self.super:CreateObject(model)
           object.model:SetKey("collision","COLLISION_PROP")
    end
    

×
×
  • Create New...