Page 1 of 2

Is anyone writing a new editor?

Posted: Sat Aug 14, 2004 8:04 am
by Oznoyng
I have considered writing one, but I see no sense in duplicating effort.

RE: Is anyone writing a new editor?

Posted: Sat Aug 14, 2004 10:44 am
by Arkady
I want to try it, not started yet

Now I'm finishing CSV Export utility, it's almost ready but it need some final polish for better and user friendly interface.

I'm not sure about new editor, there are some hidden values in database files and I'm don't know their puprpose, need to know if it's just some garbage or what...

If you want start , go ahead...ring is free [:D]

Arkady

RE: Is anyone writing a new editor?

Posted: Sat Aug 14, 2004 10:46 am
by Apollo11
Hi all,

Have you guys looked at utility for CSV database dump that "michaelm" wrote?


Leo "Apollo11"

RE: Is anyone writing a new editor?

Posted: Sat Aug 14, 2004 6:43 pm
by Oznoyng
ORIGINAL: Arkady

I want to try it, not started yet

Now I'm finishing CSV Export utility, it's almost ready but it need some final polish for better and user friendly interface.

I'm not sure about new editor, there are some hidden values in database files and I'm don't know their puprpose, need to know if it's just some garbage or what...

If you want start , go ahead...ring is free [:D]

Arkady

I get the impression of two things from looking at the data:

1. The file evolved over time so some of what you see in there is old data
2. There is, for some reason, alot of reserved space.

As I was decoding, I found mutliple areas that could, for instance, have been considered the class id in the ship database. One was one character, the other two. When I looked at the data in the editor, the data clearly corresponded to the 2 character field. I suspect what happened was that they converted data in place and extended sizes. When they did that, they left old data around. At some point in the past (probably carryover from UV), I suspect that upgrade was a single byte field. They changed it to two bytes, changed the offset for the data within the file, and left old data in the old place to rot. I've found this to be true with a couple different fields.

I also found lots of data areas that were one very large collection of zeros. Checking along breaks between known data areas, I found no rhyme or reason to any of it. It is possible that it is tied up somehow with the scenario editor, but the way the design looks so far, I am more inclined to think the extra data to be a combination of reserved areas and trash. My exports of info have focused entirely on the database, so I might find something as I decode the scenario that suggests the purpose of those other areas.

RE: Is anyone writing a new editor?

Posted: Sat Aug 14, 2004 6:58 pm
by Mike Wood
Hello...

Would the data base structures from the editor code be of any use to any one?

Bye...

Michael Wood
ORIGINAL: Oznoyng
ORIGINAL: Arkady

I want to try it, not started yet

Now I'm finishing CSV Export utility, it's almost ready but it need some final polish for better and user friendly interface.

I'm not sure about new editor, there are some hidden values in database files and I'm don't know their puprpose, need to know if it's just some garbage or what...

If you want start , go ahead...ring is free [:D]

Arkady

I get the impression of two things from looking at the data:

1. The file evolved over time so some of what you see in there is old data
2. There is, for some reason, alot of reserved space.

As I was decoding, I found mutliple areas that could, for instance, have been considered the class id in the ship database. One was one character, the other two. When I looked at the data in the editor, the data clearly corresponded to the 2 character field. I suspect what happened was that they converted data in place and extended sizes. When they did that, they left old data around. At some point in the past (probably carryover from UV), I suspect that upgrade was a single byte field. They changed it to two bytes, changed the offset for the data within the file, and left old data in the old place to rot. I've found this to be true with a couple different fields.

I also found lots of data areas that were one very large collection of zeros. Checking along breaks between known data areas, I found no rhyme or reason to any of it. It is possible that it is tied up somehow with the scenario editor, but the way the design looks so far, I am more inclined to think the extra data to be a combination of reserved areas and trash. My exports of info have focused entirely on the database, so I might find something as I decode the scenario that suggests the purpose of those other areas.

RE: Is anyone writing a new editor?

