mirror of the now-defunct rocklinux.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

373 lines
13 KiB

  1. # --- ROCK-COPYRIGHT-NOTE-BEGIN ---
  2. #
  3. # This copyright note is auto-generated by ./scripts/Create-CopyPatch.
  4. # Please add additional copyright information _after_ the line containing
  5. # the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
  6. # the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
  7. #
  8. # ROCK Linux: rock-src/package/esden/tetradraw/thc.patch
  9. # ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf
  10. #
  11. # This program is free software; you can redistribute it and/or modify
  12. # it under the terms of the GNU General Public License as published by
  13. # the Free Software Foundation; either version 2 of the License, or
  14. # (at your option) any later version. A copy of the GNU General Public
  15. # License can be found at Documentation/COPYING.
  16. #
  17. # Many people helped and are helping developing ROCK Linux. Please
  18. # have a look at http://www.rocklinux.org/ and the Documentation/TEAM
  19. # file for details.
  20. #
  21. # --- ROCK-COPYRIGHT-NOTE-END ---
  22. diff -Naur src/art/hrm src/art/hrm
  23. --- ./src/art/hrm Thu Jan 1 01:00:00 1970
  24. +++ ./src/art/hrm Mon Jan 28 01:20:21 2002
  25. @@ -0,0 +1,3 @@
  26. +chtype ansi[1][80] = {
  27. +{ 2097766,617,620,613,32,2097780,633,624,613,32,1576,609,1577,32,2097761,622,627,617,32,1576,617,1577,32,609,627,611,2097769,617,32,1576,611,1577,32,2097763,32,616,613,609,612,613,626,32,1576,628,1577,32,2097780,616,32,611,32,616,613,609,612,613,626,32,1576,610,1577,32,2097762,617,622,609,626,633,32,32,32,32,32,32,32,32,32,32,32,32,},
  28. +};
  29. diff -Naur src/art/statusbar.h src/art/statusbar.h
  30. --- ./src/art/statusbar.h Wed Apr 18 20:40:32 2001
  31. +++ ./src/art/statusbar.h Mon Jan 28 04:11:56 2002
  32. @@ -1,13 +1,14 @@
  33. -chtype ansi_sb[11][80] = {
  34. +chtype ansi_sb[12][80] = {
  35. { 808,800,800,812,800,800,800,800,809,800,800,2099049,859,800,800,800,861,800,99,76,82,32,2099043,2099059,859,800,800,861,1568,817,2099005,32,818,2099005,32,819,2099005,32,820,2099005,32,821,2099005,32,822,2099005,32,823,2099005,32,824,2099005,32,825,2099005,32,816,2099005,32,32,32,2099035,800,800,800,800,800,800,800,800,800,2099037,800,808,800,812,800,809,32,32,},
  36. { 2097762,620,623,611,619,544,1576,611,1577,544,2097763,623,624,633,544,1576,621,1577,544,2097773,623,630,613,544,1576,613,1577,544,2097765,626,609,627,613,544,1576,614,1577,544,2097766,617,620,620,544,1576,626,1577,544,2097778,613,624,620,609,611,613,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,},
  37. { 2097762,620,623,611,619,2097696,2097776,609,627,628,613,32,1576,627,1577,1568,2097779,628,609,621,624,1568,1576,632,1577,1568,614,620,617,624,544,2097784,1568,1576,633,1577,1568,614,620,617,624,544,2097785,1568,1576,626,1577,1568,2097778,609,617,627,613,544,1576,620,1577,544,2097772,623,631,613,626,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,},
  38. { 2097762,620,623,611,619,544,2097766,617,620,620,544,1576,614,1577,1568,2097766,623,626,613,615,626,623,629,622,612,544,1576,610,1577,544,2097762,609,611,619,615,626,623,629,622,612,544,1576,611,1577,544,2097763,616,609,626,609,611,628,613,626,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,},
  39. { 2097762,620,623,611,619,544,2097778,613,624,620,609,611,613,544,1576,614,1577,544,2097766,623,626,613,615,626,623,629,622,612,544,1576,610,1577,544,2097762,609,611,619,615,626,623,629,622,612,544,1576,611,1577,544,2097763,616,609,626,609,611,628,613,626,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,},
  40. -{ 2097766,617,620,613,544,2097780,633,624,613,544,1576,609,1577,544,2097761,622,627,617,544,1576,617,1577,544,609,627,611,2097769,617,544,1576,611,1577,544,2097763,544,616,613,609,612,613,626,32,1576,610,1577,32,2097762,617,622,609,626,633,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,},
  41. +{ 2097766,617,620,613,32,2097780,633,624,613,32,1576,609,1577,32,2097761,622,627,617,32,1576,617,1577,32,609,627,611,2097769,617,32,1576,611,1577,32,2097763,32,616,613,609,612,613,626,32,1576,628,1577,32,2097780,616,32,611,32,616,613,609,612,613,626,32,1576,610,1577,32,2097762,617,622,609,626,633,32,32,32,32,32,32,32,32,32,32,32,32,},/*the save line*/
  42. { 2097763,620,613,609,626,544,2097779,611,626,613,613,622,544,1576,633,1577,544,2097785,613,627,544,1576,622,1577,544,2097774,623,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,},
  43. { 2097779,609,630,613,544,2097779,609,629,611,613,544,1576,633,1577,544,2097785,613,627,544,1576,622,1577,544,2097774,623,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,},
  44. { 2097779,609,629,611,613,544,2097761,629,628,616,623,626,1577,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,},
  45. { 2097779,609,629,611,613,544,2097767,626,623,629,624,1577,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,},
  46. { 2097779,609,629,611,613,544,2097780,617,628,620,613,1577,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,},
  47. +{ 2097764,613,614,617,622,617,628,617,623,622,544,2097774,609,621,613,1577,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,}, /*th c format something*/
  48. };
  49. diff -Naur src/art/test src/art/test
  50. --- ./src/art/test Thu Jan 1 01:00:00 1970
  51. +++ ./src/art/test Mon Jan 28 01:14:37 2002
  52. @@ -0,0 +1,5 @@
  53. +file type (a) ansi (i) ascii (c) c header (t) th c header (b) binary
  54. +
  55. +
  56. +
  57. +
  58. \ No newline at end of file
  59. diff -Naur src/editor.h src/editor.h
  60. --- ./src/editor.h Wed Apr 18 20:40:32 2001
  61. +++ ./src/editor.h Tue Jan 29 07:01:29 2002
  62. @@ -118,6 +118,7 @@
  63. canvas *erase_display(canvas *);
  64. void erase_line(canvas *);
  65. +void r_erase_line(canvas *);
  66. void line_add(canvas *, int);
  67. void line_delete(canvas *, int);
  68. diff -Naur src/interface.c src/interface.c
  69. --- ./src/interface.c Wed Apr 18 20:40:32 2001
  70. +++ ./src/interface.c Tue Jan 29 20:31:58 2002
  71. @@ -1453,6 +1453,10 @@
  72. case 'B':
  73. return 4;
  74. break;
  75. + case 't':
  76. + case 'T':
  77. + return 5;
  78. + break;
  79. }
  80. }
  81. return 0;
  82. @@ -1489,6 +1493,65 @@
  83. }
  84. }
  85. return 0;
  86. +}
  87. +
  88. +int savei_defname(char *defname){
  89. + int x = 0;
  90. + character ch = 0;
  91. + int offset = 24;
  92. + int done = 0;
  93. + int i_offset = 0;
  94. +
  95. + if(options.sb_top) offset = 0;
  96. +
  97. + done = 0;
  98. + i_offset = 0;
  99. +
  100. + for(x = 0; x < 80; x++)
  101. + mvaddch(offset, x, ansi_sb[SB_THC_DEFNAME][x]);
  102. +
  103. + for(x = 0; x < 20; x++)
  104. + defname[x] = '\0';
  105. +
  106. + for(x = 0; x < 20; x++)
  107. + mvaddch(offset, 19 + x, ' ');
  108. +
  109. + mvaddstr(offset, 19, defname);
  110. +
  111. + refresh();
  112. +
  113. + while(!done) {
  114. + ch = n_getch();
  115. + ch=toupper(ch);
  116. + switch(ch) {
  117. + case KEY_BACKSPACE:
  118. + defname[i_offset] = '\0';
  119. + if(i_offset > 0) i_offset--;
  120. + defname[i_offset] = '\0';
  121. + break;
  122. + case 13:
  123. + done = 1;
  124. + break;
  125. + case '_':
  126. + case '-':
  127. + if(isprint(ch)) {
  128. + defname[i_offset] = ch;
  129. + if((i_offset+1) < 20) i_offset++;
  130. + }
  131. + break;
  132. + default:
  133. + if(isalnum(ch)) {
  134. + defname[i_offset] = ch;
  135. + if((i_offset+1) < 20) i_offset++;
  136. + }
  137. + break;
  138. + }
  139. + for(x = 0; x < 20; x++)
  140. + mvaddch(offset, 19 + x, ' ');
  141. + mvaddstr(offset, 19, defname);
  142. + refresh();
  143. + }
  144. + return 1;
  145. }
  146. /* this function gets the sauce information from the user */
  147. diff -Naur src/interface.h src/interface.h
  148. --- ./src/interface.h Wed Apr 18 20:40:32 2001
  149. +++ ./src/interface.h Tue Jan 29 07:12:04 2002
  150. @@ -12,6 +12,7 @@
  151. #define SB_SAUCE_AUTHOR 8
  152. #define SB_SAUCE_GROUP 9
  153. #define SB_SAUCE_TITLE 10
  154. +#define SB_THC_DEFNAME 11
  155. #define BLOCK_SELECT 0
  156. #define BLOCK_PASTE 1
  157. @@ -25,6 +26,7 @@
  158. void draw_editor(canvas *);
  159. void draw_statusbar(canvas *);
  160. void draw_page(canvas *);
  161. +void draw_tv_sbar(canvas *);
  162. void show_page(canvas *);
  163. void draw_block(canvas *, int, int, int, int);
  164. @@ -41,10 +43,12 @@
  165. } t_filerecord;
  166. char *file_select();
  167. +char *tv_file_select(int);
  168. int savei_filetype();
  169. int savei_clearscreen();
  170. int savei_sauce(char *, char *, char *);
  171. +int savei_defname(char* defname);
  172. int is_transparent(character );
  173. void multidraw_interface();
  174. diff -Naur src/keys.h src/keys.h
  175. --- ./src/keys.h Wed Apr 18 20:40:32 2001
  176. +++ ./src/keys.h Tue Jan 29 21:16:21 2002
  177. @@ -1,8 +1,31 @@
  178. #ifndef _KEYS_H
  179. #define _KEYS_H
  180. +#define NEW_KEYCODES
  181. +
  182. #define TD_KEY_REDRAW 12
  183. +#ifdef NEW_KEYCODES
  184. +#define TD_KEY_HOME KEY_HOME
  185. +#define TD_KEY_INSERT KEY_IC
  186. +#define TD_KEY_DEL KEY_DC
  187. +#define TD_KEY_END KEY_END
  188. +#define TD_KEY_PAGEUP KEY_PPAGE
  189. +#define TD_KEY_PAGEDOWN KEY_NPAGE
  190. +
  191. +#define TD_KEY_F1 KEY_F(1)
  192. +#define TD_KEY_F2 KEY_F(2)
  193. +#define TD_KEY_F3 KEY_F(3)
  194. +#define TD_KEY_F4 KEY_F(4)
  195. +#define TD_KEY_F5 KEY_F(5)
  196. +#define TD_KEY_F6 KEY_F(6)
  197. +#define TD_KEY_F7 KEY_F(7)
  198. +#define TD_KEY_F8 KEY_F(8)
  199. +#define TD_KEY_F9 KEY_F(9)
  200. +#define TD_KEY_F10 KEY_F(10)
  201. +#define TD_KEY_F11 KEY_F(11)
  202. +#define TD_KEY_F12 KEY_F(12)
  203. +#else
  204. #define TD_KEY_HOME 701
  205. #define TD_KEY_INSERT 702
  206. #define TD_KEY_DEL 703
  207. @@ -22,6 +45,7 @@
  208. #define TD_KEY_F10 716
  209. #define TD_KEY_F11 717
  210. #define TD_KEY_F12 718
  211. +#endif
  212. #define TD_KEY_BLOCK 719
  213. diff -Naur src/multidraw.c src/multidraw.c
  214. --- ./src/multidraw.c Wed Apr 18 20:40:32 2001
  215. +++ ./src/multidraw.c Tue Jan 29 06:58:45 2002
  216. @@ -19,7 +19,7 @@
  217. -
  218. +#define _GNU_SOURCE
  219. #include <stdio.h>
  220. #include <sys/types.h>
  221. #include <sys/socket.h>
  222. diff -Naur src/options_io.h src/options_io.h
  223. --- ./src/options_io.h Wed Apr 18 20:40:32 2001
  224. +++ ./src/options_io.h Tue Jan 29 07:15:51 2002
  225. @@ -1,5 +1,6 @@
  226. #ifndef __OPTIONS_IO
  227. #define __OPTIONS_IO
  228. +void load_options(void);
  229. void save_options(void);
  230. #endif
  231. diff -Naur src/save.c src/save.c
  232. --- ./src/save.c Wed Apr 18 20:40:32 2001
  233. +++ ./src/save.c Tue Jan 29 20:17:45 2002
  234. @@ -20,6 +20,7 @@
  235. #include <stdio.h>
  236. #include <ncurses.h>
  237. +#include <stdlib.h>
  238. #include "internal.h"
  239. #include "types.h"
  240. @@ -92,6 +93,8 @@
  241. save_c(page, fd);
  242. } else if (ftype == 4) {
  243. save_bin(page, fd);
  244. + } else if (ftype == 5) {
  245. + save_t(page, fd);
  246. }
  247. fclose(fd);
  248. page->modified = 0;
  249. @@ -247,6 +250,77 @@
  250. fprintf(fd, "%ld,", page->buffer[y][x]);
  251. fprintf(fd, "},\n");
  252. + }
  253. + fprintf(fd, "};\n");
  254. + return 0;
  255. +}
  256. +
  257. +int cycle_color(int color)
  258. +{
  259. + switch(color){
  260. + case 1:
  261. + color=4;
  262. + break;
  263. + case 4:
  264. + color=1;
  265. + break;
  266. + case 3:
  267. + color=6;
  268. + break;
  269. + case 6:
  270. + color=3;
  271. + break;
  272. + }
  273. + return(color);
  274. +}
  275. +
  276. +/* this function saves the file format as a C header in TheDraw format */
  277. +int save_t(canvas *page, FILE *fd) {
  278. + int y = 0;
  279. + int x = 0;
  280. + char *defname;
  281. + colour fg = COLOUR_WHITE;
  282. + colour bg = COLOUR_BLACK;
  283. +
  284. + flag bold = FALSE;
  285. +
  286. + flag blink = FALSE;
  287. +
  288. + unsigned int attr;
  289. +
  290. +
  291. + if(!page) return 1;
  292. +
  293. + if(!fd) return 1;
  294. +
  295. + defname = malloc(20);
  296. + savei_defname(defname);
  297. +
  298. + fprintf(fd, "/* TetraDraw C Screen Image. */\n");
  299. + fprintf(fd, "#define %s_WIDTH 80\n", defname);
  300. + fprintf(fd, "#define %s_DEPTH %d\n", defname, HY(page)+1);
  301. + fprintf(fd, "#define %s_LENGTH %d\n", defname, (HY(page)+1)*160);
  302. + fprintf(fd, "unsigned char %s[] = {\n", defname);
  303. + for(y = 0; y <= HY(page); y++) {
  304. + for(x = 0; x < 80; x++){
  305. + tear_attrib(page->buffer[y][x], &fg, &bg, &bold, &blink);
  306. + fg=cycle_color(fg);
  307. + bg=cycle_color(bg);
  308. + attr=bg << 4;
  309. + attr+=fg;
  310. + if(bold){
  311. + attr+=8;
  312. + }
  313. + if(blink){
  314. + attr+=128;
  315. + }
  316. + fprintf(fd, "'%c',", (char)page->buffer[y][x]);
  317. + fprintf(fd, "0x%.2X,", attr);
  318. + if((y*80+x+1)%6==0){
  319. + fprintf(fd, "\n");
  320. + }
  321. + }
  322. +
  323. }
  324. fprintf(fd, "};\n");
  325. return 0;
  326. diff -Naur src/save.h src/save.h
  327. --- ./src/save.h Wed Apr 18 20:40:32 2001
  328. +++ ./src/save.h Tue Jan 29 07:21:50 2002
  329. @@ -3,8 +3,10 @@
  330. int save_ansi(canvas *, FILE *);
  331. int save_c(canvas *, FILE *);
  332. +int save_t(canvas *, FILE *);
  333. int save_ascii(canvas *, FILE *);
  334. int save_bin(canvas *, FILE *);
  335. +int cycle_color(int);
  336. int save_cls(FILE *);
  337. void save_file(canvas *);
  338. diff -Naur src/tetraview.c src/tetraview.c
  339. --- ./src/tetraview.c Sun Jul 29 20:40:50 2001
  340. +++ ./src/tetraview.c Tue Jan 29 07:16:39 2002
  341. @@ -34,6 +34,10 @@
  342. #include "tetraview.h"
  343. #include "highascii.h"
  344. +#include "interface.h"
  345. +#include "network.h"
  346. +#include "options_io.h"
  347. +
  348. coordinate td_maxx = 0;
  349. coordinate td_maxy = 0;