version 1.1 | | version 1.2 |
---|
| | |
* To be read by a human to verify the correctness and completeness of a mine. | | * To be read by a human to verify the correctness and completeness of a mine. |
* | | * |
* $Log$ | | * $Log$ |
* Revision 1.1 1999/06/14 22:06:02 donut | | * Revision 1.2 1999/09/02 13:32:42 sekmu |
* Initial revision | | * remove warning in editor compile |
| | * |
| | * Revision 1.1.1.1 1999/06/14 22:06:02 donut |
| | * Import of d1x 1.37 source. |
* | | * |
* Revision 2.1 1995/04/06 12:21:50 mike | | * Revision 2.1 1995/04/06 12:21:50 mike |
* Add texture map information to txm files. | | * Add texture map information to txm files. |
| | |
int segnum, sidenum; | | int segnum, sidenum; |
| | |
fprintf(my_file, "Wall %03i: seg=%3i, side=%2i, linked_wall=%3i, type=%s, flags=%4x, hps=%3i, trigger=%2i, clip_num=%2i, keys=%2i, state=%i\n", i, | | fprintf(my_file, "Wall %03i: seg=%3i, side=%2i, linked_wall=%3i, type=%s, flags=%4x, hps=%3i, trigger=%2i, clip_num=%2i, keys=%2i, state=%i\n", i, |
Walls[i].segnum, Walls[i].sidenum, Walls[i].linked_wall, Wall_names[Walls[i].type], Walls[i].flags, Walls[i].hps >> 16, Walls[i].trigger, Walls[i].clip_num, Walls[i].keys, Walls[i].state); | | Walls[i].segnum, Walls[i].sidenum, Walls[i].linked_wall, Wall_names[Walls[i].type], Walls[i].flags, (int) (Walls[i].hps >> 16), Walls[i].trigger, Walls[i].clip_num, Walls[i].keys, Walls[i].state); |
| | |
segnum = Walls[i].segnum; | | segnum = Walls[i].segnum; |
sidenum = Walls[i].sidenum; | | sidenum = Walls[i].sidenum; |
| | |
| | |
for (i=0; i<=Highest_segment_index; i++) { | | for (i=0; i<=Highest_segment_index; i++) { |
segment *segp = &Segments[i]; | | segment *segp = &Segments[i]; |
for (j=0; j<MAX_SIDES_PER_SEGMENT; j++) { | | for (j=0; j<MAX_SIDES_PER_SEGMENT; j++) |
| | { |
side *sidep = &segp->sides[j]; | | side *sidep = &segp->sides[j]; |
if (sidep->wall_num != -1) | | if (sidep->wall_num != -1) |
| | { |
if (wall_flags[sidep->wall_num]) | | if (wall_flags[sidep->wall_num]) |
err_printf(my_file, "Error: Wall %i appears in two or more segments, including segment %i, side %i.\n", sidep->wall_num, i, j); | | err_printf(my_file, "Error: Wall %i appears in two or more segments, including segment %i, side %i.\n", sidep->wall_num, i, j); |
else | | else |
wall_flags[sidep->wall_num] = 1; | | wall_flags[sidep->wall_num] = 1; |
} | | } |
} | | } |
| | } |
| | |
} | | } |
| | |
| | |
fprintf(my_file, "Triggers:\n"); | | fprintf(my_file, "Triggers:\n"); |
for (i=0; i<Num_triggers; i++) { | | for (i=0; i<Num_triggers; i++) { |
fprintf(my_file, "Trigger %03i: type=%3i flags=%04x, value=%08x, time=%8x, linknum=%i, num_links=%i ", i, | | fprintf(my_file, "Trigger %03i: type=%3i flags=%04x, value=%08x, time=%8x, linknum=%i, num_links=%i ", i, |
Triggers[i].type, Triggers[i].flags, Triggers[i].value, Triggers[i].time, Triggers[i].link_num, Triggers[i].num_links); | | Triggers[i].type, Triggers[i].flags, (unsigned int) (Triggers[i].value), (unsigned int) (Triggers[i].time), Triggers[i].link_num, Triggers[i].num_links); |
| | |
for (j=0; j<Triggers[i].num_links; j++) | | for (j=0; j<Triggers[i].num_links; j++) |
fprintf(my_file, "[%03i:%i] ", Triggers[i].seg[j], Triggers[i].side[j]); | | fprintf(my_file, "[%03i:%i] ", Triggers[i].seg[j], Triggers[i].side[j]); |
| | |
if (!my_file) { | | if (!my_file) { |
char ErrorMessage[200]; | | char ErrorMessage[200]; |
| | |
sprintf( ErrorMessage, "ERROR: Unable to open output file %s\n", my_file ); | | sprintf( ErrorMessage, "ERROR: Unable to open output file %s\n", my_filename ); |
stop_time(); | | stop_time(); |
gr_palette_load(gr_palette); | | gr_palette_load(gr_palette); |
nm_messagebox( NULL, 1, "Ok", ErrorMessage ); | | nm_messagebox( NULL, 1, "Ok", ErrorMessage ); |
| | |
load_level(Registered_level_names[level_num]); | | load_level(Registered_level_names[level_num]); |
} | | } |
| | |
for (segnum=0; segnum<=Highest_segment_index; segnum++) { | | for (segnum=0; segnum<=Highest_segment_index; segnum++) |
| | { |
segment *segp = &Segments[segnum]; | | segment *segp = &Segments[segnum]; |
| | |
for (sidenum=0; sidenum<MAX_SIDES_PER_SEGMENT; sidenum++) { | | for (sidenum=0; sidenum<MAX_SIDES_PER_SEGMENT; sidenum++) |
| | { |
side *sidep = &segp->sides[sidenum]; | | side *sidep = &segp->sides[sidenum]; |
| | |
if (sidep->wall_num != -1) { | | if (sidep->wall_num != -1) { |
| | |
} | | } |
| | |
if (sidep->tmap_num >= 0) | | if (sidep->tmap_num >= 0) |
if (sidep->tmap_num < max_tmap) { | | { |
| | if (sidep->tmap_num < max_tmap) |
| | { |
tmap_buf[sidep->tmap_num]++; | | tmap_buf[sidep->tmap_num]++; |
if (level_tmap_buf[sidep->tmap_num] == -1) | | if (level_tmap_buf[sidep->tmap_num] == -1) |
level_tmap_buf[sidep->tmap_num] = level_num + (!shareware_flag) * NUM_SHAREWARE_LEVELS; | | level_tmap_buf[sidep->tmap_num] = level_num + (!shareware_flag) * NUM_SHAREWARE_LEVELS; |
} else | | } |
| | else |
{ | | { |
mprintf((0,"bogus texture seg:%d, side:%d, num=%d, max=%d\n", segnum, sidenum, sidep->tmap_num, max_tmap)); | | mprintf((0,"bogus texture seg:%d, side:%d, num=%d, max=%d\n", segnum, sidenum, sidep->tmap_num, max_tmap)); |
Int3(); // Error, bogus texture map. Should not be greater than max_tmap. | | Int3(); // Error, bogus texture map. Should not be greater than max_tmap. |
} | | } |
| | } |
| | |
if ((sidep->tmap_num2 & 0x3fff) != 0) | | if ((sidep->tmap_num2 & 0x3fff) != 0) |
| | { |
if ((sidep->tmap_num2 & 0x3fff) < max_tmap) { | | if ((sidep->tmap_num2 & 0x3fff) < max_tmap) { |
tmap_buf[sidep->tmap_num2 & 0x3fff]++; | | tmap_buf[sidep->tmap_num2 & 0x3fff]++; |
if (level_tmap_buf[sidep->tmap_num2 & 0x3fff] == -1) | | if (level_tmap_buf[sidep->tmap_num2 & 0x3fff] == -1) |
| | |
} | | } |
} | | } |
} | | } |
| | } |
| | |
// ----------------------------------------------------------------------------- | | // ----------------------------------------------------------------------------- |
void merge_buffers(int *dest, int *src, int num) | | void merge_buffers(int *dest, int *src, int num) |
| | |
// ------------------------------------------------------------------------------------------------- | | // ------------------------------------------------------------------------------------------------- |
void say_totals(FILE *my_file, char *level_name) | | void say_totals(FILE *my_file, char *level_name) |
{ | | { |
int i, objnum; | | int i;// objnum; |
int total_robots = 0; | | int total_robots = 0; |
int objects_processed = 0; | | int objects_processed = 0; |
| | |