Posted: Sat Aug 14, 2004 8:11 pm
by Apollo11
Hi all,
ORIGINAL: Mike Wood

Hello...

Would the data base structures from the editor code be of any use to any one?

Bye...

Michael Wood

Michael, I think that would help tremendeously to every guy doing exports now and imports in the future (possibly from some sort of our own community based editor)!

If you can do that it would be _GREAT_ - thank you _IMMENSLY_ again for great help and work !!! [&o][&o][&o]


Leo "Apollo11"

RE: Is anyone writing a new editor?

Posted: Sat Aug 14, 2004 10:50 pm
by Bodhi
ORIGINAL: Mike Wood

Hello...

Would the data base structures from the editor code be of any use to any one?

Bye...

Michael Wood


You betcha! [8D] Thanks Mike.

RE: Is anyone writing a new editor?

Posted: Sat Aug 14, 2004 10:57 pm
by Oznoyng
Lol. Mike, they would be a tremendous help. Can I take it that this means you won't come looking for me with lawyers if I write a new version of the editors?

RE: Is anyone writing a new editor?

Posted: Sun Aug 15, 2004 1:48 am
by Mike Wood
Hello...

I used to write third party editors for games. Fun. I actually expected some to do so for Steel Pathers: World at War as well as War in the Pacific: Struggle Against Japan, which is why I didn't encrypt the data.

But, I never had anyone giving me the structures. I always had to hack into them with my trusty debug.exe. You folk are lucky, lucky, lucky.

Bye...

Michael Wood
ORIGINAL: Oznoyng

Lol. Mike, they would be a tremendous help. Can I take it that this means you won't come looking for me with lawyers if I write a new version of the editors?

RE: Is anyone writing a new editor?

Posted: Sun Aug 15, 2004 2:03 am
by Mike Wood
Hello...

Below are the datastructures for the data base editor.

Bye...

Michael Wood

#define MAX_AIR 250
#define MAX_CLASS 2000
#define MAX_SHIP 10000
#define MAX_GROUP 3000
#define MAX_LOC 4000
#define MAX_DEVICE 1000
#define MAX_PILOT 20000
#define MAX_LEADER 20000

#define MAX_CP 4
#define MAX_TAC 10
#define MAX_PT 12
#define MAX_CT 50
#define MAX_GT 10
#define MAX_MIS 20
#define MAX_DT 30
#define MAX_AL 10
#define MAX_LT 30
#define MAX_RANK 40
#define MAX_NAT 20

#define MAX_FACINGS_SHIP 10
#define MAX_FACINGS_OTHER 13
#define MAX_SHIP_DEVICES 20
#define MAX_OTHER_DEVICES 10
#define MAX_NUMBER_WPNS 100

//------------------------------------------------------------------------------
struct ship
{
char name[MAX_SHIP][20];
unsigned char oldData[MAX_SHIP];
unsigned char expNight[MAX_SHIP];
unsigned char expDay[MAX_SHIP];
short base[MAX_SHIP];
short tf[MAX_SHIP];
unsigned char wpn[MAX_SHIP][20];
unsigned char wpnNum[MAX_SHIP][20];
unsigned char wpnFace[MAX_SHIP][20];
unsigned char wpnAmmo[MAX_SHIP][20];
unsigned char wpnTurret[MAX_SHIP][20];
short wpnArmor[MAX_SHIP][20];
unsigned short fuel[MAX_SHIP];
short carry[MAX_SHIP];
short fires[MAX_SHIP];
short sysDamage[MAX_SHIP];
short floatDamage[MAX_SHIP];
short oldData[MAX_SHIP];
char oldData[MAX_SHIP];
unsigned short captain[MAX_SHIP];
short shipClass[MAX_SHIP];
unsigned char nat[MAX_SHIP];
unsigned short oldData[MAX_SHIP];
int delay[MAX_SHIP];
int sunk[MAX_SHIP];
unsigned char oldData[MAX_SHIP];
unsigned char wpnDis[MAX_SHIP][20];
unsigned char empty[MAX_SHIP][30];
};

