// ___________ _________ _____ __ // \_ _____/______ ____ ____ \_ ___ \____________ _/ ____\/ |_ // | __) \_ __ \_/ __ \_/ __ \/ \ \/\_ __ \__ \\ __\\ __| // | \ | | \/\ ___/\ ___/\ \____| | \// __ \| | | | // \___ / |__| \___ >\___ >\______ /|__| (____ /__| |__| // \/ \/ \/ \/ \/ // ______________________ ______________________ // T H E W A R B E G I N S // FreeCraft - A free fantasy real time strategy game engine // // Utility for FreeCraft. // // ugrd.c - Converts ugrd section (old,not working for new version). // // (c) Copyright 1998,2000 by Lutz Sammer // // FreeCraft is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published // by the Free Software Foundation; only version 2 of the License. // // FreeCraft is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // $Id$ #include #define local local int PudReadLong(FILE* input) { unsigned long temp_long; if( fread(&temp_long,4,1,input)!=1 ) { perror("fread()"); exit(-1); } return temp_long; } local int PudReadWord(FILE* input) { unsigned short temp_short; if( fread(&temp_short,2,1,input)!=1 ) { perror("fread()"); exit(-1); } return temp_short; } local int PudReadByte(FILE* input) { unsigned char temp_char; if( fread(&temp_char,1,1,input)!=1 ) { perror("fread()"); exit(-1); } return temp_char; } typedef struct _upgrade_ { char* Name; // upgrade name unsigned UpgradeTime; unsigned GoldCost; unsigned WoodCost; unsigned OilCost; unsigned Icon; unsigned Group; unsigned Flags; } Upgrade; Upgrade Upgrades[52] = { { "sword 1" }, { "sword 2" }, { "axe 1" }, { "axe 2" }, { "arrow 1" }, { "arrow 2" }, { "spear 1" }, { "spear 2" }, { "human shield 1" }, { "human shield 2" }, { "orc shield 1" }, { "orc shield 2" }, { "human ship cannon 1" }, { "human ship cannon 2" }, { "orc ship cannon 1" }, { "orc ship cannon 2" }, { "human ship armor 1" }, { "human ship armor 2" }, { "orc ship armor 1" }, { "orc ship armor 2" }, { "catapult 1" }, { "catapult 2" }, { "ballista 1" }, { "ballista 2" }, { "train rangers" }, { "longbow" }, { "ranger scouting" }, { "ranger marksmanship" }, { "train berserkers" }, { "lighter axes" }, { "berserker scouting" }, { "berserker regeneration" }, { "train ogre-mages" }, { "train paladins" }, { "holy vision" }, { "healing" }, { "exorcism" }, { "flame shield" }, { "fireball" }, { "slow" }, { "invisibility" }, { "polymorph" }, { "blizzard" }, { "eye of kilrogg" }, { "bloodlust" }, { "raise dead" }, { "death coil" }, { "whirlwind" }, { "haste" }, { "unholy armor" }, { "runes" }, { "death and decay" }, }; int main(int argc,char** argv) { int i; int v; for( i=0; i<52; ++i ) { // upgrade time v=PudReadByte(stdin); Upgrades[i].UpgradeTime=v; } for( i=0; i<52; ++i ) { // gold v=PudReadWord(stdin); Upgrades[i].GoldCost=v; } for( i=0; i<52; ++i ) { // wood v=PudReadWord(stdin); Upgrades[i].WoodCost=v; } for( i=0; i<52; ++i ) { // oil v=PudReadWord(stdin); Upgrades[i].OilCost=v; } for( i=0; i<52; ++i ) { // icon v=PudReadWord(stdin); Upgrades[i].Icon=v; } for( i=0; i<52; ++i ) { // group v=PudReadWord(stdin); Upgrades[i].Group=v; } for( i=0; i<52; ++i ) { // flags v=PudReadLong(stdin); Upgrades[i].Flags=v; } printf(" = {\n"); for( i=0; i