int TileViewCmd(CLIENT_ARGS);
-int ConfigureTileView(Tcl_Interp *interp, SimView *view,
- int argc, char **argv, int flags);
static void TileViewEventProc(ClientData clientData, XEvent *eventPtr);
static void DestroyTileView(ClientData clientData);
-
-int ConfigureSimGraph(Tcl_Interp *interp, SimGraph *graph,
- int argc, char **argv, int flags);
-
static void MicropolisTimerProc(ClientData clientData);
int SimCmd(CLIENT_ARGS);
int GraphViewCmd(CLIENT_ARGS);
int DoGraphCmd(CLIENT_ARGS);
int SpriteCmd(CLIENT_ARGS);
-extern int Tk_PieMenuCmd();
-extern int Tk_IntervalCmd();
+extern int Tk_PieMenuCmd(CLIENT_ARGS);
+extern int Tk_IntervalCmd(CLIENT_ARGS);
int
PointerMotionMask,
TileViewEventProc, (ClientData) view);
Tcl_CreateCommand(interp, Tk_PathName(view->tkwin),
- DoEditorCmd, (ClientData) view, (void (*)()) NULL);
+ DoEditorCmd, (ClientData) view, (void (*)(int *)) NULL);
} else {
Tk_SetClass(view->tkwin, "MapView");
PointerMotionMask */ ,
TileViewEventProc, (ClientData) view);
Tcl_CreateCommand(interp, Tk_PathName(view->tkwin),
- DoMapCmd, (ClientData) view, (void (*)()) NULL);
+ DoMapCmd, (ClientData) view, (void (*)(int *)) NULL);
}
Tk_MakeWindowExist(view->tkwin);
}
-InvalidateMaps()
+void
+InvalidateMaps(void)
{
SimView *view;
}
-InvalidateEditors()
+void
+InvalidateEditors(void)
{
SimView *view;
}
-RedrawMaps()
+void
+RedrawMaps(void)
{
SimView *view;
}
-RedrawEditors()
+void
+RedrawEditors(void)
{
SimView *view;
{
SimView *view = (SimView *) clientData;
Tk_Window tkwin = view->tkwin;
- Pixmap pm = None;
- Drawable d;
view->flags &= ~VIEW_REDRAW_PENDING;
if (view->visible && (tkwin != NULL) && Tk_IsMapped(tkwin)) {
EraserTo
*/
+void
EventuallyRedrawView(SimView *view)
{
if (!(view->flags & VIEW_REDRAW_PENDING)) {
}
+void
CancelRedrawView(SimView *view)
{
if (view->flags & VIEW_REDRAW_PENDING) {
if (view->tool_mode != 0) {
int dx = 0, dy = 0;
- int result, root_x, root_y, x, y;
+ int root_x, root_y, x, y;
unsigned int key_buttons;
Window root, child;
(eventPtr->type == MotionNotify))) {
int last_x = view->tool_x, last_y = view->tool_y,
last_showing = view->tool_showing;
- int x, y, showing, autoscroll;
+ int x, y, showing;
if (eventPtr->type == EnterNotify) {
showing = 1;
/* XXX: redraw all views showing cursor */
/* XXX: also, make sure switching tools works w/out moving */
if (((view->tool_showing != last_showing) ||
- (view->tool_x != last_x) ||
- (view->tool_y != last_y))) {
+ ((view->tool_x >> 4) != (last_x >> 4)) ||
+ ((view->tool_y >> 4) != (last_y >> 4)))) {
#if 1
EventuallyRedrawView(view);
#else
}
+#if 0
static void
DelayedMap(ClientData clientData)
{
}
Tk_MapWindow(MainWindow);
}
+#endif
+void
DidStopPan(SimView *view)
{
char buf[256];
}
-StartMicropolisTimer()
+void
+StartMicropolisTimer(void)
{
if (sim_timer_idle == 0) {
sim_timer_idle = 1;
}
-StopMicropolisTimer()
+void
+StopMicropolisTimer(void)
{
if (sim_timer_idle != 0) {
sim_timer_idle = 0;
}
+void
FixMicropolisTimer()
{
if (sim_timer_set) {
- StartMicropolisTimer(NULL);
+ StartMicropolisTimer();
}
}
}
-Kick()
+void
+Kick(void)
{
if (!UpdateDelayed) {
UpdateDelayed = 1;
void
-StopEarthquake()
+StopEarthquake(void)
{
ShakeNow = 0;
if (earthquake_timer_set) {
}
+void
DoEarthQuake(void)
{
MakeSound("city", "Explosion-Low");
if (earthquake_timer_set) {
Tk_DeleteTimerHandler(earthquake_timer_token);
}
- Tk_CreateTimerHandler(earthquake_delay, (void (*)())StopEarthquake, (ClientData) 0);
+ Tk_CreateTimerHandler(earthquake_delay, (void (*)(int *))StopEarthquake, (ClientData) 0);
earthquake_timer_set = 1;
}
-StopToolkit()
+void
+StopToolkit(void)
{
if (tk_mainInterp != NULL) {
Eval("catch {DoStopMicropolis}");
}
+int
Eval(char *buf)
{
int result = Tcl_Eval(tk_mainInterp, buf, 0, (char **) NULL);
}
-tk_main()
+void tk_main(void)
{
- char *p, *msg;
- char buf[20];
char initCmd[256];
Tk_3DBorder border;
graph_command_init();
date_command_init();
sprite_command_init();
+ sound_command_init();
#ifdef CAM
cam_command_init();
#endif
Tcl_CreateCommand(tk_mainInterp, "piemenu", Tk_PieMenuCmd,
- (ClientData)MainWindow, (void (*)()) NULL);
+ (ClientData)MainWindow, (void (*)(int *)) NULL);
Tcl_CreateCommand(tk_mainInterp, "interval", Tk_IntervalCmd,
- (ClientData)MainWindow, (void (*)()) NULL);
+ (ClientData)MainWindow, (void (*)(int *)) NULL);
sim = MakeNewSim();
Tk_MainLoop();
- sim_exit(0); // Just sets tkMustExit and ExitReturn
+ sim_really_exit(0);
bail: