[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Stratagus-CVS] stratagus doc/ChangeLog.html src/ai/new_ai.c sr...
From: |
Crestez Leonard |
Subject: |
[Stratagus-CVS] stratagus doc/ChangeLog.html src/ai/new_ai.c sr... |
Date: |
Sun, 17 Aug 2003 11:57:10 -0400 |
CVSROOT: /cvsroot/stratagus
Module name: stratagus
Branch:
Changes by: Crestez Leonard <address@hidden> 03/08/17 11:57:08
Modified files:
doc : ChangeLog.html
src/ai : new_ai.c
src/clone : ccl.c ccl_player.c construct.c groups.c iolib.c
player.c pud.c selection.c unit.c unit_draw.c
src/editor : editloop.c
src/game : campaign.c intro.c savegame.c trigger.c
src/include : ai.h campaign.h ccl.h construct.h cursor.h
depend.h icons.h interface.h iolib.h map.h
missile.h player.h settings.h siod.h tileset.h
trigger.h ui.h unit.h unittype.h upgrade.h
src/map : map_save.c tileset.c
src/missile : missile.c
src/movie : avi.c
src/siod : slib.c
src/sound : mad.c music.c ogg.c wav.c
src/ui : botpanel.c icons.c interface.c mainscr.c
menus.c ui.c
src/unit : depend.c unittype.c upgrade.c
src/video : cursor.c png.c video.c
Log message:
Can now save in gz format.
Fix for draw order bug.
Patches:
Index: stratagus/doc/ChangeLog.html
diff -u stratagus/doc/ChangeLog.html:1.512 stratagus/doc/ChangeLog.html:1.513
--- stratagus/doc/ChangeLog.html:1.512 Sat Aug 16 20:26:31 2003
+++ stratagus/doc/ChangeLog.html Sun Aug 17 11:57:05 2003
@@ -2,7 +2,7 @@
<html>
<head>
<!--
----- $Id: ChangeLog.html,v 1.512 2003/08/17 00:26:31 n0body Exp $
+---- $Id: ChangeLog.html,v 1.513 2003/08/17 15:57:05 n0body Exp $
---- (c) Copyright 1998-2003 by Lutz Sammer
@@ -36,6 +36,8 @@
<li>Future 1.19 Release<p>
<ul>
<li>++
+ <li>You can now save in gz format (from Russel Smith and Crestez Leonard).
+ <li>Fixed drawing order for units on the same level (from Russel Smith).
<li>Remove *ScreenMapPositon bloat (from Crestez Leonard).
<li>Fixed MacOS X compilation problems (from Duncan McQueen).
<li>Fixed middle-mouse scrolling, speed now configurable (from Martin
Renold).
@@ -56,6 +58,9 @@
<li>Compacted Unit::Rescued and Unit::Rescued from (from Crestez Dan
Leonard).
<li>Change Unit::Colors to a pointer(saves memory) (from Crestez Dan
Leonard).
<li>Renamed project to Stratagus and fixed most internal references to the
Freecraft name (From Ingo Ruhnke).
+ </ul>
+<p><li>Freecraft renamed to Stratagus.<p>
+ <ul>
<li>You can select two units on different land masses and they will both
board (from Crestez Dan Leonard).
<li>Set Harvest with right-click from a building (from Crestez Dan
Leonard).
<li>Fixed bug where transporter and unit follow each other (from Crestez
Dan Leonard).
Index: stratagus/src/ai/new_ai.c
diff -u stratagus/src/ai/new_ai.c:1.68 stratagus/src/ai/new_ai.c:1.69
--- stratagus/src/ai/new_ai.c:1.68 Fri Aug 1 15:30:36 2003
+++ stratagus/src/ai/new_ai.c Sun Aug 17 11:57:06 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: new_ai.c,v 1.68 2003/08/01 19:30:36 grumbel Exp $
+// $Id: new_ai.c,v 1.69 2003/08/17 15:57:06 n0body Exp $
#ifdef NEW_AI // {
@@ -350,7 +350,7 @@
**
** @param file Output file.
*/
-local void SaveAiTypesWcName(FILE* file)
+local void SaveAiTypesWcName(CLFile *file)
{
char** cp;
int i;
@@ -359,16 +359,16 @@
// Dump table wc2 race numbers -> internal symbol.
//
if( (cp=AiTypeWcNames) ) {
- fprintf(file,"(define-ai-wc-names");
+ CLprintf(file,"(define-ai-wc-names");
i=90;
while( *cp ) {
if( i+strlen(*cp)>79 ) {
- i=fprintf(file,"\n ");
+ i=CLprintf(file,"\n ");
}
- i+=fprintf(file," '%s",*cp++);
+ i+=CLprintf(file," '%s",*cp++);
}
- fprintf(file,")\n\n");
+ CLprintf(file,")\n\n");
}
}
@@ -381,7 +381,7 @@
** @param n Number of elements in table
** @param table unit-type table.
*/
-local void SaveAiHelperTable(FILE* file,const char* name,int upgrade,int n,
+local void SaveAiHelperTable(CLFile* file,const char* name,int upgrade,int n,
AiUnitTypeTable*const * table)
{
int t;
@@ -396,27 +396,27 @@
for( j=0; j<table[i]->Count; ++j ) {
if( table[i]->Table[j]->Type==t ) {
if( !f ) {
- fprintf(file,"\n (list '%s '%s\n ",name,
+ CLprintf(file,"\n (list '%s '%s\n ",name,
UnitTypes[t]->Ident);
f=4;
}
if( upgrade ) {
if( f+strlen(Upgrades[i].Ident)>78 ) {
- f=fprintf(file,"\n ");
+ f=CLprintf(file,"\n ");
}
- f+=fprintf(file,"'%s ",Upgrades[i].Ident);
+ f+=CLprintf(file,"'%s ",Upgrades[i].Ident);
} else {
if( f+strlen(UnitTypes[i]->Ident)>78 ) {
- f=fprintf(file,"\n ");
+ f=CLprintf(file,"\n ");
}
- f+=fprintf(file,"'%s ",UnitTypes[i]->Ident);
+ f+=CLprintf(file,"'%s ",UnitTypes[i]->Ident);
}
}
}
}
}
if( f ) {
- fprintf(file,")");
+ CLprintf(file,")");
}
}
}
@@ -429,7 +429,7 @@
** @param n Number of elements in table
** @param table unit-type table.
*/
-local void SaveAiEquivTable(FILE* file,const char* name,int n,
+local void SaveAiEquivTable(CLFile* file,const char* name,int n,
AiUnitTypeTable*const * table)
{
int i;
@@ -438,16 +438,16 @@
for( i=0; i<n; ++i ) {
if( table[i] ) {
- fprintf(file,"\n (list '%s '%s\n ",name,
+ CLprintf(file,"\n (list '%s '%s\n ",name,
UnitTypes[i]->Ident);
f=4;
for( j=0; j<table[i]->Count; ++j ) {
if( f+strlen(table[i]->Table[j]->Ident)>78 ) {
- f=fprintf(file,"\n ");
+ f=CLprintf(file,"\n ");
}
- f+=fprintf(file,"'%s ",table[i]->Table[j]->Ident);
+ f+=CLprintf(file,"'%s ",table[i]->Table[j]->Ident);
}
- fprintf(file,")");
+ CLprintf(file,")");
}
}
}
@@ -460,7 +460,7 @@
** @param n Number of elements in table
** @param table unit-type table.
*/
-local void SaveAiCostTable(FILE* file,const char* name,int n,
+local void SaveAiCostTable(CLFile* file,const char* name,int n,
AiUnitTypeTable*const * table)
{
int t;
@@ -475,20 +475,20 @@
for( j=0; j<table[i]->Count; ++j ) {
if( table[i]->Table[j]->Type==t ) {
if( !f ) {
- fprintf(file,"\n (list '%s '%s\n ",name,
+ CLprintf(file,"\n (list '%s '%s\n ",name,
UnitTypes[t]->Ident);
f=4;
}
if( f+strlen(DefaultResourceNames[i])>78 ) {
- f=fprintf(file,"\n ");
+ f=CLprintf(file,"\n ");
}
- f+=fprintf(file,"'%s ",DefaultResourceNames[i]);
+ f+=CLprintf(file,"'%s ",DefaultResourceNames[i]);
}
}
}
}
if( f ) {
- fprintf(file,")");
+ CLprintf(file,")");
}
}
}
@@ -501,7 +501,7 @@
** @param n Number of elements in table
** @param table unit-type table.
*/
-local void SaveAiUnitLimitTable(FILE* file,const char* name,int n,
+local void SaveAiUnitLimitTable(CLFile* file,const char* name,int n,
AiUnitTypeTable*const * table)
{
int t;
@@ -516,20 +516,20 @@
for( j=0; j<table[i]->Count; ++j ) {
if( table[i]->Table[j]->Type==t ) {
if( !f ) {
- fprintf(file,"\n (list '%s '%s\n ",name,
+ CLprintf(file,"\n (list '%s '%s\n ",name,
UnitTypes[t]->Ident);
f=4;
}
if( f+strlen("food")>78 ) {
- f=fprintf(file,"\n ");
+ f=CLprintf(file,"\n ");
}
- f+=fprintf(file,"'%s ","food");
+ f+=CLprintf(file,"'%s ","food");
}
}
}
}
if( f ) {
- fprintf(file,")");
+ CLprintf(file,")");
}
}
}
@@ -538,9 +538,9 @@
**
** @param file Output file.
*/
-local void SaveAiHelper(FILE* file)
+local void SaveAiHelper(CLFile* file)
{
- fprintf(file,"(define-ai-helper");
+ CLprintf(file,"(define-ai-helper");
//
// Save build table
//
@@ -592,7 +592,7 @@
SaveAiEquivTable(file,"unit-equiv",AiHelpers.EquivCount,
AiHelpers.Equiv);
- fprintf(file," )\n\n");
+ CLprintf(file," )\n\n");
}
/**
@@ -601,7 +601,7 @@
** @param file Output file.
** @param aitype AI type to save.
*/
-local void SaveAiType(FILE* file,const AiType* aitype)
+local void SaveAiType(CLFile* file,const AiType* aitype)
{
SCM list;
@@ -609,18 +609,18 @@
SaveAiType(file,aitype->Next);
}
DebugLevel3Fn("%s,%s,%s\n" _C_ aitype->Name _C_ aitype->Race _C_
aitype->Class);
- fprintf(file,"(define-ai \"%s\" '%s '%s\n",
+ CLprintf(file,"(define-ai \"%s\" '%s '%s\n",
aitype->Name,aitype->Race ? aitype->Race : "*",aitype->Class);
- fprintf(file," '(");
+ CLprintf(file," '(");
// Print the script a little formated
list=aitype->Script;
while( !gh_null_p(list) ) {
- fprintf(file,"\n ");
- lprin1f(gh_car(list),file);
+ CLprintf(file,"\n ");
+ lprin1CL(gh_car(list),file);
list=gh_cdr(list);
}
- fprintf(file," ))\n\n");
+ CLprintf(file," ))\n\n");
}
/**
@@ -628,7 +628,7 @@
**
** @param file Output file.
*/
-local void SaveAiTypes(FILE* file)
+local void SaveAiTypes(CLFile*file)
{
SaveAiType(file,AiTypes);
@@ -643,14 +643,14 @@
** @param plynr Player number.
** @param ai Player AI.
*/
-local void SaveAiPlayer(FILE* file,unsigned plynr,const PlayerAi* ai)
+local void SaveAiPlayer(CLFile* file,unsigned plynr,const PlayerAi* ai)
{
SCM script;
int i;
const AiBuildQueue* queue;
- fprintf(file,"(define-ai-player %u\n",plynr);
- fprintf(file," 'ai-type '%s\n",ai->AiType->Name);
+ CLprintf(file,"(define-ai-player %u\n",plynr);
+ CLprintf(file," 'ai-type '%s\n",ai->AiType->Name);
//
// Find the script.
//
@@ -659,7 +659,7 @@
script=ai->AiType->Script;
do {
if( ai->Script==script ) {
- fprintf(file," 'script '(aitypes %d)\n",i);
+ CLprintf(file," 'script '(aitypes %d)\n",i);
break;
}
script=gh_cdr(script);
@@ -668,12 +668,12 @@
if( gh_null_p(script) ) { // Not found in ai-types.
DebugLevel0Fn("FIXME: not written\n");
- fprintf(file," 'script '(FIXME: %d)\n",i);
+ CLprintf(file," 'script '(FIXME: %d)\n",i);
}
}
- fprintf(file," 'script-debug #%s\n",ai->ScriptDebug ? "t" : "f");
- fprintf(file," 'sleep-cycles %lu\n",ai->SleepCycles);
+ CLprintf(file," 'script-debug #%s\n",ai->ScriptDebug ? "t" : "f");
+ CLprintf(file," 'sleep-cycles %lu\n",ai->SleepCycles);
//
// All forces
@@ -682,114 +682,114 @@
const AiUnitType* aut;
const AiUnit* aiunit;
- fprintf(file," 'force '(%d %s%s%s",i,
+ CLprintf(file," 'force '(%d %s%s%s",i,
ai->Force[i].Completed ? "complete" : "recruit",
ai->Force[i].Attacking ? " attack" : "",
ai->Force[i].Defending ? " defend" : "");
- fprintf(file," role ");
+ CLprintf(file," role ");
switch( ai->Force[i].Role ) {
case AiForceRoleAttack:
- fprintf(file,"attack");
+ CLprintf(file,"attack");
break;
case AiForceRoleDefend:
- fprintf(file,"defend");
+ CLprintf(file,"defend");
break;
default:
- fprintf(file,"unknown");
+ CLprintf(file,"unknown");
break;
}
- fprintf(file,"\n types ( ");
+ CLprintf(file,"\n types ( ");
for( aut=ai->Force[i].UnitTypes; aut; aut=aut->Next ) {
- fprintf(file,"%d %s ",aut->Want,aut->Type->Ident);
+ CLprintf(file,"%d %s ",aut->Want,aut->Type->Ident);
}
- fprintf(file,")\n units (");
+ CLprintf(file,")\n units (");
for( aiunit=ai->Force[i].Units; aiunit; aiunit=aiunit->Next ) {
- fprintf(file," %d %s",UnitNumber(aiunit->Unit),
+ CLprintf(file," %d %s",UnitNumber(aiunit->Unit),
aiunit->Unit->Type->Ident);
}
- fprintf(file," ))\n");
+ CLprintf(file," ))\n");
}
- fprintf(file," 'reserve '(");
+ CLprintf(file," 'reserve '(");
for( i=0; i<MaxCosts; ++i ) {
- fprintf(file,"%s %d ",DefaultResourceNames[i],ai->Reserve[i]);
+ CLprintf(file,"%s %d ",DefaultResourceNames[i],ai->Reserve[i]);
}
- fprintf(file,")\n");
+ CLprintf(file,")\n");
- fprintf(file," 'used '(");
+ CLprintf(file," 'used '(");
for( i=0; i<MaxCosts; ++i ) {
- fprintf(file,"%s %d ",DefaultResourceNames[i],ai->Used[i]);
+ CLprintf(file,"%s %d ",DefaultResourceNames[i],ai->Used[i]);
}
- fprintf(file,")\n");
+ CLprintf(file,")\n");
- fprintf(file," 'needed '(");
+ CLprintf(file," 'needed '(");
for( i=0; i<MaxCosts; ++i ) {
- fprintf(file,"%s %d ",DefaultResourceNames[i],ai->Needed[i]);
+ CLprintf(file,"%s %d ",DefaultResourceNames[i],ai->Needed[i]);
}
- fprintf(file,")\n");
+ CLprintf(file,")\n");
- fprintf(file," 'collect '(");
+ CLprintf(file," 'collect '(");
for( i=0; i<MaxCosts; ++i ) {
- fprintf(file,"%s %d ",DefaultResourceNames[i],ai->Collect[i]);
+ CLprintf(file,"%s %d ",DefaultResourceNames[i],ai->Collect[i]);
}
- fprintf(file,")\n");
+ CLprintf(file,")\n");
- fprintf(file," 'need-mask '(");
+ CLprintf(file," 'need-mask '(");
for( i=0; i<MaxCosts; ++i ) {
if( ai->NeededMask&(1<<i) ) {
- fprintf(file,"%s ",DefaultResourceNames[i]);
+ CLprintf(file,"%s ",DefaultResourceNames[i]);
}
}
- fprintf(file,")\n");
+ CLprintf(file,")\n");
if( ai->NeedFood ) {
- fprintf(file," 'need-food\n");
+ CLprintf(file," 'need-food\n");
}
//
// Requests
//
- fprintf(file," 'unit-type '(");
+ CLprintf(file," 'unit-type '(");
for( i=0; i<ai->UnitTypeRequestsCount; ++i ) {
- fprintf(file,"%s ",ai->UnitTypeRequests[i].Table[0]->Ident);
- fprintf(file,"%d ",ai->UnitTypeRequests[i].Count);
+ CLprintf(file,"%s ",ai->UnitTypeRequests[i].Table[0]->Ident);
+ CLprintf(file,"%d ",ai->UnitTypeRequests[i].Count);
}
- fprintf(file,")\n");
+ CLprintf(file,")\n");
- fprintf(file," 'upgrade '(");
+ CLprintf(file," 'upgrade '(");
for( i=0; i<ai->UpgradeToRequestsCount; ++i ) {
- fprintf(file,"%s ",ai->UpgradeToRequests[i]->Ident);
+ CLprintf(file,"%s ",ai->UpgradeToRequests[i]->Ident);
}
- fprintf(file,")\n");
+ CLprintf(file,")\n");
- fprintf(file," 'research '(");
+ CLprintf(file," 'research '(");
for( i=0; i<ai->ResearchRequestsCount; ++i ) {
- fprintf(file,"%s ",ai->ResearchRequests[i]->Ident);
+ CLprintf(file,"%s ",ai->ResearchRequests[i]->Ident);
}
- fprintf(file,")\n");
+ CLprintf(file,")\n");
//
// Building queue
//
- fprintf(file," 'building '(");
+ CLprintf(file," 'building '(");
for( queue=ai->UnitTypeBuilded; queue; queue=queue->Next ) {
- fprintf(file,"%s %d %d ",queue->Type->Ident,queue->Made,queue->Want);
+ CLprintf(file,"%s %d %d ",queue->Type->Ident,queue->Made,queue->Want);
}
- fprintf(file,")\n");
+ CLprintf(file,")\n");
- fprintf(file," 'repair-building %u\n",ai->LastRepairBuilding);
+ CLprintf(file," 'repair-building %u\n",ai->LastRepairBuilding);
- fprintf(file," 'repair-workers '(");
+ CLprintf(file," 'repair-workers '(");
for( i=0; i<UnitMax; ++i ) {
if( ai->TriedRepairWorkers[i] ) {
- fprintf(file,"%d %d ",i,ai->TriedRepairWorkers[i]);
+ CLprintf(file,"%d %d ",i,ai->TriedRepairWorkers[i]);
}
}
- fprintf(file,")");
+ CLprintf(file,")");
- fprintf(file,")\n\n");
+ CLprintf(file,")\n\n");
}
/**
@@ -797,7 +797,7 @@
**
** @param file Output file.
*/
-local void SaveAiPlayers(FILE* file)
+local void SaveAiPlayers(CLFile*file)
{
unsigned p;
@@ -813,10 +813,10 @@
**
** @param file Output file.
*/
-global void SaveAi(FILE* file)
+global void SaveAi(CLFile* file)
{
- fprintf(file,"\n;;; -----------------------------------------\n");
- fprintf(file,";;; MODULE: AI $Id: new_ai.c,v 1.68 2003/08/01 19:30:36
grumbel Exp $\n\n");
+ CLprintf(file,"\n;;; -----------------------------------------\n");
+ CLprintf(file,";;; MODULE: AI $Id: new_ai.c,v 1.69 2003/08/17 15:57:06
n0body Exp $\n\n");
SaveAiTypesWcName(file);
SaveAiHelper(file);
Index: stratagus/src/clone/ccl.c
diff -u stratagus/src/clone/ccl.c:1.107 stratagus/src/clone/ccl.c:1.108
--- stratagus/src/clone/ccl.c:1.107 Sat Aug 2 09:34:24 2003
+++ stratagus/src/clone/ccl.c Sun Aug 17 11:57:06 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: ccl.c,v 1.107 2003/08/02 13:34:24 grumbel Exp $
+// $Id: ccl.c,v 1.108 2003/08/17 15:57:06 n0body Exp $
//@{
@@ -1023,7 +1023,7 @@
}
fprintf(fd,";;; -----------------------------------------\n");
- fprintf(fd,";;; $Id: ccl.c,v 1.107 2003/08/02 13:34:24 grumbel Exp $\n");
+ fprintf(fd,";;; $Id: ccl.c,v 1.108 2003/08/17 15:57:06 n0body Exp $\n");
fprintf(fd,"(set-video-resolution! %d %d)\n", VideoWidth, VideoHeight);
@@ -1047,7 +1047,7 @@
}
fprintf(fd,";;; -----------------------------------------\n");
- fprintf(fd,";;; $Id: ccl.c,v 1.107 2003/08/02 13:34:24 grumbel Exp $\n");
+ fprintf(fd,";;; $Id: ccl.c,v 1.108 2003/08/17 15:57:06 n0body Exp $\n");
// Global options
if( OriginalFogOfWar ) {
@@ -1149,15 +1149,15 @@
**
** @param file Save file.
*/
-global void SaveCcl(FILE* file)
+global void SaveCcl(CLFile* file)
{
#ifdef USE_GUILE
#else
SCM list;
extern SCM oblistvar;
- fprintf(file,"\n;;; -----------------------------------------\n");
- fprintf(file,";;; MODULE: CCL $Id: ccl.c,v 1.107 2003/08/02 13:34:24
grumbel Exp $\n\n");
+ CLprintf(file,"\n;;; -----------------------------------------\n");
+ CLprintf(file,";;; MODULE: CCL $Id: ccl.c,v 1.108 2003/08/17 15:57:06
n0body Exp $\n\n");
for(list = oblistvar; gh_list_p(list); list = gh_cdr(list) ) {
SCM sym;
@@ -1166,14 +1166,14 @@
if(symbol_boundp(sym, NIL)) {
SCM value;
- fprintf(file,";;(define %s\n",get_c_string(sym));
+ CLprintf(file,";;(define %s\n",get_c_string(sym));
value = symbol_value(sym, NIL);
- fprintf(file,";;");
- lprin1f(value,file);
- fprintf(file,"\n");
+ CLprintf(file,";;");
+ lprin1CL(value,file);
+ CLprintf(file,"\n");
#ifdef DEBUG
} else {
- fprintf(file,";;%s unbound\n",get_c_string(sym));
+ CLprintf(file,";;%s unbound\n",get_c_string(sym));
#endif
}
}
Index: stratagus/src/clone/ccl_player.c
diff -u stratagus/src/clone/ccl_player.c:1.38
stratagus/src/clone/ccl_player.c:1.39
--- stratagus/src/clone/ccl_player.c:1.38 Fri Aug 8 06:16:43 2003
+++ stratagus/src/clone/ccl_player.c Sun Aug 17 11:57:06 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: ccl_player.c,v 1.38 2003/08/08 10:16:43 martinxyz Exp $
+// $Id: ccl_player.c,v 1.39 2003/08/17 15:57:06 n0body Exp $
//@{
@@ -508,6 +508,7 @@
SCM value;
int i;
+ PlayerRaces.Count=0;
while( !gh_null_p(list) ) {
value=gh_car(list);
list=gh_cdr(list);
Index: stratagus/src/clone/construct.c
diff -u stratagus/src/clone/construct.c:1.33
stratagus/src/clone/construct.c:1.34
--- stratagus/src/clone/construct.c:1.33 Sat Aug 9 16:08:38 2003
+++ stratagus/src/clone/construct.c Sun Aug 17 11:57:06 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: construct.c,v 1.33 2003/08/09 20:08:38 martinxyz Exp $
+// $Id: construct.c,v 1.34 2003/08/17 15:57:06 n0body Exp $
//@{
@@ -138,7 +138,7 @@
**
** @param file Output file.
*/
-global void SaveConstructions(FILE* file)
+global void SaveConstructions(CLFile* file)
{
int j;
int i;
@@ -146,8 +146,8 @@
Construction** cop;
ConstructionFrame* cframe;
- fprintf(file,"\n;;; -----------------------------------------\n");
- fprintf(file,";;; MODULE: constructions $Id: construct.c,v 1.33 2003/08/09
20:08:38 martinxyz Exp $\n\n");
+ CLprintf(file,"\n;;; -----------------------------------------\n");
+ CLprintf(file,";;; MODULE: constructions $Id: construct.c,v 1.34
2003/08/17 15:57:06 n0body Exp $\n\n");
// FIXME: needed?
@@ -155,16 +155,16 @@
// Dump table wc2 construction numbers -> internal symbol.
//
if( (cp=ConstructionWcNames) ) {
- fprintf(file,"(define-construction-wc-names");
+ CLprintf(file,"(define-construction-wc-names");
i=90;
while( *cp ) {
if( i+strlen(*cp)>79 ) {
- i=fprintf(file,"\n ");
+ i=CLprintf(file,"\n ");
}
- i+=fprintf(file," '%s",*cp++);
+ i+=CLprintf(file," '%s",*cp++);
}
- fprintf(file,")\n\n");
+ CLprintf(file,")\n\n");
}
//
@@ -175,43 +175,43 @@
if( !(*cop)->Ident ) {
continue;
}
- fprintf(file,"(define-construction '%s\n",(*cop)->Ident);
+ CLprintf(file,"(define-construction '%s\n",(*cop)->Ident);
for( j=0; j<TilesetMax; ++j ) {
if( !(*cop)->File[j].File ) {
continue;
}
- fprintf(file," 'file '(\n");
- fprintf(file," tileset %s\n",Tilesets[j]->Class);
- fprintf(file," file \"%s\"\n",(*cop)->File[j].File);
- fprintf(file," size (%d %d))\n",(*cop)->File[j].Width,
+ CLprintf(file," 'file '(\n");
+ CLprintf(file," tileset %s\n",Tilesets[j]->Class);
+ CLprintf(file," file \"%s\"\n",(*cop)->File[j].File);
+ CLprintf(file," size (%d %d))\n",(*cop)->File[j].Width,
(*cop)->File[j].Height);
}
for( j=0; j<TilesetMax; ++j ) {
if( !(*cop)->ShadowFile[j].File ) {
continue;
}
- fprintf(file," 'shadow-file '(\n");
- fprintf(file," tileset %s\n",Tilesets[j]->Class);
- fprintf(file," file \"%s\"\n",(*cop)->ShadowFile[j].File);
- fprintf(file," size (%d %d))\n",(*cop)->ShadowFile[j].Width,
+ CLprintf(file," 'shadow-file '(\n");
+ CLprintf(file," tileset %s\n",Tilesets[j]->Class);
+ CLprintf(file," file \"%s\"\n",(*cop)->ShadowFile[j].File);
+ CLprintf(file," size (%d %d))\n",(*cop)->ShadowFile[j].Width,
(*cop)->ShadowFile[j].Height);
}
cframe=(*cop)->Frames;
if( cframe ) {
- fprintf(file," 'constructions (list");
+ CLprintf(file," 'constructions (list");
while( cframe ) {
- fprintf(file,"\n '(percent %d\n",cframe->Percent);
+ CLprintf(file,"\n '(percent %d\n",cframe->Percent);
if( cframe->File==ConstructionFileConstruction ) {
- fprintf(file," file construction\n");
+ CLprintf(file," file construction\n");
} else {
- fprintf(file," file main\n");
+ CLprintf(file," file main\n");
}
- fprintf(file," frame %d)",cframe->Frame);
+ CLprintf(file," frame %d)",cframe->Frame);
cframe=cframe->Next;
}
- fprintf(file,")\n");
+ CLprintf(file,")\n");
}
- fprintf(file,")\n\n");
+ CLprintf(file,")\n\n");
++cop;
}
}
Index: stratagus/src/clone/groups.c
diff -u stratagus/src/clone/groups.c:1.20 stratagus/src/clone/groups.c:1.21
--- stratagus/src/clone/groups.c:1.20 Fri Jul 11 10:35:30 2003
+++ stratagus/src/clone/groups.c Sun Aug 17 11:57:06 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: groups.c,v 1.20 2003/07/11 14:35:30 n0body Exp $
+// $Id: groups.c,v 1.21 2003/08/17 15:57:06 n0body Exp $
//@{
@@ -86,23 +86,23 @@
**
** @param file Output file.
*/
-global void SaveGroups(FILE* file)
+global void SaveGroups(CLFile* file)
{
int i;
int g;
char* ref;
- fprintf(file,"\n;;; -----------------------------------------\n");
- fprintf(file,";;; MODULE: groups $Id: groups.c,v 1.20 2003/07/11 14:35:30
n0body Exp $\n\n");
+ CLprintf(file,"\n;;; -----------------------------------------\n");
+ CLprintf(file,";;; MODULE: groups $Id: groups.c,v 1.21 2003/08/17 15:57:06
n0body Exp $\n\n");
for( g=0; g<NUM_GROUPS; g++ ) {
- fprintf(file,"(group %d %d '(",g,Groups[g].NumUnits);
+ CLprintf(file,"(group %d %d '(",g,Groups[g].NumUnits);
for( i=0; i<Groups[g].NumUnits; ++i ) {
ref=UnitReference(Groups[g].Units[i]);
- fprintf(file,"%s ",ref);
+ CLprintf(file,"%s ",ref);
free(ref);
}
- fprintf(file,"))\n");
+ CLprintf(file,"))\n");
}
}
Index: stratagus/src/clone/iolib.c
diff -u stratagus/src/clone/iolib.c:1.50 stratagus/src/clone/iolib.c:1.51
--- stratagus/src/clone/iolib.c:1.50 Fri Jul 11 10:35:30 2003
+++ stratagus/src/clone/iolib.c Sun Aug 17 11:57:06 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: iolib.c,v 1.50 2003/07/11 14:35:30 n0body Exp $
+// $Id: iolib.c,v 1.51 2003/08/17 15:57:06 n0body Exp $
//@{
@@ -36,6 +36,7 @@
#include <stdio.h>
#include <stdlib.h>
+#include <stdarg.h>
#ifndef _MSC_VER
#include <fcntl.h>
@@ -95,6 +96,7 @@
#define bzread BZ2_bzread
#define bzopen BZ2_bzopen
#define bzclose BZ2_bzclose
+#define bzwrite BZ2_bzwrite
#endif // } LIBBZIP2_VERSION >= "1.0"
/**
@@ -148,76 +150,107 @@
**
** @param fn File name.
*/
-global CLFile *CLopen(const char *fn)
+global CLFile *CLopen(const char *fn,long openflags)
{
- CLFile input;
- CLFile *clf;
+ CLFile clf;
+ CLFile *result;
char buf[512];
+ char openstring[5];
+ if ( (openflags&CL_OPEN_READ) && (openflags&CL_OPEN_WRITE) ) {
+ strcpy(openstring,"rwb");
+ } else if (openflags&CL_OPEN_READ) {
+ strcpy(openstring,"rb");
+ } else if (openflags&CL_OPEN_WRITE) {
+ strcpy(openstring,"wb");
+ } else {
+ DebugLevel0("Bad CLopen flags");
+ DebugCheck(1);
+ return NULL;
+ }
+
+ clf.cl_type = CLF_TYPE_INVALID;
- input.cl_type = CLF_TYPE_INVALID;
- if (!(input.cl_plain = fopen(fn, "rb"))) { // try plain first
+ if (openflags&CL_OPEN_WRITE) {
+#ifdef USE_BZ2LIB
+ if ( (openflags&CL_WRITE_BZ2) &&
+ ( clf.cl_bz = bzopen(strcat(strcpy(buf,fn),".bz2"),
openstring)) ) {
+ clf.cl_type = CLF_TYPE_BZIP2;
+ } else
+#endif
#ifdef USE_ZLIB
- if ((input.cl_gz = gzopen(strcat(strcpy(buf,fn),".gz"), "rb"))) {
- input.cl_type = CLF_TYPE_GZIP;
+ if ( (openflags&CL_WRITE_GZ) &&
+ ( clf.cl_gz = gzopen(strcat(strcpy(buf,fn),".gz"), openstring))
) {
+ clf.cl_type = CLF_TYPE_GZIP;
} else
#endif
+ if ((clf.cl_plain = fopen(fn,openstring))) {
+ clf.cl_type = CLF_TYPE_PLAIN;
+ }
+ } else {
+ if (!(clf.cl_plain = fopen(fn, openstring))) { // try plain
first
+#ifdef USE_ZLIB
+ if ((clf.cl_gz = gzopen(strcat(strcpy(buf,fn),".gz"), "rb"))) {
+ clf.cl_type = CLF_TYPE_GZIP;
+ } else
+#endif
#ifdef USE_BZ2LIB
- if ((input.cl_bz = bzopen(strcat(strcpy(buf,fn),".bz2"), "rb"))) {
- input.cl_type = CLF_TYPE_BZIP2;
- } else
+ if ((clf.cl_bz = bzopen(strcat(strcpy(buf,fn),".bz2"), "rb"))) {
+ clf.cl_type = CLF_TYPE_BZIP2;
+ } else
#endif
#ifdef USE_ZZIPLIB
- if ((input.cl_zz = zzip_open(strcpy(buf,fn),O_RDONLY|O_BINARY) )) {
- input.cl_type = CLF_TYPE_ZZIP;
- } else
+ if ((clf.cl_zz = zzip_open(strcpy(buf,fn),O_RDONLY|O_BINARY) )) {
+ clf.cl_type = CLF_TYPE_ZZIP;
+ } else
#endif
- { }
+ { }
- } else {
- input.cl_type = CLF_TYPE_PLAIN;
- // Hmm, plain worked, but nevertheless the file may be compressed!
- if (fread(buf, 2, 1, input.cl_plain) == 1) {
+ } else {
+ clf.cl_type = CLF_TYPE_PLAIN;
+ // Hmm, plain worked, but nevertheless the file may be compressed!
+ if (fread(buf, 2, 1, clf.cl_plain) == 1) {
#ifdef USE_BZ2LIB
- if (buf[0] == 'B' && buf[1] == 'Z') {
- fclose(input.cl_plain);
- if ((input.cl_bz = bzopen(fn, "rb"))) {
- input.cl_type = CLF_TYPE_BZIP2;
- } else {
- if(!(input.cl_plain = fopen(fn, "rb"))) {
- input.cl_type = CLF_TYPE_INVALID;
+ if (buf[0] == 'B' && buf[1] == 'Z') {
+ fclose(clf.cl_plain);
+ if ((clf.cl_bz = bzopen(fn, "rb"))) {
+ clf.cl_type = CLF_TYPE_BZIP2;
+ } else {
+ if(!(clf.cl_plain = fopen(fn, "rb"))) {
+ clf.cl_type = CLF_TYPE_INVALID;
+ }
}
}
- }
#endif // USE_BZ2LIB
#ifdef USE_ZLIB
- if (buf[0] == 0x1f) { // don't check for buf[1] == 0x8b, so
that old compress also works!
- fclose(input.cl_plain);
- if ((input.cl_gz = gzopen(fn, "rb"))) {
- input.cl_type = CLF_TYPE_GZIP;
- } else {
- if(!(input.cl_plain = fopen(fn, "rb"))) {
- input.cl_type = CLF_TYPE_INVALID;
+ if (buf[0] == 0x1f) { // don't check for buf[1] == 0x8b, so
that old compress also works!
+ fclose(clf.cl_plain);
+ if ((clf.cl_gz = gzopen(fn, "rb"))) {
+ clf.cl_type = CLF_TYPE_GZIP;
+ } else {
+ if(!(clf.cl_plain = fopen(fn, "rb"))) {
+ clf.cl_type = CLF_TYPE_INVALID;
+ }
}
}
- }
#endif // USE_ZLIB
- }
- if (input.cl_type == CLF_TYPE_PLAIN) { // ok, it is not compressed
- rewind(input.cl_plain);
+ }
+ if (clf.cl_type == CLF_TYPE_PLAIN) { // ok, it is not
compressed
+ rewind(clf.cl_plain);
+ }
}
}
- if (input.cl_type == CLF_TYPE_INVALID) {
+ if (clf.cl_type == CLF_TYPE_INVALID) {
//fprintf(stderr,"%s in ", buf);
return NULL;
}
// ok, here we go
- clf = (CLFile *)malloc(sizeof(CLFile));
- if (clf) {
- *clf = input;
+ result = (CLFile *)malloc(sizeof(CLFile));
+ if (result) {
+ *result = clf;
}
- return clf;
+ return result;
}
/**
@@ -296,6 +329,78 @@
} else {
errno = EBADF;
}
+ return ret;
+}
+
+/**
+** CLprintf Library file write
+**
+** @param file CLFile pointer.
+** @param format String Format.
+** @param ... Parameter List.
+*/
+global int CLprintf(CLFile *file, char *format, ...)
+{
+ int n;
+ int size;
+ int ret;
+ int tp;
+ char *p;
+ va_list ap;
+
+ size=100;
+ ret=-1;
+ if ((p = malloc (size)) == NULL) {
+ return -1;
+ }
+ while (1) {
+ /* Try to print in the allocated space. */
+ va_start(ap, format);
+ n = vsnprintf (p, size, format, ap);
+ va_end(ap);
+ /* If that worked, string was processed. */
+ if (n > -1 && n < size) {
+ break;
+ }
+ /* Else try again with more space. */
+ if (n > -1) { /* glibc 2.1 */
+ size = n+1; /* precisely what is needed */
+ } else { /* glibc 2.0 */
+ size *= 2; /* twice the old size */
+ }
+ if ((p = realloc (p, size)) == NULL) {
+ return -1;
+ }
+ }
+
+ // Allocate the correct size
+ size = strlen(p);
+
+ if (file && (tp = file->cl_type) != CLF_TYPE_INVALID) {
+ if (tp == CLF_TYPE_PLAIN) {
+ ret = fwrite(p,size,1,file->cl_plain);
+ }
+#ifdef USE_ZLIB
+ if (tp == CLF_TYPE_GZIP) {
+ ret = gzwrite(file->cl_gz, p, size);
+ }
+#endif // USE_ZLIB
+#ifdef USE_BZ2LIB
+ if (tp == CLF_TYPE_BZIP2) {
+ ret = bzwrite(file->cl_bz, p, size);
+ }
+#endif // USE_BZ2LIB
+#if defined(USE_ZZIPLIB) && 0
+ // FIXME: Support Unknown and Unsupported
+ if (tp == CLF_TYPE_ZZIP) {
+ zzip_write(file->cl_zz, p, size);
+ ret = 0;
+ }
+#endif // USE_ZZIPLIB
+ } else {
+ errno = EBADF;
+ }
+ free(p);
return ret;
}
Index: stratagus/src/clone/player.c
diff -u stratagus/src/clone/player.c:1.88 stratagus/src/clone/player.c:1.89
--- stratagus/src/clone/player.c:1.88 Sat Aug 9 16:08:38 2003
+++ stratagus/src/clone/player.c Sun Aug 17 11:57:06 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: player.c,v 1.88 2003/08/09 20:08:38 martinxyz Exp $
+// $Id: player.c,v 1.89 2003/08/17 15:57:06 n0body Exp $
//@{
@@ -183,31 +183,31 @@
**
** @note FIXME: Not complete saved.
*/
-global void SavePlayers(FILE* file)
+global void SavePlayers(CLFile* file)
{
int i;
int j;
- fprintf(file,"\n;;; -----------------------------------------\n");
- fprintf(file,";;; MODULE: players $Id: player.c,v 1.88 2003/08/09 20:08:38
martinxyz Exp $\n\n");
+ CLprintf(file,"\n;;; -----------------------------------------\n");
+ CLprintf(file,";;; MODULE: players $Id: player.c,v 1.89 2003/08/17
15:57:06 n0body Exp $\n\n");
#ifndef NEW_UI
//
// Dump table wc2 race numbers -> internal symbol.
//
if( PlayerRaces.Count ) {
- fprintf(file,"(define-race-names");
+ CLprintf(file,"(define-race-names");
for( i=0; i<PlayerRaces.Count; ++i ) {
- fprintf(file,"\n 'race '(");
- fprintf(file,"\n race %d",PlayerRaces.Race[i]);
- fprintf(file,"\n name %s",PlayerRaces.Name[i]);
- fprintf(file,"\n display %s",PlayerRaces.Display[i]);
+ CLprintf(file,"\n 'race '(");
+ CLprintf(file,"\n race %d",PlayerRaces.Race[i]);
+ CLprintf(file,"\n name %s",PlayerRaces.Name[i]);
+ CLprintf(file,"\n display %s",PlayerRaces.Display[i]);
if( PlayerRaces.Visible[i] ) {
- fprintf(file,"\n visible");
+ CLprintf(file,"\n visible");
}
- fprintf(file,")");
+ CLprintf(file,")");
}
- fprintf(file,")\n\n");
+ CLprintf(file,")\n\n");
}
#endif
@@ -215,118 +215,118 @@
// Dump table wc2 race numbers -> internal symbol.
//
if( PlayerRaces.Count ) {
- fprintf(file,"(define-race-names");
+ CLprintf(file,"(define-race-names");
for( i=0; i<PlayerRaces.Count; ++i ) {
- fprintf(file,"\n 'race '(");
- fprintf(file,"\n race %d",PlayerRaces.Race[i]);
- fprintf(file,"\n name %s",PlayerRaces.Name[i]);
- fprintf(file,"\n display %s",PlayerRaces.Display[i]);
+ CLprintf(file,"\n 'race '(");
+ CLprintf(file,"\n race %d",PlayerRaces.Race[i]);
+ CLprintf(file,"\n name %s",PlayerRaces.Name[i]);
+ CLprintf(file,"\n display %s",PlayerRaces.Display[i]);
if( PlayerRaces.Visible[i] ) {
- fprintf(file,"\n visible");
+ CLprintf(file,"\n visible");
}
- fprintf(file,")");
+ CLprintf(file,")");
}
- fprintf(file,")\n\n");
+ CLprintf(file,")\n\n");
}
//
// Dump all players
//
for( i=0; i<NumPlayers; ++i ) {
- fprintf(file,"(player %d\n",i);
- fprintf(file," 'name \"%s\"\n",Players[i].Name);
- fprintf(file," 'type ");
+ CLprintf(file,"(player %d\n",i);
+ CLprintf(file," 'name \"%s\"\n",Players[i].Name);
+ CLprintf(file," 'type ");
switch( Players[i].Type ) {
- case PlayerNeutral: fprintf(file,"'neutral"); break;
- case PlayerNobody: fprintf(file,"'nobody"); break;
- case PlayerComputer: fprintf(file,"'computer"); break;
- case PlayerPerson: fprintf(file,"'person"); break;
- case PlayerRescuePassive: fprintf(file,"'rescue-passive"); break;
- case PlayerRescueActive: fprintf(file,"'rescue-active"); break;
- default: fprintf(file,"%d",Players[i].Type); break;
- }
- fprintf(file," 'race \"%s\"",Players[i].RaceName);
- fprintf(file," 'ai %d\n",Players[i].AiNum);
- fprintf(file," 'team %d",Players[i].Team);
+ case PlayerNeutral: CLprintf(file,"'neutral");
break;
+ case PlayerNobody: CLprintf(file,"'nobody"); break;
+ case PlayerComputer: CLprintf(file,"'computer"); break;
+ case PlayerPerson: CLprintf(file,"'person"); break;
+ case PlayerRescuePassive: CLprintf(file,"'rescue-passive"); break;
+ case PlayerRescueActive: CLprintf(file,"'rescue-active"); break;
+ default: CLprintf(file,"%d",Players[i].Type);
break;
+ }
+ CLprintf(file," 'race \"%s\"",Players[i].RaceName);
+ CLprintf(file," 'ai %d\n",Players[i].AiNum);
+ CLprintf(file," 'team %d",Players[i].Team);
- fprintf(file," 'enemy \"");
+ CLprintf(file," 'enemy \"");
for( j=0; j<PlayerMax; ++j ) {
- fputc((Players[i].Enemy&(1<<j)) ? 'X' : '_',file);
+ CLprintf(file,"%c",(Players[i].Enemy&(1<<j)) ? 'X' : '_');
}
- fprintf(file,"\" 'allied \"");
+ CLprintf(file,"\" 'allied \"");
for( j=0; j<PlayerMax; ++j ) {
- fputc((Players[i].Allied&(1<<j)) ? 'X' : '_',file);
+ CLprintf(file,"%c",(Players[i].Allied&(1<<j)) ? 'X' : '_');
}
- fprintf(file,"\" 'shared-vision \"");
+ CLprintf(file,"\" 'shared-vision \"");
for( j=0; j<PlayerMax; ++j ) {
- fputc((Players[i].SharedVision&(1<<j)) ? 'X' : '_',file);
+ CLprintf(file,"%c",(Players[i].SharedVision&(1<<j)) ? 'X' : '_');
}
- fprintf(file,"\"\n 'start '(%d %d)\n",Players[i].StartX,
+ CLprintf(file,"\"\n 'start '(%d %d)\n",Players[i].StartX,
Players[i].StartY);
// Resources
- fprintf(file," 'resources '(");
+ CLprintf(file," 'resources '(");
for( j=0; j<MaxCosts; ++j ) {
if( j ) {
if( j==MaxCosts/2 ) {
- fputs("\n ",file);
+ CLprintf(file,"\n ");
} else {
- fputc(' ',file);
+ CLprintf(file," ");
}
}
- fprintf(file,"%s
%d",DefaultResourceNames[j],Players[i].Resources[j]);
+ CLprintf(file,"%s
%d",DefaultResourceNames[j],Players[i].Resources[j]);
}
// Incomes
- fprintf(file,")\n 'incomes '(");
+ CLprintf(file,")\n 'incomes '(");
for( j=0; j<MaxCosts; ++j ) {
if( j ) {
if( j==MaxCosts/2 ) {
- fputs("\n ",file);
+ CLprintf(file,"\n ");
} else {
- fputc(' ',file);
+ CLprintf(file," ");
}
}
- fprintf(file,"%s %d",DefaultResourceNames[j],Players[i].Incomes[j]);
+ CLprintf(file,"%s
%d",DefaultResourceNames[j],Players[i].Incomes[j]);
}
- fprintf(file,";;FIXME: new members must be saved\n");
+ CLprintf(file,";;FIXME: new members must be saved\n");
// UnitTypesCount done by load units.
- fprintf(file,")\n '%s\n",Players[i].AiEnabled ?
+ CLprintf(file,")\n '%s\n",Players[i].AiEnabled ?
"ai-enabled" : "ai-disabled");
// Ai done by load ais.
- fprintf (file, " 'food %d", Players[i].Food);
- fprintf(file," 'food-unit-limit %d",Players[i].FoodUnitLimit);
- fprintf(file," 'building-limit %d",Players[i].BuildingLimit);
- fprintf(file," 'total-unit-limit %d",Players[i].TotalUnitLimit);
-
- fprintf(file,"\n 'score %d",Players[i].Score);
- fprintf(file,"\n 'total-units %d",Players[i].TotalUnits);
- fprintf(file,"\n 'total-buildings %d",Players[i].TotalBuildings);
- fprintf(file,"\n 'total-razings %d",Players[i].TotalRazings);
- fprintf(file,"\n 'total-kills %d",Players[i].TotalKills);
- fprintf(file,"\n 'total-resources '(");
+ CLprintf (file, " 'food %d", Players[i].Food);
+ CLprintf(file," 'food-unit-limit %d",Players[i].FoodUnitLimit);
+ CLprintf(file," 'building-limit %d",Players[i].BuildingLimit);
+ CLprintf(file," 'total-unit-limit %d",Players[i].TotalUnitLimit);
+
+ CLprintf(file,"\n 'score %d",Players[i].Score);
+ CLprintf(file,"\n 'total-units %d",Players[i].TotalUnits);
+ CLprintf(file,"\n 'total-buildings %d",Players[i].TotalBuildings);
+ CLprintf(file,"\n 'total-razings %d",Players[i].TotalRazings);
+ CLprintf(file,"\n 'total-kills %d",Players[i].TotalKills);
+ CLprintf(file,"\n 'total-resources '(");
for( j=0; j<MaxCosts; ++j ) {
- fprintf(file,"%d ",Players[i].TotalResources[j]);
+ CLprintf(file,"%d ",Players[i].TotalResources[j]);
}
- fprintf(file,")");
+ CLprintf(file,")");
// Colors done by init code.
// Allow saved by allow.
- fprintf(file,"\n 'timers '(");
+ CLprintf(file,"\n 'timers '(");
for( j=0; j<UpgradeMax; ++j ) {
if( j ) {
- fputc(' ',file);
+ CLprintf(file," ");
}
- fprintf(file,"%d",Players[i].UpgradeTimers.Upgrades[j]);
+ CLprintf(file,"%d",Players[i].UpgradeTimers.Upgrades[j]);
}
- fprintf(file,")");
+ CLprintf(file,")");
- fprintf(file,")\n\n");
+ CLprintf(file,")\n\n");
}
DebugLevel0Fn("FIXME: must unit-stats?\n");
@@ -334,7 +334,7 @@
//
// Dump local variables
//
- fprintf(file,"(set-this-player! %d)\n\n",ThisPlayer->Player);
+ CLprintf(file,"(set-this-player! %d)\n\n",ThisPlayer->Player);
}
/**
Index: stratagus/src/clone/pud.c
diff -u stratagus/src/clone/pud.c:1.107 stratagus/src/clone/pud.c:1.108
--- stratagus/src/clone/pud.c:1.107 Tue Jul 22 10:32:21 2003
+++ stratagus/src/clone/pud.c Sun Aug 17 11:57:06 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: pud.c,v 1.107 2003/07/22 14:32:21 n0body Exp $
+// $Id: pud.c,v 1.108 2003/08/17 15:57:06 n0body Exp $
//@{
@@ -360,7 +360,7 @@
unsigned short temp_short;
// FIXME: Reuse the temporary alloca buffer...
- if( !(input=CLopen(pud)) ) {
+ if( !(input=CLopen(pud,CL_OPEN_READ)) ) {
fprintf(stderr,"Try ./path/name\n");
fprintf(stderr,"pud: CLopen(%s): %s\n", pud, strerror(errno));
return NULL;
@@ -813,7 +813,7 @@
if (!map->Info) {
map->Info = GetPudInfo(pud);
}
- if( !(input=CLopen(pud)) ) {
+ if( !(input=CLopen(pud,CL_OPEN_READ)) ) {
fprintf(stderr,"Try ./path/name\n");
fprintf(stderr,"pud: CLopen(%s): %s\n", pud, strerror(errno));
ExitFatal(-1);
Index: stratagus/src/clone/selection.c
diff -u stratagus/src/clone/selection.c:1.47
stratagus/src/clone/selection.c:1.48
--- stratagus/src/clone/selection.c:1.47 Thu Jul 24 15:27:32 2003
+++ stratagus/src/clone/selection.c Sun Aug 17 11:57:06 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: selection.c,v 1.47 2003/07/24 19:27:32 n0body Exp $
+// $Id: selection.c,v 1.48 2003/08/17 15:57:06 n0body Exp $
//@{
@@ -969,22 +969,22 @@
**
** @param file Output file.
*/
-global void SaveSelections(FILE* file)
+global void SaveSelections(CLFile* file)
{
int i;
char *ref;
- fprintf(file,"\n;;; -----------------------------------------\n");
- fprintf(file,";;; MODULE: selection $Id: selection.c,v 1.47 2003/07/24
19:27:32 n0body Exp $\n\n");
+ CLprintf(file,"\n;;; -----------------------------------------\n");
+ CLprintf(file,";;; MODULE: selection $Id: selection.c,v 1.48 2003/08/17
15:57:06 n0body Exp $\n\n");
- fprintf(file,"(set-group-id! %d)\n",GroupId);
- fprintf(file,"(selection %d '(",NumSelected);
+ CLprintf(file,"(set-group-id! %d)\n",GroupId);
+ CLprintf(file,"(selection %d '(",NumSelected);
for( i=0; i<NumSelected; ++i ) {
ref=UnitReference(Selected[i]);
- fprintf(file,"%s ",ref);
+ CLprintf(file,"%s ",ref);
free(ref);
}
- fprintf(file,"))\n");
+ CLprintf(file,"))\n");
}
/**
Index: stratagus/src/clone/unit.c
diff -u stratagus/src/clone/unit.c:1.286 stratagus/src/clone/unit.c:1.287
--- stratagus/src/clone/unit.c:1.286 Sun Aug 10 22:14:46 2003
+++ stratagus/src/clone/unit.c Sun Aug 17 11:57:06 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: unit.c,v 1.286 2003/08/11 02:14:46 n0body Exp $
+// $Id: unit.c,v 1.287 2003/08/17 15:57:06 n0body Exp $
//@{
@@ -3506,122 +3506,122 @@
** @param order Order who should be saved.
** @param file Output file.
*/
-local void SaveOrder(const Order* order,FILE* file)
+local void SaveOrder(const Order* order,CLFile* file)
{
char* ref;
- fprintf(file,"(");
+ CLprintf(file,"(");
switch( order->Action ) {
case UnitActionNone:
- fprintf(file,"action-none");
+ CLprintf(file,"action-none");
break;
case UnitActionStill:
- fprintf(file,"action-still");
+ CLprintf(file,"action-still");
break;
case UnitActionStandGround:
- fprintf(file,"action-stand-ground");
+ CLprintf(file,"action-stand-ground");
break;
case UnitActionFollow:
- fprintf(file,"action-follow");
+ CLprintf(file,"action-follow");
break;
case UnitActionMove:
- fprintf(file,"action-move");
+ CLprintf(file,"action-move");
break;
case UnitActionAttack:
- fprintf(file,"action-attack");
+ CLprintf(file,"action-attack");
break;
case UnitActionAttackGround:
- fprintf(file,"action-attack-ground");
+ CLprintf(file,"action-attack-ground");
break;
case UnitActionDie:
- fprintf(file,"action-die");
+ CLprintf(file,"action-die");
break;
case UnitActionSpellCast:
- fprintf(file,"action-spell-cast");
+ CLprintf(file,"action-spell-cast");
break;
case UnitActionTrain:
- fprintf(file,"action-train");
+ CLprintf(file,"action-train");
break;
case UnitActionUpgradeTo:
- fprintf(file,"action-upgrade-to");
+ CLprintf(file,"action-upgrade-to");
break;
case UnitActionResearch:
- fprintf(file,"action-research");
+ CLprintf(file,"action-research");
break;
case UnitActionBuilded:
- fprintf(file,"action-builded");
+ CLprintf(file,"action-builded");
break;
case UnitActionBoard:
- fprintf(file,"action-board");
+ CLprintf(file,"action-board");
break;
case UnitActionUnload:
- fprintf(file,"action-unload");
+ CLprintf(file,"action-unload");
break;
case UnitActionPatrol:
- fprintf(file,"action-patrol");
+ CLprintf(file,"action-patrol");
break;
case UnitActionBuild:
- fprintf(file,"action-build");
+ CLprintf(file,"action-build");
break;
case UnitActionRepair:
- fprintf(file,"action-repair");
+ CLprintf(file,"action-repair");
break;
case UnitActionHarvest:
- fprintf(file,"action-harvest");
+ CLprintf(file,"action-harvest");
break;
case UnitActionResource:
- fprintf(file,"action-resource");
+ CLprintf(file,"action-resource");
break;
case UnitActionReturnGoods:
- fprintf(file,"action-return-goods");
+ CLprintf(file,"action-return-goods");
break;
case UnitActionDemolish:
- fprintf(file,"action-demolish");
+ CLprintf(file,"action-demolish");
break;
default:
DebugLevel0Fn("Unknown action in order\n");
}
- fprintf(file," flags %d",order->Flags);
- fprintf(file," range (%d %d)",order->RangeX,order->RangeY);
+ CLprintf(file," flags %d",order->Flags);
+ CLprintf(file," range (%d %d)",order->RangeX,order->RangeY);
if( order->Goal ) {
if (order->Goal->Destroyed) {
/* this unit is destroyed so it's not in the global unit
* array - this means it won't be saved!!! */
printf ("FIXME: storing destroyed Goal - loading will fail.\n");
}
- fprintf(file," goal %s",ref=UnitReference(order->Goal));
+ CLprintf(file," goal %s",ref=UnitReference(order->Goal));
free(ref);
}
- fprintf(file," tile (%d %d)",order->X,order->Y);
+ CLprintf(file," tile (%d %d)",order->X,order->Y);
if( order->Type ) {
- fprintf(file," type %s",order->Type->Ident);
+ CLprintf(file," type %s",order->Type->Ident);
}
if( order->Arg1 ) {
// patrol=pos, research=upgrade, spell=spell
switch( order->Action ) {
case UnitActionPatrol:
- fprintf(file," patrol (%d %d)",
+ CLprintf(file," patrol (%d %d)",
(int)order->Arg1>>16,(int)order->Arg1&0xFFFF);
break;
case UnitActionSpellCast:
- fprintf(file," spell %s",((SpellType*)order->Arg1)->Ident);
+ CLprintf(file," spell %s",((SpellType*)order->Arg1)->Ident);
break;
case UnitActionResearch:
- fprintf(file," upgrade %s",((Upgrade*)order->Arg1)->Ident);
+ CLprintf(file," upgrade %s",((Upgrade*)order->Arg1)->Ident);
break;
default:
- fprintf(file," arg1 %d",(int)order->Arg1);
+ CLprintf(file," arg1 %d",(int)order->Arg1);
break;
}
}
- fprintf(file,")");
+ CLprintf(file,")");
}
/**
@@ -3630,148 +3630,148 @@
** @param unit Unit pointer to be saved.
** @param file Output file.
*/
-global void SaveUnit(const Unit* unit,FILE* file)
+global void SaveUnit(const Unit* unit,CLFile* file)
{
char* ref;
Unit* uins;
int i;
- fprintf(file,"\n(unit %d ",UnitNumber(unit));
+ CLprintf(file,"\n(unit %d ",UnitNumber(unit));
// 'type and 'player must be first, needed to create the unit slot
- fprintf(file,"'type '%s ",unit->Type->Ident);
+ CLprintf(file,"'type '%s ",unit->Type->Ident);
if( unit->SeenType ) {
- fprintf(file,"'seen-type '%s ",unit->SeenType->Ident);
+ CLprintf(file,"'seen-type '%s ",unit->SeenType->Ident);
}
- fprintf(file,"'player %d\n ",unit->Player->Player);
+ CLprintf(file,"'player %d\n ",unit->Player->Player);
if( unit->Name ) {
- fprintf(file,"'name \"%s\" ",unit->Name);
+ CLprintf(file,"'name \"%s\" ",unit->Name);
}
if( unit->Next ) {
- fprintf(file,"'next '%d ",UnitNumber(unit->Next));
+ CLprintf(file,"'next '%d ",UnitNumber(unit->Next));
}
- fprintf(file,"'tile '(%d %d) ",unit->X,unit->Y);
+ CLprintf(file,"'tile '(%d %d) ",unit->X,unit->Y);
#if 0
/* latimerius: why is this so complex? */
// JOHNS: An unit can be owned by a new player and have still the old stats
for( i=0; i<PlayerMax; ++i ) {
if( &unit->Type->Stats[i]==unit->Stats ) {
- fprintf(file,"'stats %d\n ",i);
+ CLprintf(file,"'stats %d\n ",i);
break;
}
}
/* latimerius: what's the point of storing a pointer value anyway? */
if( i==PlayerMax ) {
- fprintf(file,"'stats 'S%08X\n ",(int)unit->Stats);
+ CLprintf(file,"'stats 'S%08X\n ",(int)unit->Stats);
}
#else
- fprintf(file, "'stats %d\n " ,unit->Player->Player);
+ CLprintf(file, "'stats %d\n " ,unit->Player->Player);
#endif
- fprintf(file,"'pixel '(%d %d) ",unit->IX,unit->IY);
- fprintf(file,"'seen-pixel '(%d %d) ",unit->SeenIX,unit->SeenIY);
- fprintf(file,"'%sframe %d ",
+ CLprintf(file,"'pixel '(%d %d) ",unit->IX,unit->IY);
+ CLprintf(file,"'seen-pixel '(%d %d) ",unit->SeenIX,unit->SeenIY);
+ CLprintf(file,"'%sframe %d ",
unit->Frame<0 ? "flipped-" : ""
,unit->Frame<0?-unit->Frame:unit->Frame);
if( unit->SeenFrame!=UnitNotSeen ) {
- fprintf(file,"'%sseen %d ",
+ CLprintf(file,"'%sseen %d ",
unit->SeenFrame<0 ? "flipped-" : ""
,unit->SeenFrame<0?-unit->SeenFrame:unit->SeenFrame);
} else {
- fprintf(file,"'not-seen ");
+ CLprintf(file,"'not-seen ");
}
- fprintf(file,"'direction %d\n ",unit->Direction);
- fprintf(file,"'attacked %d\n ",unit->Attacked);
- fprintf(file," 'current-sight-range %d",unit->CurrentSightRange);
+ CLprintf(file,"'direction %d\n ",unit->Direction);
+ CLprintf(file,"'attacked %d\n ",unit->Attacked);
+ CLprintf(file," 'current-sight-range %d",unit->CurrentSightRange);
if( unit->Burning ) {
- fprintf(file," 'burning");
+ CLprintf(file," 'burning");
}
if( unit->Destroyed ) {
- fprintf(file," 'destroyed");
+ CLprintf(file," 'destroyed");
}
if( unit->SeenDestroyed ) {
- fprintf(file," 'seen-destroyed");
+ CLprintf(file," 'seen-destroyed");
}
if( unit->Removed ) {
- fprintf(file," 'removed");
+ CLprintf(file," 'removed");
}
if( unit->Selected ) {
- fprintf(file," 'selected");
+ CLprintf(file," 'selected");
}
if( unit->RescuedFrom ) {
- fprintf(file," 'rescued-from %d",unit->RescuedFrom->Player);
+ CLprintf(file," 'rescued-from %d",unit->RescuedFrom->Player);
}
// n0b0dy: How is this usefull?
if( unit->Container && unit->Removed ) {
- fprintf(file," 'host-tile '(%d %d) ",
+ CLprintf(file," 'host-tile '(%d %d) ",
unit->Container->X+unit->Container->Type->TileWidth/2,
unit->Container->Y+unit->Container->Type->TileHeight/2);
}
- fprintf(file," 'visible \"");
+ CLprintf(file," 'visible \"");
for( i=0; i<PlayerMax; ++i ) {
- fputc((unit->Visible&(1<<i)) ? 'X' : '_',file);
+ CLprintf(file,"%c",(unit->Visible&(1<<i)) ? 'X' : '_');
}
- fprintf(file,"\"\n ");
+ CLprintf(file,"\"\n ");
if( unit->Constructed ) {
- fprintf(file," 'constructed");
+ CLprintf(file," 'constructed");
}
if( unit->SeenConstructed ) {
- fprintf(file," 'seen-constructed");
+ CLprintf(file," 'seen-constructed");
}
- fprintf(file," 'seen-state %d ",unit->SeenState);
+ CLprintf(file," 'seen-state %d ",unit->SeenState);
if( unit->Active ) {
- fprintf(file," 'active");
+ CLprintf(file," 'active");
}
- fprintf(file," 'mana %d",unit->Mana);
- fprintf(file," 'hp %d",unit->HP);
- fprintf(file," 'xp %d",unit->XP);
- fprintf(file," 'kills %d\n ",unit->Kills);
-
- fprintf(file,"'ttl %lu ",unit->TTL);
- fprintf(file,"'bloodlust %d ",unit->Bloodlust);
- fprintf(file,"'haste %d ",unit->Haste);
- fprintf(file,"'slow %d\n ",unit->Slow);
- fprintf(file,"'invisible %d ",unit->Invisible);
- fprintf(file,"'flame-shield %d ",unit->FlameShield);
- fprintf(file,"'unholy-armor %d\n ",unit->UnholyArmor);
-
- fprintf(file,"'group-id %d\n ",unit->GroupId);
- fprintf(file,"'last-group %d\n ",unit->LastGroup);
-
- fprintf(file,"'value %d\n ",unit->Value);
-
- fprintf(file,"'sub-action %d ",unit->SubAction);
- fprintf(file,"'wait %d ",unit->Wait);
- fprintf(file,"'state %d",unit->State);
+ CLprintf(file," 'mana %d",unit->Mana);
+ CLprintf(file," 'hp %d",unit->HP);
+ CLprintf(file," 'xp %d",unit->XP);
+ CLprintf(file," 'kills %d\n ",unit->Kills);
+
+ CLprintf(file,"'ttl %lu ",unit->TTL);
+ CLprintf(file,"'bloodlust %d ",unit->Bloodlust);
+ CLprintf(file,"'haste %d ",unit->Haste);
+ CLprintf(file,"'slow %d\n ",unit->Slow);
+ CLprintf(file,"'invisible %d ",unit->Invisible);
+ CLprintf(file,"'flame-shield %d ",unit->FlameShield);
+ CLprintf(file,"'unholy-armor %d\n ",unit->UnholyArmor);
+
+ CLprintf(file,"'group-id %d\n ",unit->GroupId);
+ CLprintf(file,"'last-group %d\n ",unit->LastGroup);
+
+ CLprintf(file,"'value %d\n ",unit->Value);
+
+ CLprintf(file,"'sub-action %d ",unit->SubAction);
+ CLprintf(file,"'wait %d ",unit->Wait);
+ CLprintf(file,"'state %d",unit->State);
if( unit->Reset ) {
- fprintf(file," 'reset");
+ CLprintf(file," 'reset");
}
- fprintf(file,"\n 'blink %d",unit->Blink);
+ CLprintf(file,"\n 'blink %d",unit->Blink);
if( unit->Moving ) {
- fprintf(file," 'moving");
+ CLprintf(file," 'moving");
}
- fprintf(file," 'rs %d",unit->Rs);
- fprintf(file," 'units-contained-count %d",unit->InsideCount);
- fprintf(file,"\n 'units-contained #(");
+ CLprintf(file," 'rs %d",unit->Rs);
+ CLprintf(file," 'units-contained-count %d",unit->InsideCount);
+ CLprintf(file,"\n 'units-contained #(");
uins=unit->UnitInside;
for( i=unit->InsideCount; i; --i,uins=uins->NextContained ) {
- fprintf(file,"%s",ref=UnitReference(uins));
+ CLprintf(file,"%s",ref=UnitReference(uins));
if( i>1 ) {
- fputc(' ',file);
+ CLprintf(file," ");
}
}
- fprintf(file,")\n ");
- fprintf(file,"'order-count %d\n ",unit->OrderCount);
- fprintf(file,"'order-flush %d\n ",unit->OrderFlush);
- fprintf(file,"'orders #(");
+ CLprintf(file,")\n ");
+ CLprintf(file,"'order-count %d\n ",unit->OrderCount);
+ CLprintf(file,"'order-flush %d\n ",unit->OrderFlush);
+ CLprintf(file,"'orders #(");
for( i=0; i<MAX_ORDERS; ++i ) {
- fprintf(file,"\n ");
+ CLprintf(file,"\n ");
SaveOrder(&unit->Orders[i],file);
}
- fprintf(file,")\n 'saved-order '");
+ CLprintf(file,")\n 'saved-order '");
SaveOrder(&unit->SavedOrder,file);
- fprintf(file,"\n 'new-order '");
+ CLprintf(file,"\n 'new-order '");
SaveOrder(&unit->NewOrder,file);
//
@@ -3781,7 +3781,7 @@
case UnitActionStill:
// FIXME: support other resource types
if( unit->Type->GivesResource ) {
- fprintf(file," 'resource-active %d",unit->Data.Resource.Active);
+ CLprintf(file," 'resource-active
%d",unit->Data.Resource.Active);
}
break;
case UnitActionBuilded:
@@ -3795,68 +3795,68 @@
cframe=cframe->Next;
++frame;
}
- fprintf(file,"\n 'data-builded '(worker %s",
+ CLprintf(file,"\n 'data-builded '(worker %s",
ref=UnitReference(unit->Data.Builded.Worker));
free(ref);
- fprintf(file," sum %d add %d val %d sub %d frame %d",
+ CLprintf(file," sum %d add %d val %d sub %d frame %d",
unit->Data.Builded.Sum,unit->Data.Builded.Add,
unit->Data.Builded.Val,unit->Data.Builded.Sub,
frame);
if( unit->Data.Builded.Cancel ) {
- fprintf(file," cancel");
+ CLprintf(file," cancel");
}
- fprintf(file,")");
+ CLprintf(file,")");
break;
}
case UnitActionResearch:
- fprintf(file,"\n 'data-research '(");
- fprintf(file,"ident %s", unit->Data.Research.Upgrade->Ident);
- fprintf(file,")");
+ CLprintf(file,"\n 'data-research '(");
+ CLprintf(file,"ident %s", unit->Data.Research.Upgrade->Ident);
+ CLprintf(file,")");
break;
case UnitActionUpgradeTo:
- fprintf(file,"\n 'data-upgrade-to '(");
- fprintf(file,"ticks %d",unit->Data.UpgradeTo.Ticks);
- fprintf(file,")");
+ CLprintf(file,"\n 'data-upgrade-to '(");
+ CLprintf(file,"ticks %d",unit->Data.UpgradeTo.Ticks);
+ CLprintf(file,")");
break;
case UnitActionTrain:
- fprintf(file,"\n 'data-train '(");
- fprintf(file,"ticks %d ",unit->Data.Train.Ticks);
- fprintf(file,"count %d ",unit->Data.Train.Count);
- fprintf(file,"queue #(");
+ CLprintf(file,"\n 'data-train '(");
+ CLprintf(file,"ticks %d ",unit->Data.Train.Ticks);
+ CLprintf(file,"count %d ",unit->Data.Train.Count);
+ CLprintf(file,"queue #(");
for (i=0; i<MAX_UNIT_TRAIN; i++) {
if (i<unit->Data.Train.Count) {
- fprintf(file,"%s ",unit->Data.Train.What[i]->Ident);
+ CLprintf(file,"%s ",unit->Data.Train.What[i]->Ident);
} else {
/* this slot is currently unused */
- fprintf(file,"unit-none ");
+ CLprintf(file,"unit-none ");
}
}
- fprintf(file, "))");
+ CLprintf(file, "))");
break;
default:
- fprintf(file,"\n 'data-move '(");
+ CLprintf(file,"\n 'data-move '(");
if( unit->Data.Move.Fast ) {
- fprintf(file,"fast ");
+ CLprintf(file,"fast ");
}
if( unit->Data.Move.Length ) {
- fprintf(file,"path #(");
+ CLprintf(file,"path #(");
for( i=0; i<unit->Data.Move.Length; ++i ) {
- fprintf(file,"%d ", unit->Data.Move.Path[i]);
+ CLprintf(file,"%d ", unit->Data.Move.Path[i]);
}
- fprintf(file,")");
+ CLprintf(file,")");
}
- fprintf(file,")");
+ CLprintf(file,")");
break;
}
if( unit->Goal ) {
- fprintf(file,"\n 'goal %d",UnitNumber(unit->Goal));
+ CLprintf(file,"\n 'goal %d",UnitNumber(unit->Goal));
}
if( unit->AutoCastSpell ) {
- fprintf(file,"\n 'auto-cast '%s",unit->AutoCastSpell->Ident);
+ CLprintf(file,"\n 'auto-cast '%s",unit->AutoCastSpell->Ident);
}
- fprintf(file,")\n");
+ CLprintf(file,")\n");
}
/**
@@ -3864,30 +3864,30 @@
**
** @param file Output file.
*/
-global void SaveUnits(FILE* file)
+global void SaveUnits(CLFile* file)
{
Unit** table;
int i;
unsigned char SlotUsage[MAX_UNIT_SLOTS/8 + 1];
int InRun, RunStart;
- fprintf(file,"\n;;; -----------------------------------------\n");
- fprintf(file,";;; MODULE: units $Id: unit.c,v 1.286 2003/08/11 02:14:46
n0body Exp $\n\n");
+ CLprintf(file,"\n;;; -----------------------------------------\n");
+ CLprintf(file,";;; MODULE: units $Id: unit.c,v 1.287 2003/08/17 15:57:06
n0body Exp $\n\n");
//
// Local variables
//
- fprintf(file,"(set-hitpoint-regeneration! #%s)\n",
+ CLprintf(file,"(set-hitpoint-regeneration! #%s)\n",
HitPointRegeneration ? "t" : "f");
- fprintf(file,"(set-xp-damage! #%s)\n",
+ CLprintf(file,"(set-xp-damage! #%s)\n",
XpDamage ? "t" : "f");
- fprintf(file,"(set-fancy-buildings! #%s)\n",
+ CLprintf(file,"(set-fancy-buildings! #%s)\n",
FancyBuildings ? "t" : "f");
- fprintf(file,"(set-training-queue! #%s)\n",
+ CLprintf(file,"(set-training-queue! #%s)\n",
EnableTrainingQueue ? "t" : "f");
- fprintf (file, "; Unit slot usage bitmap\n");
- fprintf (file, "(slot-usage '(");
+ CLprintf (file, "; Unit slot usage bitmap\n");
+ CLprintf (file, "(slot-usage '(");
memset (SlotUsage, 0, MAX_UNIT_SLOTS/8 + 1);
for (i=0; i<NumUnits; i++) {
@@ -3897,9 +3897,9 @@
#if 0
/* the old way */
for (i=0; i<MAX_UNIT_SLOTS/8 + 1; i++) {
- fprintf (file, " %d", SlotUsage[i]);
+ CLprintf (file, " %d", SlotUsage[i]);
if ( (i+1) % 16 == 0 ) // 16 numbers per line
- fprintf (file, "\n");
+ CLprintf (file, "\n");
}
#else
@@ -3913,15 +3913,15 @@
if ( !SlotUsed (i) && InRun) {
InRun = 0;
if (i-1 == RunStart) {
- fprintf (file, "%d ", i-1);
+ CLprintf (file, "%d ", i-1);
} else {
- fprintf (file, "%d - %d ", RunStart, i-1);
+ CLprintf (file, "%d - %d ", RunStart, i-1);
}
}
}
#endif
- fprintf (file, "))\n");
+ CLprintf (file, "))\n");
for( table=Units; table<&Units[NumUnits]; ++table ) {
SaveUnit(*table,file);
Index: stratagus/src/clone/unit_draw.c
diff -u stratagus/src/clone/unit_draw.c:1.150
stratagus/src/clone/unit_draw.c:1.151
--- stratagus/src/clone/unit_draw.c:1.150 Sun Aug 10 22:14:46 2003
+++ stratagus/src/clone/unit_draw.c Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: unit_draw.c,v 1.150 2003/08/11 02:14:46 n0body Exp $
+// $Id: unit_draw.c,v 1.151 2003/08/17 15:57:07 n0body Exp $
//@{
@@ -646,63 +646,63 @@
/**
** Save decorations.
*/
-global void SaveDecorations(FILE* file)
+global void SaveDecorations(CLFile* file)
{
- fprintf(file,"\n;;; -----------------------------------------\n");
- fprintf(file,";;; MODULE: decorations $Id: unit_draw.c,v 1.150 2003/08/11
02:14:46 n0body Exp $\n\n");
+ CLprintf(file,"\n;;; -----------------------------------------\n");
+ CLprintf(file,";;; MODULE: decorations $Id: unit_draw.c,v 1.151 2003/08/17
15:57:07 n0body Exp $\n\n");
- fprintf(file,"(mana-sprite \"%s\" %d %d %d %d)\n",
+ CLprintf(file,"(mana-sprite \"%s\" %d %d %d %d)\n",
ManaSprite.File,ManaSprite.HotX,ManaSprite.HotY,
ManaSprite.Width,ManaSprite.Height);
- fprintf(file,"(health-sprite \"%s\" %d %d %d %d)\n",
+ CLprintf(file,"(health-sprite \"%s\" %d %d %d %d)\n",
HealthSprite.File,HealthSprite.HotX,HealthSprite.HotY,
HealthSprite.Width,HealthSprite.Height);
- fprintf(file,"(shadow-sprite \"%s\" %d %d %d %d)\n",
+ CLprintf(file,"(shadow-sprite \"%s\" %d %d %d %d)\n",
ShadowSprite.File,ShadowSprite.HotX,ShadowSprite.HotY,
ShadowSprite.Width,ShadowSprite.Height);
- fprintf(file,"(spell-sprite \"%s\" %d %d %d %d)\n",
+ CLprintf(file,"(spell-sprite \"%s\" %d %d %d %d)\n",
SpellSprite.File,SpellSprite.HotX,SpellSprite.HotY,
SpellSprite.Width,SpellSprite.Height);
// This belongs to the config and not save file
if( ShowHealthBar ) {
- fprintf(file,";(show-health-bar)\n");
+ CLprintf(file,";(show-health-bar)\n");
}
if( ShowHealthDot ) {
- fprintf(file,";(show-health-dot)\n");
+ CLprintf(file,";(show-health-dot)\n");
}
if( ShowHealthHorizontal ) {
- fprintf(file,";(show-health-horizontal)\n");
+ CLprintf(file,";(show-health-horizontal)\n");
} else {
- fprintf(file,";(show-health-vertical)\n");
+ CLprintf(file,";(show-health-vertical)\n");
}
if( ShowHealthBackgroundLong ) {
- fprintf(file,";(show-health-blackground-long)\n");
+ CLprintf(file,";(show-health-blackground-long)\n");
}
if( ShowManaBar ) {
- fprintf(file,";(show-mana-bar)\n");
+ CLprintf(file,";(show-mana-bar)\n");
}
if( ShowManaDot ) {
- fprintf(file,";(show-mana-dot)\n");
+ CLprintf(file,";(show-mana-dot)\n");
}
if( ShowManaHorizontal ) {
- fprintf(file,";(show-mana-horizontal)\n");
+ CLprintf(file,";(show-mana-horizontal)\n");
} else {
- fprintf(file,";(show-mana-vertical)\n");
+ CLprintf(file,";(show-mana-vertical)\n");
}
if( ShowManaBackgroundLong ) {
- fprintf(file,";(show-mana-blackground-long)\n");
+ CLprintf(file,";(show-mana-blackground-long)\n");
}
if( ShowEnergySelectedOnly ) {
- fprintf(file,";(show-energy-selected-only)\n");
+ CLprintf(file,";(show-energy-selected-only)\n");
}
if( ShowNoFull ) {
- fprintf(file,";(show-no-full)\n");
+ CLprintf(file,";(show-no-full)\n");
} else {
- fprintf(file,";(show-full)\n");
+ CLprintf(file,";(show-full)\n");
}
if( DecorationOnTop ) {
- fprintf(file,";(decoration-on-top)\n");
+ CLprintf(file,";(decoration-on-top)\n");
}
}
@@ -1914,7 +1914,7 @@
drawlevel2 = c2->Type->DrawLevel;
}
if( drawlevel1 == drawlevel2 ) {
- return c1->Slot < c2->Slot ? -1 : 1;
+ return c1->Y*MaxMapWidth+c1->X < c2->Y*MaxMapWidth+c2->X ? -1 : 1;
} else {
return drawlevel1 <= drawlevel2 ? -1 : 1;
}
Index: stratagus/src/editor/editloop.c
diff -u stratagus/src/editor/editloop.c:1.126
stratagus/src/editor/editloop.c:1.127
--- stratagus/src/editor/editloop.c:1.126 Wed Aug 13 10:55:45 2003
+++ stratagus/src/editor/editloop.c Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: editloop.c,v 1.126 2003/08/13 14:55:45 martinxyz Exp $
+// $Id: editloop.c,v 1.127 2003/08/17 15:57:07 n0body Exp $
//@{
@@ -1811,7 +1811,7 @@
// FIXME: the CLopen is very slow and repeats the work of LibraryFileName.
//
file = LibraryFileName(EditorStartFile, buf);
- if ((clf = CLopen(file))) {
+ if ((clf = CLopen(file,CL_OPEN_READ))) {
CLclose(clf);
ShowLoadProgress("Script %s", file);
if ((s = strrchr(file, '.')) && s[1] == 'C') {
Index: stratagus/src/game/campaign.c
diff -u stratagus/src/game/campaign.c:1.32 stratagus/src/game/campaign.c:1.33
--- stratagus/src/game/campaign.c:1.32 Sat Aug 2 09:34:24 2003
+++ stratagus/src/game/campaign.c Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: campaign.c,v 1.32 2003/08/02 13:34:24 grumbel Exp $
+// $Id: campaign.c,v 1.33 2003/08/17 15:57:07 n0body Exp $
//@{
@@ -522,59 +522,59 @@
/**
** Save the campaign module.
*/
-global void SaveCampaign(FILE* file)
+global void SaveCampaign(CLFile* file)
{
CampaignChapter *ch;
ChapterPictureText *text;
int i;
- fprintf(file,"\n;;; -----------------------------------------\n");
- fprintf(file,";;; MODULE: campaign $Id: campaign.c,v 1.32 2003/08/02
13:34:24 grumbel Exp $\n\n");
+ CLprintf(file,"\n;;; -----------------------------------------\n");
+ CLprintf(file,";;; MODULE: campaign $Id: campaign.c,v 1.33 2003/08/17
15:57:07 n0body Exp $\n\n");
if( !CurrentCampaign ) {
return;
}
- fprintf(file,"(define-campaign 'current");
+ CLprintf(file,"(define-campaign 'current");
if( CurrentCampaign->Name ) {
- fprintf(file," 'name \"%s\"",CurrentCampaign->Name);
+ CLprintf(file," 'name \"%s\"",CurrentCampaign->Name);
}
- fprintf(file," 'players %d",CurrentCampaign->Players);
- fprintf(file,"\n");
+ CLprintf(file," 'players %d",CurrentCampaign->Players);
+ CLprintf(file,"\n");
- fprintf(file," 'campaign (list\n");
+ CLprintf(file," 'campaign (list\n");
for( ch=CurrentCampaign->Chapters; ch; ch=ch->Next ) {
if( ch->Type == ChapterShowPicture ) {
- fprintf(file," 'show-picture (list\n");
- fprintf(file," 'image \"%s\"\n",ch->Data.Picture.Image);
- fprintf(file," 'fade-in %d\n",ch->Data.Picture.FadeIn);
- fprintf(file," 'fade-out %d\n",ch->Data.Picture.FadeOut);
- fprintf(file," 'display-time %d\n",
+ CLprintf(file," 'show-picture (list\n");
+ CLprintf(file," 'image \"%s\"\n",ch->Data.Picture.Image);
+ CLprintf(file," 'fade-in %d\n",ch->Data.Picture.FadeIn);
+ CLprintf(file," 'fade-out %d\n",ch->Data.Picture.FadeOut);
+ CLprintf(file," 'display-time %d\n",
ch->Data.Picture.DisplayTime);
for( text=ch->Data.Picture.Text; text; text=text->Next ) {
- fprintf(file," 'text (list\n");
- fprintf(file," 'font '%s\n",FontNames[text->Font]);
- fprintf(file," 'x %d\n",text->X);
- fprintf(file," 'y %d\n",text->Y);
- fprintf(file," 'width %d\n",text->Width);
- fprintf(file," 'height %d\n",text->Height);
+ CLprintf(file," 'text (list\n");
+ CLprintf(file," 'font '%s\n",FontNames[text->Font]);
+ CLprintf(file," 'x %d\n",text->X);
+ CLprintf(file," 'y %d\n",text->Y);
+ CLprintf(file," 'width %d\n",text->Width);
+ CLprintf(file," 'height %d\n",text->Height);
if (text->Align == PictureTextAlignLeft) {
- fprintf(file," 'align 'left\n");
+ CLprintf(file," 'align 'left\n");
} else {
- fprintf(file," 'align 'center\n");
+ CLprintf(file," 'align 'center\n");
}
- fprintf(file," 'text \"%s\"\n",text->Text);
- fprintf(file," )\n");
+ CLprintf(file," 'text \"%s\"\n",text->Text);
+ CLprintf(file," )\n");
}
- fprintf(file," )\n");
+ CLprintf(file," )\n");
} else if( ch->Type == ChapterPlayLevel ) {
- fprintf(file," 'play-level \"%s\"\n",ch->Data.Level.Name);
+ CLprintf(file," 'play-level \"%s\"\n",ch->Data.Level.Name);
} else if( ch->Type == ChapterPlayVideo ) {
- fprintf(file," 'play-movie \"%s\" %d\n",
+ CLprintf(file," 'play-movie \"%s\" %d\n",
ch->Data.Movie.PathName,ch->Data.Movie.Flags);
}
}
- fprintf(file," )\n");
- fprintf(file,")\n");
+ CLprintf(file," )\n");
+ CLprintf(file,")\n");
ch=CurrentCampaign->Chapters;
i=0;
@@ -588,7 +588,7 @@
if( !ch ) {
i=0;
}
- fprintf(file,"(set-current-chapter! %d)\n", i);
+ CLprintf(file,"(set-current-chapter! %d)\n", i);
}
/**
Index: stratagus/src/game/intro.c
diff -u stratagus/src/game/intro.c:1.97 stratagus/src/game/intro.c:1.98
--- stratagus/src/game/intro.c:1.97 Fri Jul 11 10:35:30 2003
+++ stratagus/src/game/intro.c Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: intro.c,v 1.97 2003/07/11 14:35:30 n0body Exp $
+// $Id: intro.c,v 1.98 2003/08/17 15:57:07 n0body Exp $
//@{
@@ -427,7 +427,7 @@
#endif
LibraryFileName(intro->TextFile,buf);
- if( !(file=CLopen(buf)) ) {
+ if( !(file=CLopen(buf,CL_OPEN_READ)) ) {
fprintf(stderr,"Can't open file `%s'\n",intro->TextFile);
ExitFatal(-1);
}
@@ -1582,16 +1582,16 @@
/**
** Save the objectives.
*/
-global void SaveObjectives(FILE *file)
+global void SaveObjectives(CLFile *file)
{
int i;
if( GameIntro.Objectives[0] ) {
- fprintf(file,"(set-objectives!");
+ CLprintf(file,"(set-objectives!");
for( i=0; i<MAX_OBJECTIVES && GameIntro.Objectives[i]; ++i ) {
- fprintf(file,"\n \"%s\"",GameIntro.Objectives[i]);
+ CLprintf(file,"\n \"%s\"",GameIntro.Objectives[i]);
}
- fprintf(file,")\n");
+ CLprintf(file,")\n");
}
}
Index: stratagus/src/game/savegame.c
diff -u stratagus/src/game/savegame.c:1.30 stratagus/src/game/savegame.c:1.31
--- stratagus/src/game/savegame.c:1.30 Sat Aug 9 16:08:38 2003
+++ stratagus/src/game/savegame.c Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: savegame.c,v 1.30 2003/08/09 20:08:38 martinxyz Exp $
+// $Id: savegame.c,v 1.31 2003/08/17 15:57:07 n0body Exp $
//@{
@@ -58,6 +58,7 @@
#include "campaign.h"
#include "trigger.h"
#include "settings.h"
+#include "iolib.h"
#include "ccl.h"
@@ -79,11 +80,11 @@
global void SaveGame(const char* filename)
{
time_t now;
- FILE* file;
+ CLFile* file;
char* s;
char* s1;
- file=fopen(filename,"wb");
+ file=CLopen(filename,CL_WRITE_GZ | CL_OPEN_WRITE);
if( !file ) {
fprintf(stderr,"Can't save to `%s'\n",filename);
return;
@@ -98,33 +99,33 @@
//
// Parseable header
//
- fprintf(file,";;;(save-game\n");
- fprintf(file,";;; 'comment\t\"Generated by Stratagus Version " VERSION
"\"\n");
- fprintf(file,";;; 'comment\t\"Visit http://Stratagus.Org for more
informations\"\n");
- fprintf(file,";;; 'comment\t\"$Id: savegame.c,v 1.30 2003/08/09 20:08:38
martinxyz Exp $\"\n");
- fprintf(file,";;; 'type\t\"%s\"\n","single-player");
- fprintf(file,";;; 'date\t\"%s\"\n",s);
- fprintf(file,";;; 'map\t\"%s\"\n",TheMap.Description);
- fprintf(file,";;; 'engine\t'(%d %d %d)\n",
+ CLprintf(file,";;;(save-game\n");
+ CLprintf(file,";;; 'comment\t\"Generated by Stratagus Version " VERSION
"\"\n");
+ CLprintf(file,";;; 'comment\t\"Visit http://Stratagus.Org for more
informations\"\n");
+ CLprintf(file,";;; 'comment\t\"$Id: savegame.c,v 1.31 2003/08/17 15:57:07
n0body Exp $\"\n");
+ CLprintf(file,";;; 'type\t\"%s\"\n","single-player");
+ CLprintf(file,";;; 'date\t\"%s\"\n",s);
+ CLprintf(file,";;; 'map\t\"%s\"\n",TheMap.Description);
+ CLprintf(file,";;; 'engine\t'(%d %d %d)\n",
StratagusMajorVersion,StratagusMinorVersion,StratagusPatchLevel);
- fprintf(file,";;; 'savefile\t'(%d %d %d)\n",
+ CLprintf(file,";;; 'savefile\t'(%d %d %d)\n",
StratagusMajorVersion,StratagusMinorVersion,StratagusPatchLevel);
// Save media type
{ SCM var;
- fprintf(file,";;; 'media\t'");
+ CLprintf(file,";;; 'media\t'");
var=gh_symbol2scm("media-version");
if (symbol_boundp(var, NIL)) {
var=symbol_value(var,NIL);
- lprin1f(var,file);
+ lprin1CL(var,file);
} else {
- fprintf(file,"nil");
+ CLprintf(file,"nil");
}
}
- fprintf(file,"\n;;; 'preview\t\"%s.pam\"\n",filename);
- fprintf(file,";;; )\n");
+ CLprintf(file,"\n;;; 'preview\t\"%s.pam\"\n",filename);
+ CLprintf(file,";;; )\n");
// FIXME: probably not the right place for this
- fprintf(file,"(set-game-cycle! %lu)\n",GameCycle);
+ CLprintf(file,"(set-game-cycle! %lu)\n",GameCycle);
SaveCcl(file);
SaveIcons(file);
@@ -148,10 +149,9 @@
SaveTriggers(file);
SaveCampaign(file);
SaveObjectives(file);
-
// FIXME: find all state information which must be saved.
- fclose(file);
+ CLclose(file);
}
//@}
Index: stratagus/src/game/trigger.c
diff -u stratagus/src/game/trigger.c:1.41 stratagus/src/game/trigger.c:1.42
--- stratagus/src/game/trigger.c:1.41 Sat Aug 2 09:34:25 2003
+++ stratagus/src/game/trigger.c Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: trigger.c,v 1.41 2003/08/02 13:34:25 grumbel Exp $
+// $Id: trigger.c,v 1.42 2003/08/17 15:57:07 n0body Exp $
//@{
@@ -1100,7 +1100,7 @@
** @param exp Expression
** @param f File to print to
*/
-local void PrintTrigger(SCM exp, FILE *f)
+local void PrintTrigger(SCM exp, CLFile *f)
{
#ifdef USE_GUILE
#else
@@ -1113,20 +1113,20 @@
INTERRUPT_CHECK();
switch TYPE(exp) {
case tc_nil:
- fprintf(f,"()");
+ CLprintf(f,"()");
break;
case tc_cons:
- fprintf(f,"(");
+ CLprintf(f,"(");
PrintTrigger(car(exp),f);
for(tmp=cdr(exp);CONSP(tmp);tmp=cdr(tmp)) {
- fprintf(f," ");
+ CLprintf(f," ");
PrintTrigger(car(tmp),f);
}
if NNULLP(tmp) {
- fprintf(f," . ");
+ CLprintf(f," . ");
PrintTrigger(tmp,f);
}
- fprintf(f,")");
+ CLprintf(f,")");
break;
case tc_flonum:
n = (long) FLONM(exp);
@@ -1135,10 +1135,10 @@
} else {
sprintf(tkbuffer,"%g",FLONM(exp));
}
- fprintf(f,tkbuffer);
+ CLprintf(f,tkbuffer);
break;
case tc_symbol:
- fprintf(f,PNAME(exp));
+ CLprintf(f,PNAME(exp));
break;
case tc_subr_0:
case tc_subr_1:
@@ -1151,22 +1151,22 @@
case tc_fsubr:
case tc_msubr:
sprintf(tkbuffer,"#<%s ",subr_kind_str(TYPE(exp)));
- fprintf(f,tkbuffer);
- fprintf(f,(*exp).storage_as.subr.name);
- fprintf(f,">");
+ CLprintf(f,tkbuffer);
+ CLprintf(f,(*exp).storage_as.subr.name);
+ CLprintf(f,">");
break;
case tc_string:
- fprintf(f,"\"%s\"",(*exp).storage_as.string.data);
+ CLprintf(f,"\"%s\"",(*exp).storage_as.string.data);
break;
case tc_closure:
- fprintf(f,"(lambda ");
+ CLprintf(f,"(lambda ");
if CONSP((*exp).storage_as.closure.code) {
PrintTrigger(car((*exp).storage_as.closure.code),f);
- fprintf(f," ");
+ CLprintf(f," ");
PrintTrigger(cdr((*exp).storage_as.closure.code),f);
} else
PrintTrigger((*exp).storage_as.closure.code,f);
- fprintf(f,")");
+ CLprintf(f,")");
break;
default:
break;
@@ -1176,7 +1176,7 @@
(*p->prin1)(exp,f);
else {
sprintf(tkbuffer,"#<UNKNOWN %d %p>",TYPE(exp),exp);
- fprintf(f,tkbuffer);
+ CLprintf(f,tkbuffer);
}
#endif
}
@@ -1188,14 +1188,14 @@
**
** @param file Open file to print to
*/
-global void SaveTriggers(FILE* file)
+global void SaveTriggers(CLFile* file)
{
SCM list;
int i;
int trigger;
- fprintf(file,"\n;;; -----------------------------------------\n");
- fprintf(file,";;; MODULE: trigger $Id: trigger.c,v 1.41 2003/08/02
13:34:25 grumbel Exp $\n\n");
+ CLprintf(file,"\n;;; -----------------------------------------\n");
+ CLprintf(file,";;; MODULE: trigger $Id: trigger.c,v 1.42 2003/08/17
15:57:07 n0body Exp $\n\n");
i=0;
trigger=-1;
@@ -1204,21 +1204,21 @@
if( gh_eq_p(Trigger,list) ) {
trigger=i;
}
- fprintf(file,"(add-trigger '");
+ CLprintf(file,"(add-trigger '");
PrintTrigger(gh_car(gh_car(list)),file);
- fprintf(file," '");
+ CLprintf(file," '");
PrintTrigger(gh_cdr(gh_car(list)),file);
- fprintf(file,")\n");
+ CLprintf(file,")\n");
list=gh_cdr(list);
++i;
}
- fprintf(file,"(set-trigger-number! %d)\n",trigger);
+ CLprintf(file,"(set-trigger-number! %d)\n",trigger);
if( GameTimer.Init ) {
- fprintf(file,"(action-set-timer %ld %d)\n",
+ CLprintf(file,"(action-set-timer %ld %d)\n",
GameTimer.Cycles,GameTimer.Increasing);
if( GameTimer.Running ) {
- fprintf(file,"(action-start-timer)\n");
+ CLprintf(file,"(action-start-timer)\n");
}
}
}
Index: stratagus/src/include/ai.h
diff -u stratagus/src/include/ai.h:1.28 stratagus/src/include/ai.h:1.29
--- stratagus/src/include/ai.h:1.28 Fri Jul 11 10:35:30 2003
+++ stratagus/src/include/ai.h Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: ai.h,v 1.28 2003/07/11 14:35:30 n0body Exp $
+// $Id: ai.h,v 1.29 2003/08/17 15:57:07 n0body Exp $
#ifndef __AI_H__
#define __AI_H__
@@ -43,20 +43,20 @@
-- Variables
----------------------------------------------------------------------------*/
-extern int AiSleepCycles; /// Ai sleeps # cycles
-extern int AiTimeFactor; /// Adjust the AI build times
-extern int AiCostFactor; /// Adjust the AI costs
+extern int AiSleepCycles; /// Ai sleeps # cycles
+extern int AiTimeFactor; /// Adjust the AI build times
+extern int AiCostFactor; /// Adjust the AI costs
/*----------------------------------------------------------------------------
-- Functions
----------------------------------------------------------------------------*/
-extern void AiEachCycle(Player* player);/// Called each game cycle
-extern void AiEachSecond(Player* player);/// Called each second
+extern void AiEachCycle(Player* player); /// Called each game cycle
+extern void AiEachSecond(Player* player); /// Called each second
-extern void AiInit(Player* player); /// Init AI for this player
-extern void CleanAi(void); /// Cleanup the AI module
-extern void SaveAi(FILE* file); /// Save the AI state
+extern void AiInit(Player* player); /// Init AI for this player
+extern void CleanAi(void); /// Cleanup the AI module
+extern void SaveAi(CLFile*file); /// Save the AI state
extern void AiCclRegister(void); /// Register ccl features
Index: stratagus/src/include/campaign.h
diff -u stratagus/src/include/campaign.h:1.12
stratagus/src/include/campaign.h:1.13
--- stratagus/src/include/campaign.h:1.12 Fri Jul 11 10:35:30 2003
+++ stratagus/src/include/campaign.h Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: campaign.h,v 1.12 2003/07/11 14:35:30 n0body Exp $
+// $Id: campaign.h,v 1.13 2003/08/17 15:57:07 n0body Exp $
#ifndef __CAMPAIGN_H__
#define __CAMPAIGN_H__
@@ -37,6 +37,8 @@
-- Includes
----------------------------------------------------------------------------*/
+#include "iolib.h"
+
/*----------------------------------------------------------------------------
-- Declaration
----------------------------------------------------------------------------*/
@@ -157,7 +159,7 @@
extern char* NextChapter(void);
extern void CampaignCclRegister(void); /// Register ccl features
-extern void SaveCampaign(FILE*); /// Save the campaign module
+extern void SaveCampaign(CLFile*); /// Save the campaign module
extern void CleanCampaign(void); /// Cleanup the campaign module
//@}
Index: stratagus/src/include/ccl.h
diff -u stratagus/src/include/ccl.h:1.37 stratagus/src/include/ccl.h:1.38
--- stratagus/src/include/ccl.h:1.37 Sat Aug 2 09:34:25 2003
+++ stratagus/src/include/ccl.h Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: ccl.h,v 1.37 2003/08/02 13:34:25 grumbel Exp $
+// $Id: ccl.h,v 1.38 2003/08/17 15:57:07 n0body Exp $
#ifndef __CCL_H__
#define __CCL_H__
@@ -148,6 +148,8 @@
#endif // !USE_GUILE
+#include "iolib.h"
+
//extern SCM CclEachSecond; /// Scheme function called each second
/*----------------------------------------------------------------------------
@@ -171,7 +173,7 @@
extern void CclGcUnprotect(SCM obj); /// Unprotect scm object for GC
extern void InitCcl(void); /// Initialise ccl
extern void LoadCcl(void); /// Load ccl config file
-extern void SaveCcl(FILE* file); /// Save CCL module
+extern void SaveCcl(CLFile* file); /// Save CCL module
extern void SavePreferences(void); /// Save user preferences
extern void CclCommand(const char*); /// Execute a ccl command
extern void CclFree(void*); /// Save free
Index: stratagus/src/include/construct.h
diff -u stratagus/src/include/construct.h:1.21
stratagus/src/include/construct.h:1.22
--- stratagus/src/include/construct.h:1.21 Fri Jul 11 10:35:30 2003
+++ stratagus/src/include/construct.h Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: construct.h,v 1.21 2003/07/11 14:35:30 n0body Exp $
+// $Id: construct.h,v 1.22 2003/08/17 15:57:07 n0body Exp $
#ifndef __CONSTRUCT_H__
#define __CONSTRUCT_H__
@@ -169,7 +169,7 @@
/// Load the graphics for constructions
extern void LoadConstructions(void);
/// Save current construction state
-extern void SaveConstructions(FILE* file);
+extern void SaveConstructions(CLFile* file);
/// Clean up the constructions module
extern void CleanConstructions(void);
/// Get construction by wc number
Index: stratagus/src/include/cursor.h
diff -u stratagus/src/include/cursor.h:1.34 stratagus/src/include/cursor.h:1.35
--- stratagus/src/include/cursor.h:1.34 Wed Aug 13 10:55:45 2003
+++ stratagus/src/include/cursor.h Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: cursor.h,v 1.34 2003/08/13 14:55:45 martinxyz Exp $
+// $Id: cursor.h,v 1.35 2003/08/17 15:57:07 n0body Exp $
#ifndef __CURSOR_H__
#define __CURSOR_H__
@@ -227,7 +227,7 @@
/// Initialize the cursor module
extern void InitVideoCursors(void);
/// Save the cursor definitions
-extern void SaveCursors(FILE*);
+extern void SaveCursors(CLFile*);
/// Cleanup the cursor module
extern void CleanCursors(void);
/// Destroy image behind cursor.
Index: stratagus/src/include/depend.h
diff -u stratagus/src/include/depend.h:1.16 stratagus/src/include/depend.h:1.17
--- stratagus/src/include/depend.h:1.16 Sat Aug 9 16:08:38 2003
+++ stratagus/src/include/depend.h Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: depend.h,v 1.16 2003/08/09 20:08:38 martinxyz Exp $
+// $Id: depend.h,v 1.17 2003/08/17 15:57:07 n0body Exp $
#ifndef __DEPEND_H__
#define __DEPEND_H__
@@ -138,7 +138,7 @@
/// Load the dependencies
extern void LoadDependencies(FILE* file);
/// Save the dependencies
-extern void SaveDependencies(FILE* file);
+extern void SaveDependencies(CLFile* file);
/// Cleanup dependencies module
extern void CleanDependencies();
Index: stratagus/src/include/icons.h
diff -u stratagus/src/include/icons.h:1.37 stratagus/src/include/icons.h:1.38
--- stratagus/src/include/icons.h:1.37 Sat Aug 9 16:08:38 2003
+++ stratagus/src/include/icons.h Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: icons.h,v 1.37 2003/08/09 20:08:38 martinxyz Exp $
+// $Id: icons.h,v 1.38 2003/08/17 15:57:07 n0body Exp $
#ifndef __ICONS_H__
#define __ICONS_H__
@@ -132,6 +132,7 @@
----------------------------------------------------------------------------*/
#include "video.h"
+#include "iolib.h"
/*----------------------------------------------------------------------------
-- Defines
@@ -219,7 +220,7 @@
/// Draw icon of an unit
extern void DrawUnitIcon(const Player*,Icon*,unsigned,int,int);
-extern void SaveIcons(FILE*); /// Save icons
+extern void SaveIcons(CLFile*); /// Save icons
extern void IconCclRegister(void); /// Register CCL features
//@}
Index: stratagus/src/include/interface.h
diff -u stratagus/src/include/interface.h:1.80
stratagus/src/include/interface.h:1.81
--- stratagus/src/include/interface.h:1.80 Fri Aug 8 06:16:44 2003
+++ stratagus/src/include/interface.h Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: interface.h,v 1.80 2003/08/08 10:16:44 martinxyz Exp $
+// $Id: interface.h,v 1.81 2003/08/17 15:57:07 n0body Exp $
#ifndef __INTERFACE_H__
#define __INTERFACE_H__
@@ -322,7 +322,7 @@
#endif
/// Save all buttons
-extern void SaveButtons(FILE* file);
+extern void SaveButtons(CLFile* file);
//
// in mouse.c
Index: stratagus/src/include/iolib.h
diff -u stratagus/src/include/iolib.h:1.17 stratagus/src/include/iolib.h:1.18
--- stratagus/src/include/iolib.h:1.17 Fri Jul 11 10:35:30 2003
+++ stratagus/src/include/iolib.h Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: iolib.h,v 1.17 2003/07/11 14:35:30 n0body Exp $
+// $Id: iolib.h,v 1.18 2003/08/17 15:57:07 n0body Exp $
#ifndef __IOLIB_H__
#define __IOLIB_H__
@@ -106,18 +106,25 @@
CLF_TYPE_ZZIP, /// zzip file handle
};
+#define CL_OPEN_READ 0x1
+#define CL_OPEN_WRITE 0x2
+#define CL_WRITE_GZ 0x4
+#define CL_WRITE_BZ2 0x8
+
/*----------------------------------------------------------------------------
-- Functions
----------------------------------------------------------------------------*/
/// Library file open
-extern CLFile *CLopen(const char *fn);
+extern CLFile *CLopen(const char *fn,long flags);
/// Library file close
extern int CLclose(CLFile *file);
/// Library file read
extern int CLread(CLFile *file, void *buf, size_t len);
/// Library file seek
extern int CLseek(CLFile *file, long offset, int whence);
+ /// Library file write
+extern int CLprintf(CLFile *file, char *format, ...);
#endif // USE_ZLIB || USE_BZ2LIB || USE_ZZIPLIB
Index: stratagus/src/include/map.h
diff -u stratagus/src/include/map.h:1.96 stratagus/src/include/map.h:1.97
--- stratagus/src/include/map.h:1.96 Fri Jul 11 10:35:30 2003
+++ stratagus/src/include/map.h Sun Aug 17 11:57:07 2003
@@ -27,7 +27,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: map.h,v 1.96 2003/07/11 14:35:30 n0body Exp $
+// $Id: map.h,v 1.97 2003/08/17 15:57:07 n0body Exp $
#ifndef __MAP_H__
#define __MAP_H__
@@ -474,7 +474,7 @@
/// Load a map
//extern void LoadMap(const char* file,WorldMap* map);
/// Save the map
-extern void SaveMap(FILE* file);
+extern void SaveMap(CLFile* file);
/// Clean the map
extern void CleanMap(void);
Index: stratagus/src/include/missile.h
diff -u stratagus/src/include/missile.h:1.61
stratagus/src/include/missile.h:1.62
--- stratagus/src/include/missile.h:1.61 Sat Aug 9 16:08:38 2003
+++ stratagus/src/include/missile.h Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: missile.h,v 1.61 2003/08/09 20:08:38 martinxyz Exp $
+// $Id: missile.h,v 1.62 2003/08/17 15:57:07 n0body Exp $
#ifndef __MISSILE_H__
#define __MISSILE_H__
@@ -530,9 +530,9 @@
extern int ViewPointDistanceToMissile(const Missile*);
/// Save missile-types
-extern void SaveMissileTypes(FILE*);
+extern void SaveMissileTypes(CLFile *);
/// Save missiles
-extern void SaveMissiles(FILE*);
+extern void SaveMissiles(CLFile*);
/// Initialize missile-types
extern void InitMissileTypes(void);
Index: stratagus/src/include/player.h
diff -u stratagus/src/include/player.h:1.71 stratagus/src/include/player.h:1.72
--- stratagus/src/include/player.h:1.71 Fri Jul 11 10:35:30 2003
+++ stratagus/src/include/player.h Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: player.h,v 1.71 2003/07/11 14:35:30 n0body Exp $
+// $Id: player.h,v 1.72 2003/08/17 15:57:07 n0body Exp $
#ifndef __PLAYER_H__
#define __PLAYER_H__
@@ -479,7 +479,7 @@
/// Clean up players
extern void CleanPlayers(void);
/// Save players
-extern void SavePlayers(FILE*);
+extern void SavePlayers(CLFile*);
/// Create a new player
extern void CreatePlayer(int type);
Index: stratagus/src/include/settings.h
diff -u stratagus/src/include/settings.h:1.26
stratagus/src/include/settings.h:1.27
--- stratagus/src/include/settings.h:1.26 Fri Jul 11 10:35:30 2003
+++ stratagus/src/include/settings.h Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: settings.h,v 1.26 2003/07/11 14:35:30 n0body Exp $
+// $Id: settings.h,v 1.27 2003/08/17 15:57:07 n0body Exp $
#ifndef __SETTINGS_H__
#define __SETTINGS_H__
@@ -172,7 +172,7 @@
/// Register CCL functions for objectives
extern void ObjectivesCclRegister(void);
/// Save the objectives
-extern void SaveObjectives(FILE *file);
+extern void SaveObjectives(CLFile *file);
/// Create a game
extern void CreateGame(char* filename,WorldMap* map);
/// Init Setting to default values
Index: stratagus/src/include/siod.h
diff -u stratagus/src/include/siod.h:1.7 stratagus/src/include/siod.h:1.8
--- stratagus/src/include/siod.h:1.7 Wed Jun 20 20:02:39 2001
+++ stratagus/src/include/siod.h Sun Aug 17 11:57:07 2003
@@ -4,13 +4,15 @@
* PARADIGM ASSOCIATES INCORPORATED, CAMBRIDGE, MASSACHUSETTS. *
* See the source file SLIB.C for more information. *
- $Id: siod.h,v 1.7 2001/06/21 00:02:39 johns Exp $
+ $Id: siod.h,v 1.8 2003/08/17 15:57:07 n0body Exp $
*/
#ifndef __SIOD_H__
#define __SIOD_H__
+#include "iolib.h"
+
struct obj
{short gc_mark;
short type;
@@ -239,6 +241,7 @@
void set_print_hooks(long type,void (*fcn)(LISP, struct gen_printio *));
LISP lprin1g(LISP exp,struct gen_printio *f);
LISP lprin1f(LISP exp,FILE *f);
+LISP lprin1CL(LISP exp,CLFile *f);
LISP lprint(LISP exp,LISP);
LISP lread(LISP);
LISP lreadtk(char *,long j);
Index: stratagus/src/include/tileset.h
diff -u stratagus/src/include/tileset.h:1.44
stratagus/src/include/tileset.h:1.45
--- stratagus/src/include/tileset.h:1.44 Sat Aug 9 16:08:38 2003
+++ stratagus/src/include/tileset.h Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: tileset.h,v 1.44 2003/08/09 20:08:38 martinxyz Exp $
+// $Id: tileset.h,v 1.45 2003/08/17 15:57:07 n0body Exp $
#ifndef __TILESET_H__
#define __TILESET_H__
@@ -38,6 +38,7 @@
----------------------------------------------------------------------------*/
#include "etlib/hash.h"
+#include "iolib.h"
/*----------------------------------------------------------------------------
-- Documentation
@@ -334,7 +335,7 @@
----------------------------------------------------------------------------*/
extern void LoadTileset(void); /// Load tileset definition
-extern void SaveTilesets(FILE*); /// Save the tileset configuration
+extern void SaveTilesets(CLFile*file); /// Save the tileset configuration
extern void CleanTilesets(void); /// Cleanup the tileset module
extern void TilesetCclRegister(void); /// Register CCL features for tileset
Index: stratagus/src/include/trigger.h
diff -u stratagus/src/include/trigger.h:1.13
stratagus/src/include/trigger.h:1.14
--- stratagus/src/include/trigger.h:1.13 Fri Jul 11 10:35:30 2003
+++ stratagus/src/include/trigger.h Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: trigger.h,v 1.13 2003/07/11 14:35:30 n0body Exp $
+// $Id: trigger.h,v 1.14 2003/08/17 15:57:07 n0body Exp $
#ifndef __TRIGGER_H__
#define __TRIGGER_H__
@@ -74,7 +74,7 @@
extern void TriggersEachCycle(void); /// test triggers
extern void TriggerCclRegister(void); /// Register ccl features
-extern void SaveTriggers(FILE*); /// Save the trigger module
+extern void SaveTriggers(CLFile*); /// Save the trigger module
extern void InitTriggers(void); /// Setup triggers
extern void CleanTriggers(void); /// Cleanup the trigger module
Index: stratagus/src/include/ui.h
diff -u stratagus/src/include/ui.h:1.64 stratagus/src/include/ui.h:1.65
--- stratagus/src/include/ui.h:1.64 Wed Aug 13 10:55:45 2003
+++ stratagus/src/include/ui.h Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: ui.h,v 1.64 2003/08/13 14:55:45 martinxyz Exp $
+// $Id: ui.h,v 1.65 2003/08/17 15:57:07 n0body Exp $
#ifndef __UI_H__
#define __UI_H__
@@ -335,7 +335,7 @@
extern void InitUserInterface(const char*); /// initialize the ui
extern void LoadUserInterface(void); /// load ui graphics
-extern void SaveUserInterface(FILE*); /// save the ui state
+extern void SaveUserInterface(CLFile*); /// save the ui state
extern void CleanUI(UI*); /// clean up a ui
extern void CleanUserInterface(void); /// clean up the ui module
extern void UserInterfaceCclRegister(void); /// register ccl features
Index: stratagus/src/include/unit.h
diff -u stratagus/src/include/unit.h:1.205 stratagus/src/include/unit.h:1.206
--- stratagus/src/include/unit.h:1.205 Sat Aug 16 20:26:31 2003
+++ stratagus/src/include/unit.h Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: unit.h,v 1.205 2003/08/17 00:26:31 n0body Exp $
+// $Id: unit.h,v 1.206 2003/08/17 15:57:07 n0body Exp $
#ifndef __UNIT_H__
#define __UNIT_H__
@@ -863,9 +863,9 @@
/// Generate a unit reference, a printable unique string for unit
extern char* UnitReference(const Unit*);
/// save unit-structure
-extern void SaveUnit(const Unit* unit,FILE* file);
+extern void SaveUnit(const Unit* unit,CLFile* file);
/// save all units
-extern void SaveUnits(FILE* file);
+extern void SaveUnits(CLFile* file);
/// Initialize unit module
extern void InitUnits(void);
@@ -932,7 +932,7 @@
/// Load the decorations (health,mana) of units
extern void LoadDecorations(void);
/// Save the decorations (health,mana) of units
-extern void SaveDecorations(FILE* file);
+extern void SaveDecorations(CLFile* file);
/// Clean the decorations (health,mana) of units
extern void CleanDecorations(void);
@@ -979,7 +979,7 @@
/// Initialize data structures for groups
extern void InitGroups(void);
/// Save groups
-extern void SaveGroups(FILE* file);
+extern void SaveGroups(CLFile* file);
/// Cleanup groups
extern void CleanGroups(void);
@@ -1043,7 +1043,7 @@
/// Init selections
extern void InitSelections(void);
/// Save current selection state
-extern void SaveSelections(FILE* file);
+extern void SaveSelections(CLFile* file);
/// Clean up selections
extern void CleanSelections(void);
/// Register CCL selection features
Index: stratagus/src/include/unittype.h
diff -u stratagus/src/include/unittype.h:1.95
stratagus/src/include/unittype.h:1.96
--- stratagus/src/include/unittype.h:1.95 Sun Aug 10 22:14:46 2003
+++ stratagus/src/include/unittype.h Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: unittype.h,v 1.95 2003/08/11 02:14:46 n0body Exp $
+// $Id: unittype.h,v 1.96 2003/08/17 15:57:07 n0body Exp $
#ifndef __UNITTYPE_H__
#define __UNITTYPE_H__
@@ -658,30 +658,30 @@
extern UnitType*UnitTypeCritter; /// Critter unit-type pointer
extern UnitType*UnitTypeBerserker; /// Berserker for berserker
regeneration
-extern char** UnitTypeWcNames; /// Mapping wc-number 2 symbol
+extern char** UnitTypeWcNames; /// Mapping wc-number 2 symbol
/*----------------------------------------------------------------------------
-- Functions
----------------------------------------------------------------------------*/
-extern void UnitTypeCclRegister(void); /// Register ccl features
+extern void UnitTypeCclRegister(void); /// Register ccl features
extern void UpdateStats(int reset_to_default); /// Update unit stats
-extern void ParsePudUDTA(const char*,int); /// Parse pud udta table
-extern UnitType* UnitTypeByIdent(const char*); /// Get unit-type by ident
-extern UnitType* UnitTypeByWcNum(unsigned); /// Get unit-type by wc number
+extern void ParsePudUDTA(const char*,int); /// Parse pud udta table
+extern UnitType* UnitTypeByIdent(const char*); /// Get unit-type by
ident
+extern UnitType* UnitTypeByWcNum(unsigned); /// Get unit-type by wc
number
/// Get the animations structure by ident
extern Animations* AnimationsByIdent(const char* ident);
-extern void SaveUnitTypes(FILE* file); /// Save the unit-type table
-extern UnitType* NewUnitTypeSlot(char*);/// Allocate an empty unit-type slot
+extern void SaveUnitTypes(CLFile* file); /// Save the unit-type
table
+extern UnitType* NewUnitTypeSlot(char*); /// Allocate an empty
unit-type slot
/// Draw the sprite frame of unit-type
extern void DrawUnitType(const UnitType* type,int frame,int x,int y);
extern void InitUnitTypes(int reset_player_stats); /// Init unit-type table
-extern void LoadUnitTypes(void); /// Load the unit-type data
-extern void CleanUnitTypes(void); /// Cleanup unit-type module
+extern void LoadUnitTypes(void); /// Load the unit-type
data
+extern void CleanUnitTypes(void); /// Cleanup unit-type
module
//@}
Index: stratagus/src/include/upgrade.h
diff -u stratagus/src/include/upgrade.h:1.28
stratagus/src/include/upgrade.h:1.29
--- stratagus/src/include/upgrade.h:1.28 Fri Jul 11 10:35:30 2003
+++ stratagus/src/include/upgrade.h Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: upgrade.h,v 1.28 2003/07/11 14:35:30 n0body Exp $
+// $Id: upgrade.h,v 1.29 2003/08/17 15:57:07 n0body Exp $
#ifndef __UPGRADE_H__
#define __UPGRADE_H__
@@ -57,7 +57,7 @@
/// init upgrade/allow structures
extern void InitUpgrades(void);
/// save the upgrades
-extern void SaveUpgrades(FILE*);
+extern void SaveUpgrades(CLFile*);
/// cleanup upgrade module
extern void CleanUpgrades();
Index: stratagus/src/map/map_save.c
diff -u stratagus/src/map/map_save.c:1.18 stratagus/src/map/map_save.c:1.19
--- stratagus/src/map/map_save.c:1.18 Fri Jul 11 10:35:32 2003
+++ stratagus/src/map/map_save.c Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: map_save.c,v 1.18 2003/07/11 14:35:32 n0body Exp $
+// $Id: map_save.c,v 1.19 2003/08/17 15:57:07 n0body Exp $
//@{
@@ -61,98 +61,98 @@
**
** @param file Output file.
*/
-global void SaveMap(FILE* file)
+global void SaveMap(CLFile* file)
{
int w;
int h;
int i;
- fprintf(file,"\n;;; -----------------------------------------\n");
- fprintf(file,";;; MODULE: map $Id: map_save.c,v 1.18 2003/07/11 14:35:32
n0body Exp $\n");
+ CLprintf(file,"\n;;; -----------------------------------------\n");
+ CLprintf(file,";;; MODULE: map $Id: map_save.c,v 1.19 2003/08/17 15:57:07
n0body Exp $\n");
- fprintf(file,"(stratagus-map\n");
+ CLprintf(file,"(stratagus-map\n");
- fprintf(file," 'version \"" StratagusFormatString "\"\n",
+ CLprintf(file," 'version \"" StratagusFormatString "\"\n",
StratagusFormatArgs(StratagusVersion));
- fprintf(file," 'description \"%s\"\n",TheMap.Description);
+ CLprintf(file," 'description \"%s\"\n",TheMap.Description);
- fprintf(file," 'the-map '(\n");
+ CLprintf(file," 'the-map '(\n");
// FIXME: Why terrain? TheMap->Tileset->Class should be correct
- fprintf(file," terrain (%s \"%s\")\n"
+ CLprintf(file," terrain (%s \"%s\")\n"
,TheMap.TerrainName,Tilesets[TheMap.Terrain]->Class);
- fprintf(file," size (%d %d)\n",TheMap.Width,TheMap.Height);
- fprintf(file," %s\n",TheMap.NoFogOfWar ? "no-fog-of-war" : "fog-of-war");
+ CLprintf(file," size (%d %d)\n",TheMap.Width,TheMap.Height);
+ CLprintf(file," %s\n",TheMap.NoFogOfWar ? "no-fog-of-war" : "fog-of-war");
- fprintf(file," map-fields (\n");
+ CLprintf(file," map-fields (\n");
for( h=0; h<TheMap.Height; ++h ) {
- fprintf(file," ; %d\n",h);
+ CLprintf(file," ; %d\n",h);
for( w=0; w<TheMap.Width; ++w ) {
MapField* mf;
mf=&TheMap.Fields[h*TheMap.Width+w];
- fprintf(file," (%3d %3d",mf->Tile,mf->SeenTile);
+ CLprintf(file," (%3d %3d",mf->Tile,mf->SeenTile);
if( mf->Value ) {
- fprintf(file," %d",mf->Value);
+ CLprintf(file," %d",mf->Value);
}
for( i=0; i < PlayerMax; ++i ) {
if( mf->Visible[i] == 1) {
- fprintf(file," explored %d",i);
+ CLprintf(file," explored %d",i);
}
}
if( mf->Flags&MapFieldHuman ) {
- fprintf(file," human");
+ CLprintf(file," human");
}
if( mf->Flags&MapFieldLandAllowed ) {
- fprintf(file," land");
+ CLprintf(file," land");
}
if( mf->Flags&MapFieldCoastAllowed ) {
- fprintf(file," coast");
+ CLprintf(file," coast");
}
if( mf->Flags&MapFieldWaterAllowed ) {
- fprintf(file," water");
+ CLprintf(file," water");
}
if( mf->Flags&MapFieldNoBuilding ) {
- fprintf(file," mud");
+ CLprintf(file," mud");
}
if( mf->Flags&MapFieldUnpassable ) {
- fprintf(file," block");
+ CLprintf(file," block");
}
if( mf->Flags&MapFieldWall ) {
- fprintf(file," wall");
+ CLprintf(file," wall");
}
if( mf->Flags&MapFieldRocks ) {
- fprintf(file," rock");
+ CLprintf(file," rock");
}
if( mf->Flags&MapFieldForest ) {
- fprintf(file," wood");
+ CLprintf(file," wood");
}
#if 1
// Not Required for save
// These are required for now, UnitType::FieldFlags is 0 until
// UpdateStats is called which is after the game is loaded
if( mf->Flags&MapFieldLandUnit ) {
- fprintf(file," ground");
+ CLprintf(file," ground");
}
if( mf->Flags&MapFieldAirUnit ) {
- fprintf(file," air");
+ CLprintf(file," air");
}
if( mf->Flags&MapFieldSeaUnit ) {
- fprintf(file," sea");
+ CLprintf(file," sea");
}
if( mf->Flags&MapFieldBuilding ) {
- fprintf(file," building");
+ CLprintf(file," building");
}
#endif
if( w&1 ) {
- fprintf(file,")\n");
+ CLprintf(file,")\n");
} else {
- fprintf(file,")\t");
+ CLprintf(file,")\t");
}
}
}
- fprintf(file,")))\n");
+ CLprintf(file,")))\n");
}
//@}
Index: stratagus/src/map/tileset.c
diff -u stratagus/src/map/tileset.c:1.49 stratagus/src/map/tileset.c:1.50
--- stratagus/src/map/tileset.c:1.49 Sat Aug 9 16:08:38 2003
+++ stratagus/src/map/tileset.c Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: tileset.c,v 1.49 2003/08/09 20:08:38 martinxyz Exp $
+// $Id: tileset.c,v 1.50 2003/08/17 15:57:07 n0body Exp $
//@{
@@ -524,46 +524,46 @@
** @param file File handle for the saved flags.
** @param flags Bit field of the flags.
*/
-local void SaveTilesetFlags(FILE* file, unsigned flags)
+local void SaveTilesetFlags(CLFile* file, unsigned flags)
{
if (flags & MapFieldWaterAllowed) {
- fprintf(file, " 'water");
+ CLprintf(file, " 'water");
}
if (flags & MapFieldLandAllowed) {
- fprintf(file, " 'land");
+ CLprintf(file, " 'land");
}
if (flags & MapFieldCoastAllowed) {
- fprintf(file, " 'coast");
+ CLprintf(file, " 'coast");
}
if (flags & MapFieldNoBuilding) {
- fprintf(file, " 'no-building");
+ CLprintf(file, " 'no-building");
}
if (flags & MapFieldUnpassable) {
- fprintf(file, " 'unpassable");
+ CLprintf(file, " 'unpassable");
}
if (flags & MapFieldWall) {
- fprintf(file, " 'wall");
+ CLprintf(file, " 'wall");
}
if (flags & MapFieldRocks) {
- fprintf(file, " 'rock");
+ CLprintf(file, " 'rock");
}
if (flags & MapFieldForest) {
- fprintf(file, " 'forest");
+ CLprintf(file, " 'forest");
}
if (flags & MapFieldLandUnit) {
- fprintf(file, " 'land-unit");
+ CLprintf(file, " 'land-unit");
}
if (flags & MapFieldAirUnit) {
- fprintf(file, " 'air-unit");
+ CLprintf(file, " 'air-unit");
}
if (flags & MapFieldSeaUnit) {
- fprintf(file, " 'sea-unit");
+ CLprintf(file, " 'sea-unit");
}
if (flags & MapFieldBuilding) {
- fprintf(file, " 'building");
+ CLprintf(file, " 'building");
}
if (flags & MapFieldHuman) {
- fprintf(file, " 'human");
+ CLprintf(file, " 'human");
}
}
@@ -576,28 +576,28 @@
** @param flags Tile attributes.
** @param start Start index into table.
*/
-local void SaveTilesetSolid(FILE* file, const unsigned short* table,
+local void SaveTilesetSolid(CLFile* file, const unsigned short* table,
const char* name, unsigned flags, int start)
{
int i;
int j;
int n;
- fprintf(file, " 'solid (list \"%s\"", name);
+ CLprintf(file, " 'solid (list \"%s\"", name);
SaveTilesetFlags(file, flags);
// Remove empty tiles at end of block
for (n = 15; n >= 0 && !table[start + n]; n--) {
}
- i = fprintf(file, "\n #(");
+ i = CLprintf(file, "\n #(");
for (j = 0; j <= n; ++j) {
- i += fprintf(file, " %3d", table[start + j]);
+ i += CLprintf(file, " %3d", table[start + j]);
}
- i += fprintf(file, "))");
+ i += CLprintf(file, "))");
while ((i += 8) < 80) {
- fprintf(file, "\t");
+ CLprintf(file, "\t");
}
- fprintf(file, "; %03X\n", start);
+ CLprintf(file, "; %03X\n", start);
}
/**
@@ -611,7 +611,7 @@
** @param start Start index into table.
** @param end End of tiles.
*/
-local void SaveTilesetMixed(FILE* file, const unsigned short* table,
+local void SaveTilesetMixed(CLFile* file, const unsigned short* table,
const char* name1, const char* name2, unsigned flags, int start, int end)
{
int x;
@@ -619,31 +619,31 @@
int j;
int n;
- fprintf(file, " 'mixed (list \"%s\" \"%s\"", name1, name2);
+ CLprintf(file, " 'mixed (list \"%s\" \"%s\"", name1, name2);
SaveTilesetFlags(file, flags);
- fprintf(file,"\n");
+ CLprintf(file,"\n");
for (x = 0; x < 0x100; x += 0x10) {
if (start + x >= end) { // Check end must be 0x10 aligned
break;
}
- fprintf(file, " #(");
+ CLprintf(file, " #(");
// Remove empty slots at end of table
for (n = 15; n >= 0 && !table[start + x + n]; n--) {
}
i = 6;
for (j = 0; j <= n; ++j) {
- i += fprintf(file, " %3d", table[start + x + j]);
+ i += CLprintf(file, " %3d", table[start + x + j]);
}
if (x == 0xF0 ) {
- i += fprintf(file, "))");
+ i += CLprintf(file, "))");
} else {
- i += fprintf(file, ")");
+ i += CLprintf(file, ")");
}
while ((i += 8) < 80) {
- fprintf(file, "\t");
+ CLprintf(file, "\t");
}
- fprintf(file, "; %03X\n", start + x);
+ CLprintf(file, "; %03X\n", start + x);
}
}
@@ -653,36 +653,36 @@
** @param file Output file.
** @param tileset Save the content of this tileset.
*/
-local void SaveTileset(FILE* file, const Tileset* tileset)
+local void SaveTileset(CLFile*file, const Tileset* tileset)
{
const unsigned short* table;
int i;
int n;
- fprintf(file, "\n(define-tileset\n '%s 'class '%s", tileset->Ident,
+ CLprintf(file, "\n(define-tileset\n '%s 'class '%s", tileset->Ident,
tileset->Class);
- fprintf(file, "\n 'name \"%s\"", tileset->Name);
- fprintf(file, "\n 'image \"%s\"", tileset->ImageFile);
- fprintf(file, "\n 'palette \"%s\"", tileset->PaletteFile);
- fprintf(file, "\n ;; Slots descriptions");
- fprintf(file,
+ CLprintf(file, "\n 'name \"%s\"", tileset->Name);
+ CLprintf(file, "\n 'image \"%s\"", tileset->ImageFile);
+ CLprintf(file, "\n 'palette \"%s\"", tileset->PaletteFile);
+ CLprintf(file, "\n ;; Slots descriptions");
+ CLprintf(file,
"\n 'slots (list\n 'special (list\t\t;; Can't be in pud\n");
- fprintf(file, " 'extra-trees #( %d %d %d %d %d %d )\n",
+ CLprintf(file, " 'extra-trees #( %d %d %d %d %d %d )\n",
tileset->ExtraTrees[0], tileset->ExtraTrees[1]
, tileset->ExtraTrees[2], tileset->ExtraTrees[3]
, tileset->ExtraTrees[4], tileset->ExtraTrees[5]);
- fprintf(file, " 'top-one-tree %d 'mid-one-tree %d 'bot-one-tree %d\n",
+ CLprintf(file, " 'top-one-tree %d 'mid-one-tree %d 'bot-one-tree %d\n",
tileset->TopOneTree, tileset->MidOneTree, tileset->BotOneTree);
- fprintf(file, " 'removed-tree %d\n", tileset->RemovedTree);
- fprintf(file, " 'growing-tree #( %d %d )\n", tileset->GrowingTree[0],
+ CLprintf(file, " 'removed-tree %d\n", tileset->RemovedTree);
+ CLprintf(file, " 'growing-tree #( %d %d )\n", tileset->GrowingTree[0],
tileset->GrowingTree[1]);
- fprintf(file, " 'extra-rocks #( %d %d %d %d %d %d )\n",
+ CLprintf(file, " 'extra-rocks #( %d %d %d %d %d %d )\n",
tileset->ExtraRocks[0], tileset->ExtraRocks[1]
, tileset->ExtraRocks[2], tileset->ExtraRocks[3]
, tileset->ExtraRocks[4], tileset->ExtraRocks[5]);
- fprintf(file, " 'top-one-rock %d 'mid-one-rock %d 'bot-one-rock %d\n",
+ CLprintf(file, " 'top-one-rock %d 'mid-one-rock %d 'bot-one-rock %d\n",
tileset->TopOneRock, tileset->MidOneRock, tileset->BotOneRock);
- fprintf(file, " 'removed-rock %d )\n", tileset->RemovedRock);
+ CLprintf(file, " 'removed-rock %d )\n", tileset->RemovedRock);
table = tileset->Table;
n = tileset->NumTiles;
@@ -707,10 +707,10 @@
i += 16;
}
}
- fprintf(file, " )\n");
- fprintf(file, " ;; Animated tiles\n");
- fprintf(file, " 'animations (list #( ) )\n");
- fprintf(file, " 'objects (list #( ) ))\n");
+ CLprintf(file, " )\n");
+ CLprintf(file, " ;; Animated tiles\n");
+ CLprintf(file, " 'animations (list #( ) )\n");
+ CLprintf(file, " 'objects (list #( ) ))\n");
}
/**
@@ -718,25 +718,25 @@
**
** @param file Output file.
*/
-global void SaveTilesets(FILE* file)
+global void SaveTilesets(CLFile* file)
{
int i;
char** sp;
- fprintf(file, "\n;;; -----------------------------------------\n");
- fprintf(file,
- ";;; MODULE: tileset $Id: tileset.c,v 1.49 2003/08/09 20:08:38
martinxyz Exp $\n\n");
+ CLprintf(file, "\n;;; -----------------------------------------\n");
+ CLprintf(file,
+ ";;; MODULE: tileset $Id: tileset.c,v 1.50 2003/08/17 15:57:07 n0body
Exp $\n\n");
// Original number to internal tileset name
- i = fprintf(file, "(define-tileset-wc-names");
+ i = CLprintf(file, "(define-tileset-wc-names");
for (sp = TilesetWcNames; *sp; ++sp) {
if (i + strlen(*sp) > 79) {
- i = fprintf(file, "\n ");
+ i = CLprintf(file, "\n ");
}
- i += fprintf(file, " '%s", *sp);
+ i += CLprintf(file, " '%s", *sp);
}
- fprintf(file, ")\n");
+ CLprintf(file, ")\n");
// Save all loaded tilesets
Index: stratagus/src/missile/missile.c
diff -u stratagus/src/missile/missile.c:1.75
stratagus/src/missile/missile.c:1.76
--- stratagus/src/missile/missile.c:1.75 Sat Aug 9 16:08:38 2003
+++ stratagus/src/missile/missile.c Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: missile.c,v 1.75 2003/08/09 20:08:38 martinxyz Exp $
+// $Id: missile.c,v 1.76 2003/08/17 15:57:07 n0body Exp $
//@{
@@ -1517,96 +1517,96 @@
**
** @todo FIXME: CanHitOwner and FriendlyFire not supported!
*/
-global void SaveMissileTypes(FILE* file)
+global void SaveMissileTypes(CLFile * file)
{
MissileType* mtype;
char** sp;
int i;
- fprintf(file,"\n;;; -----------------------------------------\n");
- fprintf(file,";;; MODULE: missile-types $Id: missile.c,v 1.75 2003/08/09
20:08:38 martinxyz Exp $\n\n");
+ CLprintf(file,"\n;;; -----------------------------------------\n");
+ CLprintf(file,";;; MODULE: missile-types $Id: missile.c,v 1.76 2003/08/17
15:57:07 n0body Exp $\n\n");
//
// Original number to internal missile-type name.
//
- i=fprintf(file,"(define-missiletype-wc-names");
+ i=CLprintf(file,"(define-missiletype-wc-names");
for( sp=MissileTypeWcNames; *sp; ++sp ) {
if( i+strlen(*sp)>79 ) {
- i=fprintf(file,"\n ");
+ i=CLprintf(file,"\n ");
}
- i+=fprintf(file," '%s",*sp);
+ i+=CLprintf(file," '%s",*sp);
}
- fprintf(file,")\n\n");
+ CLprintf(file,")\n\n");
//
// Missile types
//
for( mtype=MissileTypes; mtype<&MissileTypes[NumMissileTypes]; ++mtype ) {
- fprintf(file,"(define-missile-type '%s\n ",mtype->Ident);
+ CLprintf(file,"(define-missile-type '%s\n ",mtype->Ident);
if( mtype->File ) {
- fprintf(file," 'file \"%s\"",mtype->File);
+ CLprintf(file," 'file \"%s\"",mtype->File);
}
- fprintf(file," 'size '(%d %d)",mtype->Width,mtype->Height);
+ CLprintf(file," 'size '(%d %d)",mtype->Width,mtype->Height);
if( mtype->Sprite ) {
- fprintf(file," 'frames %d",mtype->SpriteFrames);
+ CLprintf(file," 'frames %d",mtype->SpriteFrames);
}
- fprintf(file,"\n 'num-directions %d",mtype->NumDirections);
- fprintf(file,"\n ");
+ CLprintf(file,"\n 'num-directions %d",mtype->NumDirections);
+ CLprintf(file,"\n ");
if( mtype->FiredSound.Name ) {
- fprintf(file," 'fired-sound \"%s\"",mtype->FiredSound.Name);
+ CLprintf(file," 'fired-sound \"%s\"",mtype->FiredSound.Name);
}
if( mtype->ImpactSound.Name ) {
- fprintf(file," 'impact-sound \"%s\"",mtype->ImpactSound.Name);
+ CLprintf(file," 'impact-sound \"%s\"",mtype->ImpactSound.Name);
}
if( mtype->FiredSound.Name || mtype->ImpactSound.Name ) {
- fprintf(file,"\n ");
+ CLprintf(file,"\n ");
}
- fprintf(file," 'class '%s",MissileClassNames[mtype->Class]);
- fprintf(file," 'draw-level %d ",mtype->DrawLevel);
+ CLprintf(file," 'class '%s",MissileClassNames[mtype->Class]);
+ CLprintf(file," 'draw-level %d ",mtype->DrawLevel);
if( mtype->StartDelay ) {
- fprintf(file," 'delay %d",mtype->StartDelay);
+ CLprintf(file," 'delay %d",mtype->StartDelay);
}
- fprintf(file," 'sleep %d",mtype->Sleep);
- fprintf(file," 'speed %d",mtype->Speed);
- fprintf(file," 'range %d",mtype->Range);
+ CLprintf(file," 'sleep %d",mtype->Sleep);
+ CLprintf(file," 'speed %d",mtype->Speed);
+ CLprintf(file," 'range %d",mtype->Range);
if( mtype->ImpactMissile ) {
- fprintf(file,"\n 'impact-missile '%s",mtype->ImpactMissile->Ident);
+ CLprintf(file,"\n 'impact-missile
'%s",mtype->ImpactMissile->Ident);
}
- fprintf(file,"\n ");
- fprintf(file," 'can-hit-owner #%c",mtype->CanHitOwner ? 't' : 'f');
- fprintf(file," 'friendly-fire #%c",mtype->FriendlyFire ? 't' : 'f');
- fprintf(file,")\n");
+ CLprintf(file,"\n ");
+ CLprintf(file," 'can-hit-owner #%c",mtype->CanHitOwner ? 't' : 'f');
+ CLprintf(file," 'friendly-fire #%c",mtype->FriendlyFire ? 't' : 'f');
+ CLprintf(file,")\n");
}
}
/**
** Save the state of a missile to file.
*/
-local void SaveMissile(const Missile* missile,FILE* file)
+local void SaveMissile(const Missile* missile,CLFile* file)
{
char* s1;
- fprintf(file,"(missile 'type '%s",missile->Type->Ident);
- fprintf(file," 'pos '(%d %d) 'goal '(%d %d)",
+ CLprintf(file,"(missile 'type '%s",missile->Type->Ident);
+ CLprintf(file," 'pos '(%d %d) 'goal '(%d %d)",
missile->X,missile->Y,missile->DX,missile->DY);
- fprintf(file," '%s", missile->Local ? "local" : "global");
- fprintf(file,"\n 'frame %d 'state %d 'wait %d 'delay %d\n ",
+ CLprintf(file," '%s", missile->Local ? "local" : "global");
+ CLprintf(file,"\n 'frame %d 'state %d 'wait %d 'delay %d\n ",
missile->SpriteFrame,missile->State,missile->Wait,missile->Delay);
if( missile->SourceUnit ) {
- fprintf(file," 'source '%s",s1=UnitReference(missile->SourceUnit));
+ CLprintf(file," 'source '%s",s1=UnitReference(missile->SourceUnit));
free(s1);
}
if( missile->TargetUnit ) {
- fprintf(file," 'target '%s",s1=UnitReference(missile->TargetUnit));
+ CLprintf(file," 'target '%s",s1=UnitReference(missile->TargetUnit));
free(s1);
}
- fprintf(file," 'damage %d",missile->Damage);
+ CLprintf(file," 'damage %d",missile->Damage);
// FIXME: need symbolic names for controller
- fprintf(file," 'ttl %d 'controller %ld",
+ CLprintf(file," 'ttl %d 'controller %ld",
missile->TTL,(long)missile->Controller);
- fprintf(file," 'data '(%d %d %d %d %d)",
+ CLprintf(file," 'data '(%d %d %d %d %d)",
missile->D,missile->Dx,missile->Dy,missile->Xstep,missile->Ystep);
- fprintf(file,")\n");
+ CLprintf(file,")\n");
}
/**
@@ -1614,12 +1614,12 @@
**
** @param file Output file.
*/
-global void SaveMissiles(FILE* file)
+global void SaveMissiles(CLFile* file)
{
Missile* const* missiles;
- fprintf(file,"\n;;; -----------------------------------------\n");
- fprintf(file,";;; MODULE: missiles $Id: missile.c,v 1.75 2003/08/09
20:08:38 martinxyz Exp $\n\n");
+ CLprintf(file,"\n;;; -----------------------------------------\n");
+ CLprintf(file,";;; MODULE: missiles $Id: missile.c,v 1.76 2003/08/17
15:57:07 n0body Exp $\n\n");
for( missiles=GlobalMissiles; *missiles; ++missiles ) {
SaveMissile(*missiles,file);
Index: stratagus/src/movie/avi.c
diff -u stratagus/src/movie/avi.c:1.10 stratagus/src/movie/avi.c:1.11
--- stratagus/src/movie/avi.c:1.10 Fri Jul 11 10:35:33 2003
+++ stratagus/src/movie/avi.c Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: avi.c,v 1.10 2003/07/11 14:35:33 n0body Exp $
+// $Id: avi.c,v 1.11 2003/08/17 15:57:07 n0body Exp $
//@{
@@ -73,7 +73,7 @@
//
// Open and check if it is an avi file.
//
- if (!(f = CLopen(name))) {
+ if (!(f = CLopen(name,CL_OPEN_READ))) {
fprintf(stderr, "Can't open `%s'\n", name);
return NULL;
}
Index: stratagus/src/siod/slib.c
diff -u stratagus/src/siod/slib.c:1.24 stratagus/src/siod/slib.c:1.25
--- stratagus/src/siod/slib.c:1.24 Fri Jul 25 13:11:58 2003
+++ stratagus/src/siod/slib.c Sun Aug 17 11:57:07 2003
@@ -93,7 +93,7 @@
static void init_slib_version(void)
{setvar(cintern("*slib-version*"),
- cintern("$Id: slib.c,v 1.24 2003/07/25 17:11:58 martinxyz Exp $"),
+ cintern("$Id: slib.c,v 1.25 2003/08/17 15:57:07 n0body Exp $"),
NIL);}
char * __stdcall siod_version(void)
@@ -564,6 +564,10 @@
fprintf(f,"%s",st);
no_interrupt(flag);}
+int CLputs_fcn(char *st,void *cb)
+{CLprintf((CLFile*)cb,st);
+ return(1);}
+
int fputs_fcn(char *st,void *cb)
{fput_st((FILE *)cb,st);
return(1);}
@@ -2078,6 +2082,14 @@
lprin1f(exp,f);
return(NIL);}
+LISP lprin1CL(LISP exp,CLFile *f)
+{struct gen_printio s;
+ s.putc_fcn = NULL;
+ s.puts_fcn = CLputs_fcn;
+ s.cb_argument = f;
+ lprin1g(exp,&s);
+ return(NIL);}
+
LISP lprin1f(LISP exp,FILE *f)
{struct gen_printio s;
s.putc_fcn = NULL;
@@ -2379,14 +2391,14 @@
if (rflag)
{int iflag;
iflag = no_interrupt(1);
- if (!(clf = CLopen(fname)))
+ if (!(clf = CLopen(fname,CL_OPEN_READ)))
{if ((fname[0] != '/') &&
((strlen(siod_lib) + strlen(fname) + 1)
< sizeof(buffer)))
{strcpy(buffer,siod_lib);
strcat(buffer,"/");
strcat(buffer,fname);
- if ((clf = CLopen(buffer)))
+ if ((clf = CLopen(buffer,CL_OPEN_READ)))
{fname = buffer;}}}
no_interrupt(iflag);}
if (siod_verbose_level >= 3)
@@ -2395,7 +2407,7 @@
put_st("\n");}
if( !clf )
- {clf = CLopen(fname);}
+ {clf = CLopen(fname,CL_OPEN_READ);}
if( !clf )
{SAFE_STRCPY(errmsg,"could not open ");
SAFE_STRCAT(errmsg,fname);
Index: stratagus/src/sound/mad.c
diff -u stratagus/src/sound/mad.c:1.23 stratagus/src/sound/mad.c:1.24
--- stratagus/src/sound/mad.c:1.23 Fri Jul 11 10:35:33 2003
+++ stratagus/src/sound/mad.c Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: mad.c,v 1.23 2003/07/11 14:35:33 n0body Exp $
+// $Id: mad.c,v 1.24 2003/08/17 15:57:07 n0body Exp $
// FIXME: JOHNS: MP3 streaming did not yet work.
@@ -422,7 +422,7 @@
unsigned char magic[2];
Sample* sample;
- if (!(f = CLopen(name))) {
+ if (!(f = CLopen(name,CL_OPEN_READ))) {
fprintf(stderr, "Can't open file `%s'\n", name);
return NULL;
}
@@ -435,7 +435,7 @@
// FIXME: ugly way to rewind.
CLclose(f);
- if (!(f = CLopen(name))) {
+ if (!(f = CLopen(name,CL_OPEN_READ))) {
fprintf(stderr, "Can't open file `%s'\n", name);
return NULL;
}
Index: stratagus/src/sound/music.c
diff -u stratagus/src/sound/music.c:1.80 stratagus/src/sound/music.c:1.81
--- stratagus/src/sound/music.c:1.80 Fri Jul 11 10:35:33 2003
+++ stratagus/src/sound/music.c Sun Aug 17 11:57:07 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: music.c,v 1.80 2003/07/11 14:35:33 n0body Exp $
+// $Id: music.c,v 1.81 2003/08/17 15:57:07 n0body Exp $
//@{
@@ -168,7 +168,7 @@
ticks=GetTicks();
DebugLevel0Fn("Trying `%s'\n" _C_ name);
- if (!(f = CLopen(name))) {
+ if (!(f = CLopen(name,CL_OPEN_READ))) {
printf("Can't open file `%s'\n", name);
return NULL;
}
Index: stratagus/src/sound/ogg.c
diff -u stratagus/src/sound/ogg.c:1.30 stratagus/src/sound/ogg.c:1.31
--- stratagus/src/sound/ogg.c:1.30 Fri Jul 11 10:35:33 2003
+++ stratagus/src/sound/ogg.c Sun Aug 17 11:57:08 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: ogg.c,v 1.30 2003/07/11 14:35:33 n0body Exp $
+// $Id: ogg.c,v 1.31 2003/08/17 15:57:08 n0body Exp $
//@{
@@ -292,7 +292,7 @@
unsigned int magic[1];
vorbis_info* info;
- if (!(f = CLopen(name))) {
+ if (!(f = CLopen(name,CL_OPEN_READ))) {
fprintf(stderr, "Can't open file `%s'\n", name);
return NULL;
}
Index: stratagus/src/sound/wav.c
diff -u stratagus/src/sound/wav.c:1.30 stratagus/src/sound/wav.c:1.31
--- stratagus/src/sound/wav.c:1.30 Fri Jul 11 10:35:33 2003
+++ stratagus/src/sound/wav.c Sun Aug 17 11:57:08 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: wav.c,v 1.30 2003/07/11 14:35:33 n0body Exp $
+// $Id: wav.c,v 1.31 2003/08/17 15:57:08 n0body Exp $
//@{
@@ -153,7 +153,7 @@
int i;
Sample* sample;
- if (!(f = CLopen(name))) {
+ if (!(f = CLopen(name,CL_OPEN_READ))) {
printf("Can't open file `%s'\n", name);
return NULL;
}
Index: stratagus/src/ui/botpanel.c
diff -u stratagus/src/ui/botpanel.c:1.83 stratagus/src/ui/botpanel.c:1.84
--- stratagus/src/ui/botpanel.c:1.83 Sun Aug 10 22:14:46 2003
+++ stratagus/src/ui/botpanel.c Sun Aug 17 11:57:08 2003
@@ -27,7 +27,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: botpanel.c,v 1.83 2003/08/11 02:14:46 n0body Exp $
+// $Id: botpanel.c,v 1.84 2003/08/17 15:57:08 n0body Exp $
//@{
@@ -105,7 +105,7 @@
/**
** Save all buttons.
*/
-global void SaveButtons(FILE* file)
+global void SaveButtons(CLFile* file)
{
#ifndef NEW_UI
int i;
@@ -113,147 +113,147 @@
char* cp;
#endif
- fprintf(file,"\n;;; -----------------------------------------\n");
- fprintf(file,";;; MODULE: buttons $Id: botpanel.c,v 1.83 2003/08/11
02:14:46 n0body Exp $\n\n");
+ CLprintf(file,"\n;;; -----------------------------------------\n");
+ CLprintf(file,";;; MODULE: buttons $Id: botpanel.c,v 1.84 2003/08/17
15:57:08 n0body Exp $\n\n");
#ifndef NEW_UI
for( i=0; i<NumUnitButtons; ++i ) {
- fprintf(file,"(define-button 'pos %d 'level %d 'icon '%s\n",
+ CLprintf(file,"(define-button 'pos %d 'level %d 'icon '%s\n",
UnitButtonTable[i]->Pos,
UnitButtonTable[i]->Level,
IdentOfIcon(UnitButtonTable[i]->Icon.Icon));
- fprintf(file," 'action ");
+ CLprintf(file," 'action ");
switch( UnitButtonTable[i]->Action ) {
case ButtonMove:
- fprintf(file,"'move"); break;
+ CLprintf(file,"'move"); break;
case ButtonStop:
- fprintf(file,"'stop"); break;
+ CLprintf(file,"'stop"); break;
case ButtonAttack:
- fprintf(file,"'attack"); break;
+ CLprintf(file,"'attack"); break;
case ButtonRepair:
- fprintf(file,"'repair"); break;
+ CLprintf(file,"'repair"); break;
case ButtonHarvest:
- fprintf(file,"'harvest"); break;
+ CLprintf(file,"'harvest"); break;
case ButtonButton:
- fprintf(file,"'button"); break;
+ CLprintf(file,"'button"); break;
case ButtonBuild:
- fprintf(file,"'build"); break;
+ CLprintf(file,"'build"); break;
case ButtonTrain:
- fprintf(file,"'train-unit"); break;
+ CLprintf(file,"'train-unit"); break;
case ButtonPatrol:
- fprintf(file,"'patrol"); break;
+ CLprintf(file,"'patrol"); break;
case ButtonStandGround:
- fprintf(file,"'stand-ground"); break;
+ CLprintf(file,"'stand-ground"); break;
case ButtonAttackGround:
- fprintf(file,"'attack-ground"); break;
+ CLprintf(file,"'attack-ground"); break;
case ButtonReturn:
- fprintf(file,"'return-goods"); break;
+ CLprintf(file,"'return-goods"); break;
case ButtonDemolish:
- fprintf(file,"'demolish"); break;
+ CLprintf(file,"'demolish"); break;
case ButtonSpellCast:
- fprintf(file,"'cast-spell"); break;
+ CLprintf(file,"'cast-spell"); break;
case ButtonResearch:
- fprintf(file,"'research"); break;
+ CLprintf(file,"'research"); break;
case ButtonUpgradeTo:
- fprintf(file,"'upgrade-to"); break;
+ CLprintf(file,"'upgrade-to"); break;
case ButtonUnload:
- fprintf(file,"'unload"); break;
+ CLprintf(file,"'unload"); break;
case ButtonCancel:
- fprintf(file,"'cancel"); break;
+ CLprintf(file,"'cancel"); break;
case ButtonCancelUpgrade:
- fprintf(file,"'cancel-upgrade"); break;
+ CLprintf(file,"'cancel-upgrade"); break;
case ButtonCancelTrain:
- fprintf(file,"'cancel-train-unit"); break;
+ CLprintf(file,"'cancel-train-unit"); break;
case ButtonCancelBuild:
- fprintf(file,"'cancel-build"); break;
+ CLprintf(file,"'cancel-build"); break;
}
if( UnitButtonTable[i]->ValueStr ) {
if( isdigit(UnitButtonTable[i]->ValueStr[0]) ) {
- fprintf(file," 'value %s\n",UnitButtonTable[i]->ValueStr);
+ CLprintf(file," 'value %s\n",UnitButtonTable[i]->ValueStr);
} else {
- fprintf(file," 'value '%s\n",UnitButtonTable[i]->ValueStr);
+ CLprintf(file," 'value '%s\n",UnitButtonTable[i]->ValueStr);
}
} else {
- fprintf(file,"\n");
+ CLprintf(file,"\n");
}
if( UnitButtonTable[i]->Allowed ) {
- fprintf(file," 'allowed ");
+ CLprintf(file," 'allowed ");
if( UnitButtonTable[i]->Allowed == ButtonCheckTrue ) {
- fprintf(file,"'check-true");
+ CLprintf(file,"'check-true");
} else if( UnitButtonTable[i]->Allowed == ButtonCheckFalse ) {
- fprintf(file,"'check-false");
+ CLprintf(file,"'check-false");
} else if( UnitButtonTable[i]->Allowed == ButtonCheckUpgrade ) {
- fprintf(file,"'check-upgrade");
+ CLprintf(file,"'check-upgrade");
} else if( UnitButtonTable[i]->Allowed == ButtonCheckUnitsOr ) {
- fprintf(file,"'check-units-or");
+ CLprintf(file,"'check-units-or");
} else if( UnitButtonTable[i]->Allowed == ButtonCheckUnitsAnd ) {
- fprintf(file,"'check-units-and");
+ CLprintf(file,"'check-units-and");
} else if( UnitButtonTable[i]->Allowed == ButtonCheckNetwork ) {
- fprintf(file,"'check-network");
+ CLprintf(file,"'check-network");
} else if( UnitButtonTable[i]->Allowed == ButtonCheckNoNetwork ) {
- fprintf(file,"'check-no-network");
+ CLprintf(file,"'check-no-network");
} else if( UnitButtonTable[i]->Allowed == ButtonCheckNoWork ) {
- fprintf(file,"'check-no-work");
+ CLprintf(file,"'check-no-work");
} else if( UnitButtonTable[i]->Allowed == ButtonCheckNoResearch ) {
- fprintf(file,"'check-no-research");
+ CLprintf(file,"'check-no-research");
} else if( UnitButtonTable[i]->Allowed == ButtonCheckAttack ) {
- fprintf(file,"'check-attack");
+ CLprintf(file,"'check-attack");
} else if( UnitButtonTable[i]->Allowed == ButtonCheckUpgradeTo ) {
- fprintf(file,"'check-upgrade-to");
+ CLprintf(file,"'check-upgrade-to");
} else if( UnitButtonTable[i]->Allowed == ButtonCheckResearch ) {
- fprintf(file,"'check-research");
+ CLprintf(file,"'check-research");
} else if( UnitButtonTable[i]->Allowed == ButtonCheckSingleResearch
) {
- fprintf(file,"'check-single-research");
+ CLprintf(file,"'check-single-research");
} else {
DebugLevel0Fn("Unsupported check function %p\n" _C_
UnitButtonTable[i]->Allowed);
- fprintf(file,"%p",UnitButtonTable[i]->Allowed);
+ CLprintf(file,"%p",UnitButtonTable[i]->Allowed);
}
if( UnitButtonTable[i]->AllowStr ) {
- fprintf(file," 'allow-arg '(");
+ CLprintf(file," 'allow-arg '(");
cp=alloca(strlen(UnitButtonTable[i]->AllowStr));
strcpy(cp,UnitButtonTable[i]->AllowStr);
cp=strtok(cp,",");
while( cp ) {
- fprintf(file,"%s",cp);
+ CLprintf(file,"%s",cp);
cp=strtok(NULL,",");
if( cp ) {
- fprintf(file," ");
+ CLprintf(file," ");
}
}
- fprintf(file,")");
+ CLprintf(file,")");
}
- fprintf(file,"\n");
+ CLprintf(file,"\n");
}
- fprintf(file," 'key \"");
+ CLprintf(file," 'key \"");
switch( UnitButtonTable[i]->Key ) {
case '\033':
- fprintf(file,"\\%03o",UnitButtonTable[i]->Key);
+ CLprintf(file,"\\%03o",UnitButtonTable[i]->Key);
break;
default:
- fprintf(file,"%c",UnitButtonTable[i]->Key);
+ CLprintf(file,"%c",UnitButtonTable[i]->Key);
break;
}
- fprintf(file,"\" 'hint \"%s\"\n",UnitButtonTable[i]->Hint);
- n=fprintf(file," 'for-unit '(");
+ CLprintf(file,"\" 'hint \"%s\"\n",UnitButtonTable[i]->Hint);
+ n=CLprintf(file," 'for-unit '(");
cp=alloca(strlen(UnitButtonTable[i]->UnitMask));
strcpy(cp,UnitButtonTable[i]->UnitMask);
cp=strtok(cp,",");
while( cp ) {
if( n+strlen(cp)>78 ) {
- n=fprintf(file,"\n ");
+ n=CLprintf(file,"\n ");
}
- n+=fprintf(file,"%s",cp);
+ n+=CLprintf(file,"%s",cp);
cp=strtok(NULL,",");
if( cp ) {
- n+=fprintf(file," ");
+ n+=CLprintf(file," ");
}
}
- fprintf(file,"))\n\n");
+ CLprintf(file,"))\n\n");
}
#endif
- fprintf(file,"(set-show-command-key! %s)\n\n",
+ CLprintf(file,"(set-show-command-key! %s)\n\n",
ShowCommandKey ? "#t" : "#f");
}
Index: stratagus/src/ui/icons.c
diff -u stratagus/src/ui/icons.c:1.44 stratagus/src/ui/icons.c:1.45
--- stratagus/src/ui/icons.c:1.44 Sat Aug 9 16:08:39 2003
+++ stratagus/src/ui/icons.c Sun Aug 17 11:57:08 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: icons.c,v 1.44 2003/08/09 20:08:39 martinxyz Exp $
+// $Id: icons.c,v 1.45 2003/08/17 15:57:08 n0body Exp $
//@{
@@ -423,49 +423,49 @@
**
** @param file Output file.
*/
-global void SaveIcons(FILE* file)
+global void SaveIcons(CLFile* file)
{
char* const* cp;
int i;
- fprintf(file, "\n;;; -----------------------------------------\n");
- fprintf(file, ";;; MODULE: icons $Id: icons.c,v 1.44 2003/08/09 20:08:39
martinxyz Exp $\n\n");
+ CLprintf(file, "\n;;; -----------------------------------------\n");
+ CLprintf(file, ";;; MODULE: icons $Id: icons.c,v 1.45 2003/08/17 15:57:08
n0body Exp $\n\n");
//
// Mapping the original icon numbers in puds to our internal strings
//
if ((cp = IconWcNames)) {
- fprintf(file, "(define-icon-wc-names");
+ CLprintf(file, "(define-icon-wc-names");
i = 90;
while (*cp) {
if (i + strlen(*cp) > 79) {
- i = fprintf(file, "\n ");
+ i = CLprintf(file, "\n ");
}
- i += fprintf(file, " '%s", *cp++);
+ i += CLprintf(file, " '%s", *cp++);
}
- fprintf(file, ")\n\n");
+ CLprintf(file, ")\n\n");
}
//
// Icons
//
for (i = 0; i < NumIcons; ++i) {
- fprintf(file, "(define-icon '%s", Icons[i]->Ident);
+ CLprintf(file, "(define-icon '%s", Icons[i]->Ident);
if (Icons[i]->Tileset) {
- fprintf(file, " 'tileset '%s", Icons[i]->Tileset);
+ CLprintf(file, " 'tileset '%s", Icons[i]->Tileset);
}
- fprintf(file, "\n 'size '(%d %d) 'normal '(%d \"%s\"))\n",
+ CLprintf(file, "\n 'size '(%d %d) 'normal '(%d \"%s\"))\n",
Icons[i]->Width, Icons[i]->Height,
Icons[i]->Index, Icons[i]->File->FileName);
}
- fprintf(file, "\n");
+ CLprintf(file, "\n");
//
// Icons aliases
//
for (i = 0; i < NumIconAliases; ++i) {
- fprintf(file, "(define-icon-alias '%s '%s)\n",
+ CLprintf(file, "(define-icon-alias '%s '%s)\n",
IconAliases[i * 2 + 0], IconAliases[i * 2 + 1]);
}
}
Index: stratagus/src/ui/interface.c
diff -u stratagus/src/ui/interface.c:1.134 stratagus/src/ui/interface.c:1.135
--- stratagus/src/ui/interface.c:1.134 Sun Aug 10 22:14:46 2003
+++ stratagus/src/ui/interface.c Sun Aug 17 11:57:08 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: interface.c,v 1.134 2003/08/11 02:14:46 n0body Exp $
+// $Id: interface.c,v 1.135 2003/08/17 15:57:08 n0body Exp $
//@{
@@ -1230,7 +1230,7 @@
for( i=1; i<99; ++i ) {
// FIXME: what if we can't write to this directory?
sprintf(filename, "screen%02d.png", i);
- if( !(fd = CLopen(filename)) ) {
+ if( !(fd = CLopen(filename,CL_OPEN_READ)) ) {
break;
}
CLclose(fd);
Index: stratagus/src/ui/mainscr.c
diff -u stratagus/src/ui/mainscr.c:1.115 stratagus/src/ui/mainscr.c:1.116
--- stratagus/src/ui/mainscr.c:1.115 Fri Aug 8 15:31:37 2003
+++ stratagus/src/ui/mainscr.c Sun Aug 17 11:57:08 2003
@@ -27,7 +27,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: mainscr.c,v 1.115 2003/08/08 19:31:37 n0body Exp $
+// $Id: mainscr.c,v 1.116 2003/08/17 15:57:08 n0body Exp $
//@{
@@ -368,38 +368,7 @@
}
}
- if( type->CanStore[WoodCost] ) {
- VideoDrawText(x+20,y+8+78,GameFont,"Production");
- VideoDrawText(x+22,y+8+93,GameFont,"Lumber:");
- // I'm assuming that it will be short enough to fit in the space
- // I'm also assuming that it won't be 100 - x
- // and since the default is used for comparison we might as well
- // use that in the printing too.
- VideoDrawNumber(x+78,y+8+93,GameFont,DefaultIncomes[WoodCost]);
-
- if( unit->Player->Incomes[WoodCost] != DefaultIncomes[WoodCost] ) {
- sprintf(buf, "~<+%i~>",
- unit->Player->Incomes[WoodCost]-DefaultIncomes[WoodCost]);
- VideoDrawText(x+96,y+8+93,GameFont,buf);
- }
- sprintf(buf, "(%+.1f)", unit->Player->Revenue[WoodCost] / 1000.0);
- VideoDrawText(x+120,y+8+93,GameFont,buf);
- return;
-
- } else if( type->CanStore[OilCost] ) {
- VideoDrawText(x+20,y+8+78,GameFont,"Production");
- VideoDrawText(x+54,y+8+93,GameFont,"Oil:");
- VideoDrawNumber(x+78,y+8+93,GameFont,DefaultIncomes[OilCost]);
- if( unit->Player->Incomes[OilCost]!=DefaultIncomes[OilCost] ) {
- sprintf(buf, "~<+%i~>",
- unit->Player->Incomes[OilCost]-DefaultIncomes[OilCost]);
- VideoDrawText(x+96,y+8+93,GameFont,buf);
- }
- sprintf(buf, "(%+.1f)", unit->Player->Revenue[OilCost] / 1000.0);
- VideoDrawText(x+120,y+8+93,GameFont,buf);
- return;
-
- } else if( type->CanStore[GoldCost] ) {
+ if( type->CanStore[GoldCost] ) {
VideoDrawText(x+20,y+8+61,GameFont,"Production");
VideoDrawText(x+43,y+8+77,GameFont,"Gold:");
VideoDrawNumber(x+78,y+8+77,GameFont,DefaultIncomes[GoldCost]);
@@ -432,6 +401,37 @@
}
sprintf(buf, "(%+.1f)", unit->Player->Revenue[OilCost] / 1000.0);
VideoDrawText(x+120,y+8+109,GameFont,buf);
+ return;
+
+ } else if (type->CanStore[WoodCost] ) {
+ VideoDrawText(x+20,y+8+78,GameFont,"Production");
+ VideoDrawText(x+22,y+8+93,GameFont,"Lumber:");
+ // I'm assuming that it will be short enough to fit in the space
+ // I'm also assuming that it won't be 100 - x
+ // and since the default is used for comparison we might as well
+ // use that in the printing too.
+ VideoDrawNumber(x+78,y+8+93,GameFont,DefaultIncomes[WoodCost]);
+
+ if( unit->Player->Incomes[WoodCost] != DefaultIncomes[WoodCost] ) {
+ sprintf(buf, "~<+%i~>",
+ unit->Player->Incomes[WoodCost]-DefaultIncomes[WoodCost]);
+ VideoDrawText(x+96,y+8+93,GameFont,buf);
+ }
+ sprintf(buf, "(%+.1f)", unit->Player->Revenue[WoodCost] / 1000.0);
+ VideoDrawText(x+120,y+8+93,GameFont,buf);
+ return;
+
+ } else if( type->CanStore[OilCost] ) {
+ VideoDrawText(x+20,y+8+78,GameFont,"Production");
+ VideoDrawText(x+54,y+8+93,GameFont,"Oil:");
+ VideoDrawNumber(x+78,y+8+93,GameFont,DefaultIncomes[OilCost]);
+ if( unit->Player->Incomes[OilCost]!=DefaultIncomes[OilCost] ) {
+ sprintf(buf, "~<+%i~>",
+ unit->Player->Incomes[OilCost]-DefaultIncomes[OilCost]);
+ VideoDrawText(x+96,y+8+93,GameFont,buf);
+ }
+ sprintf(buf, "(%+.1f)", unit->Player->Revenue[OilCost] / 1000.0);
+ VideoDrawText(x+120,y+8+93,GameFont,buf);
return;
} else if( type->Transporter && unit->InsideCount ) {
Index: stratagus/src/ui/menus.c
diff -u stratagus/src/ui/menus.c:1.554 stratagus/src/ui/menus.c:1.555
--- stratagus/src/ui/menus.c:1.554 Sat Aug 2 09:34:25 2003
+++ stratagus/src/ui/menus.c Sun Aug 17 11:57:08 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: menus.c,v 1.554 2003/08/02 13:34:25 grumbel Exp $
+// $Id: menus.c,v 1.555 2003/08/17 15:57:08 n0body Exp $
//@{
@@ -896,7 +896,17 @@
strcpy(TempPathBuf, SaveDir);
strcat(TempPathBuf, "/");
strncat(TempPathBuf, name, nameLength);
- if (strstr(TempPathBuf, ".sav") == NULL) {
+
+ // Strip .gz extension.
+ if (!strcmp(TempPathBuf+strlen(TempPathBuf)-3,".gz")) {
+ TempPathBuf[strlen(TempPathBuf)-3]=0;
+ }
+ // Strip .bz2 extension.
+ if (!strcmp(TempPathBuf+strlen(TempPathBuf)-4,".bz2")) {
+ TempPathBuf[strlen(TempPathBuf)-4]=0;
+ }
+ // Add .sav if not already there.
+ if (strcmp(TempPathBuf+strlen(TempPathBuf)-4,".sav")) {
strcat(TempPathBuf, ".sav");
}
Index: stratagus/src/ui/ui.c
diff -u stratagus/src/ui/ui.c:1.72 stratagus/src/ui/ui.c:1.73
--- stratagus/src/ui/ui.c:1.72 Wed Aug 13 10:55:45 2003
+++ stratagus/src/ui/ui.c Sun Aug 17 11:57:08 2003
@@ -27,7 +27,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: ui.c,v 1.72 2003/08/13 14:55:45 martinxyz Exp $
+// $Id: ui.c,v 1.73 2003/08/17 15:57:08 n0body Exp $
//@{
@@ -300,180 +300,180 @@
** @param file Save file handle
** @param ui User interface to save
*/
-local void SaveUi(FILE* file,const UI* ui)
+local void SaveUi(CLFile* file,const UI* ui)
{
int i;
MenuPanel* menupanel;
- fprintf(file,"(define-ui '%s %d %d\t; Selector",
+ CLprintf(file,"(define-ui '%s %d %d\t; Selector",
ui->Name,ui->Width,ui->Height);
- fprintf(file,"\n 'normal-font-color '%s"
+ CLprintf(file,"\n 'normal-font-color '%s"
"\n 'reverse-font-color '%s",
ui->NormalFontColor, ui->ReverseFontColor);
- fprintf(file,"\n");
+ CLprintf(file,"\n");
- fprintf(file,"\n 'filler (list");
- fprintf(file,"\n 'file \"%s\"",ui->Filler[0].File);
- fprintf(file,"\n 'pos '(%3d %3d)",ui->FillerX[0],ui->FillerY[0]);
- fprintf(file,")\n");
+ CLprintf(file,"\n 'filler (list");
+ CLprintf(file,"\n 'file \"%s\"",ui->Filler[0].File);
+ CLprintf(file,"\n 'pos '(%3d %3d)",ui->FillerX[0],ui->FillerY[0]);
+ CLprintf(file,")\n");
- fprintf(file,"\n ; Resource line");
- fprintf(file,"\n 'resource-line (list \"%s\" %d %d)",
+ CLprintf(file,"\n ; Resource line");
+ CLprintf(file,"\n 'resource-line (list \"%s\" %d %d)",
ui->Resource.File,ui->ResourceX,ui->ResourceY);
- fprintf(file,"\n 'resources (list");
+ CLprintf(file,"\n 'resources (list");
for( i=1; i<MaxCosts+2; ++i ) {
if( !ui->Resources[i].Icon.File ) {
continue;
}
- fprintf(file,"\n '%s",
+ CLprintf(file,"\n '%s",
i<MaxCosts ? DefaultResourceNames[i] :
i==FoodCost ? "food" : "score");
- fprintf(file," (list 'file \"%s\" 'row %d\n"
+ CLprintf(file," (list 'file \"%s\" 'row %d\n"
" 'pos '(%d %d) 'size '(%d %d) 'text-pos '(%d %d))",
ui->Resources[i].Icon.File,ui->Resources[i].IconRow,
ui->Resources[i].IconX,ui->Resources[i].IconY,
ui->Resources[i].IconW,ui->Resources[i].IconH,
ui->Resources[i].TextX,ui->Resources[i].TextY);
}
- fprintf(file,")\n");
+ CLprintf(file,")\n");
- fprintf(file," 'info-panel (list \"%s\" %d %d %d %d)\n",
+ CLprintf(file," 'info-panel (list \"%s\" %d %d %d %d)\n",
ui->InfoPanel.File,
ui->InfoPanelX,ui->InfoPanelY,
ui->InfoPanelW,ui->InfoPanelH);
- fprintf(file,"\n 'completed-bar '(");
- fprintf(file,"\n color %d",ui->CompleteBarColor);
- fprintf(file,"\n pos (%3d %3d)",ui->CompleteBarX,ui->CompleteBarY);
- fprintf(file,"\n size (%d %d)",ui->CompleteBarW,ui->CompleteBarH);
- fprintf(file,"\n text \"%s\"",ui->CompleteBarText);
- fprintf(file,"\n font %s",FontNames[ui->CompleteBarFont]);
- fprintf(file,"\n text-pos (%3d %3d)",
+ CLprintf(file,"\n 'completed-bar '(");
+ CLprintf(file,"\n color %d",ui->CompleteBarColor);
+ CLprintf(file,"\n pos (%3d %3d)",ui->CompleteBarX,ui->CompleteBarY);
+ CLprintf(file,"\n size (%d %d)",ui->CompleteBarW,ui->CompleteBarH);
+ CLprintf(file,"\n text \"%s\"",ui->CompleteBarText);
+ CLprintf(file,"\n font %s",FontNames[ui->CompleteBarFont]);
+ CLprintf(file,"\n text-pos (%3d %3d)",
ui->CompleteTextX,ui->CompleteTextY);
- fprintf(file,")\n\n");
+ CLprintf(file,")\n\n");
- fprintf(file," 'button-panel (list \"%s\" %d %d)\n",
+ CLprintf(file," 'button-panel (list \"%s\" %d %d)\n",
ui->ButtonPanel.File,ui->ButtonPanelX,ui->ButtonPanelY);
- fprintf(file,"\n 'map-area (list");
- fprintf(file,"\n 'pos '(%3d %3d)",
+ CLprintf(file,"\n 'map-area (list");
+ CLprintf(file,"\n 'pos '(%3d %3d)",
ui->MapArea.X, ui->MapArea.Y);
- fprintf(file,"\n 'size '(%d %d)",
+ CLprintf(file,"\n 'size '(%d %d)",
ui->MapArea.EndX-ui->MapArea.X+1,
ui->MapArea.EndY-ui->MapArea.Y+1);
- fprintf(file,")\n\n");
+ CLprintf(file,")\n\n");
- fprintf(file," ; Menu button background\n");
- fprintf(file," 'menu-panel (list \"%s\" %d %d)\n",
+ CLprintf(file," ; Menu button background\n");
+ CLprintf(file," 'menu-panel (list \"%s\" %d %d)\n",
ui->MenuButtonGraphic.File,ui->MenuButtonGraphicX,
ui->MenuButtonGraphicY);
- fprintf(file," ; Minimap background\n");
- fprintf(file," 'minimap-panel (list \"%s\" %d %d)\n",
+ CLprintf(file," ; Minimap background\n");
+ CLprintf(file," 'minimap-panel (list \"%s\" %d %d)\n",
ui->MinimapPanel.File,ui->MinimapPanelX,ui->MinimapPanelY);
- fprintf(file," ; Minimap position\n");
- fprintf(file," 'minimap-pos (list %d %d)\n",
+ CLprintf(file," ; Minimap position\n");
+ CLprintf(file," 'minimap-pos (list %d %d)\n",
ui->MinimapPosX,ui->MinimapPosY);
- fprintf(file,"\n 'status-line '(");
- fprintf(file,"\n file \"%s\"",ui->StatusLine.File);
- fprintf(file,"\n pos (%d %d)",ui->StatusLineX,ui->StatusLineY);
- fprintf(file,"\n text-pos (%d %d)",
+ CLprintf(file,"\n 'status-line '(");
+ CLprintf(file,"\n file \"%s\"",ui->StatusLine.File);
+ CLprintf(file,"\n pos (%d %d)",ui->StatusLineX,ui->StatusLineY);
+ CLprintf(file,"\n text-pos (%d %d)",
ui->StatusLineTextX,ui->StatusLineTextY);
- fprintf(file,"\n font %s",FontNames[ui->StatusLineFont]);
- fprintf(file,")\n");
+ CLprintf(file,"\n font %s",FontNames[ui->StatusLineFont]);
+ CLprintf(file,")\n");
- fprintf(file,"\n 'menu-button '(");
- fprintf(file,"\n pos (%d %d)",
+ CLprintf(file,"\n 'menu-button '(");
+ CLprintf(file,"\n pos (%d %d)",
ui->MenuButton.X,ui->MenuButton.Y);
- fprintf(file,"\n size (%d %d)",
+ CLprintf(file,"\n size (%d %d)",
ui->MenuButton.Width,ui->MenuButton.Height);
- fprintf(file,"\n caption \"%s\"",
+ CLprintf(file,"\n caption \"%s\"",
ui->MenuButton.Text);
- fprintf(file,"\n style %s",
+ CLprintf(file,"\n style %s",
MenuButtonStyle(ui->MenuButton.Button));
- fprintf(file,")");
+ CLprintf(file,")");
- fprintf(file,"\n 'network-menu-button '(");
- fprintf(file,"\n pos (%d %d)",
+ CLprintf(file,"\n 'network-menu-button '(");
+ CLprintf(file,"\n pos (%d %d)",
ui->NetworkMenuButton.X,ui->NetworkMenuButton.Y);
- fprintf(file,"\n size (%d %d)",
+ CLprintf(file,"\n size (%d %d)",
ui->NetworkMenuButton.Width,ui->NetworkMenuButton.Height);
- fprintf(file,"\n caption \"%s\"",
+ CLprintf(file,"\n caption \"%s\"",
ui->NetworkMenuButton.Text);
- fprintf(file,"\n style %s",
+ CLprintf(file,"\n style %s",
MenuButtonStyle(ui->NetworkMenuButton.Button));
- fprintf(file,")");
+ CLprintf(file,")");
- fprintf(file,"\n 'network-diplomacy-button '(");
- fprintf(file,"\n pos (%d %d)",
+ CLprintf(file,"\n 'network-diplomacy-button '(");
+ CLprintf(file,"\n pos (%d %d)",
ui->NetworkDiplomacyButton.X,ui->NetworkDiplomacyButton.Y);
- fprintf(file,"\n size (%d %d)",
+ CLprintf(file,"\n size (%d %d)",
ui->NetworkDiplomacyButton.Width,ui->NetworkDiplomacyButton.Height);
- fprintf(file,"\n caption \"%s\"",
+ CLprintf(file,"\n caption \"%s\"",
ui->NetworkDiplomacyButton.Text);
- fprintf(file,"\n style %s",
+ CLprintf(file,"\n style %s",
MenuButtonStyle(ui->NetworkDiplomacyButton.Button));
- fprintf(file,")");
+ CLprintf(file,")");
- fprintf(file,"\n\n 'info-buttons '(");
+ CLprintf(file,"\n\n 'info-buttons '(");
for( i=0; i<ui->NumInfoButtons; ++i ) {
- fprintf(file,"\n (pos (%3d %3d) size (%d %d))",
+ CLprintf(file,"\n (pos (%3d %3d) size (%d %d))",
ui->InfoButtons[i].X,ui->InfoButtons[i].Y,
ui->InfoButtons[i].Width,ui->InfoButtons[i].Height);
}
- fprintf(file,")");
- fprintf(file,"\n 'training-buttons '(");
+ CLprintf(file,")");
+ CLprintf(file,"\n 'training-buttons '(");
for( i=0; i<ui->NumTrainingButtons; ++i ) {
- fprintf(file,"\n (pos (%3d %3d) size (%d %d))",
+ CLprintf(file,"\n (pos (%3d %3d) size (%d %d))",
ui->TrainingButtons[i].X,ui->TrainingButtons[i].Y,
ui->TrainingButtons[i].Width,ui->TrainingButtons[i].Height);
}
- fprintf(file,")");
- fprintf(file,"\n 'button-buttons '(");
+ CLprintf(file,")");
+ CLprintf(file,"\n 'button-buttons '(");
for( i=0; i<ui->NumButtonButtons; ++i ) {
- fprintf(file,"\n (pos (%3d %3d) size (%d %d))",
+ CLprintf(file,"\n (pos (%3d %3d) size (%d %d))",
ui->ButtonButtons[i].X,ui->ButtonButtons[i].Y,
ui->ButtonButtons[i].Width,ui->ButtonButtons[i].Height);
}
- fprintf(file,")");
+ CLprintf(file,")");
- fprintf(file,"\n\n 'cursors '(");
- fprintf(file,"\n point %s", ui->Point.Name);
- fprintf(file,"\n glass %s", ui->Glass.Name);
- fprintf(file,"\n cross %s", ui->Cross.Name);
- fprintf(file,"\n yellow %s", ui->YellowHair.Name);
- fprintf(file,"\n green %s", ui->GreenHair.Name);
- fprintf(file,"\n red %s", ui->RedHair.Name);
- fprintf(file,"\n scroll %s", ui->Scroll.Name);
-
- fprintf(file,"\n arrow-e %s", ui->ArrowE.Name);
- fprintf(file,"\n arrow-ne %s", ui->ArrowNE.Name);
- fprintf(file,"\n arrow-n %s", ui->ArrowN.Name);
- fprintf(file,"\n arrow-nw %s", ui->ArrowNW.Name);
- fprintf(file,"\n arrow-w %s", ui->ArrowW.Name);
- fprintf(file,"\n arrow-sw %s", ui->ArrowSW.Name);
- fprintf(file,"\n arrow-s %s", ui->ArrowS.Name);
- fprintf(file,"\n arrow-se %s", ui->ArrowSE.Name);
- fprintf(file,")\n");
+ CLprintf(file,"\n\n 'cursors '(");
+ CLprintf(file,"\n point %s", ui->Point.Name);
+ CLprintf(file,"\n glass %s", ui->Glass.Name);
+ CLprintf(file,"\n cross %s", ui->Cross.Name);
+ CLprintf(file,"\n yellow %s", ui->YellowHair.Name);
+ CLprintf(file,"\n green %s", ui->GreenHair.Name);
+ CLprintf(file,"\n red %s", ui->RedHair.Name);
+ CLprintf(file,"\n scroll %s", ui->Scroll.Name);
+
+ CLprintf(file,"\n arrow-e %s", ui->ArrowE.Name);
+ CLprintf(file,"\n arrow-ne %s", ui->ArrowNE.Name);
+ CLprintf(file,"\n arrow-n %s", ui->ArrowN.Name);
+ CLprintf(file,"\n arrow-nw %s", ui->ArrowNW.Name);
+ CLprintf(file,"\n arrow-w %s", ui->ArrowW.Name);
+ CLprintf(file,"\n arrow-sw %s", ui->ArrowSW.Name);
+ CLprintf(file,"\n arrow-s %s", ui->ArrowS.Name);
+ CLprintf(file,"\n arrow-se %s", ui->ArrowSE.Name);
+ CLprintf(file,")\n");
- fprintf(file,"\n 'menu-panels '(");
+ CLprintf(file,"\n 'menu-panels '(");
menupanel=ui->MenuPanels;
while( menupanel ) {
- fprintf(file,"\n %s \"%s\"",
+ CLprintf(file,"\n %s \"%s\"",
menupanel->Ident,menupanel->Panel.File);
menupanel=menupanel->Next;
}
- fprintf(file,")\n");
+ CLprintf(file,")\n");
- fprintf(file,"\n 'victory-background \"%s\"",
+ CLprintf(file,"\n 'victory-background \"%s\"",
ui->VictoryBackground.File);
- fprintf(file,"\n 'defeat-background \"%s\"",
+ CLprintf(file,"\n 'defeat-background \"%s\"",
ui->DefeatBackground.File);
- fprintf(file," )\n\n");
+ CLprintf(file," )\n\n");
}
/**
@@ -482,17 +482,17 @@
** @param file Save file handle
** @param ui User interface to save
*/
-local void SaveViewports(FILE* file,const UI* ui)
+local void SaveViewports(CLFile* file,const UI* ui)
{
int i;
const Viewport* vp;
- fprintf(file, "(define-viewports 'mode %d",ui->ViewportMode);
+ CLprintf(file, "(define-viewports 'mode %d",ui->ViewportMode);
for (i = 0; i < ui->NumViewports; ++i) {
vp = &ui->Viewports[i];
- fprintf(file, "\n 'viewport '(%d %d)",vp->MapX,vp->MapY);
+ CLprintf(file, "\n 'viewport '(%d %d)",vp->MapX,vp->MapY);
}
- fprintf(file, ")\n\n");
+ CLprintf(file, ")\n\n");
}
/**
@@ -500,29 +500,29 @@
**
** @param file Save file handle
*/
-global void SaveUserInterface(FILE* file)
+global void SaveUserInterface(CLFile* file)
{
int i;
- fprintf(file,"\n;;; -----------------------------------------\n");
- fprintf(file,";;; MODULE: ui $Id: ui.c,v 1.72 2003/08/13 14:55:45
martinxyz Exp $\n\n");
+ CLprintf(file,"\n;;; -----------------------------------------\n");
+ CLprintf(file,";;; MODULE: ui $Id: ui.c,v 1.73 2003/08/17 15:57:08 n0body
Exp $\n\n");
// Contrast, Brightness, Saturation
- fprintf(file,"(set-contrast! %d)\n",TheUI.Contrast);
- fprintf(file,"(set-brightness! %d)\n",TheUI.Brightness);
- fprintf(file,"(set-saturation! %d)\n\n",TheUI.Saturation);
+ CLprintf(file,"(set-contrast! %d)\n",TheUI.Contrast);
+ CLprintf(file,"(set-brightness! %d)\n",TheUI.Brightness);
+ CLprintf(file,"(set-saturation! %d)\n\n",TheUI.Saturation);
// Scrolling
- fprintf(file,"(set-mouse-scroll! %s)\n",TheUI.MouseScroll ? "#t" : "#f");
- fprintf(file,"(set-mouse-scroll-speed! %d)\n",SpeedMouseScroll);
- fprintf(file,"(set-key-scroll! %s)\n",TheUI.KeyScroll ? "#t" : "#f");
- fprintf(file,"(set-key-scroll-speed! %d)\n",SpeedKeyScroll);
- fprintf(file,"(set-mouse-scroll-speed-default!
%d)\n",TheUI.MouseScrollSpeedDefault);
- fprintf(file,"(set-mouse-scroll-speed-control!
%d)\n",TheUI.MouseScrollSpeedControl);
+ CLprintf(file,"(set-mouse-scroll! %s)\n",TheUI.MouseScroll ? "#t" : "#f");
+ CLprintf(file,"(set-mouse-scroll-speed! %d)\n",SpeedMouseScroll);
+ CLprintf(file,"(set-key-scroll! %s)\n",TheUI.KeyScroll ? "#t" : "#f");
+ CLprintf(file,"(set-key-scroll-speed! %d)\n",SpeedKeyScroll);
+ CLprintf(file,"(set-mouse-scroll-speed-default!
%d)\n",TheUI.MouseScrollSpeedDefault);
+ CLprintf(file,"(set-mouse-scroll-speed-control!
%d)\n",TheUI.MouseScrollSpeedControl);
- fprintf(file,"(set-mouse-adjust! %d)\n",TheUI.MouseAdjust);
- fprintf(file,"(set-mouse-scale! %d)\n\n",TheUI.MouseScale);
+ CLprintf(file,"(set-mouse-adjust! %d)\n",TheUI.MouseAdjust);
+ CLprintf(file,"(set-mouse-scale! %d)\n\n",TheUI.MouseScale);
- fprintf(file,"(set-original-resources! %s)\n\n",
+ CLprintf(file,"(set-original-resources! %s)\n\n",
TheUI.OriginalResources ? "#t" : "#f");
// Save the UIs for all resolutions
Index: stratagus/src/unit/depend.c
diff -u stratagus/src/unit/depend.c:1.28 stratagus/src/unit/depend.c:1.29
--- stratagus/src/unit/depend.c:1.28 Sat Aug 9 16:08:39 2003
+++ stratagus/src/unit/depend.c Sun Aug 17 11:57:08 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: depend.c,v 1.28 2003/08/09 20:08:39 martinxyz Exp $
+// $Id: depend.c,v 1.29 2003/08/17 15:57:08 n0body Exp $
//@{
@@ -276,58 +276,58 @@
**
** @param file Output file.
*/
-global void SaveDependencies(FILE* file)
+global void SaveDependencies(CLFile* file)
{
unsigned u;
const DependRule* node;
const DependRule* rule;
const DependRule* temp;
- fprintf(file,"\n;;; -----------------------------------------\n");
- fprintf(file,";;; MODULE: dependencies $Id: depend.c,v 1.28 2003/08/09
20:08:39 martinxyz Exp $\n\n");
+ CLprintf(file,"\n;;; -----------------------------------------\n");
+ CLprintf(file,";;; MODULE: dependencies $Id: depend.c,v 1.29 2003/08/17
15:57:08 n0body Exp $\n\n");
// Save all dependencies
for( u=0; u<sizeof(DependHash)/sizeof(*DependHash); ++u ) {
node=DependHash[u];
while( node ) { // all hash links
- fprintf(file,"(define-dependency '");
+ CLprintf(file,"(define-dependency '");
switch( node->Type ) {
case DependRuleUnitType:
- fprintf(file,"%s",node->Kind.UnitType->Ident);
+ CLprintf(file,"%s",node->Kind.UnitType->Ident);
break;
case DependRuleUpgrade:
- fprintf(file,"%s",node->Kind.Upgrade->Ident);
+ CLprintf(file,"%s",node->Kind.Upgrade->Ident);
break;
}
// All or cases
- fprintf(file,"\n '(");
+ CLprintf(file,"\n '(");
rule=node->Rule;
for( ;; ) {
temp=rule;
while( temp ) {
switch( temp->Type ) {
case DependRuleUnitType:
- fprintf(file,"%s",temp->Kind.UnitType->Ident);
+ CLprintf(file,"%s",temp->Kind.UnitType->Ident);
break;
case DependRuleUpgrade:
- fprintf(file,"%s",temp->Kind.Upgrade->Ident);
+ CLprintf(file,"%s",temp->Kind.Upgrade->Ident);
break;
}
temp=temp->Rule;
if( temp ) {
- fprintf(file," ");
+ CLprintf(file," ");
}
}
- fprintf(file,")");
+ CLprintf(file,")");
if( !(rule=rule->Next) ) {
break;
}
- fprintf(file,"\n 'or '( ");
+ CLprintf(file,"\n 'or '( ");
}
- fprintf(file,")\n");
+ CLprintf(file,")\n");
node=node->Next;
}
Index: stratagus/src/unit/unittype.c
diff -u stratagus/src/unit/unittype.c:1.84 stratagus/src/unit/unittype.c:1.85
--- stratagus/src/unit/unittype.c:1.84 Sun Aug 10 22:14:46 2003
+++ stratagus/src/unit/unittype.c Sun Aug 17 11:57:08 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: unittype.c,v 1.84 2003/08/11 02:14:46 n0body Exp $
+// $Id: unittype.c,v 1.85 2003/08/17 15:57:08 n0body Exp $
//@{
@@ -76,12 +76,6 @@
**
** FIXME: find a way to make it configurable!
*/
-#if 0
-global UnitType*UnitTypeOrcTanker; /// Orc tanker unit type pointer
-global UnitType*UnitTypeHumanTanker; /// Human tanker unit type
pointer
-global UnitType*UnitTypeOrcTankerFull; /// Orc tanker full unit type
pointer
-global UnitType*UnitTypeHumanTankerFull; /// Human tanker full unit type
pointer
-#endif
global UnitType*UnitTypeHumanWorker; /// Human worker
global UnitType*UnitTypeOrcWorker; /// Orc worker
global UnitType*UnitTypeHumanWorkerWithWood; /// Human worker with wood
@@ -535,7 +529,7 @@
** @param anim Save this animation.
** @param file Output file.
*/
-local void SaveAnimation(const char* name,const Animation* anim,FILE* file)
+local void SaveAnimation(const char* name,const Animation* anim,CLFile* file)
{
int i;
int p;
@@ -558,27 +552,27 @@
}
}
- fprintf(file,"\n '%s '(\t; #%d",name,i);
+ CLprintf(file,"\n '%s '(\t; #%d",name,i);
if( p ) {
- fprintf(file," P%d",p);
+ CLprintf(file," P%d",p);
}
temp=anim;
frame=0;
for( ;; ) {
- fprintf(file,"\n ");
+ CLprintf(file,"\n ");
for( i=0; i<4; ++i ) {
if( i ) {
- fputc(' ',file);
+ CLprintf(file," ");
}
frame+=temp->Frame;
- fprintf(file,"#(%2d %d %3d %3d)",
+ CLprintf(file,"#(%2d %d %3d %3d)",
temp->Flags&0x7F,temp->Pixel,temp->Sleep&0xFF,frame);
if( temp->Flags&AnimationRestart ) {
frame=0;
}
if( temp->Flags&AnimationEnd ) {
- fprintf(file,")");
+ CLprintf(file,")");
return;
}
++temp;
@@ -595,7 +589,7 @@
** @param type Save animations of this unit-type.
** @param file Output file.
*/
-local void SaveAnimations(const UnitType* type,FILE* file)
+local void SaveAnimations(const UnitType* type,CLFile* file)
{
const Animations* anims;
int i;
@@ -614,7 +608,7 @@
}
}
- fprintf(file,"\n;;------\n;;\t");
+ CLprintf(file,"\n;;------\n;;\t");
//
// Print all units that use this animation.
//
@@ -622,20 +616,20 @@
for( i=0 ; i<NumUnitTypes ; ++i ) {
if( UnitTypes[i]->Animations==anims ) {
if( q ) {
- fprintf(file,", ");
+ CLprintf(file,", ");
}
- fprintf(file,"%s",UnitTypes[i]->Name);
+ CLprintf(file,"%s",UnitTypes[i]->Name);
q=1;
}
}
- fprintf(file,"\n(define-animations 'animations-%s",type->Ident+5);
+ CLprintf(file,"\n(define-animations 'animations-%s",type->Ident+5);
SaveAnimation("still",anims->Still,file);
SaveAnimation("move",anims->Move,file);
SaveAnimation("attack",anims->Attack,file);
SaveAnimation("die",anims->Die,file);
- fprintf(file,")\n");
+ CLprintf(file,")\n");
}
/**
@@ -647,32 +641,32 @@
**
** @todo Arrange the variables more logical
*/
-local void SaveUnitType(FILE* file,const UnitType* type,int all)
+local void SaveUnitType(CLFile* file,const UnitType* type,int all)
{
int i;
int flag;
- fprintf(file,"(define-unit-type '%s",type->Ident);
- fprintf(file," 'name \"%s\"\n ",type->Name);
+ CLprintf(file,"(define-unit-type '%s",type->Ident);
+ CLprintf(file," 'name \"%s\"\n ",type->Name);
// Graphic files
if( type->SameSprite ) {
- fprintf(file,"'use '%s",type->SameSprite);
+ CLprintf(file,"'use '%s",type->SameSprite);
} else {
- fputs("'files '(",file);
+ CLprintf(file,"'files '(");
for( flag=i=0; i<TilesetMax; ++i ) {
if( type->File[i] ) {
if( flag ) {
- fputs("\n ",file);
+ CLprintf(file,"\n ");
}
- fprintf(file,"%s \"%s\"",Tilesets[i]->Ident,type->File[i]);
+ CLprintf(file,"%s \"%s\"",Tilesets[i]->Ident,type->File[i]);
flag=1;
}
}
- fputs(")",file);
+ CLprintf(file,")");
}
- fprintf(file,"\n 'size '(%d %d)\n",type->Width,type->Height);
+ CLprintf(file,"\n 'size '(%d %d)\n",type->Width,type->Height);
if( type->ShadowFile ) {
- fprintf(file," 'shadow '(file \"%s\" width %d height %d)\n",
+ CLprintf(file," 'shadow '(file \"%s\" width %d height %d)\n",
type->ShadowFile, type->ShadowWidth, type->ShadowHeight);
}
@@ -684,222 +678,222 @@
break;
}
}
- fprintf(file," 'animations 'animations-%s",UnitTypes[i]->Ident+5);
- fprintf(file," 'icon '%s\n",IdentOfIcon(type->Icon.Icon));
+ CLprintf(file," 'animations 'animations-%s",UnitTypes[i]->Ident+5);
+ CLprintf(file," 'icon '%s\n",IdentOfIcon(type->Icon.Icon));
for( i=flag=0; i<MaxCosts; ++i ) {
if( all || type->_Costs[i] ) {
if( !flag ) {
- fputs(" 'costs '(",file);
+ CLprintf(file," 'costs '(");
flag=1;
} else {
- fputs(" ",file);
+ CLprintf(file," ");
}
- fprintf(file,"%s %d",DefaultResourceNames[i],type->_Costs[i]);
+ CLprintf(file,"%s %d",DefaultResourceNames[i],type->_Costs[i]);
}
}
if( flag ) {
- fputs(")\n",file);
+ CLprintf(file,")\n");
}
if( type->Construction ) {
- fprintf(file," 'construction '%s\n",type->Construction->Ident);
+ CLprintf(file," 'construction '%s\n",type->Construction->Ident);
}
- fprintf(file," 'speed %d\n",type->_Speed);
- fprintf(file," 'hit-points %d\n",type->_HitPoints);
+ CLprintf(file," 'speed %d\n",type->_Speed);
+ CLprintf(file," 'hit-points %d\n",type->_HitPoints);
if( all || type->_MaxMana ) {
- fprintf(file," 'max-mana %d\n",type->_MaxMana);
+ CLprintf(file," 'max-mana %d\n",type->_MaxMana);
}
if( all || type->Magic ) {
- fprintf(file," 'magic %d\n",type->Magic);
+ CLprintf(file," 'magic %d\n",type->Magic);
}
- fprintf(file," 'tile-size '(%d %d)",type->TileWidth,type->TileHeight);
- fprintf(file," 'box-size '(%d %d)\n",type->BoxWidth,type->BoxHeight);
- fprintf(file," 'sight-range %d",type->_SightRange);
+ CLprintf(file," 'tile-size '(%d %d)",type->TileWidth,type->TileHeight);
+ CLprintf(file," 'box-size '(%d %d)\n",type->BoxWidth,type->BoxHeight);
+ CLprintf(file," 'sight-range %d",type->_SightRange);
if( all || type->ReactRangeComputer ) {
- fprintf(file," 'computer-reaction-range %d",type->ReactRangeComputer);
+ CLprintf(file," 'computer-reaction-range %d",type->ReactRangeComputer);
}
if( all || type->ReactRangePerson ) {
- fprintf(file," 'person-reaction-range %d",type->ReactRangePerson);
+ CLprintf(file," 'person-reaction-range %d",type->ReactRangePerson);
}
- fputs("\n",file);
+ CLprintf(file,"\n");
if( all || type->_Armor ) {
- fprintf(file," 'armor %d",type->_Armor);
+ CLprintf(file," 'armor %d",type->_Armor);
} else {
- fputs(" ",file);
+ CLprintf(file," ");
}
- fprintf(file," 'basic-damage %d",type->_BasicDamage);
- fprintf(file," 'piercing-damage %d",type->_PiercingDamage);
- fprintf(file," 'missile '%s\n",type->Missile.Name);
- fprintf(file," 'draw-level %d",type->DrawLevel);
+ CLprintf(file," 'basic-damage %d",type->_BasicDamage);
+ CLprintf(file," 'piercing-damage %d",type->_PiercingDamage);
+ CLprintf(file," 'missile '%s\n",type->Missile.Name);
+ CLprintf(file," 'draw-level %d",type->DrawLevel);
if( all || type->MinAttackRange ) {
- fprintf(file," 'min-attack-range %d",type->MinAttackRange);
- fprintf(file," 'max-attack-range %d\n",type->_AttackRange);
+ CLprintf(file," 'min-attack-range %d",type->MinAttackRange);
+ CLprintf(file," 'max-attack-range %d\n",type->_AttackRange);
} else if( type->_AttackRange ) {
- fprintf(file," 'max-attack-range %d\n",type->_AttackRange);
+ CLprintf(file," 'max-attack-range %d\n",type->_AttackRange);
}
if( all || type->WeaponsUpgradable ) {
- fprintf(file," 'weapons-upgradable %d",type->WeaponsUpgradable);
+ CLprintf(file," 'weapons-upgradable %d",type->WeaponsUpgradable);
if( all || type->ArmorUpgradable ) {
- fprintf(file," 'armor-upgradable %d\n",type->ArmorUpgradable);
+ CLprintf(file," 'armor-upgradable %d\n",type->ArmorUpgradable);
} else {
- fputs("\n",file);
+ CLprintf(file,"\n");
}
} else if( type->ArmorUpgradable ) {
- fprintf(file," 'armor-upgradable %d\n",type->ArmorUpgradable);
+ CLprintf(file," 'armor-upgradable %d\n",type->ArmorUpgradable);
}
- fprintf(file," 'priority %d",type->Priority);
+ CLprintf(file," 'priority %d",type->Priority);
if( all || type->AnnoyComputerFactor ) {
- fprintf(file," 'annoy-computer-factor %d",type->AnnoyComputerFactor);
+ CLprintf(file," 'annoy-computer-factor %d",type->AnnoyComputerFactor);
}
- fputs("\n",file);
+ CLprintf(file,"\n");
if( all || type->DecayRate ) {
- fprintf(file," 'decay-rate %d\n",type->DecayRate);
+ CLprintf(file," 'decay-rate %d\n",type->DecayRate);
}
if( all || type->Points ) {
- fprintf(file," 'points %d\n",type->Points);
+ CLprintf(file," 'points %d\n",type->Points);
}
if( all || type->Demand ) {
- fprintf(file," 'demand %d\n",type->Demand);
+ CLprintf(file," 'demand %d\n",type->Demand);
}
if( all || type->Supply ) {
- fprintf(file," 'supply %d\n",type->Supply);
+ CLprintf(file," 'supply %d\n",type->Supply);
}
if( type->CorpseName ) {
- fprintf(file," 'corpse '(%s %d)\n",
+ CLprintf(file," 'corpse '(%s %d)\n",
type->CorpseName,type->CorpseScript);
}
if( type->ExplodeWhenKilled ) {
- fprintf(file," 'explode-when-killed\n");
+ CLprintf(file," 'explode-when-killed\n");
}
- fprintf(file," ");
+ CLprintf(file," ");
switch( type->UnitType ) {
case UnitTypeLand:
- fputs("'type-land",file);
+ CLprintf(file,"'type-land");
break;
case UnitTypeFly:
- fputs("'type-fly",file);
+ CLprintf(file,"'type-fly");
break;
case UnitTypeNaval:
- fputs("'type-naval",file);
+ CLprintf(file,"'type-naval");
break;
default:
- fputs("'type-unknown",file);
+ CLprintf(file,"'type-unknown");
break;
}
- fprintf(file,"\n");
+ CLprintf(file,"\n");
- fprintf(file," ");
+ CLprintf(file," ");
switch( type->MouseAction ) {
case MouseActionNone:
if( all ) {
- fprintf(file,"'right-none");
+ CLprintf(file,"'right-none");
}
break;
case MouseActionAttack:
- fprintf(file,"'right-attack");
+ CLprintf(file,"'right-attack");
break;
case MouseActionMove:
- fprintf(file,"'right-move");
+ CLprintf(file,"'right-move");
break;
case MouseActionHarvest:
- fprintf(file,"'right-harvest");
+ CLprintf(file,"'right-harvest");
break;
case MouseActionDemolish:
- fprintf(file,"'right-demolish");
+ CLprintf(file,"'right-demolish");
break;
case MouseActionSail:
- fprintf(file,"'right-sail");
+ CLprintf(file,"'right-sail");
break;
default:
- fprintf(file,"'right-unknown");
+ CLprintf(file,"'right-unknown");
break;
}
- fprintf(file,"\n");
+ CLprintf(file,"\n");
if( type->GroundAttack ) {
- fprintf(file," 'can-ground-attack\n");
+ CLprintf(file," 'can-ground-attack\n");
}
if( type->CanAttack ) {
- fprintf(file," 'can-attack\n");
+ CLprintf(file," 'can-attack\n");
}
if( type->CanRepair ) {
- fprintf(file," 'can-repair\n");
+ CLprintf(file," 'can-repair\n");
}
if( type->CanTarget ) {
- fprintf(file," ");
+ CLprintf(file," ");
if( type->CanTarget&CanTargetLand ) {
- fprintf(file,"'can-target-land ");
+ CLprintf(file,"'can-target-land ");
}
if( type->CanTarget&CanTargetSea ) {
- fprintf(file,"'can-target-sea ");
+ CLprintf(file,"'can-target-sea ");
}
if( type->CanTarget&CanTargetAir ) {
- fprintf(file,"'can-target-air ");
+ CLprintf(file,"'can-target-air ");
}
if( type->CanTarget&~7 ) {
- fprintf(file,"'can-target-other ");
+ CLprintf(file,"'can-target-other ");
}
- fprintf(file,"\n");
+ CLprintf(file,"\n");
}
if( type->Building ) {
- fprintf(file," 'building\n");
+ CLprintf(file," 'building\n");
}
if( type->ShoreBuilding ) {
- fprintf(file," 'shore-building\n");
+ CLprintf(file," 'shore-building\n");
}
if( type->LandUnit ) {
- fprintf(file," 'land-unit\n");
+ CLprintf(file," 'land-unit\n");
}
if( type->AirUnit ) {
- fprintf(file," 'air-unit\n");
+ CLprintf(file," 'air-unit\n");
}
if( type->SeaUnit ) {
- fprintf(file," 'sea-unit\n");
+ CLprintf(file," 'sea-unit\n");
}
if( type->Critter ) {
- fprintf(file," 'critter\n");
+ CLprintf(file," 'critter\n");
}
if( type->Revealer ) {
- fprintf(file," 'revealer\n");
+ CLprintf(file," 'revealer\n");
}
if( type->Submarine ) {
- fprintf(file," 'submarine\n");
+ CLprintf(file," 'submarine\n");
}
if( type->CanSeeSubmarine ) {
- fprintf(file," 'can-see-submarine\n");
+ CLprintf(file," 'can-see-submarine\n");
}
if( type->Transporter ) {
- fprintf(file," 'transporter\n");
+ CLprintf(file," 'transporter\n");
}
if( type->CowerWorker ) {
- fprintf(file," 'cower-worker\n");
+ CLprintf(file," 'cower-worker\n");
}
if( type->Harvester ) {
- fprintf(file," 'harvester 'resource-harvested
'%s",DefaultResourceNames[type->ResourceHarvested]);
+ CLprintf(file," 'harvester 'resource-harvested
'%s",DefaultResourceNames[type->ResourceHarvested]);
}
if ( type->WaitAtResource ) {
- fprintf(file," 'wait-at-resource %d\n",type->WaitAtResource);
+ CLprintf(file," 'wait-at-resource %d\n",type->WaitAtResource);
}
if ( type->WaitAtDepot ) {
- fprintf(file," 'wait-at-depot %d\n",type->WaitAtDepot);
+ CLprintf(file," 'wait-at-depot %d\n",type->WaitAtDepot);
}
if ( type->ResourceCapacity ) {
- fprintf(file," 'resource-capacity %d\n",type->ResourceCapacity);
+ CLprintf(file," 'resource-capacity %d\n",type->ResourceCapacity);
}
if ( type->TransformWhenEmpty ) {
- fprintf(file," 'transform-when-empty
'%s\n",type->TransformWhenEmpty->Ident);
+ CLprintf(file," 'transform-when-empty
'%s\n",type->TransformWhenEmpty->Ident);
}
if ( type->TransformWhenLoaded ) {
- fprintf(file," 'transform-when-loaded
'%s\n",type->TransformWhenLoaded->Ident);
+ CLprintf(file," 'transform-when-loaded
'%s\n",type->TransformWhenLoaded->Ident);
}
if( type->GivesResource ) {
- fprintf(file," 'gives-resource
'%s\n",DefaultResourceNames[type->GivesResource]);
+ CLprintf(file," 'gives-resource
'%s\n",DefaultResourceNames[type->GivesResource]);
}
// Save store info.
@@ -907,75 +901,75 @@
if (type->CanStore[i]) {
if (!flag) {
flag=1;
- fprintf(file," 'can-store '(%s",DefaultResourceNames[i]);
+ CLprintf(file," 'can-store '(%s",DefaultResourceNames[i]);
} else {
- fprintf(file," %s",DefaultResourceNames[i]);
+ CLprintf(file," %s",DefaultResourceNames[i]);
}
}
if (flag)
- fprintf(file,")");
+ CLprintf(file,")");
if( type->MustBuildOnTop ) {
- fprintf(file," 'must-build-on-top '%s\n",type->MustBuildOnTop->Ident);
+ CLprintf(file," 'must-build-on-top '%s\n",type->MustBuildOnTop->Ident);
}
if( type->CanHarvest ) {
- fprintf(file," 'can-harvest\n");
+ CLprintf(file," 'can-harvest\n");
}
if( type->Vanishes ) {
- fprintf(file," 'vanishes\n");
+ CLprintf(file," 'vanishes\n");
}
if( type->Tower ) {
- fprintf(file," 'tower\n");
+ CLprintf(file," 'tower\n");
}
if( type->Hero ) {
- fprintf(file," 'hero\n");
+ CLprintf(file," 'hero\n");
}
if( type->Volatile ) {
- fprintf(file," 'volatile\n");
+ CLprintf(file," 'volatile\n");
}
if( type->CowerMage ) {
- fprintf(file," 'cower-mage\n");
+ CLprintf(file," 'cower-mage\n");
}
if( type->IsUndead ) {
- fprintf(file," 'isundead\n");
+ CLprintf(file," 'isundead\n");
}
if( type->CanCastSpell ) {
- fprintf(file," 'can-cast-spell\n");
+ CLprintf(file," 'can-cast-spell\n");
}
if( type->Organic ) {
- fprintf(file," 'organic\n");
+ CLprintf(file," 'organic\n");
}
if( type->SelectableByRectangle ) {
- fprintf(file," 'selectable-by-rectangle\n");
+ CLprintf(file," 'selectable-by-rectangle\n");
}
if( type->Teleporter ) {
- fprintf(file," 'teleporter\n");
+ CLprintf(file," 'teleporter\n");
}
- fprintf(file," 'sounds '(");
+ CLprintf(file," 'sounds '(");
if( type->Sound.Selected.Name ) {
- fprintf(file,"\n selected \"%s\"",type->Sound.Selected.Name);
+ CLprintf(file,"\n selected \"%s\"",type->Sound.Selected.Name);
}
if( type->Sound.Acknowledgement.Name ) {
- fprintf(file,"\n acknowledge \"%s\"",
+ CLprintf(file,"\n acknowledge \"%s\"",
type->Sound.Acknowledgement.Name);
}
if( type->Sound.Ready.Name ) {
- fprintf(file,"\n ready \"%s\"",type->Sound.Ready.Name);
+ CLprintf(file,"\n ready \"%s\"",type->Sound.Ready.Name);
}
if( type->Sound.Help.Name ) {
- fprintf(file,"\n help \"%s\"",type->Sound.Help.Name);
+ CLprintf(file,"\n help \"%s\"",type->Sound.Help.Name);
}
if( type->Sound.Dead.Name ) {
- fprintf(file,"\n dead \"%s\"",type->Sound.Dead.Name);
+ CLprintf(file,"\n dead \"%s\"",type->Sound.Dead.Name);
}
// FIXME: Attack should be removed!
if( type->Weapon.Attack.Name ) {
- fprintf(file,"\n attack \"%s\"",type->Weapon.Attack.Name);
+ CLprintf(file,"\n attack \"%s\"",type->Weapon.Attack.Name);
}
- fprintf(file,")");
- fprintf(file,")\n\n");
+ CLprintf(file,")");
+ CLprintf(file,")\n\n");
}
/**
@@ -987,33 +981,33 @@
** @param file Output file.
*/
local void SaveUnitStats(const UnitStats* stats,const char* ident,int plynr,
- FILE* file)
+ CLFile* file)
{
DebugCheck(plynr>=PlayerMax);
int j;
- fprintf(file,"(define-unit-stats '%s %d\n ",ident,plynr);
- fprintf(file,"'level %d ",stats->Level);
- fprintf(file,"'speed %d ",stats->Speed);
- fprintf(file,"'attack-range %d ",stats->AttackRange);
- fprintf(file,"'sight-range %d\n ",stats->SightRange);
- fprintf(file,"'armor %d ",stats->Armor);
- fprintf(file,"'basic-damage %d ",stats->BasicDamage);
- fprintf(file,"'piercing-damage %d ",stats->PiercingDamage);
- fprintf(file,"'hit-points %d\n ",stats->HitPoints);
- fprintf(file,"'costs '(");
+ CLprintf(file,"(define-unit-stats '%s %d\n ",ident,plynr);
+ CLprintf(file,"'level %d ",stats->Level);
+ CLprintf(file,"'speed %d ",stats->Speed);
+ CLprintf(file,"'attack-range %d ",stats->AttackRange);
+ CLprintf(file,"'sight-range %d\n ",stats->SightRange);
+ CLprintf(file,"'armor %d ",stats->Armor);
+ CLprintf(file,"'basic-damage %d ",stats->BasicDamage);
+ CLprintf(file,"'piercing-damage %d ",stats->PiercingDamage);
+ CLprintf(file,"'hit-points %d\n ",stats->HitPoints);
+ CLprintf(file,"'costs '(");
for( j=0; j<MaxCosts; ++j ) {
if( j ) {
// if( j==MaxCosts/2 ) {
// fputs("\n ",file);
// } else {
- fputc(' ',file);
+ CLprintf(file," ");
// }
}
- fprintf(file,"%s %d",DefaultResourceNames[j],stats->Costs[j]);
+ CLprintf(file,"%s %d",DefaultResourceNames[j],stats->Costs[j]);
}
- fprintf(file,") )\n");
+ CLprintf(file,") )\n");
}
/**
@@ -1021,25 +1015,25 @@
**
** @param file Output file.
*/
-global void SaveUnitTypes(FILE* file)
+global void SaveUnitTypes(CLFile* file)
{
int i;
int j;
char **sp;
- fprintf(file,"\n;;; -----------------------------------------\n");
- fprintf(file,";;; MODULE: unittypes $Id: unittype.c,v 1.84 2003/08/11
02:14:46 n0body Exp $\n\n");
+ CLprintf(file,"\n;;; -----------------------------------------\n");
+ CLprintf(file,";;; MODULE: unittypes $Id: unittype.c,v 1.85 2003/08/17
15:57:08 n0body Exp $\n\n");
// Original number to internal unit-type name.
- i=fprintf(file,"(define-unittype-wc-names");
+ i=CLprintf(file,"(define-unittype-wc-names");
for( sp=UnitTypeWcNames; *sp; ++sp ) {
if( i+strlen(*sp)>79 ) {
- i=fprintf(file,"\n ");
+ i=CLprintf(file,"\n ");
}
- i+=fprintf(file," '%s",*sp);
+ i+=CLprintf(file," '%s",*sp);
}
- fprintf(file,")\n");
+ CLprintf(file,")\n");
// Save all animations.
@@ -1047,24 +1041,24 @@
SaveAnimations(UnitTypes[i],file);
}
- fprintf(file,"\n;;; Declare all unit types in advance.\n");
+ CLprintf(file,"\n;;; Declare all unit types in advance.\n");
// Define all types in advance to avoid undefined unit problems.
for ( i=0; i<NumUnitTypes; ++i ) {
- fprintf(file,"(define-unit-type '%s)\n",UnitTypes[i]->Ident);
+ CLprintf(file,"(define-unit-type '%s)\n",UnitTypes[i]->Ident);
}
- fprintf(file,"\n");
+ CLprintf(file,"\n");
// Save all types
for( i=0; i<NumUnitTypes; ++i ) {
- fputc('\n',file);
+ CLprintf(file,"\n");
SaveUnitType(file,UnitTypes[i],0);
}
// Save all stats
for( i=0; i<NumUnitTypes; ++i ) {
- fputc('\n',file);
+ CLprintf(file,"\n");
for( j=0; j<PlayerMax; ++j ) {
SaveUnitStats(&UnitTypes[i]->Stats[j],UnitTypes[i]->Ident,j,file);
}
Index: stratagus/src/unit/upgrade.c
diff -u stratagus/src/unit/upgrade.c:1.57 stratagus/src/unit/upgrade.c:1.58
--- stratagus/src/unit/upgrade.c:1.57 Sat Aug 9 16:08:39 2003
+++ stratagus/src/unit/upgrade.c Sun Aug 17 11:57:08 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: upgrade.c,v 1.57 2003/08/09 20:08:39 martinxyz Exp $
+// $Id: upgrade.c,v 1.58 2003/08/17 15:57:08 n0body Exp $
//@{
@@ -543,92 +543,92 @@
**
** @param file Output file.
*/
-global void SaveUpgrades(FILE* file)
+global void SaveUpgrades(CLFile* file)
{
int i;
int j;
int p;
- fprintf(file,"\n;;; -----------------------------------------\n");
- fprintf(file,";;; MODULE: upgrades $Id: upgrade.c,v 1.57 2003/08/09
20:08:39 martinxyz Exp $\n\n");
+ CLprintf(file,"\n;;; -----------------------------------------\n");
+ CLprintf(file,";;; MODULE: upgrades $Id: upgrade.c,v 1.58 2003/08/17
15:57:08 n0body Exp $\n\n");
/* remove?
//
// Save all upgrades
//
for( i=0; i<NumUpgrades; ++i ) {
- fprintf(file,"(define-upgrade '%s 'icon '%s\n"
+ CLprintf(file,"(define-upgrade '%s 'icon '%s\n"
,Upgrades[i].Ident,Upgrades[i].Icon.Name);
- fprintf(file," 'costs #(");
+ CLprintf(file," 'costs #(");
for( j=0; j<MaxCosts; ++j ) {
- fprintf(file," %5d",Upgrades[i].Costs[j]);
+ CLprintf(file," %5d",Upgrades[i].Costs[j]);
}
- fprintf(file,"))\n");
+ CLprintf(file,"))\n");
}
- fprintf(file,"\n");
+ CLprintf(file,"\n");
*/
//
// Save all upgrades
//
for( i=0; i<NumUpgrades; ++i ) {
- fprintf(file,"(define-upgrade '%s 'icon '%s\n"
+ CLprintf(file,"(define-upgrade '%s 'icon '%s\n"
,Upgrades[i].Ident,Upgrades[i].Icon.Name);
- fprintf(file," 'costs #(");
+ CLprintf(file," 'costs #(");
for( j=0; j<MaxCosts; ++j ) {
- fprintf(file," %5d",Upgrades[i].Costs[j]);
+ CLprintf(file," %5d",Upgrades[i].Costs[j]);
}
- fprintf(file,"))\n");
+ CLprintf(file,"))\n");
}
- fprintf(file,"\n");
+ CLprintf(file,"\n");
//
// Save all upgrade modifiers.
//
for( i=0; i<NumUpgradeModifiers; ++i ) {
- fprintf(file,"(define-modifier '%s",
+ CLprintf(file,"(define-modifier '%s",
Upgrades[UpgradeModifiers[i]->UpgradeId].Ident);
if( UpgradeModifiers[i]->Modifier.AttackRange ) {
- fprintf(file,"\n '(attack-range %d)"
+ CLprintf(file,"\n '(attack-range %d)"
,UpgradeModifiers[i]->Modifier.AttackRange );
}
if( UpgradeModifiers[i]->Modifier.SightRange ) {
- fprintf(file,"\n '(sight-range %d)"
+ CLprintf(file,"\n '(sight-range %d)"
,UpgradeModifiers[i]->Modifier.SightRange );
}
if( UpgradeModifiers[i]->Modifier.BasicDamage ) {
- fprintf(file,"\n '(basic-damage %d)"
+ CLprintf(file,"\n '(basic-damage %d)"
,UpgradeModifiers[i]->Modifier.BasicDamage );
}
if( UpgradeModifiers[i]->Modifier.PiercingDamage ) {
- fprintf(file,"\n '(piercing-damage %d)"
+ CLprintf(file,"\n '(piercing-damage %d)"
,UpgradeModifiers[i]->Modifier.PiercingDamage );
}
if( UpgradeModifiers[i]->Modifier.Armor ) {
- fprintf(file,"\n '(armor %d)"
+ CLprintf(file,"\n '(armor %d)"
,UpgradeModifiers[i]->Modifier.Armor );
}
if( UpgradeModifiers[i]->Modifier.Speed ) {
- fprintf(file,"\n '(speed %d)"
+ CLprintf(file,"\n '(speed %d)"
,UpgradeModifiers[i]->Modifier.Speed );
}
if( UpgradeModifiers[i]->Modifier.HitPoints ) {
- fprintf(file,"\n '(hit-points %d)"
+ CLprintf(file,"\n '(hit-points %d)"
,UpgradeModifiers[i]->Modifier.HitPoints );
}
for( j=0; j<MaxCosts; ++j ) {
if( UpgradeModifiers[i]->Modifier.Costs[j] ) {
- fprintf(file,"\n '(%s-cost %d)"
+ CLprintf(file,"\n '(%s-cost %d)"
,DefaultResourceNames[j],UpgradeModifiers[i]->Modifier.Costs[j]);
}
}
for( j=0; j<UnitTypeMax; ++j ) { // allow/forbid units
if( UpgradeModifiers[i]->ChangeUnits[j]!='?' ) {
- fprintf(file,"\n '(allow %s %d)",
+ CLprintf(file,"\n '(allow %s %d)",
UnitTypes[j]->Ident,
UpgradeModifiers[i]->ChangeUnits[j]);
}
@@ -636,65 +636,65 @@
for( j=0; j<UpgradeMax; ++j ) { // allow/forbid upgrades
if( UpgradeModifiers[i]->ChangeUpgrades[j]!='?' ) {
- fprintf(file,"\n '(allow %s %c)",Upgrades[j].Ident,
+ CLprintf(file,"\n '(allow %s %c)",Upgrades[j].Ident,
UpgradeModifiers[i]->ChangeUpgrades[j]);
}
}
for( j=0; j<UnitTypeMax; ++j ) { // apply to units
if( UpgradeModifiers[i]->ApplyTo[j]!='?' ) {
- fprintf(file,"\n '(apply-to %s)",UnitTypes[j]->Ident);
+ CLprintf(file,"\n '(apply-to %s)",UnitTypes[j]->Ident);
}
}
if( UpgradeModifiers[i]->ConvertTo ) {
- fprintf(file,"\n '(convert-to %s)",
+ CLprintf(file,"\n '(convert-to %s)",
((UnitType*)UpgradeModifiers[i]->ConvertTo)->Ident);
}
- fprintf(file,")\n\n");
+ CLprintf(file,")\n\n");
}
//
// Save the allow
//
for( i=0; i<NumUnitTypes; ++i ) {
- fprintf(file,"(define-allow '%s\t",UnitTypes[i]->Ident);
+ CLprintf(file,"(define-allow '%s\t",UnitTypes[i]->Ident);
if( strlen(UnitTypes[i]->Ident)<9 ) {
- fprintf(file,"\t\t\t\"");
+ CLprintf(file,"\t\t\t\"");
} else if( strlen(UnitTypes[i]->Ident)<17 ) {
- fprintf(file,"\t\t\"");
+ CLprintf(file,"\t\t\"");
} else if( strlen(UnitTypes[i]->Ident)<25 ) {
- fprintf(file,"\t\"");
+ CLprintf(file,"\t\"");
} else {
- fprintf(file,"\"");
+ CLprintf(file,"\"");
}
for( p=0; p<PlayerMax; ++p ) {
- fprintf(file,"%c",Players[p].Allow.Units[i]);
+ CLprintf(file,"%c",Players[p].Allow.Units[i]);
}
- fprintf(file,"\")\n");
+ CLprintf(file,"\")\n");
}
- fprintf(file,"\n");
+ CLprintf(file,"\n");
//
// Save the upgrades
//
for( i=0; i<NumUpgrades; ++i ) {
- fprintf(file,"(define-allow '%s\t",Upgrades[i].Ident);
+ CLprintf(file,"(define-allow '%s\t",Upgrades[i].Ident);
if( strlen(Upgrades[i].Ident)<9 ) {
- fprintf(file,"\t\t\t\"");
+ CLprintf(file,"\t\t\t\"");
} else if( strlen(Upgrades[i].Ident)<17 ) {
- fprintf(file,"\t\t\"");
+ CLprintf(file,"\t\t\"");
} else if( strlen(Upgrades[i].Ident)<25 ) {
- fprintf(file,"\t\"");
+ CLprintf(file,"\t\"");
} else {
- fprintf(file,"\"");
+ CLprintf(file,"\"");
}
for( p=0; p<PlayerMax; ++p ) {
- fprintf(file,"%c",Players[p].Allow.Upgrades[i]);
+ CLprintf(file,"%c",Players[p].Allow.Upgrades[i]);
}
- fprintf(file,"\"");
- fprintf(file,")\n");
+ CLprintf(file,"\"");
+ CLprintf(file,")\n");
}
}
Index: stratagus/src/video/cursor.c
diff -u stratagus/src/video/cursor.c:1.63 stratagus/src/video/cursor.c:1.64
--- stratagus/src/video/cursor.c:1.63 Wed Aug 13 10:55:45 2003
+++ stratagus/src/video/cursor.c Sun Aug 17 11:57:08 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: cursor.c,v 1.63 2003/08/13 14:55:45 martinxyz Exp $
+// $Id: cursor.c,v 1.64 2003/08/17 15:57:08 n0body Exp $
//@{
@@ -1110,47 +1110,47 @@
/**
** Save cursor state.
*/
-global void SaveCursors(FILE* file)
+global void SaveCursors(CLFile* file)
{
int i;
- fprintf(file,"\n;;; -----------------------------------------\n");
- fprintf(file,";;; MODULE: cursors $Id: cursor.c,v 1.63 2003/08/13 14:55:45
martinxyz Exp $\n\n");
+ CLprintf(file,"\n;;; -----------------------------------------\n");
+ CLprintf(file,";;; MODULE: cursors $Id: cursor.c,v 1.64 2003/08/17
15:57:08 n0body Exp $\n\n");
for( i=0; Cursors[i].OType; ++i ) {
- fprintf(file,"(define-cursor '%s '%s\n",
+ CLprintf(file,"(define-cursor '%s '%s\n",
Cursors[i].Ident, Cursors[i].Race ? Cursors[i].Race : "any");
- fprintf(file," 'image \"%s\"\n",Cursors[i].File);
- fprintf(file," 'hot-spot '(%d %d) ",Cursors[i].HotX,Cursors[i].HotY);
- fprintf(file,"'size '(%d %d) ",Cursors[i].Width,Cursors[i].Height);
- fprintf(file,")\n\n");
+ CLprintf(file," 'image \"%s\"\n",Cursors[i].File);
+ CLprintf(file," 'hot-spot '(%d %d) ",Cursors[i].HotX,Cursors[i].HotY);
+ CLprintf(file,"'size '(%d %d) ",Cursors[i].Width,Cursors[i].Height);
+ CLprintf(file,")\n\n");
}
// Not ready:
- fprintf(file,";;(set-game-cursor! '%s)\n",GameCursor->Ident);
+ CLprintf(file,";;(set-game-cursor! '%s)\n",GameCursor->Ident);
// FIXME: what about the other variables???
switch( CursorState ) {
case CursorStatePoint:
- fprintf(file,";;(cursor-state 'point)\n");
+ CLprintf(file,";;(cursor-state 'point)\n");
break;
case CursorStateSelect:
- fprintf(file,";;(cursor-state 'select)\n");
+ CLprintf(file,";;(cursor-state 'select)\n");
break;
case CursorStateRectangle:
- fprintf(file,";;(cursor-state 'rectangle)\n");
+ CLprintf(file,";;(cursor-state 'rectangle)\n");
break;
}
- fprintf(file,";;(cursor-action %d)\n",CursorAction);
+ CLprintf(file,";;(cursor-action %d)\n",CursorAction);
#ifndef NEW_UI
- fprintf(file,";;(cursor-value %d)\n",CursorValue);
+ CLprintf(file,";;(cursor-value %d)\n",CursorValue);
#else
- fprintf(file,";;(cursor-spell %d)\n",CursorSpell);
+ CLprintf(file,";;(cursor-spell %d)\n",CursorSpell);
#endif
- fprintf(file,";;(cursor-building '%s)\n",
+ CLprintf(file,";;(cursor-building '%s)\n",
CursorBuilding ? CursorBuilding->Ident : "()");
- fprintf(file,";;(cursor-position '(%d %d)\n",CursorX,CursorY);
- fprintf(file,";;(cursor-start '(%d %d)\n",CursorStartX,CursorStartY);
- fprintf(file,";;(unit-under-cursor %s\n",
+ CLprintf(file,";;(cursor-position '(%d %d)\n",CursorX,CursorY);
+ CLprintf(file,";;(cursor-start '(%d %d)\n",CursorStartX,CursorStartY);
+ CLprintf(file,";;(unit-under-cursor %s\n",
UnitUnderCursor ? UnitReference(UnitUnderCursor) : "()");
}
Index: stratagus/src/video/png.c
diff -u stratagus/src/video/png.c:1.22 stratagus/src/video/png.c:1.23
--- stratagus/src/video/png.c:1.22 Fri Jul 11 10:35:34 2003
+++ stratagus/src/video/png.c Sun Aug 17 11:57:08 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: png.c,v 1.22 2003/07/11 14:35:34 n0body Exp $
+// $Id: png.c,v 1.23 2003/08/17 15:57:08 n0body Exp $
//@{
@@ -93,7 +93,7 @@
//
// open + prepare
//
- if( !(fp=CLopen(name)) ) {
+ if( !(fp=CLopen(name,CL_OPEN_READ)) ) {
perror("Can't open file");
return NULL;
}
Index: stratagus/src/video/video.c
diff -u stratagus/src/video/video.c:1.62 stratagus/src/video/video.c:1.63
--- stratagus/src/video/video.c:1.62 Fri Jul 11 10:35:34 2003
+++ stratagus/src/video/video.c Sun Aug 17 11:57:08 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: video.c,v 1.62 2003/07/11 14:35:34 n0body Exp $
+// $Id: video.c,v 1.63 2003/08/17 15:57:08 n0body Exp $
//@{
@@ -557,7 +557,7 @@
unsigned char *p;
unsigned char buffer[256*3];
- if( !(fp=CLopen(name)) || CLread(fp,buffer,256*3)!=256*3 ) {
+ if( !(fp=CLopen(name,CL_OPEN_READ)) || CLread(fp,buffer,256*3)!=256*3 ) {
fprintf(stderr,"Can't load palette %s\n",name);
ExitFatal(-1);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Stratagus-CVS] stratagus doc/ChangeLog.html src/ai/new_ai.c sr...,
Crestez Leonard <=