struct aircraft
{
char name[MAX_AIR][20];
unsigned char airClass[MAX_AIR];
short sym[MAX_AIR];
unsigned short maxAlt[MAX_AIR];
short maxSpeed[MAX_AIR];
short cruSpeed[MAX_AIR];
short climb[MAX_AIR];
unsigned char mvr[MAX_AIR];
short endurance[MAX_AIR];
unsigned char armor[MAX_AIR];
unsigned char durab[MAX_AIR];
unsigned char wpn[MAX_AIR][10];
unsigned char wpnNum[MAX_AIR][10];
unsigned char wpnFace[MAX_AIR][10];
short maxLoad[MAX_AIR];
unsigned char month[MAX_AIR];
unsigned char year[MAX_AIR];
unsigned char buildRate[MAX_AIR];
unsigned short bitmap[MAX_AIR];
unsigned short upgrade[MAX_AIR];
unsigned short pool[MAX_AIR];
unsigned short cost[MAX_AIR];
unsigned char oldData[MAX_AIR];
unsigned char empty[MAX_AIR][50];
};

struct shipClass
{
char name[MAX_CLASS][20];
unsigned char type[MAX_CLASS];
short sym[MAX_CLASS];
short maxSpeed[MAX_CLASS];
short cruSpeed[MAX_CLASS];
unsigned char mvr[MAX_CLASS];
short endurance[MAX_CLASS];
short fuel[MAX_CLASS];
unsigned char oldData[MAX_CLASS];
unsigned char durab[MAX_CLASS];
unsigned char wpn[MAX_CLASS][20];
unsigned char wpnNum[MAX_CLASS][20];
unsigned char wpnFace[MAX_CLASS][20];
unsigned char oldData[MAX_CLASS][20];
unsigned char wpnAmmo[MAX_CLASS][20];
unsigned char wpnTurret[MAX_CLASS][20];
short capacity[MAX_CLASS];
unsigned char month[MAX_CLASS];
short beltArmor[MAX_CLASS];
short deckArmor[MAX_CLASS];
short towerArmor[MAX_CLASS];
short wpnArmor[MAX_CLASS][20];
unsigned char year[MAX_CLASS];
unsigned short bitMap[MAX_CLASS];
unsigned short upgrade[MAX_CLASS];
unsigned char oldData[MAX_CLASS];
unsigned char empty[MAX_CLASS][44];
};

struct group
{
char name[MAX_GROUP][20];
unsigned char type[MAX_GROUP];
unsigned char airType[MAX_GROUP];
unsigned short leader[MAX_GROUP];
unsigned short prim[MAX_GROUP];
unsigned char subNum[MAX_GROUP];
unsigned short base[MAX_GROUP];
unsigned char wpn[MAX_GROUP][10];
unsigned char wpnNum[MAX_GROUP][10];
unsigned char wpnFace[MAX_GROUP][10];
unsigned char morale[MAX_GROUP];
unsigned char exp[MAX_GROUP];
unsigned char ready[MAX_GROUP];
unsigned char damaged[MAX_GROUP];
unsigned char nat[MAX_GROUP];
unsigned short oldData[MAX_GROUP];
unsigned short target[MAX_GROUP];
unsigned char mission[MAX_GROUP];
unsigned short altitude[MAX_GROUP];
unsigned char secondary[MAX_GROUP];
unsigned char nightDayOps[MAX_GROUP];
unsigned char searchPercent[MAX_GROUP];
unsigned char max[MAX_GROUP];
int delay[MAX_GROUP];
unsigned char oldData[MAX_GROUP];
char kamikaze[MAX_GROUP];
unsigned char upgrade[MAX_GROUP];
unsigned char empty[MAX_GROUP][48];
};

