No longer need 'dat' utility programs

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@558 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Yves Rizoud 2009-01-27 00:34:27 +00:00
parent e302f2d26a
commit b861fe558d
17 changed files with 0 additions and 2009 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,147 +0,0 @@
Access
Ace
AcidJam
Acryl
Alexel
Alias
Amiral
Arrakis
Avocado
Baloo
Barti
Bat
Biro
Bisounours
BlackAxe
Bonnie
Boo
Boz
Carine
Chandra
Cheetah
Chill
Cougar
Cremax
Cyclone
Dake
Danny
Danube
Darjul
Darwin
DarkAngel
Das
Decker
DerPiipo
Destop
Diabolo
DineS
Drac
DrYes
Edyx
Eller
Ellyn
EOF
Fall
Fame
Fantom
Fear
Feather
Fennec
Filter
Fiver
Flan
Fred
FreddyV
Frost
Ga‰l(GDC)
GainX
Gandalf
Goblin
Greenpix7
Grid
GrosQuick
HackerCroll
Haplo
Hof
Hornet
Hulud
Java
JBT
Jr“me
Julien(JCA)
KalMinDo
KaneWood
Karma
Keith303
Lazur
LightShow
Lluvia
Louie
Luk
Made
Mamos
Mandrixx
Mangue
Mars
Mephisto
Mercure
Mirec
Moa
Moxica
MRK
Nitch
Noal
Nytrik
Optic
Orome
Pahladin
Phar
Pink
Pixel
Profil
Prowler
Puznik
Quick
Ra
Raster
Ravian
RedBug
Rem
Rez
Roudoudou
Sacrilege
Sam
SandMan
Scape
Sbastien
Shodan
Skal
Skyfire
Sphair
Sprocket
Stef
Stony
Sumaleth
Sunday
Suny
Sybaris
TBF
Tempest
Thor
TMK
TwoFace
Underking
Unreal
VaeVictis
Vastator
Vatin
Veckman
Wain
Wally
WillBe
Xoomie
Xtrm
YannSulu
Z
Zeb
Zebig

View File

@ -1,128 +0,0 @@
{ Grafx2 - The Ultimate 256-color bitmap paint program
Copyright 1996-2001 Sunset Design (Guillaume Dorme & Karl Maritaud)
Grafx2 is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2
of the License.
Grafx2 is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Grafx2; if not, see <http://www.gnu.org/licenses/> or
write to the Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
}
{
Ce fichier contient la partie "Credits" de l'aide de GRAFX 2
}
procedure Generer_l_aide_Credits;
begin
Demarrer_section_d_aide;
{XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}
{XXXXXXXXXXXXXXXXXXXXXX}
Ecrire_ligne_d_aide(T,' GRAFX 2.00');
Ecrire_ligne_d_aide(S,' THE ULTIMATE MULTI-RESOLUTION GFX EDITOR');
Ecrire_ligne_d_aide(N,' Copyright (c) 1996-98 by SUNSET DESIGN');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(T,'CREDITS:');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(S,' WRITTEN AND DESIGNED BY:');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(S,' GUILLAUME DORME KARL MARITAUD');
Ecrire_ligne_d_aide(N,' alias "Robinson" & alias "X-Man"');
Ecrire_ligne_d_aide(N,' programmer programmer');
Ecrire_ligne_d_aide(N,' GFX artist');
Ecrire_ligne_d_aide(T,'');
Ecrire_ligne_d_aide(S,' MISCELLANEOUS:');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(N,' This is our very first program compiled');
Ecrire_ligne_d_aide(N,' in Watcom C (10.6).');
Ecrire_ligne_d_aide(N,' Low-level routines were written in 80386');
Ecrire_ligne_d_aide(N,' Assembler (optimized for 80486) and');
Ecrire_ligne_d_aide(N,' compiled with Borland TASM 5 (4.1).');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(N,' We were inspired by the XSetMode routine');
Ecrire_ligne_d_aide(N,' from ''XLIB2'' to create more amazing video');
Ecrire_ligne_d_aide(N,' resolutions.');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(N,' Thanks to Eclipse for their EOS 3.05 dos');
Ecrire_ligne_d_aide(N,' extender (WEOSlite).');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(N,' Some information taken from several docs');
Ecrire_ligne_d_aide(N,' (PCGPE, Intervue, PC Interdit...) gave us');
Ecrire_ligne_d_aide(N,' an invaluable help.');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(N,' Thanks to Shawn Hargreaves for his');
Ecrire_ligne_d_aide(N,' filled polygon routine from Allegro v2.2.');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(N,' Thanks to Carlos "Made" Pardo for his');
Ecrire_ligne_d_aide(N,' great GrafX2 logo.');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(N,' A thousand thanks to the authors of the');
Ecrire_ligne_d_aide(N,' different things listed above.');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(N,' We also would like to thank all the');
Ecrire_ligne_d_aide(N,' people who gave us ideas to improve');
Ecrire_ligne_d_aide(N,' GrafX2.');
Ecrire_ligne_d_aide(T,'');
Ecrire_ligne_d_aide(S,' FILE FORMATS CREDITS:');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(N,' PKM : Sunset Design');
Ecrire_ligne_d_aide(N,' LBM : Electronic Arts');
Ecrire_ligne_d_aide(N,' GIF : Compuserve');
Ecrire_ligne_d_aide(N,' BMP : Microsoft');
Ecrire_ligne_d_aide(N,' PCX : Z-Soft');
Ecrire_ligne_d_aide(N,' IMG : Bivas (W. Wiedmann?)');
Ecrire_ligne_d_aide(N,' SCx : Colorix (?)');
Ecrire_ligne_d_aide(N,' CEL,KCF : K.O.S. (KISekae Set system)');
Ecrire_ligne_d_aide(N,' PI1,PC1 : Degas Elite');
Ecrire_ligne_d_aide(N,' PAL : ermmh... nobody (?)');
Ecrire_ligne_d_aide(T,'');
Ecrire_ligne_d_aide(T,'HOW TO CONTACT US ?');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(S,' SNAIL MAIL:');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(N,' GUILLAUME DORME (Robinson)');
Ecrire_ligne_d_aide(N,' 15, rue de l''observatoire');
Ecrire_ligne_d_aide(N,' 87000 LIMOGES (FRANCE)');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(N,' KARL MARITAUD (X-Man)');
Ecrire_ligne_d_aide(N,' 10, rue de la Brasserie');
Ecrire_ligne_d_aide(N,' 87000 LIMOGES (FRANCE)');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(S,' E-MAIL:');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(N,' dorme@msi.unilim.fr');
Ecrire_ligne_d_aide(N,' maritaud@ensil.unilim.fr');
Ecrire_ligne_d_aide(T,'');
Ecrire_ligne_d_aide(T,'USELESS INFORMATION:');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(N,' Source size: about 1400 Kb');
Ecrire_ligne_d_aide(N,' GrafX2''s birth date: July 20th 1996');
Ecrire_ligne_d_aide(T,'');
Ecrire_ligne_d_aide(T,'KNOWN BUGS:');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(N,' - <Ctrl>+<C> stops the program when you');
Ecrire_ligne_d_aide(N,' are entering values. So don''t press');
Ecrire_ligne_d_aide(N,' these keys until we fix this bug.');
Ecrire_ligne_d_aide(N,' - A few different key combinations return');
Ecrire_ligne_d_aide(N,' the same code.');
Ecrire_ligne_d_aide(N,' - A red flash appears at start up when an');
Ecrire_ligne_d_aide(N,' empty Zip drive is found.');
Ecrire_ligne_d_aide(N,' - Some functions aren''t finished yet.');
Ecrire_ligne_d_aide(N,' This is normal for a Beta version, so');
Ecrire_ligne_d_aide(N,' don''t worry.');
Ecrire_ligne_d_aide(N,' But if you still find some bugs in the');
Ecrire_ligne_d_aide(N,' next versions, then we''d appreciate');
Ecrire_ligne_d_aide(N,' that you tell us what they exactly are');
Ecrire_ligne_d_aide(N,' and how and when they occur.');
{XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}
{XXXXXXXXXXXXXXXXXXXXXX}
Terminer_section_d_aide;
end;

