cp src/sim/sim $@
strip $@
-src/sim/sim: tcl tk tclx sim
+src/sim/sim: sim
@#
tcl:
cd src/tcl && $(MAKE) MAKEFLAGS=
-tk:
+tk: tcl
cd src/tk && $(MAKE) MAKEFLAGS=
-tclx:
+tclx: tk
cd src/tclx && $(MAKE) MAKEFLAGS=
-sim:
+sim: tclx
cd src/sim && $(MAKE) MAKEFLAGS=
clean:
extern int WireMode;
extern int MultiPlayerMode;
extern int SugarMode;
+extern int LegacyMode;
extern int sim_delay;
extern int sim_skips;
extern int sim_skip;
int WireMode = 0;
int MultiPlayerMode = 0;
int SugarMode = 0;
+int LegacyMode = 0;
int TilesAnimated = 0;
int DoAnimation = 1;
int DoMessages = 1;
sim = MakeNewSim();
- sprintf(initCmd, "source %s/micropolis.tcl", ResourceDir);
+ sprintf(initCmd, "%s/simcity.tcl", ResourceDir);
+ if (access(initCmd, R_OK) == 0) {
+ printf("Found %s, entering legacy mode.\n", initCmd);
+ LegacyMode = 1;
+ SugarMode = 0;
+ Eval("winfo-setlegacy");
+ }
+
+ if (!LegacyMode) {
+ sprintf(initCmd, "source %s/micropolis.tcl", ResourceDir);
+ } else {
+ sprintf(initCmd, "source %s/simcity.tcl", ResourceDir);
+ }
filename2UNIX(initCmd);
if (Eval(initCmd)) {
sim_exit(1); // Just sets tkMustExit and ExitReturn
{ char buf[1024];
- sprintf(buf, "UIStartMicropolis {%s} {%s} {%s}",
- HomeDir, ResourceDir, HostName);
+ if (!LegacyMode) {
+ sprintf(buf, "UIStartMicropolis {%s} {%s} {%s}",
+ HomeDir, ResourceDir, HostName);
+ } else {
+ sprintf(buf, "UIStartSimCity {%s} {%s} {} {%s}",
+ HomeDir, ResourceDir, HostName);
+ }
filename2UNIX(buf);
if (Eval(buf) != TCL_OK) {
sim_exit(1); // Just sets tkMustExit and ExitReturn
sprintf(str, "%s %d", dateStr[m], y);
- sprintf(buf,
- "UISetDate {%s} %d %d",
- str, m, y);
+ if (!LegacyMode) {
+ sprintf(buf,
+ "UISetDate {%s} %d %d",
+ str, m, y);
+ } else {
+ sprintf(buf,
+ "UISetDate {%s}",
+ str);
+ }
Eval(buf);
}
}
UpdateOptionsMenu(int options)
{
char buf[256];
- sprintf(buf, "UISetOptions %d %d %d %d %d %d %d %d",
- (options&1)?1:0, (options&2)?1:0,
- (options&4)?1:0, (options&8)?1:0,
- (options&16)?1:0, (options&32)?1:0,
- (options&64)?1:0, (options&128)?1:0);
+ if (!LegacyMode) {
+ sprintf(buf, "UISetOptions %d %d %d %d %d %d %d %d",
+ (options&1)?1:0, (options&2)?1:0,
+ (options&4)?1:0, (options&8)?1:0,
+ (options&16)?1:0, (options&32)?1:0,
+ (options&64)?1:0, (options&128)?1:0);
+ } else {
+ sprintf(buf, "UISetOptions %d %d %d %d %d %d",
+ (options&1)?1:0, (options&2)?1:0,
+ (options&4)?1:0, (options&8)?1:0,
+ (options&16)?1:0, (options&32)?1:0);
+ }
Eval(buf);
}
wish: TKX_MAKES runwish
-TKX_MAKES: libtk.a
+TKX_MAKES: libtk.a tcl
cd tkucbsrc; $(MAKE) -$(MAKEFLAGS) all
cd tksrc; $(MAKE) -$(MAKEFLAGS) all
# Also generate a script to point the TCLDEFAULT environment variable
# at this file for testing Tcl before its installed.
-tcldef:
+tcldef: tcl
@echo " - Generating temporary TCLDEFAULT file. -"
@echo " - Use runtcl script to test Tcl before installing -"
@echo " - Use runwish script to test Tk before installing -"
@echo "set TCLPATH `pwd`/tcllib" >>tcldef
@echo "set TCLINIT `pwd`/tcllib/tclinit.tcl" >>tcldef
-runtcl:
+runtcl: tcldef
@echo ':' >runtcl
@echo '# script for testing Tcl before installation' >>runtcl
@echo "TCLDEFAULT=`pwd`/tcldef" >>runtcl
Tcl_Interp *interp, int argc, char **argv));
extern int Tk_WinfoCmd _ANSI_ARGS_((ClientData clientData,
Tcl_Interp *interp, int argc, char **argv));
+extern int Tk_WinfoCmdSetLegacy _ANSI_ARGS_((ClientData clientData,
+ Tcl_Interp *interp, int argc, char **argv));
extern int Tk_WmCmd _ANSI_ARGS_((ClientData clientData,
Tcl_Interp *interp, int argc, char **argv));
extern int Tcp_AcceptCmd _ANSI_ARGS_((ClientData clientData,
}
}
\f
+static int LegacyMode = 0;
+
+int
+Tk_WinfoCmdSetLegacy (
+ ClientData clientData, /* Main window associated with
+ * interpreter. */
+ Tcl_Interp *interp, /* Current interpreter. */
+ int argc, /* Number of arguments. */
+ char **argv /* Argument strings. */
+)
+{
+ LegacyMode = 1;
+
+ return TCL_OK;
+}
+
/*
*----------------------------------------------------------------------
*
case PseudoColor: interp->result = "pseudocolor"; break;
case GrayScale: interp->result = "grayscale"; break;
case DirectColor: interp->result = "directcolor"; break;
- case TrueColor: interp->result = "truecolor"; break;
+ case TrueColor: interp->result = LegacyMode?"pseudocolor":"truecolor"; break;
case StaticColor: interp->result = "staticcolor"; break;
case StaticGray: interp->result = "staticgray"; break;
default: interp->result = "unknown"; break;
{"tkwait", Tk_TkwaitCmd},
{"update", Tk_UpdateCmd},
{"winfo", Tk_WinfoCmd},
+ {"winfo-setlegacy", Tk_WinfoCmdSetLegacy},
{"wm", Tk_WmCmd},
{"accept", Tcp_AcceptCmd},
{"shutdown", Tcp_ShutdownCmd},