struct location
{
char name[MAX_LOC][20];
unsigned char type[MAX_LOC];
unsigned short int sym[MAX_LOC];
short int locX[MAX_LOC];
short int locY[MAX_LOC];
unsigned short wpn[MAX_LOC][20];
unsigned short int size[MAX_LOC];
unsigned char hqType[MAX_LOC];
short int damage[MAX_LOC];
unsigned short int oldData[MAX_LOC];
unsigned short int oldData[MAX_LOC];
short int fires[MAX_LOC];
unsigned short int oldData[MAX_LOC];
short int base[MAX_LOC];
unsigned short int prim[MAX_LOC];
unsigned short int leader[MAX_LOC];
unsigned short int suffix[MAX_LOC];
unsigned char exp[MAX_LOC];
unsigned char morale[MAX_LOC];
unsigned char mission[MAX_LOC];
unsigned char port[MAX_LOC];
unsigned char portBuild[MAX_LOC];
unsigned char af[MAX_LOC];
unsigned char afBuild[MAX_LOC];
unsigned short oldData[MAX_LOC][10];
unsigned short bitmap[MAX_LOC];
unsigned char nat[MAX_LOC];
unsigned short wpnNum[MAX_LOC][20];
unsigned short wpnDis[MAX_LOC][20];
unsigned char stance[MAX_LOC];
unsigned char retirement[MAX_LOC];
unsigned char reaction[MAX_LOC];
unsigned char control[MAX_LOC];
unsigned char pDamage[MAX_LOC];
unsigned char sDamage[MAX_LOC];
unsigned char rDamage[MAX_LOC];
unsigned short destHexX[MAX_LOC];
unsigned short destHexY[MAX_LOC];
unsigned short dest[MAX_LOC];
unsigned short homeBase[MAX_LOC];
int delay[MAX_LOC];
unsigned short daySupply[MAX_LOC];
unsigned short dayFuel[MAX_LOC];
unsigned short dayOil[MAX_LOC];
unsigned short dayResource[MAX_LOC];
unsigned char oldData[MAX_LOC];
unsigned char travel[MAX_LOC];
unsigned char fatigue[MAX_LOC];
unsigned char forts[MAX_LOC];
unsigned short formation[MAX_LOC];
unsigned short japVP[MAX_LOC];
unsigned short alliedVP[MAX_LOC];
unsigned char unitType[MAX_LOC];
unsigned char disabledPercent[MAX_LOC];
unsigned short loadUnit[MAX_LOC];
unsigned char readiness[MAX_LOC];
unsigned short unitTarget[MAX_LOC];
unsigned int fuel[MAX_LOC];
unsigned int supply[MAX_LOC];
unsigned int oil[MAX_LOC];
unsigned int resource[MAX_LOC];
unsigned char empty[MAX_LOC][68];
};

struct device
{
char name[MAX_DEVICE][20];
short type[MAX_DEVICE];
short loadCost[MAX_DEVICE];
short range[MAX_DEVICE];
short effect[MAX_DEVICE];
short pen[MAX_DEVICE];
short acc[MAX_DEVICE];
short available[MAX_DEVICE];
short upgrade[MAX_DEVICE];
short counterDT[MAX_DEVICE];
short counterTVal[MAX_DEVICE];
short dudRate[MAX_DEVICE];
unsigned short ceiling[MAX_DEVICE];
short armor[MAX_DEVICE];
short antiArmor[MAX_DEVICE];
short antiSoft[MAX_DEVICE];
short buildRate[MAX_DEVICE];
unsigned char oldData[MAX_DEVICE];
short pool[MAX_DEVICE];
short empty[MAX_DEVICE][42];
};

struct leader
{
char name[MAX_LEADER][20];
unsigned char rank[MAX_LEADER];
unsigned char skill[MAX_LEADER];
unsigned char morale[MAX_LEADER];
unsigned char naval[MAX_LEADER];
unsigned char air[MAX_LEADER];
unsigned char land[MAX_LEADER];
unsigned char admin[MAX_LEADER];
unsigned char aggression[MAX_LEADER];
unsigned char nation[MAX_LEADER];
unsigned short oldData[MAX_LEADER];
int delay[MAX_LEADER];
unsigned char oldData[MAX_LEADER];
unsigned char value[MAX_LEADER];
unsigned char type[MAX_LEADER];
unsigned char empty[MAX_LEADER][5];
};

