| |
|
erdem
| Ali hocanın söylediği gibi hizalamayı ayarlayınca düzeldi.
import std.stdio;
import std.conv;
import std.bitmanip;
align(1)
struct VuEntity
{
align(1):
ushort id;
ushort collisionType;
float collisionRadius;
byte[8] classInfo;
uint updateRate;
uint updateTolerance;
float fineUpdateRange;
float fineUpdateForceRange;
float fineUpdateMultiplier;
uint damageSeed;
int hitPoints;
ushort majorRevisionNumber;
ushort minorRevisionNumber;
ushort createPriority;
byte managementDomain;
byte transferable;
byte private1;
byte tangible;
byte colidable;
byte global;
byte persistent;
byte[3] padding;
}
align(1)
struct Falcon4Entity
{
align(1):
VuEntity vuClassData;
short[7] visType;
short vehicleDataİndex;
byte dataType;
uint dataPtr;
}
void main()
{
byte[] bellek;
bellek.length = 1024;
auto kütük = File("FALCON4.ct", "r");
short numEntities;
numEntities = kütük.rawRead(new short[1])[0];
writeln("Number of entities ", numEntities);
Falcon4Entity[] entities;
entities.length = numEntities;
auto readEntities = kütük.rawRead(entities);
for (int i = 0; i < numEntities; ++i)
{
writeln("Size in bytes ", readEntities[i].sizeof);
writeln("Id ", readEntities[i].vuClassData.id);
writeln("Collision type ", readEntities[i].vuClassData.collisionType);
writeln("Collision radius ", readEntities[i].vuClassData.collisionRadius);
writeln("Data pointer ", readEntities[i].dataPtr);
}
}
Burada yapının yazdırma işini 'toString()' ile yapsak daha iyi olur.
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]
|