Game Development Community

dev|Pro Game Development Curriculum

DNT 1.1 For T3D MIT 3.0 Released on GitHub

by Vince Gee · 06/06/2013 (6:00 pm) · 15 comments

Hey everyone,
I just thought I'd give out the update notes for DNT 1.1 for MIT 3.0 released today. The main goal of this release is to simplify coding and reading of the C#. The end result became a syntax that through intellisense you know what member functions and variables exist on the object. You can always get the source code for DNT at github.com/WinterleafEnterainment.

And don't forget to check out the OneWorld Collaborative Tool Beta while your downloading available at www.winterleafentertainment.com.

Have a good weekend!

Vince


DNT 1.1 Update Notes

-----------------------------------------------------------------------

C++ T3D objects are now implemented in C#

The C++ InitPersist definitions in SimObjects are exposed as properties

<co<Object> instance>.<InitPersist Field> = <String>
Example: DecalRoad.breakAngle = "90";

C++ Console Methods are now defined off the implemented C# class

<co<Object> instance>.<Some Console Function>(<Parameters>);
Example: npc.mountImage("LurkerWeaponImage", 0, true, "");

Full intellisense


Class Hierarchy` follows the same Inheritance as C++ classes

Example inheritance: coPlayerData -> coShapeBaseData->coGameBaseData->coSimDataBlock->coSimObject

Member functions are over-ridden properly through inheritance.

Declaration and Initialization of the new object types
co<Object> <name> = <string value>
Example: coSimSet path = npc["path"];

co<Object> <name> = <unsigned integer value>
Example: uint targetnode = datablock["targetNode"].AsUint();

co<Object> <name> = <integer value>
Example: coShapeBaseData datablock = shapebase.getDataBlock();

Properties of the object can be referenced using []

Example: npc["HoldAndFire"] = false.AsString();
Functions can now take the co<Object> types as parameters
Example:
[Torque_Decorations.TorqueCallBack("", "AIPlayer", "getNearestPlayerTarget", "(%this)", 1, 2500, false)]
public int AIPlayergetNearestPlayerTarget(coAIPlayer npc)

Global variables now have shorthand notation

  • bGlobals[<Variable Name>] - Sets or gets a script variable as a bool
  • sGlobals[<Variable Name>] - Sets or gets a script variable as a string
  • iGlobals[<Variable Name>] - Sets or gets a script variable as a integer
  • fGlobals[<Variable Name>] - Sets or gets a script variable as a float
  • dGlobals[<Variable Name>] - Sets or gets a script variable as a double
  • C# Containers have been expanded and now include:

  • AngAxisF
  • Box3F
  • ColorF
  • ColorI
  • EaseF
  • Point2F
  • Point2I
  • Point3F
  • Point4F
  • Polyhedron
  • RectF
  • RectI
  • RectSpacingI
  • TransformF
  • Vector

  • Added C++ for AI detection to speed up finding targets using coAIPlayer

    Function Name: AISearchSimSet
    Parameters:
    Viewing Angle
    Distance
    SimSet of coPlayers to search
    SimSet to return what is found
    Example: npc.AISearchSimSet(180, 50, MobSearchGroup, MobSearchGroupResult);



    #1
    06/07/2013 (6:21 pm)
    Really nice Vince, I'll have to take a look at this.
    #2
    06/09/2013 (6:44 pm)
    Thanks Robert,

    btw, did you see my answer to your thread about transferring strings between server and client?
    #3
    06/10/2013 (8:36 am)
    Yes, I haven't tried it out yet though. I'll probably do so later today after I play around with blender some more.
    #4
    06/16/2013 (11:22 am)
    Thanks Vince,

    but is there any change you can provide a getting started instructions for DNT?

    so far i have not been able to get it running.

    went to:
    https://github.com/WinterleafEnterainment/DNT-Torque3D-V1.1-MIT-3.0

    and downloaded a copy.

    downloaded http://mit.garagegames.com/T3DProjectManager-1.1.zip

    and extracted it to DNT-Torque3D-V1.1-MIT-3.0

    created new project "Empty" project from template

    but the project manager could not generate solution.

    missing ToolsprojectGeneratortemplates_c

    so i downloaded T3D MIT 3 and copied ToolsprojectGeneratortemplates_c
    to DNT-Torque3D-V1.1-MIT-3.0ToolsprojectGenerator

    so now i dont get the templates_c error,
    but now i get:
    Fatal error: Call to undefined function addSolutionProjectRefFirst() in DNT-Torque3D-V1.1-MIT-3.0-masterToolsprojectGeneratorlibsdntempty.conf on line 28


    so i put aside the empty project and i generated a new "Full" project from "Full" template from project manager and with the above fixes i got the solution project to generate ok,
    so i build the solution in VS2010 and i successfully build solution:


    ========== Build: 3 succeeded or up-to-date, 0 failed, 18 skipped ==========

    so, do i merge these 3 new releases into my project?
    or do i merge the whole solution? been messing with it for the past few hours but no success, and getting a little but frustrated


    Am i missing some steps here?
    is this supposed to be merged with the actual core?

    I have looked in your site for instructions but could not find any, there is an owner manual pdf file but it is dated and do not help me much with this new MIT version repos.


    any help will be greatly appreciated
    thanks in advanced.
    #5
    06/16/2013 (3:51 pm)
    Let me take a look maybe I missed something in the last checkin
    #6
    06/16/2013 (4:18 pm)
    It's fixed now, not sure how it got broken.
    #7
    06/16/2013 (11:39 pm)
    thank you, but still throwing errors
    when i try to create a new empty project i get:

    Fatal error: Call to undefined function addSolutionProjectRefFirst() in C:\Users\Username\Documents\DNT-Torque3D-V1.1-MIT-3.0-master\Tools\projectGenerator\libs\dntempty.conf on line 28

    still cant create a project from empty template.

    and also when creating a project from full template when i compile i get 3
    projects built succeeded but when i try to run it i get crash from the .exe

    Problem signature:
    Problem Event Name: CLR20r3
    Problem Signature 01: dnt fps demo.exe
    Problem Signature 02: 1.0.0.0
    Problem Signature 03: 51beaa04
    Problem Signature 04: DotNetTorque
    Problem Signature 05: 1.0.0.526
    Problem Signature 06: 51bea9fd
    Problem Signature 07: ad8
    Problem Signature 08: 62
    Problem Signature 09: System.Exception
    OS Version: 6.1.7601.2.1.0.256.4
    Locale ID: 1033
    Additional Information 1: 0a9e
    Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
    Additional Information 3: 0a9e
    Additional Information 4: 0a9e372d3b4ad19135b953a78882e789



    is there something else i need to do after i build the the DNT FPS Demo.exe,DNT FPS Demo Game Dll.dll and DotNetTorque.dll

    do i need to merge that with my current fps demo project?
    am i supposed to build the core separate? ???

    i am very confused, and i am not new to torque.

    i must be missing something here.

    can you please elaborate on the steps to get it going?


    thanks again.


    #8
    06/17/2013 (3:21 am)
    I know that bug, let me take a look
    #9
    06/17/2013 (3:32 am)
    I fixed that bug, the documents are on our website at
    www.winterleafentertainment.com/Products/DotNetTorque/wiki
    #10
    07/01/2013 (4:19 pm)
    Does this work with visual studio express?

    I tried opening DNT FPS Demo No Core.csproj and got this:

    "Warning 1 The referenced component 'DotNetTorque' could not be found."
    "Warning 2 The referenced component 'DNT FPS Demo Game Dll No Core' could not be found."

    Also, I think Express won't load c# projects mixed with c++.
    #11
    07/02/2013 (8:21 am)
    Entr0py,

    First you branched off github.com/WinterleafEnterainment/DNT-Torque3D-V1.1-MIT-3.0?

    Second, when you used the project generator what type of project did you pick?

    I would think this will work in VSE.

    #12
    07/02/2013 (11:57 am)
    3.0 Full. Empty will compile but the problem is the MSVSE won't load projects with mixed code types, only C++ or C#.

    #13
    07/02/2013 (12:51 pm)
    I am not sure what happened with the referenced component warnings, I tried again and couldn't reproduce it. I probably broke something.

    For MSVSE you might have to set up the C++ and C# projects to be compiled separately and reference each other.
    #14
    07/19/2013 (11:30 am)
    @Entr0py that would be if your using VS2012, VS2010 should be able to have both C# and C++ projects in 1 solution.
    #15
    07/19/2013 (11:42 am)
    I am using 2010