struct pilot
{
char name[MAX_PILOT][20];
int rank[MAX_PILOT];
int exp[MAX_PILOT];
int group[MAX_PILOT];
int delay[MAX_PILOT];
int leader[MAX_PILOT];
unsigned char oldData[MAX_PILOT];
int empty[MAX_PILOT][6];
};

RE: Is anyone writing a new editor?

Posted: Sun Aug 15, 2004 2:08 am
by Bodhi
ORIGINAL: Mike Wood

g

Does this mean we can expect the structures? [&o]

And thanks for not encrypting them. [8D]

RE: Is anyone writing a new editor?

Posted: Sun Aug 15, 2004 2:21 am
by Mike Wood
Hello...

g was stub while I copied and pasted the structures.

Bye...

Michael Wood
ORIGINAL: Bodhi
ORIGINAL: Mike Wood

g

Does this mean we can expect the structures? [&o]

And thanks for not encrypting them. [8D]

RE: Is anyone writing a new editor?

Posted: Sun Aug 15, 2004 2:24 am
by Mike Wood
Hello...

By the way, these structures do not work for the game executable. It uses dynamic memory allocation (classes, linked lists and the like).

Bye...

Michael Wood

RE: Is anyone writing a new editor?

Posted: Sun Aug 15, 2004 2:27 am
by Bodhi
Mike,

Thanks very much, your help is greatly appreciated.[8D]

RE: Is anyone writing a new editor?

Posted: Sun Aug 15, 2004 6:59 am
by Apollo11
Hi all,
ORIGINAL: Mike Wood

Below are the datastructures for the data base editor.

Michael Wood

_FANTASTIC_ - thanks Michael !!! [&o][&o][&o]


Leo "Apollo11"

RE: Is anyone writing a new editor?

Posted: Sun Aug 15, 2004 7:23 am
by Arkady
aaaaa...and you post it AFTER I did it myself [:'(]
ok, I can check it and found if I'm correct or not

I'm coding in Delphi 8 Architect for .NET , I have those datastructeres in this format if anyone want it.


Thank you Mike [&o]

Arkady

RE: Is anyone writing a new editor?

Posted: Sun Aug 15, 2004 8:00 pm
by m10bob
Michael...You are a PRINCE!!!!
BTW,are you the same Mike Wood who drastically improved the small arms capabilities for Steel Panthers years ago????

RE: Is anyone writing a new editor?

Posted: Sun Aug 15, 2004 11:55 pm
by Mike Wood
Hello...

Yes. I was an external tester on the Steel Panthers (SP) series and eventually became the programmer at Novastar Game Company. There, I did the first alternate OOB and wrote some utility programs for SP. I then did the programming for SP WWII and the OOB files and programming for SP:WaW. I did the programming for Pacific War: The Matrix Project (Rich Dionne did the OOB work on that). Other projects I have worked on include: Dark Wood (role playing), Dragon Blade (role playing), Panthers in the Shadows, Online (a Windows version never published), Star Pilot (flight simulator), Uncommon Valor (war game), War in the Pacific (war game) and Armored War (board game for SPI, never published - went out of business).

Bye...

Michael Wood
ORIGINAL: m10bob

Michael...You are a PRINCE!!!!
BTW,are you the same Mike Wood who drastically improved the small arms capabilities for Steel Panthers years ago????

RE: Is anyone writing a new editor?

Posted: Mon Aug 16, 2004 10:29 am
by Captain Cruft
Thanks for the data structures.

RE: Is anyone writing a new editor?

Posted: Mon Aug 16, 2004 11:35 am
by GBirkn
I just have to add my thanks to all the others, Mike. Thank you, very, very much [&o][&o][&o][&o] -- this will be almost as fun to play with as the game itself! [:D]