View File

@ -1,86 +0,0 @@
{ Grafx2 - The Ultimate 256-color bitmap paint program
Copyright 1996-2001 Sunset Design (Guillaume Dorme & Karl Maritaud)
Grafx2 is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2
of the License.
Grafx2 is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Grafx2; if not, see <http://www.gnu.org/licenses/> or
write to the Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
}
{
Ce fichier contient la partie "Greetings ..." de l'aide de GRAFX 2
}
procedure Generer_l_aide_Greetings;
begin
Demarrer_section_d_aide;
{XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}
{XXXXXXXXXXXXXXXXXXXXXX}
Ecrire_ligne_d_aide(T,'GREETINGS:');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(N,'Our best regards go to...');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(N,' Access Filter Pink');
Ecrire_ligne_d_aide(N,' Ace Fiver Pixel');
Ecrire_ligne_d_aide(N,' AcidJam Flan Profil');
Ecrire_ligne_d_aide(N,' Acryl Fred Prowler');
Ecrire_ligne_d_aide(N,' Alexel FreddyV Puznik');
Ecrire_ligne_d_aide(N,' Alias Frost Quick');
Ecrire_ligne_d_aide(N,' Amiral Ga‰l(GDC) Ra');
Ecrire_ligne_d_aide(N,' Arrakis GainX Raster');
Ecrire_ligne_d_aide(N,' Avocado Gandalf Ravian');
Ecrire_ligne_d_aide(N,' Baloo Goblin RedBug');
Ecrire_ligne_d_aide(N,' Barti Greenpix7 Rem');
Ecrire_ligne_d_aide(N,' Bat Grid Rez');
Ecrire_ligne_d_aide(N,' Biro GrosQuick Roudoudou');
Ecrire_ligne_d_aide(N,' Bisounours HackerCroll Sacrilege');
Ecrire_ligne_d_aide(N,' BlackAxe Haplo Sam');
Ecrire_ligne_d_aide(N,' Bonnie Hof SandMan');
Ecrire_ligne_d_aide(N,' Boo Hornet Scape');
Ecrire_ligne_d_aide(N,' Boz Hulud Sbastien');
Ecrire_ligne_d_aide(N,' Carine Java Shodan');
Ecrire_ligne_d_aide(N,' Chandra JBT Skal');
Ecrire_ligne_d_aide(N,' Cheetah Jr“me Skyfire');
Ecrire_ligne_d_aide(N,' Chill Julien(JCA) Sphair');
Ecrire_ligne_d_aide(N,' Cougar KalMinDo Sprocket');
Ecrire_ligne_d_aide(N,' Cremax KaneWood Stef');
Ecrire_ligne_d_aide(N,' Cyclone Karma Stony');
Ecrire_ligne_d_aide(N,' Dake Keith303 Sumaleth');
Ecrire_ligne_d_aide(N,' Danny Lazur Sunday');
Ecrire_ligne_d_aide(N,' Danube LightShow Suny');
Ecrire_ligne_d_aide(N,' Darjul Lluvia Sybaris');
Ecrire_ligne_d_aide(N,' Darwin Louie TBF');
Ecrire_ligne_d_aide(N,' DarkAngel Luk Tempest');
Ecrire_ligne_d_aide(N,' Das Made Thor');
Ecrire_ligne_d_aide(N,' Decker Mamos TMK');
Ecrire_ligne_d_aide(N,' DerPiipo Mandrixx TwoFace');
Ecrire_ligne_d_aide(N,' Destop Mangue Underking');
Ecrire_ligne_d_aide(N,' Diabolo Mars Unreal');
Ecrire_ligne_d_aide(N,' DineS Mephisto VaeVictis');
Ecrire_ligne_d_aide(N,' Drac Mercure Vastator');
Ecrire_ligne_d_aide(N,' DrYes Mirec Vatin');
Ecrire_ligne_d_aide(N,' Edyx Moa Veckman');
Ecrire_ligne_d_aide(N,' Eller Moxica Wain');
Ecrire_ligne_d_aide(N,' Ellyn MRK Wally');
Ecrire_ligne_d_aide(N,' EOF Nitch WillBe');
Ecrire_ligne_d_aide(N,' Fall Noal Xoomie');
Ecrire_ligne_d_aide(N,' Fame Nytrik Xtrm');
Ecrire_ligne_d_aide(N,' Fantom Optic YannSulu');
Ecrire_ligne_d_aide(N,' Fear Orome Z');
Ecrire_ligne_d_aide(N,' Feather Pahladin Zeb');
Ecrire_ligne_d_aide(N,' Fennec Phar Zebig');
Ecrire_ligne_d_aide(N,' and all #pixel, #demofr and #coders.');
{XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}
{XXXXXXXXXXXXXXXXXXXXXX}
Terminer_section_d_aide;
end;

View File

