예제 #1
0
파일: makesdna.c 프로젝트: mgschwan/blensor
int main(int argc, char **argv)
{
	int return_status = 0;

	if (argc != 3 && argc != 4) {
		printf("Usage: %s dna.c dna_struct_offsets.h [base directory]\n", argv[0]);
		return_status = 1;
	}
	else {
		FILE *file_dna         = fopen(argv[1], "w");
		FILE *file_dna_offsets = fopen(argv[2], "w");
		if (!file_dna) {
			printf("Unable to open file: %s\n", argv[1]);
			return_status = 1;
		}
		else if (!file_dna_offsets) {
			printf("Unable to open file: %s\n", argv[2]);
			return_status = 1;
		}
		else {
			const char *baseDirectory;

			if (argc == 4) {
				baseDirectory = argv[3];
			}
			else {
				baseDirectory = BASE_HEADER;
			}

			fprintf(file_dna, "const unsigned char DNAstr[] = {\n");
			if (make_structDNA(baseDirectory, file_dna, file_dna_offsets)) {
				/* error */
				fclose(file_dna);
				file_dna = NULL;
				make_bad_file(argv[1], __LINE__);
				return_status = 1;
			}
			else {
				fprintf(file_dna, "};\n");
				fprintf(file_dna, "const int DNAlen = sizeof(DNAstr);\n");
			}
		}

		if (file_dna) {
			fclose(file_dna);
		}
		if (file_dna_offsets) {
			fclose(file_dna_offsets);
		}
	}

		
	return(return_status);
}
예제 #2
0
파일: makesdna.c 프로젝트: DrangPo/blender
int main(int argc, char **argv)
{
	FILE *file;
	int return_status = 0;

	if (argc != 2 && argc != 3) {
		printf("Usage: %s outfile.c [base directory]\n", argv[0]);
		return_status = 1;
	}
	else {
		file = fopen(argv[1], "w");
		if (!file) {
			printf("Unable to open file: %s\n", argv[1]);
			return_status = 1;
		}
		else {
			const char *baseDirectory;

			if (argc == 3) {
				baseDirectory = argv[2];
			}
			else {
				baseDirectory = BASE_HEADER;
			}

			fprintf(file, "const unsigned char DNAstr[] = {\n");
			if (make_structDNA(baseDirectory, file)) {
				/* error */
				fclose(file);
				make_bad_file(argv[1], __LINE__);
				return_status = 1;
			}
			else {
				fprintf(file, "};\n");
				fprintf(file, "const int DNAlen = sizeof(DNAstr);\n");
	
				fclose(file);
			}
		}
	}

		
	return(return_status);
}
예제 #3
0
int main(int argc, char ** argv)
{
//	printf("btCollisionObject=%d\n",sizeof(btCollisionObject));
//	printf("btCollisionObjectData=%d\n",sizeof(btCollisionObjectData));
//	printf("btTransform=%d\n",sizeof(btTransform));
//	printf("btTransformData=%d\n",sizeof(btTransformData));
//
//	btCollisionObject* bla = new btCollisionObject();
//	btCollisionObjectData* bla2 = new btCollisionObjectData();

	//int offsetof(bla,m_hasAnisotropicFriction);
/*
	btTransformData	m_worldTransform;
	btTransform	m_interpolationWorldTransform;
	btVector3	m_interpolationLinearVelocity;
	btVector3	m_interpolationAngularVelocity;
	btVector3		m_anisotropicFriction;
	bool				m_hasAnisotropicFriction;
	btScalar		m_contactProcessingThreshold;	
	btBroadphaseProxy	*m_broadphaseHandle;
	btCollisionShape	*m_collisionShape;
	btCollisionShape	*m_rootCollisionShape;
	int				m_collisionFlags;
	int				m_islandTag1;
	int				m_companionId;
	int				m_activationState1;
	btScalar		m_deactivationTime;
	btScalar		m_friction;
	btScalar		m_restitution;
	void*			m_userObjectPointer;
	int				m_internalType;
	btScalar		m_hitFraction; 
	btScalar		m_ccdSweptSphereRadius;
	btScalar		m_ccdMotionThreshold;
	bool			m_checkCollideWith;
	char			m_pad[7];
*/

	FILE *file;
	int return_status = 0;

	if (argc!=2 && argc!=3) {
		printf("Usage: %s outfile.c [base directory]\n", argv[0]);
		return_status = 1;
	} else {
		file = fopen(argv[1], "w");
		if (!file) {
			printf ("Unable to open file: %s\n", argv[1]);
			return_status = 1;
		} else {
			char baseDirectory[256];

			if (argc==3) {
				strcpy(baseDirectory, argv[2]);
			} else {
				strcpy(baseDirectory, BASE_HEADER);
			}

			if (sizeof(void*)==8)
			{
				fprintf (file, "char sBulletDNAstr64[]= {\n");
			} else
			{
				fprintf (file, "char sBulletDNAstr[]= {\n");
			}

			if (make_structDNA(baseDirectory, file)) {
				// error
				fclose(file);
				make_bad_file(argv[1]);
				return_status = 1;
			} else {
				fprintf(file, "};\n");
				if (sizeof(void*)==8)
				{
					fprintf(file, "int sBulletDNAlen64= sizeof(sBulletDNAstr64);\n");
				} else
				{
					fprintf(file, "int sBulletDNAlen= sizeof(sBulletDNAstr);\n");
				}
	
				fclose(file);
			}
		}
	}

		
	return(return_status);
}