︙ | | | ︙ | |
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
draw_text(24,32,"x",0xF0,0xF5);
x=x>=left_margin?(x-left_margin)/picture_size+1:0;
y=y/picture_size+1;
if(x>0 && y>0 && x<=pfwidth && y<=pfheight) snprintf(buf,8,"(%2d,%2d)",x,y);
else strcpy(buf," ");
draw_text(0,40,buf,0xF0,0xF1);
SDL_UnlockSurface(screen);
SDL_Flip(screen);
set_cursor(XC_arrow);
}
static void continue_animation(void) {
Uint32 n=firstobj;
Object*o;
|
>
|
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
draw_text(24,32,"x",0xF0,0xF5);
x=x>=left_margin?(x-left_margin)/picture_size+1:0;
y=y/picture_size+1;
if(x>0 && y>0 && x<=pfwidth && y<=pfheight) snprintf(buf,8,"(%2d,%2d)",x,y);
else strcpy(buf," ");
draw_text(0,40,buf,0xF0,0xF1);
SDL_UnlockSurface(screen);
if(quiz_text) draw_popup(quiz_text);
SDL_Flip(screen);
set_cursor(XC_arrow);
}
static void continue_animation(void) {
Uint32 n=firstobj;
Object*o;
|
︙ | | | ︙ | |
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
|
draw_text(200,y,"$",0xF0,0xFB);
draw_text(208,y,classes[v.u]->name,0xF0,0xFB);
break;
case TY_MESSAGE:
snprintf(buf,255,"%s%s",v.u<256?"":"#",v.u<256?standard_message_names[v.u]:messages[v.u-256]);
draw_text(200,y,buf,0xF0,0xFD);
break;
case TY_LEVELSTRING:
break;
case TY_STRING:
break;
case TY_SOUND: case TY_USOUND:
draw_text(200,y,"<Sound>",0xF0,0xF6);
break;
default:
snprintf(buf,80,"<%lu:%lu>",(long)v.u,(long)v.t);
draw_text(200,y,buf,0xF0,0xFA);
|
|
|
<
<
<
|
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
|
draw_text(200,y,"$",0xF0,0xFB);
draw_text(208,y,classes[v.u]->name,0xF0,0xFB);
break;
case TY_MESSAGE:
snprintf(buf,255,"%s%s",v.u<256?"":"#",v.u<256?standard_message_names[v.u]:messages[v.u-256]);
draw_text(200,y,buf,0xF0,0xFD);
break;
case TY_LEVELSTRING: case TY_STRING:
draw_text(200,y,"<String>",0xF0,0xF9);
break;
case TY_SOUND: case TY_USOUND:
draw_text(200,y,"<Sound>",0xF0,0xF6);
break;
default:
snprintf(buf,80,"<%lu:%lu>",(long)v.u,(long)v.t);
draw_text(200,y,buf,0xF0,0xFA);
|
︙ | | | ︙ | |
253
254
255
256
257
258
259
260
261
262
263
264
265
266
|
r.w=screen->w;
r.h=screen->h;
SDL_FillRect(screen,&r,0xF0);
SDL_LockSurface(screen);
exam_value("Self:",0,OVALUE(n));
exam_value("Class:",1,CVALUE(o->class));
exam_value("Image:",2,NVALUE(o->image));
exam_value("Dir:",3,NVALUE(o->dir));
exam_value("Misc1:",4,o->misc1);
exam_value("Misc2:",5,o->misc2);
exam_value("Misc3:",6,o->misc3);
exam_value("Misc4:",7,o->misc4);
exam_value("Misc5:",8,o->misc5);
exam_value("Misc6:",9,o->misc6);
|
>
|
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
|
r.w=screen->w;
r.h=screen->h;
SDL_FillRect(screen,&r,0xF0);
SDL_LockSurface(screen);
exam_value("Self:",0,OVALUE(n));
exam_value("Class:",1,CVALUE(o->class));
exam_value("Image:",2,NVALUE(o->image));
if(classes[o->class]->cflags&CF_QUIZ) goto quiz;
exam_value("Dir:",3,NVALUE(o->dir));
exam_value("Misc1:",4,o->misc1);
exam_value("Misc2:",5,o->misc2);
exam_value("Misc3:",6,o->misc3);
exam_value("Misc4:",7,o->misc4);
exam_value("Misc5:",8,o->misc5);
exam_value("Misc6:",9,o->misc6);
|
︙ | | | ︙ | |
281
282
283
284
285
286
287
288
289
290
291
292
293
294
|
exam_value("Inertia:",24,NVALUE(o->inertia));
exam_hardsharp("Hardness:",25,o->hard);
exam_hardsharp("Sharpness:",26,o->sharp);
while(sqlite3_step(st)==SQLITE_ROW) {
i=sqlite3_column_int(st,1);
exam_value(sqlite3_column_text(st,0),i+28,o->uservars[i]);
}
sqlite3_reset(st);
SDL_UnlockSurface(screen);
SDL_Flip(screen);
while(SDL_WaitEvent(&ev)) switch(ev.type) {
case SDL_KEYDOWN:
switch(ev.key.keysym.sym) {
case SDLK_ESCAPE: case SDLK_RETURN: case SDLK_KP_ENTER: sqlite3_finalize(st); return;
|
>
|
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
|
exam_value("Inertia:",24,NVALUE(o->inertia));
exam_hardsharp("Hardness:",25,o->hard);
exam_hardsharp("Sharpness:",26,o->sharp);
while(sqlite3_step(st)==SQLITE_ROW) {
i=sqlite3_column_int(st,1);
exam_value(sqlite3_column_text(st,0),i+28,o->uservars[i]);
}
quiz:
sqlite3_reset(st);
SDL_UnlockSurface(screen);
SDL_Flip(screen);
while(SDL_WaitEvent(&ev)) switch(ev.type) {
case SDL_KEYDOWN:
switch(ev.key.keysym.sym) {
case SDLK_ESCAPE: case SDLK_RETURN: case SDLK_KP_ENTER: sqlite3_finalize(st); return;
|
︙ | | | ︙ | |
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
|
snprintf(buf,255," %d objects at (%d,%d): ",count,(xy&63)+1,(xy/64)+1);
SDL_LockSurface(screen);
draw_text(0,0,buf,0xF7,0xF0);
n=t;
for(i=0;i<scroll && n!=VOIDLINK;i++) n=objects[n]->down;
for(i=0;i<screen->h/8 && n!=VOIDLINK;i++) {
o=objects[n];
snprintf(buf,255," %8d: %-14.14s %3d %s",n,classes[o->class]->name,o->image,dirs[o->dir&7]);
draw_text(24,r.y,buf,0xF1,o->generation?0xFF:0xF8);
n=o->down;
r.y+=8;
}
SDL_UnlockSurface(screen);
SDL_Flip(screen);
while(SDL_WaitEvent(&ev)) {
if(ev.type!=SDL_VIDEOEXPOSE) {
|
|
|
|
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
|
snprintf(buf,255," %d objects at (%d,%d): ",count,(xy&63)+1,(xy/64)+1);
SDL_LockSurface(screen);
draw_text(0,0,buf,0xF7,0xF0);
n=t;
for(i=0;i<scroll && n!=VOIDLINK;i++) n=objects[n]->down;
for(i=0;i<screen->h/8 && n!=VOIDLINK;i++) {
o=objects[n];
snprintf(buf,255," %8d: %-14.14s %3d %s",n,classes[o->class]->name,o->image,classes[o->class]->cflags&CF_QUIZ?"":dirs[o->dir&7]);
draw_text(24,r.y,buf,0xF1,o->generation?(classes[o->class]->cflags&CF_PLAYER?0xFE:0xFF):0xF8);
n=o->down;
r.y+=8;
}
SDL_UnlockSurface(screen);
SDL_Flip(screen);
while(SDL_WaitEvent(&ev)) {
if(ev.type!=SDL_VIDEOEXPOSE) {
|
︙ | | | ︙ | |
395
396
397
398
399
400
401
402
403
404
405
406
407
408
|
}
inputs[inputs_count++]=number;
return 0;
case '^E': // Edit
return -2;
case '^Q': // Quit
return -1;
case '^o': // List objects
list_objects_at(number-65);
return prev;
case 'go': // Select level
begin_level(number);
return 1;
default:
|
>
>
>
|
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
|
}
inputs[inputs_count++]=number;
return 0;
case '^E': // Edit
return -2;
case '^Q': // Quit
return -1;
case '^T': // Show title
modal_draw_popup(level_title);
return prev;
case '^o': // List objects
list_objects_at(number-65);
return prev;
case 'go': // Select level
begin_level(number);
return 1;
default:
|
︙ | | | ︙ | |
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
|
case SDL_QUIT:
exit(0);
break;
case SDL_MOUSEMOTION:
show_mouse_xy(&ev);
break;
case SDL_USEREVENT:
if(!gameover) continue_animation();
timerflag=0;
break;
case SDL_MOUSEBUTTONDOWN:
if(ev.button.x<left_margin) {
break;
} else {
|
|
|
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
|
case SDL_QUIT:
exit(0);
break;
case SDL_MOUSEMOTION:
show_mouse_xy(&ev);
break;
case SDL_USEREVENT:
if(!gameover && !quiz_text) continue_animation();
timerflag=0;
break;
case SDL_MOUSEBUTTONDOWN:
if(ev.button.x<left_margin) {
break;
} else {
|
︙ | | | ︙ | |