@ -1,71 +0,0 @@
{ Grafx2 - The Ultimate 256-color bitmap paint program
Copyright 1996-2001 Sunset Design (Guillaume Dorme & Karl Maritaud)
Grafx2 is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2
of the License.
Grafx2 is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Grafx2; if not, see <http://www.gnu.org/licenses/> or
write to the Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
}
{ Ce fichier contient la partie "Register?" de l'aide de GrafX2 }
procedure Generer_l_aide_Register;
begin
Demarrer_section_d_aide;
{XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}
{XXXXXXXXXXXXXXXXXXXXXX}
Ecrire_ligne_d_aide(T,'REGISTERING ?');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(N,' You''ll probably say:');
Ecrire_ligne_d_aide(N,' "Does this mean that I have to pay?"');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(N,' And we''ll reply to you: No...');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(T,'GRAFX 2.00 IS FREEWARE');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(N,' ... But, but, but...');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(N,' Considering the amount of work (and love)');
Ecrire_ligne_d_aide(N,' we put in this program, we would extremely');
Ecrire_ligne_d_aide(N,' appreciate that you "give" us something in');
Ecrire_ligne_d_aide(N,' exchange for the use you make of it.');
Ecrire_ligne_d_aide(N,' Let''s say some money, or a nice picture');
Ecrire_ligne_d_aide(N,' you drew with GrafX2, or a postcard...');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(N,' If you make profit with an image you drew');
Ecrire_ligne_d_aide(N,' with GrafX2, it would be great if you sent');
Ecrire_ligne_d_aide(N,' us this picture. If you used it for a game,');
Ecrire_ligne_d_aide(N,' would be wiser not to send all your graphs,');
Ecrire_ligne_d_aide(N,' what about sending a copy of the game?');
Ecrire_ligne_d_aide(T,'');
Ecrire_ligne_d_aide(T,'FREEWARE CONVENTIONS:');
Ecrire_ligne_d_aide(N,'');
Ecrire_ligne_d_aide(N,' This version of GrafX2 is being released');
Ecrire_ligne_d_aide(N,' to you as is.');
Ecrire_ligne_d_aide(N,' All bugs should be reported to either');
Ecrire_ligne_d_aide(N,' Robinson or X-Man.');
Ecrire_ligne_d_aide(N,' The authors take no responsibility for');
Ecrire_ligne_d_aide(N,' lost work, or damaged equipment caused');
Ecrire_ligne_d_aide(N,' directly or indirectly by this program.');
Ecrire_ligne_d_aide(N,' GrafX2 cannot be modified in any way');
Ecrire_ligne_d_aide(N,' without our written consent.');
Ecrire_ligne_d_aide(N,' Finally, the charging of monetary fees by');
Ecrire_ligne_d_aide(N,' any unauthorized party for the circulation');
Ecrire_ligne_d_aide(N,' or use of this utility is expressly');
Ecrire_ligne_d_aide(N,' forbidden.');
Ecrire_ligne_d_aide(N,' This means that if you had to pay for');
Ecrire_ligne_d_aide(N,' getting GrafX2, you have been swindled.');
{XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}
{XXXXXXXXXXXXXXXXXXXXXX}
Terminer_section_d_aide;
end;

Binary file not shown.

View File

@ -1,107 +0,0 @@
{ Grafx2 - The Ultimate 256-color bitmap paint program
Copyright 1996-2001 Sunset Design (Guillaume Dorme & Karl Maritaud)
Grafx2 is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2
of the License.
Grafx2 is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Grafx2; if not, see <http://www.gnu.org/licenses/> or
write to the Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
}
program IMG2FNT;
const
COULEUR_TEXTE=15;
var
Fichier:file;
Image:array[0..20479] of byte;
Fonte:array[0..2047] of byte;
Offset_dans_image:longint;
Masque:byte;
Position:word;
i,j,k,l:word;
Errcode:integer;
begin
if (paramcount<2) or (paramcount>3) then
begin
writeln('Syntaxe: IMG2FNT <Image> <Fonte> [offset dans l''image]');
writeln('Attention: ne pas taper les extensions!');
halt(1);
end;
if paramcount=3 then
begin
val(paramstr(3),Offset_dans_image,Errcode);
if Errcode<>0 then
begin
writeln('Syntaxe: IMG2FNT <Image> <Fonte> [offset dans l''image]');
writeln('Attention: ne pas taper les extensions!');
halt(1);
end;
end
else
Offset_dans_image:=0;
assign(Fichier,paramstr(1)+'.img');
reset(Fichier,1);
seek(Fichier,896+Offset_dans_image);
blockread(Fichier,Image,17280);
close(Fichier);
{Transformation de l'image en 0 pour le fond et 255 pour le texte}
for i:=0 to 17279 do
if Image[i]<>COULEUR_TEXTE
then Image[i]:=0
else Image[i]:=255;
for i:=0 to 255 do
for j:=0 to 7 do
begin
Fonte[(i shl 3)+j]:=0;
Masque:=128;
for k:=0 to 7 do
begin
asm {Position:=((i DIV 45)*2880) + ((i MOD 45)*8) + (j*360) +k}
mov ax,i
mov bl,45
div bl
push ax
xor ah,ah
mov bx,2880
mul bx
mov dx,ax
pop ax
mov cl,8
shr ax,cl
mov cl,3
shl ax,cl
add dx,ax
add dx,k
mov Position,dx
mov ax,j
mov bx,360
mul bx
add Position,ax
end;
Fonte[(i shl 3)+j]:=Fonte[(i shl 3)+j] + (Masque and Image[Position]);
Masque:=Masque shr 1;
end;
end;
assign(Fichier,Paramstr(2)+'.fnt');
rewrite(Fichier,1);
blockwrite(Fichier,Fonte,2048);
close(Fichier);
end.

Binary file not shown.

View File

@ -1,757 +0,0 @@
{ Grafx2 - The Ultimate 256-color bitmap paint program
Copyright 1996-2001 Sunset Design (Guillaume Dorme & Karl Maritaud)
Grafx2 is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2
of the License.
Grafx2 is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Grafx2; if not, see <http://www.gnu.org/licenses/> or
write to the Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
}
program makedat;
type tpalette=array[0..767] of byte;
var palette:tpalette;
{****************************************************************************}
{****************************************************************************}
{****************************************************************************}
Procedure XMODE;assembler;
const
X360Y270 : array[0..18] of word =
( $12E7, $6B00, $5901, $5A02, $8E03, $5E04, $8A05, $3006, $F007, $0008,
$6109, $2010, $A911, $1B12, $2D13, $0014, $1F15, $2F16, $E317 );
asm
push ds
mov ax,13h
int 10h
mov dx,3c4h
mov ax,0604h
out dx,ax
mov ax,0100h
out dx,ax
lea si,X360Y270
lodsb
or al,al
jz @@DontSetDot
mov dx,3C2h
out dx,al
@@DontSetDot:
mov dx,3C4h
mov ax,0300h
out dx,ax
mov dx,3D4h
mov al,11h
out dx,al
inc dx
in al,dx
and al,07fh
out dx,al
dec dx
cld
xor cx,cx
lodsb
mov cl,al
@@SetCRTParmsLoop:
lodsw
out dx,ax
loop @@SetCRTParmsLoop
mov dx,3C4h
mov ax,0f02h
out dx,ax
mov ax,0A000h
mov es,ax
sub di,di
sub ax,ax
mov cx,8000h
rep stosw
mov dx,3D4h
mov al,13h
out dx,al
inc dx
mov ax,90
shr ax,1
out dx,al
pop ds
end;
Procedure pixel(x,y : word;coul : byte);assembler;
asm
mov dx,3C4h
mov ax,0102h
mov cx,x
and cx,3
shl ah,cl
out dx,ax
mov ax,0A000h
mov es,ax
mov ax,y
mov bx,90
mul bx
mov bx,x
shr bx,2
add ax,bx
mov di,ax
mov al,coul
stosb
end;
Function lit_pixel(x,y : word):byte;
var a : byte;
begin
asm
mov ax,0A000h
mov es,ax
mov ax,y
mov bx,90
mul bx
mov bx,x
mov cl,bl
and cl,3
shr bx,2
add ax,bx
mov di,ax
mov dx,3CEh
mov al,4
mov ah,cl
out dx,ax
mov al,[es:di]
mov a,al
end;
lit_pixel:=a;
end;
procedure set_palette; assembler;
asm
push ds
lea si,palette
mov dx,3C8h
xor al,al
out dx,al
inc dl
mov cx,768
rep outsb
pop ds
end;
{----------------------------------------------------------------------------}
{----------------------------------------------------------------------------}
{----------------------------------------------------------------------------}
type t_os_tampon=array[0..63999] of byte;
var os_index:word;
var os_tampon:^t_os_tampon;
function octet_suivant(var f:file):byte;
var effect_result:word;
begin
inc(os_index);
if (os_index>=64000) then
begin
{$I-}
blockread(f,os_tampon^,64000,effect_result);
{$I+}
os_index:=0;
end;
octet_suivant:=os_tampon^[os_index];
end;
procedure init_os;
begin
new(os_tampon);
os_index:=64000;
end;
procedure close_os;
begin
dispose(os_tampon);
end;
{----------------------------------------------------------------------------}
var eo_index:word;
var eo_tampon:^t_os_tampon;
procedure ecrire_octet(var f:file; octet:byte);
var
effect_result:word;
begin
eo_tampon^[eo_index]:=octet;
inc(eo_index);
if (eo_index>=64000) then
begin
blockwrite(f,eo_tampon^,64000,effect_result);
eo_index:=0;
end;
end;
procedure init_eo;
begin
new(eo_tampon);
eo_index:=0;
end;
procedure close_eo(var f:file);
var effect_result:word;
begin
if eo_index>0 then blockwrite(f,eo_tampon^,eo_index,effect_result);
dispose(eo_tampon);
end;
{----------------------------------------------------------------------------}
{----------------------------------------------------------------------------}
{----------------------------------------------------------------------------}
{--------------------- DEPACKER une IMAGE au format PKM ---------------------}
procedure load_PKM(nom_fichier:string);
{errcode retourn: 0=OK , 1=pas un PKM , 2=taille incorrecte}
type
header = record {taille: 780 octets}
ident : array[1..3] of char; { chaŒne "PKM" }
methode : byte; { mthode de compression: }
{ 0 = compression en ligne (c)KM }
{ autres = inconnues pour le moment }
Recon1 : byte; { octet de reconnaissance sur 1 octet }
Recon2 : byte; { octet de reconnaissance sur 2 octets }
longx : word; { taille de l'image en X }
longy : word; { taille de l'image en Y }
palette : tpalette; { palette RVB 256*3 }
jump : word; { taille du saut entre le header et l'image }
end;
var
TailleX,TailleY:word;
errcode:byte;
coul,octet:byte;
taille_fichier:word;
i,j,k:word;
c:longint;
offsX,offsY,X,Y:word;
fich:file;
head: header;
taille_image: longint;
begin
offsX:=0;
offsY:=0;
assign(fich,Nom_Fichier);
reset(fich,1);
taille_fichier:=filesize(fich);
blockread(fich,head,SizeOf(Header));
if Head.LongY>270 then Head.LongY:=270;
if (head.ident<>'PKM') then
begin
errcode:=1;
exit;
end;
if (head.longX>360) then
begin
errcode:=2;
exit;
end;
{ dfinition de la palette }
Palette:=head.palette;
set_palette;
TailleX:=Head.LongX;
TailleY:=Head.LongY;
taille_image:=Head.LongX;
taille_image:=taille_image*Head.LongY;
Seek(fich,SizeOf(Header)+Head.Jump);
init_os;
j:=0;
octet:=octet_suivant(fich);
c:=0;
while (c<taille_image) and (j<taille_fichier-SizeOf(Header)-Head.Jump) do
begin
if (octet<>Head.Recon1) and (octet<>Head.Recon2)
then
begin
X:=c mod head.longX;
Y:=c div head.longX;
if (X<360) and (Y<270) then
pixel(X,Y,octet);
inc(j);
octet:=octet_suivant(fich);
inc(c);
end
else
begin
if octet=Head.Recon1
then
begin
inc(j);
octet:=octet_suivant(fich);
coul:=octet;
inc(j);
octet:=octet_suivant(fich)-1;
for i:=0 to octet do
begin
X:=(c+i) mod head.longX;
Y:=(c+i) div head.longX;
if (X<360) and (Y<270) then
pixel(X,Y,coul);
end;
c:=c+octet+1;
inc(j);
octet:=octet_suivant(fich);
end
else
begin
inc(j);
octet:=octet_suivant(fich);
coul:=octet;
inc(j);
octet:=octet_suivant(fich);
k:=(octet shl 8)+octet_suivant(fich);
for i:=0 to (k-1) do
begin
X:=(c+i) mod head.longX;
Y:=(c+i) div head.longX;
if (X<360) and (Y<270) then
pixel(X,Y,coul);
end;
c:=c+k;
j:=j+2;
octet:=octet_suivant(fich);
end;
end;
end;
close_os;
close(fich);
errcode:=0;
end;
{****************************************************************************}
{****************************************************************************}
{****************************************************************************}
var Crypt_curseur:byte;
const Crypt_cle:string[13]='Sunset Design';
function crypt(octet:byte):byte;
begin
crypt:=octet xor ord(Crypt_cle[Crypt_curseur]);
Crypt_curseur:=(Crypt_curseur mod 13)+1;
end;
procedure Ecrire_palette(var Fichier:file);
var i:word;
begin
for i:=0 to 767 do ecrire_octet(Fichier,crypt(palette[i]));
end;
procedure Lire_et_ecrire_sprite(var Fichier:file; x1,y1,x2,y2:word);
var i,j:word;
begin
for j:=y1 to y2 do
for i:=x1 to x2 do
ecrire_octet(Fichier,crypt(lit_pixel(i,j)));
end;
procedure Ecrire_trames_predefinies(var Fichier:file);
var
n,i,j:word;
Octet:byte;
Pixel_lu:byte;
begin
for n:=0 to 11 do {Pour chaque trame prdfinie}
begin
for j:=0 to 15 do
begin
Octet:=0;
for i:=0 to 7 do
begin
Octet:=(Octet shl 1);
Pixel_lu:=lit_pixel(9+(17*n)+i,196+j);
if Pixel_lu>0 then
inc(Octet);
end;
ecrire_octet(Fichier,crypt(Octet));
Octet:=0;
for i:=0 to 7 do
begin
Octet:=(Octet shl 1);
Pixel_lu:=lit_pixel(1+(17*n)+i,196+j);
if Pixel_lu>0 then
inc(Octet);
end;
ecrire_octet(Fichier,crypt(Octet));
end;
end;
end;
procedure Rajouter_fichier(var Fichier:file;Nom_fichier:string;Crypter:boolean);
var
Fichier_a_ajouter:file;
Taille :word;
Indice :word;
begin
assign (Fichier_a_ajouter,Nom_fichier);
reset (Fichier_a_ajouter,1);
Taille:=filesize(Fichier_a_ajouter);
init_os;
if (Crypter) then
for Indice:=1 to Taille do
ecrire_octet(Fichier,crypt(octet_suivant(Fichier_a_ajouter)))
else
for Indice:=1 to Taille do
ecrire_octet(Fichier,octet_suivant(Fichier_a_ajouter));
close_os;
close(Fichier_a_ajouter);
end;
procedure Coder_partie_de_fonte(var Fichier:file;Pos_X,Pos_Y,Nb_char:word);
var
X,Y:word;
Indice_char:word;
Couleur_temporaire:byte;
begin
for Indice_char:=1 to Nb_char do
begin
for X:=0 to 5 do
for Y:=0 to 7 do
begin
Couleur_temporaire:=lit_pixel(Pos_X+X,Pos_Y+Y);
if not (Couleur_temporaire in [25,7,15])
then Couleur_temporaire:=0;
ecrire_octet(Fichier,crypt(Couleur_temporaire));
end;
inc(Pos_X,6);
end;
end;
var
Fichier:file;
Position_de_depart_de_la_section_d_aide:longint;
Nombre_de_lignes_d_aide :word;
Nombre_d_octets_utilises:word;
procedure Demarrer_section_d_aide;
begin
Nombre_de_lignes_d_aide :=0;
Nombre_d_octets_utilises:=0;
assign(Fichier,'GFX2.DAT');
reset (Fichier,1);
Position_de_depart_de_la_section_d_aide:=filesize(Fichier);
seek(Fichier,Position_de_depart_de_la_section_d_aide);
{On crit temporairement des valeurs errones dans le fichier:}
blockwrite(Fichier,Nombre_de_lignes_d_aide ,2); {Nb de lignes}
blockwrite(Fichier,Nombre_d_octets_utilises,2); {Nb d'octets utiliss}
end;
procedure Terminer_section_d_aide;
begin
seek (Fichier,Position_de_depart_de_la_section_d_aide);
{On crit dfinitivement les valeurs correctes dans le fichier:}
blockwrite(Fichier,Nombre_de_lignes_d_aide ,2); {Nb de lignes}
blockwrite(Fichier,Nombre_d_octets_utilises,2); {Nb d'octets utiliss}
close (Fichier);
end;
const
TITRE = 1;
SOUS_TITRE = 2;
NORMAL = 3;
T = TITRE;
S = SOUS_TITRE;
N = NORMAL;
{$I TABLES}
procedure Ecrire_ligne_d_aide(De_type:byte;Chaine:string);
var
Code:byte; {Code … inscrire dans le fichier}
Indice:byte; {Indice de balayage de la chaŒne}
begin
if length(Chaine)>44 then
begin
close (Fichier);
asm
mov ax,3
int 10h
end;
writeln('ERREUR DANS L''AIDE !!! Il y a une ligne qui est trop longue !!!');
halt(1);
end;
case De_type of
TITRE :
begin
{1Šre ligne:}
{On code la taille de la 1Šre ligne chaŒne:}
Code:=(length(Chaine) shl 1) or $80;
blockwrite(Fichier,Code,1);
{On code la 1Šre ligne de la chaŒne selon la table des caractŠres}
{de titrage:}
for Indice:=1 to length(Chaine) do
begin
Code:=TABLE_TITRE[ord(Chaine[Indice])];
blockwrite(Fichier,Code,1);
inc(Code);
blockwrite(Fichier,Code,1);
end;
{On met … jour les compteurs:}
inc(Nombre_de_lignes_d_aide);
inc(Nombre_d_octets_utilises,(length(Chaine) shl 1)+1);
{2Šme ligne:}
{On code la taille de la 2Šme ligne chaŒne:}
Code:=(length(Chaine) shl 1) or $80;
blockwrite(Fichier,Code,1);
{On code la 2Šme ligne de la chaŒne selon la table des caractŠres}
{de titrage:}
for Indice:=1 to length(Chaine) do
begin
Code:=TABLE_TITRE[ord(Chaine[Indice])];
if Chaine[Indice] in ['A'..'V']
then inc(Code,44)
else inc(Code,40);
blockwrite(Fichier,Code,1);
inc(Code);
blockwrite(Fichier,Code,1);
end;
{On met … jour les compteurs:}
inc(Nombre_de_lignes_d_aide);
inc(Nombre_d_octets_utilises,(length(Chaine) shl 1)+1);
end;
SOUS_TITRE :
begin
{On code la taille de la chaŒne:}
Code:=length(Chaine);
blockwrite(Fichier,Code,1);
{On code la chaŒne selon la table des sous-titres:}
for Indice:=1 to length(Chaine) do
begin
Code:=TABLE_SOUS_TITRE[ord(Chaine[Indice])];
blockwrite(Fichier,Code,1);
end;
{On met … jour les compteurs:}
inc(Nombre_de_lignes_d_aide);
inc(Nombre_d_octets_utilises,length(Chaine)+1);
end;
NORMAL :
begin
{On code la taille de la chaŒne:}
Code:=length(Chaine);
blockwrite(Fichier,Code,1);
{On code la chaŒne selon la table des caractŠres normaux:}
for Indice:=1 to length(Chaine) do
begin
Code:=TABLE_NORMAL[ord(Chaine[Indice])];
blockwrite(Fichier,Code,1);
end;
{On met … jour les compteurs:}
inc(Nombre_de_lignes_d_aide);
inc(Nombre_d_octets_utilises,length(Chaine)+1);
end;
end;
end;
{$I HLP_GRET}
{$I HLP_CRDT}
{$I HLP_RGST}
BEGIN
XMODE;
Load_PKM('GFX2.PKM');
assign(Fichier,'GFX2.DAT');
rewrite(Fichier,1);
init_eo;
Crypt_curseur:=1;
Ecrire_palette(Fichier);
Lire_et_ecrire_sprite(Fichier, 1, 1,254, 44); {Menu}
Lire_et_ecrire_sprite(Fichier, 2, 47, 15, 60); {Shade}
Lire_et_ecrire_sprite(Fichier, 19, 47, 32, 60); {Colorize}
Lire_et_ecrire_sprite(Fichier, 36, 47, 49, 60); {Smooth}
Lire_et_ecrire_sprite(Fichier, 53, 47, 66, 60); {Tiling}
Lire_et_ecrire_sprite(Fichier, 70, 47, 83, 60); {Stencil}
Lire_et_ecrire_sprite(Fichier, 87, 47,100, 60); {Sieve}
Lire_et_ecrire_sprite(Fichier,104, 47,117, 60); {Grid}
Lire_et_ecrire_sprite(Fichier,121, 47,134, 60); {Mask}
Lire_et_ecrire_sprite(Fichier,138, 47,151, 60); {Smear}
Lire_et_ecrire_sprite(Fichier, 1, 85, 15, 99); {Fleche}
Lire_et_ecrire_sprite(Fichier, 17, 85, 31, 99); {Viseur}
Lire_et_ecrire_sprite(Fichier, 65, 85, 79, 99); {Viseur pipette}
Lire_et_ecrire_sprite(Fichier, 33, 85, 47, 99); {Sablier}
Lire_et_ecrire_sprite(Fichier, 49, 85, 63, 99); {Multidirectionnel}
Lire_et_ecrire_sprite(Fichier, 81, 85, 95, 99); {Horizontal}
Lire_et_ecrire_sprite(Fichier, 97, 85,111, 99); {Viseur fin}
Lire_et_ecrire_sprite(Fichier,113, 85,127, 99); {Viseur pipette fin}
Lire_et_ecrire_sprite(Fichier, 2,102, 15,115); {Dessin continu}
Lire_et_ecrire_sprite(Fichier, 19,102, 32,115); {Dessin interrompu}
Lire_et_ecrire_sprite(Fichier, 36,102, 49,115); {Dessin point}
Lire_et_ecrire_sprite(Fichier, 53,102, 66,115); {Pinceau-brosse}
Lire_et_ecrire_sprite(Fichier, 70,102, 83,115); {Courbe 3 pts}
Lire_et_ecrire_sprite(Fichier, 87,102,100,115); {Courbe 4 pts}
Lire_et_ecrire_sprite(Fichier,104,102,117,115); {Ligne}
Lire_et_ecrire_sprite(Fichier,121,102,134,115); {K-Line}
Lire_et_ecrire_sprite(Fichier,138,102,151,115); {Lignes concentiques}
Lire_et_ecrire_sprite(Fichier, 1,120, 16,135); {Pinceau 1}
Lire_et_ecrire_sprite(Fichier, 18,120, 33,135); {Pinceau 2}
Lire_et_ecrire_sprite(Fichier, 35,120, 50,135); {Pinceau 3}
Lire_et_ecrire_sprite(Fichier, 52,120, 67,135); {Pinceau 4}
Lire_et_ecrire_sprite(Fichier, 69,120, 84,135); {Pinceau 5}
Lire_et_ecrire_sprite(Fichier, 86,120,101,135); {Pinceau 6}
Lire_et_ecrire_sprite(Fichier,103,120,118,135); {Pinceau 7}
Lire_et_ecrire_sprite(Fichier,120,120,135,135); {Pinceau 8}
Lire_et_ecrire_sprite(Fichier,137,120,152,135); {Pinceau 9}
Lire_et_ecrire_sprite(Fichier,154,120,169,135); {Pinceau 10}
Lire_et_ecrire_sprite(Fichier,171,120,186,135); {Pinceau 11}
Lire_et_ecrire_sprite(Fichier,188,120,203,135); {Pinceau 12}
Lire_et_ecrire_sprite(Fichier, 1,137, 16,152); {Pinceau 13}
Lire_et_ecrire_sprite(Fichier, 18,137, 33,152); {Pinceau 14}
Lire_et_ecrire_sprite(Fichier, 35,137, 50,152); {Pinceau 15}
Lire_et_ecrire_sprite(Fichier, 52,137, 67,152); {Pinceau 16}
Lire_et_ecrire_sprite(Fichier, 69,137, 84,152); {Pinceau 17}
Lire_et_ecrire_sprite(Fichier, 86,137,101,152); {Pinceau 18}
Lire_et_ecrire_sprite(Fichier,103,137,118,152); {Pinceau 19}
Lire_et_ecrire_sprite(Fichier,120,137,135,152); {Pinceau 20}
Lire_et_ecrire_sprite(Fichier,137,137,152,152); {Pinceau 21}
Lire_et_ecrire_sprite(Fichier,154,137,169,152); {Pinceau 22}
Lire_et_ecrire_sprite(Fichier,171,137,186,152); {Pinceau 23}
Lire_et_ecrire_sprite(Fichier,188,137,203,152); {Pinceau 24}
Lire_et_ecrire_sprite(Fichier, 1,154, 16,169); {Pinceau 25}
Lire_et_ecrire_sprite(Fichier, 18,154, 33,169); {Pinceau 26}
Lire_et_ecrire_sprite(Fichier, 35,154, 50,169); {Pinceau 27}
Lire_et_ecrire_sprite(Fichier, 52,154, 67,169); {Pinceau 28}
Lire_et_ecrire_sprite(Fichier, 69,154, 84,169); {Pinceau 29}
Lire_et_ecrire_sprite(Fichier, 86,154,101,169); {Pinceau 30}
Lire_et_ecrire_sprite(Fichier,103,154,118,169); {Pinceau 31}
Lire_et_ecrire_sprite(Fichier,120,154,135,169); {Pinceau 32}
Lire_et_ecrire_sprite(Fichier,137,154,152,169); {Pinceau 33}
Lire_et_ecrire_sprite(Fichier,154,154,169,169); {Pinceau 34}
Lire_et_ecrire_sprite(Fichier,171,154,186,169); {Pinceau 35}
Lire_et_ecrire_sprite(Fichier,188,154,203,169); {Pinceau 36}
Lire_et_ecrire_sprite(Fichier, 1,171, 16,186); {Pinceau 37}
Lire_et_ecrire_sprite(Fichier, 18,171, 33,186); {Pinceau 38}
Lire_et_ecrire_sprite(Fichier, 35,171, 50,186); {Pinceau 39}
Lire_et_ecrire_sprite(Fichier, 52,171, 67,186); {Pinceau 40}
Lire_et_ecrire_sprite(Fichier, 69,171, 84,186); {Pinceau 41}
Lire_et_ecrire_sprite(Fichier, 86,171,101,186); {Pinceau 42}
Lire_et_ecrire_sprite(Fichier,103,171,118,186); {Pinceau 43}
Lire_et_ecrire_sprite(Fichier,120,171,135,186); {Pinceau 44}
Lire_et_ecrire_sprite(Fichier,137,171,152,186); {Pinceau 45}
Lire_et_ecrire_sprite(Fichier,154,171,169,186); {Pinceau 46}
Lire_et_ecrire_sprite(Fichier,171,171,186,186); {Pinceau 47}
Lire_et_ecrire_sprite(Fichier,188,171,203,186); {Pinceau 48}
Lire_et_ecrire_sprite(Fichier, 1,188, 7,194); {Diskette 3"«}
Lire_et_ecrire_sprite(Fichier, 9,188, 15,194); {Diskette 5"¬}
Lire_et_ecrire_sprite(Fichier, 17,188, 23,194); {HDD}
Lire_et_ecrire_sprite(Fichier, 25,188, 31,194); {CD-ROM}
Lire_et_ecrire_sprite(Fichier, 33,188, 39,194); {Network}
Lire_et_ecrire_sprite(Fichier, 1,213,231,268); {Logo GrafX2}
Ecrire_trames_predefinies(Fichier);
Rajouter_fichier(Fichier,'FONTE1.FNT',true); {Fonte systŠme}
Rajouter_fichier(Fichier,'FONTE2.FNT',true); {Fonte exotique}
Load_PKM('FONTS.PKM');
Coder_partie_de_fonte(Fichier,0,121,45); {Petites fontes}
Coder_partie_de_fonte(Fichier,0,129,45);
Coder_partie_de_fonte(Fichier,0,137,45);
Coder_partie_de_fonte(Fichier,0,145,12);
Coder_partie_de_fonte(Fichier,0,153,44); {Grosse fonte}
Coder_partie_de_fonte(Fichier,0,161,44);
Coder_partie_de_fonte(Fichier,0,169,40);
Coder_partie_de_fonte(Fichier,0,177,40);
close_eo(Fichier);
close (Fichier);
asm
mov ax,3
int 10h
end;
Generer_l_aide_Credits;
Generer_l_aide_Register;
Generer_l_aide_Greetings;
reset(Fichier,1);
seek(Fichier,filesize(Fichier));
init_eo;
Rajouter_fichier(Fichier,'GFX2.INI',false);
close_eo(Fichier);
writeln('Le fichier GFX2.DAT est cr. (taille = ',filesize(Fichier),' octets)');
close(Fichier);
END.

View File

@ -1,22 +0,0 @@
@rem Grafx2 - The Ultimate 256-color bitmap paint program
@rem
@rem Copyright 1996-2001 Sunset Design (Guillaume Dorme & Karl Maritaud)
@rem
@rem Grafx2 is free software; you can redistribute it and/or
@rem modify it under the terms of the GNU General Public License
@rem as published by the Free Software Foundation; version 2
@rem of the License.
@rem
@rem Grafx2 is distributed in the hope that it will be useful,
@rem but WITHOUT ANY WARRANTY; without even the implied warranty of
@rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@rem GNU General Public License for more details.
@rem
@rem You should have received a copy of the GNU General Public License
@rem along with Grafx2; if not, see <http://www.gnu.org/licenses/> or
@rem write to the Free Software Foundation, Inc.,
@rem 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
@echo off
img2fnt fonts fonte1
img2fnt fonts fonte2 17280

Binary file not shown.

View File

@ -1,124 +0,0 @@
{ Grafx2 - The Ultimate 256-color bitmap paint program
Copyright 1996-2001 Sunset Design (Guillaume Dorme & Karl Maritaud)
Grafx2 is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2
of the License.
Grafx2 is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Grafx2; if not, see <http://www.gnu.org/licenses/> or
write to the Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
}
program mkgreets;
const
NB_MAX_LIGNES=50;
TAILLE_MAX_NICK=14;
var
Fichier : text;
Greets : array[0..3,0..NB_MAX_LIGNES-1] of string[TAILLE_MAX_NICK];
Total_nicks: word;
{-----------------------------}
procedure Init_greets;
var
i,j:word;
begin
for i:=0 to 3 do
for j:=0 to NB_MAX_LIGNES-1 do
Greets[i,j]:='';
end;
{-----------------------------}
procedure Compter_greets;
var
Temp:String;
begin
Total_nicks:=0;
while not eof(Fichier) do
begin
readln(Fichier,Temp);
inc(Total_nicks);
end;
end;
{-----------------------------}
procedure Lire_greets;
var
Nb_nicks:word;
begin
Nb_nicks:=0;
while not eof(Fichier) do
begin
readln(Fichier,Greets[Nb_nicks div Total_nicks, Nb_nicks mod Total_nicks]);
inc(Nb_nicks);
end;
end;
{-----------------------------}
procedure Ecrire_greets;
var
i:word;
begin
writeln(Fichier,'{');
writeln(Fichier,' Ce fichier contient la partie "Greetings ..." de l''aide de GRAFX 2');
writeln(Fichier,'}');
writeln(Fichier,'');
writeln(Fichier,'procedure Generer_l_aide_Greetings;');
writeln(Fichier,'begin');
writeln(Fichier,' Demarrer_section_d_aide;');
writeln(Fichier,' {XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}');
writeln(Fichier,' {XXXXXXXXXXXXXXXXXXXXXX}');
writeln(Fichier,' Ecrire_ligne_d_aide(T,''GREETINGS:'');');
writeln(Fichier,' Ecrire_ligne_d_aide(N,'''');');
writeln(Fichier,' Ecrire_ligne_d_aide(N,''Our best regards go to...'');');
writeln(Fichier,' Ecrire_ligne_d_aide(N,'''');');
for i:=0 to Total_nicks-1 do
begin
write(Fichier,' Ecrire_ligne_d_aide(N,'' ',Greets[0,i]);
if (Greets[1,i]<>'') then
write(Fichier,' ':TAILLE_MAX_NICK-length(Greets[0,i]),Greets[1,i]);
if (Greets[2,i]<>'') then
write(Fichier,' ':TAILLE_MAX_NICK-length(Greets[1,i]),Greets[2,i]);
writeln(Fichier,''');');
end;
writeln(Fichier,' Ecrire_ligne_d_aide(N,'' and all #pixel, #demofr and #coders.'');');
writeln(Fichier,' {XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}');
writeln(Fichier,' {XXXXXXXXXXXXXXXXXXXXXX}');
writeln(Fichier,' Terminer_section_d_aide;');
writeln(Fichier,'end;');
end;
{-----------------------------}
begin
Init_greets;
assign(Fichier,'greets.txt');
reset(Fichier);
Compter_greets;
Total_nicks:=(Total_nicks+2) div 3;
reset(Fichier);
Lire_greets;
close(Fichier);
assign(Fichier,'hlp_gret.pas');
rewrite(Fichier);
Ecrire_greets;
close(Fichier);
end.

View File

@ -1,278 +0,0 @@
{ Grafx2 - The Ultimate 256-color bitmap paint program
Copyright 1996-2001 Sunset Design (Guillaume Dorme & Karl Maritaud)
Grafx2 is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2
of the License.
Grafx2 is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Grafx2; if not, see <http://www.gnu.org/licenses/> or
write to the Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
}
{Ce fichier contient pour chaque type de fonte l'indice qu'il faut coder:}
const
TABLE_NORMAL:array[32..151] of byte =
(
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
0,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
0,
0,
93,
94,
95,
96,
0,
97,
0,
98,
99,
100,
101,
0,
0,
0,
0,
0,
0,
102,
0,
103,
0,
0,
104,
105
);
TABLE_SOUS_TITRE:array[32..90] of byte =
(
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
132,
133,
134,
135,
136,
137,
138,
139,
140,
141,
142,
143,
144,
145,
0,
0,
0,
0,
146,
0,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131
);
TABLE_TITRE:array[32..90] of byte =
(
126,
126,
126,
126,
126,
126,
126,
126,
126,
126,
126,
126,
126,
96,
98,
100,
102,
104,
106,
108,
110,
112,
114,
116,
118,
120,
122,
126,
126,
126,
126,
124,
126,
0, {A}
2, {B}
4, {C}
6, {D}
8, {E}
10, {F}
12, {G}
14, {H}
16, {I}
18, {J}
20, {K}
22, {L}
24, {M}
26, {N}
28, {O}
30, {P}
32, {Q}
34, {R}
36, {S}
38, {T}
40, {U}
42, {V}
88, {W}
90, {X}
92, {Y}
94 {Z}
);

View File

@ -1,289 +0,0 @@
###### GrafX2 initialization file ###### Fichier d'initialisation de GrafX2 ##
# # # #
# You may modify this file with any # Vous pouvez modifier ce fichier avec #
# standard ASCII text editor. # n'importe quel diteur de texte #
# # ASCII standard. #
# # #
# Comments are preceded by ';' or # Les commentaires sont prcds par #
# '#'. # ';' ou '#'. #
# # #
# Options are not case sensitive and # Les options ne sont pas sensibles … #
# spaces are ignored. # la casse et les espaces sont ignors.#
# # #
# You must not change the order of # Vous ne devez pas changer l'ordre #
# the sections and their options. # des sections et de leurs options. #
# You must not delete or put into # Vous ne devez pas effacer ou mettre #
# comment any section nor option. # en commentaire une section ou option.#
# # #
# Each option is preceded by a # Chaque option est prcde par un #
# comment which explains its meaning. # commentaire qui explique sa fonction.#
# # #
##############################################################################
[MOUSE] # [SOURIS]
; The sensitivity of the mouse can ³ La sensibilit de la souris peut
; take values from 1 to 64. The ³ prendre des valeurs de 1 … 64. Plus
; smaller values, the faster. ³ les valeurs sont petites, plus c'est
; ³ rapide.
X_sensitivity = 3 ; (default 3)
Y_sensitivity = 3 ; (default 3)
; Due to the fact that those stupid ³ A cause du fait que ces imbciles de
; mouse drivers' makers don't care ³ programmeurs de gestionnaires de
; if the mouse moves by steps of 2, ³ souris se fichent que votre souris se
; 4 or even 8 pixels, we have to ³ deplace par pas de 2, 4 ou mˆme 8
; stretch the virtual area of the ³ pixels, nous devons largir la zone
; mouse and divide coordinates to ³ virtuelle de la souris et diviser les
; get a one-pixel step motion. ³ coordonnes pour obtenir un pas de 1.
; (Warning: the mouse movement can ³ (Attention: le dplacement de la
; be correct in some video modes ³ souris peut ˆtre correct dans certains
; but not in others... But all the ³ modes vidos mais pas dans d'autres...
; "Modes X" should behave the same ³ Mais tout les Modes X devraient se
; way, so you won't have to test ³ comporter de la mˆme maniŠre, donc
; them all). ³ vous n'aurez pas … tous les tester.
; A correction factor of 0 means ³ Un facteur de correction de 0 signifie
; that you are very lucky because ³ que vous avez de la chace car votre
; your driver doesn't need any ³ driver n'a pas besoin de correction.
; correction. If you set the ³ Si vous dfinissez le facteur de
; correction factor to 1, it means ³ correction … 1, cela signifie que
; that your mouse moves by steps of ³ votre souris se dplace par pas de 2
; 2 pixels; 2 for 4; 3 for 8, etc...³ pixels; 2 pour 4; 3 pour 8, etc...
; If you want to use GrafX2 in a ³ Si vous dsirez lancer GrafX2 dans une
; Win95 window, you should turn ³ fenˆtre Windows95, vous devriez passer
; these values to 0 (and increase X ³ ces valeurs … 0 (et augmenter les sen-
; and Y sensitivities above). ³ sibilits X et Y dfinies plus haut).
X_correction_factor = 3 ; (default 3)
Y_correction_factor = 3 ; (default 3)
; Aspect of the main cursor (cross) ³ Aspect du curseur principal (croix)
; 1: Solid ³ 1: Solide
; 2: Transparent ³ 2: Transparent
; 3: Thin (solid) ³ 3: Fin (solide)
Cursor_aspect = 1 ; (default 1)
[MENU] # [MENU]
; Colors of the menus (the black ³ Couleurs des menus (la couleur noire
; and the white colors cannot be ³ et la couleur blanche ne peuvent pas
; modified). ³ ˆtre modifies).
; Values are in {Red,Green,Blue} ³ Les valeurs sont dans l'ordre {Rouge,
; order and are between 0 and 63. ³ Vert,Bleu} et vont de 0 … 63.
Light_color = 42,42,42 ; (default 42,42,42)
Dark_color = 27,27,27 ; (default 27,27,27)
;
; Light_color = 24,25,30 ; \_ Nightmare
; Dark_color = 13,14,19 ; /
;
; Light_color = 10,45,28 ; \_ Forest
; Dark_color = 5,27,12 ; /
;
; Light_color = 48,41,26 ; \_ Gold
; Dark_color = 26,22,15 ; /
;
; Light_color = 10,40,55 ; \_ Oceanic
; Dark_color = 10,20,32 ; /
; Aspect ratio and size of the ³ Proportion des menus et de la barre
; menus and the tool-bar. ³ d'outils.
; Possible values: ³ Valeurs possibles:
; 0: Do not adapt (pixels are not ³ 0: Ne pas adapter (les pixels ne sont
; stretched) ³ pas tirs)
; 1: Adapt the menus and the tool- ³ 1: Adapter les menus et la barre
; bar according to the resolution³ d'outils suivant la rsolution
; 2: Slightly adapt the ratio of ³ 2: Adapter lgŠrement les proportions
; the menus and tool-bar ³ des menus et de la barre d'outils
Menu_ratio = 1 ; (default 1)
; Font: ³ Police de caractŠres (fonte):
; 1: Classic ³ 1: Classique
; 2: Fun ³ 2: Fun
Font = 1 ; (default 1)
[FILE_SELECTOR] # [SELECTEUR_DE_FICHIERS]
; Show special files and ³ Afficher les fichiers et rpertoires
; directories (values are 'yes' or ³ spciaux (les valeurs sont 'yes' ou
; 'no'). ³ 'no').
Show_hidden_files = no ; (default 'no')
Show_hidden_directories = no ; (default 'no')
Show_system_directories = no ; (default 'no')
; Delay before displaying a preview ³ Dlai avant d'afficher une preview
; in file-selectors (in 18.2th of ³ dans les slecteurs de fichiers (en
; second). Possible values range ³ 18.2Šmes de seconde) Les valeurs
; from 1 to 256. ³ possibles vont de 1 … 256.
Preview_delay = 8 ; (default 8)
; Maximize the preview of the ³ Maximiser la preview des images pour
; pictures so that it is as big as ³ qu'elle soit aussi grande que
; possible. If you're not in the ³ possible.
; same resolution as the picture's ³ Si vous n'ˆtes pas dans la mˆme rso-
; one, it can try to correct the ³ lution que celle de l'image, cela peut
; aspect ratio, but if the picture ³ essayer de corriger les proportions,
; does not fill the whole screen, ³ mais si l'image ne prend pas tout
; it can be worse. ³ l'cran, cela peut ˆtre pire.
Maximize_preview = no ; (default 'no')
; This option is used to place the ³ Cette option est utilise pour placer
; selection bar on a filename by ³ la barre de slection sur un nom de
; typing its first letters. ³ fichier en tapant ses 1Šres lettres.
; For example, if you want to find ³ Par exemple, si vous voulez trouver le
; the "PICTURE.PKM" in a directory ³ fichier "PICTURE.PKM" dans un rper-
; that also contains "PALETTE.PAL", ³ toire contenant galement le fichier
; you'll just have to type P and I. ³ "PALETTE.PAL", vous n'aurez qu'… taper
; The different values of "FFF" ³ P puis I.
; indicate if you want to find the ³ Les different valeurs de "FFF"
; name in both files and directories³ indiquent si vous voulez trouvez le nom
; or just in only one of these: ³ dans les fichiers ET les rpertoires ou
; 0: files and directories ³ simplement dans l'un OU l'autre.
; 1: files only ³ 0: fichiers et rpertoires
; 2: directories only ³ 1: fichiers seulement
; ³ 2: rpertoires seulement
Find_file_fast = 0 ; (default 0)
[LOADING] # [CHARGEMENT]
; Automatically set the resolution ³ Passer automatiquement dans la bonne
; when loading a picture. ³ rsolution lors du chargement d'une
; You should set this value to ³ image.
; 'yes' after disabling the video ³ Vous devriez dfinir cette option …
; modes that are not supported by ³ 'yes' aprŠs avoir inhib les modes
; your video card or monitor. ³ vido qui ne sont pas supports par
; ³ votre matriel.
Auto_set_resolution = no ; (default 'no')
; If the variable above is set to ³ Si la variable ci-dessus est … 'yes',
; 'yes', this one tells if you want ³ celle-ci indique si vous voulez
; to set the resolution according ³ dfinir la rsolution suivant:
; to: ³ 1: les dimensions de "l'cran
; 1: the internal "original screen" ³ d'origine" internes … l'image
; dimensions of the picture ³ 2: les vritables dimensions de
; 2: the actual dimensions of the ³ l'image
; picture ³
Set_resolution_according_to = 1 ; (default 1)
; If you load a picture with a ³ Si vous chargez une image ayant une
; palette of less than 256 colors, ³ palette de moins de 256 couleurs,
; this option defines if you want ³ cette option indique si vous souhaitez
; to clear the palette or to keep ³ effacer la palette ou bien conserver
; the colors of the previous ³ les couleurs de l'image prcdente qui
; picture that are over the number ³ se situent au-del… du nombre de la
; of colors of the new picture. ³ nouvelle image.
; For example, if you load a ³ Par exemple, si vous chargez une image
; 32-color picture, the colors 32 ³ de 32 couleurs, les couleurs 32 … 255
; to 255 will be set to black if ³ seront passes en noir si cette option
; this option is set to 'yes', or ³ est … 'yes', ou bien elles resteront
; they will be kept unchanged if ³ inchanges si elle est … 'no'.
; this option is set to 'no'. ³
Clear_palette = yes ; (default 'yes')
[MISCELLANEOUS] # [DIVERS]
; Draw the limits of the picture. ³ Afficher les limites de l'image
Draw_limits = yes ; (default 'yes')
; Adjust the brush grabbing in ³ Ajuster la capture de brosse en mode
; "grid" mode. ³ "grille".
Adjust_brush_pick = yes ; (default 'yes')
; Coordinates: ³ Coordonnes:
; 1: Relative ³ 1: Relatives
; 2: Absolute ³ 2: Absolues
Coordinates = 1 ; (default 1)
; Create a backup file when saving. ³ Crer un fichier backup lors des
; ³ sauvegardes.
Backup = no ; (default 'no')
; Number of pages stored in memory ³ Nombre de pages stockes en mmoire
; for "undoing". ³ destines … annuler les derniŠres
; Values are between 1 and 99. ³ modifications. Valeurs entre 1 et 99.
Undo_pages = 1 ; (default 1)
; Speed of the scroll-bars (in VBLs ³ Vitesse des barre de dfilement (en
; waited) while clicking with the ³ VBLs attendus) lorsque l'un des
; left or right button of the mouse.³ boutons de la souris est enfonc.
; Values can be between 1 and 255. ³ Les valeurs sont comprises entre 1 et
; The bigger values, the slower. ³ 255. Plus elles sont grandes, plus
; ³ c'est lent.
Gauges_scrolling_speed_Left = 10 ; (default 10)
Gauges_scrolling_speed_Right = 3 ; (default 3)
; Automatically save the configu- ³ Enregistre automatiquement la configu-
; ration when exiting the program. ³ ration lorsqu'on quitte le programme.
Auto_save = yes ; (default 'yes')
; Maximum number of vertices used ³ Nombre maximum de vertex utiliss dans
; in filled polygons and polyforms, ³ les polyg“nes et polyformes pleins, et
; and lasso. Possible values range ³ le lasso. Les valeurs possibles vont
; from 2 to 16384. ³ de 2 … 16384.
; Each vertex takes 4 bytes. ³ Chaque vertex prend 4 octets.
Vertices_per_polygon = 1024 ; (default 1024)
; Automatically zoom into the ³ Zoomer automatiquement la zone pointe
; pointed area when you press the ³ par la souris lorsque vous appuyez sur
; short-key of the Magnifier button ³ la touche de raccourci de la loupe.
; while being above the picture. ³
Fast_zoom = yes ; (default 'yes')
; Separate the colors in the tool- ³ Sparer les couleurs dans la barre
; bar by a black squaring. ³ d'outils par un quadrillage noir.
Separate_colors = yes ; (default 'yes')
; Initial value of the feedback for ³ Valeur initiale du "feedback" pour les
; the drawing modes (cf. docs). ³ modes de dessin (cf. docs).
FX_feedback = yes ; (default 'yes')
; When you reduce the palette or ³ Si vous rduisez la palette ou "zappez"
; "zap" some colors out of it, it is³ quelques couleurs, il est possible
; possible that there are not enough³ qu'il ne reste pas assez de couleurs
; colors left to draw the menus. ³ pour afficher les menus. Mettre cette
; Switching the following variable ³ variable … 'yes' ramŠnera automatiquent
; on will bring back the colors of ³ les couleurs du menu s'il reste moins
; the menu if there are less than 4 ³ de 4 couleurs aprŠs une "rduction" ou
; colors left after "reducing" or ³ un "zapping".
; "zapping". ³
Safety_colors = yes ; (default 'yes')
; Display a message at startup ³ Afficher un message au dmarrage
; telling the version number of the ³ indiquant le numro de version du
; program. ³ programme.
Opening_message = yes ; (default 'yes')
; Take the Stencil into account when³ Prendre le Stencil en compte lorsqu'on
; clearing the image. ³ efface l'image.
Clear_with_stencil = yes ; (default 'yes')
; Directly set the discontinuous ³ Passer automatiquement en mode de
; freehand drawing mode after brush ³ dessin discontinu aprŠs la prise d'une
; grabbing. ³ brosse.
Auto_discontinuous = no ; (default 'no')
; Save the screen dimensions in GIF ³ Sauver les dimensions de l'cran dans
; files. If you want to read these ³ les fichiers GIF. Si vous voulez lire
; files with Photoshop or Alchemy, ³ ces fichiers avec Photoshop ou Alchemy,
; and maybe some other programs, you³ et peut-ˆtre d'autres programmes, vous
; must set this option to 'no'. ³ devez mettre cette option … 'no'.
Save_screen_size_in_GIF = no ; (default 'no')
; Automaticaly count the number of ³ Compter automatiquement le nombre de
; different colors used when opening³ couleurs diffrentes utilises lors de
; the palette editor window. (Set it³ d'ouverture de la fenˆtre d'dition de
; to 'no' if you have a slow PC or ³ la palette. (Mettez-le … 'no' si vous
; if you edit huge pictures) ³ avez un PC lent ou bien si vous ditez
; ³ d'normes images).
Auto_nb_colors_used = yes ; (default 'yes')
; Number of the default video mode ³ Numro du mode vido par dfaut au
; at startup (see the list by typing³ dmarrage (voir la liste en tapant
; "gfx2 /?" at the DOS prompt). ³ "gfx2 /?" sur la ligne de commande).
Default_video_mode = 0 ; (default 0)