Jelajahi Sumber

T2D Cursor

-Added: New default cursor to look more Torquey
-Added: More ground work for physics particles
marauder2k7 5 tahun lalu
induk
melakukan
8b8e9a48ce

+ 10 - 2
engine/source/2d/assets/ParticleAssetEmitter.cc

@@ -104,7 +104,7 @@ static EnumTable::Enums physicsParticleType[] =
 
 static EnumTable  PhysicsParticleTypeTable(sizeof(physicsParticleType) / sizeof(EnumTable::Enums), &physicsParticleType[0]);
 
-ParticleAssetEmitter::PhysicsParticleType ParticleAssetEmitter::getPhysicsParticleType(const char* label)
+ParticleAssetEmitter::PhysicsParticleType ParticleAssetEmitter::getPhysicsParticleTypeEnum(const char* label)
 {
    for (U32 i = 0; i < (sizeof(physicsParticleType) / sizeof(EnumTable::Enums)); i++)
       if (dStricmp(physicsParticleType[i].label, label) == 0)
@@ -113,7 +113,7 @@ ParticleAssetEmitter::PhysicsParticleType ParticleAssetEmitter::getPhysicsPartic
    // Warn.
    Con::warnf("ParticleAssetEmitter::getPhysicsParticleType() - Invalid physics particle type '%s'.", label);
 
-   return PhysicsParticleType::INVALID_PHYSICS_PARTICLE_TYPE;
+   return ParticleAssetEmitter::INVALID_PHYSICS_PARTICLE_TYPE;
 }
 
 const char* ParticleAssetEmitter::getPhysicsParticleTypeDescription(const PhysicsParticleType particleType)
@@ -182,6 +182,8 @@ ParticleAssetEmitter::ParticleAssetEmitter() :
                             mEmitterName( StringTable->EmptyString ),
                             mOwner( NULL ),
                             mEmitterType( POINT_EMITTER ),
+                            mPhysicsParticleType(b2_waterParticle),
+                            mPhysicsParticles(false),
                             mEmitterOffset( 0.0f, 0.0f),
                             mTargetParticle(false),
                             mTargetPosition(0.0f, 0.0f),
@@ -278,6 +280,12 @@ void ParticleAssetEmitter::initPersistFields()
     addProtectedField("EmitterOffset", TypeVector2, Offset(mEmitterOffset, ParticleAssetEmitter), &setEmitterOffset, &defaultProtectedGetFn, &writeEmitterOffset, "");
     addProtectedField("IsTargeting", TypeBool, Offset(mTargetParticle, ParticleAssetEmitter), &setIsTargeting, &defaultProtectedGetFn, &writeTargetParticle, "");
     addProtectedField("TargetPosition", TypeVector2, Offset(mTargetPosition, ParticleAssetEmitter), &setTargetPosition, &defaultProtectedGetFn, &writeTargetPosition, "");
+
+    //Physics Particles
+    addProtectedField("PhysicsParticle", TypeBool, Offset(mPhysicsParticles, ParticleAssetEmitter), &setPhysicsParticles, &defaultProtectedGetFn, &writePhysicsParticles, "");
+    addProtectedField("PhysicsParticleType", TypeEnum, Offset(mPhysicsParticleType, ParticleAssetEmitter), &setPhysicsParticleType, &defaultProtectedGetFn, &writePhysicsParticleType, 1, &PhysicsParticleTypeTable);
+    //Physics Particles end---
+
     addProtectedField("EmitterAngle", TypeF32, Offset(mEmitterAngle, ParticleAssetEmitter), &setEmitterAngle, &defaultProtectedGetFn, &writeEmitterAngle, "");
     addProtectedField("EmitterSize", TypeVector2, Offset(mEmitterSize, ParticleAssetEmitter), &setEmitterSize, &defaultProtectedGetFn, &writeEmitterSize, "");
     addProtectedField("FixedAspect", TypeBool, Offset(mFixedAspect, ParticleAssetEmitter), &setFixedAspect, &defaultProtectedGetFn, &writeFixedAspect, "");

+ 8 - 1
engine/source/2d/assets/ParticleAssetEmitter.h

@@ -290,7 +290,7 @@ public:
     static EmitterType getEmitterTypeEnum(const char* label);
     static const char* getEmitterTypeDescription( const EmitterType emitterType );
     //phyiscs particles
-    static PhysicsParticleType getPhysicsParticleType(const char * label);
+    static PhysicsParticleType getPhysicsParticleTypeEnum(const char * label);
     static const char* getPhysicsParticleTypeDescription(const PhysicsParticleType particleType);
     //physics particles end----
     static ParticleOrientationType getOrientationTypeEnum(const char* label);
@@ -327,6 +327,13 @@ protected:
     static bool     writeFixedAspect( void* obj, StringTableEntry pFieldName )          { return static_cast<ParticleAssetEmitter*>(obj)->getFixedAspect() == false; }
     static bool     setFixedForceAngle(void* obj, const char* data)                     { static_cast<ParticleAssetEmitter*>(obj)->setFixedForceAngle(dAtof(data)); return false; }
     static bool     writeFixedForceAngle( void* obj, StringTableEntry pFieldName )      { return mNotZero(static_cast<ParticleAssetEmitter*>(obj)->getFixedForceAngle() ); }
+    //Physics Particles
+    static bool     setPhysicsParticleType(void* obj, const char* data)                { static_cast<ParticleAssetEmitter*>(obj)->setPhysicsParticleType(getPhysicsParticleTypeEnum(data)); return false; }
+    static bool     writePhysicsParticleType(void* obj, StringTableEntry pFieldName)   { return static_cast<ParticleAssetEmitter*>(obj)->getPhysicsParticleType() != b2_zombieParticle; }
+    static bool     setPhysicsParticles(void* obj, const char* data)                    { static_cast<ParticleAssetEmitter*>(obj)->setPhysicsParticles(dAtob(data)); return false; }
+    static bool     writePhysicsParticles(void* obj, StringTableEntry pFieldName)       { return static_cast<ParticleAssetEmitter*>(obj)->getPhysicsParticles() == false; }
+    //Physics Particles end---
+
     static bool     setOrientationType(void* obj, const char* data)                     { static_cast<ParticleAssetEmitter*>(obj)->setOrientationType( getOrientationTypeEnum(data) ); return false; }
     static bool     writeOrientationType( void* obj, StringTableEntry pFieldName )      { return static_cast<ParticleAssetEmitter*>(obj)->getOrientationType() != FIXED_ORIENTATION; }
     static bool     setKeepAligned(void* obj, const char* data)                         { static_cast<ParticleAssetEmitter*>(obj)->setKeepAligned(dAtob(data)); return false; }

+ 0 - 7
modules/Sandbox/1/gui/guiProfiles.cs

@@ -42,13 +42,6 @@ new GuiCursor(DefaultCursor)
     bitmapName = "^Sandbox/gui/images/defaultCursor";
 };
 
-new GuiCursor(DefaultMacCursor)
-{
-    hotSpot = "4 4";
-    renderOffset = "0 0";
-    bitmapName = "^Sandbox/gui/images/defaultMacCursor";
-};
-
 //---------------------------------------------------------------------------------------------
 // GuiDefaultProfile is a special profile that all other profiles inherit defaults from. It
 // must exist.

TEMPAT SAMPAH
modules/Sandbox/1/gui/images/defaultCursor.png


+ 3 - 1
modules/TruckToy/1/main.cs

@@ -58,7 +58,9 @@ function TruckToy::create( %this )
     addFlagOption("Front Wheel Drive", "setFrontWheelDrive", TruckToy.FrontWheelDrive, false, "Whether the motor on the front wheel is active or not." );
     addFlagOption("Rear Wheel Drive", "setRearWheelDrive", TruckToy.RearWheelDrive, false, "Whether the motor on the rear wheel is active or not." );
     addFlagOption("Rotate Camera", "setRotateCamera", TruckToy.RotateCamera, true, "Whether the rotate the camera that is mounted to the truck or not." );
-	Canvas.setCursor(DefaultMacCursor);
+
+	Canvas.setCursor(DefaultCursor);
+
     // Reset the toy.
     %this.reset();