mirror of
https://github.com/ondra-novak/gates_of_skeldal.git
synced 2025-07-05 14:10:27 -04:00
game folder "just" compiles (not link)
This commit is contained in:
parent
13d3908273
commit
1b0f7fe0c2
135 changed files with 2161 additions and 2336 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -5,3 +5,7 @@
|
|||
_UpgradeReport_Files
|
||||
/Bin
|
||||
/Debug
|
||||
/build
|
||||
/.cproject
|
||||
/.project
|
||||
/.settings
|
||||
|
|
1
.settings/.gitignore
vendored
Normal file
1
.settings/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/language.settings.xml
|
6
CMakeLists.txt
Normal file
6
CMakeLists.txt
Normal file
|
@ -0,0 +1,6 @@
|
|||
cmake_minimum_required(VERSION 3.28)
|
||||
project(skeldal)
|
||||
|
||||
include_directories(platform libs)
|
||||
add_compile_options(-funsigned-char)
|
||||
add_subdirectory(game)
|
81
GAME/DUMP.C
81
GAME/DUMP.C
|
@ -1,81 +0,0 @@
|
|||
#include <skeldal_win.h>
|
||||
#include <stdio.h>
|
||||
#include <bgraph.h>
|
||||
#include <dos.h>
|
||||
#include <memman.h>
|
||||
#include <debug.h>
|
||||
|
||||
static int latest_version(char *wild,int numpos)
|
||||
{
|
||||
WIN32_FIND_DATA ff;
|
||||
HANDLE rc;
|
||||
int i=0,j=-1;
|
||||
char *p;
|
||||
|
||||
rc=FindFirstFile(wild,&ff);
|
||||
if (rc!=INVALID_HANDLE_VALUE)
|
||||
do
|
||||
{
|
||||
p=ff.cFileName+numpos;
|
||||
sscanf(p,"%d",&i);
|
||||
if (i>j) j=i;
|
||||
}
|
||||
while (FindNextFile(rc,&ff));
|
||||
FindClose(rc);
|
||||
return j;
|
||||
}
|
||||
|
||||
void save_dump()
|
||||
{
|
||||
static dump_counter=-1;
|
||||
FILE *f;
|
||||
int i,r,g,b,x,y;
|
||||
word *a;
|
||||
char c[20];
|
||||
|
||||
if (dump_counter==-1)
|
||||
{
|
||||
dump_counter=latest_version("DUMP*.BMP",4);
|
||||
SEND_LOG("(DUMP) Dump counter sets to %d",dump_counter,0);
|
||||
}
|
||||
sprintf(c,"DUMP%04d.BMP",++dump_counter);
|
||||
SEND_LOG("(DUMP) Saving screen shot named '%s'",c,0);
|
||||
f=fopen(c,"wb");
|
||||
fputc('B',f);fputc('M',f);
|
||||
i=DxGetResX()*DxGetResY()*3+0x36;
|
||||
fwrite(&i,1,4,f);i=0;
|
||||
fwrite(&i,1,4,f);
|
||||
i=0x36;
|
||||
fwrite(&i,1,4,f);
|
||||
i=0x28;
|
||||
fwrite(&i,1,4,f);
|
||||
i=DxGetResX();
|
||||
fwrite(&i,1,4,f);
|
||||
i=DxGetResY();
|
||||
fwrite(&i,1,4,f);
|
||||
i=1;
|
||||
fwrite(&i,1,2,f);
|
||||
i=24;
|
||||
fwrite(&i,1,2,f);
|
||||
i=0;
|
||||
fwrite(&i,1,4,f);
|
||||
i=DxGetResX()*DxGetResY()*3;
|
||||
fwrite(&i,1,4,f);
|
||||
for(i=4,r=0;i>0;i--) fwrite(&r,1,4,f);
|
||||
for(y=DxGetResY();y>0;y--)
|
||||
{
|
||||
word *scr=GetScreenAdr();
|
||||
a=scr+(y-1)*scr_linelen2;
|
||||
for(x=0;x<DxGetResX();x++)
|
||||
{
|
||||
i=a[x];
|
||||
b=(i & 0x1f)<<3;
|
||||
g=(i & 0x7ff)>>3;
|
||||
r=i>>8;
|
||||
i=((r*256)+g)*256+b;
|
||||
fwrite(&i,1,3,f);
|
||||
}
|
||||
}
|
||||
fclose(f);
|
||||
}
|
||||
|
200
INST/SETUP.C
200
INST/SETUP.C
|
@ -169,10 +169,10 @@ static void cpy_error_proc(int event,char *name)
|
|||
|
||||
switch(event)
|
||||
{
|
||||
case CPERR_OPEN:hlaska="Nemohu otev©¡t soubor :";break;
|
||||
case CPERR_READ:hlaska="Nastala chyba p©i ‡ten¡ z CD. Vyjmˆte CD, o‡istˆte jej a opˆt ho vlo‘te do mechaniky";break;
|
||||
case CPERR_WRITE:hlaska="Nastala chyba p©i zapisu na disk. Mo‘n u‘ je pln˜. Soubor:";break;
|
||||
default:hlaska="Nastala nezn ma chyba. ";
|
||||
case CPERR_OPEN:hlaska="Nemohu otev<EFBFBD><EFBFBD>t soubor :";break;
|
||||
case CPERR_READ:hlaska="Nastala chyba p<EFBFBD>i <20>ten<65> z CD. Vyjm<6A>te CD, o<>ist<73>te jej a op<6F>t ho vlo<6C>te do mechaniky";break;
|
||||
case CPERR_WRITE:hlaska="Nastala chyba p<EFBFBD>i zapisu na disk. Mo<4D>n<EFBFBD> u<> je pln<6C>. Soubor:";break;
|
||||
default:hlaska="Nastala nezn<EFBFBD>ma chyba. ";
|
||||
}
|
||||
text=alloca(strlen(hlaska)+strlen(name)+10);
|
||||
strcpy(text,hlaska);
|
||||
|
@ -187,7 +187,7 @@ static void cpy_error_proc(int event,char *name)
|
|||
|
||||
static void stop_copy()
|
||||
{
|
||||
if (msg_box("Konec instalace?",'\x2',"Hra je¨tˆ nen¡ kompletnˆ nainstalov na. Opravdu chce¨ ukon‡it instal tora?","Ano","Ne",NULL)==1)
|
||||
if (msg_box("Konec instalace?",'\x2',"Hra je<EFBFBD>t<EFBFBD> nen<65> kompletn<74> nainstalov<6F>na. Opravdu chce<63> ukon<6F>it instal<61>tora?","Ano","Ne",NULL)==1)
|
||||
{
|
||||
close_ini();
|
||||
shutdown();
|
||||
|
@ -197,7 +197,7 @@ static void stop_copy()
|
|||
|
||||
static void stop_setup()
|
||||
{
|
||||
if (msg_box("Konec?",'\x2',"Tato volba ukon‡¡ SETUP bez ulo‘en¡ zmˆn. Opravdu chce¨ ukon‡it program?","Ano","Ne",NULL)==1)
|
||||
if (msg_box("Konec?",'\x2',"Tato volba ukon<EFBFBD><EFBFBD> SETUP bez ulo<6C>en<65> zm<7A>n. Opravdu chce<63> ukon<6F>it program?","Ano","Ne",NULL)==1)
|
||||
{
|
||||
shutdown();
|
||||
home_path(target_path);
|
||||
|
@ -208,10 +208,10 @@ static void stop_setup()
|
|||
|
||||
static void display_progress(void)
|
||||
{
|
||||
def_dialoge(312,380,310,75,"Kop¡ruj¡ se soubory...",3);
|
||||
def_dialoge(312,380,310,75,"Kop<EFBFBD>ruj<EFBFBD> se soubory...",3);
|
||||
define(10,10,27,290,15,0,done_bar,100);
|
||||
property(bbutt,NULL,flat_color(0x1e0),WINCOLOR);
|
||||
define(30,5,5,80,15,2,button,"P©eru¨it");on_change(stop_copy);
|
||||
define(30,5,5,80,15,2,button,"P<EFBFBD>eru<EFBFBD>it");on_control_change(stop_copy);
|
||||
property(def_border(1,0),&font6x9,flat_color(0),BUTTONCOLOR);
|
||||
define(20,5,10,200,12,3,input_line,2048);set_default("");
|
||||
property(NULL,&font6x9,flat_color(0),WINCOLOR);
|
||||
|
@ -303,9 +303,9 @@ static void open_handbook(char *file)
|
|||
if (find_window(win_handbook)!=NULL) close_window(find_window(win_handbook));
|
||||
if (handbook!=NULL) release_list(handbook);
|
||||
handbook=read_text(file);
|
||||
win_handbook=def_dialoge(54,54,450,350,"P©¡ru‡ka",2);
|
||||
win_handbook=def_dialoge(54,54,450,350,"P<EFBFBD><EFBFBD>ru<EFBFBD>ka",2);
|
||||
def_listbox(9,5,25,420,290,handbook,0,WINCOLOR);property(def_border(0,WINCOLOR),&font6x9,NULL,WINCOLOR);
|
||||
define(20,5,5,60,15,2,button2,"Zav©¡t");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(close_current);
|
||||
define(20,5,5,60,15,2,button2,"Zav<EFBFBD><EFBFBD>t");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(close_current);
|
||||
redraw_window();
|
||||
}
|
||||
|
||||
|
@ -341,7 +341,7 @@ static void read_dirlist()
|
|||
else
|
||||
if (dirlist[i]!=NULL && !strcmp(dirlist[i],".."))
|
||||
{
|
||||
str_insline(&dirlist,0,"<- zpˆt");
|
||||
str_insline(&dirlist,0,"<- zp<EFBFBD>t");
|
||||
str_replace(&dirlist,i,NULL);
|
||||
i++;
|
||||
}
|
||||
|
@ -390,7 +390,7 @@ static void select_dir()
|
|||
{
|
||||
int i=f_get_value(0,59);
|
||||
if (dirlist[i]==NULL) return;
|
||||
if (!strcmp(dirlist[i],"<- zpˆt")) chdir("..");else chdir(dirlist[i]);
|
||||
if (!strcmp(dirlist[i],"<- zp<EFBFBD>t")) chdir("..");else chdir(dirlist[i]);
|
||||
update_list();
|
||||
}
|
||||
|
||||
|
@ -403,7 +403,7 @@ static get_script(char *source,char *target)
|
|||
if (i)
|
||||
{
|
||||
shutdown();
|
||||
if (i==1) puts("Nemohu na‡¡st INSTALL.INF");
|
||||
if (i==1) puts("Nemohu na<EFBFBD><EFBFBD>st INSTALL.INF");
|
||||
if (i==2) puts("Chyba kompilace scriptu INSTALL.INF");
|
||||
abort();
|
||||
}
|
||||
|
@ -435,20 +435,20 @@ static load_window()
|
|||
read_dirlist();
|
||||
read_disk_list();
|
||||
def_dialoge(200,100,340,300,PRG_HEADER,3);
|
||||
define(-1,5,20,1,1,0,label,"Jm‚no slo‘ky");
|
||||
define(-1,5,20,1,1,0,label,"Jm<EFBFBD>no slo<6C>ky");
|
||||
define(10,5,35,330,10,0,input_line,2048);property(def_border(5,WINCOLOR),&font6x9,NULL,0x7fff);
|
||||
set_full_target_path(0);
|
||||
for(i=0;i<str_count(disklist);i++) if (target_path[0]==disklist[i][2]) break;
|
||||
default_font=&font6x9;
|
||||
define(150,70,5,60,20,2,button,"Ok");on_change(terminate);property(bbutt,&font6x9,NULL,BUTTONCOLOR);
|
||||
define(160,5,5,60,20,2,button,"Storno");on_change(terminate);property(bbutt,&font6x9,NULL,BUTTONCOLOR);
|
||||
define(150,70,5,60,20,2,button,"Ok");on_control_change(terminate_gui);property(bbutt,&font6x9,NULL,BUTTONCOLOR);
|
||||
define(160,5,5,60,20,2,button,"Storno");on_control_change(terminate_gui);property(bbutt,&font6x9,NULL,BUTTONCOLOR);
|
||||
default_font=vga_font;
|
||||
def_listbox(59,70,60,100,200,dirlist,0,0x03ff);c_default(0);on_change(select_dir);
|
||||
def_listbox(69,5,60,40,200,disklist,0,0x03ff);on_change(change_disk);
|
||||
def_listbox(59,70,60,100,200,dirlist,0,0x03ff);c_default(0);on_control_change(select_dir);
|
||||
def_listbox(69,5,60,40,200,disklist,0,0x03ff);on_control_change(change_disk);
|
||||
c_default(i);
|
||||
default_font=&font6x9;
|
||||
define(-1,215,135,110,80,0,win_label,"");property(def_border(5,0x631f),NULL,NULL,0x631f);
|
||||
define(-1,220,140,1,1,0,label,"Voln‚ na HD:");
|
||||
define(-1,220,140,1,1,0,label,"Voln<EFBFBD> na HD:");
|
||||
define(100,240,150,80,10,0,view_line,20);set_default("");property(NULL,&font6x9,NULL,0x631f);
|
||||
default_font=vga_font;
|
||||
redraw_window();
|
||||
|
@ -469,13 +469,13 @@ static void autodetect()
|
|||
|
||||
default_font=&font6x9;
|
||||
def_dialoge(12,12,324,140,"Autodetekce",2);
|
||||
define(-1,5,22,1,1,0,label,"Grafick karta:");
|
||||
define(-1,5,22,1,1,0,label,"Grafick<EFBFBD> karta:");
|
||||
define(-1,5,34,1,1,0,label,"Typ SVGA:");
|
||||
define(-1,5,46,1,1,0,label,"Rozli¨en¡:");
|
||||
define(-1,5,62,1,1,0,label,"Zvukov karta:");
|
||||
define(-1,5,46,1,1,0,label,"Rozli<EFBFBD>en<EFBFBD>:");
|
||||
define(-1,5,62,1,1,0,label,"Zvukov<EFBFBD> karta:");
|
||||
define(-1,5,74,1,1,0,label,"Parametry:");
|
||||
define(-1,5,90,1,1,0,label,"CD-ROM:");
|
||||
define(-1,5,110,1,1,0,label,"My¨:");
|
||||
define(-1,5,110,1,1,0,label,"My<EFBFBD>:");
|
||||
define(10,5,22,120,10,1,view_line,256);set_default("");
|
||||
define(20,5,34,160,10,1,view_line,256);set_default("");
|
||||
define(30,5,46,150,10,1,view_line,256);set_default("");
|
||||
|
@ -488,8 +488,8 @@ static void autodetect()
|
|||
do_events();
|
||||
if (getsvgainfo(&si))
|
||||
{
|
||||
set_value(0,10,"<nen¡>");
|
||||
set_value(0,20,"<nen¡>");
|
||||
set_value(0,10,"<nen<EFBFBD>>");
|
||||
set_value(0,20,"<nen<EFBFBD>>");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -521,7 +521,7 @@ static EVENT_PROC(esc_mode2)
|
|||
zobraz_mysku();
|
||||
redraw_desktop();
|
||||
goto_control(0);
|
||||
terminate();
|
||||
terminate_gui();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -531,9 +531,9 @@ static char test_mode()
|
|||
char i,j,c;
|
||||
|
||||
if (msg_box("Test grafiky",'\x1',
|
||||
"Instal tor nyn¡ vyzkou¨¡ zvolen˜ grafick˜ re‘im. "
|
||||
"Pokud obrazovka z–stane ‡ern , nebo zobraz¡ nesmysly, stisknˆte "
|
||||
"ESC a instal tor obnov¡ p–vodn¡ re‘im.","Start","Zru¨it",NULL)==2) return 0;
|
||||
"Instal<EFBFBD>tor nyn<79> vyzkou<6F><75> zvolen<65> grafick<63> re<72>im. "
|
||||
"Pokud obrazovka z<EFBFBD>stane <20>ern<72>, nebo zobraz<61> nesmysly, stiskn<6B>te "
|
||||
"ESC a instal<EFBFBD>tor obnov<6F> p<>vodn<64> re<72>im.","Start","Zru<EFBFBD>it",NULL)==2) return 0;
|
||||
send_message(E_ADD,E_KEYBOARD,esc_mode2);
|
||||
donegr();
|
||||
i=initgr_spec(f_get_value(0,9));
|
||||
|
@ -542,7 +542,7 @@ static char test_mode()
|
|||
zobraz_mysku();
|
||||
redraw_desktop();
|
||||
}
|
||||
if (!i && (j=msg_box("Test grafiky",'\x2',"Vidi¨ prost©ed¡ instal toru spr vnˆ?","Ano","Ne",NULL))==1)
|
||||
if (!i && (j=msg_box("Test grafiky",'\x2',"Vidi<EFBFBD> prost<73>ed<65> instal<61>toru spr<70>vn<76>?","Ano","Ne",NULL))==1)
|
||||
{
|
||||
vmode=f_get_value(0,9);
|
||||
if (vmode==0) initgr_low();
|
||||
|
@ -583,7 +583,7 @@ static void select_vga()
|
|||
def_dialoge(20,300,156,156,"Kvalita grafiky",2);
|
||||
define(9,0,20,156,80,0,listbox,video_ls,0x03ff,0);c_default(vmode);
|
||||
property(NULL,vga_font,NULL,WINCOLOR);
|
||||
define(20,38,5,80,20,3,button,"Zmˆnit teƒ");on_change(test_mode);
|
||||
define(20,38,5,80,20,3,button,"Zm<EFBFBD>nit te<74>");on_control_change(test_mode);
|
||||
property(bbutt,NULL,NULL,BUTTONCOLOR);
|
||||
redraw_window();
|
||||
}
|
||||
|
@ -611,19 +611,19 @@ static void select_mode_win()
|
|||
{
|
||||
def_dialoge(224,270,192,156,"Instalovat",2);
|
||||
default_font=&font6x9;
|
||||
define(10,30,40,132,30,0,button,"Automaticky");property(bbutt,NULL,NULL,BUTTONCOLOR);on_change(terminate);
|
||||
define(30,30,80,132,30,0,button,"Podle p© n¡");property(bbutt,NULL,NULL,BUTTONCOLOR);on_change(terminate);
|
||||
define(40,50,15,92,20,3,button,"Konec");property(bbutt,NULL,NULL,BUTTONCOLOR);on_change(stop_copy);
|
||||
define(10,30,40,132,30,0,button,"Automaticky");property(bbutt,NULL,NULL,BUTTONCOLOR);on_control_change(terminate_gui);
|
||||
define(30,30,80,132,30,0,button,"Podle p<EFBFBD><EFBFBD>n<EFBFBD>");property(bbutt,NULL,NULL,BUTTONCOLOR);on_control_change(terminate_gui);
|
||||
define(40,50,15,92,20,3,button,"Konec");property(bbutt,NULL,NULL,BUTTONCOLOR);on_control_change(stop_copy);
|
||||
redraw_window();
|
||||
}
|
||||
|
||||
static void select_mode_win_setup()
|
||||
{
|
||||
def_dialoge(224,270,192,156,"Mo‘nosti:",2);
|
||||
def_dialoge(224,270,192,156,"Mo<EFBFBD>nosti:",2);
|
||||
default_font=&font6x9;
|
||||
define(10,30,40,132,30,0,button,"Nastaven¡");property(bbutt,NULL,NULL,BUTTONCOLOR);on_change(terminate);
|
||||
define(30,30,80,132,30,0,button,"Odinstalov n¡");property(bbutt,NULL,NULL,BUTTONCOLOR);on_change(terminate);
|
||||
define(40,50,15,92,20,3,button,"Konec");property(bbutt,NULL,NULL,BUTTONCOLOR);on_change(stop_setup);
|
||||
define(10,30,40,132,30,0,button,"Nastaven<EFBFBD>");property(bbutt,NULL,NULL,BUTTONCOLOR);on_control_change(terminate_gui);
|
||||
define(30,30,80,132,30,0,button,"Odinstalov<EFBFBD>n<EFBFBD>");property(bbutt,NULL,NULL,BUTTONCOLOR);on_control_change(terminate_gui);
|
||||
define(40,50,15,92,20,3,button,"Konec");property(bbutt,NULL,NULL,BUTTONCOLOR);on_control_change(stop_setup);
|
||||
redraw_window();
|
||||
}
|
||||
|
||||
|
@ -657,7 +657,7 @@ static void device_select2()
|
|||
char c;
|
||||
def_dialoge(270,240,100,100,device_name(i),3);
|
||||
define(10,10,25,60,40,0,radio_butts,3,"LPT 1","LPT 2","PC Speaker");c_default(0);
|
||||
define(20,10,5,80,20,2,button,"Ok");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(terminate);
|
||||
define(20,10,5,80,20,2,button,"Ok");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(terminate_gui);
|
||||
redraw_window();
|
||||
escape();
|
||||
c=f_get_value(0,10);
|
||||
|
@ -674,7 +674,7 @@ static void device_select2()
|
|||
static void select_sound();
|
||||
static void detect_sound()
|
||||
{
|
||||
if (msg_box("Rozpozn n¡ zvukov‚ karty",'\x2',"Opravdu chce¨ nechat rozpoznat zvukovou kartu? Na nˆkter˜ch po‡¡ta‡¡ch m–‘e automatick‚ rozpozn v n¡ zp–sobit zatuhnut¡ po‡¡ta‡e.","Ano","Ne",NULL)==2) return;
|
||||
if (msg_box("Rozpozn<EFBFBD>n<EFBFBD> zvukov<6F> karty",'\x2',"Opravdu chce<EFBFBD> nechat rozpoznat zvukovou kartu? Na n<>kter<65>ch po<70><6F>ta<74><61>ch m<><6D>e automatick<63> rozpozn<7A>v<EFBFBD>n<EFBFBD> zp<7A>sobit zatuhnut<75> po<70><6F>ta<74>e.","Ano","Ne",NULL)==2) return;
|
||||
if (mixer_running) stop_mixing();
|
||||
mixer_running=0;
|
||||
set_enable(0,70,mixer_running);
|
||||
|
@ -695,15 +695,15 @@ static char sound_scan()
|
|||
if (sound_info.device!=DEV_NOSOUND)
|
||||
{
|
||||
if (sound_info.device==DEV_DAC)
|
||||
if (msg_box("Varov n¡!",'\x1',"Vybran‚ zvukov‚ za©¡zen¡ pou‘¡v nestandardn¡ p©¡stupy a vyu‘¡v "
|
||||
"nˆkter˜ch skryt˜ch trik– syst‚mu. Na nˆkter˜ch po‡¡ta‡¡ch nemus¡ pracovat spr vnˆ. "
|
||||
"Toto za©¡zen¡ nedok ‘e pracovat pod WINDOWS95 nebo jin˜m OS v˜jma DOSu. "
|
||||
"Pro zrychlen¡ pr ce odinstalujte ze syst‚mu jak˜koliv EMM manager (EMM386, QEMM, apod.) "
|
||||
"Chcete pokra‡ovat?","Ano","Ne",NULL)==2) return 1;
|
||||
if (msg_box("Varov<EFBFBD>n<EFBFBD>!",'\x1',"Vybran<EFBFBD> zvukov<6F> za<7A><61>zen<65> pou<6F><75>v<EFBFBD> nestandardn<64> p<><70>stupy a vyu<79><75>v<EFBFBD> "
|
||||
"n<EFBFBD>kter<EFBFBD>ch skryt<79>ch trik<69> syst<73>mu. Na n<>kter<65>ch po<70><6F>ta<74><61>ch nemus<75> pracovat spr<70>vn<76>. "
|
||||
"Toto za<EFBFBD><EFBFBD>zen<EFBFBD> nedok<6F><6B>e pracovat pod WINDOWS95 nebo jin<69>m OS v<>jma DOSu. "
|
||||
"Pro zrychlen<EFBFBD> pr<70>ce odinstalujte ze syst<73>mu jak<61>koliv EMM manager (EMM386, QEMM, apod.) "
|
||||
"Chcete pokra<EFBFBD>ovat?","Ano","Ne",NULL)==2) return 1;
|
||||
get_value(sound_win,20,buffer);
|
||||
if (sscanf(buffer,"%x",&sound_info.port)!=1)
|
||||
{
|
||||
msg_box("Pozor!",'\x1',"Mus¡¨ vyplnit spr vnˆ Port","Ok",NULL);
|
||||
msg_box("Pozor!",'\x1',"Mus<EFBFBD><EFBFBD> vyplnit spr<70>vn<76> Port","Ok",NULL);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
@ -746,22 +746,22 @@ void select_sound()
|
|||
default_font=&font6x9;
|
||||
for(i=0;i<8;i++) str_add(&ls,device_name(i));
|
||||
str_replace(&ls,0,"<bez zvuku>");
|
||||
sound_win=def_dialoge(200,300,300,156,"Zvukov karta",2);
|
||||
define(9,2,20,170,85,0,listbox,ls,0x03ff,0);c_default(sound_info.device);on_change(device_select2);
|
||||
sound_win=def_dialoge(200,300,300,156,"Zvukov<EFBFBD> karta",2);
|
||||
define(9,2,20,170,85,0,listbox,ls,0x03ff,0);c_default(sound_info.device);on_control_change(device_select2);
|
||||
property(def_border(0,0x4210),vga_font,NULL,WINCOLOR);
|
||||
define(-1,180,20,1,1,0,label,"Port:");
|
||||
define(20,10,20,30,12,1,input_line,3);property(def_border(0,0x4210),vga_font,NULL,WINCOLOR);
|
||||
set_default(itoa(sound_info.port,buff,16));
|
||||
define(-1,180,40,1,1,0,label,"DMA:");
|
||||
i=sound_info.dma;i-=(i>2)+(i>4);
|
||||
define(30,40,40,30,30,1,radio_butts,3,"0","1","3");c_default(i);on_change(change_dma);
|
||||
define(35,10,40,30,30,1,radio_butts,3,"5","6","7");c_default(i-3);on_change(change_dma);
|
||||
define(30,40,40,30,30,1,radio_butts,3,"0","1","3");c_default(i);on_control_change(change_dma);
|
||||
define(35,10,40,30,30,1,radio_butts,3,"5","6","7");c_default(i-3);on_control_change(change_dma);
|
||||
define(-1,180,80,1,1,0,label,"IRQ:");
|
||||
i=sound_info.irq;i-=2*(i>1)+(i>4)+(i>6);
|
||||
define(40,40,80,30,40,1,radio_butts,4,"2","3","5","7");c_default(i);
|
||||
define(50,10,5,80,20,2,button,"Test");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(test_sound);
|
||||
define(60,100,5,80,20,2,button,"Rozpoznat");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(detect_sound);
|
||||
define(70,190,5,80,20,2,button,"Stop");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(stop_sound);
|
||||
define(50,10,5,80,20,2,button,"Test");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(test_sound);
|
||||
define(60,100,5,80,20,2,button,"Rozpoznat");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(detect_sound);
|
||||
define(70,190,5,80,20,2,button,"Stop");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(stop_sound);
|
||||
redraw_window();
|
||||
set_enable(0,70,mixer_running);
|
||||
device_select();
|
||||
|
@ -773,7 +773,7 @@ static void back_start()
|
|||
stop_sound();
|
||||
sound_scan();
|
||||
while (waktual!=NULL) close_current();
|
||||
terminate();
|
||||
terminate_gui();
|
||||
}
|
||||
|
||||
static void control_window(void *forward,void *back,void *help);
|
||||
|
@ -823,7 +823,7 @@ void static show_space(char device)
|
|||
if (device>='A' && device<='Z')
|
||||
{
|
||||
if (device!=lastdevice) lastvalue=get_disk_free(device-'@')/1024;
|
||||
sprintf(buff,"Na disku %c: je voln˜ch %d Kb",device,lastvalue);
|
||||
sprintf(buff,"Na disku %c: je voln<EFBFBD>ch %d Kb",device,lastvalue);
|
||||
lastdevice=device;
|
||||
set_value(0,80,buff);
|
||||
}
|
||||
|
@ -932,7 +932,7 @@ static void start_install()
|
|||
strupr(target_path);
|
||||
if (validate_path(target_path)==0)
|
||||
{
|
||||
msg_box("Cesta je ¨patnˆ",'\x1',"Cesta s c¡lov˜m adres ©em je chybnˆ zad na. Nepou‘¡vejte dlouh‚ n zvy z WINDOWS 95!","OK",NULL);
|
||||
msg_box("Cesta je <EFBFBD>patn<EFBFBD>",'\x1',"Cesta s c<EFBFBD>lov<EFBFBD>m adres<65><73>em je chybn<62> zad<61>na. Nepou<6F><75>vejte dlouh<75> n<>zvy z WINDOWS 95!","OK",NULL);
|
||||
return;
|
||||
}
|
||||
get_script(_SOURCE_,target_path);
|
||||
|
@ -946,21 +946,21 @@ static void start_install()
|
|||
diskfree=get_disk_free(target_path[0]-'@');
|
||||
if (maxcopy>diskfree)
|
||||
{
|
||||
if (msg_box("Nedostatek m¡sta!",'\x1',"Instal tor vypo‡¡tal, ‘e BS zaberou v¡ce m¡sta ne‘ m te na sv‚m disku. "
|
||||
"Pokud v¨ak pou‘¡vate komprima‡n¡ program jako je t©eba DRVSPACE, pak mohou b˜t £daje o "
|
||||
"voln‚m m¡stu nep©esne. I p©es to, ‘e nen¡ voln‚ m¡sto chcete pokra‡ovat?","Ano","Ne",NULL)==2) return;
|
||||
if (msg_box("Nedostatek m<EFBFBD>sta!",'\x1',"Instal<EFBFBD>tor vypo<70><6F>tal, <20>e BS zaberou v<>ce m<>sta ne<6E> m<>te na sv<73>m disku. "
|
||||
"Pokud v<EFBFBD>ak pou<6F><75>vate komprima<6D>n<EFBFBD> program jako je t<>eba DRVSPACE, pak mohou b<>t <20>daje o "
|
||||
"voln<EFBFBD>m m<>stu nep<65>esne. I p<>es to, <20>e nen<65> voln<6C> m<>sto chcete pokra<72>ovat?","Ano","Ne",NULL)==2) return;
|
||||
}
|
||||
else if (maxcopy+1024*1024>diskfree)
|
||||
{
|
||||
if (msg_box("M lo m¡sta",'\x2',"Po nainstalov n¡ by mˆlo zb˜t alespo¤ 1MB pro bˆh. Sou‡asn˜ prostor"
|
||||
"umo‘¤uje hru nainstalovat, av¨ak hru nebude mo‘n‚ spustit. Pokra‡ovat?","Ano","Ne",NULL)==2) return;
|
||||
if (msg_box("M<EFBFBD>lo m<>sta",'\x2',"Po nainstalov<EFBFBD>n<EFBFBD> by m<>lo zb<7A>t alespo<70> 1MB pro b<>h. Sou<6F>asn<73> prostor"
|
||||
"umo<EFBFBD><EFBFBD>uje hru nainstalovat, av<61>ak hru nebude mo<6D>n<EFBFBD> spustit. Pokra<72>ovat?","Ano","Ne",NULL)==2) return;
|
||||
}
|
||||
maxcopy=maxcopy<<1;
|
||||
while (waktual!=NULL) close_current();
|
||||
cascade_mkdir(target_path);
|
||||
if (create_ini(target_path,SKELDAL_INI))
|
||||
{
|
||||
msg_box(PRG_HEADER,'\x1',"Nemohu vytvo©it konfigura‡n¡ soubor. Zkontroluj spravnost z pisu cesty","Ok",NULL);
|
||||
msg_box(PRG_HEADER,'\x1',"Nemohu vytvo<EFBFBD>it konfigura<72>n<EFBFBD> soubor. Zkontroluj spravnost z<>pisu cesty","Ok",NULL);
|
||||
clean_up();
|
||||
return;
|
||||
}
|
||||
|
@ -981,7 +981,7 @@ static void start_install()
|
|||
if (error) shutdown(),exit(1);
|
||||
close_current();
|
||||
do_events();
|
||||
if (!autostart) msg_box("Hotovo",' ',"Hra 'Br ny Skeldalu' je £spˆ¨nˆ nainstalov na. Spu¨tˆn¡ proveƒte z p©¡kazov‚ © dky naps n¡m 'SKELDAL'","Konec",NULL);
|
||||
if (!autostart) msg_box("Hotovo",' ',"Hra 'Br<EFBFBD>ny Skeldalu' je <20>sp<73><70>n<EFBFBD> nainstalov<6F>na. Spu<70>t<EFBFBD>n<EFBFBD> prove<76>te z p<><70>kazov<6F> <20><>dky naps<70>n<EFBFBD>m 'SKELDAL'","Konec",NULL);
|
||||
purge_file_list();
|
||||
shutdown();
|
||||
home_path(target_path);
|
||||
|
@ -1028,26 +1028,26 @@ static void rozsah_window()
|
|||
exit_wait=0;
|
||||
default_font=&font6x9;
|
||||
def_dialoge(146,160,348,264,"Rozsah instalace",2);
|
||||
define(10,10,30,70,30,0,button,"Minim ln¡");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(start_install);
|
||||
define(-1,90,30,1,1,0,label,"Instaluje jen nejd–le‘itˆj¨¡ soubory na HD");
|
||||
define(-1,90,40,1,1,0,label,"V¨e ostatn¡ se pak na‡¡t p©¡mo z CD");
|
||||
define(10,10,30,70,30,0,button,"Minim<EFBFBD>ln<EFBFBD>");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(start_install);
|
||||
define(-1,90,30,1,1,0,label,"Instaluje jen nejd<EFBFBD>le<EFBFBD>it<EFBFBD>j<EFBFBD><EFBFBD> soubory na HD");
|
||||
define(-1,90,40,1,1,0,label,"V<EFBFBD>e ostatn<74> se pak na<6E><61>t<EFBFBD> p<><70>mo z CD");
|
||||
sprintf(buff,text,install_sizes[0]/1024);
|
||||
define(-1,90,50,1,1,0,label,buff);
|
||||
define(20,10,80,70,30,0,button,"St©edn¡");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(start_install);
|
||||
define(-1,90,80,1,1,0,label,"Instaluje v¨echny datov‚ soubory na HD");
|
||||
define(-1,90,90,1,1,0,label,"Hudba a video se ‡tou p©¡mo z CD");
|
||||
define(20,10,80,70,30,0,button,"St<EFBFBD>edn<EFBFBD>");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(start_install);
|
||||
define(-1,90,80,1,1,0,label,"Instaluje v<EFBFBD>echny datov<6F> soubory na HD");
|
||||
define(-1,90,90,1,1,0,label,"Hudba a video se <EFBFBD>tou p<><70>mo z CD");
|
||||
sprintf(buff,text,install_sizes[1]/1024);
|
||||
define(-1,90,100,1,1,0,label,buff);
|
||||
define(30,10,130,70,30,0,button,"Maxim ln¡");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(start_install);
|
||||
define(-1,90,130,1,1,0,label,"Instaluje v¨e na v ¨ HD v‡etnˆ hudby");
|
||||
define(-1,90,140,1,1,0,label,"a videa. Z CD se nena‡¡t v–bec nic.");
|
||||
define(30,10,130,70,30,0,button,"Maxim<EFBFBD>ln<EFBFBD>");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(start_install);
|
||||
define(-1,90,130,1,1,0,label,"Instaluje v<EFBFBD>e na v<><76> HD v<>etn<74> hudby");
|
||||
define(-1,90,140,1,1,0,label,"a videa. Z CD se nena<EFBFBD><EFBFBD>t<EFBFBD> v<>bec nic.");
|
||||
sprintf(buff,text,install_sizes[2]/1024);
|
||||
define(-1,90,150,1,1,0,label,buff);
|
||||
define(40,10,180,70,20,0,button,"Slo‘ka");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(open_load_window);
|
||||
define(40,10,180,70,20,0,button,"Slo<EFBFBD>ka");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(open_load_window);
|
||||
define(60,90,185,250,11,0,input_line,2048);property(def_border(1,0x4210),&font6x9,NULL,0x7fff);
|
||||
set_default(target_path);
|
||||
on_event(show_space_event);on_exit(show_space_exit);
|
||||
define(70,40,220,200,10,0,check_box,"Po nainstalov n¡ hru automaticky spustit.");c_default(1);
|
||||
define(70,40,220,200,10,0,check_box,"Po nainstalov<EFBFBD>n<EFBFBD> hru automaticky spustit.");c_default(1);
|
||||
define(80,10,10,250,11,2,view_line,100);set_default("");
|
||||
show_space(target_path[0]);
|
||||
}
|
||||
|
@ -1055,17 +1055,17 @@ static void rozsah_window()
|
|||
static void automatic_window()
|
||||
{
|
||||
char buff[100];
|
||||
char *text="Hra zabere zhruba %d KB m¡sta";
|
||||
char *text="Hra zabere zhruba %d KB m<EFBFBD>sta";
|
||||
|
||||
exit_wait=0;
|
||||
default_font=&font6x9;
|
||||
def_dialoge(110,200,420,80,"Instalovat kam?",2);
|
||||
define(40,10,33,70,15,0,button,"Naj¡t");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(open_load_window);
|
||||
define(40,10,33,70,15,0,button,"Naj<EFBFBD>t");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(open_load_window);
|
||||
define(60,90,35,310,11,0,input_line,2048);property(def_border(1,0x4210),&font6x9,NULL,0x7fff);
|
||||
set_default(target_path);
|
||||
on_event(show_space_event);on_exit(show_space_exit);
|
||||
define(10,10,10,70,20,2,button,"Start");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(start_install);
|
||||
define(20,90,10,70,20,2,button,"<< Zpˆt");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(back_start);
|
||||
define(10,10,10,70,20,2,button,"Start");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(start_install);
|
||||
define(20,90,10,70,20,2,button,"<< Zp<EFBFBD>t");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(back_start);
|
||||
sprintf(buff,text,install_sizes[0]/1024);
|
||||
define(90,180,20,200,10,2,view_line,100);set_default(buff);
|
||||
define(80,180,10,200,10,2,view_line,100);set_default("");
|
||||
|
@ -1085,12 +1085,12 @@ static void control_next1()
|
|||
|
||||
static void control_window(void *forward,void *back,void *help)
|
||||
{
|
||||
def_dialoge(524,300,96,156,"Mo‘nosti",2);
|
||||
define(10,8,30,80,20,0,button,"Dal¨¡ >>");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(forward);
|
||||
define(20,8,60,80,20,0,button,"<< Zpˆt");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(back);
|
||||
define(30,8,90,80,20,0,button,"? Pomoc");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(help);
|
||||
def_dialoge(524,300,96,156,"Mo<EFBFBD>nosti",2);
|
||||
define(10,8,30,80,20,0,button,"Dal<EFBFBD><EFBFBD> >>");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(forward);
|
||||
define(20,8,60,80,20,0,button,"<< Zp<EFBFBD>t");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(back);
|
||||
define(30,8,90,80,20,0,button,"? Pomoc");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(help);
|
||||
define(40,8,10,80,20,3,button,"Konec");property(bbutt,&font6x9,NULL,BUTTONCOLOR);
|
||||
if (setup_mode) on_change(stop_setup);else on_change(stop_copy);
|
||||
if (setup_mode) on_control_change(stop_setup);else on_control_change(stop_copy);
|
||||
set_enable(0,10,forward!=NULL);
|
||||
set_enable(0,20,back!=NULL);
|
||||
set_enable(0,30,help!=NULL);
|
||||
|
@ -1164,7 +1164,7 @@ static void save_ini()
|
|||
char err=1;
|
||||
|
||||
if (sound_scan()) return;
|
||||
d=msg_box("Potvrzen¡?",'\x2',"Chce¨ zapsat zmˆny do konfigura‡n¡ho souboru hry?","Ano","Ne","Zru¨it",NULL);
|
||||
d=msg_box("Potvrzen<EFBFBD>?",'\x2',"Chce<EFBFBD> zapsat zm<7A>ny do konfigura<72>n<EFBFBD>ho souboru hry?","Ano","Ne","Zru<EFBFBD>it",NULL);
|
||||
if (d==3) return;
|
||||
if (d==1)
|
||||
{
|
||||
|
@ -1193,12 +1193,12 @@ static void deinstall()
|
|||
char ig;
|
||||
int x,y;
|
||||
def_dialoge(200,200,250,156,"Odinstalovat?",2);
|
||||
define(-1,10,30,200,100,0,label,"Tato volba odstran¡ hru z va¨eho disku.");
|
||||
define(-1,10,40,200,100,0,label,"Pot‚ ji‘ nebude mo‘ne hru spustit");
|
||||
define(-1,10,50,200,100,0,label,"do nov‚ho nainstalov n¡ z CD.");
|
||||
define(10,30,80,150,10,0,check_box,"Zachovat ulo‘en‚ pozice");c_default(1);
|
||||
define(20,10,10,80,30,3,button,"Ano");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(terminate);
|
||||
define(30,10,10,80,30,2,button,"Proboha NE");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(terminate);
|
||||
define(-1,10,30,200,100,0,label,"Tato volba odstran<EFBFBD> hru z va<76>eho disku.");
|
||||
define(-1,10,40,200,100,0,label,"Pot<EFBFBD> ji<6A> nebude mo<6D>ne hru spustit");
|
||||
define(-1,10,50,200,100,0,label,"do nov<EFBFBD>ho nainstalov<6F>n<EFBFBD> z CD.");
|
||||
define(10,30,80,150,10,0,check_box,"Zachovat ulo<EFBFBD>en<EFBFBD> pozice");c_default(1);
|
||||
define(20,10,10,80,30,3,button,"Ano");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(terminate_gui);
|
||||
define(30,10,10,80,30,2,button,"Proboha NE");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(terminate_gui);
|
||||
redraw_window();
|
||||
escape();
|
||||
if (o_aktual->id==30)
|
||||
|
@ -1266,12 +1266,12 @@ void warning()
|
|||
_outtext("(C)1998 Napoleon gameS - Setup version 1.0 written by Ondrej Novak\n"
|
||||
"Instalacni program ke hre Brany Skeldalu\n\nUpozorneni:\n");
|
||||
_settextcolor(15);
|
||||
_outtext("Ú"); REPEAT(i,78) _outtext("Ä");_outtext("¿");
|
||||
_outtext("<EFBFBD>"); REPEAT(i,78) _outtext("<EFBFBD>");_outtext("<EFBFBD>");
|
||||
REPEAT(j,5)
|
||||
{
|
||||
_outtext("³"); REPEAT(i,78)_outtext(" ");_outtext("³");
|
||||
_outtext("<EFBFBD>"); REPEAT(i,78)_outtext(" ");_outtext("<EFBFBD>");
|
||||
}
|
||||
_outtext("À"); REPEAT(i,78) _outtext("Ä");_outtext("Ù");
|
||||
_outtext("<EFBFBD>"); REPEAT(i,78) _outtext("<EFBFBD>");_outtext("<EFBFBD>");
|
||||
_settextcolor(13);
|
||||
_settextwindow(6,2,20,79);
|
||||
_outtext("Stiskem jakekoliv klavesy spustite instalacni program. Pokud potom obrazovka"
|
||||
|
@ -1296,9 +1296,9 @@ static void ask_video()
|
|||
ask_video_win=def_dialoge(242,100,156,156,"Vyber grafiku",3);
|
||||
define(9,0,20,156,80,0,listbox,video_ls,0x03ff,0);c_default(vmode);
|
||||
property(NULL,vga_font,NULL,WINCOLOR);
|
||||
define(20,5,5,60,20,2,button,"Konec");on_change(terminate);
|
||||
define(20,5,5,60,20,2,button,"Konec");on_control_change(terminate_gui);
|
||||
property(bbutt,NULL,NULL,BUTTONCOLOR);
|
||||
define(20,70,5,60,20,2,button,"OK");on_change(test_mode_xxx);
|
||||
define(20,70,5,60,20,2,button,"OK");on_control_change(test_mode_xxx);
|
||||
property(bbutt,NULL,NULL,BUTTONCOLOR);
|
||||
redraw_window();
|
||||
}
|
||||
|
@ -1316,7 +1316,7 @@ static EVENT_PROC(esc_mode)
|
|||
rescue_mode=1;
|
||||
redraw_desktop();
|
||||
vmode=0;
|
||||
terminate();
|
||||
terminate_gui();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1327,10 +1327,10 @@ static void about_window()
|
|||
char r=!rescue_mode;
|
||||
if (r) send_message(E_ADD,E_KEYBOARD,esc_mode);
|
||||
def_dialoge(200,100,240,144,PRG_HEADER,2);
|
||||
define(-1,10,30,220,10,0,mid_label,"V¡tej u instal toru hry:");
|
||||
define(-1,10,42,220,10,0,mid_label,"Br ny Skeldalu");
|
||||
define(-1,10,80,220,10,0,mid_label,"Instala‡n¡ program napsal:");
|
||||
define(-1,10,92,220,10,0,mid_label,"Ond©ej Nov k");
|
||||
define(-1,10,30,220,10,0,mid_label,"V<EFBFBD>tej u instal<61>toru hry:");
|
||||
define(-1,10,42,220,10,0,mid_label,"Br<EFBFBD>ny Skeldalu");
|
||||
define(-1,10,80,220,10,0,mid_label,"Instala<EFBFBD>n<EFBFBD> program napsal:");
|
||||
define(-1,10,92,220,10,0,mid_label,"Ond<EFBFBD>ej Nov<6F>k");
|
||||
define(-1,10,110,220,10,0,mid_label,"(C)1998 Napoleon gameS");
|
||||
redraw_window();
|
||||
escape();
|
||||
|
|
|
@ -143,7 +143,7 @@ long def_window(word xs,word ys,char *name)
|
|||
if (xs>=70)
|
||||
{
|
||||
define(1,1,1,19,16,1,button,"\x0f");
|
||||
property(NULL,icones,&icone_color,WINCOLOR);on_change(close_current);
|
||||
property(NULL,icones,&icone_color,WINCOLOR);on_control_change(close_current);
|
||||
}
|
||||
return q;
|
||||
}
|
||||
|
@ -188,9 +188,9 @@ void def_listbox(int id,word x,word y,word xs,word ys,TSTR_LIST ls,int ofs,int c
|
|||
define(id+1,x+xs+4,y+18,15,ys-35,0,scroll_bar_v,0,10,1,0x0200);
|
||||
property(&b2,NULL,NULL,WINCOLOR);
|
||||
define(id+2,x+xs+4,y,14,14,0,scroll_button,-1,0,"\x4");
|
||||
property(&b1,icones,black,WINCOLOR);on_change(scroll_support);
|
||||
property(&b1,icones,black,WINCOLOR);on_control_change(scroll_support);
|
||||
define(id+3,x+xs+4,y+ys-14,14,14,0,scroll_button,1,10,"\6");
|
||||
property(&b1,icones,black,WINCOLOR);on_change(scroll_support);
|
||||
property(&b1,icones,black,WINCOLOR);on_control_change(scroll_support);
|
||||
define(id,x,y,xs,ys,0,listbox,ls,color,ofs);
|
||||
property(&b2,NULL,NULL,WINCOLOR);
|
||||
}
|
||||
|
|
254
MAPS/EDIT_MAP.C
254
MAPS/EDIT_MAP.C
|
@ -189,10 +189,10 @@ char edit_side_save(int target,int smer)
|
|||
int selmode;
|
||||
|
||||
apl=get_bit_fields(0,400,4);
|
||||
if (apl==0) return msg_box("Editor stˆn",2,"Nen¡ za¨krtnut ‘ dn strana. Pokra‡ovat?","Ano","Ne",NULL)==1;
|
||||
if (apl==0) return msg_box("Editor st<EFBFBD>n",2,"Nen<EFBFBD> za<7A>krtnut<75> <20><>dn<64> strana. Pokra<72>ovat?","Ano","Ne",NULL)==1;
|
||||
if (smer!=-1)
|
||||
if (count_of_sel()>1)
|
||||
selmode=msg_box("Editor stˆn",'\x2',"Je ozna‡eno v¡ce sektor–. Chce¨ upravit pouze ...","Aktu ln¡","V¨echny","Zmˆny","Zpˆt",NULL);
|
||||
selmode=msg_box("Editor st<EFBFBD>n",'\x2',"Je ozna<EFBFBD>eno v<>ce sektor<6F>. Chce<63> upravit pouze ...","Aktu<EFBFBD>ln<EFBFBD>","V<EFBFBD>echny","Zm<EFBFBD>ny","Zp<EFBFBD>t",NULL);
|
||||
else selmode=(apl!=1 && apl!=2 && apl!=4 && apl!=8 && target!=0)?3:1;
|
||||
else
|
||||
smer=0,apl=0xf,selmode=1;
|
||||
|
@ -267,7 +267,7 @@ void *edit_side_predvolba_0(EVENT_MSG *msg)
|
|||
if (msg->msg==E_INIT) return &edit_side_predvolba_0;
|
||||
if (msg->msg==E_DONE) return NULL;
|
||||
c=(char *)msg->data;
|
||||
strcpy(c,"Vlastnosti nastaveny jako p©edvolba...");
|
||||
strcpy(c,"Vlastnosti nastaveny jako p<EFBFBD>edvolba...");
|
||||
c=strchr(c,'\0');
|
||||
msg->data=(void *)c;
|
||||
msg->msg=-1;
|
||||
|
@ -303,11 +303,11 @@ void action_flags()
|
|||
|
||||
flags=f_get_value(0,350);
|
||||
memcpy(&b1,def_border(1,0),sizeof(CTL3D));
|
||||
def_dialoge(300,220,300,210,"V¡ce vlajek");
|
||||
define(CANCEL_BUTT,11,5,80,20,2,button,"Zru¨it");property(&b1,NULL,NULL,WINCOLOR);
|
||||
on_change(terminate);
|
||||
def_dialoge(300,220,300,210,"V<EFBFBD>ce vlajek");
|
||||
define(CANCEL_BUTT,11,5,80,20,2,button,"Zru<EFBFBD>it");property(&b1,NULL,NULL,WINCOLOR);
|
||||
on_control_change(terminate_gui);
|
||||
define(OK_BUTT,100,5,80,20,2,button,"Ok");property(&b1,NULL,NULL,WINCOLOR);
|
||||
on_change(terminate);
|
||||
on_control_change(terminate_gui);
|
||||
define(10,10,20,250,10,0,check_box,side_flgs[24]);
|
||||
define(20,10,32,250,10,0,check_box,side_flgs[25]);
|
||||
define(30,10,44,250,10,0,check_box,side_flgs[26]);
|
||||
|
@ -363,7 +363,7 @@ static void edit_vyklenek_start()
|
|||
id=find_free_vyklenek();
|
||||
if (id==-1)
|
||||
{
|
||||
msg_box("Omezeni!",'\x1',"V mapˆ je pou‘ito ji‘ mnoho v˜klenk– ve zdi. Maxim ln¡ po‡et je 256","Ok",NULL);
|
||||
msg_box("Omezeni!",'\x1',"V map<EFBFBD> je pou<6F>ito ji<6A> mnoho v<>klenk<6E> ve zdi. Maxim<69>ln<6C> po<70>et je 256","Ok",NULL);
|
||||
return;
|
||||
}
|
||||
v=vyklenky+id;
|
||||
|
@ -391,46 +391,46 @@ void edit_side(int source,int smer)
|
|||
memcpy(&b3,def_border(6,WINCOLOR),sizeof(CTL3D));
|
||||
default_font=vga_font;
|
||||
memcpy(f_default,flat_color(0x0000),sizeof(charcolors));
|
||||
sprintf(s,"Vlastnosti stˆn, sektor %d stˆna %d",source,smer);
|
||||
sprintf(s,"Vlastnosti st<EFBFBD>n, sektor %d st<73>na %d",source,smer);
|
||||
def_window(400,324,s);
|
||||
waktual->x=125;
|
||||
waktual->y=60;
|
||||
waktual->modal=1;
|
||||
define(CANCEL_BUTT,10,5,80,20,2,button,"Zru¨it");property(&b1,NULL,NULL,WINCOLOR);
|
||||
on_change(close_current);
|
||||
define(CANCEL_BUTT,10,5,80,20,2,button,"Zru<EFBFBD>it");property(&b1,NULL,NULL,WINCOLOR);
|
||||
on_control_change(close_current);
|
||||
define(OK_BUTT,190,5,80,20,2,button,"Ok");property(&b1,NULL,NULL,WINCOLOR);
|
||||
on_change(edit_side_ok);
|
||||
define(3400,100,5,80,20,2,button,"P©edvolba");property(&b1,NULL,NULL,WINCOLOR);
|
||||
on_change(edit_side_predvolba_1);on_exit(edit_side_predvolba_2);
|
||||
define(10,5,20,300,35,0,label,"Prim rn¡: Sekundarn¡: Oblouk:");property(&b3,NULL,NULL,WINCOLOR);
|
||||
on_control_change(edit_side_ok);
|
||||
define(3400,100,5,80,20,2,button,"P<EFBFBD>edvolba");property(&b1,NULL,NULL,WINCOLOR);
|
||||
on_control_change(edit_side_predvolba_1);on_control_exit(edit_side_predvolba_2);
|
||||
define(10,5,20,300,35,0,label,"Prim<EFBFBD>rn<EFBFBD>: Sekundarn<72>: Oblouk:");property(&b3,NULL,NULL,WINCOLOR);
|
||||
define(20,10,35,90,12,0,str_line,side_names);property(&b2,NULL,NULL,WINCOLOR);c_default(p->prim);
|
||||
on_enter(string_list_sup);
|
||||
on_control_enter(string_list_sup);
|
||||
define(30,110,35,90,12,0,str_line,side_names);property(&b2,NULL,NULL,WINCOLOR);c_default(p->sec);
|
||||
on_enter(string_list_sup);
|
||||
on_control_enter(string_list_sup);
|
||||
define(40,210,35,90,12,0,str_line,oblouky);property(&b2,NULL,NULL,WINCOLOR);c_default(p->oblouk & 0x0f);
|
||||
on_enter(string_list_sup);
|
||||
define(-1,5,60,250,12,0,label,"Animace primarn¡:");
|
||||
define(-1,5,75,250,12,0,label,"Animace sekundarn¡:");
|
||||
define(-1,5,90,250,12,0,label,"X pozice sek. stˆny:");
|
||||
define(-1,5,105,250,12,0,label,"Y pozice sek. stˆny:");
|
||||
define(-1,5,120,250,12,0,label,"C¡lov˜ sektor ud losti:");
|
||||
define(-1,5,135,250,12,0,label,"C¡lov stˆna ud losti:");
|
||||
on_control_enter(string_list_sup);
|
||||
define(-1,5,60,250,12,0,label,"Animace primarn<EFBFBD>:");
|
||||
define(-1,5,75,250,12,0,label,"Animace sekundarn<EFBFBD>:");
|
||||
define(-1,5,90,250,12,0,label,"X pozice sek. st<EFBFBD>ny:");
|
||||
define(-1,5,105,250,12,0,label,"Y pozice sek. st<EFBFBD>ny:");
|
||||
define(-1,5,120,250,12,0,label,"C<EFBFBD>lov<EFBFBD> sektor ud<75>losti:");
|
||||
define(-1,5,135,250,12,0,label,"C<EFBFBD>lov<EFBFBD> st<73>na ud<75>losti:");
|
||||
define(-1,5,150,250,12,0,label,"Popis akce:");
|
||||
define(-1,260,60,100,12,0,label,"Aplikuj na stˆnu:");
|
||||
define(-1,260,60,100,12,0,label,"Aplikuj na st<EFBFBD>nu:");
|
||||
define(50,200,60,50,10,0,input_line,10,1,16,"%6d");property(&b2,NULL,NULL,WINCOLOR);
|
||||
set_default(strs((p->prim_anim & 0xf)+1));on_exit(test_int);
|
||||
set_default(strs((p->prim_anim & 0xf)+1));on_control_exit(test_int);
|
||||
define(60,200,75,50,10,0,input_line,10,1,16,"%6d");property(&b2,NULL,NULL,WINCOLOR);
|
||||
set_default(strs((p->sec_anim & 0xf)+1));on_exit(test_int);
|
||||
set_default(strs((p->sec_anim & 0xf)+1));on_control_exit(test_int);
|
||||
define(70,200,90,50,10,0,input_line,10,0,499,"%6d");property(&b2,NULL,NULL,WINCOLOR);
|
||||
set_default(strs(p->xsec<<1));on_exit(test_int);
|
||||
set_default(strs(p->xsec<<1));on_control_exit(test_int);
|
||||
define(80,200,105,50,10,0,input_line,10,0,511,"%6d");property(&b2,NULL,NULL,WINCOLOR);
|
||||
set_default(strs(p->ysec<<1));on_exit(test_int);
|
||||
set_default(strs(p->ysec<<1));on_control_exit(test_int);
|
||||
define(90,200,120,50,10,0,input_line,10,0,65535,"%6d");property(&b2,NULL,NULL,WINCOLOR);
|
||||
set_default(strs(p->sector_tag));on_exit(test_int);
|
||||
set_default(strs(p->sector_tag));on_control_exit(test_int);
|
||||
define(100,200,135,50,10,0,str_line,steny2);property(&b2,NULL,NULL,WINCOLOR);
|
||||
c_default(p->side_tag & 0x3);on_enter(string_list_sup);
|
||||
c_default(p->side_tag & 0x3);on_control_enter(string_list_sup);
|
||||
define(110,100,150,150,10,0,str_line,actions);property(&b2,NULL,NULL,WINCOLOR);
|
||||
on_enter(string_list_sup); c_default(p->action);
|
||||
on_control_enter(string_list_sup); c_default(p->action);
|
||||
define(120,10,175,150,10,0,check_box,side_flgs[0]);
|
||||
define(130,10,187,150,10,0,check_box,side_flgs[1]);
|
||||
define(140,10,199,150,10,0,check_box,side_flgs[2]);
|
||||
|
@ -451,23 +451,23 @@ void edit_side(int source,int smer)
|
|||
define(290,10,283,75,10,0,check_box,side_flgs[17]);
|
||||
define(300,190,271,150,10,0,check_box,side_flgs[18]);
|
||||
define(310,10,295,75,11,0,check_box,side_flgs[19]);
|
||||
define(400,290,80,100,10,0,check_box,"Severn¡");
|
||||
define(410,290,95,100,10,0,check_box,"V˜chodn¡");
|
||||
define(420,290,110,100,10,0,check_box,"Ji‘n¡");
|
||||
define(430,290,125,100,10,0,check_box,"Z padn¡");
|
||||
define(340,290,150,100,15,0,button2,"V¡ce >>");on_change(action_flags);
|
||||
define(400,290,80,100,10,0,check_box,"Severn<EFBFBD>");
|
||||
define(410,290,95,100,10,0,check_box,"V<EFBFBD>chodn<EFBFBD>");
|
||||
define(420,290,110,100,10,0,check_box,"Ji<EFBFBD>n<EFBFBD>");
|
||||
define(430,290,125,100,10,0,check_box,"Z<EFBFBD>padn<EFBFBD>");
|
||||
define(340,290,150,100,15,0,button2,"V<EFBFBD>ce >>");on_control_change(action_flags);
|
||||
define(350,290,150,100,15,0,value_store,4);c_default(p->flags & 0xfff00000);
|
||||
define(360,290,150,100,15,0,value_store,4);c_default(source);
|
||||
define(370,290,150,100,15,0,value_store,4);c_default(smer);
|
||||
define(-1,5,20,60,10,1,label,"Lclip:");
|
||||
define(440,30,35,30,12,1,input_line,3,0,255,"%3d");
|
||||
property(&b2,NULL,NULL,WINCOLOR);
|
||||
set_default(strs(p->lclip));on_exit(test_int);
|
||||
set_default(strs(p->lclip));on_control_exit(test_int);
|
||||
define(450,10,220,30,30,1,radio_butts,3,"-","\x4","\x6");c_default((p->oblouk>>5) & 0x3);
|
||||
property(NULL,icones,NULL,WINCOLOR);
|
||||
define(460,10,175,80,12,1,button,"V˜klenek");on_change(edit_vyklenek_start);
|
||||
define(470,190,283,150,10,0,check_box,"Lze polo‘it za");c_default(p->oblouk>>7);
|
||||
define(480,10,307,75,10,0,check_box,"P©edsunout s.");c_default(p->side_tag>>7);
|
||||
define(460,10,175,80,12,1,button,"V<EFBFBD>klenek");on_control_change(edit_vyklenek_start);
|
||||
define(470,190,283,150,10,0,check_box,"Lze polo<EFBFBD>it za");c_default(p->oblouk>>7);
|
||||
define(480,10,307,75,10,0,check_box,"P<EFBFBD>edsunout s.");c_default(p->side_tag>>7);
|
||||
fill_bit_fields(0,120,p->flags,20); if (source)
|
||||
fill_bit_fields(0,400,1<<smer,4); else fill_bit_fields(0,400,0xf,4);
|
||||
set_enable(0,3400,source!=0);
|
||||
|
@ -501,15 +501,15 @@ void edit_sector(int source)
|
|||
property(NULL,NULL,NULL,WINCOLOR);
|
||||
o_end->autoresizey=1;
|
||||
define(11,1,20,21,17,1,scroll_button,-1,0,"\x1e");
|
||||
property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(12,1,22,21,17,2,scroll_button,1,10,"\x1f");
|
||||
property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(20,1,1,10,10,2,resizer);
|
||||
/* define(OK_BUTT,100,5,80,20,2,button,"Ok");property(&b1,NULL,NULL,WINCOLOR);
|
||||
on_change(terminate);
|
||||
define(CANCEL_BUTT,10,5,80,20,2,button,"Zru¨it");property(&b1,NULL,NULL,WINCOLOR);
|
||||
define(CANCEL_BUTT,10,5,80,20,2,button,"Zru<EFBFBD>it");property(&b1,NULL,NULL,WINCOLOR);
|
||||
on_change(terminate);
|
||||
define(-1,5,20,100,12,0,label,"P©ipojen¡:");
|
||||
define(-1,5,20,100,12,0,label,"P<EFBFBD>ipojen<EFBFBD>:");
|
||||
define(10,10,35,50,12,0,input_line,20,0,MAPSIZE-1,"%6d");property(&b2,NULL,NULL,WINCOLOR);
|
||||
set_default(strs(p->step_next[0]));on_exit(test_int);
|
||||
define(20,10,50,50,12,0,input_line,20,0,MAPSIZE-1,"%6d");property(&b2,NULL,NULL,WINCOLOR);
|
||||
|
@ -519,9 +519,9 @@ void edit_sector(int source)
|
|||
define(40,10,80,50,12,0,input_line,20,0,MAPSIZE-1,"%6d");property(&b2,NULL,NULL,WINCOLOR);
|
||||
set_default(strs(p->step_next[3]));on_exit(test_int);
|
||||
define(50,70,35,80,12,0,button,"Sever");property(&b1,NULL,NULL,WINCOLOR);on_change(edit_side_sup);
|
||||
define(60,70,50,80,12,0,button,"V˜chod");property(&b1,NULL,NULL,WINCOLOR);on_change(edit_side_sup);
|
||||
define(60,70,50,80,12,0,button,"V<EFBFBD>chod");property(&b1,NULL,NULL,WINCOLOR);on_change(edit_side_sup);
|
||||
define(70,70,65,80,12,0,button,"Jih");property(&b1,NULL,NULL,WINCOLOR);on_change(edit_side_sup);
|
||||
define(80,70,80,80,12,0,button,"Z pad");property(&b1,NULL,NULL,WINCOLOR);on_change(edit_side_sup);
|
||||
define(80,70,80,80,12,0,button,"Z<EFBFBD>pad");property(&b1,NULL,NULL,WINCOLOR);on_change(edit_side_sup);
|
||||
temp_source=source;
|
||||
*/redraw_window();
|
||||
escape();
|
||||
|
@ -679,47 +679,47 @@ void sector_details_call(int sect_num)
|
|||
define(-1,30,30,100,12,0,label,"Strop:");
|
||||
define(-1,30,50,100,12,0,label,"Podlaha:");
|
||||
define(-1,30,70,100,12,0,label,"Sektor:");
|
||||
define(-1,30,90,100,12,0,label,"C¡l akce:");
|
||||
define(-1,30,110,100,12,0,label,"Stˆna akce:");
|
||||
define(-1,30,90,100,12,0,label,"C<EFBFBD>l akce:");
|
||||
define(-1,30,110,100,12,0,label,"St<EFBFBD>na akce:");
|
||||
define(-1,30,130,100,12,0,label,"Popis akce:");
|
||||
define(10,30,28,100,13,1,str_line,ceils);property(&b2,NULL,NULL,WINCOLOR);
|
||||
c_default(p->ceil); on_enter(string_list_sup);
|
||||
c_default(p->ceil); on_control_enter(string_list_sup);
|
||||
define(20,30,48,100,13,1,str_line,floors);property(&b2,NULL,NULL,WINCOLOR);
|
||||
c_default(p->floor); on_enter(string_list_sup);
|
||||
c_default(p->floor); on_control_enter(string_list_sup);
|
||||
define(30,30,68,100,13,1,str_line,sector_types);property(&b2,NULL,NULL,WINCOLOR);
|
||||
c_default(p->sector_type); on_enter(string_list_sup);
|
||||
c_default(p->sector_type); on_control_enter(string_list_sup);
|
||||
define(40,30,88,50,13,1,input_line,10,0,MAPSIZE,"%6d");property(&b2,NULL,NULL,WINCOLOR);
|
||||
set_default(strs(p->sector_tag));on_exit(test_int);
|
||||
set_default(strs(p->sector_tag));on_control_exit(test_int);
|
||||
define(50,30,108,100,13,1,str_line,steny2);property(&b2,NULL,NULL,WINCOLOR);
|
||||
c_default(p->side_tag & 3); on_enter(string_list_sup);
|
||||
c_default(p->side_tag & 3); on_control_enter(string_list_sup);
|
||||
define(60,30,128,150,13,1,str_line,actions);property(&b2,NULL,NULL,WINCOLOR);
|
||||
c_default(p->action); on_enter(string_list_sup);
|
||||
c_default(p->action); on_control_enter(string_list_sup);
|
||||
define(70,5,150,214,80,0,radio_butts,7,
|
||||
"(1) Norm ln¡ podlaha",
|
||||
"(1) Norm<EFBFBD>ln<EFBFBD> podlaha",
|
||||
"(2) Dva druhy podlah",
|
||||
"(3) Dva smˆry",
|
||||
"(4) Dva smˆry a druhy",
|
||||
"(5) €ty©i smˆry",
|
||||
"(6) €ty©i smˆry a dva druhy",
|
||||
"(7) ›achovnice");c_default(p->flags & 0x7);
|
||||
"(3) Dva sm<EFBFBD>ry",
|
||||
"(4) Dva sm<EFBFBD>ry a druhy",
|
||||
"(5) <EFBFBD>ty<EFBFBD>i sm<73>ry",
|
||||
"(6) <EFBFBD>ty<EFBFBD>i sm<73>ry a dva druhy",
|
||||
"(7) <EFBFBD>achovnice");c_default(p->flags & 0x7);
|
||||
define(80,5,150,214,80,1,radio_butts,7,
|
||||
"(1) Norm ln¡ strop",
|
||||
"(1) Norm<EFBFBD>ln<EFBFBD> strop",
|
||||
"(2) Dva druhy strop",
|
||||
"(3) Dva smˆry",
|
||||
"(4) Dva smˆry a druhy",
|
||||
"(5) €ty©i smˆry",
|
||||
"(6) €ty©i smˆry a dva druhy",
|
||||
"(7) ›achovnice");c_default(p->flags >> 4 & 0x7);
|
||||
"(3) Dva sm<EFBFBD>ry",
|
||||
"(4) Dva sm<EFBFBD>ry a druhy",
|
||||
"(5) <EFBFBD>ty<EFBFBD>i sm<73>ry",
|
||||
"(6) <EFBFBD>ty<EFBFBD>i sm<73>ry a dva druhy",
|
||||
"(7) <EFBFBD>achovnice");c_default(p->flags >> 4 & 0x7);
|
||||
define(90,5,240,214,10,0,check_box,"(?)Animace podlahy");c_default((p->flags & 0x8)!=0);
|
||||
define(95,5,240,214,10,1,check_box,"(?)Animace stropu");c_default((p->flags & 0x80)!=0);
|
||||
define(65,5,252,214,10,0,check_box,"Sekundarni shading");c_default((minfo[sect_num].flags & 0x100)>>8);
|
||||
define(75,5,258,214,40,1,radio_butts,4,"*default*","›ipka","Schody","Bez symbolu");c_default((minfo[sect_num].flags & 0x600)>>9);
|
||||
define(75,5,258,214,40,1,radio_butts,4,"*default*","<EFBFBD>ipka","Schody","Bez symbolu");c_default((minfo[sect_num].flags & 0x600)>>9);
|
||||
define(83,5,264,214,10,0,check_box,"!Automap (kouzlem)");c_default((minfo[sect_num].flags & 0x800)>>11);
|
||||
define(85,5,276,214,10,0,check_box,"!Summon");c_default((minfo[sect_num].flags & 0x1000)>>12);
|
||||
define(87,5,288,214,10,0,check_box,"Neprojde hledan¡m cesty");c_default((minfo[sect_num].flags & 0x2000)>>13);
|
||||
define(100,10,10,80,20,3,button,"Ok");property(&b1,NULL,NULL,WINCOLOR);on_change(terminate);
|
||||
define(110,10,10,80,20,2,button,"Zru¨it");property(&b1,NULL,NULL,WINCOLOR);on_change(terminate);
|
||||
define(120,100,10,80,20,2,button,"P©edvolba");property(&b1,NULL,NULL,WINCOLOR);on_change(terminate);
|
||||
define(87,5,288,214,10,0,check_box,"Neprojde hledan<EFBFBD>m cesty");c_default((minfo[sect_num].flags & 0x2000)>>13);
|
||||
define(100,10,10,80,20,3,button,"Ok");property(&b1,NULL,NULL,WINCOLOR);on_control_change(terminate_gui);
|
||||
define(110,10,10,80,20,2,button,"Zru<EFBFBD>it");property(&b1,NULL,NULL,WINCOLOR);on_control_change(terminate_gui);
|
||||
define(120,100,10,80,20,2,button,"P<EFBFBD>edvolba");property(&b1,NULL,NULL,WINCOLOR);on_control_change(terminate_gui);
|
||||
set_enable(0,120,sect_num!=0);
|
||||
redraw_window();
|
||||
do
|
||||
|
@ -735,8 +735,8 @@ void sector_details_call(int sect_num)
|
|||
}
|
||||
else
|
||||
{
|
||||
if (count_of_sel()<2 || (i=msg_box("Co teƒ?",'\x2',"M m vlastnosti aplikovat na jeden sektor nebo na vybranou oblast?",
|
||||
"Na sektor","Na oblast","Zru¨it",NULL))==1)
|
||||
if (count_of_sel()<2 || (i=msg_box("Co te<EFBFBD>?",'\x2',"M<EFBFBD>m vlastnosti aplikovat na jeden sektor nebo na vybranou oblast?",
|
||||
"Na sektor","Na oblast","Zru<EFBFBD>it",NULL))==1)
|
||||
{
|
||||
start=sect_num;
|
||||
end=sect_num;
|
||||
|
@ -797,7 +797,7 @@ void get_error(char *err)
|
|||
p=(short *)0xb8000;
|
||||
if (p[0]==0xff)
|
||||
{
|
||||
strcpy(err,"Neo‡ek van‚ zhroucen¡.");
|
||||
strcpy(err,"Neo<EFBFBD>ek<EFBFBD>van<EFBFBD> zhroucen<65>.");
|
||||
return;
|
||||
}
|
||||
mezera=1;spc=1;
|
||||
|
@ -883,48 +883,48 @@ void open_sector_win(void)
|
|||
memcpy(&f_sel,flat_color(0x0017),sizeof(charcolors));
|
||||
sektor_win=def_window(120,325,"Vlastnosti");
|
||||
waktual->y=2;waktual->x=SCR_WIDTH_X-120-3;
|
||||
on_change(close_sector_win);
|
||||
define(100,4,19,59,14,0,button2,"Sever:");on_change(run_edit_side);
|
||||
define(110,4,49,59,14,0,button2,"V˜chod:");on_change(run_edit_side);
|
||||
define(120,4,79,59,14,0,button2,"Jih:");on_change(run_edit_side);
|
||||
define(130,4,109,59,14,0,button2,"Z pad:");on_change(run_edit_side);
|
||||
on_control_change(close_sector_win);
|
||||
define(100,4,19,59,14,0,button2,"Sever:");on_control_change(run_edit_side);
|
||||
define(110,4,49,59,14,0,button2,"V<EFBFBD>chod:");on_control_change(run_edit_side);
|
||||
define(120,4,79,59,14,0,button2,"Jih:");on_control_change(run_edit_side);
|
||||
define(130,4,109,59,14,0,button2,"Z<EFBFBD>pad:");on_control_change(run_edit_side);
|
||||
define(-1,5,140,59,10,0,label,"Strop:");
|
||||
define(-1,5,170,59,10,0,label,"Podlaha:");
|
||||
define(-1,5,200,59,10,0,label,"Typ sektoru:");
|
||||
define(10,65,20,50,12,0,input_line,20,0,MAPSIZE-1,"%5d");property(&b2,NULL,&f_sel,WINCOLOR);
|
||||
set_default("0");on_exit(test_int);on_event(chozeni);
|
||||
set_default("0");on_control_exit(test_int);on_event(chozeni);
|
||||
define(20,65,50,50,12,0,input_line,20,0,MAPSIZE-1,"%5d");property(&b2,NULL,&f_sel,WINCOLOR);
|
||||
set_default("0");on_exit(test_int);on_event(chozeni);
|
||||
set_default("0");on_control_exit(test_int);on_event(chozeni);
|
||||
define(30,65,80,50,12,0,input_line,20,0,MAPSIZE-1,"%5d");property(&b2,NULL,&f_sel,WINCOLOR);
|
||||
set_default("0");on_exit(test_int);on_event(chozeni);
|
||||
set_default("0");on_control_exit(test_int);on_event(chozeni);
|
||||
define(40,65,110,50,12,0,input_line,20,0,MAPSIZE-1,"%5d");property(&b2,NULL,&f_sel,WINCOLOR);
|
||||
set_default("0");on_exit(test_int);on_event(chozeni);
|
||||
set_default("0");on_control_exit(test_int);on_event(chozeni);
|
||||
define(50,5,35,95,12,0,str_line,side_names);property(&b2,NULL,&f_sel,WINCOLOR);
|
||||
c_default(0); on_enter(string_list_sup);on_change(set_change_map);
|
||||
c_default(0); on_control_enter(string_list_sup);on_control_change(set_change_map);
|
||||
define(60,5,65,95,12,0,str_line,side_names);property(&b2,NULL,&f_sel,WINCOLOR);
|
||||
c_default(0); on_enter(string_list_sup);on_change(set_change_map);
|
||||
c_default(0); on_control_enter(string_list_sup);on_control_change(set_change_map);
|
||||
define(70,5,95,95,12,0,str_line,side_names);property(&b2,NULL,&f_sel,WINCOLOR);
|
||||
c_default(0); on_enter(string_list_sup);on_change(set_change_map);
|
||||
c_default(0); on_control_enter(string_list_sup);on_control_change(set_change_map);
|
||||
define(80,5,125,95,12,0,str_line,side_names);property(&b2,NULL,&f_sel,WINCOLOR);
|
||||
c_default(0); on_enter(string_list_sup);on_change(set_change_map);
|
||||
c_default(0); on_control_enter(string_list_sup);on_control_change(set_change_map);
|
||||
define(140,103,35,12,12,0,check_box,"");o_end->runs[2]=o_end->events[3];
|
||||
define(150,103,65,12,12,0,check_box,"");o_end->runs[2]=o_end->events[3];
|
||||
define(160,103,95,12,12,0,check_box,"");o_end->runs[2]=o_end->events[3];
|
||||
define(170,103,125,12,12,0,check_box,"");o_end->runs[2]=o_end->events[3];
|
||||
define(200,5,155,110,12,0,str_line,ceils);property(&b2,NULL,&f_sel,WINCOLOR);
|
||||
c_default(0); on_enter(string_list_sup);on_change(set_change_map);
|
||||
c_default(0); on_control_enter(string_list_sup);on_control_change(set_change_map);
|
||||
define(210,5,185,110,12,0,str_line,floors);property(&b2,NULL,&f_sel,WINCOLOR);
|
||||
c_default(0); on_enter(string_list_sup);on_change(set_change_map);
|
||||
c_default(0); on_control_enter(string_list_sup);on_control_change(set_change_map);
|
||||
define(220,5,215,110,12,0,str_line,sector_types);property(&b2,NULL,&f_sel,WINCOLOR);
|
||||
c_default(0); on_enter(string_list_sup);on_change(set_change_map);
|
||||
c_default(0); on_control_enter(string_list_sup);on_control_change(set_change_map);
|
||||
define(-1,1,30,60,10,3,label,"Sektor:");
|
||||
define(OK_BUTT,60,67,55,17,3,button2,"Aplikuj");on_change(Apply);
|
||||
define(300,4,67,55,17,3,button2,"Detaily");on_change(sector_details);
|
||||
define(OK_BUTT,60,67,55,17,3,button2,"Aplikuj");on_control_change(Apply);
|
||||
define(300,4,67,55,17,3,button2,"Detaily");on_control_change(sector_details);
|
||||
define(5,60,30,55,12,3,input_line,20,0,MAPSIZE-1,"%5d");property(&b2,NULL,NULL,WINCOLOR);
|
||||
set_default("?");on_change(chozeni2);
|
||||
define(310,4,3,112,20,3,button,"Testovat mapu");on_change(testmap);
|
||||
define(320,4,47,55,17,2,button2,"Zoom+");on_change(zoomin);
|
||||
define(330,4,47,55,17,3,button2,"Zoom-");on_change(zoomout);
|
||||
set_default("?");on_control_change(chozeni2);
|
||||
define(310,4,3,112,20,3,button,"Testovat mapu");on_control_change(testmap);
|
||||
define(320,4,47,55,17,2,button2,"Zoom+");on_control_change(zoomin);
|
||||
define(330,4,47,55,17,3,button2,"Zoom-");on_control_change(zoomout);
|
||||
send_message(E_ADD,E_KEYBOARD,chozeni2);
|
||||
waktual->popup=1;
|
||||
}
|
||||
|
@ -992,20 +992,20 @@ void open_draw_win(void)
|
|||
memcpy(&f_sel,flat_color(0x0017),sizeof(charcolors));
|
||||
draw_win=def_window(120,165,"Vlajky");
|
||||
waktual->y=2;waktual->x=SCR_WIDTH_X-120-3;
|
||||
define(10,5,30,100,10,0,check_box,"Rozdˆlit");c_default(1);
|
||||
on_change(draw_win_1);
|
||||
define(20,5,45,100,10,0,check_box,"!Hra‡");c_default(0);
|
||||
on_change(draw_win_2);
|
||||
define(30,5,60,100,10,0,check_box,"!Nestv–ra");c_default(0);
|
||||
on_change(draw_win_2);
|
||||
define(40,5,75,100,10,0,check_box,"!Vˆc");c_default(0);
|
||||
on_change(draw_win_2);
|
||||
define(10,5,30,100,10,0,check_box,"Rozd<EFBFBD>lit");c_default(1);
|
||||
on_control_change(draw_win_1);
|
||||
define(20,5,45,100,10,0,check_box,"!Hra<EFBFBD>");c_default(0);
|
||||
on_control_change(draw_win_2);
|
||||
define(30,5,60,100,10,0,check_box,"!Nestv<EFBFBD>ra");c_default(0);
|
||||
on_control_change(draw_win_2);
|
||||
define(40,5,75,100,10,0,check_box,"!V<EFBFBD>c");c_default(0);
|
||||
on_control_change(draw_win_2);
|
||||
define(50,5,90,100,10,0,check_box,"!Zvuk");c_default(0);
|
||||
on_change(draw_win_2);
|
||||
on_control_change(draw_win_2);
|
||||
define(60,5,105,100,10,0,check_box,"PrimVis");c_default(0);
|
||||
on_change(draw_win_2);
|
||||
define(70,5,18,110,17,3,button2,"Zoom in");on_change(zoomin);
|
||||
define(80,5,1,110,17,3,button2,"Zoom out");on_change(zoomout);
|
||||
on_control_change(draw_win_2);
|
||||
define(70,5,18,110,17,3,button2,"Zoom in");on_control_change(zoomin);
|
||||
define(80,5,1,110,17,3,button2,"Zoom out");on_control_change(zoomout);
|
||||
waktual->popup=1;
|
||||
|
||||
}
|
||||
|
@ -1039,7 +1039,7 @@ static void veci_ve_vyklenku(TSTR_LIST *ls,short *list)
|
|||
for(i=0;list[i]!=0;i++)
|
||||
{
|
||||
int it=list[i]-1;
|
||||
if (it>=max_items) str_add(ls,"<P©edmˆt neexistuje>");else str_add(ls,item_list[it].jmeno);
|
||||
if (it>=max_items) str_add(ls,"<P<EFBFBD>edm<EFBFBD>t neexistuje>");else str_add(ls,item_list[it].jmeno);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1116,40 +1116,40 @@ void edit_vyklenek(int idnum)
|
|||
memcpy(&old,v,sizeof(TVYKLENEK));
|
||||
veci_ve_vyklenku(&vyklist,&v->items);
|
||||
create_isort_list(&ls_sorts,-1);
|
||||
def_dialoge(70,100,500,200,"Oprava v˜klenk–");
|
||||
def_dialoge(70,100,500,200,"Oprava v<EFBFBD>klenk<EFBFBD>");
|
||||
define(9,10,20,200,126,0,listbox,ls_sorts,RGB555(31,31,31),0);
|
||||
property(&b3,NULL,NULL,WINCOLOR);c_default(0);
|
||||
define(10,216,40,21,87,0,scroll_bar_v,0,10,1,SCROLLBARCOL);
|
||||
property(&b2,NULL,NULL,WINCOLOR);
|
||||
define(11,216,20,21,17,0,scroll_button,-1,0,"\x1e");
|
||||
property(&b1,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
property(&b1,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(12,216,130,21,17,0,scroll_button,1,10,"\x1f");
|
||||
property(&b1,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
property(&b1,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(20,0,0,0,0,0,value_store,4);c_default(idnum);
|
||||
define(29,10,20,200,120,1,listbox,vyklist,RGB555(31,31,31),0);
|
||||
property(&b3,NULL,NULL,WINCOLOR);c_default(0);
|
||||
define(40,242,40,40,15,0,button,">>");on_change(add_to_vyk);
|
||||
define(50,242,60,40,15,0,button,"<<");on_change(remove_from_vyk);
|
||||
define(40,242,40,40,15,0,button,">>");on_control_change(add_to_vyk);
|
||||
define(50,242,60,40,15,0,button,"<<");on_control_change(remove_from_vyk);
|
||||
define(80,30,150,120,12,1,str_line,typy_veci);c_default(0);
|
||||
property(&b2,NULL,NULL,WINCOLOR);on_enter(string_list_sup);on_change(change_grep);
|
||||
property(&b2,NULL,NULL,WINCOLOR);on_control_enter(string_list_sup);on_control_change(change_grep);
|
||||
define(-1,150,150,50,10,1,label,"Filtr:");
|
||||
define(90,10,150,10,10,1,check_box,"");c_default(0);on_change(change_grep);
|
||||
define(90,10,150,10,10,1,check_box,"");c_default(0);on_control_change(change_grep);
|
||||
define(-1,10,30,1,10,3,label,"Xpos Ypos Xsiz Ysiz Sector Pos");
|
||||
define(100,8,12,40,12,3,input_line,10,0,500,"%4d");set_default(strs(v->xpos));
|
||||
property(&b2,NULL,NULL,WINCOLOR);on_exit(test_int);
|
||||
property(&b2,NULL,NULL,WINCOLOR);on_control_exit(test_int);
|
||||
define(110,53,12,40,12,3,input_line,10,0,500,"%4d");set_default(strs(v->ypos));
|
||||
property(&b2,NULL,NULL,WINCOLOR);on_exit(test_int);
|
||||
property(&b2,NULL,NULL,WINCOLOR);on_control_exit(test_int);
|
||||
define(120,98,12,40,12,3,input_line,10,0,500,"%4d");set_default(strs(v->xs));
|
||||
property(&b2,NULL,NULL,WINCOLOR);on_exit(test_int);
|
||||
property(&b2,NULL,NULL,WINCOLOR);on_control_exit(test_int);
|
||||
define(130,143,12,40,12,3,input_line,10,0,500,"%4d");set_default(strs(v->ys));
|
||||
property(&b2,NULL,NULL,WINCOLOR);on_exit(test_int);
|
||||
property(&b2,NULL,NULL,WINCOLOR);on_control_exit(test_int);
|
||||
define(140,188,12,40,12,3,input_line,10,0,maplen,"%4d");set_default(strs(v->sector));
|
||||
property(&b2,NULL,NULL,WINCOLOR);on_exit(test_int);
|
||||
property(&b2,NULL,NULL,WINCOLOR);on_control_exit(test_int);
|
||||
define(150,233,12,40,12,3,input_line,10,0,3,"%4d");set_default(strs(v->dir));
|
||||
property(&b2,NULL,NULL,WINCOLOR);on_exit(test_int);
|
||||
define(200,5,5,60,20,2,button,"Ok");on_change(terminate);property(&b1,NULL,NULL,WINCOLOR);
|
||||
define(210,70,5,60,20,2,button,"Zru¨it");on_change(terminate);property(&b1,NULL,NULL,WINCOLOR);
|
||||
define(220,135,5,60,20,2,button,"Vymazat");on_change(terminate);property(&b1,NULL,NULL,WINCOLOR);
|
||||
property(&b2,NULL,NULL,WINCOLOR);on_control_exit(test_int);
|
||||
define(200,5,5,60,20,2,button,"Ok");on_control_change(terminate_gui);property(&b1,NULL,NULL,WINCOLOR);
|
||||
define(210,70,5,60,20,2,button,"Zru<EFBFBD>it");on_control_change(terminate_gui);property(&b1,NULL,NULL,WINCOLOR);
|
||||
define(220,135,5,60,20,2,button,"Vymazat");on_control_change(terminate_gui);property(&b1,NULL,NULL,WINCOLOR);
|
||||
redraw_window();
|
||||
opp:
|
||||
escape();
|
||||
|
@ -1163,7 +1163,7 @@ void edit_vyklenek(int idnum)
|
|||
v->dir=vals(150);
|
||||
}
|
||||
else if (o_aktual->id==220)
|
||||
if (msg_box("Mapedit",'\x2',"Chce¨ opravdu v˜klenek zbourat?","Ano","Ne",NULL)==1)
|
||||
if (msg_box("Mapedit",'\x2',"Chce<EFBFBD> opravdu v<>klenek zbourat?","Ano","Ne",NULL)==1)
|
||||
{
|
||||
v->sector=0;
|
||||
}
|
||||
|
|
120
MAPS/ITEMS.C
120
MAPS/ITEMS.C
|
@ -184,14 +184,14 @@ void generate_item_tree(TITEM *start,TSTR_LIST *list, char first)
|
|||
char *d;
|
||||
|
||||
d=strchr(tree,'\0')-3;
|
||||
strcpy(d,"ÀÄ ");
|
||||
strcpy(d,"<EFBFBD><EFBFBD> ");
|
||||
}
|
||||
else
|
||||
{
|
||||
char *d;
|
||||
|
||||
d=strchr(tree,'\0')-3;
|
||||
strcpy(d,"ÃÄ ");
|
||||
strcpy(d,"<EFBFBD><EFBFBD> ");
|
||||
}
|
||||
if (start->jmeno[0]=='~')
|
||||
sprintf(c,"%08X %s%s",(int)start,tree,start->popis);
|
||||
|
@ -213,7 +213,7 @@ void generate_item_tree(TITEM *start,TSTR_LIST *list, char first)
|
|||
char *d;
|
||||
|
||||
d=strchr(tree,'\0')-3;
|
||||
strcpy(d,"³\xdb ");
|
||||
strcpy(d,"<EFBFBD>\xdb ");
|
||||
}
|
||||
generate_item_tree(start->inside,list,0);
|
||||
}
|
||||
|
@ -550,15 +550,15 @@ int select_ikon_lib(int last)
|
|||
for (i=0;i<30;i++)
|
||||
{
|
||||
define(i+10,x,y,45,55,0,ikona);c_default(last+i);
|
||||
property(def_border(5,WINCOLOR),NULL,NULL,WINCOLOR);on_change(terminate);
|
||||
property(def_border(5,WINCOLOR),NULL,NULL,WINCOLOR);on_control_change(terminate_gui);
|
||||
x+=48;if (x+48>490) {y+=58;x=5;}
|
||||
}
|
||||
define(300,10,10,80,20,3,button,"<<");
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);on_change(terminate);
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);on_control_change(terminate_gui);
|
||||
define(310,10,10,80,20,2,button,">>");
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);on_change(terminate);
|
||||
define(320,175-40,10,80,20,3,button,"Zru¨it");
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);on_change(terminate);
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);on_control_change(terminate_gui);
|
||||
define(320,175-40,10,80,20,3,button,"Zru<EFBFBD>it");
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);on_control_change(terminate_gui);
|
||||
redraw_window();
|
||||
do
|
||||
{
|
||||
|
@ -587,10 +587,10 @@ void change_item_ikone()
|
|||
}
|
||||
|
||||
char nvlast[][16]=
|
||||
{"cS¡la","Schopnost magie","Pohyblivost","Obratnost","Max zranˆn¡",
|
||||
"Kondice","Max mana","Obrana(doln¡)","Obrana(Horn¡)","—tok(Doln¡)",
|
||||
"—tok(Horn¡)","Ohe¤","Voda","Zemˆ","Vzduch","Mysl","Magick s¡la(D)",
|
||||
"Magick s¡la(H)","\0"};
|
||||
{"cS<EFBFBD>la","Schopnost magie","Pohyblivost","Obratnost","Max zran<EFBFBD>n<EFBFBD>",
|
||||
"Kondice","Max mana","Obrana(doln<EFBFBD>)","Obrana(Horn<72>)","<EFBFBD>tok(Doln<6C>)",
|
||||
"<EFBFBD>tok(Horn<72>)","Ohe<EFBFBD>","Voda","Zem<EFBFBD>","Vzduch","Mysl","Magick<EFBFBD> s<>la(D)",
|
||||
"Magick<EFBFBD> s<>la(H)","\0"};
|
||||
|
||||
void ukaz_vlastnosti(int pocet,int x,int y,int id,short *it)
|
||||
{
|
||||
|
@ -633,13 +633,13 @@ void oprav_vlastnosti(TITEM *it)
|
|||
define(190,5,272,100,10,0,check_box,"Na nohy");
|
||||
define(200,105,200,100,10,0,check_box,"Na chodidla");
|
||||
define(210,105,212,100,10,0,check_box,"Na ramena");
|
||||
define(220,105,224,100,10,0,check_box,"Na z da");
|
||||
define(300,10,10,80,20,2,button,"Zru¨it");on_change(terminate);
|
||||
define(220,105,224,100,10,0,check_box,"Na z<EFBFBD>da");
|
||||
define(300,10,10,80,20,2,button,"Zru<EFBFBD>it");on_control_change(terminate_gui);
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);
|
||||
define(310,10,40,80,20,2,button,"Ok");on_change(terminate);
|
||||
define(310,10,40,80,20,2,button,"Ok");on_control_change(terminate_gui);
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);
|
||||
define(-1,225,206,70,10,0,label,"Magick˜ £tok");
|
||||
define(250,225,218,70,70,0,radio_butts,5,"Ohe¤","Voda","Zemˆ","Vzduch","Mysl");
|
||||
define(-1,225,206,70,10,0,label,"Magick<EFBFBD> <20>tok");
|
||||
define(250,225,218,70,70,0,radio_butts,5,"Ohe<EFBFBD>","Voda","Zem<EFBFBD>","Vzduch","Mysl");
|
||||
c_default(it->zmeny[VLS_MGZIVEL]);
|
||||
fill_bit_fields(0,130,it->place_map,11);
|
||||
redraw_window();
|
||||
|
@ -679,7 +679,7 @@ void save_edited_item()
|
|||
it->magie=vals(110);
|
||||
it->silaspell=vals(120);
|
||||
it->ikona=f_get_value(0,130);
|
||||
terminate();
|
||||
terminate_gui();
|
||||
}
|
||||
|
||||
TITEM *select_item(TITEM *it);
|
||||
|
@ -695,17 +695,17 @@ void e_item_insert_inside()
|
|||
it=isolate_item(it);
|
||||
if (insert_inside(it,is)==NULL)
|
||||
{
|
||||
msg_box("Chyba integrity:",'\x1',"Nelze vlo‘it tento p©edmˆt do zvolen‚ho "
|
||||
"Patrnˆ se pokou¨¡¨ vlo‘it tut‚‘ vˆc samu do sebe. Nebo vˆc nen¡ "
|
||||
"izolov na, nebo ji nelze izolovat. Je mo‘n‚ ‘e se sna‘¡¨ vlo‘it "
|
||||
"vˆc do vˆci, kter je uvnit© t‚to vˆci, nebo v uvnit© vˆci, kter "
|
||||
"je uvnit© vˆci, do kter‚ chce¨ vˆc um¡stit atd. Mohlo by dojit k "
|
||||
"zacyklen¡ a to nelze dopustit. Program bude vˆc izolovat, jeliko‘ "
|
||||
"ji‘ nelze rekonstruovat p–vodn¡ stav","Budu si pamatovat",NULL);
|
||||
msg_box("Chyba integrity:",'\x1',"Nelze vlo<EFBFBD>it tento p<>edm<64>t do zvolen<65>ho "
|
||||
"Patrn<EFBFBD> se pokou<6F><75><EFBFBD> vlo<6C>it tut<75><74> v<>c samu do sebe. Nebo v<>c nen<65> "
|
||||
"izolov<EFBFBD>na, nebo ji nelze izolovat. Je mo<6D>n<EFBFBD> <20>e se sna<6E><61><EFBFBD> vlo<6C>it "
|
||||
"v<EFBFBD>c do v<>ci, kter<65> je uvnit<69> t<>to v<>ci, nebo v uvnit<69> v<>ci, kter<65> "
|
||||
"je uvnit<EFBFBD> v<>ci, do kter<65> chce<63> v<>c um<75>stit atd. Mohlo by dojit k "
|
||||
"zacyklen<EFBFBD> a to nelze dopustit. Program bude v<>c izolovat, jeliko<6B> "
|
||||
"ji<EFBFBD> nelze rekonstruovat p<>vodn<64> stav","Budu si pamatovat",NULL);
|
||||
insert_isolated(it);
|
||||
return;
|
||||
}
|
||||
terminate();
|
||||
terminate_gui();
|
||||
}
|
||||
|
||||
void e_item_insert_map()
|
||||
|
@ -721,23 +721,23 @@ void item_edit(TITEM *it)
|
|||
CTL3D *c;
|
||||
|
||||
c=def_border(5,WINCOLOR);
|
||||
def_dialoge(120,80,410,300,"Oprava £daj– o p©edmˆtu");
|
||||
def_dialoge(120,80,410,300,"Oprava <EFBFBD>daj<EFBFBD> o p<>edm<64>tu");
|
||||
curfont=vga_font;
|
||||
default_font=curfont;
|
||||
define(-1,5,20,50,10,0,label,"Jm‚no (31 znak–)");
|
||||
define(-1,5,20,50,10,0,label,"Jm<EFBFBD>no (31 znak<61>)");
|
||||
define(15,10,35,288,12,0,input_line,31);set_default(it->jmeno);
|
||||
property(def_border(2,WINCOLOR),NULL,flat_color(RGB555(15,0,0)),WINCOLOR);
|
||||
define(-1,5,50,50,10,0,label,"Popis (63 znak–)");
|
||||
define(-1,5,50,50,10,0,label,"Popis (63 znak<EFBFBD>)");
|
||||
define(20,10,65,380,12,0,input_line,63);set_default(it->popis);
|
||||
property(def_border(2,WINCOLOR),NULL,flat_color(0xF),WINCOLOR);
|
||||
define(5,0,0,0,0,0,value_store,4);set_default(&it);
|
||||
define(30,10,30,80,20,1,button,"Vlastnosti");
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);on_change(otevri_vlastnosti);
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);on_control_change(otevri_vlastnosti);
|
||||
define(-1,5,80,100,10,0,label,"Hmotnost");
|
||||
define(-1,5,95,100,10,0,label,"Nosnost");
|
||||
define(-1,5,110,100,10,0,label,"ID Kl¡‡e");
|
||||
define(-1,5,110,100,10,0,label,"ID Kl<EFBFBD><EFBFBD>e");
|
||||
define(-1,5,125,100,10,0,label,"?Hodnota");
|
||||
define(-1,5,140,100,10,0,label,"€.Ud losti");
|
||||
define(-1,5,140,100,10,0,label,"<EFBFBD>.Ud<55>losti");
|
||||
define(-1,5,155,100,10,0,label,"Druh");
|
||||
def_border(5,WINCOLOR);
|
||||
define(40,105,80,60,12,0,input_line,7,-32767,+32767,"%6d");
|
||||
|
@ -752,18 +752,18 @@ void item_edit(TITEM *it)
|
|||
property(c,NULL,NULL,WINCOLOR);on_exit(test_int);set_default(strs(it->use_event));
|
||||
define(90,80,155,120,108,0,radio_butts,10,
|
||||
"Nespecif.",
|
||||
"Brnˆn¡",
|
||||
"Ru‡n¡ zbra¤",
|
||||
"Brn<EFBFBD>n<EFBFBD>",
|
||||
"Ru<EFBFBD>n<EFBFBD> zbra<72>",
|
||||
"Svitek/Hulka",
|
||||
"St©eln zbr.",
|
||||
"Vrhac¡",
|
||||
"Lektvar/Mˆch",
|
||||
"J¡dlo",
|
||||
"St<EFBFBD>eln<EFBFBD> zbr.",
|
||||
"Vrhac<EFBFBD>",
|
||||
"Lektvar/M<EFBFBD>ch",
|
||||
"J<EFBFBD>dlo",
|
||||
"Batoh/Truhla",
|
||||
"Specialn¡");c_default(it->druh);
|
||||
"Specialn<EFBFBD>");c_default(it->druh);
|
||||
define(-1,105,80,100,10,1,label,"Kouzlo:");
|
||||
define(-1,105,95,100,10,1,label,"Mana celk:");
|
||||
define(-1,105,110,100,10,1,label,"S¡la kouzla");
|
||||
define(-1,105,110,100,10,1,label,"S<EFBFBD>la kouzla");
|
||||
define(100,55,80,60,12,1,input_line,7,-32767,32767,"%6d");on_exit(test_int);
|
||||
property(c,NULL,NULL,WINCOLOR);set_default(strs(it->spell));
|
||||
define(110,55,95,60,12,1,input_line,7,-32767,32767,"%6d");on_exit(test_int);
|
||||
|
@ -771,11 +771,11 @@ void item_edit(TITEM *it)
|
|||
define(120,55,110,60,12,1,input_line,7,-32767,32767,"%6d");on_exit(test_int);
|
||||
property(c,NULL,NULL,WINCOLOR);set_default(strs(it->silaspell));
|
||||
define(130,10,180,45,55,0,ikona);c_default(it->ikona);
|
||||
property(c,NULL,NULL,WINCOLOR);on_change(change_item_ikone);
|
||||
define(300,10,10,80,20,3,button,"Ulo‘");property(def_border(1,0),NULL,NULL,RGB(0,24,0));on_change(save_edited_item);
|
||||
define(310,100,10,80,20,3,button,"Vlo‘it do");property(def_border(1,0),NULL,NULL,WINCOLOR);on_change(e_item_insert_inside);
|
||||
define(320,100,10,80,20,2,button,"Um¡stit");property(def_border(1,0),NULL,NULL,WINCOLOR);on_change(e_item_insert_map);
|
||||
define(330,10,10,80,20,2,button,"Zru¨it");property(def_border(1,0),NULL,flat_color(RGB555(31,31,31)),RGB555(16,0,0);on_change(terminate);
|
||||
property(c,NULL,NULL,WINCOLOR);on_control_change(change_item_ikone);
|
||||
define(300,10,10,80,20,3,button,"Ulo<EFBFBD>");property(def_border(1,0),NULL,NULL,RGB(0,24,0));on_control_change(save_edited_item);
|
||||
define(310,100,10,80,20,3,button,"Vlo<EFBFBD>it do");property(def_border(1,0),NULL,NULL,WINCOLOR);on_control_change(e_item_insert_inside);
|
||||
define(320,100,10,80,20,2,button,"Um<EFBFBD>stit");property(def_border(1,0),NULL,NULL,WINCOLOR);on_control_change(e_item_insert_map);
|
||||
define(330,10,10,80,20,2,button,"Zru<EFBFBD>it");property(def_border(1,0),NULL,flat_color(RGB555(31,31,31)),RGB555(16,0,0);on_control_change(terminate_gui);
|
||||
redraw_window();
|
||||
escape();
|
||||
close_current();
|
||||
|
@ -794,7 +794,7 @@ void select_item_edit()
|
|||
sscanf(ls[i],"%X",&it);
|
||||
if ((unsigned short)it->druh>=256)
|
||||
{
|
||||
msg_box("Nelze!",'\x1',"Nelze upravovat tento druh vˆci","Beru na vˆdom¡",NULL);
|
||||
msg_box("Nelze!",'\x1',"Nelze upravovat tento druh v<EFBFBD>ci","Beru na v<>dom<6F>",NULL);
|
||||
return;
|
||||
}
|
||||
item_edit(it);
|
||||
|
@ -815,12 +815,12 @@ void select_item_klon()
|
|||
sscanf(ls[i],"%X",&it);
|
||||
if ((unsigned short)it->druh>=256)
|
||||
{
|
||||
msg_box("Nelze!",'\x1',"Nelze klonovat tento druh vˆci","Beru na vˆdom¡",NULL);
|
||||
msg_box("Nelze!",'\x1',"Nelze klonovat tento druh v<EFBFBD>ci","Beru na v<>dom<6F>",NULL);
|
||||
return;
|
||||
}
|
||||
if (it->inside!=NULL)
|
||||
{
|
||||
i=msg_box("Klonovat",'\x2',"Klonovat i vˆci uvnit©?","Ano","Ne",NULL);
|
||||
i=msg_box("Klonovat",'\x2',"Klonovat i v<EFBFBD>ci uvnit<69>?","Ano","Ne",NULL);
|
||||
}
|
||||
it=clone_item(it,i==1);
|
||||
generate_item_tree(item_tree,&ls,1);
|
||||
|
@ -875,10 +875,10 @@ void select_item_delete()
|
|||
sscanf(ls[i],"%X",&it);
|
||||
if (item_tree==it && it->next==NULL)
|
||||
{
|
||||
msg_box("Nelze!",'\x1',"Jeden p©edmˆt mus¡ z–stat","Ok",NULL);
|
||||
msg_box("Nelze!",'\x1',"Jeden p<EFBFBD>edm<EFBFBD>t mus<75> z<>stat","Ok",NULL);
|
||||
return;
|
||||
}
|
||||
if (msg_box("P©edmˆty",'\x2',"Vymazat vybranou vˆc","Souhlas","Ne",NULL)==2) return;
|
||||
if (msg_box("P<EFBFBD>edm<EFBFBD>ty",'\x2',"Vymazat vybranou v<EFBFBD>c","Souhlas","Ne",NULL)==2) return;
|
||||
isolate_item(it);
|
||||
delete_item(it);
|
||||
check_for_empty_loc();
|
||||
|
@ -945,7 +945,7 @@ TITEM *select_item(TITEM *it)
|
|||
if (q==it) break;
|
||||
}
|
||||
if (i==ls) i=0;
|
||||
def_dialoge(120,80,410,300,"P©edmˆty");
|
||||
def_dialoge(120,80,410,300,"P<EFBFBD>edm<EFBFBD>ty");
|
||||
default_font=vga_font;
|
||||
memcpy(&b2,def_border(5,WINCOLOR),sizeof(CTL3D));
|
||||
define(9,5,20,380,210,0,listbox,il,RGB555(31,31,31),9);
|
||||
|
@ -953,23 +953,23 @@ TITEM *select_item(TITEM *it)
|
|||
define(10,1,40,19,171,1,scroll_bar_v,0,10,1,SCROLLBARCOL);
|
||||
property(&b2,NULL,NULL,WINCOLOR);c_default(0);c_default(i);
|
||||
define(11,1,20,21,17,1,scroll_button,-1,0,"\x1e");
|
||||
property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(12,1,213,21,17,1,scroll_button,1,10,"\x1f");
|
||||
property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(5,0,0,0,0,0,value_store,4);set_default(&it);
|
||||
define(20,5,5,80,15,3,button,"Upravit");on_change(select_item_edit);
|
||||
define(20,5,5,80,15,3,button,"Upravit");on_control_change(select_item_edit);
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);
|
||||
define(30,5,25,80,15,3,button,"Klonovat");on_change(select_item_klon);
|
||||
define(30,5,25,80,15,3,button,"Klonovat");on_control_change(select_item_klon);
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);
|
||||
define(40,5,45,80,15,3,button,"Vymazat");on_change(select_item_delete);
|
||||
define(40,5,45,80,15,3,button,"Vymazat");on_control_change(select_item_delete);
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);
|
||||
define(50,5,5,80,15,2,button,"Zru¨it");on_change(terminate);
|
||||
define(50,5,5,80,15,2,button,"Zru<EFBFBD>it");on_control_change(terminate_gui);
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);
|
||||
define(60,5,25,80,15,2,button,"Vyber");on_change(terminate);
|
||||
define(60,5,25,80,15,2,button,"Vyber");on_control_change(terminate_gui);
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);
|
||||
define(70,90,5,80,15,3,button,"Izoluj");on_change(select_item_isolate);
|
||||
define(70,90,5,80,15,3,button,"Izoluj");on_control_change(select_item_isolate);
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);
|
||||
define(80,90,25,80,15,3,button,"Mapa");on_change(items_on_map_show);
|
||||
define(80,90,25,80,15,3,button,"Mapa");on_control_change(items_on_map_show);
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);
|
||||
redraw_window();
|
||||
escape();
|
||||
|
|
236
MAPS/ITEMS2.C
236
MAPS/ITEMS2.C
|
@ -190,15 +190,15 @@ int select_ikon_lib(int last)
|
|||
for (i=0;i<30;i++)
|
||||
{
|
||||
define(i+10,x,y,45,55,0,ikona);c_default(last+i);
|
||||
property(def_border(5,WINCOLOR),NULL,NULL,0);on_change(terminate);
|
||||
property(def_border(5,WINCOLOR),NULL,NULL,0);on_control_change(terminate_gui);
|
||||
x+=48;if (x+48>490) {y+=58;x=5;}
|
||||
}
|
||||
define(300,10,10,80,20,3,button,"<<");
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);on_change(terminate);
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);on_control_change(terminate_gui);
|
||||
define(310,10,10,80,20,2,button,">>");
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);on_change(terminate);
|
||||
define(320,175-40,10,80,20,3,button,"Zru¨it");
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);on_change(terminate);
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);on_control_change(terminate_gui);
|
||||
define(320,175-40,10,80,20,3,button,"Zru<EFBFBD>it");
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);on_control_change(terminate_gui);
|
||||
redraw_window();
|
||||
do
|
||||
{
|
||||
|
@ -227,10 +227,10 @@ void change_item_ikone()
|
|||
}
|
||||
|
||||
char nvlast[][16]=
|
||||
{"S¡la","Schopnost magie","Pohyblivost","Obratnost","Max zranˆn¡",
|
||||
"Kondice","Max mana","Obrana(doln¡)","Obrana(Horn¡)","—tok(Doln¡)",
|
||||
"—tok(Horn¡)","Ohe¤","Voda","Zemˆ","Vzduch","Mysl","’ivoty Regen",
|
||||
"Mana Regen","Kondice Regen","Magick s¡la(D)", "Magick s¡la(H)","","—‡innek z sahu","*"};
|
||||
{"S<EFBFBD>la","Schopnost magie","Pohyblivost","Obratnost","Max zran<EFBFBD>n<EFBFBD>",
|
||||
"Kondice","Max mana","Obrana(doln<EFBFBD>)","Obrana(Horn<72>)","<EFBFBD>tok(Doln<6C>)",
|
||||
"<EFBFBD>tok(Horn<72>)","Ohe<EFBFBD>","Voda","Zem<EFBFBD>","Vzduch","Mysl","<EFBFBD>ivoty Regen",
|
||||
"Mana Regen","Kondice Regen","Magick<EFBFBD> s<>la(D)", "Magick<EFBFBD> s<>la(H)","","<EFBFBD><EFBFBD>innek z<>sahu","*"};
|
||||
|
||||
void ukaz_vlastnosti(int pocet,int x,int y,int id,short *it)
|
||||
{
|
||||
|
@ -277,13 +277,13 @@ void oprav_vlastnosti(TITEM *it)
|
|||
define(190,5,272,100,10,0,check_box,"Na nohy");
|
||||
define(200,105,200,100,10,0,check_box,"Na chodidla");
|
||||
define(210,105,212,100,10,0,check_box,"Na ramena");
|
||||
define(220,105,224,100,10,0,check_box,"Na z da"); */
|
||||
define(300,10,10,80,20,2,button,"Zru¨it");on_change(terminate);
|
||||
define(220,105,224,100,10,0,check_box,"Na z<EFBFBD>da"); */
|
||||
define(300,10,10,80,20,2,button,"Zru<EFBFBD>it");on_control_change(terminate_gui);
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);
|
||||
define(310,10,40,80,20,2,button,"Ok");on_change(terminate);
|
||||
define(310,10,40,80,20,2,button,"Ok");on_control_change(terminate_gui);
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);
|
||||
define(-1,225,216,70,10,0,label,"Magick˜ £tok");
|
||||
define(250,225,228,70,70,0,radio_butts,5,"Ohe¤","Voda","Zemˆ","Vzduch","Mysl");
|
||||
define(-1,225,216,70,10,0,label,"Magick<EFBFBD> <20>tok");
|
||||
define(250,225,228,70,70,0,radio_butts,5,"Ohe<EFBFBD>","Voda","Zem<EFBFBD>","Vzduch","Mysl");
|
||||
c_default(it->zmeny[VLS_MGZIVEL]);
|
||||
// fill_bit_fields(0,130,it->place_map,11);
|
||||
redraw_window();
|
||||
|
@ -311,7 +311,7 @@ void item_special(TITEM *it)
|
|||
int i,y;
|
||||
CTL3D *c;
|
||||
|
||||
def_dialoge(140,100,410,320,"Special - obr zky v letu");
|
||||
def_dialoge(140,100,410,320,"Special - obr<EFBFBD>zky v letu");
|
||||
y=20;c=def_border(5,WINCOLOR);
|
||||
for(i=0;i<16;i++)
|
||||
{
|
||||
|
@ -321,10 +321,10 @@ void item_special(TITEM *it)
|
|||
}
|
||||
define(-1,5,20,1,1,0,label,"Zezadu");
|
||||
define(-1,5,85,1,1,0,label,"Ze strany");
|
||||
define(-1,5,150,1,1,0,label,"Zep©edu");
|
||||
define(-1,5,215,1,1,0,label,"V˜buch");
|
||||
define(300,10,10,80,20,2,button,"Zru¨it");on_change(terminate);
|
||||
define(310,100,10,80,20,2,button,"Ok");on_change(terminate);
|
||||
define(-1,5,150,1,1,0,label,"Zep<EFBFBD>edu");
|
||||
define(-1,5,215,1,1,0,label,"V<EFBFBD>buch");
|
||||
define(300,10,10,80,20,2,button,"Zru<EFBFBD>it");on_control_change(terminate_gui);
|
||||
define(310,100,10,80,20,2,button,"Ok");on_control_change(terminate_gui);
|
||||
redraw_window();
|
||||
escape();
|
||||
if (o_aktual->id==310)
|
||||
|
@ -394,14 +394,14 @@ void items_adjusting()
|
|||
yy2=350-y2-vec[1];
|
||||
if (yy1<0 || yy2<0)
|
||||
{
|
||||
msg_box("Chyba!",'\x1',"Nelze zobrazit, proto‘e n hled je z‡ sti mimo obrazovku!","Ok",NULL);
|
||||
msg_box("Chyba!",'\x1',"Nelze zobrazit, proto<EFBFBD>e n<>hled je z<><7A>sti mimo obrazovku!","Ok",NULL);
|
||||
return;
|
||||
}
|
||||
preview_win=def_window(300,400,"View");
|
||||
define(10,150-malexs/2,350-maleys,malexs,maleys,0,pcx_view);set_default(ITEM_MALE);
|
||||
define(20,150+x1-vec[0]/2,yy1,1,1,0,pcx_view);set_default(filename);
|
||||
define(30,150+x2-vec[0]/2,yy2,1,1,0,pcx_view);set_default(filename);
|
||||
define(40,5,5,80,20,2,button,"Ok");on_change(close_current);
|
||||
define(40,5,5,80,20,2,button,"Ok");on_control_change(close_current);
|
||||
movesize_win(waktual,0,0,300,400);
|
||||
redraw_window();
|
||||
free(vec);
|
||||
|
@ -440,18 +440,18 @@ void item_sound_call(TITEM *it)
|
|||
memcpy(&b3,def_border(6,WINCOLOR),sizeof(CTL3D));
|
||||
default_font=vga_font;
|
||||
memcpy(f_default,flat_color(0x0000),sizeof(charcolors));
|
||||
def_dialoge(100,50,300,250,"Zvuk p©i dopadu (destrukci)");
|
||||
def_dialoge(100,50,300,250,"Zvuk p<EFBFBD>i dopadu (destrukci)");
|
||||
concat(c,sample_path,"*.wav");
|
||||
list=read_directory(c,DIR_BREIF,_A_NORMAL);
|
||||
read_ddl_list_wav(&list);
|
||||
define(9,10,20,200,126,0,listbox,list,0x7fff,0);
|
||||
property(&b3,NULL,NULL,WINCOLOR);c_default(0);on_change(mob_test_sound);
|
||||
property(&b3,NULL,NULL,WINCOLOR);c_default(0);on_control_change(mob_test_sound);
|
||||
define(10,217,40,19,87,0,scroll_bar_v,0,10,1,SCROLLBARCOL);
|
||||
property(&b2,NULL,NULL,WINCOLOR);
|
||||
define(11,216,20,21,17,0,scroll_button,-1,0,"\x1e");
|
||||
property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(12,216,130,21,17,0,scroll_button,1,10,"\x1f");
|
||||
property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
{
|
||||
int z,y;
|
||||
char *s;
|
||||
|
@ -462,10 +462,10 @@ void item_sound_call(TITEM *it)
|
|||
define(20,120,y,120,12,0,input_line,13);property(&b2,NULL,NULL,WINCOLOR);
|
||||
set_default(s);
|
||||
define(40,245,y,20,12,0,button,"<");
|
||||
property(&b1,NULL,NULL,WINCOLOR);on_change(mob_sound_copy);
|
||||
property(&b1,NULL,NULL,WINCOLOR);on_control_change(mob_sound_copy);
|
||||
}
|
||||
define(100,5,5,80,20,2,button,"Ok");on_change(terminate); property(&b1,NULL,NULL,WINCOLOR);
|
||||
define(110,90,5,80,20,2,button,"Zru¨it");on_change(terminate); property(&b1,NULL,NULL,WINCOLOR);
|
||||
define(100,5,5,80,20,2,button,"Ok");on_control_change(terminate_gui); property(&b1,NULL,NULL,WINCOLOR);
|
||||
define(110,90,5,80,20,2,button,"Zru<EFBFBD>it");on_control_change(terminate_gui); property(&b1,NULL,NULL,WINCOLOR);
|
||||
redraw_window();
|
||||
escape();
|
||||
if (o_aktual->id==100)
|
||||
|
@ -523,7 +523,7 @@ void save_edited_item()
|
|||
it->shiftup=0xff;
|
||||
w=find_window(preview_win);
|
||||
if (w!=NULL) close_window(w);
|
||||
terminate();
|
||||
terminate_gui();
|
||||
}
|
||||
|
||||
|
||||
|
@ -593,23 +593,23 @@ void item_edit(TITEM *it)
|
|||
|
||||
if (anm>=str_count(weapons)) anm=0;
|
||||
c=def_border(5,WINCOLOR);
|
||||
def_dialoge(220,80,410,350,"Oprava £daj– o p©edmˆtu");
|
||||
def_dialoge(220,80,410,350,"Oprava <EFBFBD>daj<EFBFBD> o p<>edm<64>tu");
|
||||
curfont=vga_font;
|
||||
default_font=curfont;
|
||||
define(-1,5,20,50,10,0,label,"Jm‚no (31 znak–)");
|
||||
define(-1,5,20,50,10,0,label,"Jm<EFBFBD>no (31 znak<61>)");
|
||||
define(15,10,35,288,12,0,input_line,31);set_default(it->jmeno);
|
||||
property(def_border(2,WINCOLOR),NULL,flat_color(RGB555(16,0,0)),WINCOLOR);
|
||||
define(-1,5,50,50,10,0,label,"Popis (31 znak–)");
|
||||
define(-1,5,50,50,10,0,label,"Popis (31 znak<EFBFBD>)");
|
||||
define(20,10,65,380,12,0,input_line,31);set_default(it->popis);
|
||||
property(def_border(2,WINCOLOR),NULL,flat_color(0xF),WINCOLOR);
|
||||
define(5,0,0,0,0,0,value_store,4);set_default(&it);
|
||||
define(30,10,30,80,20,1,button,"Vlastnosti");
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);on_change(otevri_vlastnosti);
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);on_control_change(otevri_vlastnosti);
|
||||
define(-1,5,80,100,10,0,label,"Hmotnost");
|
||||
define(-1,5,95,100,10,0,label,"Nosnost");
|
||||
define(-1,5,110,100,10,0,label,"ID Kl¡‡e");
|
||||
define(-1,5,110,100,10,0,label,"ID Kl<EFBFBD><EFBFBD>e");
|
||||
define(-1,5,125,100,10,0,label,"?Hodnota");
|
||||
define(-1,5,140,100,10,0,label,"€.Ud losti");
|
||||
define(-1,5,140,100,10,0,label,"<EFBFBD>.Ud<55>losti");
|
||||
define(-1,5,155,100,10,0,label,"Druh");
|
||||
def_border(5,WINCOLOR);
|
||||
define(40,105,80,60,12,0,input_line,7,-32767,+32767,"%6d");
|
||||
|
@ -626,7 +626,7 @@ void item_edit(TITEM *it)
|
|||
on_enter(string_list_sup);c_default(it->druh);
|
||||
define(-1,105,80,100,10,1,label,"Kouzlo:");
|
||||
define(-1,105,95,100,10,1,label,"Mana celk:");
|
||||
define(-1,105,110,100,10,1,label,"Cena vˆci");
|
||||
define(-1,105,110,100,10,1,label,"Cena v<EFBFBD>ci");
|
||||
define(-1,105,125,100,10,1,label,"Poloha1(XY)");
|
||||
define(-1,105,140,100,10,1,label,"Poloha2(XY)");
|
||||
define(100,55,80,50,12,1,input_line,7,-32767,32767,"%6d");on_exit(test_int);
|
||||
|
@ -643,29 +643,29 @@ void item_edit(TITEM *it)
|
|||
property(c,NULL,NULL,WINCOLOR);set_default(strs(it->polohy[1][0]));on_event(adjust_enter);
|
||||
define(170,5,140,45,12,1,input_line,7,-32767,32767,"%5d");on_exit(test_int);
|
||||
property(c,NULL,NULL,WINCOLOR);set_default(strs(it->polohy[1][1]));on_event(adjust_enter);
|
||||
define(175,5,155,60,20,1,button,"Zobraz");on_change(items_adjusting);
|
||||
define(175,5,155,60,20,1,button,"Zobraz");on_control_change(items_adjusting);
|
||||
define(180,80,175,220,12,0,str_line,umisteni_veci);property(c,NULL,NULL,WINCOLOR);
|
||||
on_enter(string_list_sup);c_default(it->umisteni);
|
||||
define(200,80,190,220,12,0,str_line,typy_zbrani);property(c,NULL,NULL,WINCOLOR);
|
||||
on_enter(string_list_sup);c_default(it->typ_zbrane);
|
||||
define(210,80,205,220,10,0,check_box,"P©i dopadu se zni‡¡");
|
||||
define(220,80,217,220,10,0,check_box,"Existuje dokud je pou‘¡v n");
|
||||
define(210,80,205,220,10,0,check_box,"P<EFBFBD>i dopadu se zni<6E><69>");
|
||||
define(220,80,217,220,10,0,check_box,"Existuje dokud je pou<EFBFBD><EFBFBD>v<EFBFBD>n");
|
||||
define(130,10,180,45,55,0,ikona);c_default(it->ikona);
|
||||
property(c,NULL,NULL,0);on_change(change_item_ikone);
|
||||
define(-1,150,25,120,12,2,label,"Obr zkov˜ script");
|
||||
property(c,NULL,NULL,0);on_control_change(change_item_ikone);
|
||||
define(-1,150,25,120,12,2,label,"Obr<EFBFBD>zkov<EFBFBD> script");
|
||||
define(190,150,10,120,12,2,str_line,vzhled_veci);property(c,NULL,NULL,WINCOLOR);
|
||||
c_default(it->vzhled); on_enter(string_list_sup);
|
||||
define(-1,150,60,120,12,2,label,"Animace zbranˆ");
|
||||
define(-1,150,60,120,12,2,label,"Animace zbran<EFBFBD>");
|
||||
define(400,150,45,120,12,2,str_line,weapons);property(c,NULL,NULL,WINCOLOR);
|
||||
c_default(anm); on_enter(string_list_sup);on_change(update_hitpos);
|
||||
c_default(anm); on_enter(string_list_sup);on_control_change(update_hitpos);
|
||||
define(-1,10,45,1,12,3,label,"Hit Pos:");
|
||||
define(410,90,45,40,12,3,input_line,7,0,255,"%4d");on_exit(test_int);
|
||||
property(c,NULL,NULL,WINCOLOR);set_default(strs(it->hitpos));
|
||||
define(300,10,35,80,20,2,button,"Ulo‘");property(def_border(1,0),NULL,NULL,RGB555(0,20,0));on_change(save_edited_item);
|
||||
define(320,10,70,80,20,2,button,"Zvuk");property(def_border(1,0),NULL,NULL,WINCOLOR);on_change(item_sound);
|
||||
define(330,10,10,80,20,2,button,"Zru¨it");property(def_border(1,0),NULL,flat_color(RGB555(31,31,31)),RGB555(20,0,0));on_change(terminate);
|
||||
define(310,10,10,80,20,3,button,"Special");property(def_border(1,0),NULL,NULL,WINCOLOR);on_change(otevri_special);
|
||||
define(340,10,95,80,20,2,button,"Aff");property(def_border(1,0),NULL,NULL,WINCOLOR);on_change(spell_affections);
|
||||
define(300,10,35,80,20,2,button,"Ulo<EFBFBD>");property(def_border(1,0),NULL,NULL,RGB555(0,20,0));on_control_change(save_edited_item);
|
||||
define(320,10,70,80,20,2,button,"Zvuk");property(def_border(1,0),NULL,NULL,WINCOLOR);on_control_change(item_sound);
|
||||
define(330,10,10,80,20,2,button,"Zru<EFBFBD>it");property(def_border(1,0),NULL,flat_color(RGB555(31,31,31)),RGB555(20,0,0));on_control_change(terminate_gui);
|
||||
define(310,10,10,80,20,3,button,"Special");property(def_border(1,0),NULL,NULL,WINCOLOR);on_control_change(otevri_special);
|
||||
define(340,10,95,80,20,2,button,"Aff");property(def_border(1,0),NULL,NULL,WINCOLOR);on_control_change(spell_affections);
|
||||
define(700,0,0,0,0,0,value_store,4);c_default(it->zmeny[VLS_KOUZLA]);
|
||||
redraw_window();
|
||||
fill_bit_fields(0,210,it->flags,2);
|
||||
|
@ -695,7 +695,7 @@ void create_ibuffer_list()
|
|||
else sprintf(c,"%3d %s",i,q->jmeno);
|
||||
if (str_replace(&ls_buffer,i,c)==NULL) return;
|
||||
}
|
||||
if (i==0) str_replace(&ls_buffer,0," -1 <‘adn‚ p©edmˆty>");
|
||||
if (i==0) str_replace(&ls_buffer,0," -1 <<EFBFBD>adn<EFBFBD> p<>edm<64>ty>");
|
||||
str_delfreelines(&ls_buffer);
|
||||
}
|
||||
|
||||
|
@ -716,7 +716,7 @@ void create_isort_list(TSTR_LIST *ls_sorts,int filter)
|
|||
cc=1;
|
||||
}
|
||||
}
|
||||
if (!cc) str_replace(ls_sorts,0," -1 <‘adn‚ vzory>");
|
||||
if (!cc) str_replace(ls_sorts,0," -1 <<EFBFBD>adn<EFBFBD> vzory>");
|
||||
str_delfreelines(ls_sorts);
|
||||
}
|
||||
|
||||
|
@ -732,7 +732,7 @@ void save_items()
|
|||
f=fopen(ITEMS_DAT,"wb");
|
||||
if (f==NULL)
|
||||
{
|
||||
msg_box("Chyba",'\x1',"Nemohu ulo‘it vzory p©edmˆt–","Panika",NULL);
|
||||
msg_box("Chyba",'\x1',"Nemohu ulo<EFBFBD>it vzory p<>edm<64>t<EFBFBD>","Panika",NULL);
|
||||
return;
|
||||
}
|
||||
save_section(f,item_list,SV_ITLIST,sizeof(TITEM)*max_items);
|
||||
|
@ -817,7 +817,7 @@ void clone_item()
|
|||
j=aloc_free_item();
|
||||
if (j==-1)
|
||||
{
|
||||
msg_box("Nelze!",'\0x1',"MAPEDIT je omezen na po‡et v¨ech mo‘n˜ch vzor– ve h©e","Ok",NULL);
|
||||
msg_box("Nelze!",'\0x1',"MAPEDIT je omezen na po<EFBFBD>et v<>ech mo<6D>n<EFBFBD>ch vzor<6F> ve h<>e","Ok",NULL);
|
||||
return;
|
||||
}
|
||||
i=f_get_value(0,9);
|
||||
|
@ -853,11 +853,11 @@ void delete_item_sort()
|
|||
i=f_get_value(0,9);
|
||||
sscanf(ls_sorts[i],"%d",&i);
|
||||
if (i<0 || i>=max_items) return;
|
||||
if (msg_box("Dotaz?",'\x02',"Opravdu m ¨ v £myslu vymazat tento vzor? Je mo‘n‚,"
|
||||
" ‘e na tento vzor se odvol v j¡ p©edmˆty v jin‚ mapˆ. MAPEDIT je "
|
||||
"nem–‘e vymazat, a mohou se dal¨¡ pr c¡ zmˆnit v p©edmˆt jin˜!",
|
||||
"P©esto vymazat","Zru¨it",NULL)==2) return;
|
||||
strcpy(item_list[i].jmeno,"??? Vymaz n");
|
||||
if (msg_box("Dotaz?",'\x02',"Opravdu m<EFBFBD><EFBFBD> v <20>myslu vymazat tento vzor? Je mo<6D>n<EFBFBD>,"
|
||||
" <EFBFBD>e na tento vzor se odvol<6F>v<EFBFBD>j<EFBFBD> p<>edm<64>ty v jin<69> map<61>. MAPEDIT je "
|
||||
"nem<EFBFBD><EFBFBD>e vymazat, a mohou se dal<61><6C> pr<70>c<EFBFBD> zm<7A>nit v p<>edm<64>t jin<69>!",
|
||||
"P<EFBFBD>esto vymazat","Zru<EFBFBD>it",NULL)==2) return;
|
||||
strcpy(item_list[i].jmeno,"??? Vymaz<EFBFBD>n");
|
||||
while (max_items && item_list[max_items-1].jmeno[0]=='?') max_items--;
|
||||
create_isort_list(&ls_sorts,grep_num);
|
||||
send_message(E_GUI,9,E_CONTROL,1,ls_sorts);
|
||||
|
@ -899,27 +899,27 @@ void open_item_win()
|
|||
default_font=vga_font;
|
||||
memcpy(f_default,flat_color(0x0000),sizeof(charcolors));
|
||||
memcpy(&f_sel,flat_color(RGB555(0,0,24)),sizeof(charcolors));
|
||||
item_win=def_window(200,300,"P©edmˆty");
|
||||
item_win=def_window(200,300,"P<EFBFBD>edm<EFBFBD>ty");
|
||||
waktual->y=2;waktual->x=SCR_WIDTH_X-20-160-3;
|
||||
waktual->minsizx=120;
|
||||
waktual->minsizy=100;
|
||||
on_change(close_current);
|
||||
on_control_change(close_current);
|
||||
define(9,5,20,170,240,0,listbox,ls_buffer,RGB555(31,31,0),0);c_default(0);
|
||||
property(&b2,NULL,&f_sel,WINCOLOR);
|
||||
o_end->autoresizex=1;
|
||||
o_end->autoresizey=1;
|
||||
define(10,3,41,19,198,1,scroll_bar_v,0,10,1,SCROLLBARCOL);
|
||||
property(&b2,NULL,NULL,WINCOLOR);on_change(scroll_support);
|
||||
property(&b2,NULL,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
o_end->autoresizey=1;
|
||||
define(11,3,20,19,19,1,scroll_button,-1,0,"\x1e");
|
||||
property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(12,3,40,19,19,2,scroll_button,1,10,"\x1f");
|
||||
property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(20,3,1,10,10,2,resizer);
|
||||
define(30,5,10,50,20,3,button,"P©ekr.");
|
||||
property(&b1,NULL,NULL,WINCOLOR);on_change(refresh_itm);
|
||||
define(30,60,10,50,20,3,button,"Vyma‘");
|
||||
property(&b1,NULL,NULL,WINCOLOR);on_change(it_kos);
|
||||
define(30,5,10,50,20,3,button,"P<EFBFBD>ekr.");
|
||||
property(&b1,NULL,NULL,WINCOLOR);on_control_change(refresh_itm);
|
||||
define(30,60,10,50,20,3,button,"Vyma<EFBFBD>");
|
||||
property(&b1,NULL,NULL,WINCOLOR);on_control_change(it_kos);
|
||||
movesize_win(waktual,waktual->x,waktual->y,waktual->xs,150);
|
||||
redraw_window();
|
||||
|
||||
|
@ -934,7 +934,7 @@ void umisti_item()
|
|||
|
||||
if (selected_place==-1)
|
||||
{
|
||||
msg_box("Nic nen¡ vybr no",'\x01',"Nejd©¡ve klikni my¨¡ na mapˆ, na m¡sto kam chce¨ p©edmˆt um¡stit","Ok",NULL);
|
||||
msg_box("Nic nen<EFBFBD> vybr<62>no",'\x01',"Nejd<EFBFBD><EFBFBD>ve klikni my<6D><79> na map<61>, na m<>sto kam chce<63> p<>edm<64>t um<75>stit","Ok",NULL);
|
||||
return;
|
||||
}
|
||||
i=f_get_value(0,9);
|
||||
|
@ -942,7 +942,7 @@ void umisti_item()
|
|||
for(j=0;j<ITEM_BUFFER && item_buffer[j];j++);
|
||||
if (j==ITEM_BUFFER)
|
||||
{
|
||||
msg_box("Omezeni.",' ',"MAPEDIT omezil po‡et p©edmˆt– na jednom poli‡ku. Dal¨¡ ji‘ nelze vlo‘it","Ok",NULL);
|
||||
msg_box("Omezeni.",' ',"MAPEDIT omezil po<EFBFBD>et p<>edm<64>t<EFBFBD> na jednom poli<6C>ku. Dal<61><6C> ji<6A> nelze vlo<6C>it","Ok",NULL);
|
||||
return;
|
||||
}
|
||||
item_buffer[j]=i+1;
|
||||
|
@ -970,7 +970,7 @@ void vloz_do_item()
|
|||
void inv_testmap()
|
||||
{
|
||||
if (selected_place<0)
|
||||
msg_box("Nic nen¡ vybr no",'\x01',"Nejd©¡ve klikni my¨¡ na mapˆ, na m¡sto kde chce¨ za‡¡t","Ok",NULL);
|
||||
msg_box("Nic nen<EFBFBD> vybr<62>no",'\x01',"Nejd<EFBFBD><EFBFBD>ve klikni my<6D><79> na map<61>, na m<>sto kde chce<63> za<7A><61>t","Ok",NULL);
|
||||
else
|
||||
call_testmap(selected_place/4);
|
||||
}
|
||||
|
@ -1007,35 +1007,35 @@ void editor_vzoru()
|
|||
vzor_win=def_window(200,370,"Vzory");
|
||||
waktual->minsizx=130;
|
||||
waktual->minsizy=170;
|
||||
on_change(close_current);
|
||||
on_control_change(close_current);
|
||||
define(9,5,20,170,240,0,listbox,ls_sorts,RGB555(31,31,0),0);c_default(0);
|
||||
property(&b2,NULL,&f_sel,WINCOLOR);
|
||||
o_end->autoresizex=1;
|
||||
o_end->autoresizey=1;
|
||||
define(10,3,41,19,198,1,scroll_bar_v,0,10,1,SCROLLBARCOL);
|
||||
property(&b2,NULL,NULL,WINCOLOR);on_change(scroll_support);
|
||||
property(&b2,NULL,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
o_end->autoresizey=1;
|
||||
define(11,3,20,19,19,1,scroll_button,-1,0,"\x1e");
|
||||
property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(12,3,110,19,19,2,scroll_button,1,10,"\x1f");
|
||||
property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(20,3,1,10,10,2,resizer);
|
||||
define(30,5,35,50,20,3,button,"Vyma‘");on_change(delete_item_sort);
|
||||
define(30,5,35,50,20,3,button,"Vyma<EFBFBD>");on_control_change(delete_item_sort);
|
||||
property(&b1,NULL,NULL,WINCOLOR);
|
||||
define(40,5,60,50,20,3,button,"Klonuj");on_change(clone_item);
|
||||
define(40,5,60,50,20,3,button,"Klonuj");on_control_change(clone_item);
|
||||
property(&b1,NULL,NULL,WINCOLOR);
|
||||
define(50,5,85,50,20,3,button,"Oprav");on_change(edit_selected_item);
|
||||
define(50,5,85,50,20,3,button,"Oprav");on_control_change(edit_selected_item);
|
||||
property(&b1,NULL,NULL,WINCOLOR);
|
||||
define(60,10,35,60,20,2,button,"Um¡stit");on_change(umisti_item);
|
||||
define(60,10,35,60,20,2,button,"Um<EFBFBD>stit");on_control_change(umisti_item);
|
||||
property(&b1,NULL,NULL,WINCOLOR);
|
||||
define(70,10,60,60,20,2,button,"Vlo‘ do");on_change(vloz_do_item);
|
||||
define(70,10,60,60,20,2,button,"Vlo<EFBFBD> do");on_control_change(vloz_do_item);
|
||||
property(&b1,NULL,NULL,WINCOLOR);
|
||||
define(80,10,85,60,20,2,button,"Test");on_change(inv_testmap);
|
||||
define(80,10,85,60,20,2,button,"Test");on_control_change(inv_testmap);
|
||||
property(&b1,NULL,NULL,WINCOLOR);
|
||||
define(90,5,10,170,12,3,str_line,typy_veci);c_default(grep_num>-1?grep_num:0);
|
||||
property(&b2,NULL,&f_sel,WINCOLOR);on_enter(string_list_sup);on_change(change_grep);
|
||||
property(&b2,NULL,&f_sel,WINCOLOR);on_enter(string_list_sup);on_control_change(change_grep);
|
||||
o_end->autoresizex=1;
|
||||
define(100,10,10,10,10,2,check_box,"");c_default(grep_num>-1);on_change(change_grep);
|
||||
define(100,10,10,10,10,2,check_box,"");c_default(grep_num>-1);on_control_change(change_grep);
|
||||
movesize_win(waktual,waktual->x,160,waktual->xs,SCR_WIDTH_Y-20-160);
|
||||
redraw_window();
|
||||
}
|
||||
|
@ -1198,7 +1198,7 @@ void re_build_shop_list(TSTR_LIST *ls,TSHOP *p, int count)
|
|||
str_add(ls,s);
|
||||
p++;
|
||||
}
|
||||
str_add(ls,"<nov˜ obchod>");
|
||||
str_add(ls,"<nov<EFBFBD> obchod>");
|
||||
}
|
||||
|
||||
|
||||
|
@ -1218,7 +1218,7 @@ void re_build_item_list(TSTR_LIST *ls,TPRODUCT *p,int count)
|
|||
*ls=create_list(16);
|
||||
if (!count || p==NULL)
|
||||
{
|
||||
str_add(ls,"<‘ dn˜ p©edmˆt>");
|
||||
str_add(ls,"<<EFBFBD><EFBFBD>dn<EFBFBD> p<>edm<64>t>");
|
||||
return;
|
||||
}
|
||||
while (count--)
|
||||
|
@ -1229,7 +1229,7 @@ void re_build_item_list(TSTR_LIST *ls,TPRODUCT *p,int count)
|
|||
d=p->item;
|
||||
if (p->trade_flags & SHP_TYPE)
|
||||
sprintf(s,"typ: <%s>",typy_veci[d]);
|
||||
else if (d>=max_items) strcpy(s,"<p©edmˆt vymaz n!>");
|
||||
else if (d>=max_items) strcpy(s,"<p<EFBFBD>edm<EFBFBD>t vymaz<61>n!>");
|
||||
else
|
||||
sprintf(s,"%c%c%c%c %s (%d)",(p->trade_flags & SHP_SELL?'P':219),
|
||||
(p->trade_flags & SHP_BUY?'N':219),
|
||||
|
@ -1270,17 +1270,17 @@ static void close_edit_shop()
|
|||
p->spec_max=vals(230);
|
||||
if (s[0]==0)
|
||||
{
|
||||
msg_box("Editor obchod–",'\x1',"Obchod mus¡ m¡t sv‚ho prodava‡e (shopkeeppera). Obchod bude ozna‡en jako smazan˜.","Ok",NULL);
|
||||
strcpy(s,"*vymaz n*");
|
||||
msg_box("Editor obchod<EFBFBD>",'\x1',"Obchod mus<EFBFBD> m<>t sv<73>ho prodava<76>e (shopkeeppera). Obchod bude ozna<6E>en jako smazan<61>.","Ok",NULL);
|
||||
strcpy(s,"*vymaz<EFBFBD>n*");
|
||||
}
|
||||
if (s[0]=='<')
|
||||
{
|
||||
msg_box("Editor obchod–",'\x1',"Obchodn¡k m neplatn‚ jm‚no","Ok",NULL);
|
||||
msg_box("Editor obchod<EFBFBD>",'\x1',"Obchodn<EFBFBD>k m<> neplatn<74> jm<6A>no","Ok",NULL);
|
||||
return;
|
||||
}
|
||||
strcpy(p->keeper,s);
|
||||
if (!p->products && s[0]!='*')
|
||||
msg_box("Editor obchod–",'\x1',"S ni‡¡m se neobchoduje. Nejsou definov ny ‘ dn‚ produkty. Tato situace m–‘e v‚st ke krachu hry!","Beru na vˆdom¡",NULL);
|
||||
msg_box("Editor obchod<EFBFBD>",'\x1',"S ni<EFBFBD><EFBFBD>m se neobchoduje. Nejsou definov<6F>ny <20><>dn<64> produkty. Tato situace m<><6D>e v<>st ke krachu hry!","Beru na v<>dom<6F>",NULL);
|
||||
send_message(E_GUI,9,E_CONTROL,0,&ls);
|
||||
release_list(ls);
|
||||
close_current();
|
||||
|
@ -1428,42 +1428,42 @@ void edit_shop(int i)
|
|||
re_build_item_list(&ls,shp->list,shp->products);
|
||||
memcpy(&ctl1,def_border(1,0),sizeof(ctl1));
|
||||
memcpy(&ctl2,def_border(2,WINCOLOR),sizeof(ctl2));
|
||||
def_window(400,300,"Editor obchod–");
|
||||
on_change(close_edit_shop);
|
||||
def_window(400,300,"Editor obchod<EFBFBD>");
|
||||
on_control_change(close_edit_shop);
|
||||
define(500,0,0,0,0,0,value_store,4);c_default(i);
|
||||
define(9,10,20,200,166,0,listbox,ls,RGB555(31,31,31),0);
|
||||
property(&ctl1,NULL,NULL,WINCOLOR);c_default(0);on_change(show_selected);
|
||||
property(&ctl1,NULL,NULL,WINCOLOR);c_default(0);on_control_change(show_selected);
|
||||
define(10,217,40,19,127,0,scroll_bar_v,0,10,1,SCROLLBARCOL);
|
||||
property(&ctl1,NULL,NULL,WINCOLOR);
|
||||
define(11,216,20,21,17,0,scroll_button,-1,0,"\x1e");
|
||||
property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(12,216,170,21,17,0,scroll_button,1,10,"\x1f");
|
||||
property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
define(20,75,30,60,20,1,button,"Vo‘it");property(&ctl1,NULL,NULL,WINCOLOR);on_change(add_item);
|
||||
define(60,75,55,60,20,1,button,"P©epsat");property(&ctl1,NULL,NULL,WINCOLOR);on_change(rewrite_item);
|
||||
define(30,10,30,60,20,1,button,"Typ");property(&ctl1,NULL,NULL,WINCOLOR);on_change(add_type);
|
||||
define(40,10,55,60,20,1,button,"Odebrat");property(&ctl1,NULL,NULL,WINCOLOR);on_change(remove_item);
|
||||
define(50,10,10,80,20,2,button,"Zav©¡t");property(&ctl1,NULL,NULL,WINCOLOR);on_change(close_edit_shop);
|
||||
property(NULL,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(20,75,30,60,20,1,button,"Vo<EFBFBD>it");property(&ctl1,NULL,NULL,WINCOLOR);on_control_change(add_item);
|
||||
define(60,75,55,60,20,1,button,"P<EFBFBD>epsat");property(&ctl1,NULL,NULL,WINCOLOR);on_control_change(rewrite_item);
|
||||
define(30,10,30,60,20,1,button,"Typ");property(&ctl1,NULL,NULL,WINCOLOR);on_control_change(add_type);
|
||||
define(40,10,55,60,20,1,button,"Odebrat");property(&ctl1,NULL,NULL,WINCOLOR);on_control_change(remove_item);
|
||||
define(50,10,10,80,20,2,button,"Zav<EFBFBD><EFBFBD>t");property(&ctl1,NULL,NULL,WINCOLOR);on_control_change(close_edit_shop);
|
||||
define(100,10,80,150,12,1,str_line,shop_items);property(&ctl2,NULL,NULL,WINCOLOR);
|
||||
c_default(0); on_enter(string_list_sup);on_change(zjisti_cenu);
|
||||
c_default(0); on_enter(string_list_sup);on_control_change(zjisti_cenu);
|
||||
define(-1,155,100,1,1,1,label,"Cena:");
|
||||
define(110,10,100,90,12,1,input_line,10,0,9999999,"%7d");property(&ctl2,NULL,NULL,WINCOLOR);
|
||||
set_default(strs(item_list[0].cena));on_exit(test_int);
|
||||
define(-1,155,120,1,1,1,label,"Po‡et:");
|
||||
define(-1,155,120,1,1,1,label,"Po<EFBFBD>et:");
|
||||
define(120,10,120,90,12,1,input_line,10,-1,9999999,"%7d");property(&ctl2,NULL,NULL,WINCOLOR);
|
||||
set_default(strs(1));on_exit(test_int);
|
||||
define(130,10,135,150,10,1,check_box,"Prod vat");c_default(1);
|
||||
define(130,10,135,150,10,1,check_box,"Prod<EFBFBD>vat");c_default(1);
|
||||
define(140,10,147,150,10,1,check_box,"Nakupovat");c_default(0);
|
||||
define(150,10,159,150,10,1,check_box,"Zbo‘¡ p©ib˜v ");c_default(0);
|
||||
define(160,10,171,150,10,1,check_box,"Nen¡ v‘dy na skladˆ");c_default(0);
|
||||
define(150,10,159,150,10,1,check_box,"Zbo<EFBFBD><EFBFBD> p<>ib<69>v<EFBFBD>");c_default(0);
|
||||
define(160,10,171,150,10,1,check_box,"Nen<EFBFBD> v<>dy na sklad<61>");c_default(0);
|
||||
define(-1,10,200,1,1,0,label,"Shopkeeper:");
|
||||
define(200,100,200,200,12,0,input_line,15);set_default(shp->keeper);property(&ctl2,NULL,NULL,WINCOLOR);
|
||||
define(-1,10,220,1,1,0,label,"Obr zek:");
|
||||
define(-1,10,220,1,1,0,label,"Obr<EFBFBD>zek:");
|
||||
define(210,100,220,100,12,0,input_line,12);set_default(shp->picture);property(&ctl2,NULL,NULL,WINCOLOR);
|
||||
define(215,220,218,80,14,0,button,"Nalistuj");property(&ctl1,NULL,NULL,WINCOLOR);on_change(browse_dialogs);
|
||||
define(215,220,218,80,14,0,button,"Nalistuj");property(&ctl1,NULL,NULL,WINCOLOR);on_control_change(browse_dialogs);
|
||||
define(-1,10,240,1,1,0,label,"Rozptyl cen +/- [%]");
|
||||
define(220,150,240,60,12,0,input_line,6,0,100,"%5d");set_default(strs(shp->koef));on_exit(test_int);property(&ctl2,NULL,NULL,WINCOLOR);
|
||||
define(-1,220,240,1,1,0,label,"Po‡et spec:");
|
||||
define(-1,220,240,1,1,0,label,"Po<EFBFBD>et spec:");
|
||||
define(230,320,240,60,12,0,input_line,6,0,100,"%5d");set_default(strs(shp->spec_max));on_exit(test_int);property(&ctl2,NULL,NULL,WINCOLOR);
|
||||
{
|
||||
char s[50];
|
||||
|
@ -1482,7 +1482,7 @@ static void close_shop_list()
|
|||
send_message(E_GUI,9,E_CONTROL,0,&ls);
|
||||
for(i=0;i<max_shops;i++) if (shopstate[i]==1)
|
||||
{
|
||||
msg_box("Toto okno nelze uzav©¡t!",'\x1',"Program ‡ek na dokon‡en¡ prace v nˆkter‚m z pod©¡zen˜ch oken","Ok",NULL);
|
||||
msg_box("Toto okno nelze uzav<EFBFBD><EFBFBD>t!",'\x1',"Program <EFBFBD>ek<EFBFBD> na dokon<6F>en<65> prace v n<>kter<65>m z pod<6F><64>zen<65>ch oken","Ok",NULL);
|
||||
return;
|
||||
}
|
||||
for(i=0;i<max_shops;)
|
||||
|
@ -1523,7 +1523,7 @@ void open_shop_editor()
|
|||
if (ls[i]==NULL) return;
|
||||
if (shopstate[i]==1)
|
||||
{
|
||||
msg_box("Seznam obchod–",'\x1',"Tento obchod je ji‘ opravov n v jin‚m oknˆ. Nelze jej znovu otev©¡t","Ok",NULL);
|
||||
msg_box("Seznam obchod<EFBFBD>",'\x1',"Tento obchod je ji<EFBFBD> opravov<6F>n v jin<69>m okn<6B>. Nelze jej znovu otev<65><76>t","Ok",NULL);
|
||||
return;
|
||||
}
|
||||
shopstate[i]=1;
|
||||
|
@ -1545,12 +1545,12 @@ static void erase_shop()
|
|||
if (ls[i]==NULL) return;
|
||||
if (ls[i][0]=='<')
|
||||
{
|
||||
msg_box("Seznam obchod–",'\x1',"Tento obchod je opravov n v jin‚m oknˆ. Nelze jej vymazat","Ok",NULL);
|
||||
msg_box("Seznam obchod<EFBFBD>",'\x1',"Tento obchod je opravov<EFBFBD>n v jin<69>m okn<6B>. Nelze jej vymazat","Ok",NULL);
|
||||
return;
|
||||
}
|
||||
if (msg_box("Vymazat obchod?",'\x2',"Opravdu chce¨ vymazat obchod?","Ano","Ne",NULL)==2) return;
|
||||
if (msg_box("Vymazat obchod?",'\x2',"Opravdu chce<EFBFBD> vymazat obchod?","Ano","Ne",NULL)==2) return;
|
||||
p=shop_list+i;
|
||||
strcpy(p->keeper,"*vymaz n*");
|
||||
strcpy(p->keeper,"*vymaz<EFBFBD>n*");
|
||||
re_build_shop_list(&ls,shop_list,max_shops);
|
||||
send_message(E_GUI,9,E_CONTROL,1,ls);
|
||||
}
|
||||
|
@ -1570,18 +1570,18 @@ void open_shop_list()
|
|||
ls_sorts=NULL;
|
||||
re_build_shop_list(&ls,shop_list,max_shops);
|
||||
memcpy(&ctl1,def_border(1,0),sizeof(ctl1));
|
||||
shop_window=def_window(250,220,"Seznam obchod–");
|
||||
on_change(close_shop_list);
|
||||
shop_window=def_window(250,220,"Seznam obchod<EFBFBD>");
|
||||
on_control_change(close_shop_list);
|
||||
define(9,10,20,200,166,0,listbox,ls,RGB555(31,31,31),0);
|
||||
property(&ctl1,NULL,NULL,WINCOLOR);c_default(0);//on_change(edit_shop_item);
|
||||
define(10,217,40,19,127,0,scroll_bar_v,0,10,1,SCROLLBARCOL);
|
||||
property(&ctl1,NULL,NULL,WINCOLOR);
|
||||
define(11,216,20,21,17,0,scroll_button,-1,0,"\x1e");
|
||||
property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(12,216,170,21,17,0,scroll_button,1,10,"\x1f");
|
||||
property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
define(200,5,5,70,20,3,button,"Oprava");on_change(open_shop_editor);property(&ctl1,NULL,NULL,WINCOLOR);
|
||||
define(210,80,5,70,20,3,button,"Vymazat");on_change(erase_shop);property(&ctl1,NULL,NULL,WINCOLOR);
|
||||
property(NULL,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(200,5,5,70,20,3,button,"Oprava");on_control_change(open_shop_editor);property(&ctl1,NULL,NULL,WINCOLOR);
|
||||
define(210,80,5,70,20,3,button,"Vymazat");on_control_change(erase_shop);property(&ctl1,NULL,NULL,WINCOLOR);
|
||||
movesize_win(waktual,10,10,250,220);
|
||||
}
|
||||
else select_window(shop_window);
|
||||
|
@ -1618,7 +1618,7 @@ void save_shop(TSHOP *p,FILE *f)
|
|||
{
|
||||
char s[300];
|
||||
|
||||
sprintf(s,"Duplicitn¡ p©edmˆt v definici v obchodu '%s'. Soubor obchodu bude ulo‘en, ale vlastn¡ hra m–‘e na tomto p©edmˆtu zkrachovat!",p->keeper);
|
||||
sprintf(s,"Duplicitn<EFBFBD> p<>edm<64>t v definici v obchodu '%s'. Soubor obchodu bude ulo<6C>en, ale vlastn<74> hra m<><6D>e na tomto p<>edm<64>tu zkrachovat!",p->keeper);
|
||||
msg_box("Shop edit",'\x1',s,"Ok",NULL);
|
||||
typs++;
|
||||
}
|
||||
|
|
|
@ -46,10 +46,10 @@ word icone_color[7]={RGB555(8,8,8),RGB555(31,31,31),RGB555(0,0,15),RGB555(16,16,
|
|||
extern word sipka;
|
||||
static char *error_texts[]=
|
||||
{
|
||||
"Progamov chyba",
|
||||
"Pr vˆ bˆ‘¡c¡ ud lost zp–sobila neplatnou referenci pamˆŸi!",
|
||||
"Pr vˆ bˆ‘¡c¡ ud lost zp–sobila zpracov n¡ neplatn‚ instrukce!",
|
||||
"Syst‚m zachytil neo‡ek vanou chybu programu!"
|
||||
"Progamov<EFBFBD> chyba",
|
||||
"Pr<EFBFBD>v<EFBFBD> b<><62><EFBFBD>c<EFBFBD> ud<75>lost zp<7A>sobila neplatnou referenci pam<61><6D>i!",
|
||||
"Pr<EFBFBD>v<EFBFBD> b<><62><EFBFBD>c<EFBFBD> ud<75>lost zp<7A>sobila zpracov<6F>n<EFBFBD> neplatn<74> instrukce!",
|
||||
"Syst<EFBFBD>m zachytil neo<65>ek<65>vanou chybu programu!"
|
||||
};
|
||||
|
||||
static char ask_exit_status;
|
||||
|
@ -123,7 +123,7 @@ EVENT_PROC(exit_key)
|
|||
WHEN_MSG(E_KEYBOARD)
|
||||
{
|
||||
c=GET_DATA(int);
|
||||
if ((c & 0xff)==0 && (c>>8)=='D') terminate();
|
||||
if ((c & 0xff)==0 && (c>>8)=='D') terminate_gui();
|
||||
if ((c & 0xff)==0 && (c>>8)==';') about();
|
||||
if ((c & 0xff)==0 && (c>>8)=='?') save_dump();
|
||||
if ((c & 0xff)==0 && (c>>8)=='<') movesize_test();
|
||||
|
@ -141,7 +141,7 @@ EVENT_PROC(wait_ms_key)
|
|||
WHEN_MSG(E_MOUSE)
|
||||
{
|
||||
ms=get_mouse(GET_MSG_VAR());
|
||||
if (ms->event_type & 4) terminate();
|
||||
if (ms->event_type & 4) terminate_gui();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -281,7 +281,7 @@ void prg_error(EVENT_MSG *msg,void **unused)
|
|||
}
|
||||
zobraz_mysku();
|
||||
showview(0,0,0,0);
|
||||
*err=2-msg_box(error_texts[0],' ',c,"Ignoruj","Konec","Ulo‘ mapu",NULL);
|
||||
*err=2-msg_box(error_texts[0],' ',c,"Ignoruj","Konec","Ulo<EFBFBD> mapu",NULL);
|
||||
if (*err==-1) save_all_map();
|
||||
}
|
||||
}
|
||||
|
@ -399,7 +399,7 @@ long def_window(word xs,word ys,char *name)
|
|||
if (xs>=70)
|
||||
{
|
||||
define(1,1,1,19,16,1,button,"\x0f");
|
||||
property(NULL,icones,&icone_color,WINCOLOR);on_change(close_test);
|
||||
property(NULL,icones,&icone_color,WINCOLOR);on_control_change(close_test);
|
||||
}
|
||||
return q;
|
||||
}
|
||||
|
@ -465,14 +465,14 @@ void about()
|
|||
define(-1,5,25,29,29,0,dtext,"\x8");property(NULL,icones,&c,WINCOLOR);
|
||||
define(-1,75,25,100,29,0,dtext,"MAPEDIT");property(NULL,NULL,&c2,WINCOLOR);
|
||||
define(-1,200,35,60,29,0,label,"verze 2.0");property(NULL,NULL,&c3,WINCOLOR);
|
||||
define(-1,20,80,200,10,0,label,"Naps no pro hru \"Br ny Skeldalu\"");
|
||||
define(-1,20,80,200,10,0,label,"Naps<EFBFBD>no pro hru \"Br<EFBFBD>ny Skeldalu\"");
|
||||
define(-1,20,92,200,10,0,label,"(C) 1997 Napoleon gameS ");
|
||||
define(-1,20,104,200,10,0,label,"Naprogamoval: Ond©ej Nov k ");
|
||||
define(-1,20,116,200,10,0,label,"Tento software sm¡ b˜t pou‘it jen");
|
||||
define(-1,20,128,200,10,0,label,"ve spojen¡ s v˜vojem hry \"Br ny");
|
||||
define(-1,20,140,200,10,0,label,"Skeldalu\" (a p©¡padn‚ dal¨¡ verze)");
|
||||
define(-1,20,152,200,10,0,label,"a to pouze ‡leny v˜vojov‚ho t˜mu.");
|
||||
define(10,110,170,80,20,0,button,"Ok");on_change(close_test);
|
||||
define(-1,20,104,200,10,0,label,"Naprogamoval: Ond<EFBFBD>ej Nov<6F>k ");
|
||||
define(-1,20,116,200,10,0,label,"Tento software sm<EFBFBD> b<>t pou<6F>it jen");
|
||||
define(-1,20,128,200,10,0,label,"ve spojen<EFBFBD> s v<>vojem hry \"Br<EFBFBD>ny");
|
||||
define(-1,20,140,200,10,0,label,"Skeldalu\" (a p<EFBFBD><EFBFBD>padn<EFBFBD> dal<61><6C> verze)");
|
||||
define(-1,20,152,200,10,0,label,"a to pouze <EFBFBD>leny v<>vojov<6F>ho t<>mu.");
|
||||
define(10,110,170,80,20,0,button,"Ok");on_control_change(close_test);
|
||||
}
|
||||
else select_window(about_win);
|
||||
redraw_window();
|
||||
|
@ -500,7 +500,7 @@ void close_app(void)
|
|||
desktop_add_window(w);
|
||||
define(-1,0,0,mx,my,0,fog_bar);property(NULL,NULL,NULL,RGB555(16,0,0));
|
||||
redraw_desktop();
|
||||
if ((ask_exit_status=msg_box("Dotaz?",'\x2',"Chce¨ program ukon‡it, nebo nahr t jinou mapu?","Jinou mapu","Ukon‡it","Ne",NULL))!=3) terminate();
|
||||
if ((ask_exit_status=msg_box("Dotaz?",'\x2',"Chce<EFBFBD> program ukon<6F>it, nebo nahr<68>t jinou mapu?","Jinou mapu","Ukon<EFBFBD>it","Ne",NULL))!=3) terminate_gui();
|
||||
close_window(w);
|
||||
do_events();
|
||||
}
|
||||
|
@ -563,11 +563,11 @@ void open_editor_win()
|
|||
if (find_window(editor_win)==NULL)
|
||||
{
|
||||
editor_win=def_window(100,150,"Editory");
|
||||
define(10,10,25,80,20,0,button,"map script");on_change(edit_script_file);
|
||||
define(20,10,50,80,20,0,button,"map texty");on_change(edit_script_file);
|
||||
define(30,10,75,80,20,0,button,"items.scr");on_change(edit_script_file);
|
||||
define(40,10,100,80,20,0,button,"items.pic");on_change(edit_script_file);
|
||||
define(50,10,125,80,20,0,button,"animator");on_change(call_animator);
|
||||
define(10,10,25,80,20,0,button,"map script");on_control_change(edit_script_file);
|
||||
define(20,10,50,80,20,0,button,"map texty");on_control_change(edit_script_file);
|
||||
define(30,10,75,80,20,0,button,"items.scr");on_control_change(edit_script_file);
|
||||
define(40,10,100,80,20,0,button,"items.pic");on_control_change(edit_script_file);
|
||||
define(50,10,125,80,20,0,button,"animator");on_control_change(call_animator);
|
||||
redraw_window();
|
||||
}
|
||||
else
|
||||
|
@ -583,27 +583,27 @@ void create_menu(void)
|
|||
menu_win=def_window(400,150,"Map Edit v2.0 for Windows - " MAPEDIT_VERSION );
|
||||
waktual->x=120;
|
||||
waktual->y=250;
|
||||
on_change(close_app);
|
||||
on_control_change(close_app);
|
||||
curcolor=WINCOLOR;
|
||||
default_font=icones;
|
||||
define(10,5,25,29,29,0,button,"\x8");property(NULL,NULL,&c,WINCOLOR);on_change(edit_basic_maze);
|
||||
define(20,5,55,29,29,0,button,"\x9");property(NULL,NULL,&c,WINCOLOR);on_change(editor_veci);
|
||||
define(30,5,85,29,29,0,button,"\xA");property(NULL,NULL,&c,WINCOLOR);on_change(enemy_window);
|
||||
define(10,5,25,29,29,0,button,"\x8");property(NULL,NULL,&c,WINCOLOR);on_control_change(edit_basic_maze);
|
||||
define(20,5,55,29,29,0,button,"\x9");property(NULL,NULL,&c,WINCOLOR);on_control_change(editor_veci);
|
||||
define(30,5,85,29,29,0,button,"\xA");property(NULL,NULL,&c,WINCOLOR);on_control_change(enemy_window);
|
||||
c[1]=RGB555(20,0,0);c[2]=RGB555(0,0,16);
|
||||
define(40,200,25,29,29,0,button,"e");property(NULL,NULL,&c,WINCOLOR);on_change(shop_train_edit);
|
||||
define(40,200,25,29,29,0,button,"e");property(NULL,NULL,&c,WINCOLOR);on_control_change(shop_train_edit);
|
||||
c[1]=RGB555(31,31,31);c[2]=RGB555(24,24,24);
|
||||
c[3]=RGB555(20,0,0);c[4]=RGB555(0,0,16);
|
||||
define(50,200,55,29,29,0,button,"E");property(NULL,NULL,&c,WINCOLOR);on_change(open_editor_win);
|
||||
define(60,200,85,29,29,0,button,"S");property(NULL,NULL,&c,WINCOLOR);on_change(save_all_map);
|
||||
define(70,5,115,29,29,0,button,"P");property(NULL,NULL,&c,WINCOLOR);on_change(pcxviewer);
|
||||
define(50,200,55,29,29,0,button,"E");property(NULL,NULL,&c,WINCOLOR);on_control_change(open_editor_win);
|
||||
define(60,200,85,29,29,0,button,"S");property(NULL,NULL,&c,WINCOLOR);on_control_change(save_all_map);
|
||||
define(70,5,115,29,29,0,button,"P");property(NULL,NULL,&c,WINCOLOR);on_control_change(pcxviewer);
|
||||
memcpy(c,flat_color(RGB555(0,0,15)),sizeof(FC_TABLE));
|
||||
define(-1,45,35,90,20,0,label,"Kreslen¡ mapy");property(NULL,vga_font,&c,WINCOLOR);
|
||||
define(-1,45,65,90,20,0,label,"Pokl d n¡ p©edmˆt–");property(NULL,vga_font,&c,WINCOLOR);
|
||||
define(-1,45,95,90,20,0,label,"Um¡sŸov n¡ nestv–r");property(NULL,vga_font,&c,WINCOLOR);
|
||||
define(-1,45,35,90,20,0,label,"Kreslen<EFBFBD> mapy");property(NULL,vga_font,&c,WINCOLOR);
|
||||
define(-1,45,65,90,20,0,label,"Pokl<EFBFBD>d<EFBFBD>n<EFBFBD> p<>edm<64>t<EFBFBD>");property(NULL,vga_font,&c,WINCOLOR);
|
||||
define(-1,45,95,90,20,0,label,"Um<EFBFBD>s<EFBFBD>ov<EFBFBD>n<EFBFBD> nestv<74>r");property(NULL,vga_font,&c,WINCOLOR);
|
||||
define(-1,240,35,90,20,0,label,"Obchody");property(NULL,vga_font,&c,WINCOLOR);
|
||||
define(-1,240,65,90,20,0,label,"Editor script–");property(NULL,vga_font,&c,WINCOLOR);
|
||||
define(-1,240,95,90,20,0,label,"Ulo‘en¡ mapy");property(NULL,vga_font,&c,WINCOLOR);
|
||||
define(-1,45,125,90,20,0,label,"Prohl¡‘e‡ PCX");property(NULL,vga_font,&c,WINCOLOR);
|
||||
define(-1,240,65,90,20,0,label,"Editor script<EFBFBD>");property(NULL,vga_font,&c,WINCOLOR);
|
||||
define(-1,240,95,90,20,0,label,"Ulo<EFBFBD>en<EFBFBD> mapy");property(NULL,vga_font,&c,WINCOLOR);
|
||||
define(-1,45,125,90,20,0,label,"Prohl<EFBFBD><EFBFBD>e<EFBFBD> PCX");property(NULL,vga_font,&c,WINCOLOR);
|
||||
default_font=vga_font;
|
||||
memcpy(f_default,flat_color(0x0000),sizeof(charcolors));
|
||||
//set_enable(0,20,0);
|
||||
|
@ -715,8 +715,8 @@ static ask_password_event(EVENT_MSG *msg,OBJREC *obj)
|
|||
WHEN_MSG(E_KEYBOARD)
|
||||
{
|
||||
char c=GET_DATA(char);
|
||||
if (c==13) {goto_control(20);terminate();}
|
||||
if (c==27) {goto_control(30);terminate();}
|
||||
if (c==13) {goto_control(20);terminate_gui();}
|
||||
if (c==27) {goto_control(30);terminate_gui();}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -726,19 +726,19 @@ char ask_password(char *pass,char text)
|
|||
|
||||
switch (text)
|
||||
{
|
||||
case 0:c="Provˆ©en¡";break;
|
||||
case 1:c="Zmˆna hesla";break;
|
||||
case 0:c="Prov<EFBFBD><EFBFBD>en<EFBFBD>";break;
|
||||
case 1:c="Zm<EFBFBD>na hesla";break;
|
||||
case 2:c="Kontrola";break;
|
||||
}
|
||||
def_dialoge(320-100,240-50,200,90,c);
|
||||
define(-1,10,20,1,1,0,label,"Vlo‘ heslo:");
|
||||
define(-1,10,20,1,1,0,label,"Vlo<EFBFBD> heslo:");
|
||||
define(10,10,40,180,12,0,input_line,49);
|
||||
property(def_border(3,WINCOLOR),NULL,flat_color(RGB555(31,31,31)),RGB555(8,8,8));
|
||||
if (text==1)set_default(pass);else set_default("");on_event(ask_password_event);
|
||||
define(20,5,5,50,20,2,button,"OK");
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);on_change(terminate);
|
||||
define(30,5,5,50,20,3,button,"Zru¨it");
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);on_change(terminate);
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);on_control_change(terminate_gui);
|
||||
define(30,5,5,50,20,3,button,"Zru<EFBFBD>it");
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);on_control_change(terminate_gui);
|
||||
redraw_window();
|
||||
goto_control(10);
|
||||
escape();
|
||||
|
@ -763,7 +763,7 @@ char check_data_password(void)
|
|||
if (ask_password(text,0)==0) return 0;
|
||||
if (strcmp(data_password,text))
|
||||
{
|
||||
msg_box("Chyba!",1,"Chybn‚ heslo! P©¡stup zam¡tnut!","OK",NULL);
|
||||
msg_box("Chyba!",1,"Chybn<EFBFBD> heslo! P<><50>stup zam<61>tnut!","OK",NULL);
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
|
@ -927,7 +927,7 @@ int main(int argc,char *argv[])
|
|||
init_maps();
|
||||
set_defaults();
|
||||
if (load_map(filename))
|
||||
msg_box(filename,'\01',"Tento soubor je buƒ ne‡iteln˜, nebo po¨kozen˜","Pokra‡ovat",NULL);
|
||||
msg_box(filename,'\01',"Tento soubor je bu<EFBFBD> ne<6E>iteln<6C>, nebo po<70>kozen<65>","Pokra<EFBFBD>ovat",NULL);
|
||||
if (check_password(NULL)==0)
|
||||
if (ask_password(test,0)==0 || check_password(test)==0)
|
||||
{
|
||||
|
@ -937,8 +937,8 @@ int main(int argc,char *argv[])
|
|||
}
|
||||
if (maplen<2)
|
||||
{
|
||||
sel=msg_box(filename,' ',"Soubor neexistuje, bude vytvo©en nov˜. Nyn¡ je nutn‚ nastavit z kladn¡ stˆny"
|
||||
" a jin‚ dal¨¡ parametry pro tuto mapu","Pokra‡ujem","Zav©it",NULL);
|
||||
sel=msg_box(filename,' ',"Soubor neexistuje, bude vytvo<EFBFBD>en nov<6F>. Nyn<79> je nutn<74> nastavit z<>kladn<64> st<73>ny"
|
||||
" a jin<EFBFBD> dal<61><6C> parametry pro tuto mapu","Pokra<EFBFBD>ujem","Zav<EFBFBD>it",NULL);
|
||||
if (sel==1)
|
||||
{
|
||||
newmap=1;
|
||||
|
|
170
MAPS/MAPY.C
170
MAPS/MAPY.C
|
@ -34,37 +34,37 @@ static char nocenter=0;
|
|||
#define MODRA RGB555(0,0,31)
|
||||
|
||||
char _actions []=
|
||||
"<‘ dn >\0"
|
||||
"Otev©i dve©e\0"
|
||||
"Zav©i dve©e\0"
|
||||
"Otev©i nebo zav©i\0"
|
||||
"Spusź animaci prim\0"
|
||||
"Uka‘ prim. st<73>nu\0"
|
||||
"Schovej prim.st<73>nu\0"
|
||||
"Uk/schov.pri.st<73>nu\0"
|
||||
"Spusź animaci sek.\0"
|
||||
"Uka‘ sek. st<73>nu\0"
|
||||
"Schovej sek. st<73>nu\0"
|
||||
"Uk/schov.sek.st<73>nu\0"
|
||||
"<<EFBFBD><EFBFBD>dn<EFBFBD>>\0"
|
||||
"Otev<EFBFBD>i dve<76>e\0"
|
||||
"Zav<EFBFBD>i dve<76>e\0"
|
||||
"Otev<EFBFBD>i nebo zav<61>i\0"
|
||||
"Spus<EFBFBD> animaci prim\0"
|
||||
"Uka<EFBFBD> prim. st<73>nu\0"
|
||||
"Schovej prim.st<73>nu\0"
|
||||
"Uk/schov.pri.st<73>nu\0"
|
||||
"Spus<EFBFBD> animaci sek.\0"
|
||||
"Uka<EFBFBD> sek. st<73>nu\0"
|
||||
"Schovej sek. st<73>nu\0"
|
||||
"Uk/schov.sek.st<73>nu\0"
|
||||
"Schovej prim.&sek.\0"
|
||||
"Zobraz text\0"
|
||||
"Kod.z mek (star<61>-Nepou‘ˇvat!)\0"
|
||||
"Otev©i teleport\0"
|
||||
"Uzav©i teleport\0"
|
||||
"Kodov<EFBFBD> z mek (log)\0"
|
||||
"Kod.z<EFBFBD>mek (star<61>-Nepou<6F><75>vat!)\0"
|
||||
"Otev<EFBFBD>i teleport\0"
|
||||
"Uzav<EFBFBD>i teleport\0"
|
||||
"Kodov<EFBFBD> z<EFBFBD>mek (log)\0"
|
||||
"Konec hry\0"
|
||||
"\\\0";
|
||||
|
||||
char chka[]={0,1,1,1,1,1,1,1,1,1,1,1,0};
|
||||
char _steny2 []="Severnˇ\0V<EFBFBD>chodnˇ\0Ji‘nˇ\0Z padnˇ\0\\\0";
|
||||
char _zivly []="Ohe¤\0Voda\0Zem<EFBFBD>\0Vzduch\0Mysl\0\\\0";
|
||||
char _steny2 []="Severn<EFBFBD>\0V<EFBFBD>chodn<EFBFBD>\0Ji<EFBFBD>n<EFBFBD>\0Z<EFBFBD>padn<EFBFBD>\0\\\0";
|
||||
char _zivly []="Ohe<EFBFBD>\0Voda\0Zem<EFBFBD>\0Vzduch\0Mysl\0\\\0";
|
||||
|
||||
char _sector_types[]=
|
||||
"!Voln<6C>!\0""Normalnˇ\0""Schody\0""Lo<EFBFBD>ka na vod<6F>\0""L va\0"
|
||||
"Sm<EFBFBD>r sever\0""Sm<EFBFBD>r v<>chod\0""Sm<EFBFBD>r jih\0""Sm<EFBFBD>r z pad\0""Voda\0""Sloup\0""Dira\0""Teleport\0"
|
||||
"Tla‡ˇtko(norm)\0""Tla‡ˇtko(zma‡k)\0"
|
||||
"Fl‚tna (Sever)\0""Fl‚tna (V<>chod)\0""Fl‚tna (Jih)\0""Fl‚tna (Z pad)\0"
|
||||
"Opu¨t<EFBFBD>nˇ mapy\0""Vˇr\0""Sloup&Smrt\0""Ubˇra ‘ivoty\0"
|
||||
"!Voln<6C>!\0""Normaln<EFBFBD>\0""Schody\0""Lo<EFBFBD>ka na vod<6F>\0""L<EFBFBD>va\0"
|
||||
"Sm<EFBFBD>r sever\0""Sm<EFBFBD>r v<>chod\0""Sm<EFBFBD>r jih\0""Sm<EFBFBD>r z<EFBFBD>pad\0""Voda\0""Sloup\0""Dira\0""Teleport\0"
|
||||
"Tla<EFBFBD><EFBFBD>tko(norm)\0""Tla<EFBFBD><EFBFBD>tko(zma<6D>k)\0"
|
||||
"Fl<EFBFBD>tna (Sever)\0""Fl<EFBFBD>tna (V<>chod)\0""Fl<EFBFBD>tna (Jih)\0""Fl<EFBFBD>tna (Z<>pad)\0"
|
||||
"Opu<EFBFBD>t<EFBFBD>n<EFBFBD> mapy\0""V<EFBFBD>r\0""Sloup&Smrt\0""Ub<EFBFBD>ra <20>ivoty\0"
|
||||
"\\\0";
|
||||
|
||||
char _type_multi_actions[]=
|
||||
|
@ -80,82 +80,82 @@ char _type_multi_actions[]=
|
|||
"\\\0";
|
||||
|
||||
char _typy_zbrani[]=
|
||||
"Me‡ (t<>‘k ostr rovn )\0"
|
||||
"Sekera (t<>‘k ostr ost.)\0"
|
||||
"Kladivo (tup )\0"
|
||||
"H–l\0"
|
||||
"D<EFBFBD>ka (Lehk ostr )\0"
|
||||
"›ˇp (st©eln )\0"
|
||||
"Ostatnˇ / Spec\0"
|
||||
"Me<EFBFBD> (t<><74>k<EFBFBD> ostr<74> rovn<76>)\0"
|
||||
"Sekera (t<><EFBFBD>k<EFBFBD> ostr<74> ost.)\0"
|
||||
"Kladivo (tup<EFBFBD>)\0"
|
||||
"H<EFBFBD>l\0"
|
||||
"D<EFBFBD>ka (Lehk<EFBFBD> ostr<74>)\0"
|
||||
"<EFBFBD><EFBFBD>p (st<73>eln<6C>)\0"
|
||||
"Ostatn<EFBFBD> / Spec\0"
|
||||
"\\\0";
|
||||
|
||||
char _typy_veci[]=
|
||||
"Nespecifikov no\0"
|
||||
"Zbra¤ tv ©ˇ v tv ©\0"
|
||||
"Vrhacˇ zbra¤\0"
|
||||
"St©eln zbra¤\0"
|
||||
"Nespecifikov<EFBFBD>no\0"
|
||||
"Zbra<EFBFBD> tv<74><76><EFBFBD> v tv<74><76>\0"
|
||||
"Vrhac<EFBFBD> zbra<72>\0"
|
||||
"St<EFBFBD>eln<EFBFBD> zbra<72>\0"
|
||||
"Zbroj\0"
|
||||
"Svitek / H–lka\0"
|
||||
"Svitek / H<EFBFBD>lka\0"
|
||||
"Lektvar\0"
|
||||
"Voda\0"
|
||||
"Jˇdlo\0"
|
||||
"Speci lnˇ\0"
|
||||
"J<EFBFBD>dlo\0"
|
||||
"Speci<EFBFBD>ln<EFBFBD>\0"
|
||||
"Runa\0"
|
||||
"Penˇze\0"
|
||||
"Pen<EFBFBD>ze\0"
|
||||
"Svitek s textem\0"
|
||||
"Prach\0"
|
||||
"Ostatnˇ\0"
|
||||
"Ostatn<EFBFBD>\0"
|
||||
"\\\0";
|
||||
|
||||
char _umisteni_veci[]=
|
||||
"Nikam\0"
|
||||
"Zavazadlo\0"
|
||||
"Na t<>lo (naho©e)\0"
|
||||
"Na t<>lo (dole)\0"
|
||||
"Na t<>lo (naho<EFBFBD>e)\0"
|
||||
"Na t<>lo (dole)\0"
|
||||
"Na hlavu\0"
|
||||
"Na nohy\0"
|
||||
"Kutna (na t<>lo/naho©e/dole/helma)\0"
|
||||
"Kutna (na t<>lo/naho<EFBFBD>e/dole/helma)\0"
|
||||
"Na krk\0"
|
||||
"Do ruky\0"
|
||||
"Obouru‡\0"
|
||||
"Obouru<EFBFBD>\0"
|
||||
"Prsten\0"
|
||||
"›ˇp\0"
|
||||
"<EFBFBD><EFBFBD>p\0"
|
||||
"\\0";
|
||||
|
||||
char _side_flgs[]=
|
||||
"Automap\0"
|
||||
"Nepr–chozˇ(hr c)\0"
|
||||
"Nepr–chozˇ(nestv–ra)\0"
|
||||
"Nepr–chozˇ(v<>c)\0"
|
||||
"Nepr–chozˇ(zvuk)\0"
|
||||
"Nepr<EFBFBD>choz<EFBFBD>(hr<68>c)\0"
|
||||
"Nepr<EFBFBD>choz<EFBFBD>(nestv<74>ra)\0"
|
||||
"Nepr<EFBFBD>choz<EFBFBD>(v<>c)\0"
|
||||
"Nepr<EFBFBD>choz<EFBFBD>(zvuk)\0"
|
||||
"Poplach\0"
|
||||
"Pr–chozˇ akce\0"
|
||||
"Pr–chledn st<73>na\0"
|
||||
"Pr<EFBFBD>choz<EFBFBD> akce\0"
|
||||
"Pr<EFBFBD>chledn<EFBFBD> st<73>na\0"
|
||||
"Prim:Animace\0"
|
||||
"Prim:Viditeln \0"
|
||||
"Prim:Tam a zp<7A>t\0"
|
||||
"Prim:Sm<53>r\0"
|
||||
"Prim:Viditeln<EFBFBD>\0"
|
||||
"Prim:Tam a zp<7A>t\0"
|
||||
"Prim:Sm<53>r\0"
|
||||
"Sek:Animace\0"
|
||||
"Sek:Viditeln \0"
|
||||
"Sek:Tam a zp<7A>t\0"
|
||||
"Sek:Sm<53>r\0"
|
||||
"Lev<EFBFBD> oblouk\0"
|
||||
"Prav<EFBFBD> oblouk\0"
|
||||
"Dva druhy st<73>n\0"
|
||||
"Sek:Viditeln<EFBFBD>\0"
|
||||
"Sek:Tam a zp<7A>t\0"
|
||||
"Sek:Sm<53>r\0"
|
||||
"Lev<EFBFBD> oblouk\0"
|
||||
"Prav<EFBFBD> oblouk\0"
|
||||
"Dva druhy st<73>n\0"
|
||||
"Spec. mapovat\0"
|
||||
"Kopˇruj p©ˇchozˇ ud lost\0"
|
||||
"Po¨li jinou ud lost\0"
|
||||
"Aplikuj i z druh‚ strany\0"
|
||||
"Autoanimace p©epˇna‡–\0"
|
||||
"Zm<EFBFBD>na automapingu\0"
|
||||
"Zm<EFBFBD>na pr–chodnosti(hr ‡)\0"
|
||||
"Zm<EFBFBD>na pr–chodnosti(nestv–ra)\0"
|
||||
"Zm<EFBFBD>na pr–chodnosti(v<>c)\0"
|
||||
"Zm<EFBFBD>na pr–chodnosti(zvuk)\0"
|
||||
"Tajn st<73>na\0"
|
||||
"Kop<EFBFBD>ruj p<><70>choz<6F> ud<75>lost\0"
|
||||
"Po<EFBFBD>li jinou ud<75>lost\0"
|
||||
"Aplikuj i z druh<EFBFBD> strany\0"
|
||||
"Autoanimace p<EFBFBD>ep<EFBFBD>na<EFBFBD><EFBFBD>\0"
|
||||
"Zm<EFBFBD>na automapingu\0"
|
||||
"Zm<EFBFBD>na pr<EFBFBD>chodnosti(hr<68><72>)\0"
|
||||
"Zm<EFBFBD>na pr<EFBFBD>chodnosti(nestv<74>ra)\0"
|
||||
"Zm<EFBFBD>na pr<EFBFBD>chodnosti(v<>c)\0"
|
||||
"Zm<EFBFBD>na pr<EFBFBD>chodnosti(zvuk)\0"
|
||||
"Tajn<EFBFBD> st<73>na\0"
|
||||
"TRUESEE (iluze)\0"
|
||||
"Neviditeln na map<61>\0"
|
||||
"Potvora je ve h©e\0"
|
||||
"Neviditeln<EFBFBD> na map<61>\0"
|
||||
"Potvora je ve h<EFBFBD>e\0"
|
||||
"Potvora je v oblasti\0"
|
||||
"\\\0";
|
||||
|
||||
|
@ -918,9 +918,9 @@ void create_map_win(int xp,...)
|
|||
|
||||
autocenter_map();
|
||||
cl[0]=0;cl[1]=0x610;
|
||||
map_win=def_window(500,451,"Kreslenˇ mapy");
|
||||
map_win=def_window(500,451,"Kreslen<EFBFBD> mapy");
|
||||
waktual->x=7;waktual->y=2;
|
||||
on_change(close_with_tool);
|
||||
on_control_change(close_with_tool);
|
||||
define(10,2,20,473,408,0,workspace);
|
||||
property(def_border(1,0),NULL,NULL,WINCOLOR);
|
||||
o_end->autoresizex=1;o_end->autoresizey=1;
|
||||
|
@ -928,23 +928,23 @@ void create_map_win(int xp,...)
|
|||
waktual->minsizx=140;
|
||||
waktual->minsizy=90;
|
||||
define(20,3,42,17,365,1,scroll_bar_v,-100,100,(59*8)/M_ZOOM,SCROLLBARCOL);
|
||||
property(ctl,NULL,NULL,WINCOLOR);c_default(ymap_offs);on_change(scroll_workspace);
|
||||
property(ctl,NULL,NULL,WINCOLOR);c_default(ymap_offs);on_control_change(scroll_workspace);
|
||||
o_end->autoresizey=1;
|
||||
define(21,1,20,21,17,1,scroll_button,-2,-100,"\x1e");
|
||||
property(NULL,icones,&cl,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,&cl,WINCOLOR);on_control_change(scroll_support);
|
||||
define(22,1,22,21,17,2,scroll_button,2,100,"\x1f");
|
||||
property(NULL,icones,&cl,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,&cl,WINCOLOR);on_control_change(scroll_support);
|
||||
define(30,26,3,352,15,3,scroll_bar_h,-100,100,(59*8)/M_ZOOM,SCROLLBARCOL);
|
||||
property(ctl,NULL,NULL,WINCOLOR);c_default(xmap_offs);on_change(scroll_workspace);
|
||||
property(ctl,NULL,NULL,WINCOLOR);c_default(xmap_offs);on_control_change(scroll_workspace);
|
||||
o_end->autoresizex=1;
|
||||
define(31,96,1,21,19,2,scroll_button,2,100,"\x1c");
|
||||
property(NULL,icones,&cl,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,&cl,WINCOLOR);on_control_change(scroll_support);
|
||||
define(32,1,1,21,19,3,scroll_button,-2,-100,"\x1d");
|
||||
property(NULL,icones,&cl,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,&cl,WINCOLOR);on_control_change(scroll_support);
|
||||
define(40,60,1,30,19,2,button,"/");property(NULL,icones,&cl,WINCOLOR);
|
||||
on_enter(layer_show);on_exit(layer_hide);on_change(layer_plus);
|
||||
on_control_enter(layer_show);on_control_exit(layer_hide);on_control_change(layer_plus);
|
||||
define(50,28,1,30,19,2,button,"\\");property(NULL,icones,&cl,WINCOLOR);
|
||||
on_enter(layer_show);on_exit(layer_hide);on_change(layer_minus);
|
||||
on_control_enter(layer_show);on_control_exit(layer_hide);on_control_change(layer_minus);
|
||||
define(60,1,1,19,19,2,resizer);
|
||||
xpp=&xp;
|
||||
xpp++;
|
||||
|
@ -961,13 +961,13 @@ void create_map_win(int xp,...)
|
|||
tool_bar=def_window(90,90,"Tools");
|
||||
waktual->x=SCR_WIDTH_X-1-94;waktual->y=desktop_y_size-90-3;
|
||||
define(20,1,55,40,34,0,toggle_button,"\xC");property(NULL,icones,&icone_color,WINCOLOR);
|
||||
on_change(tool_select);c_default(tool_sel==20);
|
||||
on_control_change(tool_select);c_default(tool_sel==20);
|
||||
define(30,42,20,40,34,0,toggle_button,"\xD");property(NULL,icones,&icone_color,WINCOLOR);
|
||||
on_change(tool_select);c_default(tool_sel==30);
|
||||
on_control_change(tool_select);c_default(tool_sel==30);
|
||||
define(40,42,55,40,34,0,toggle_button,"\xE");property(NULL,icones,&icone_color,WINCOLOR);
|
||||
on_change(tool_select);c_default(tool_sel==40);
|
||||
on_control_change(tool_select);c_default(tool_sel==40);
|
||||
define(10,1,20,40,34,0,toggle_button,"\xB");property(NULL,icones,&icone_color,WINCOLOR);
|
||||
on_change(tool_select);c_default(tool_sel==10);
|
||||
on_control_change(tool_select);c_default(tool_sel==10);
|
||||
}
|
||||
if (tool_sel==10)open_draw_win();
|
||||
if (tool_sel==40)open_wiz_tool();
|
||||
|
|
178
MAPS/MOB_EDIT.C
178
MAPS/MOB_EDIT.C
|
@ -236,7 +236,7 @@ void create_enemy_list()
|
|||
str_add(&enemy_list,s);
|
||||
}
|
||||
else;
|
||||
str_add(&enemy_list," -1 <nov potvora>");
|
||||
str_add(&enemy_list," -1 <nov<EFBFBD> potvora>");
|
||||
}
|
||||
|
||||
|
||||
|
@ -266,14 +266,14 @@ void new_mob()
|
|||
}
|
||||
|
||||
static char nvlast[][16]=
|
||||
{"S¡la","UM(%kouzlen¡)","Pohyblivost","Obratnost","Max zranˆn¡",
|
||||
"","","Obrana(doln¡)","Obrana(Horn¡)","—tok(Doln¡)",
|
||||
"—tok(Horn¡)","Ohe¤","Voda","Zemˆ","Vzduch","Mysl","’ivoty Regen",
|
||||
"","","Magick s¡la(D)", "Magick s¡la(H)","","—‡innek z sahu","*"};
|
||||
{"S<EFBFBD>la","UM(%kouzlen<65>)","Pohyblivost","Obratnost","Max zran<EFBFBD>n<EFBFBD>",
|
||||
"","","Obrana(doln<EFBFBD>)","Obrana(Horn<72>)","<EFBFBD>tok(Doln<6C>)",
|
||||
"<EFBFBD>tok(Horn<72>)","Ohe<EFBFBD>","Voda","Zem<EFBFBD>","Vzduch","Mysl","<EFBFBD>ivoty Regen",
|
||||
"","","Magick<EFBFBD> s<>la(D)", "Magick<EFBFBD> s<>la(H)","","<EFBFBD><EFBFBD>innek z<>sahu","*"};
|
||||
|
||||
|
||||
char smery_anim[][7]=
|
||||
{"Vp©ed","Vlevo","Vzad","Vpravo","—tok","Z sah"};
|
||||
{"Vp<EFBFBD>ed","Vlevo","Vzad","Vpravo","<EFBFBD>tok","Z<EFBFBD>sah"};
|
||||
char smery_znaky[]="FLBRCH";
|
||||
|
||||
char sekvence[]="0123456789ABCDEF";
|
||||
|
@ -314,8 +314,8 @@ char load_sequence(char *mobname,int otoceni)
|
|||
char text[256];
|
||||
|
||||
if (load_ddl_seq(st,otoceni)) return 0;
|
||||
sprintf(text,"Nemohu nalezt soubor %s jen‘ ma obsahovat sekvence animac¡ pro tuto potvoru...",s);
|
||||
msg_box("Upozornˆn¡!",'\x1',text,"Beru na vˆdom¡",NULL);
|
||||
sprintf(text,"Nemohu nalezt soubor %s jen<EFBFBD> ma obsahovat sekvence animac<61> pro tuto potvoru...",s);
|
||||
msg_box("Upozorn<EFBFBD>n<EFBFBD>!",'\x1',text,"Beru na v<EFBFBD>dom<EFBFBD>",NULL);
|
||||
return 1;
|
||||
}
|
||||
while(otoceni--)
|
||||
|
@ -331,8 +331,8 @@ char load_sequence(char *mobname,int otoceni)
|
|||
{
|
||||
char text[256];
|
||||
|
||||
sprintf(text,"Soubor %s obsahuje chybn‚ £daje",s);
|
||||
msg_box("Upozornˆn¡!",'\x1',text,"Beru na vˆdom¡",NULL);
|
||||
sprintf(text,"Soubor %s obsahuje chybn<EFBFBD> <20>daje",s);
|
||||
msg_box("Upozorn<EFBFBD>n<EFBFBD>!",'\x1',text,"Beru na v<EFBFBD>dom<EFBFBD>",NULL);
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
|
@ -504,13 +504,13 @@ void mob_turn()
|
|||
void mob_ask_delete()
|
||||
{
|
||||
|
||||
if (msg_box("Dotaz?",'\x2',"Opravdu chce¨ potovoru vymazat ze seznam– vzor–? Ujisti se, ‘e tuto potvoru nepou‘¡v ¨ v ‘ dn‚ jin‚ mapˆ","Ano","Ne",NULL)==1)
|
||||
terminate();
|
||||
if (msg_box("Dotaz?",'\x2',"Opravdu chce<EFBFBD> potovoru vymazat ze seznam<61> vzor<6F>? Ujisti se, <20>e tuto potvoru nepou<6F><75>v<EFBFBD><76> v <20><>dn<64> jin<69> map<61>","Ano","Ne",NULL)==1)
|
||||
terminate_gui();
|
||||
o_aktual=find_object(waktual,260);
|
||||
}
|
||||
|
||||
char *sound_ev[]=
|
||||
{"P©i ch–zi","—tok","Z sah","Reserved"};
|
||||
{"P<EFBFBD>i ch<63>zi","<EFBFBD>tok","Z<EFBFBD>sah","Reserved"};
|
||||
|
||||
void mob_test_sound()
|
||||
{
|
||||
|
@ -555,15 +555,15 @@ void mob_inv()
|
|||
memcpy(&b1,def_border(1,0),sizeof(CTL3D));
|
||||
default_font=vga_font;
|
||||
memcpy(f_default,flat_color(0x0000),sizeof(charcolors));
|
||||
def_dialoge(100,50,400,390,"Invent © potvory");
|
||||
def_dialoge(100,50,400,390,"Invent<EFBFBD><EFBFBD> potvory");
|
||||
str_insline(&ls_sorts,0,"<nic>");
|
||||
for(i=0;i<MOBS_INV;i++)
|
||||
{
|
||||
define(i+10,10,20+i*15,250,10,0,str_line,ls_sorts);on_enter(string_list_sup);
|
||||
c_default(moblist[m].inv[i]);
|
||||
}
|
||||
define(300,5,20,80,20,1,button,"Ok");property(&b1,NULL,NULL,WINCOLOR);on_change(terminate);
|
||||
define(310,5,45,80,20,1,button,"Zru¨it");property(&b1,NULL,NULL,WINCOLOR);on_change(terminate);
|
||||
define(300,5,20,80,20,1,button,"Ok");property(&b1,NULL,NULL,WINCOLOR);on_control_change(terminate_gui);
|
||||
define(310,5,45,80,20,1,button,"Zru<EFBFBD>it");property(&b1,NULL,NULL,WINCOLOR);on_control_change(terminate_gui);
|
||||
redraw_desktop();
|
||||
escape();
|
||||
if (o_aktual->id==300)
|
||||
|
@ -576,20 +576,20 @@ static char *aff_list[]=
|
|||
{
|
||||
"INVIS",
|
||||
"OKO ZA OKO",
|
||||
"NASTAV TV<54>ž",
|
||||
"NASTAV TV<54><EFBFBD>",
|
||||
"ENERGY DRAIN",
|
||||
"MANA SHIELD (*)",
|
||||
"SANCTUARY SHIELD (1/2 zasahu)",
|
||||
"HIGH SANCTUARY (omezit zasah)",
|
||||
"BLIND (slepota)",
|
||||
"REGENERACE (*)",
|
||||
"OCHRANA PžED ZIMOU (*)",
|
||||
"OCHRANA PžED ’<EFBFBD>REM (*)",
|
||||
"OCHRANA P<EFBFBD>ED ZIMOU (*)",
|
||||
"OCHRANA P<EFBFBD>ED <20><EFBFBD>REM (*)",
|
||||
"KNOCK BACK",
|
||||
"< volno >",
|
||||
"< volno >",
|
||||
"< volno >",
|
||||
"Vyhrazeno pro d‚mona"
|
||||
"Vyhrazeno pro d<EFBFBD>mona"
|
||||
};
|
||||
|
||||
void spell_affections()
|
||||
|
@ -607,14 +607,14 @@ void spell_affections()
|
|||
{
|
||||
define(i+10,10,20+i*12,250,10,0,check_box,aff_list[i]);c_default((m & (1<<i))!=0);
|
||||
}
|
||||
define(-1,10,230,1,1,0,label,"(*) - u nestvur neimplementov no");
|
||||
define(-1,10,242,1,1,0,label,"Sanctuary bere potvo©e jen 1/2 ‘ivot– ze z sahu");
|
||||
define(-1,10,254,1,1,0,label,"High Sanc. o©ez v z sah na max 18 ‘ivot–");
|
||||
define(-1,10,266,1,1,0,label,"Energy drain p©id 1/2 toho co ubere postav m");
|
||||
define(-1,10,230,1,1,0,label,"(*) - u nestvur neimplementov<EFBFBD>no");
|
||||
define(-1,10,242,1,1,0,label,"Sanctuary bere potvo<EFBFBD>e jen 1/2 <20>ivot<6F> ze z<>sahu");
|
||||
define(-1,10,254,1,1,0,label,"High Sanc. o<EFBFBD>ez<EFBFBD>v<EFBFBD> z<>sah na max 18 <20>ivot<6F>");
|
||||
define(-1,10,266,1,1,0,label,"Energy drain p<EFBFBD>id<EFBFBD> 1/2 toho co ubere postav<61>m");
|
||||
define(-1,10,278,1,1,0,label,"BLIND - potvora je slepa (senceless)");
|
||||
define(-1,10,290,1,1,0,label,"REGENERACE - Ka‘d‚ kolo +HPREG ‘ivot–");
|
||||
define(300,5,20,80,20,1,button,"Ok");property(&b1,NULL,NULL,WINCOLOR);on_change(terminate);
|
||||
define(310,5,45,80,20,1,button,"Zru¨it");property(&b1,NULL,NULL,WINCOLOR);on_change(terminate);
|
||||
define(-1,10,290,1,1,0,label,"REGENERACE - Ka<EFBFBD>d<EFBFBD> kolo +HPREG <20>ivot<6F>");
|
||||
define(300,5,20,80,20,1,button,"Ok");property(&b1,NULL,NULL,WINCOLOR);on_control_change(terminate_gui);
|
||||
define(310,5,45,80,20,1,button,"Zru<EFBFBD>it");property(&b1,NULL,NULL,WINCOLOR);on_control_change(terminate_gui);
|
||||
redraw_desktop();
|
||||
escape();
|
||||
if (o_aktual->id==300)
|
||||
|
@ -643,13 +643,13 @@ void mob_sound_call(int mob)
|
|||
list=read_directory(c,DIR_BREIF,_A_NORMAL);
|
||||
read_ddl_list_wav(&list);
|
||||
define(9,10,20,200,126,0,listbox,list,RGB555(31,31,31),0);
|
||||
property(&b3,NULL,NULL,WINCOLOR);c_default(0);on_change(mob_test_sound);
|
||||
property(&b3,NULL,NULL,WINCOLOR);c_default(0);on_control_change(mob_test_sound);
|
||||
define(10,217,40,19,87,0,scroll_bar_v,0,10,1,SCROLLBARCOL);
|
||||
property(&b2,NULL,NULL,WINCOLOR);
|
||||
define(11,216,20,21,17,0,scroll_button,-1,0,"\x1e");
|
||||
property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(12,216,130,21,17,0,scroll_button,1,10,"\x1f");
|
||||
property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
for(j=0;j<MOB_SOUNDS-1;j++)
|
||||
{
|
||||
int z,y;
|
||||
|
@ -661,11 +661,11 @@ void mob_sound_call(int mob)
|
|||
if (z && enemy_sound!=NULL && (z<=str_count(enemy_sound)))
|
||||
set_default(enemy_sound[z-1]);else set_default("");
|
||||
define(j+40,245,y,20,12,0,button,"<");
|
||||
property(&b1,NULL,NULL,WINCOLOR);on_change(mob_sound_copy);
|
||||
property(&b1,NULL,NULL,WINCOLOR);on_control_change(mob_sound_copy);
|
||||
}
|
||||
define(90,5,30,100,10,2,check_box,"Loop (WALK!)");c_default((moblist[i].vlajky & 0x40)!=0);
|
||||
define(100,5,5,80,20,2,button,"Ok");on_change(terminate); property(&b1,NULL,NULL,WINCOLOR);
|
||||
define(110,90,5,80,20,2,button,"Zru¨it");on_change(terminate); property(&b1,NULL,NULL,WINCOLOR);
|
||||
define(100,5,5,80,20,2,button,"Ok");on_control_change(terminate_gui); property(&b1,NULL,NULL,WINCOLOR);
|
||||
define(110,90,5,80,20,2,button,"Zru<EFBFBD>it");on_control_change(terminate_gui); property(&b1,NULL,NULL,WINCOLOR);
|
||||
redraw_window();
|
||||
escape();
|
||||
if (o_aktual->id==100)
|
||||
|
@ -708,17 +708,17 @@ static void open_dialog_edit_box()
|
|||
memcpy(&b3,def_border(6,WINCOLOR),sizeof(CTL3D));
|
||||
default_font=vga_font;
|
||||
memcpy(f_default,flat_color(0x0000),sizeof(charcolors));
|
||||
def_dialoge(100,250,250,180,"P©i©aƒ dialog");
|
||||
def_dialoge(100,250,250,180,"P<EFBFBD>i<EFBFBD>a<EFBFBD> dialog");
|
||||
define(9,10,20,200,126,0,listbox,dlg_names,RGB555(31,31,31),0);
|
||||
property(&b3,NULL,NULL,WINCOLOR);c_default(pgf2name(j));
|
||||
define(10,217,40,19,87,0,scroll_bar_v,0,10,1,SCROLLBARCOL);
|
||||
property(&b2,NULL,NULL,WINCOLOR);
|
||||
define(11,216,20,21,17,0,scroll_button,-1,0,"\x1e");
|
||||
property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(12,216,130,21,17,0,scroll_button,1,10,"\x1f");
|
||||
property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
define(100,5,5,80,20,2,button,"Ok");on_change(terminate); property(&b1,NULL,NULL,WINCOLOR);
|
||||
define(110,90,5,80,20,2,button,"Zru¨it");on_change(terminate); property(&b1,NULL,NULL,WINCOLOR);
|
||||
property(NULL,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(100,5,5,80,20,2,button,"Ok");on_control_change(terminate_gui); property(&b1,NULL,NULL,WINCOLOR);
|
||||
define(110,90,5,80,20,2,button,"Zru<EFBFBD>it");on_control_change(terminate_gui); property(&b1,NULL,NULL,WINCOLOR);
|
||||
redraw_window();
|
||||
escape();
|
||||
if (o_aktual->id==100)
|
||||
|
@ -753,7 +753,7 @@ void edit_mob(int i)
|
|||
define(200,310,35,290,1,0,pcx_view);set_default("_");
|
||||
define(205,310,35,290,370,0,symetry);c_default(moblist[i].adjusting[0]);
|
||||
define(207,5,20,120,20,1,input_line,20);set_default("");
|
||||
define(-1,190,20,100,12,0,label,"Jm‚no potvory");
|
||||
define(-1,190,20,100,12,0,label,"Jm<EFBFBD>no potvory");
|
||||
define(10,300,20,200,12,0,input_line,31);set_default(moblist[i].name);property(def_border(2,WINCOLOR),NULL,NULL,WINCOLOR);
|
||||
z=0;b1=def_border(5,WINCOLOR);
|
||||
for(y=20;y<380;)
|
||||
|
@ -761,7 +761,7 @@ void edit_mob(int i)
|
|||
if (nvlast[z][0])
|
||||
{
|
||||
define(-1,5,y,140,12,0,label,nvlast[z]);
|
||||
define(z+20,120,y,60,12,0,input_line,8,-32767,32767,"%6d");set_default(strs(moblist[i].vlastnosti[z]));on_exit(test_int);
|
||||
define(z+20,120,y,60,12,0,input_line,8,-32767,32767,"%6d");set_default(strs(moblist[i].vlastnosti[z]));on_control_exit(test_int);
|
||||
property(b1,NULL,NULL,WINCOLOR);
|
||||
y+=15;
|
||||
}
|
||||
|
@ -769,69 +769,69 @@ void edit_mob(int i)
|
|||
if (nvlast[z][0]=='*') break;
|
||||
}
|
||||
y+=15;
|
||||
define(-1,5,y,140,12,0,label,"’ivel:");
|
||||
define(-1,5,y,140,12,0,label,"<EFBFBD>ivel:");
|
||||
define(102,120,y,60,12,0,str_line,zivly);c_default(moblist[i].vlastnosti[VLS_MGZIVEL]);on_enter(string_list_sup);property(b1,NULL,NULL,WINCOLOR);y+=15;
|
||||
define(-1,5,y,140,12,0,label,"Jm‚no grafiky");
|
||||
define(100,120,y,60,12,0,input_line,6);set_default(moblist[i].mobs_name);property(b1,NULL,NULL,WINCOLOR);on_exit(check_mobs_name);y+=15;
|
||||
define(-1,5,y,140,12,0,label,"Jm<EFBFBD>no grafiky");
|
||||
define(100,120,y,60,12,0,input_line,6);set_default(moblist[i].mobs_name);property(b1,NULL,NULL,WINCOLOR);on_control_exit(check_mobs_name);y+=15;
|
||||
define(-1,5,y,140,12,0,label,"Rychlost");
|
||||
define(101,130,y,30,12,0,input_line,3,0,128,"%3d");set_default(strs(moblist[i].speed));on_exit(test_int);property(b1,NULL,NULL,WINCOLOR);y+=15;
|
||||
define(-1,5,y,140,12,0,label,"›ance £tˆku");
|
||||
define(103,130,y,30,12,0,input_line,3,0,255,"%3d");set_default(strs(moblist[i].flee_num));on_exit(test_int);property(b1,NULL,NULL,WINCOLOR);y+=15;
|
||||
define(101,130,y,30,12,0,input_line,3,0,128,"%3d");set_default(strs(moblist[i].speed));on_control_exit(test_int);property(b1,NULL,NULL,WINCOLOR);y+=15;
|
||||
define(-1,5,y,140,12,0,label,"<EFBFBD>ance <20>t<EFBFBD>ku");
|
||||
define(103,130,y,30,12,0,input_line,3,0,255,"%3d");set_default(strs(moblist[i].flee_num));on_control_exit(test_int);property(b1,NULL,NULL,WINCOLOR);y+=15;
|
||||
define(-1,5,y,140,12,0,label,"Kouzlo");
|
||||
define(104,130,y,30,12,0,input_line,3,0,255,"%3d");set_default(strs(moblist[i].casting));on_exit(test_int);property(b1,NULL,NULL,WINCOLOR);y+=15;
|
||||
define(104,130,y,30,12,0,input_line,3,0,255,"%3d");set_default(strs(moblist[i].casting));on_control_exit(test_int);property(b1,NULL,NULL,WINCOLOR);y+=15;
|
||||
define(-1,5,y,140,12,0,label,"Specproc");
|
||||
define(105,120,y,60,12,0,str_line,mob_procs);c_default(moblist[i].specproc);on_enter(string_list_sup);property(b1,NULL,NULL,WINCOLOR);y+=15;
|
||||
y=260;define(-1,220,248,140,12,0,label,"Po‡et anim.");
|
||||
y=260;define(-1,220,248,140,12,0,label,"Po<EFBFBD>et anim.");
|
||||
for(z=0;z<6;z++)
|
||||
{
|
||||
define(-1,190,y,50,12,0,label,smery_anim[z]);
|
||||
define(z+120,260,y,20,12,0,input_line,2,!z*2,15,"%2d");set_default(strs(moblist[i].anim_counts[z]));on_exit(test_int);
|
||||
define(z+120,260,y,20,12,0,input_line,2,!z*2,15,"%2d");set_default(strs(moblist[i].anim_counts[z]));on_control_exit(test_int);
|
||||
property(b1,NULL,NULL,WINCOLOR);
|
||||
y+=15;
|
||||
}
|
||||
define(127,285,320,20,12,0,input_line,2,1,15,"%2d");set_default(strs(moblist[i].hit_pos));on_exit(test_int);
|
||||
define(127,285,320,20,12,0,input_line,2,1,15,"%2d");set_default(strs(moblist[i].hit_pos));on_control_exit(test_int);
|
||||
property(b1,NULL,NULL,WINCOLOR);
|
||||
define(430,190,350,50,10,0,check_box,"Chod¡");
|
||||
define(440,190,362,50,10,0,check_box,"—to‡¡");
|
||||
define(450,190,374,50,10,0,check_box,"Sly¨¡");
|
||||
define(460,250,350,100,10,0,check_box,"Jeden na pol¡‡ku");
|
||||
define(470,250,362,60,10,0,check_box,"Str ‘ce");
|
||||
define(430,190,350,50,10,0,check_box,"Chod<EFBFBD>");
|
||||
define(440,190,362,50,10,0,check_box,"<EFBFBD>to<EFBFBD><EFBFBD>");
|
||||
define(450,190,374,50,10,0,check_box,"Sly<EFBFBD><EFBFBD>");
|
||||
define(460,250,350,100,10,0,check_box,"Jeden na pol<EFBFBD><EFBFBD>ku");
|
||||
define(470,250,362,60,10,0,check_box,"Str<EFBFBD><EFBFBD>ce");
|
||||
define(480,250,374,40,10,0,check_box,"Sebere");
|
||||
define(490,250,386,40,10,0,check_box,"Sb¡r ");
|
||||
define(500,190,386,50,10,0,check_box,"St©¡l¡");
|
||||
define(510,20,438,50,10,0,check_box,"Dialog.");c_default(moblist[i].dialog>=0);on_change(open_dialog_edit_box);
|
||||
define(490,250,386,40,10,0,check_box,"Sb<EFBFBD>r<EFBFBD>");
|
||||
define(500,190,386,50,10,0,check_box,"St<EFBFBD><EFBFBD>l<EFBFBD>");
|
||||
define(510,20,438,50,10,0,check_box,"Dialog.");c_default(moblist[i].dialog>=0);on_control_change(open_dialog_edit_box);
|
||||
define(-1,190,50,50,12,0,label,"Dohled");
|
||||
define(-1,190,65,50,12,0,label,"Dosah");
|
||||
define(-1,190,80,50,12,0,label,"Expy:");
|
||||
define(-1,190,95,50,12,0,label,"Bonus:");
|
||||
define(-1,190,110,50,12,0,label,"Pen¡ze:");
|
||||
define(160,260,50,30,12,0,input_line,3,0,255,"%3d");set_default(strs(moblist[i].dohled));on_exit(test_int);property(b1,NULL,NULL,WINCOLOR);
|
||||
define(170,260,65,30,12,0,input_line,3,0,255,"%3d");set_default(strs(moblist[i].dosah));on_exit(test_int);property(b1,NULL,NULL,WINCOLOR);
|
||||
define(175,250,80,55,12,0,input_line,6,0,999999,"%6d");set_default(strs(moblist[i].experience));on_exit(test_int);property(b1,NULL,NULL,WINCOLOR);
|
||||
define(176,250,95,55,12,0,input_line,6,0,65535,"%6d");set_default(strs(moblist[i].bonus));on_exit(test_int);property(b1,NULL,NULL,WINCOLOR);
|
||||
define(177,255,110,50,12,0,input_line,6,0,65535,"%5d");set_default(strs(moblist[i].money));on_exit(test_int);property(b1,NULL,NULL,WINCOLOR);
|
||||
define(-1,190,110,50,12,0,label,"Pen<EFBFBD>ze:");
|
||||
define(160,260,50,30,12,0,input_line,3,0,255,"%3d");set_default(strs(moblist[i].dohled));on_control_exit(test_int);property(b1,NULL,NULL,WINCOLOR);
|
||||
define(170,260,65,30,12,0,input_line,3,0,255,"%3d");set_default(strs(moblist[i].dosah));on_control_exit(test_int);property(b1,NULL,NULL,WINCOLOR);
|
||||
define(175,250,80,55,12,0,input_line,6,0,999999,"%6d");set_default(strs(moblist[i].experience));on_control_exit(test_int);property(b1,NULL,NULL,WINCOLOR);
|
||||
define(176,250,95,55,12,0,input_line,6,0,65535,"%6d");set_default(strs(moblist[i].bonus));on_control_exit(test_int);property(b1,NULL,NULL,WINCOLOR);
|
||||
define(177,255,110,50,12,0,input_line,6,0,65535,"%5d");set_default(strs(moblist[i].money));on_control_exit(test_int);property(b1,NULL,NULL,WINCOLOR);
|
||||
define(180,0,0,0,0,0,value_store,4);c_default(0);//cislo_animace
|
||||
define(185,0,0,0,0,0,value_store,4);c_default(0);//cislo_pozice
|
||||
define(190,0,0,0,0,0,value_store,4);c_default(i);//cislo_i
|
||||
b1=def_border(1,0);
|
||||
define(210,190,144,80,20,0,button,"Dal¨¡ >>");property(b1,NULL,NULL,WINCOLOR);on_change(mob_next);
|
||||
define(220,190,166,80,20,0,button,"Oto‡it");property(b1,NULL,NULL,WINCOLOR);on_change(mob_turn);
|
||||
define(230,190,188,80,20,0,button,"Test");property(b1,NULL,NULL,WINCOLOR);on_change(play_mob);
|
||||
define(240,84,2,80,20,2,button,"Zru¨it");property(b1,NULL,NULL,WINCOLOR);on_change(terminate);
|
||||
define(250,2,2,80,20,2,button,"Ok");property(b1,NULL,NULL,WINCOLOR);on_change(terminate);
|
||||
define(260,166,2,80,20,2,button,"Vymazat");property(b1,NULL,NULL,WINCOLOR);on_change(mob_ask_delete);
|
||||
define(270,2,24,80,20,2,button,"Zvuky");property(b1,NULL,NULL,WINCOLOR);on_change(mob_sound);
|
||||
define(280,84,24,80,20,2,button,"Invent ©");property(b1,NULL,NULL,WINCOLOR);on_change(mob_inv);
|
||||
define(290,166,24,80,20,2,button,"Aff");property(b1,NULL,NULL,WINCOLOR);on_change(spell_affections);
|
||||
define(210,190,144,80,20,0,button,"Dal<EFBFBD><EFBFBD> >>");property(b1,NULL,NULL,WINCOLOR);on_control_change(mob_next);
|
||||
define(220,190,166,80,20,0,button,"Oto<EFBFBD>it");property(b1,NULL,NULL,WINCOLOR);on_control_change(mob_turn);
|
||||
define(230,190,188,80,20,0,button,"Test");property(b1,NULL,NULL,WINCOLOR);on_control_change(play_mob);
|
||||
define(240,84,2,80,20,2,button,"Zru<EFBFBD>it");property(b1,NULL,NULL,WINCOLOR);on_control_change(terminate_gui);
|
||||
define(250,2,2,80,20,2,button,"Ok");property(b1,NULL,NULL,WINCOLOR);on_control_change(terminate_gui);
|
||||
define(260,166,2,80,20,2,button,"Vymazat");property(b1,NULL,NULL,WINCOLOR);on_control_change(mob_ask_delete);
|
||||
define(270,2,24,80,20,2,button,"Zvuky");property(b1,NULL,NULL,WINCOLOR);on_control_change(mob_sound);
|
||||
define(280,84,24,80,20,2,button,"Invent<EFBFBD><EFBFBD>");property(b1,NULL,NULL,WINCOLOR);on_control_change(mob_inv);
|
||||
define(290,166,24,80,20,2,button,"Aff");property(b1,NULL,NULL,WINCOLOR);on_control_change(spell_affections);
|
||||
define(-1,190,220,1,1,0,label,"Pals:");
|
||||
define(520,230,220,30,12,0,input_line,3,-127,127,"%3d");set_default(strs(moblist[i].paletts_count));on_exit(test_int);property(b1,NULL,NULL,WINCOLOR);
|
||||
define(520,230,220,30,12,0,input_line,3,-127,127,"%3d");set_default(strs(moblist[i].paletts_count));on_control_exit(test_int);property(b1,NULL,NULL,WINCOLOR);
|
||||
for(y=0;y<6*16;y++) {define(300+y,0,0,0,0,0,value_store,4);c_default(moblist[i].adjusting[y]);}
|
||||
define(630,0,0,0,0,0,value_store,1);c_default(0);//IN_BATTLE;
|
||||
define(640,190,400,50,10,0,check_box,"Pr–choz¡");
|
||||
define(650,190,412,50,10,0,check_box,"C¡t¡");
|
||||
define(640,190,400,50,10,0,check_box,"Pr<EFBFBD>choz<EFBFBD>");
|
||||
define(650,190,412,50,10,0,check_box,"C<EFBFBD>t<EFBFBD>");
|
||||
define(660,190,424,100,10,0,check_box,"Astral (wind)");
|
||||
define(670,300,400,100,10,0,check_box,"Reload mob");
|
||||
define(680,300,412,100,10,0,check_box,"Kouzl¡");
|
||||
define(680,300,412,100,10,0,check_box,"Kouzl<EFBFBD>");
|
||||
define(700,0,0,0,0,0,value_store,4);c_default(moblist[i].vlastnosti[VLS_KOUZLA]);
|
||||
movesize_win(waktual,0,0,DxGetResX(),DxGetResY());
|
||||
check_mobs_name();
|
||||
|
@ -865,7 +865,7 @@ void edit_mob(int i)
|
|||
for(z=0;z<6*16;z++) p->adjusting[z]=f_get_value(0,300+z);
|
||||
if (p->name[0]=='\0')
|
||||
{
|
||||
msg_box("Doporu‡en¡",' ',"Bylo by dobr‚ potvoru nazvat, kvuli snadn‚ manipulaci","Ok",NULL);
|
||||
msg_box("Doporu<EFBFBD>en<EFBFBD>",' ',"Bylo by dobr<EFBFBD> potvoru nazvat, kvuli snadn<64> manipulaci","Ok",NULL);
|
||||
strcpy(p->name,p->mobs_name);
|
||||
}
|
||||
p->lives=p->vlastnosti[VLS_MAXHIT];
|
||||
|
@ -889,7 +889,7 @@ void edit_mob(int i)
|
|||
{
|
||||
redraw=1;
|
||||
jdi_na_sektor(j);
|
||||
if (msg_box("Potvora je v mapˆ. Vymazat?",'\0x2',"Chce¨ vymazat tuto potvoru a v¨echny dal¨¡?","Ano","Ne",NULL)==2) return;
|
||||
if (msg_box("Potvora je v map<EFBFBD>. Vymazat?",'\0x2',"Chce<EFBFBD> vymazat tuto potvoru a v<>echny dal<61><6C>?","Ano","Ne",NULL)==2) return;
|
||||
break;
|
||||
}
|
||||
for(j=0;j<maplen;j++) if ((mob_map[j] & 0x3fff)==i) mob_map[j]=-1;
|
||||
|
@ -957,13 +957,13 @@ void enemy_window()
|
|||
property(b1,NULL,NULL,WINCOLOR);
|
||||
o_end->autoresizey=1;
|
||||
define(31,3,20,19,15,1,scroll_button,-1,0,"\x1e");
|
||||
property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(32,3,68,19,15,2,scroll_button,1,10,"\x1f");
|
||||
property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
define(40,5,5,60,20,3,button,"Vymazat");property(b1,NULL,NULL,WINCOLOR);on_change(vymazat_moba);
|
||||
define(50,5,30,60,20,3,button,"Um¡stit");property(b1,NULL,NULL,WINCOLOR);on_change(umistit_moba);
|
||||
define(60,70,5,60,20,3,button,"Novou");property(b1,NULL,NULL,WINCOLOR);on_change(new_mob);
|
||||
define(70,70,30,60,20,3,button,"Opravit");property(b1,NULL,NULL,WINCOLOR);on_change(edit_mob_event);
|
||||
property(NULL,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(40,5,5,60,20,3,button,"Vymazat");property(b1,NULL,NULL,WINCOLOR);on_control_change(vymazat_moba);
|
||||
define(50,5,30,60,20,3,button,"Um<EFBFBD>stit");property(b1,NULL,NULL,WINCOLOR);on_control_change(umistit_moba);
|
||||
define(60,70,5,60,20,3,button,"Novou");property(b1,NULL,NULL,WINCOLOR);on_control_change(new_mob);
|
||||
define(70,70,30,60,20,3,button,"Opravit");property(b1,NULL,NULL,WINCOLOR);on_control_change(edit_mob_event);
|
||||
movesize_win(waktual,SCR_WIDTH_X,0,170,SCR_WIDTH_Y-20);
|
||||
redraw_window();
|
||||
}
|
||||
|
@ -1051,7 +1051,7 @@ void *save_mob_map(long *size)
|
|||
for(i=0,c=0;i<maplen;i++)
|
||||
if (mob_map[i]!=-1) c++;
|
||||
if (!c) return NULL;
|
||||
if (c>255) msg_box("Omezen¡",'\x1',"Nelze m¡t v jedn‚ mapˆ v¡c potvor ne‘ 255. MAPEDIT nˆkter‚ nenahraje.","Ok",NULL);
|
||||
if (c>255) msg_box("Omezen<EFBFBD>",'\x1',"Nelze m<EFBFBD>t v jedn<64> map<61> v<>c potvor ne<6E> 255. MAPEDIT n<>kter<65> nenahraje.","Ok",NULL);
|
||||
p=data=getmem(*size=c*4);
|
||||
for(i=0;i<maplen;i++)
|
||||
if (mob_map[i]!=-1)
|
||||
|
@ -1094,8 +1094,8 @@ static void check_correct_sounds()
|
|||
if (err)
|
||||
{
|
||||
char text[200];
|
||||
sprintf(text,"Nestv–ra \"%s\" m ¨patnou referenci zvuku! Polo‘ka bude vynulov na!",moblist[i].name);
|
||||
if (msg_box("Chybn reference",'\x1',text,"Pokra‡ovat","Opravit",NULL)==2) mob_sound_call(i);
|
||||
sprintf(text,"Nestv<EFBFBD>ra \"%s\" m<> <20>patnou referenci zvuku! Polo<6C>ka bude vynulov<6F>na!",moblist[i].name);
|
||||
if (msg_box("Chybn<EFBFBD> reference",'\x1',text,"Pokra<EFBFBD>ovat","Opravit",NULL)==2) mob_sound_call(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1136,7 +1136,7 @@ void load_sound_dat(void *p,long siz)
|
|||
c=strchr(c,0);
|
||||
if (c==NULL)
|
||||
{
|
||||
msg_box("Load Error",'\x1',"Chyba nastala p©i na‡¡t n¡ souboru SOUND.DAT: Nekonzistetn¡ £daje. Nˆkter‚ zvuky nebudou p©i©azeny!","Ok",NULL);
|
||||
msg_box("Load Error",'\x1',"Chyba nastala p<EFBFBD>i na<6E><61>t<EFBFBD>n<EFBFBD> souboru SOUND.DAT: Nekonzistetn<74> <20>daje. N<>kter<65> zvuky nebudou p<>i<EFBFBD>azeny!","Ok",NULL);
|
||||
break;
|
||||
}
|
||||
c++;
|
||||
|
|
|
@ -239,7 +239,7 @@ static void clear_switchs()
|
|||
}
|
||||
|
||||
|
||||
#define ZMENIT "Zmˆnit grafiku"
|
||||
#define ZMENIT "Zm<EFBFBD>nit grafiku"
|
||||
static void zmenit()
|
||||
{
|
||||
int i,c,f;
|
||||
|
@ -255,7 +255,7 @@ static void zmenit()
|
|||
c=f_get_value(0,140);
|
||||
if (c==0)
|
||||
{
|
||||
msg_box(ZMENIT,1,"Mus¡¨ vybrat nˆjakou grafiku. Klepni tam, jak je naps no <nic>",MSB_OK);
|
||||
msg_box(ZMENIT,1,"Mus<EFBFBD><EFBFBD> vybrat n<>jakou grafiku. Klepni tam, jak je naps<70>no <nic>",MSB_OK);
|
||||
return;
|
||||
}
|
||||
load_side_script(script_name);
|
||||
|
@ -263,13 +263,13 @@ static void zmenit()
|
|||
i=change_side(f_get_value(0,130),c-1,get_bit_fields(0,160,3),f-1,name);
|
||||
if (i<-1)
|
||||
{
|
||||
msg_box(ZMENIT,1,"Program odm¡tl (z nˆjak˜ch d–vod–) akci prov‚st. Zkontrolujte v¨echny £daje",MSB_OK);
|
||||
msg_box(ZMENIT,1,"Program odm<EFBFBD>tl (z n<>jak<61>ch d<>vod<6F>) akci prov<6F>st. Zkontrolujte v<>echny <20>daje",MSB_OK);
|
||||
discharge_side_script();
|
||||
return;
|
||||
}
|
||||
if (i==-1)
|
||||
{
|
||||
msg_box(ZMENIT,1,"Nepovolen kombinace pol¡ \"Hlavn¡\", \"Lev \" a \"Prav \"",MSB_OK);
|
||||
msg_box(ZMENIT,1,"Nepovolen<EFBFBD> kombinace pol<6F> \"Hlavn<EFBFBD>\", \"Lev<EFBFBD>\" a \"Prav<EFBFBD>\"",MSB_OK);
|
||||
discharge_side_script();
|
||||
return;
|
||||
}
|
||||
|
@ -291,14 +291,14 @@ static void vymazat()
|
|||
|
||||
if (pos==0)
|
||||
{
|
||||
msg_box(VYMAZAT,1,"Mus¡¨ vybrat nˆjakou grafiku. Klepni tam, jak je naps no <nic>",MSB_OK);
|
||||
msg_box(VYMAZAT,1,"Mus<EFBFBD><EFBFBD> vybrat n<>jakou grafiku. Klepni tam, jak je naps<70>no <nic>",MSB_OK);
|
||||
return;
|
||||
}
|
||||
if (msg_box(VYMAZAT,1,"Vymazat grafiku v‡etnˆ p©¡padn˜ch animac¡?",MSB_ANONE)==2) return;
|
||||
if (msg_box(VYMAZAT,1,"Vymazat grafiku v<EFBFBD>etn<EFBFBD> p<><70>padn<64>ch animac<61>?",MSB_ANONE)==2) return;
|
||||
load_side_script(script_name);
|
||||
if (delete_side(f_get_value(0,130),pos-1))
|
||||
{
|
||||
msg_box(VYMAZAT,1,"Program odm¡tl vymazat grafiky ze scriptu, nastala nˆjak chyba.",MSB_OK);
|
||||
msg_box(VYMAZAT,1,"Program odm<EFBFBD>tl vymazat grafiky ze scriptu, nastala n<>jak<61> chyba.",MSB_OK);
|
||||
discharge_side_script();
|
||||
return;
|
||||
}
|
||||
|
@ -306,18 +306,18 @@ static void vymazat()
|
|||
refresh_scrs();
|
||||
}
|
||||
|
||||
#define ZALOZIT "Zalo‘it grafiku"
|
||||
#define ZALOZIT "Zalo<EFBFBD>it grafiku"
|
||||
static void add_graphics()
|
||||
{
|
||||
char name[200];
|
||||
int c,d;
|
||||
|
||||
get_value(0,100,name);
|
||||
if (name[0]==0) {msg_box(ZALOZIT,1,"Mus¡¨ vepsat nˆjak‚ jm‚no!",MSB_OK);return;}
|
||||
if (name[0]==0) {msg_box(ZALOZIT,1,"Mus<EFBFBD><EFBFBD> vepsat n<>jak<61> jm<6A>no!",MSB_OK);return;}
|
||||
load_side_script(script_name);
|
||||
if ((c=add_side(f_get_value(0,130),name,vals(110)))==-1)
|
||||
{
|
||||
msg_box(ZALOZIT,1,"Nelze zalo‘it novou grafiku! P©¡li‘ mnoho grafik, nebo nastala jin chyba.",MSB_OK);
|
||||
msg_box(ZALOZIT,1,"Nelze zalo<EFBFBD>it novou grafiku! P<><50>li<6C> mnoho grafik, nebo nastala jin<69> chyba.",MSB_OK);
|
||||
discharge_side_script();
|
||||
}
|
||||
else save_side_script(script_name);
|
||||
|
@ -350,12 +350,12 @@ static void nahled()
|
|||
list=f_get_value(0,130);pos=f_get_value(0,140)-1+vals(150)-1;
|
||||
if (pos<0)
|
||||
{
|
||||
msg_box("N hled",1,"Nen¡ co zobrazit!",MSB_OK);
|
||||
msg_box("N<EFBFBD>hled",1,"Nen<EFBFBD> co zobrazit!",MSB_OK);
|
||||
return;
|
||||
}
|
||||
load_side_script(script_name);
|
||||
tady:
|
||||
def_dialoge(2,2,630,440,"N hled grafiky");
|
||||
def_dialoge(2,2,630,440,"N<EFBFBD>hled grafiky");
|
||||
switch (list)
|
||||
{
|
||||
case 0: p1=def_nahled(10,5,25,get_side_name(list,pos,1));
|
||||
|
@ -372,9 +372,9 @@ static void nahled()
|
|||
swap=1;
|
||||
break;
|
||||
}
|
||||
define(-1,5,5,80,20,2,button,"Ok");on_change(terminate);
|
||||
define(110,100,5,80,20,2,button,">>");on_change(terminate);
|
||||
define(120,190,5,80,20,2,button,"<<");on_change(terminate);
|
||||
define(-1,5,5,80,20,2,button,"Ok");on_control_change(terminate_gui);
|
||||
define(110,100,5,80,20,2,button,">>");on_control_change(terminate_gui);
|
||||
define(120,190,5,80,20,2,button,"<<");on_control_change(terminate_gui);
|
||||
redraw_window();
|
||||
p4=get_side_name(list,pos,0);
|
||||
if (p4!=NULL) set_enable(0,120,p4[0]=='*' && pos>0);
|
||||
|
@ -404,51 +404,51 @@ void pcxviewer()
|
|||
memcpy(&b1,def_border(1,0),sizeof(CTL3D));
|
||||
memcpy(&b2,def_border(5,WINCOLOR),sizeof(CTL3D));
|
||||
memcpy(&b3,def_border(6,WINCOLOR),sizeof(CTL3D));
|
||||
pcxview_win=def_window(635,440,"Prohl¡‘e‡ obrazk– PCX");
|
||||
pcxview_win=def_window(635,440,"Prohl<EFBFBD><EFBFBD>e<EFBFBD> obrazk<7A> PCX");
|
||||
default_font=vga_font;
|
||||
memcpy(f_default,flat_color(0x0000),sizeof(charcolors));
|
||||
on_change(close_pcx_window);
|
||||
on_control_change(close_pcx_window);
|
||||
|
||||
define(9,10,20,110,376,0,listbox,ls,0x7fff,0);on_change(read_pcx);
|
||||
define(9,10,20,110,376,0,listbox,ls,0x7fff,0);on_control_change(read_pcx);
|
||||
property(&b3,NULL,NULL,WINCOLOR);c_default(0);
|
||||
define(10,126,40,21,337,0,scroll_bar_v,0,10,1,0x0200);
|
||||
property(&b2,NULL,NULL,WINCOLOR);
|
||||
define(11,126,20,21,17,0,scroll_button,-1,0,"\x1e");
|
||||
property(&b1,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
property(&b1,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(12,126,380,21,17,0,scroll_button,1,10,"\x1f");
|
||||
property(&b1,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
property(&b1,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(-1,175,20,1,1,0,label,"Cesta:");
|
||||
define(20,175,32,320,12,0,input_line,240);set_default(basic_path);
|
||||
property(&b3,NULL,NULL,WINCOLOR);on_exit(get_directory);
|
||||
property(&b3,NULL,NULL,WINCOLOR);on_control_exit(get_directory);
|
||||
define(30,175,50,2,2,0,picture2);c_default(0);
|
||||
define(40,10,10,80,10,3,check_box,"Oto‡it");c_default(swap);on_change(change_swap);
|
||||
define(45,10,25,160,10,3,check_box,"Grafika Skeldalu");c_default(0);on_change(get_directory);
|
||||
define(40,10,10,80,10,3,check_box,"Oto<EFBFBD>it");c_default(swap);on_control_change(change_swap);
|
||||
define(45,10,25,160,10,3,check_box,"Grafika Skeldalu");c_default(0);on_control_change(get_directory);
|
||||
define(-1,5,80,110,75,1,label,"");property(&b2,NULL,NULL,WINCOLOR);
|
||||
define(-1,10,80,100,70,1,label,"Nov grafika");
|
||||
define(-1,10,80,100,70,1,label,"Nov<EFBFBD> grafika");
|
||||
define(100,10,100,100,10,1,input_line,50);set_default("");property(&b3,NULL,NULL,WINCOLOR);
|
||||
define(-1,10,115,100,12,1,label,"Sn¡mk–");
|
||||
define(-1,10,115,100,12,1,label,"Sn<EFBFBD>mk<EFBFBD>");
|
||||
define(110,10,115,30,10,1,input_line,20,1,15,"%2d");set_default(strs(1));property(&b3,NULL,NULL,WINCOLOR);
|
||||
on_exit(test_int);
|
||||
define(120,10,130,60,20,1,button,"Zalo‘it");property(&b1,NULL,NULL,WINCOLOR);
|
||||
on_change(add_graphics);
|
||||
define(130,10,160,110,50,1,radio_butts,4,"Stˆna","Podlaha","Strop","Oblouk");c_default(0);on_change(refresh_scrs);
|
||||
on_control_exit(test_int);
|
||||
define(120,10,130,60,20,1,button,"Zalo<EFBFBD>it");property(&b1,NULL,NULL,WINCOLOR);
|
||||
on_control_change(add_graphics);
|
||||
define(130,10,160,110,50,1,radio_butts,4,"St<EFBFBD>na","Podlaha","Strop","Oblouk");c_default(0);on_control_change(refresh_scrs);
|
||||
|
||||
define(-1,5,230,110,110,1,label,"");property(&b2,NULL,NULL,WINCOLOR);
|
||||
define(-1,10,230,100,10,1,label,"Vyber grafiku:");
|
||||
define(140,10,255,100,10,1,str_line,side_names);on_enter(string_list_sup);c_default(0);property(&b2,NULL,NULL,WINCOLOR);
|
||||
define(-1,10,270,100,12,1,label,"Sn¡mek");
|
||||
define(-1,10,270,100,12,1,label,"Sn<EFBFBD>mek");
|
||||
define(150,10,270,30,12,1,input_line,20,1,15,"%2d");set_default(strs(1));property(&b3,NULL,NULL,WINCOLOR);
|
||||
on_exit(test_int);
|
||||
define(160,10,300,100,10,1,check_box,"Hlavn¡");c_default(0);on_change(clear_switchs);
|
||||
define(170,10,312,100,10,1,check_box,"Lev ");c_default(0);on_change(clear_switchs);
|
||||
define(180,10,324,100,10,1,check_box,"Prav ");c_default(0);on_change(clear_switchs);
|
||||
define(190,20,345,80,20,1,button,"P©i©adit");property(&b1,NULL,NULL,WINCOLOR);on_change(zmenit);
|
||||
define(200,20,370,80,20,1,button,"Vymazat");property(&b1,NULL,NULL,WINCOLOR);on_change(vymazat);
|
||||
define(200,20,395,80,20,1,button,"N hled");property(&b1,NULL,NULL,WINCOLOR);on_change(nahled);
|
||||
on_control_exit(test_int);
|
||||
define(160,10,300,100,10,1,check_box,"Hlavn<EFBFBD>");c_default(0);on_control_change(clear_switchs);
|
||||
define(170,10,312,100,10,1,check_box,"Lev<EFBFBD>");c_default(0);on_control_change(clear_switchs);
|
||||
define(180,10,324,100,10,1,check_box,"Prav<EFBFBD>");c_default(0);on_control_change(clear_switchs);
|
||||
define(190,20,345,80,20,1,button,"P<EFBFBD>i<EFBFBD>adit");property(&b1,NULL,NULL,WINCOLOR);on_control_change(zmenit);
|
||||
define(200,20,370,80,20,1,button,"Vymazat");property(&b1,NULL,NULL,WINCOLOR);on_control_change(vymazat);
|
||||
define(200,20,395,80,20,1,button,"N<EFBFBD>hled");property(&b1,NULL,NULL,WINCOLOR);on_control_change(nahled);
|
||||
define(-1,130,20,1,400,1,label,"");property(def_border(4,WINCOLOR),NULL,NULL,WINCOLOR);
|
||||
define(-1,100,30,1,1,1,label,"Tv–rce");
|
||||
define(-1,100,45,1,1,1,label,"grafick˜ch");
|
||||
define(-1,100,60,1,1,1,label,"script–");
|
||||
define(-1,100,30,1,1,1,label,"Tv<EFBFBD>rce");
|
||||
define(-1,100,45,1,1,1,label,"grafick<EFBFBD>ch");
|
||||
define(-1,100,60,1,1,1,label,"script<EFBFBD>");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
10
MAPS/STENY.C
10
MAPS/STENY.C
|
@ -163,7 +163,7 @@ void strlist_event(EVENT_MSG *msg,OBJREC *o)
|
|||
i++;
|
||||
}
|
||||
*d=i;
|
||||
terminate();
|
||||
terminate_gui();
|
||||
}
|
||||
}
|
||||
if (msg->msg==E_CONTROL)
|
||||
|
@ -232,16 +232,16 @@ int string_list(char *c,int akt)
|
|||
def_window(WLISTX,WLISTY,"Vyber");
|
||||
waktual->x=x1;
|
||||
waktual->y=y1;
|
||||
on_change(terminate);
|
||||
on_control_change(terminate_gui);
|
||||
set_window_modal();
|
||||
define(19,5,20,WLISTX-30,WLISTY-20,0,listbox,c,RGB555(31,31,31),0);c_default(akt);
|
||||
on_change(terminate);
|
||||
on_control_change(terminate_gui);
|
||||
define(20,3,42,17,WLISTY-64,1,scroll_bar_v,0,1,18,SCROLLBARCOL);
|
||||
property(ctl,NULL,NULL,WINCOLOR);c_default(0);
|
||||
define(21,1,20,21,17,1,scroll_button,-1,0,"\x1e");
|
||||
property(NULL,icones,&cl,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,&cl,WINCOLOR);on_control_change(scroll_support);
|
||||
define(22,1,1,21,17,2,scroll_button,1,1,"\x1f");
|
||||
property(NULL,icones,&cl,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,&cl,WINCOLOR);on_control_change(scroll_support);
|
||||
redraw_window();
|
||||
send_message(E_GUI,19,E_CONTROL,2);
|
||||
redraw_window();
|
||||
|
|
562
MAPS/WIZ_TOOL.C
562
MAPS/WIZ_TOOL.C
File diff suppressed because it is too large
Load diff
152
VIDEO/MGIFEDIT.C
152
VIDEO/MGIFEDIT.C
|
@ -63,7 +63,7 @@ static void f10exit()
|
|||
do
|
||||
{
|
||||
c=*(int*)task_wait_event(E_KEYBOARD);
|
||||
if ((c & 0xff)==0 && (c>>8)=='D') terminate();
|
||||
if ((c & 0xff)==0 && (c>>8)=='D') terminate_gui();
|
||||
if ((c & 0xff)==0 && (c>>8)=='C')
|
||||
{
|
||||
done_mysky();
|
||||
|
@ -122,7 +122,7 @@ long def_window(word xs,word ys,char *name)
|
|||
if (xs>=70)
|
||||
{
|
||||
define(1,1,1,19,16,1,button,"\x0f");
|
||||
property(NULL,icones,&icone_color,WINCOLOR);on_change(close_current);
|
||||
property(NULL,icones,&icone_color,WINCOLOR);on_control_change(close_current);
|
||||
}
|
||||
return q;
|
||||
}
|
||||
|
@ -149,10 +149,10 @@ int def_dialoge(word x,word y,word xs, word ys, char *name,char modal)
|
|||
|
||||
static void display_progress(void)
|
||||
{
|
||||
def_dialoge(10,300,620,80,"Na‡¡t m informace o filmu...",1);
|
||||
def_dialoge(10,300,620,80,"Na<EFBFBD><EFBFBD>t<EFBFBD>m informace o filmu...",1);
|
||||
define(10,10,20,600,30,0,done_bar,100);
|
||||
property(def_border(3,WINCOLOR),NULL,flat_color(0x2e0),WINCOLOR);
|
||||
define(30,5,5,80,20,2,button,"Konec");on_change(terminate);
|
||||
define(30,5,5,80,20,2,button,"Konec");on_control_change(terminate_gui);
|
||||
property(def_border(1,0),vga_font,flat_color(0),BUTTONCOLOR);
|
||||
c_default(0);
|
||||
redraw_window();
|
||||
|
@ -222,11 +222,11 @@ void init_desktop(void)
|
|||
define(5,1,1,14,14,1,color_box);c_default(LABELCOLOR);
|
||||
define(10,2,20,320,180,0,pic_viewer);c_default(0);
|
||||
define(20,26,4,271,17,3,scroll_bar_h,0,total_frames-1,total_frames/16,0x0200);
|
||||
property(def_border(3,WINCOLOR),NULL,NULL,WINCOLOR);c_default(0);on_change(change_frame_pos);
|
||||
property(def_border(3,WINCOLOR),NULL,NULL,WINCOLOR);c_default(0);on_control_change(change_frame_pos);
|
||||
define(21,2,4,21,19,2,scroll_button,1,100,"\x1c");
|
||||
property(NULL,icones,&cl,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,&cl,WINCOLOR);on_control_change(scroll_support);
|
||||
define(22,2,4,21,19,3,scroll_button,-1,-100,"\x1d");
|
||||
property(NULL,icones,&cl,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,&cl,WINCOLOR);on_control_change(scroll_support);
|
||||
redraw_desktop();
|
||||
show_frame(0);
|
||||
}
|
||||
|
@ -246,9 +246,9 @@ static void init_editor()
|
|||
switch(examine_mgif_file(show_progress))
|
||||
{
|
||||
case EX_NOT_FOUND:chyba="MGIF soubor nenalezen!";break;
|
||||
case EX_NO_SOUND:chyba="Film nem zvukovou stopu. Sestav jej se zvukem.";break;
|
||||
case EX_READ_ERROR:chyba="Chyba p©i ‡ten¡. Film je mo‘n po¨kozen";break;
|
||||
case EX_SOUND_ERROR:chyba="Nekonzistentn¡ zvukov stopa!";break;
|
||||
case EX_NO_SOUND:chyba="Film nem<EFBFBD> zvukovou stopu. Sestav jej se zvukem.";break;
|
||||
case EX_READ_ERROR:chyba="Chyba p<EFBFBD>i <20>ten<65>. Film je mo<6D>n<EFBFBD> po<70>kozen";break;
|
||||
case EX_SOUND_ERROR:chyba="Nekonzistentn<EFBFBD> zvukov<6F> stopa!";break;
|
||||
default:chyba=NULL;
|
||||
}
|
||||
if (chyba!=NULL)
|
||||
|
@ -406,9 +406,9 @@ void open_program_window(int track)
|
|||
cl1[0]=0x8000;cl1[1]=0xf;
|
||||
memcpy(cl2,flat_color(0),sizeof(cl2));
|
||||
win_program=def_dialoge(10,250,620,220,smp_prg[track].sample_name,0);
|
||||
define(10,10,20,500,70,0,track_view,&smp_prg[track].levy);on_change(change_frame_clk1);
|
||||
define(10,10,20,500,70,0,track_view,&smp_prg[track].levy);on_control_change(change_frame_clk1);
|
||||
property(def_border(5,WINCOLOR),NULL,NULL,WINCOLOR);c_default(frame);
|
||||
define(20,10,120,500,70,0,track_view,&smp_prg[track].pravy);on_change(change_frame_clk1);
|
||||
define(20,10,120,500,70,0,track_view,&smp_prg[track].pravy);on_control_change(change_frame_clk1);
|
||||
property(def_border(5,WINCOLOR),NULL,NULL,WINCOLOR);c_default(frame);
|
||||
define(30,10,95,500,20,0,starts_view,smp_prg+track);
|
||||
property(def_border(5,WINCOLOR),NULL,NULL,WINCOLOR);c_default(frame);
|
||||
|
@ -416,27 +416,27 @@ void open_program_window(int track)
|
|||
{
|
||||
int y=i;
|
||||
define(40+i,85,20+y,20,35,1,scroll_button,-1,0,"\x1e");
|
||||
property(NULL,icones,&cl1,WINCOLOR);on_change(change_vpoint);on_event(step_clear);
|
||||
property(NULL,icones,&cl1,WINCOLOR);on_control_change(change_vpoint);on_event(step_clear);
|
||||
define(50+i,85,56+y,20,35,1,scroll_button,1,255,"\x1f");
|
||||
property(NULL,icones,&cl1,WINCOLOR);on_change(change_vpoint);on_event(step_clear);
|
||||
define(60+i,10,20+y,20,70,1,button,"X");on_change(change_vpoint);
|
||||
property(NULL,icones,&cl1,WINCOLOR);on_control_change(change_vpoint);on_event(step_clear);
|
||||
define(60+i,10,20+y,20,70,1,button,"X");on_control_change(change_vpoint);
|
||||
property(NULL,vga_font,cl2,WINCOLOR);
|
||||
define(70+i,32,20+y,50,20,1,button,"+ÄÄÄ+");on_change(change_vpoint);
|
||||
define(70+i,32,20+y,50,20,1,button,"+<EFBFBD><EFBFBD><EFBFBD>+");on_control_change(change_vpoint);
|
||||
property(NULL,vga_font,cl2,WINCOLOR);
|
||||
define(80+i,32,45+y,50,20,1,scroll_button,-1,0,"+--+");
|
||||
property(NULL,vga_font,&cl2,WINCOLOR);on_change(change_vpoint);on_event(step_clear);
|
||||
property(NULL,vga_font,&cl2,WINCOLOR);on_control_change(change_vpoint);on_event(step_clear);
|
||||
define(90+i,32,70+y,50,20,1,scroll_button,1,255,"+--+");
|
||||
property(NULL,vga_font,&cl2,WINCOLOR);on_change(change_vpoint);on_event(step_clear);
|
||||
property(NULL,vga_font,&cl2,WINCOLOR);on_control_change(change_vpoint);on_event(step_clear);
|
||||
}
|
||||
define(200,10,95,95,20,1,button,"(re)Start");property(NULL,vga_font,&cl2,WINCOLOR);
|
||||
on_change(toggle_restart);
|
||||
on_control_change(toggle_restart);
|
||||
cl=def_border(1,0);
|
||||
define(210,10,5,80,20,3,button,"Max");property(cl,vga_font,&cl2,BUTTONCOLOR);on_change(max_min_mid_align);
|
||||
define(220,100,5,80,20,3,button,"Min");property(cl,vga_font,&cl2,BUTTONCOLOR);on_change(max_min_mid_align);
|
||||
define(230,190,5,80,20,3,button,"St©ed");property(cl,vga_font,&cl2,BUTTONCOLOR);on_change(max_min_mid_align);
|
||||
define(240,280,5,80,20,3,button,"Jako doln¡");property(cl,vga_font,&cl2,BUTTONCOLOR);on_change(max_min_mid_align);
|
||||
define(250,370,5,80,20,3,button,"Jako horn¡");property(cl,vga_font,&cl2,BUTTONCOLOR);on_change(max_min_mid_align);
|
||||
define(260,10,10,80,10,2,check_box,"Vypnut");on_change(mute_channel);c_default(smp_prg[cur_track].muted);
|
||||
define(210,10,5,80,20,3,button,"Max");property(cl,vga_font,&cl2,BUTTONCOLOR);on_control_change(max_min_mid_align);
|
||||
define(220,100,5,80,20,3,button,"Min");property(cl,vga_font,&cl2,BUTTONCOLOR);on_control_change(max_min_mid_align);
|
||||
define(230,190,5,80,20,3,button,"St<EFBFBD>ed");property(cl,vga_font,&cl2,BUTTONCOLOR);on_control_change(max_min_mid_align);
|
||||
define(240,280,5,80,20,3,button,"Jako doln<EFBFBD>");property(cl,vga_font,&cl2,BUTTONCOLOR);on_control_change(max_min_mid_align);
|
||||
define(250,370,5,80,20,3,button,"Jako horn<EFBFBD>");property(cl,vga_font,&cl2,BUTTONCOLOR);on_control_change(max_min_mid_align);
|
||||
define(260,10,10,80,10,2,check_box,"Vypnut");on_control_change(mute_channel);c_default(smp_prg[cur_track].muted);
|
||||
redraw_window();
|
||||
mute_channel();
|
||||
}
|
||||
|
@ -505,22 +505,22 @@ void new_edit_sample(int track)
|
|||
memcpy(&b1,def_border(1,0),sizeof(CTL3D));
|
||||
memcpy(&b2,def_border(5,WINCOLOR),sizeof(CTL3D));
|
||||
memcpy(&b3,def_border(6,WINCOLOR),sizeof(CTL3D));
|
||||
def_dialoge(20,140,600,200,"Vlo‘ nov˜ zvuk",1);
|
||||
def_dialoge(20,140,600,200,"Vlo<EFBFBD> nov<6F> zvuk",1);
|
||||
dir=create_list(2);str_add(&dir,"<wait>");
|
||||
define(9,10,20,120,166,0,listbox,dir,0x7fff,0);on_change(dopln_jmeno_samplu);
|
||||
define(9,10,20,120,166,0,listbox,dir,0x7fff,0);on_control_change(dopln_jmeno_samplu);
|
||||
property(&b3,NULL,NULL,WINCOLOR);c_default(0);
|
||||
define(10,137,40,19,127,0,scroll_bar_v,0,10,1,0x0200);
|
||||
property(&b2,NULL,NULL,WINCOLOR);
|
||||
define(11,136,20,21,17,0,scroll_button,-1,0,"\x1e");
|
||||
property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(12,136,170,21,17,0,scroll_button,1,10,"\x1f");
|
||||
property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
define(20,170,20,420,12,0,input_line,255);set_default(last_path);on_exit(change_dir);
|
||||
property(NULL,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(20,170,20,420,12,0,input_line,255);set_default(last_path);on_control_exit(change_dir);
|
||||
property(&b3,vga_font,NULL,WINCOLOR);
|
||||
define(-1,170,35,1,1,0,label,"Cesta a jm‚no zvuku");
|
||||
define(-1,170,65,1,1,0,label,"Jm‚no stopy (voliteln‚)");
|
||||
define(-1,170,95,1,1,0,label,"Za‡ tek opakov n¡ (-1 vyp)");
|
||||
define(-1,170,125,1,1,0,label,"Konec opakov n¡");
|
||||
define(-1,170,35,1,1,0,label,"Cesta a jm<EFBFBD>no zvuku");
|
||||
define(-1,170,65,1,1,0,label,"Jm<EFBFBD>no stopy (voliteln<6C>)");
|
||||
define(-1,170,95,1,1,0,label,"Za<EFBFBD><EFBFBD>tek opakov<6F>n<EFBFBD> (-1 vyp)");
|
||||
define(-1,170,125,1,1,0,label,"Konec opakov<EFBFBD>n<EFBFBD>");
|
||||
c=(smp_prg[track].sample_name);if (c==NULL) c=empty;
|
||||
define(30,170,50,420,12,0,input_line,255);set_default(c);
|
||||
property(&b3,vga_font,NULL,WINCOLOR);
|
||||
|
@ -531,8 +531,8 @@ void new_edit_sample(int track)
|
|||
property(&b3,vga_font,NULL,WINCOLOR);
|
||||
define(60,290,140,100,12,0,input_line,199);set_default(itoa(smp_prg[track].loop_end,num,10));
|
||||
property(&b3,vga_font,NULL,WINCOLOR);
|
||||
define(100,10,10,80,20,2,button,"Storno");property(&b1,vga_font,NULL,BUTTONCOLOR);on_change(terminate);
|
||||
define(110,10,35,80,20,2,button,"Ok");property(&b1,vga_font,NULL,BUTTONCOLOR);on_change(terminate);
|
||||
define(100,10,10,80,20,2,button,"Storno");property(&b1,vga_font,NULL,BUTTONCOLOR);on_control_change(terminate_gui);
|
||||
define(110,10,35,80,20,2,button,"Ok");property(&b1,vga_font,NULL,BUTTONCOLOR);on_control_change(terminate_gui);
|
||||
define(120,10,70,38,20,2,button,"");property(&b1,vga_font,NULL,BUTTONCOLOR);
|
||||
define(130,52,70,38,20,2,button,"");property(&b1,vga_font,NULL,BUTTONCOLOR);
|
||||
redraw_window();
|
||||
|
@ -620,7 +620,7 @@ static void delete_sample()
|
|||
int i;
|
||||
i=f_get_value(0,9);
|
||||
if (i>=samples_total || i<0) return;
|
||||
if (msg_box("Ot zka?",'\x2',"Odstranit zvuk?","Ano","Ne",NULL)==2) return;
|
||||
if (msg_box("Ot<EFBFBD>zka?",'\x2',"Odstranit zvuk?","Ano","Ne",NULL)==2) return;
|
||||
open_program_window(-1);
|
||||
remove_sample(i);
|
||||
update_sample_list();
|
||||
|
@ -654,7 +654,7 @@ static void duplic_sample()
|
|||
static void prehrat_cele()
|
||||
{
|
||||
show_frame(-1);
|
||||
def_dialoge(2,42,635,378,"P©ehr t cel‚",1);
|
||||
def_dialoge(2,42,635,378,"P<EFBFBD>ehr<EFBFBD>t cel<65>",1);
|
||||
redraw_window();
|
||||
curcolor=0;
|
||||
start_mixing();
|
||||
|
@ -680,9 +680,9 @@ static void prehrat_preview()
|
|||
x=o->locx+320+4;
|
||||
y=o->locy+180+4;
|
||||
if (x>500) x=2;if (y>400) y=2;
|
||||
def_dialoge(x,y,100,80,"N hled",1);
|
||||
def_dialoge(x,y,100,80,"N<EFBFBD>hled",1);
|
||||
define(10,10,25,80,30,0,button,"STOP");
|
||||
property(def_border(1,0),vga_font,NULL,BUTTONCOLOR);on_change(stop_preview_clk);
|
||||
property(def_border(1,0),vga_font,NULL,BUTTONCOLOR);on_control_change(stop_preview_clk);
|
||||
redraw_window();
|
||||
preview_block(f_get_value(win_preview,20),o->locx,o->locy);
|
||||
close_current();
|
||||
|
@ -695,8 +695,8 @@ static void make()
|
|||
def_dialoge(10,300,620,80,"Sestavuji...",1);
|
||||
define(10,10,20,600,30,0,done_bar,100);c_default(0);
|
||||
property(def_border(3,WINCOLOR),NULL,flat_color(0x2e0),WINCOLOR);
|
||||
define(20,5,5,480,12,3,input_line,100);set_default("Ukl d m projekt....");
|
||||
define(30,5,5,80,20,2,button,"Stop");on_change(terminate);
|
||||
define(20,5,5,480,12,3,input_line,100);set_default("Ukl<EFBFBD>d<EFBFBD>m projekt....");
|
||||
define(30,5,5,80,20,2,button,"Stop");on_control_change(terminate_gui);
|
||||
property(def_border(1,0),vga_font,NULL,BUTTONCOLOR);
|
||||
redraw_window();
|
||||
save_project(prj_name);
|
||||
|
@ -708,7 +708,7 @@ static void build()
|
|||
{
|
||||
int i;
|
||||
|
||||
if (msg_box(PRG_HEADER,'\x2',"Chce¨ spustit REBUILD filmu? Tato funkce sestav¡ CELOU zvukovou stopu, co‘ m–‘e zabrat dost ‡asu","Ano","Ne",NULL)==2) return;
|
||||
if (msg_box(PRG_HEADER,'\x2',"Chce<EFBFBD> spustit REBUILD filmu? Tato funkce sestav<61> CELOU zvukovou stopu, co<63> m<><6D>e zabrat dost <20>asu","Ano","Ne",NULL)==2) return;
|
||||
for(i=0;i<total_frames;i++)
|
||||
mgf_frames[i].changed=1;
|
||||
make();
|
||||
|
@ -717,12 +717,12 @@ static void build()
|
|||
static void exit_prog()
|
||||
{
|
||||
int i;
|
||||
i=msg_box("Exit",'\x2',"Ulo‘it projekt p©ed ukon‡en¡m programu?","Ano","Ne","Storno",NULL);
|
||||
i=msg_box("Exit",'\x2',"Ulo<EFBFBD>it projekt p<>ed ukon<6F>en<65>m programu?","Ano","Ne","Storno",NULL);
|
||||
switch (i)
|
||||
{
|
||||
case 3:return;
|
||||
case 1:save_project(prj_name);
|
||||
case 2:terminate();
|
||||
case 2:terminate_gui();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -742,13 +742,13 @@ static void info()
|
|||
{
|
||||
"Film:",
|
||||
"Project:",
|
||||
"Celkem sn¡mk–:",
|
||||
"Pr zdn˜ch sn¡mk–:",
|
||||
"Vyu‘it pamˆŸ(KB):",
|
||||
"Sestavovac¡ pamˆŸ(KB):",
|
||||
"Celkem sn<EFBFBD>mk<EFBFBD>:",
|
||||
"Pr<EFBFBD>zdn<EFBFBD>ch sn<73>mk<6D>:",
|
||||
"Vyu<EFBFBD>it<EFBFBD> pam<61><6D>(KB):",
|
||||
"Sestavovac<EFBFBD> pam<61><6D>(KB):",
|
||||
"Stop:",
|
||||
"Sestaveno sn¡mk–:",
|
||||
"Cas sestaven¡:",
|
||||
"Sestaveno sn<EFBFBD>mk<EFBFBD>:",
|
||||
"Cas sestaven<EFBFBD>:",
|
||||
};
|
||||
char str[200];char *c;
|
||||
int i;
|
||||
|
@ -775,12 +775,12 @@ static void info()
|
|||
"1/4",
|
||||
"1/8",
|
||||
"1/16");c_default(amplifikace);
|
||||
define(100,5,5,60,20,2,button,"Ok");on_change(terminate);
|
||||
define(100,5,5,60,20,2,button,"Ok");on_control_change(terminate_gui);
|
||||
redraw_window();
|
||||
escape();
|
||||
if (amplifikace!=f_get_value(0,10))
|
||||
{
|
||||
msg_box(PRG_HEADER,'\x1',"Aby tato zmˆna mˆla spr vn˜ efekt, mus¡¨ prov‚st BUILD!","Ok",NULL);
|
||||
msg_box(PRG_HEADER,'\x1',"Aby tato zm<EFBFBD>na m<>la spr<70>vn<76> efekt, mus<75><73> prov<6F>st BUILD!","Ok",NULL);
|
||||
amplifikace=f_get_value(0,10);
|
||||
}
|
||||
close_current();
|
||||
|
@ -796,8 +796,8 @@ char how_frames(char *prompt,int *value)
|
|||
define(10,5,20,1,1,0,label,prompt);
|
||||
define(20,10,35,60,12,1,input_line,10);set_default(itoa(*value,buffer,10));
|
||||
property(def_border(5,WINCOLOR),NULL,NULL,0x7fff);
|
||||
define(30,5,5,80,20,2,button,"Ok");property(&b1,vga_font,NULL,BUTTONCOLOR);on_change(terminate);
|
||||
define(40,90,5,80,20,2,button,"Zru¨it");property(&b1,vga_font,NULL,BUTTONCOLOR);on_change(terminate);
|
||||
define(30,5,5,80,20,2,button,"Ok");property(&b1,vga_font,NULL,BUTTONCOLOR);on_control_change(terminate_gui);
|
||||
define(40,90,5,80,20,2,button,"Zru<EFBFBD>it");property(&b1,vga_font,NULL,BUTTONCOLOR);on_control_change(terminate_gui);
|
||||
redraw_window();
|
||||
chyba:
|
||||
escape();
|
||||
|
@ -806,7 +806,7 @@ char how_frames(char *prompt,int *value)
|
|||
get_value(0,20,buffer);
|
||||
if (sscanf(buffer,"%d",value)!=1)
|
||||
{
|
||||
msg_box(PRG_HEADER,'\x1',"To mus¡ b˜t ‡¡slo!","Ok",NULL);
|
||||
msg_box(PRG_HEADER,'\x1',"To mus<EFBFBD> b<>t <20><>slo!","Ok",NULL);
|
||||
goto chyba;
|
||||
}
|
||||
close_current();
|
||||
|
@ -823,7 +823,7 @@ static void ginsert()
|
|||
|
||||
frame=f_get_value(win_preview,20);
|
||||
v=get_inserted_frames(frame);
|
||||
if (how_frames("Kolik bylo vlo‘eno?",&v)==0) return;
|
||||
if (how_frames("Kolik bylo vlo<EFBFBD>eno?",&v)==0) return;
|
||||
insert_global(frame,v);
|
||||
redraw_desktop();
|
||||
}
|
||||
|
@ -835,7 +835,7 @@ static void gdelete()
|
|||
|
||||
frame=f_get_value(win_preview,20);
|
||||
v=get_deleted_frames();
|
||||
if (how_frames("Kolik bylo vymaz no?",&v)==0) return;
|
||||
if (how_frames("Kolik bylo vymaz<EFBFBD>no?",&v)==0) return;
|
||||
delete_global(frame,v);
|
||||
redraw_desktop();
|
||||
}
|
||||
|
@ -854,26 +854,26 @@ void control_window()
|
|||
memcpy(f_default,flat_color(0x0000),sizeof(charcolors));
|
||||
win_control=def_dialoge(350,10,280,228,PRG_HEADER,0);
|
||||
build_sample_list(&smp_list);
|
||||
define(9,10,20,100,196,0,listbox,smp_list,0x7fff,0);on_change(select_sample);
|
||||
define(9,10,20,100,196,0,listbox,smp_list,0x7fff,0);on_control_change(select_sample);
|
||||
property(&b3,NULL,NULL,WINCOLOR);c_default(-1);
|
||||
define(10,117,40,19,157,0,scroll_bar_v,0,10,1,0x0200);
|
||||
property(&b2,NULL,NULL,WINCOLOR);
|
||||
define(11,116,20,21,17,0,scroll_button,-1,0,"\x1e");
|
||||
property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
property(NULL,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(12,116,200,21,17,0,scroll_button,1,10,"\x1f");
|
||||
property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support);
|
||||
define(20,140,20,65,20,0,button,"Nov˜");property(&b1,vga_font,NULL,BUTTONCOLOR);on_change(new_sample);
|
||||
define(30,210,20,65,20,0,button,"Odstra¤");property(&b1,vga_font,NULL,BUTTONCOLOR);on_change(delete_sample);
|
||||
define(40,140,45,65,20,0,button,"Oprav");property(&b1,vga_font,NULL,BUTTONCOLOR);on_change(edit_sample);
|
||||
define(50,210,45,65,20,0,button,"Duplikuj");property(&b1,vga_font,NULL,BUTTONCOLOR);on_change(duplic_sample);
|
||||
define(60,140,120,65,20,0,button,"P©ehr t");property(&b1,vga_font,NULL,BUTTONCOLOR);on_change(prehrat_cele);
|
||||
define(70,210,120,65,20,0,button,"N hled");property(&b1,vga_font,NULL,BUTTONCOLOR);on_change(prehrat_preview);
|
||||
define(80,140,145,65,20,0,button,"Make");property(&b1,vga_font,NULL,BUTTONCOLOR);on_change(make);
|
||||
define(90,210,145,65,20,0,button,"Build");property(&b1,vga_font,NULL,BUTTONCOLOR);on_change(build);
|
||||
define(100,210,10,65,20,3,button,"Exit");property(&b1,vga_font,NULL,BUTTONCOLOR);on_change(exit_prog);
|
||||
define(110,140,10,65,20,3,button,"Info");property(&b1,vga_font,NULL,BUTTONCOLOR);on_change(info);
|
||||
define(120,140,170,65,20,0,button,"GInsert");property(&b1,vga_font,NULL,BUTTONCOLOR);on_change(ginsert);
|
||||
define(130,210,170,65,20,0,button,"GDelete");property(&b1,vga_font,NULL,BUTTONCOLOR);on_change(gdelete);
|
||||
property(NULL,icones,NULL,WINCOLOR);on_control_change(scroll_support);
|
||||
define(20,140,20,65,20,0,button,"Nov<EFBFBD>");property(&b1,vga_font,NULL,BUTTONCOLOR);on_control_change(new_sample);
|
||||
define(30,210,20,65,20,0,button,"Odstra<EFBFBD>");property(&b1,vga_font,NULL,BUTTONCOLOR);on_control_change(delete_sample);
|
||||
define(40,140,45,65,20,0,button,"Oprav");property(&b1,vga_font,NULL,BUTTONCOLOR);on_control_change(edit_sample);
|
||||
define(50,210,45,65,20,0,button,"Duplikuj");property(&b1,vga_font,NULL,BUTTONCOLOR);on_control_change(duplic_sample);
|
||||
define(60,140,120,65,20,0,button,"P<EFBFBD>ehr<EFBFBD>t");property(&b1,vga_font,NULL,BUTTONCOLOR);on_control_change(prehrat_cele);
|
||||
define(70,210,120,65,20,0,button,"N<EFBFBD>hled");property(&b1,vga_font,NULL,BUTTONCOLOR);on_control_change(prehrat_preview);
|
||||
define(80,140,145,65,20,0,button,"Make");property(&b1,vga_font,NULL,BUTTONCOLOR);on_control_change(make);
|
||||
define(90,210,145,65,20,0,button,"Build");property(&b1,vga_font,NULL,BUTTONCOLOR);on_control_change(build);
|
||||
define(100,210,10,65,20,3,button,"Exit");property(&b1,vga_font,NULL,BUTTONCOLOR);on_control_change(exit_prog);
|
||||
define(110,140,10,65,20,3,button,"Info");property(&b1,vga_font,NULL,BUTTONCOLOR);on_control_change(info);
|
||||
define(120,140,170,65,20,0,button,"GInsert");property(&b1,vga_font,NULL,BUTTONCOLOR);on_control_change(ginsert);
|
||||
define(130,210,170,65,20,0,button,"GDelete");property(&b1,vga_font,NULL,BUTTONCOLOR);on_control_change(gdelete);
|
||||
p=samples_total!=0;
|
||||
set_enable(0,30,p);set_enable(0,40,p);set_enable(0,50,p);
|
||||
redraw_window();
|
||||
|
@ -884,7 +884,7 @@ void main(int argc,char **argv)
|
|||
|
||||
if (argc!=2)
|
||||
{
|
||||
puts("MGF SoundTrack Editor ... (C) 1998 Ond©ej Nov k\n");
|
||||
puts("MGF SoundTrack Editor ... (C) 1998 Ond<EFBFBD>ej Nov<6F>k\n");
|
||||
puts("Usage: MGIFEDIT <film.mgf>");
|
||||
exit(1);
|
||||
}
|
||||
|
@ -893,8 +893,8 @@ void main(int argc,char **argv)
|
|||
prj_name=get_project_name(mgif_filename);
|
||||
switch (load_project(prj_name))
|
||||
{
|
||||
case -1:msg_box(PRG_HEADER,'\x1',"Chyba form tu v projektu!","Zav©¡t",NULL);shutdown();exit(1);
|
||||
case -2:msg_box(PRG_HEADER,'\x1',"Neo‡ek van˜ eof souboru!","Zav©¡t",NULL);shutdown();exit(1);
|
||||
case -1:msg_box(PRG_HEADER,'\x1',"Chyba form<EFBFBD>tu v projektu!","Zav<EFBFBD><EFBFBD>t",NULL);shutdown();exit(1);
|
||||
case -2:msg_box(PRG_HEADER,'\x1',"Neo<EFBFBD>ek<EFBFBD>van<EFBFBD> eof souboru!","Zav<EFBFBD><EFBFBD>t",NULL);shutdown();exit(1);
|
||||
}
|
||||
init_editor();
|
||||
warn_size_mistmach();
|
||||
|
|
|
@ -48,3 +48,4 @@ void SetWheelMapping(char up, char down);
|
|||
|
||||
#define WM_RELOADMAP (WM_APP+215)
|
||||
#define E_RELOADMAP 40
|
||||
|
||||
|
|
5
game/CMakeLists.txt
Normal file
5
game/CMakeLists.txt
Normal file
|
@ -0,0 +1,5 @@
|
|||
SET(files automap.c clk_map.c dialogy.c dump.cpp enemy.c engine2.c globmap.c inv.c kouzla.c menu.c skeldal.c souboje.c
|
||||
builder.c engine1.c gamesave.c interfac.c kniha.c macros.c realgame.c setup.c sndandmus.c specproc.c)
|
||||
|
||||
add_executable(skeldal ${files})
|
||||
|
|
@ -31,14 +31,14 @@
|
|||
#define MEDIUM_MAP_LINE1 RGB555(25,20,17)
|
||||
#define MEDIUM_MAP_LINE2 RGB555(31,22,6)
|
||||
|
||||
word stairs_colors[]=
|
||||
word stairs_colors[7]=
|
||||
{AUTOMAP_LINE1,
|
||||
RGB555(14,12,11),
|
||||
RGB555(15,14,12),
|
||||
RGB555(16,15,12),
|
||||
RGB555(17,16,13)};
|
||||
|
||||
word arrow_colors[]=
|
||||
word arrow_colors[7]=
|
||||
{
|
||||
AUTOMAP_LINE1,
|
||||
AUTOMAP_FORE
|
||||
|
@ -389,6 +389,7 @@ static void draw_amap_sector(int x,int y,int sector,int mode,int turn,int line1,
|
|||
set_font(H_FSYMB,0);k>>=9;
|
||||
switch (k)
|
||||
{
|
||||
default:
|
||||
case 3:break;
|
||||
case 2:set_font(H_FSYMB,0);
|
||||
font_color(stairs_colors);
|
||||
|
@ -612,8 +613,8 @@ void unwire_automap()
|
|||
void *map_keyboard(EVENT_MSG *msg,void **usr)
|
||||
{
|
||||
char c;
|
||||
static draw=0;
|
||||
static xr,yr;
|
||||
static int draw=0;
|
||||
static int xr,yr;
|
||||
|
||||
usr;
|
||||
if (msg->msg==E_INIT) xr=yr=0;
|
||||
|
@ -672,7 +673,7 @@ void show_automap(char full)
|
|||
change_click_map(clk_map_view,CLK_MAP_VIEW);
|
||||
}
|
||||
|
||||
static char mob_not_invis(sector)
|
||||
static char mob_not_invis(int sector)
|
||||
{
|
||||
int m;
|
||||
m=mob_map[sector];
|
||||
|
@ -737,7 +738,7 @@ void draw_medium_map()
|
|||
}
|
||||
}
|
||||
|
||||
static char map_menu_glob_map(int id,int xa,int ya,int xr,int yr)
|
||||
char map_menu_glob_map(int id,int xa,int ya,int xr,int yr)
|
||||
{
|
||||
id,xa,ya,xr,yr;
|
||||
id=set_select_mode(0);
|
||||
|
@ -881,7 +882,7 @@ void wire_kniha()
|
|||
hold_timer(TM_FAST_TIMER,1);
|
||||
}
|
||||
|
||||
static last_selected;
|
||||
static int last_selected;
|
||||
|
||||
char map_target_cancel(int id,int xa,int ya,int xr,int yr)
|
||||
{
|
|
@ -1,7 +1,6 @@
|
|||
#include <skeldal_win.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <conio.h>
|
||||
#include <malloc.h>
|
||||
#include <math.h>
|
||||
#include <bios.h>
|
||||
|
@ -17,7 +16,7 @@
|
|||
#include "engine1.h"
|
||||
#include <pcx.h>
|
||||
#include "globals.h"
|
||||
#include "Version.h"
|
||||
#include "version.h"
|
||||
|
||||
#define ZIVOTY_S 60
|
||||
#define ZIVOTY_E 62
|
||||
|
@ -182,7 +181,7 @@ void show_money()
|
|||
{
|
||||
char c[20];
|
||||
set_font(H_FONT7,RGB555(28,28,21));
|
||||
sprintf(c,"%d",money);
|
||||
sprintf(c,"%ld",money);
|
||||
set_aligned_position(460,13,2,2,c);
|
||||
outtext(c);
|
||||
}
|
||||
|
@ -276,8 +275,9 @@ word *bott_clear(void)
|
|||
{
|
||||
word *bott_scr;
|
||||
|
||||
bott_scr=(word *)getmem(scr_linelen2*104*2);
|
||||
memset(bott_scr,0,_msize(bott_scr));
|
||||
long sz;
|
||||
bott_scr=(word *)getmem(sz = scr_linelen2*104*2);
|
||||
memset(bott_scr,0,sz);
|
||||
return bott_scr;
|
||||
}
|
||||
|
||||
|
@ -304,7 +304,7 @@ static void bott_fletna_normal(void **pp,long *s)
|
|||
set_aligned_position(x,32,1,1,texty[180+i]);outtext(texty[180+i]);
|
||||
}
|
||||
*pp=GetScreenAdr();
|
||||
*s=_msize(*pp);
|
||||
*s=GetScreenSizeBytes();
|
||||
RestoreScreen();
|
||||
}
|
||||
|
||||
|
@ -400,7 +400,7 @@ static void bott_draw_normal(void **pp,long *s)
|
|||
}
|
||||
*/
|
||||
*pp=GetScreenAdr();
|
||||
*s=_msize(*pp);
|
||||
*s=GetScreenSizeBytes();
|
||||
RestoreScreen();
|
||||
}
|
||||
|
||||
|
@ -438,11 +438,11 @@ void bott_disp_text_proc(void **pp,long *ss)
|
|||
}
|
||||
while (p[0]);
|
||||
*pp=GetScreenAdr();
|
||||
*ss=_msize(*pp);
|
||||
*ss=GetScreenSizeBytes();
|
||||
RestoreScreen();
|
||||
}
|
||||
|
||||
void bott_disp_text(char *text)
|
||||
void bott_disp_text(const char *text)
|
||||
{
|
||||
if (text==0) text="Chybi popisek!!";
|
||||
zneplatnit_block(H_BOTTBAR);
|
||||
|
@ -497,7 +497,7 @@ void bott_draw_rune(void **pp,long *ss)
|
|||
outtext(buff);
|
||||
put_picture(70,30,ablock(glob_items[showruneitem].vzhled+face_arr[0]));
|
||||
*pp=GetScreenAdr();
|
||||
*ss=_msize(*pp);
|
||||
*ss=GetScreenSizeBytes();
|
||||
RestoreScreen();
|
||||
}
|
||||
|
||||
|
@ -642,7 +642,7 @@ int enter_tab[VIEW3D_Z+1][VIEW3D_X*2+1]=
|
|||
|
||||
|
||||
|
||||
void crt_minimap_itr(sector,smer,itrx,itry,automap)
|
||||
void crt_minimap_itr(int sector,int smer,int itrx,int itry, int automap)
|
||||
{
|
||||
static int sector_temp;
|
||||
static long sideflags;
|
||||
|
@ -690,7 +690,7 @@ void crt_minimap_itr(sector,smer,itrx,itry,automap)
|
|||
}
|
||||
|
||||
|
||||
void create_minimap(sector,smer)
|
||||
void create_minimap(int sector, int smer)
|
||||
{
|
||||
memset(minimap,0,sizeof(minimap));
|
||||
dirs[1]=smer;
|
||||
|
@ -702,7 +702,7 @@ void create_minimap(sector,smer)
|
|||
static const float Inv2=0.5;
|
||||
static const float Snapper=3<<22;
|
||||
|
||||
__inline int toInt( float fval )
|
||||
static __inline int toInt( float fval )
|
||||
{
|
||||
fval += Snapper;
|
||||
return ( (*(int *)&fval)&0x007fffff ) - 0x00400000;
|
||||
|
@ -767,7 +767,7 @@ int draw_basic_floor(int celx,int cely,int sector)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static calc_item_shiftup(TITEM *it)
|
||||
static int calc_item_shiftup(TITEM *it)
|
||||
{
|
||||
short *s;
|
||||
char *c;
|
||||
|
@ -923,7 +923,7 @@ void draw_players(int sector,int dir,int celx,int cely)
|
|||
|
||||
|
||||
|
||||
int draw_sloup_sector(celx,cely,sector)
|
||||
int draw_sloup_sector(int celx,int cely,int sector)
|
||||
{
|
||||
TSTENA *w,*q;
|
||||
int obl;
|
||||
|
@ -1100,7 +1100,7 @@ static void trace_for_bgr(int dir)
|
|||
}
|
||||
|
||||
|
||||
void render_scene(sector,smer)
|
||||
void render_scene(int sector, int smer)
|
||||
{
|
||||
int i,j,s;
|
||||
|
||||
|
@ -1309,7 +1309,7 @@ void play_fx_at(int where)
|
|||
|
||||
void display_ver(int x,int y,int ax,int ay)
|
||||
{
|
||||
char *ver="Br ny Skeldalu version "VERSION" (C)1998";
|
||||
char *ver="Br<EFBFBD>ny Skeldalu version "VERSION" (C)1998";
|
||||
set_font(H_FTINY,RGB555(31,31,31));set_aligned_position(x,y,ax,ay,ver);
|
||||
outtext(ver);showview(0,0,0,0);
|
||||
}
|
|
@ -53,7 +53,7 @@ typedef struct staty
|
|||
static char women[MAX_XICHTS]={0,1,0,0,0,1,0,0};//,0,0};
|
||||
static int cur_edited=0;
|
||||
static int cur_xicht=-1;
|
||||
static int cur_page=1;
|
||||
int cur_page=1;
|
||||
static int loc_select=-1;
|
||||
|
||||
#define CLK_PAGE1 3
|
||||
|
@ -119,7 +119,7 @@ static void tlac2(int x,int y,char *text,int pushed)
|
|||
set_aligned_position(x,y,1,1,text);outtext(text);
|
||||
}
|
||||
|
||||
static tlac2_press(int x,int y,char *text)
|
||||
static void tlac2_press(int x,int y,char *text)
|
||||
{
|
||||
schovej_mysku();
|
||||
tlac2(x,y,text,1);
|
||||
|
@ -319,7 +319,7 @@ static char page1_tlac2(int id,int xa,int ya,int xr,int yr)
|
|||
}
|
||||
|
||||
|
||||
void enter_generator()
|
||||
char enter_generator()
|
||||
{
|
||||
int i;
|
||||
|
|
@ -251,7 +251,7 @@ char start_invetory(int id,int xa,int ya,int xr,int yr)
|
|||
{
|
||||
if (ms_last_event.event_type & 0x2)
|
||||
{
|
||||
if (GetKeyState(VK_CONTROL) & 0x80)
|
||||
if (get_control_key_state())
|
||||
{
|
||||
if (p->sektor==viewsector)
|
||||
{
|
|
@ -18,6 +18,7 @@
|
|||
#include "engine1.h"
|
||||
#include <pcx.h>
|
||||
#include "globals.h"
|
||||
#include <stdarg.h>
|
||||
|
||||
typedef struct t_paragraph
|
||||
{
|
||||
|
@ -212,7 +213,7 @@ static void error(char *text)
|
|||
{
|
||||
char buff[256];
|
||||
sprintf(buff,"%s v odstavci %d\r\nLocal_pgf=%d / DIALOG : %d / SENTENCE : %d\r\n",text,last_pgf+local_pgf,local_pgf,local_pgf/128,last_pgf);
|
||||
MessageBox(NULL,buff,NULL,MB_OK|MB_ICONSTOP|MB_SYSTEMMODAL);
|
||||
// MessageBox(NULL,buff,NULL,MB_OK|MB_ICONSTOP|MB_SYSTEMMODAL);
|
||||
SEND_LOG("(DIALOGS) Dialog error detected at %d:%d",local_pgf/128,last_pgf);
|
||||
SEND_LOG("(DIALOGS) Error description: %s",text,0);
|
||||
}
|
||||
|
@ -241,7 +242,7 @@ static T_PARAGRAPH *find_paragraph(int num)
|
|||
{
|
||||
char s[80];
|
||||
|
||||
sprintf(s,"Odstavec %d neexistuje! Odkaz byl vyvol n",num);
|
||||
sprintf(s,"Odstavec %d neexistuje! Odkaz byl vyvol<EFBFBD>n",num);
|
||||
error(s);
|
||||
return (T_PARAGRAPH *)pp;
|
||||
}
|
||||
|
@ -392,7 +393,7 @@ static char *Get_string()
|
|||
if (i<=0) c=conv_text(texty[abs(i)]);else c=conv_text(level_texts[i]);
|
||||
return string_buffer;
|
||||
}
|
||||
error("O‡ek v se ©etˆzec nebo index do tabulky ©etˆzc–");
|
||||
error("O<EFBFBD>ek<EFBFBD>v<EFBFBD> se <20>et<65>zec nebo index do tabulky <20>et<65>zc<7A>");
|
||||
exit(0);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -414,7 +415,7 @@ static short Get_short()
|
|||
pc+=2;
|
||||
return varibles[p];
|
||||
}
|
||||
error("O‡ek v se ‡¡slo");
|
||||
error("O<EFBFBD>ek<EFBFBD>v<EFBFBD> se <20><>slo");
|
||||
exit(0);
|
||||
return 0;
|
||||
}
|
||||
|
@ -1009,7 +1010,7 @@ static char ask_who_proc(int id,int xa,int ya,int xr,int yr)
|
|||
}
|
||||
|
||||
|
||||
static dlg_ask_who()
|
||||
static int dlg_ask_who()
|
||||
{
|
||||
draw_all();
|
||||
mouse_set_default(H_MS_WHO);
|
||||
|
@ -1031,7 +1032,7 @@ static dlg_ask_who()
|
|||
|
||||
extern word weapon_skill[];
|
||||
|
||||
static void pract(h,vls,how,max)
|
||||
static void pract(int h,int vls,int how,int max)
|
||||
{
|
||||
iff=0;
|
||||
if (vls>=100)
|
||||
|
@ -1062,7 +1063,7 @@ static void pract(h,vls,how,max)
|
|||
}
|
||||
}
|
||||
|
||||
static void pract_to(h,vls,how)
|
||||
static void pract_to(int h, int vls,int how)
|
||||
{
|
||||
iff=0;
|
||||
if (vls>=100)
|
||||
|
@ -1094,12 +1095,12 @@ static char oper_balance(int val1,int val2,int oper)
|
|||
case OPER_BIGEQ:return val1>=val2;
|
||||
case OPER_LOWEQ:return val1<=val2;
|
||||
case OPER_NOEQ:return val1!=val2;
|
||||
default:error("Chybn˜ operator porovn v n¡");
|
||||
default:error("Chybn<EFBFBD> operator porovn<76>v<EFBFBD>n<EFBFBD>");
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static char test_vls(h,vls,oper,num)
|
||||
static char test_vls(int h,int vls,int oper,int num)
|
||||
{
|
||||
int val;
|
||||
if (vls>=100)
|
||||
|
@ -1284,7 +1285,7 @@ void do_dialog()
|
|||
default:
|
||||
{
|
||||
char s[80];
|
||||
sprintf(s,"Nezn m instrukce: %d",i);
|
||||
sprintf(s,"Nezn<EFBFBD>m<EFBFBD> instrukce: %d",i);
|
||||
error(s);
|
||||
}
|
||||
break;
|
||||
|
@ -1348,7 +1349,7 @@ void call_dialog(int entr,int mob)
|
|||
do_dialog();
|
||||
}
|
||||
|
||||
char save_dialog_info(FILE *f)
|
||||
char save_dialog_info(TMPFILE_WR *f)
|
||||
{
|
||||
int pgf_pocet;
|
||||
int *p,i;
|
||||
|
@ -1359,7 +1360,7 @@ char save_dialog_info(FILE *f)
|
|||
SEND_LOG("(DIALOGS)(SAVELOAD) Saving dialogs info...",0,0);
|
||||
p=ablock(H_DIALOGY_DAT);
|
||||
pgf_pocet=*p;
|
||||
fwrite(&pgf_pocet,1,4,f);
|
||||
temp_storage_write(&pgf_pocet,1*4,f);
|
||||
siz=(pgf_pocet+3)/4;
|
||||
if (siz)
|
||||
{
|
||||
|
@ -1372,15 +1373,15 @@ char save_dialog_info(FILE *f)
|
|||
int j=(i & 3)<<1;
|
||||
c[i>>2]|=(q[i].visited<<j) | (q[i].first<<(j+1));
|
||||
}
|
||||
res|=fwrite(c,1,siz,f)!=siz;
|
||||
temp_storage_write(c,1*siz,f);
|
||||
free(c);
|
||||
}
|
||||
res|=(fwrite(_flag_map,1,sizeof(_flag_map),f)!=sizeof(_flag_map));
|
||||
temp_storage_write(_flag_map,1*sizeof(_flag_map),f);
|
||||
SEND_LOG("(DIALOGS)(SAVELOAD) Done...",0,0);
|
||||
return res;
|
||||
}
|
||||
|
||||
char load_dialog_info(FILE *f)
|
||||
char load_dialog_info(TMPFILE_RD *f)
|
||||
{
|
||||
int pgf_pocet;
|
||||
int *p,i;
|
||||
|
@ -1391,18 +1392,18 @@ char load_dialog_info(FILE *f)
|
|||
SEND_LOG("(DIALOGS)(SAVELOAD) Loading dialogs info...",0,0);
|
||||
p=ablock(H_DIALOGY_DAT);
|
||||
aswap(H_DIALOGY_DAT);
|
||||
fread(&pgf_pocet,1,4,f);
|
||||
temp_storage_read(&pgf_pocet,1*4,f);
|
||||
siz=(pgf_pocet+3)/4;
|
||||
if (pgf_pocet!=*p)
|
||||
{
|
||||
SEND_LOG("(ERROR) Dialogs has different sizes %d!=%d (can be skipped)",pgf_pocet,*p);
|
||||
fseek(f,siz+sizeof(_flag_map),SEEK_CUR);
|
||||
temp_storage_skip(f,siz+sizeof(_flag_map));
|
||||
return 0;
|
||||
}
|
||||
if (siz)
|
||||
{
|
||||
c=getmem(siz);
|
||||
res|=(fread(c,1,siz,f)!=siz);
|
||||
res|=(temp_storage_read(c,1*siz,f)!=siz);
|
||||
p=ablock(H_DIALOGY_DAT);
|
||||
q=(T_PARAGRAPH *)(p+2);
|
||||
for(i=0;i<pgf_pocet;i++)
|
||||
|
@ -1413,7 +1414,7 @@ char load_dialog_info(FILE *f)
|
|||
}
|
||||
free(c);
|
||||
}
|
||||
res|=(fread(_flag_map,1,sizeof(_flag_map),f)!=sizeof(_flag_map));
|
||||
res|=(temp_storage_read(_flag_map,1*sizeof(_flag_map),f)!=sizeof(_flag_map));
|
||||
SEND_LOG("(DIALOGS)(SAVELOAD) Done...",0,0);
|
||||
return res;
|
||||
}
|
|
@ -24,7 +24,6 @@
|
|||
#include <strlite.h>
|
||||
#include <memman.h>
|
||||
#include <bgraph.h>
|
||||
#include <conio.h>
|
||||
|
||||
FILE *dlg;
|
||||
long *odstavce=NULL;
|
91
game/dump.cpp
Normal file
91
game/dump.cpp
Normal file
|
@ -0,0 +1,91 @@
|
|||
#include <iostream>
|
||||
#include <filesystem>
|
||||
#include <regex>
|
||||
#include <string>
|
||||
#include <optional>
|
||||
#include <memman.h>
|
||||
|
||||
int findMaxDumpNumber(const std::string &directoryPath) {
|
||||
namespace fs = std::filesystem;
|
||||
std::regex pattern(R"(dump(\d{4})\.bmp)");
|
||||
int maxNumber = -1;
|
||||
|
||||
for (const auto &entry : fs::directory_iterator(directoryPath)) {
|
||||
if (entry.is_regular_file()) {
|
||||
std::smatch match;
|
||||
std::string fileName = entry.path().filename().string();
|
||||
|
||||
if (std::regex_match(fileName, match, pattern)) {
|
||||
int number = std::stoi(match[1]); // Extrahujeme číslo NNNN
|
||||
if (number > maxNumber) {
|
||||
maxNumber = number; // Aktualizujeme maximální číslo
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return maxNumber;
|
||||
}
|
||||
|
||||
extern "C" {
|
||||
void save_dump(const uint16_t *screen_addr,
|
||||
unsigned int width,
|
||||
unsigned int height,
|
||||
unsigned int linelen);
|
||||
}
|
||||
|
||||
void save_dump(const uint16_t *screen_addr,
|
||||
unsigned int width,
|
||||
unsigned int height,
|
||||
unsigned int linelen) {
|
||||
static int dump_counter = -1;
|
||||
FILE *f;
|
||||
int i, r, g, b, x, y;
|
||||
const uint16_t *a;
|
||||
char c[20];
|
||||
|
||||
if (dump_counter == -1) {
|
||||
dump_counter = findMaxDumpNumber(".");
|
||||
SEND_LOG("(DUMP) Dump counter sets to %d", dump_counter, 0);
|
||||
}
|
||||
sprintf(c, "dump%04d.bmp", ++dump_counter);
|
||||
SEND_LOG("(DUMP) Saving screen shot named '%s'", c, 0);
|
||||
f = fopen(c, "wb");
|
||||
fputc('B', f);
|
||||
fputc('M', f);
|
||||
i = width * height * 3 + 0x36;
|
||||
fwrite(&i, 1, 4, f);
|
||||
i = 0;
|
||||
fwrite(&i, 1, 4, f);
|
||||
i = 0x36;
|
||||
fwrite(&i, 1, 4, f);
|
||||
i = 0x28;
|
||||
fwrite(&i, 1, 4, f);
|
||||
i = width;
|
||||
fwrite(&i, 1, 4, f);
|
||||
i = height;
|
||||
fwrite(&i, 1, 4, f);
|
||||
i = 1;
|
||||
fwrite(&i, 1, 2, f);
|
||||
i = 24;
|
||||
fwrite(&i, 1, 2, f);
|
||||
i = 0;
|
||||
fwrite(&i, 1, 4, f);
|
||||
i = width * height * 3;
|
||||
fwrite(&i, 1, 4, f);
|
||||
for (i = 4, r = 0; i > 0; i--)
|
||||
fwrite(&r, 1, 4, f);
|
||||
for (y = height; y > 0; y--) {
|
||||
const uint16_t *scr = screen_addr;
|
||||
a = scr + (y - 1) * linelen;
|
||||
for (x = 0; x < width; x++) {
|
||||
i = a[x];
|
||||
b = (i & 0x1f) << 3;
|
||||
g = (i & 0x7ff) >> 3;
|
||||
r = i >> 8;
|
||||
i = ((r * 256) + g) * 256 + b;
|
||||
fwrite(&i, 1, 3, f);
|
||||
}
|
||||
}
|
||||
fclose(f);
|
||||
}
|
|
@ -106,38 +106,38 @@ void smeruj_moba(TMOB *m,int smer)
|
|||
}
|
||||
}
|
||||
|
||||
void save_enemy_paths(FILE *f)
|
||||
void save_enemy_paths(TMPFILE_WR *f)
|
||||
{
|
||||
int i,s;
|
||||
word *w;
|
||||
|
||||
for(i=0;i<MAX_MOBS;i++) if (mob_paths[i]!=NULL)
|
||||
{
|
||||
fwrite(&i,2,1,f);
|
||||
temp_storage_write(&i,2*1,f);
|
||||
w=mob_path_ptr[i];
|
||||
s=1;while(*w++) s++;
|
||||
fwrite(&s,1,sizeof(s),f);
|
||||
fwrite(mob_path_ptr[i],s,2,f);
|
||||
temp_storage_write(&s,1*sizeof(s),f);
|
||||
temp_storage_write(mob_path_ptr[i],s*2,f);
|
||||
}
|
||||
s=-1;
|
||||
fwrite(&s,1,2,f);
|
||||
temp_storage_write(&s,1*2,f);
|
||||
}
|
||||
|
||||
int load_enemy_paths(FILE *f)
|
||||
int load_enemy_paths(TMPFILE_RD *f)
|
||||
{
|
||||
short i=-1;
|
||||
int s;
|
||||
word *w;
|
||||
|
||||
for(i=0;i<MAX_MOBS;i++) free_path(i);
|
||||
fread(&i,2,1,f);
|
||||
temp_storage_read(&i,2*1,f);
|
||||
while(i!=-1)
|
||||
{
|
||||
fread(&s,1,sizeof(s),f);
|
||||
temp_storage_read(&s,1*sizeof(s),f);
|
||||
w=NewArr(word,s);
|
||||
fread(w,s,2,f);
|
||||
temp_storage_read(w,s*2,f);
|
||||
register_mob_path(i,w);
|
||||
if (fread(&i,2,1,f)==0) return 1;
|
||||
if (temp_storage_read(&i,2*1,f)==0) return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -240,8 +240,8 @@ static void register_mob_graphics(int num,char *name_part,char *anims,char *seq)
|
|||
{
|
||||
char buff[256];
|
||||
closemode();
|
||||
sprintf(buff,"Soubor sekvence %s obsahuje chybne udaje nebo je sekvence je moc kratka\n");
|
||||
MessageBox(NULL,buff,NULL,MB_OK|MB_ICONSTOP);
|
||||
sprintf(buff,"Soubor sekvence %s obsahuje chybne udaje nebo je sekvence je moc kratka\n", fulname);
|
||||
display_error(buff);
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
@ -377,7 +377,7 @@ void load_enemies(short *data,int size,int *grptr,TMOB *template,long tsize)
|
|||
char buff[256];
|
||||
closemode();
|
||||
sprintf(buff,"Nestvura cislo #%d (%s) je spatne definovana (rychlost)",i,mobs[i].name);
|
||||
MessageBox(NULL,buff,NULL,MB_OK|MB_ICONEXCLAMATION);
|
||||
display_error(buff);
|
||||
exit(1);
|
||||
}
|
||||
cisla[i]=mobs[i].cislo_vzoru;
|
||||
|
@ -534,7 +534,7 @@ int q_vidis_postavu(int sector,int dir,TMOB *p,int *otocit_se,char ret)
|
|||
THUMAN *ps=&postavy[i];
|
||||
xs=map_coord[sector].x-map_coord[postavy[i].sektor].x;
|
||||
ys=map_coord[sector].y-map_coord[postavy[i].sektor].y;
|
||||
d=max(abs(xs),abs(ys));
|
||||
d=MAX(abs(xs),abs(ys));
|
||||
if (d<=p->dohled && (!(ps->vlastnosti[VLS_KOUZLA] & SPL_INVIS)||p->vlajky & MOB_SENSE) && ps->used && ps->lives)
|
||||
switch(dir)
|
||||
{
|
||||
|
@ -832,7 +832,7 @@ void rozhodni_o_smeru(TMOB *p)
|
|||
if (v==1 && p->stay_strategy & MOB_GUARD) r=return_home(p,&dir);
|
||||
if (r)
|
||||
{
|
||||
if (v<2) r=1;else r=rand()*v/(RAND_MAX+1)+1;
|
||||
if (v<2) r=1;else r=rnd(v)+1;
|
||||
vdir=dir=mob_vyber_vychod(r,sect,dir,alone,passable);
|
||||
//if ( p->stay_strategy & MOB_WATCH && rnd(100)<20 && lv<128 && dir!=p->dir) dir=-1;
|
||||
}
|
||||
|
@ -1071,7 +1071,7 @@ void otoc_moba(TMOB *p)
|
|||
}
|
||||
|
||||
|
||||
static mob_check_teleport(int sect,int num)
|
||||
static int mob_check_teleport(int sect,int num)
|
||||
{
|
||||
int i;
|
||||
if (!ISTELEPORTSECT(sect)) return sect;
|
||||
|
@ -1203,7 +1203,7 @@ void vymaz_zasahy(THE_TIMER *q)
|
|||
bott_draw(0);
|
||||
}
|
||||
|
||||
static drop_inventory(TMOB *p)
|
||||
static int drop_inventory(TMOB *p)
|
||||
{
|
||||
int i,x,y,pl;
|
||||
short c[]={0,0};
|
||||
|
@ -1322,7 +1322,7 @@ void mob_strelba(TMOB *p)
|
|||
if (i==item_count)
|
||||
{
|
||||
closemode();
|
||||
MessageBox(NULL,"Nestvura nemuze strilet. Neni nadefinovan obekt sipu",NULL,MB_OK|MB_ICONSTOP);
|
||||
display_error("Nestvura nemuze strilet. Neni nadefinovan obekt sipu");
|
||||
exit(1);
|
||||
}
|
||||
t=glob_items+i;
|
||||
|
@ -1491,7 +1491,7 @@ void mobs_live(int num)
|
|||
char buff[256];
|
||||
closemode();
|
||||
sprintf(buff,"Potvora v neexistujicim sektoru (%d, %d) ",num,p->sector);
|
||||
MessageBox(NULL,buff,NULL,MB_OK|MB_ICONEXCLAMATION);
|
||||
display_error(buff);
|
||||
exit(1);
|
||||
}
|
||||
if (p->headx==p->locx && p->heady==p->locy && !p->anim_phase)
|
|
@ -1,5 +1,4 @@
|
|||
#include <skeldal_win.h>
|
||||
#include <debug.h>
|
||||
#include <types.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
@ -107,7 +106,7 @@ static long old_timer;
|
|||
|
||||
static void wait_timer()
|
||||
{
|
||||
Sleep(10);
|
||||
sleep_ms(10);
|
||||
}
|
||||
|
||||
/*void zooming1(void *source,long target,word *background,void *xlat,long xysize)
|
||||
|
@ -634,14 +633,8 @@ void show_cel(int celx,int cely,void *stena,int xofs,int yofs,char rev)
|
|||
zoom.ycount=realsy+1;
|
||||
zoom.xmax=realsx;
|
||||
zoom.line_len=scr_linelen;
|
||||
__try
|
||||
{
|
||||
if (rev) sikma_zprava(); else sikma_zleva();
|
||||
}
|
||||
__finally
|
||||
{
|
||||
}
|
||||
}
|
||||
if (rev) sikma_zprava(); else sikma_zleva();
|
||||
}
|
||||
|
||||
|
||||
void show_cel2(int celx,int cely,void *stena,int xofs,int yofs,char rev)
|
|
@ -1,8 +1,9 @@
|
|||
#include <skeldal_win.h>
|
||||
#include "types.h"
|
||||
#include "Engine1.h"
|
||||
#include "engine1.h"
|
||||
#include <bgraph.h>
|
||||
|
||||
#include <string.h>
|
||||
|
||||
typedef ZOOMINFO tzoom;
|
||||
|
||||
|
@ -453,8 +454,8 @@ void scroll_and_copy(void *pic,void *slide, void *scr, int _size,int shift, void
|
|||
int y;
|
||||
|
||||
for (y = 0; y < lc; y++ ) {
|
||||
int left = __min(lnfo[0],lnfo[2]);
|
||||
int right = __max(lnfo[1],lnfo[3]);
|
||||
int left = MIN(lnfo[0],lnfo[2]);
|
||||
int right = MAX(lnfo[1],lnfo[3]);
|
||||
int x;
|
||||
for (x = left; x <= right; x++) {
|
||||
|
|
@ -1,11 +1,8 @@
|
|||
#include <skeldal_win.h>
|
||||
#include <debug.h>
|
||||
#include <dos.h>
|
||||
#include <bios.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <conio.h>
|
||||
#include <malloc.h>
|
||||
#include <mem.h>
|
||||
#include <pcx.h>
|
||||
|
@ -17,11 +14,13 @@
|
|||
#include <bmouse.h>
|
||||
#include <memman.h>
|
||||
#include <fcntl.h>
|
||||
#include <io.h>
|
||||
#include <zvuk.h>
|
||||
#include <SYS\STAT.H>
|
||||
#include <stdarg.h>
|
||||
#include "globals.h"
|
||||
#include "temp_storage.h"
|
||||
|
||||
#include <assert.h>
|
||||
#include <sys/stat.h>
|
||||
#define STATE_CUR_VER 1
|
||||
|
||||
#define _GAME_ST "_GAME.TMP"
|
||||
|
@ -38,7 +37,7 @@
|
|||
|
||||
#define SSAVE_VERSION 0
|
||||
|
||||
static FILE *story=NULL;
|
||||
static TMPFILE_WR *story=NULL;
|
||||
static char load_another;
|
||||
char reset_mobiles=0;
|
||||
|
||||
|
@ -91,40 +90,30 @@ static word vypocet_crc(char *data,long delka)
|
|||
while(delka>-1);
|
||||
return l & 0xffff;
|
||||
}
|
||||
static unable_open_temp(char *c)
|
||||
static int unable_open_temp(char *c)
|
||||
{
|
||||
char d[]="Unable to open the file : ",*e;
|
||||
|
||||
concat(e,d,c);
|
||||
closemode();
|
||||
MessageBox(NULL,e,NULL,MB_OK|MB_ICONSTOP);
|
||||
display_error(e);
|
||||
SEND_LOG("(SAVELOAD) Open temp error detected (%s)",c,0);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
static unable_write_temp(char *c)
|
||||
static void unable_write_temp(char *c)
|
||||
{
|
||||
char d[]="Unable to write to the temp file : ",*e;
|
||||
|
||||
concat(e,d,c);
|
||||
closemode();
|
||||
MessageBox(NULL,e,NULL,MB_OK|MB_ICONSTOP);
|
||||
display_error(e);
|
||||
SEND_LOG("(SAVELOAD) Open temp error detected (%s)",c,0);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
void expand_map_file_name(char *s) //prepise *.map na fullpath\*.TMP
|
||||
{
|
||||
char *c;
|
||||
char *st;
|
||||
c=strchr(s,0);
|
||||
while (c!=s && *c!='.' && *c!='\\') c--;
|
||||
if (*c=='.') strcpy(c,".TMP");
|
||||
concat(st,pathtable[SR_TEMP],s);
|
||||
strcpy(s,st);
|
||||
}
|
||||
|
||||
int load_org_map(char *filename,void **sides,void **sectors,void **coords,int *mapsize)
|
||||
int load_org_map(char *filename,TSTENA **sides,TSECTOR **sectors,TMAP_EDIT_INFO **coords,int *mapsize)
|
||||
{
|
||||
FILE *f;
|
||||
void *temp;
|
||||
|
@ -174,18 +163,18 @@ int load_org_map(char *filename,void **sides,void **sectors,void **coords,int *m
|
|||
return 0;
|
||||
}
|
||||
|
||||
void save_daction(FILE *f,int count,D_ACTION *ptr)
|
||||
void save_daction(TMPFILE_WR *f,int count,D_ACTION *ptr)
|
||||
{
|
||||
if (ptr!=NULL)
|
||||
{
|
||||
save_daction(f,count+1,ptr->next);
|
||||
fwrite(ptr,1,sizeof(D_ACTION),f);
|
||||
temp_storage_write(ptr,sizeof(D_ACTION),f);
|
||||
}
|
||||
else
|
||||
fwrite(&count,1,2,f);
|
||||
temp_storage_write(&count,2,f);
|
||||
}
|
||||
|
||||
void load_daction(FILE *fsta)
|
||||
void load_daction(TMPFILE_RD *fsta)
|
||||
{
|
||||
int i,j;
|
||||
i=0;
|
||||
|
@ -194,19 +183,19 @@ void load_daction(FILE *fsta)
|
|||
D_ACTION *p;
|
||||
p=d_action; d_action=p->next;free(p);
|
||||
}
|
||||
fread(&i,1,2,fsta);d_action=NULL;
|
||||
temp_storage_read(&i,2,fsta);d_action=NULL;
|
||||
for(j=0;j<i;j++)
|
||||
{
|
||||
D_ACTION *p;
|
||||
|
||||
p=(D_ACTION *)getmem(sizeof(D_ACTION));
|
||||
fread(p,1,sizeof(D_ACTION),fsta);
|
||||
temp_storage_read(p,sizeof(D_ACTION),fsta);
|
||||
p->next=d_action;
|
||||
d_action=p;
|
||||
}
|
||||
}
|
||||
|
||||
void save_items(FILE *f)
|
||||
void save_items(TMPFILE_WR *f)
|
||||
{
|
||||
int i,j;
|
||||
short *c;
|
||||
|
@ -215,55 +204,55 @@ void save_items(FILE *f)
|
|||
if (map_items[i]!=NULL)
|
||||
{
|
||||
for(j=1,c=map_items[i];*c;c++,j++);
|
||||
fwrite(&i,1,2,f);
|
||||
fwrite(&j,1,2,f);
|
||||
fwrite(map_items[i],2,j,f);
|
||||
temp_storage_write(&i,2,f);
|
||||
temp_storage_write(&j,2,f);
|
||||
temp_storage_write(map_items[i],2*j,f);
|
||||
}
|
||||
i=-1;
|
||||
fwrite(&i,1,2,f);
|
||||
temp_storage_write(&i,2,f);
|
||||
}
|
||||
|
||||
void restore_items(FILE *f)
|
||||
void restore_items(TMPFILE_RD *f)
|
||||
{
|
||||
short i,j;
|
||||
|
||||
for(i=0;i<mapsize*4;i++) if (map_items[i]!=NULL) free(map_items[i]);
|
||||
memset(map_items,0,mapsize*16);
|
||||
while(fread(&i,1,2,f) && i!=-1)
|
||||
while(temp_storage_read(&i,1*2,f) && i!=-1)
|
||||
{
|
||||
fread(&j,1,2,f);
|
||||
temp_storage_read(&j,1*2,f);
|
||||
map_items[i]=(short *)getmem(j*2);
|
||||
fread(map_items[i],2,j,f);
|
||||
temp_storage_read(map_items[i],2*j,f);
|
||||
}
|
||||
}
|
||||
|
||||
extern TSTR_LIST texty_v_mape;
|
||||
|
||||
void save_map_description(FILE *f)
|
||||
void save_map_description(TMPFILE_WR *f)
|
||||
{
|
||||
int count,max;
|
||||
int i;
|
||||
|
||||
if (texty_v_mape==NULL) max=0;else max=str_count(texty_v_mape);
|
||||
for(i=0,count=0;i<max;i++) if (texty_v_mape[i]!=NULL) count++;
|
||||
fwrite(&count,1,sizeof(count),f);
|
||||
temp_storage_write(&count,1*sizeof(count),f);
|
||||
for(i=0;i<max;i++) if (texty_v_mape[i]!=NULL)
|
||||
{
|
||||
int len;
|
||||
len=strlen(texty_v_mape[i]+12)+12+1;
|
||||
fwrite(&len,1,2,f);
|
||||
fwrite(texty_v_mape[i],1,len,f);
|
||||
temp_storage_write(&len,1*2,f);
|
||||
temp_storage_write(texty_v_mape[i],1*len,f);
|
||||
}
|
||||
}
|
||||
|
||||
void load_map_description(FILE *f)
|
||||
void load_map_description(TMPFILE_RD *f)
|
||||
{
|
||||
int count;
|
||||
int i;
|
||||
word len;
|
||||
|
||||
if (texty_v_mape!=NULL)release_list(texty_v_mape);
|
||||
fread(&count,1,sizeof(count),f);
|
||||
temp_storage_read(&count,1*sizeof(count),f);
|
||||
if (!count)
|
||||
{
|
||||
texty_v_mape=NULL;
|
||||
|
@ -272,7 +261,7 @@ void load_map_description(FILE *f)
|
|||
texty_v_mape=create_list(count);
|
||||
for(i=0;i<count;i++)
|
||||
{
|
||||
fread(&len,1,2,f);
|
||||
temp_storage_read(&len,1*2,f);
|
||||
{
|
||||
char *s;
|
||||
s=(char *)alloca(len);
|
||||
|
@ -280,59 +269,59 @@ void load_map_description(FILE *f)
|
|||
s[len-1]=0;
|
||||
str_replace(&texty_v_mape,i,s);
|
||||
}
|
||||
fread(texty_v_mape[i],1,len,f);
|
||||
temp_storage_read(texty_v_mape[i],1*len,f);
|
||||
}
|
||||
}
|
||||
|
||||
void save_vyklenky(FILE *fsta)
|
||||
void save_vyklenky(TMPFILE_WR *fsta)
|
||||
{
|
||||
fwrite(&vyk_max,1,sizeof(vyk_max),fsta);
|
||||
temp_storage_write(&vyk_max,1*sizeof(vyk_max),fsta);
|
||||
if (vyk_max)
|
||||
fwrite(map_vyk,vyk_max,sizeof(TVYKLENEK),fsta);
|
||||
temp_storage_write(map_vyk,vyk_max*sizeof(TVYKLENEK),fsta);
|
||||
}
|
||||
|
||||
int load_vyklenky(FILE *fsta)
|
||||
int load_vyklenky(TMPFILE_RD *fsta)
|
||||
{
|
||||
int i=0;
|
||||
fread(&i,1,sizeof(vyk_max),fsta);
|
||||
temp_storage_read(&i,1*sizeof(vyk_max),fsta);
|
||||
if (vyk_max)
|
||||
{
|
||||
if (i>vyk_max) return -2;
|
||||
fread(map_vyk,vyk_max,sizeof(TVYKLENEK),fsta);
|
||||
temp_storage_read(map_vyk,vyk_max*sizeof(TVYKLENEK),fsta);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void save_all_fly(FILE *fsta)
|
||||
void save_all_fly(TMPFILE_WR *fsta)
|
||||
{
|
||||
LETICI_VEC *f;
|
||||
|
||||
f=letici_veci;
|
||||
fwrite(&f,1,sizeof(f),fsta);
|
||||
temp_storage_write(&f,1*sizeof(f),fsta);
|
||||
while (f!=NULL)
|
||||
{
|
||||
short *c;
|
||||
fwrite(f,1,sizeof(*f),fsta);
|
||||
temp_storage_write(f,1*sizeof(*f),fsta);
|
||||
c=f->items;
|
||||
if (c!=NULL) do fwrite(c,1,2,fsta); while (*c++);
|
||||
if (c!=NULL) do temp_storage_write(c,1*2,fsta); while (*c++);
|
||||
f=f->next;
|
||||
}
|
||||
}
|
||||
|
||||
int load_all_fly(FILE *fsta)
|
||||
int load_all_fly(TMPFILE_RD *fsta)
|
||||
{
|
||||
LETICI_VEC *f=NULL,*n,*p;
|
||||
p=letici_veci;
|
||||
while (p!=NULL) {stop_fly(letici_veci,0);p=p->next;}
|
||||
fread(&f,1,sizeof(f),fsta);
|
||||
temp_storage_read(&f,1*sizeof(f),fsta);
|
||||
p=letici_veci;
|
||||
while (f!=NULL)
|
||||
{
|
||||
short items[100],*c;
|
||||
n=New(LETICI_VEC);
|
||||
c=items;memset(items,0,sizeof(items));
|
||||
if (fread(n,1,sizeof(*n),fsta)!=sizeof(*n))
|
||||
if (temp_storage_read(n,1*sizeof(*n),fsta)!=sizeof(*n))
|
||||
{
|
||||
free(n);
|
||||
if (p!=NULL) p->next=NULL;
|
||||
|
@ -341,7 +330,7 @@ int load_all_fly(FILE *fsta)
|
|||
if (n->items!=NULL)
|
||||
{
|
||||
do
|
||||
fread(c,1,2,fsta);
|
||||
temp_storage_read(c,1*2,fsta);
|
||||
while (*c++);
|
||||
n->items=NewArr(short,c-items);
|
||||
memcpy(n->items,items,(c-items)*sizeof(short));
|
||||
|
@ -361,65 +350,62 @@ int save_map_state() //uklada stav mapy pro savegame (neuklada aktualni pozici);
|
|||
{
|
||||
char sta[200];
|
||||
char *bf;
|
||||
FILE *fsta;
|
||||
TMPFILE_WR *fsta;
|
||||
int i;
|
||||
long siz;
|
||||
TSTENA *org_sides;
|
||||
TSECTOR *org_sectors;
|
||||
short res=-1;
|
||||
int ver=0;
|
||||
unsigned char ver=0;
|
||||
|
||||
restore_sound_names();
|
||||
strcpy(sta,level_fname);
|
||||
expand_map_file_name(sta);
|
||||
fsta=fopen(sta,"wb");if (fsta==NULL) unable_open_temp(sta);
|
||||
fsta=temp_storage_create(sta);if (fsta==NULL) unable_open_temp(sta);
|
||||
SEND_LOG("(SAVELOAD) Saving map state for current map",0,0);
|
||||
if (load_org_map(level_fname,&org_sides,&org_sectors,NULL,NULL)) goto err;
|
||||
siz=(mapsize+7)/8;
|
||||
bf=(char *)getmem(siz);
|
||||
ver=0;
|
||||
fwrite(&ver,sizeof(ver),1,fsta); //<-------------------------
|
||||
ver=STATE_CUR_VER;
|
||||
fwrite(&ver,sizeof(ver),1,fsta); //<-------------------------
|
||||
fwrite(&mapsize,sizeof(mapsize),1,fsta); //<-------------------------
|
||||
temp_storage_write(&ver,sizeof(ver)*1,fsta); //<-------------------------
|
||||
temp_storage_write(&mapsize,sizeof(mapsize)*1,fsta); //<-------------------------
|
||||
memset(bf,0,siz);
|
||||
fwrite(&siz,1,sizeof(siz),fsta); //<-------------------------
|
||||
temp_storage_write(&siz,1*sizeof(siz),fsta); //<-------------------------
|
||||
for(i=0;i<mapsize;i++) //save automap
|
||||
if (map_coord[i].flags & MC_AUTOMAP) bf[i>>3]|=1<<(i & 7);
|
||||
if (!fwrite(bf,siz,1,fsta)) goto err; //<-------------------------
|
||||
temp_storage_write(bf,siz*1,fsta);
|
||||
for(i=0;i<mapsize;i++) //save disclosed
|
||||
if (map_coord[i].flags & MC_DISCLOSED) bf[i>>3]|=1<<(i & 7);
|
||||
if (!fwrite(bf,siz,1,fsta)) goto err; //<-------------------------
|
||||
temp_storage_write(bf,siz*1,fsta);
|
||||
save_map_description(fsta);
|
||||
for(i=0;i<mapsize*4;i++) //save changed sides
|
||||
if (memcmp(map_sides+i,org_sides+i,sizeof(TSTENA)))
|
||||
{
|
||||
fwrite(&i,1,2,fsta);
|
||||
if (fwrite(map_sides+i,1,sizeof(TSTENA),fsta)!=sizeof(TSTENA)) goto err;
|
||||
temp_storage_write(&i,1*2,fsta);
|
||||
temp_storage_write(map_sides+i,1*sizeof(TSTENA),fsta);
|
||||
}
|
||||
i=-1;
|
||||
fwrite(&i,1,2,fsta);
|
||||
temp_storage_write(&i,1*2,fsta);
|
||||
for(i=0;i<mapsize;i++) //save changed sectors
|
||||
if (memcmp(map_sectors+i,org_sectors+i,sizeof(TSECTOR)))
|
||||
{
|
||||
fwrite(&i,1,2,fsta);
|
||||
if (fwrite(map_sectors+i,1,sizeof(TSECTOR),fsta)!=sizeof(TSECTOR)) goto err;
|
||||
temp_storage_write(&i,1*2,fsta);
|
||||
temp_storage_write(map_sectors+i,1*sizeof(TSECTOR),fsta);
|
||||
}
|
||||
i=-1;
|
||||
fwrite(&i,1,2,fsta);
|
||||
temp_storage_write(&i,1*2,fsta);
|
||||
for(i=0;i<MAX_MOBS;i++) if (mobs[i].vlajky & MOB_LIVE)
|
||||
{
|
||||
fwrite(&i,1,2,fsta);
|
||||
fwrite(mobs+i,1,sizeof(TMOB),fsta); //save_mobmap
|
||||
temp_storage_write(&i,1*2,fsta);
|
||||
temp_storage_write(mobs+i,1*sizeof(TMOB),fsta); //save_mobmap
|
||||
}
|
||||
i=-1;
|
||||
fwrite(&i,1,2,fsta);
|
||||
temp_storage_write(&i,1*2,fsta);
|
||||
i=mapsize*4;
|
||||
fwrite(&i,1,sizeof(i),fsta); //save flag maps //<-------------------------
|
||||
if (fwrite(flag_map,1,i,fsta)!=(unsigned)i) goto err; //<-------------------------
|
||||
temp_storage_write(&i,1*sizeof(i),fsta); //save flag maps //<-------------------------
|
||||
temp_storage_write(flag_map,1*i,fsta);
|
||||
save_daction(fsta,0,d_action); //save dactions//<-------------------------
|
||||
fwrite(¯o_block_size,1,sizeof(macro_block_size),fsta);
|
||||
if (macro_block_size)fwrite(macro_block,1,macro_block_size,fsta);//save_macros
|
||||
temp_storage_write(¯o_block_size,1*sizeof(macro_block_size),fsta);
|
||||
if (macro_block_size)temp_storage_write(macro_block,1*macro_block_size,fsta);//save_macros
|
||||
if (save_codelocks(fsta)) goto err;
|
||||
save_items(fsta);
|
||||
save_vyklenky(fsta);
|
||||
|
@ -428,7 +414,7 @@ int save_map_state() //uklada stav mapy pro savegame (neuklada aktualni pozici);
|
|||
res=0;
|
||||
err:
|
||||
SEND_LOG("(SAVELOAD) State of current map saved (err:%d)",res,0);
|
||||
fclose(fsta);
|
||||
temp_storage_close_wr(fsta);
|
||||
free(org_sectors);
|
||||
free(org_sides);
|
||||
free(bf);
|
||||
|
@ -444,76 +430,63 @@ int load_map_state() //obnovuje stav mapy; nutno volat po zavolani load_map;
|
|||
{
|
||||
char sta[200];
|
||||
char *bf;
|
||||
FILE *fsta;
|
||||
TMPFILE_RD *fsta;
|
||||
int i;
|
||||
long siz;
|
||||
short res=-2;
|
||||
int ver=0;
|
||||
|
||||
unsigned char ver=0;
|
||||
|
||||
strcpy(sta,level_fname);
|
||||
expand_map_file_name(sta);
|
||||
fsta=fopen(sta,"rb");if (fsta==NULL) return -1;
|
||||
i=0;fread(&i,sizeof(mapsize),1,fsta);
|
||||
if (i==0)
|
||||
{
|
||||
if (!fread(&ver,sizeof(ver),1,fsta)) goto err;
|
||||
fsta=temp_storage_open(sta);if (fsta==NULL) return -1;
|
||||
i=0;
|
||||
if (!temp_storage_read(&ver,sizeof(ver)*1,fsta)) goto err;
|
||||
if (ver>STATE_CUR_VER) goto err;
|
||||
if (!fread(&i,sizeof(mapsize),1,fsta)) goto err;
|
||||
if (!temp_storage_read(&i,sizeof(mapsize)*1,fsta)) goto err;
|
||||
if (mapsize!=i) goto err;
|
||||
SEND_LOG("(SAVELOAD) Loading map state for current map",0,0);
|
||||
fread(&siz,1,sizeof(siz),fsta);
|
||||
temp_storage_read(&siz,1*sizeof(siz),fsta);
|
||||
bf=(char *)getmem(siz);
|
||||
if (!fread(bf,siz,1,fsta)) goto err;
|
||||
if (!temp_storage_read(bf,siz*1,fsta)) goto err;
|
||||
for (i=0;i<mapsize;i++)
|
||||
if ((bf[i>>3]>>(i & 7)) & 1) map_coord[i].flags|=MC_AUTOMAP;
|
||||
if (!fread(bf,siz,1,fsta)) goto err;
|
||||
if (!temp_storage_read(bf,siz*1,fsta)) goto err;
|
||||
for (i=0;i<mapsize;i++)
|
||||
if ((bf[i>>3]>>(i & 7)) & 1) map_coord[i].flags|=MC_DISCLOSED;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (mapsize!=i) return fclose(fsta);
|
||||
SEND_LOG("(SAVELOAD) Loading map state for current map",0,0);
|
||||
fread(&siz,1,sizeof(siz),fsta);
|
||||
bf=(char *)getmem(siz);
|
||||
if (!fread(bf,siz,1,fsta)) goto err;
|
||||
for (i=0;i<mapsize;i++)
|
||||
map_coord[i].flags|=(bf[i>>3]>>(i & 7)) & 1;
|
||||
}
|
||||
load_map_description(fsta);
|
||||
while (fread(&i,1,2,fsta) && i<=mapsize*4)
|
||||
if (fread(map_sides+i,1,sizeof(TSTENA),fsta)!=sizeof(TSTENA)) goto err;
|
||||
while (fread(&i,1,2,fsta) && i<=mapsize)
|
||||
if (fread(map_sectors+i,1,sizeof(TSECTOR),fsta)!=sizeof(TSECTOR)) goto err;
|
||||
while (temp_storage_read(&i,1*2,fsta) && i<=mapsize*4)
|
||||
if (temp_storage_read(map_sides+i,1*sizeof(TSTENA),fsta)!=sizeof(TSTENA)) goto err;
|
||||
while (temp_storage_read(&i,1*2,fsta) && i<=mapsize)
|
||||
if (temp_storage_read(map_sectors+i,1*sizeof(TSECTOR),fsta)!=sizeof(TSECTOR)) goto err;
|
||||
if (reset_mobiles) //reloads mobiles if flag present
|
||||
{
|
||||
char mm[MAX_MOBS];
|
||||
for(i=0;i<MAX_MOBS;mobs[i].vlajky &=~MOB_LIVE,i++)
|
||||
if (mobs[i].vlajky & MOB_LIVE) mm[i]=1;else mm[i]=0;
|
||||
while (fread(&i,1,2,fsta) && i<=MAX_MOBS)
|
||||
while (temp_storage_read(&i,1*2,fsta) && i<=MAX_MOBS)
|
||||
{
|
||||
if (mm[i]) mobs[i].vlajky |=MOB_LIVE;
|
||||
fseek(fsta,sizeof(TMOB),SEEK_CUR);
|
||||
temp_storage_skip(fsta,sizeof(TMOB));
|
||||
}
|
||||
reset_mobiles=0;
|
||||
}
|
||||
else
|
||||
{
|
||||
for(i=0;i<MAX_MOBS;(mobs[i].vlajky &=~MOB_LIVE),i++);
|
||||
while (fread(&i,1,2,fsta) && i<=MAX_MOBS)
|
||||
if (fread(mobs+i,1,sizeof(TMOB),fsta)!=sizeof(TMOB)) goto err;
|
||||
while (temp_storage_read(&i,1*2,fsta) && i<=MAX_MOBS)
|
||||
if (temp_storage_read(mobs+i,1*sizeof(TMOB),fsta)!=sizeof(TMOB)) goto err;
|
||||
}
|
||||
for(i=0;i<MAX_MOBS;i++) mobs[i].vlajky &=~MOB_IN_BATTLE;
|
||||
refresh_mob_map();
|
||||
fread(&i,1,sizeof(i),fsta);
|
||||
fread(flag_map,1,i,fsta);
|
||||
temp_storage_read(&i,1*sizeof(i),fsta);
|
||||
temp_storage_read(flag_map,1*i,fsta);
|
||||
load_daction(fsta);
|
||||
fread(&i,1,sizeof(macro_block_size),fsta);
|
||||
if (macro_block_size && i==macro_block_size)fread(macro_block,1,macro_block_size,fsta);
|
||||
temp_storage_read(&i,1*sizeof(macro_block_size),fsta);
|
||||
if (macro_block_size && i==macro_block_size) {
|
||||
temp_storage_read(macro_block,1*macro_block_size,fsta);
|
||||
}
|
||||
else
|
||||
{
|
||||
fseek(fsta,i,SEEK_CUR);
|
||||
temp_storage_skip(fsta,i);
|
||||
SEND_LOG("(ERROR) Multiaction: Sizes mismatch %d != %d",i,macro_block_size);
|
||||
}
|
||||
if (load_codelocks(fsta)) goto err;
|
||||
|
@ -524,7 +497,7 @@ int load_map_state() //obnovuje stav mapy; nutno volat po zavolani load_map;
|
|||
res|=load_enemy_paths(fsta);
|
||||
err:
|
||||
SEND_LOG("(SAVELOAD) State of current map loaded (err:%d)",res,0);
|
||||
fclose(fsta);
|
||||
temp_storage_close_rd(fsta);
|
||||
free(bf);
|
||||
return res;
|
||||
}
|
||||
|
@ -547,7 +520,7 @@ void restore_current_map() //pouze obnovuje ulozeny stav aktualni mapy
|
|||
_inline unsigned char rotate(unsigned char c)
|
||||
{
|
||||
return (c >> 1) | (c << 7);
|
||||
/*
|
||||
|
||||
__asm
|
||||
{
|
||||
mov al,c
|
||||
|
@ -563,100 +536,67 @@ _inline unsigned char rotate(unsigned char c)
|
|||
2 internal error
|
||||
3 checksum error
|
||||
*/
|
||||
int pack_status_file(FILE *f,char *status_name)
|
||||
int pack_status_file(FILE *f,const char *status_name)
|
||||
{
|
||||
int stt;
|
||||
char rcheck=0;
|
||||
long fsz;
|
||||
uint32_t fsz;
|
||||
char *buffer,*c,*fullnam;
|
||||
word crc;
|
||||
unsigned char name_len;
|
||||
|
||||
SEND_LOG("(SAVELOAD) Packing status file '%s'",status_name,0);
|
||||
fullnam=alloca(strlen(status_name)+strlen(pathtable[SR_TEMP])+1);
|
||||
if (fullnam==NULL) return 2;
|
||||
strcpy(fullnam,pathtable[SR_TEMP]);
|
||||
strcat(fullnam,status_name);
|
||||
stt=open(fullnam,O_RDONLY | O_BINARY);
|
||||
fsz=filelength(stt);
|
||||
c=buffer=getmem(fsz+12+4+2);
|
||||
strcpy(c,status_name);c+=12;
|
||||
*(long *)c=fsz+2;
|
||||
c+=sizeof(long);
|
||||
read(stt,c,fsz);
|
||||
close(stt);
|
||||
crc=vypocet_crc(c,fsz);
|
||||
c+=fsz;
|
||||
memcpy(c,&crc,sizeof(crc));
|
||||
fsz+=12+4+2;
|
||||
fsz = temp_storage_find(status_name);
|
||||
if (fsz < 0) return 2;
|
||||
name_len = (unsigned char)strlen(status_name);
|
||||
uint32_t extra = 1+name_len+4;
|
||||
c=buffer=getmem(fsz+extra);
|
||||
*c = name_len;
|
||||
++c;
|
||||
memcpy(c,status_name, name_len);
|
||||
c += name_len;
|
||||
memcpy(c,&fsz,4);
|
||||
|
||||
temp_storage_retrieve(status_name, c, fsz);
|
||||
|
||||
fsz+=extra;
|
||||
rcheck=(fwrite(buffer,1,fsz,f)!=(unsigned)fsz);
|
||||
free(buffer);
|
||||
return rcheck;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int unpack_status_file(FILE *f)
|
||||
{
|
||||
int stt;
|
||||
char rcheck=0;
|
||||
long fsz;
|
||||
char *buffer,*c,*fullnam;
|
||||
char name[13];
|
||||
word crc,crccheck;
|
||||
uint32_t fsz;
|
||||
char *buffer;
|
||||
unsigned char namelen = 0;
|
||||
char name[256];
|
||||
|
||||
name[12]=0;
|
||||
name[11]=0;
|
||||
fread(name,1,12,f);
|
||||
fread(&namelen, 1,1, f);
|
||||
if (namelen == 0) return -1;
|
||||
fread(name, 1, namelen, f);
|
||||
SEND_LOG("(SAVELOAD) Unpacking status file '%s'",name,0);
|
||||
if (name[0]==0) return -1;
|
||||
fread(&fsz,1,4,f);
|
||||
c=buffer=(char *)getmem(fsz);
|
||||
buffer=(char *)getmem(fsz);
|
||||
if (fread(buffer,1,fsz,f)!=(unsigned)fsz) return 1;
|
||||
fullnam=alloca(strlen(name)+strlen(pathtable[SR_TEMP])+2);
|
||||
if (fullnam==NULL) return 2;
|
||||
strcpy(fullnam,pathtable[SR_TEMP]);
|
||||
strcat(fullnam,name);
|
||||
fsz-=2;
|
||||
crc=vypocet_crc(c,fsz);
|
||||
c+=fsz;memcpy(&crccheck,c,sizeof(crccheck));
|
||||
if (crc!=crccheck)
|
||||
{
|
||||
free(buffer);
|
||||
return 3;
|
||||
}
|
||||
stt=open(fullnam,O_BINARY | O_RDWR | O_CREAT | O_TRUNC, _S_IREAD | _S_IWRITE);
|
||||
if (stt==-1)
|
||||
{
|
||||
free(buffer);
|
||||
return 1;
|
||||
}
|
||||
rcheck=(write(stt,buffer,fsz)!=fsz) ;
|
||||
temp_storage_store(name, buffer, fsz);
|
||||
free(buffer);
|
||||
close(stt);
|
||||
return rcheck;
|
||||
}
|
||||
|
||||
|
||||
static void pack_status_file_cb(const char *name, void *ctx) {
|
||||
pack_status_file((FILE *)ctx, name);
|
||||
}
|
||||
|
||||
int pack_all_status(FILE *f)
|
||||
{
|
||||
char *c;
|
||||
WIN32_FIND_DATA inf;
|
||||
HANDLE res;
|
||||
|
||||
concat(c,pathtable[SR_TEMP],"*.TMP");
|
||||
res=FindFirstFile(c,&inf);
|
||||
if (res!=INVALID_HANDLE_VALUE)
|
||||
do
|
||||
{
|
||||
int i;
|
||||
if (inf.cFileName[0]!='~')
|
||||
{
|
||||
i=pack_status_file(f,inf.cFileName);
|
||||
if (i) return i;
|
||||
}
|
||||
}
|
||||
while (FindNextFile(res,&inf));
|
||||
FindClose(res);
|
||||
c[0]=0;
|
||||
fwrite(c,1,12,f);
|
||||
return 0;
|
||||
char c = 0;
|
||||
temp_storage_list(pack_status_file_cb, f);
|
||||
fwrite(&c,1,1,f);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int unpack_all_status(FILE *f)
|
||||
|
@ -671,7 +611,7 @@ int unpack_all_status(FILE *f)
|
|||
|
||||
int save_basic_info()
|
||||
{
|
||||
FILE *f;
|
||||
TMPFILE_WR *f;
|
||||
char *c;
|
||||
S_SAVE s;
|
||||
short *p;
|
||||
|
@ -679,9 +619,8 @@ int save_basic_info()
|
|||
char res=0;
|
||||
THUMAN *h;
|
||||
|
||||
concat(c,pathtable[SR_TEMP],_GAME_ST);
|
||||
SEND_LOG("(SAVELOAD) Saving basic info for game (file:%s)",c,0);
|
||||
f=fopen(c,"wb");
|
||||
SEND_LOG("(SAVELOAD) Saving basic info for game (file:%s)",_GAME_ST ,0);
|
||||
f=temp_storage_create(_GAME_ST);
|
||||
if (f==NULL) return 1;
|
||||
s.viewsector=viewsector;
|
||||
s.viewdir=viewdir;
|
||||
|
@ -713,24 +652,24 @@ int save_basic_info()
|
|||
for(i=1,p=picked_item;*p;i++,p++);else i=0;
|
||||
s.picks=i;
|
||||
s.items_added=item_count-it_count_orgn;
|
||||
res|=(fwrite(&s,1,sizeof(s),f)!=sizeof(s));
|
||||
temp_storage_write(&s,1*sizeof(s),f);
|
||||
if (i)
|
||||
res|=(fwrite(picked_item,2,i,f)!=(unsigned)i);
|
||||
temp_storage_write(picked_item,2*i,f);
|
||||
if (s.items_added)
|
||||
res|=(fwrite(glob_items+it_count_orgn,sizeof(TITEM),s.items_added,f)!=(unsigned)s.items_added);
|
||||
res|=save_spells(f);
|
||||
if (!res) res|=(fwrite(postavy,1,sizeof(postavy),f)!=sizeof(postavy));
|
||||
temp_storage_write(glob_items+it_count_orgn,sizeof(TITEM)*s.items_added,f);
|
||||
save_spells(f);
|
||||
temp_storage_write(postavy,1*sizeof(postavy),f);
|
||||
for(i=0,h=postavy;i<POCET_POSTAV;h++,i++) if (h->demon_save!=NULL)
|
||||
fwrite(h->demon_save,sizeof(THUMAN),1,f); //ulozeni polozek s demony
|
||||
temp_storage_write(h->demon_save,sizeof(THUMAN)*1,f); //ulozeni polozek s demony
|
||||
res|=save_dialog_info(f);
|
||||
fclose(f);
|
||||
temp_storage_close_wr(f);
|
||||
SEND_LOG("(SAVELOAD) Done... Result: %d",res,0);
|
||||
return res;
|
||||
}
|
||||
|
||||
int load_basic_info()
|
||||
{
|
||||
FILE *f;
|
||||
TMPFILE_RD *f;
|
||||
char *c;
|
||||
S_SAVE s;
|
||||
int i;
|
||||
|
@ -738,29 +677,28 @@ int load_basic_info()
|
|||
TITEM *itg;
|
||||
THUMAN *h;
|
||||
|
||||
concat(c,pathtable[SR_TEMP],_GAME_ST);
|
||||
SEND_LOG("(SAVELOAD) Loading basic info for game (file:%s)",c,0);
|
||||
f=fopen(c,"rb");
|
||||
SEND_LOG("(SAVELOAD) Loading basic info for game (file:%s)",_GAME_ST,0);
|
||||
f=temp_storage_open(_GAME_ST);
|
||||
if (f==NULL) return 1;
|
||||
res|=(fread(&s,1,sizeof(s),f)!=sizeof(s));
|
||||
res|=(temp_storage_read(&s,1*sizeof(s),f)!=sizeof(s));
|
||||
if (s.game_flags & GM_MAPENABLE) enable_glmap=1;else enable_glmap=0;
|
||||
i=s.picks;
|
||||
if (picked_item!=NULL) free(picked_item);
|
||||
if (i)
|
||||
{
|
||||
picked_item=NewArr(short,i);
|
||||
res|=(fread(picked_item,2,i,f)!=(unsigned)i);
|
||||
res|=(temp_storage_read(picked_item,2*i,f)!=(unsigned)i);
|
||||
}
|
||||
else picked_item=NULL;
|
||||
itg=NewArr(TITEM,it_count_orgn+s.items_added);
|
||||
memcpy(itg,glob_items,it_count_orgn*sizeof(TITEM));
|
||||
free(glob_items);glob_items=itg;
|
||||
if (s.items_added)
|
||||
res|=(fread(glob_items+it_count_orgn,sizeof(TITEM),s.items_added,f)!=(unsigned)s.items_added);
|
||||
res|=(temp_storage_read(glob_items+it_count_orgn,sizeof(TITEM)*s.items_added,f)!=(unsigned)s.items_added);
|
||||
item_count=it_count_orgn+s.items_added;
|
||||
res|=load_spells(f);
|
||||
for(i=0,h=postavy;i<POCET_POSTAV;h++,i++) if (h->demon_save!=NULL) free(h->demon_save);
|
||||
if (!res) res|=(fread(postavy,1,sizeof(postavy),f)!=sizeof(postavy));
|
||||
if (!res) res|=(temp_storage_read(postavy,1*sizeof(postavy),f)!=sizeof(postavy));
|
||||
for(i=0,h=postavy;i<POCET_POSTAV;h++,i++)
|
||||
{
|
||||
h->programovano=0;
|
||||
|
@ -769,11 +707,11 @@ int load_basic_info()
|
|||
if (h->demon_save!=NULL)
|
||||
{
|
||||
h->demon_save=New(THUMAN);
|
||||
fread(h->demon_save,sizeof(THUMAN),1,f);//obnova polozek s demony
|
||||
temp_storage_read(h->demon_save,sizeof(THUMAN)*1,f);//obnova polozek s demony
|
||||
}
|
||||
}
|
||||
res|=load_dialog_info(f);
|
||||
fclose(f);
|
||||
temp_storage_close_rd(f);
|
||||
viewsector=s.viewsector;
|
||||
viewdir=s.viewdir;
|
||||
cur_group=s.cur_group;
|
||||
|
@ -815,7 +753,7 @@ static void MakeSaveGameDir(const char *name)
|
|||
char *p=(char *)alloca(strlen(name)+1);
|
||||
strcpy(p,name);
|
||||
p[strlen(p)-1]=0;
|
||||
CreateDirectory(p,NULL);
|
||||
mkdir(p,0666);
|
||||
}
|
||||
|
||||
static int save_global_events()
|
||||
|
@ -868,7 +806,7 @@ int save_game(int slotnum,char *gamename)
|
|||
{
|
||||
char buff[256];
|
||||
sprintf(buff,"Nelze ulozit pozici na cestu: %s", ssn);
|
||||
MessageBox(NULL,buff,NULL,MB_OK|MB_ICONSTOP|MB_SYSTEMMODAL);
|
||||
display_error(buff);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -925,7 +863,7 @@ int load_game(int slotnum)
|
|||
}
|
||||
for(t=0;t<POCET_POSTAV;t++) postavy[t].zvolene_akce=NULL;
|
||||
SEND_LOG("(SAVELOAD) Game loaded.... Result %d",r,0);
|
||||
if (GetKeyState(VK_CONTROL) & 0x80) correct_level();
|
||||
// if (GetKeyState(VK_CONTROL) & 0x80) correct_level();
|
||||
return r;
|
||||
}
|
||||
|
||||
|
@ -1083,8 +1021,7 @@ static void redraw_story_bar(int pos)
|
|||
showview(x,STORY_Y+SCREEN_OFFLINE,STORY_XS,STORY_YS);
|
||||
}
|
||||
|
||||
//#pragma aux read_story_task parm []
|
||||
static read_story_task(va_list args)
|
||||
static void read_story_task(va_list args)
|
||||
{
|
||||
int slot=va_arg(args,int);
|
||||
|
||||
|
@ -1132,7 +1069,7 @@ static read_story_task(va_list args)
|
|||
|
||||
static void read_story(int slot)
|
||||
{
|
||||
static task_num=-1;
|
||||
static int task_num=-1;
|
||||
|
||||
if (task_num!=-1) term_task(task_num);
|
||||
if (slot!=-1)
|
||||
|
@ -1210,7 +1147,7 @@ static EVENT_PROC(updown_scroll_hold)
|
|||
}
|
||||
}
|
||||
|
||||
static char updown_scroll(int id,int xa,int ya,int xr,int yr)
|
||||
char updown_scroll(int id,int xa,int ya,int xr,int yr)
|
||||
{
|
||||
int count;
|
||||
xr,yr,xa,ya;
|
||||
|
@ -1508,30 +1445,22 @@ void wire_save_load(char save)
|
|||
|
||||
void open_story_file()
|
||||
{
|
||||
char *c;
|
||||
int err;
|
||||
|
||||
concat(c,pathtable[SR_TEMP],STORY_BOOK);
|
||||
story=fopen(c,"a");
|
||||
err=GetLastError();
|
||||
if (story==NULL) story=fopen(c,"w");
|
||||
if (story==NULL)
|
||||
unable_open_temp(c);
|
||||
story=temp_storage_append(STORY_BOOK);
|
||||
SEND_LOG("(STORY) Story temp file is opened....",0,0);
|
||||
}
|
||||
|
||||
|
||||
void write_story_text(char *text)
|
||||
{
|
||||
if (fputs(text,story)==EOF)
|
||||
unable_write_temp(STORY_BOOK);
|
||||
if (fputs("\n",story)==EOF)
|
||||
unable_write_temp(STORY_BOOK);
|
||||
int l = strlen(text);
|
||||
temp_storage_write( text, l, story);
|
||||
temp_storage_write("\n", 1, story);
|
||||
}
|
||||
|
||||
void close_story_file()
|
||||
{
|
||||
if (story!=NULL) fclose(story);
|
||||
if (story!=NULL) temp_storage_close_wr(story);
|
||||
story=NULL;
|
||||
SEND_LOG("(STORY) Story temp file is closed...",0,0);
|
||||
}
|
||||
|
@ -1540,31 +1469,34 @@ static int load_map_state_partial(char *level_fname,int mapsize) //obnovuje stav
|
|||
{
|
||||
char sta[200];
|
||||
char *bf;
|
||||
FILE *fsta;
|
||||
TMPFILE_RD *fsta;
|
||||
int i;
|
||||
long siz;
|
||||
short res=-2;
|
||||
unsigned char ver;
|
||||
|
||||
|
||||
strcpy(sta,level_fname);
|
||||
expand_map_file_name(sta);
|
||||
fsta=fopen(sta,"rb");if (fsta==NULL) return -1;
|
||||
i=0;fread(&i,sizeof(mapsize),1,fsta);if (mapsize!=i)goto err;
|
||||
fsta=temp_storage_open(level_fname);
|
||||
if (fsta==NULL) return -1;
|
||||
if (!temp_storage_read(&ver,sizeof(ver)*1,fsta)) goto err;
|
||||
if (ver>STATE_CUR_VER) goto err;
|
||||
if (!temp_storage_read(&i,sizeof(mapsize)*1,fsta)) goto err;
|
||||
if (mapsize!=i) goto err;
|
||||
SEND_LOG("(SAVELOAD) Partial restore for map: %s (%s)",level_fname,"START");
|
||||
fread(&siz,1,sizeof(siz),fsta);
|
||||
temp_storage_read(&siz,1*sizeof(siz),fsta);
|
||||
bf=(char *)getmem(siz);
|
||||
if (!fread(bf,siz,1,fsta)) goto err;
|
||||
if (!temp_storage_read(bf,siz*1,fsta)) goto err;
|
||||
for (i=0;i<mapsize;i++)
|
||||
map_coord[i].flags|=(bf[i>>3]>>(i & 7)) & 1;
|
||||
load_map_description(fsta);
|
||||
while (fread(&i,1,2,fsta) && i<=mapsize*4)
|
||||
if (fread(map_sides+i,1,sizeof(TSTENA),fsta)!=sizeof(TSTENA)) goto err;
|
||||
while (fread(&i,1,2,fsta) && i<=mapsize)
|
||||
if (fread(map_sectors+i,1,sizeof(TSECTOR),fsta)!=sizeof(TSECTOR)) goto err;
|
||||
while (temp_storage_read(&i,1*2,fsta) && i<=mapsize*4)
|
||||
if (temp_storage_read(map_sides+i,1*sizeof(TSTENA),fsta)!=sizeof(TSTENA)) goto err;
|
||||
while (temp_storage_read(&i,1*2,fsta) && i<=mapsize)
|
||||
if (temp_storage_read(map_sectors+i,1*sizeof(TSECTOR),fsta)!=sizeof(TSECTOR)) goto err;
|
||||
res=0;
|
||||
err:
|
||||
free(bf);
|
||||
fclose(fsta);
|
||||
temp_storage_close_rd(fsta);
|
||||
SEND_LOG("(SAVELOAD) Partial restore for map: %s (%s)",level_fname,"DONE");
|
||||
return res;
|
||||
}
|
|
@ -1,10 +1,15 @@
|
|||
|
||||
#include "types.h"
|
||||
#include "engine1.h"
|
||||
#include "temp_storage.h"
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#define POCET_POSTAV 6
|
||||
#define HODINA 360
|
||||
|
||||
#define MAX_FILESYSTEM_PATH 256
|
||||
|
||||
#define A_SIDEMAP 0x8001
|
||||
#define A_SECTMAP 0x8002
|
||||
|
@ -79,7 +84,10 @@
|
|||
#define SD_DIRECTION 0x03 //smer akce.
|
||||
|
||||
#define get_string(t) texty[t]
|
||||
#define rnd(num) (rand()*(num)/(RAND_MAX+1))
|
||||
static __inline unsigned int rnd(unsigned int max) {
|
||||
return rand() % max;
|
||||
}
|
||||
|
||||
|
||||
static __inline int rangrnd(int a, int b) {return rnd(b-a+1)+a;}
|
||||
|
||||
|
@ -110,8 +118,7 @@ static __inline int rangrnd(int a, int b) {return rnd(b-a+1)+a;}
|
|||
|
||||
#define NOSHADOW(x) ((x)|BGSWITCHBIT)
|
||||
|
||||
#define SWAPPATH pathtable[SR_TEMP]
|
||||
#define TEMP_FILE "~SKELDAL.TMP"
|
||||
|
||||
#define PICTURES "..\\OBRAZKY\\"
|
||||
#define PIC_FADE_PAL_SIZE (10*512+6)
|
||||
|
||||
|
@ -625,7 +632,7 @@ void pcx_8bit_nopal(void **p,long *s);
|
|||
void set_background(void **p,long *s);
|
||||
void wav_load(void **p,long *s);
|
||||
void wire_main_functs();
|
||||
void ukaz_kompas();
|
||||
void ukaz_kompas(char mode);
|
||||
void *timming(EVENT_MSG *msg,void **data);
|
||||
void do_timer();
|
||||
void hold_timer(int id,char hld);
|
||||
|
@ -640,8 +647,11 @@ void bott_draw_proc();
|
|||
THE_TIMER *add_to_timer(int id,int delay,int maxcall,void *proc);
|
||||
void mouse_set_default(int cursor);
|
||||
void create_frame(int x,int y,int xs,int ys,char clear);
|
||||
void save_dump();
|
||||
void bott_disp_text(char *);
|
||||
void save_dump(const uint16_t *screen_addr,
|
||||
unsigned int width,
|
||||
unsigned int height,
|
||||
unsigned int linelen);
|
||||
void bott_disp_text(const char *);
|
||||
void bott_text_forever();
|
||||
char chod_s_postavama(char sekupit);
|
||||
void hide_ms_at(int line); //schova mysku ktera je nad line
|
||||
|
@ -1059,41 +1069,41 @@ char load_saved_shops();
|
|||
#define MAGLOB_LEAVEMAP 0 // v urcitou nastavenou hodinu a minutu dene
|
||||
#define MAGLOB_STARTSLEEP 1 // postavy maji jit spat.
|
||||
#define MAGLOB_ENDSLEEP 2 // postavy se probouzi
|
||||
#define MAGLOB_CLICKSAVE 3 // před otevřením SAVE dialogu
|
||||
#define MAGLOB_AFTERSAVE 4 // po uložení hry
|
||||
#define MAGLOB_BEFOREMAGIC 5 // před vyvoláním kouzla
|
||||
#define MAGLOB_AFTERMAGIC 6 //po vyvolání kouzla
|
||||
#define MAGLOB_BEFOREMAPOPEN 7 //před otevřením mapy
|
||||
#define MAGLOB_AFTERMAPOPEN 8 //po uzavření mapy
|
||||
#define MAGLOB_BEFOREBATTLE 9 //před spuštěním souboje
|
||||
#define MAGLOB_AFTERBATTLE 10 //po ukončení souboje
|
||||
#define MAGLOB_BEFOREBOOK 11 //pred otevřením knihy
|
||||
#define MAGLOB_AFTERBOOK 12 //po uzavření knihy
|
||||
#define MAGLOB_ONROUND 13 //při každém kole nebo po 10s
|
||||
#define MAGLOB_ONDEADMAN 14 //při umrtí muže
|
||||
#define MAGLOB_ONDEADWOMAN 15 //při umrtí ženy
|
||||
#define MAGLOB_ONDEADALL 16 //při umrtí všech postav
|
||||
#define MAGLOB_ONHITMAN 17 //při zásahu muže
|
||||
#define MAGLOB_ONHITWOMAN 18 //při zásahu ženy
|
||||
#define MAGLOB_ONNEWRUNE 19 //při nalezení nové runy
|
||||
#define MAGLOB_ONPICKITEM 20 //při sebrání předmětu (pro speciální předměty)
|
||||
#define MAGLOB_ONSTEP 21 //při kroku (před animaci)
|
||||
#define MAGLOB_ONTURN 22 //při otočení (před animaci)
|
||||
#define MAGLOB_ALARM 23 //při spuštění alarmu
|
||||
#define MAGLOB_CLICKSAVE 3 // p<EFBFBD>ed otev<65>en<65>m SAVE dialogu
|
||||
#define MAGLOB_AFTERSAVE 4 // po ulo<EFBFBD>en<EFBFBD> hry
|
||||
#define MAGLOB_BEFOREMAGIC 5 // p<EFBFBD>ed vyvol<6F>n<EFBFBD>m kouzla
|
||||
#define MAGLOB_AFTERMAGIC 6 //po vyvol<EFBFBD>n<EFBFBD> kouzla
|
||||
#define MAGLOB_BEFOREMAPOPEN 7 //p<EFBFBD>ed otev<65>en<65>m mapy
|
||||
#define MAGLOB_AFTERMAPOPEN 8 //po uzav<EFBFBD>en<EFBFBD> mapy
|
||||
#define MAGLOB_BEFOREBATTLE 9 //p<EFBFBD>ed spu<70>t<EFBFBD>n<EFBFBD>m souboje
|
||||
#define MAGLOB_AFTERBATTLE 10 //po ukon<EFBFBD>en<EFBFBD> souboje
|
||||
#define MAGLOB_BEFOREBOOK 11 //pred otev<EFBFBD>en<EFBFBD>m knihy
|
||||
#define MAGLOB_AFTERBOOK 12 //po uzav<EFBFBD>en<EFBFBD> knihy
|
||||
#define MAGLOB_ONROUND 13 //p<EFBFBD>i ka<6B>d<EFBFBD>m kole nebo po 10s
|
||||
#define MAGLOB_ONDEADMAN 14 //p<EFBFBD>i umrt<72> mu<6D>e
|
||||
#define MAGLOB_ONDEADWOMAN 15 //p<EFBFBD>i umrt<72> <20>eny
|
||||
#define MAGLOB_ONDEADALL 16 //p<EFBFBD>i umrt<72> v<>ech postav
|
||||
#define MAGLOB_ONHITMAN 17 //p<EFBFBD>i z<>sahu mu<6D>e
|
||||
#define MAGLOB_ONHITWOMAN 18 //p<EFBFBD>i z<>sahu <20>eny
|
||||
#define MAGLOB_ONNEWRUNE 19 //p<EFBFBD>i nalezen<65> nov<6F> runy
|
||||
#define MAGLOB_ONPICKITEM 20 //p<EFBFBD>i sebr<62>n<EFBFBD> p<>edm<64>tu (pro speci<63>ln<6C> p<>edm<64>ty)
|
||||
#define MAGLOB_ONSTEP 21 //p<EFBFBD>i kroku (p<>ed animaci)
|
||||
#define MAGLOB_ONTURN 22 //p<EFBFBD>i oto<74>en<65> (p<>ed animaci)
|
||||
#define MAGLOB_ALARM 23 //p<EFBFBD>i spu<70>t<EFBFBD>n<EFBFBD> alarmu
|
||||
#define MAGLOB_ONFIREMAGIC 24
|
||||
#define MAGLOB_ONWATERMAGIC 25
|
||||
#define MAGLOB_ONGROUNDMAGIC 26
|
||||
#define MAGLOB_ONAIRMAGIC 27
|
||||
#define MAGLOB_ONMINDMAGIC 28
|
||||
#define MAGLOB_ONSPELLID1 29 //při jednom konrétním kouzle
|
||||
#define MAGLOB_ONSPELLID2 30 //při jednom konrétním kouzle
|
||||
#define MAGLOB_ONSPELLID3 31 //při jednom konrétním kouzle
|
||||
#define MAGLOB_ONSPELLID4 32 //při jednom konrétním kouzle
|
||||
#define MAGLOB_ONSPELLID5 33 //při jednom konrétním kouzle
|
||||
#define MAGLOB_ONSPELLID6 34 //při jednom konrétním kouzle
|
||||
#define MAGLOB_ONSPELLID7 35 //při jednom konrétním kouzle
|
||||
#define MAGLOB_ONSPELLID8 36 //při jednom konrétním kouzle
|
||||
#define MAGLOB_ONSPELLID9 37 //při jednom konrétním kouzle
|
||||
#define MAGLOB_ONSPELLID1 29 //p<EFBFBD>i jednom konr<6E>tn<74>m kouzle
|
||||
#define MAGLOB_ONSPELLID2 30 //p<EFBFBD>i jednom konr<6E>tn<74>m kouzle
|
||||
#define MAGLOB_ONSPELLID3 31 //p<EFBFBD>i jednom konr<6E>tn<74>m kouzle
|
||||
#define MAGLOB_ONSPELLID4 32 //p<EFBFBD>i jednom konr<6E>tn<74>m kouzle
|
||||
#define MAGLOB_ONSPELLID5 33 //p<EFBFBD>i jednom konr<6E>tn<74>m kouzle
|
||||
#define MAGLOB_ONSPELLID6 34 //p<EFBFBD>i jednom konr<6E>tn<74>m kouzle
|
||||
#define MAGLOB_ONSPELLID7 35 //p<EFBFBD>i jednom konr<6E>tn<74>m kouzle
|
||||
#define MAGLOB_ONSPELLID8 36 //p<EFBFBD>i jednom konr<6E>tn<74>m kouzle
|
||||
#define MAGLOB_ONSPELLID9 37 //p<EFBFBD>i jednom konr<6E>tn<74>m kouzle
|
||||
#define MAGLOB_ONTIMER1 38 //cas - pocet hernich sekund od nastaveni
|
||||
#define MAGLOB_ONTIMER2 39 //cas - pocet hernich sekund od nastaveni
|
||||
#define MAGLOB_ONTIMER3 40 //cas - pocet hernich sekund od nastaveni
|
||||
|
@ -1107,7 +1117,7 @@ char load_saved_shops();
|
|||
#define MAGLOB_ONFLUTE7 48 //zahrani urcite melodie
|
||||
#define MAGLOB_ONFLUTE8 49 //zahrani urcite melodie
|
||||
|
||||
#define MAGLOB_NEXTID 50 //musí být poslední
|
||||
#define MAGLOB_NEXTID 50 //mus<EFBFBD> b<>t posledn<64>
|
||||
|
||||
|
||||
|
||||
|
@ -1283,8 +1293,8 @@ void call_macro(int side,int flags);
|
|||
void call_macro_ex(int side,int flags, int runatsect);
|
||||
char get_player_triggered(int p); //zjistuje zda hrac s cislem p byl makrem zasazen;
|
||||
char save_load_trigger(short load); //uklada/obnovuje trigger vlajky. -1 uklada, jinak hodnota ulozeneho triggeru
|
||||
char save_codelocks(FILE *fsta); //uklada do savegame nastaveni kodovych zamku (128 bytu);
|
||||
char load_codelocks(FILE *fsta); //obnovuje ze savegame nastaveni kodovych zamku (128 bytu);
|
||||
char save_codelocks(TMPFILE_WR *fsta); //uklada do savegame nastaveni kodovych zamku (128 bytu);
|
||||
char load_codelocks(TMPFILE_RD *fsta); //obnovuje ze savegame nastaveni kodovych zamku (128 bytu);
|
||||
|
||||
|
||||
typedef struct letici_vec
|
||||
|
@ -1364,7 +1374,8 @@ void user_setup();
|
|||
void setup_dialoge();
|
||||
char game_setup(int id,int xa,int ya,int xr,int yr);
|
||||
void GamePause();
|
||||
void show_textured_button(int x,int y,int xs,int ys,int texture,void *border3d);
|
||||
typedef struct ctl3d CTL3D;
|
||||
void show_textured_button(int x,int y,int xs,int ys,int texture,CTL3D *border3d);
|
||||
|
||||
//sounder & music
|
||||
|
||||
|
@ -1387,11 +1398,12 @@ void mute_all_tracks(char all);
|
|||
void kill_all_sounds();
|
||||
void create_sound_table(char *template,long size);
|
||||
void create_sound_table_old();
|
||||
void start_play_flute();
|
||||
void start_play_flute(char );
|
||||
void stop_play_flute();
|
||||
void pc_speak_play_sample(char *sample,int size,char step,int freq);
|
||||
char enable_sound(char enbl);
|
||||
|
||||
void wire_main_functs();
|
||||
void unwire_main_functs();
|
||||
|
||||
//enemy
|
||||
#define MOBS_INV 16
|
||||
|
@ -1438,8 +1450,8 @@ typedef struct tmob
|
|||
short lives; //pocet zivotu potvory
|
||||
short cislo_vzoru; //informace urcujici ze ktereho vzoru byl mob vytvoren
|
||||
short speed; //rychlost pohybu
|
||||
short dohled; //kam dohl‚dne
|
||||
short dosah; //okam‘ik za‡ tku souboje
|
||||
short dohled; //kam dohl<EFBFBD>dne
|
||||
short dosah; //okam<EFBFBD>ik za<7A><61>tku souboje
|
||||
char stay_strategy; //chovani moba ve statickem modu (nepronasleduje)
|
||||
char walk_data; //cislo potrebne pro pohyb moba v bludisti
|
||||
word bonus; //bonus za zabiti
|
||||
|
@ -1492,8 +1504,8 @@ int vyber_potvoru(int sect,int dir,int *chaos); //vybere potvoru ze sektoru a sm
|
|||
void load_enemies(short *data,int size,int *grptr,TMOB *template,long tsize);
|
||||
char mob_test_na_bitvu(TMOB *p); //nastavi p->vlajky|MOB_INBATTLE pokud potvora muze vstoupit do bitvy;
|
||||
void send_mob_to(int m,word *path);
|
||||
void save_enemy_paths(FILE *f);
|
||||
int load_enemy_paths(FILE *f);
|
||||
void save_enemy_paths(TMPFILE_WR *f);
|
||||
int load_enemy_paths(TMPFILE_RD *f);
|
||||
void regen_all_mobs();
|
||||
|
||||
|
||||
|
@ -1574,8 +1586,8 @@ void display_spell_in_icone(int handle,int xicht);
|
|||
void reinit_kouzla_full();
|
||||
char get_rune_enable(THUMAN *p,int strnum);
|
||||
void remove_all_mob_spells();
|
||||
int save_spells(FILE *f);
|
||||
int load_spells(FILE *f);
|
||||
int save_spells(TMPFILE_WR *f);
|
||||
int load_spells(TMPFILE_RD *f);
|
||||
char get_spell_track(int num);
|
||||
void mob_cast(int num,TMOB *m,int mob_num);
|
||||
void thing_cast(int num,int postava,int sector,TMOB *victim,char noanim);//vyvolavaji veci
|
||||
|
@ -1648,8 +1660,8 @@ void show_jrc_logo(char *filename);
|
|||
|
||||
//dialogy
|
||||
void call_dialog(int entr,int mob);
|
||||
char save_dialog_info(FILE *f);
|
||||
char load_dialog_info(FILE *f);
|
||||
char save_dialog_info(TMPFILE_WR *f);
|
||||
char load_dialog_info(TMPFILE_RD *f);
|
||||
short *q_item_one(int i,int itnum); //test zda postava i ma vec itnum
|
||||
short *q_item(int itnum,int sector); //test zda-li aspon jeden na sectoru ma vec itnum
|
||||
void change_flag(int flag,char mode); //meni vlajku = 0 - reset, 1 - set, 2 - neg
|
|
@ -1,5 +1,4 @@
|
|||
#include <skeldal_win.h>
|
||||
#include <debug.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <malloc.h>
|
||||
|
@ -11,16 +10,15 @@
|
|||
#include <memman.h>
|
||||
#include <ctype.h>
|
||||
#include <devices.h>
|
||||
#include <conio.h>
|
||||
#include <bmouse.h>
|
||||
#include <bgraph.h>
|
||||
#include <zvuk.h>
|
||||
#include <io.h>
|
||||
#include <strlite.h>
|
||||
#include "engine1.h"
|
||||
#include <pcx.h>
|
||||
#include "globals.h"
|
||||
|
||||
#include <unistd.h>
|
||||
#define GLOBMAP "GLOBMAP.DAT"
|
||||
|
||||
#define ODDELOVACE ";:=,\n{}"
|
||||
|
@ -49,8 +47,8 @@ static int usemap;
|
|||
|
||||
static FILE *glbm;
|
||||
static char oddelovace[]=ODDELOVACE;
|
||||
static last_oddelovac;
|
||||
static linecounter=0;
|
||||
static int last_oddelovac;
|
||||
static int linecounter=0;
|
||||
static int enter_sector=0;
|
||||
static char *symbolmap[]=
|
||||
{
|
||||
|
@ -173,7 +171,7 @@ static void error(char *text)
|
|||
sprintf(popis,"Chyba v souboru "GLOBMAP" na radce %d.\r\n%s",linecounter,text);
|
||||
SEND_LOG("(ERROR) %s : %s",popis,text);
|
||||
closemode();
|
||||
MessageBox(NULL,popis,NULL,MB_OK|MB_ICONSTOP);
|
||||
display_error(popis);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
|
@ -224,7 +222,7 @@ static char test_kriterii(void)
|
|||
case OP_SEKTOR:
|
||||
{
|
||||
int c;
|
||||
if (cti_int_num(&c)) error("O‡ek v se ‡¡slo");
|
||||
if (cti_int_num(&c)) error("O<EFBFBD>ek<EFBFBD>v<EFBFBD> se <20><>slo");
|
||||
hodn=c==enter_sector;
|
||||
}
|
||||
break;
|
||||
|
@ -233,7 +231,7 @@ static char test_kriterii(void)
|
|||
break;
|
||||
case OP_ISDEF:{
|
||||
int c;
|
||||
if (cti_int_num(&c)) error("O‡ek v se ‡¡slo");
|
||||
if (cti_int_num(&c)) error("O<EFBFBD>ek<EFBFBD>v<EFBFBD> se <20><>slo");
|
||||
hodn=index_tab[c].defined;
|
||||
}
|
||||
break;
|
||||
|
@ -241,8 +239,8 @@ static char test_kriterii(void)
|
|||
{
|
||||
int flag_num;
|
||||
|
||||
if (cti_int_num(&flag_num)) error("Za FLG mus¡ b˜t ‡¡slo!");
|
||||
if (flag_num>255) error("€¡slo vlajky (FLG) mus¡ b˜t v rozsahu 0-255!");
|
||||
if (cti_int_num(&flag_num)) error("Za FLG mus<EFBFBD> b<>t <20><>slo!");
|
||||
if (flag_num>255) error("<EFBFBD><EFBFBD>slo vlajky (FLG) mus<75> b<>t v rozsahu 0-255!");
|
||||
hodn=(test_flag(flag_num)!=0);
|
||||
}
|
||||
break;
|
||||
|
@ -274,7 +272,7 @@ static char proved_prikaz()
|
|||
do
|
||||
{
|
||||
while (ODD==OD_NEWLINE || ODD==OD_COMMAND) ODD=cti_oddelovac();
|
||||
if (ODD!=0) error("O‡ek v se jm‚no definice (p©¡klad: INDX=)");
|
||||
if (ODD!=0) error("O<EFBFBD>ek<EFBFBD>v<EFBFBD> se jm<6A>no definice (p<><70>klad: INDX=)");
|
||||
cti_retezec(20,prikaz,1,1);
|
||||
op=get_symbol(prikaz);
|
||||
if (op==OP_BREAK) return 1;
|
||||
|
@ -303,9 +301,9 @@ static char proved_prikaz()
|
|||
|
||||
cti_retezec(20,file,1,1);
|
||||
ODD=cti_oddelovac();if (ODD!=OD_COMMA)ex_error(OD_COMMA);
|
||||
if (cti_int_num(&xp)) error("O‡ek v se ‡¡slo xp");
|
||||
if (cti_int_num(&xp)) error("O<EFBFBD>ek<EFBFBD>v<EFBFBD> se <20><>slo xp");
|
||||
ODD=cti_oddelovac();if (ODD!=OD_COMMA)ex_error(OD_COMMA);
|
||||
if (cti_int_num(&yp)) error("O‡ek v se ‡¡slo yp");
|
||||
if (cti_int_num(&yp)) error("O<EFBFBD>ek<EFBFBD>v<EFBFBD> se <20><>slo yp");
|
||||
h=find_handle(file,pcx_8bit_decomp);
|
||||
if (h==-1) def_handle(h=end_ptr++,file,pcx_8bit_decomp,SR_DIALOGS);
|
||||
put_picture(xp,yp+SCREEN_OFFLINE,ablock(h));
|
||||
|
@ -377,7 +375,7 @@ static void do_script(void)
|
|||
linecounter=0;
|
||||
glbm=fopen(s,"r");
|
||||
free(s);
|
||||
if (glbm==NULL) error("Chyb¡ uveden˜ soubor...");
|
||||
if (glbm==NULL) error("Chyb<EFBFBD> uveden<65> soubor...");
|
||||
ODD=cti_oddelovac();
|
||||
do
|
||||
{
|
||||
|
@ -447,9 +445,9 @@ static int find_leave_place(int sector)
|
|||
return found_place;
|
||||
}
|
||||
|
||||
macro_load_another_map();
|
||||
int macro_load_another_map();
|
||||
|
||||
static select_mode;
|
||||
static int select_mode = 0;
|
||||
|
||||
|
||||
static char load_index_map(int index)
|
|
@ -1,14 +1,9 @@
|
|||
#include <skeldal_win.h>
|
||||
#include <dos.h>
|
||||
#include <bios.h>
|
||||
#include <stdlib.h>
|
||||
#include <io.h>
|
||||
#include <direct.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
//#include <dpmi.h>
|
||||
#include <conio.h>
|
||||
#include <malloc.h>
|
||||
#include <mem.h>
|
||||
#include <pcx.h>
|
||||
|
@ -26,10 +21,11 @@
|
|||
#include <time.h>
|
||||
#include <mgfplay.h>
|
||||
#include <wav.h>
|
||||
#include <io.h>
|
||||
#include <fcntl.h>
|
||||
#include "globals.h"
|
||||
#include "engine1.h"
|
||||
#include <stdarg.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#define MES_MAXSIZE 500
|
||||
#define CHECK_BOX_ANIM 6
|
||||
|
@ -228,7 +224,7 @@ void open_message_win(int pocet_textu,char **texts)
|
|||
{
|
||||
define(i-1,wsx+10,wsy,maxws+10,wsys+10,3,button,texts[i]);
|
||||
property(def_border(5,BAR_COLOR),curfont,flat_color(MSG_COLOR1),BAR_COLOR);
|
||||
on_change(terminate);
|
||||
on_control_change(terminate_gui);
|
||||
wsx+=maxws+20;
|
||||
}
|
||||
redraw_window();
|
||||
|
@ -262,7 +258,7 @@ EVENT_PROC(message_keyboard)
|
|||
if (key!=-1)
|
||||
{
|
||||
goto_control(key);
|
||||
terminate();
|
||||
terminate_gui();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -708,7 +704,7 @@ void radio_butts_gr(OBJREC *o)
|
|||
o->datasize=4;
|
||||
}
|
||||
|
||||
char ask_test(char *text,char def)
|
||||
/*char ask_test(char *text,char def)
|
||||
{
|
||||
char znak;
|
||||
SEND_LOG("(START CHECK) %s",text,0);
|
||||
|
@ -718,7 +714,7 @@ char ask_test(char *text,char def)
|
|||
if (znak!='N' && znak!='A') znak=def;
|
||||
return znak=='A';
|
||||
}
|
||||
|
||||
*/
|
||||
long get_disk_free(char disk)
|
||||
{
|
||||
return 10*1024*1024;
|
||||
|
@ -738,7 +734,7 @@ void start_check()
|
|||
get_mem_info(&memory);
|
||||
concat(c,pathtable[SR_TEMP],TEMP_FILE);
|
||||
// if (!access(c,F_OK))
|
||||
// if (ask_test("Skeldal nebyl spr vnˆ ukon‡en. Mˆl bys provest kontrolu disku\n\rMam spustit SCANDISK?",'A'))
|
||||
// if (ask_test("Skeldal nebyl spr<EFBFBD>vn<EFBFBD> ukon<6F>en. M<>l bys provest kontrolu disku\n\rMam spustit SCANDISK?",'A'))
|
||||
// system("SCANDISK /NOSUMMARY");
|
||||
if (pathtable[SR_TEMP][1]==':') drv=pathtable[SR_TEMP][0];else
|
||||
{
|
||||
|
@ -751,14 +747,14 @@ void start_check()
|
|||
c=alloca(1024);
|
||||
if (siz<1024)
|
||||
{
|
||||
sprintf(c,"Na disku %c: nen¡ pot©ebn‚ 1 MB pro ukl d n¡ pozic. Hroz¡ ‘e pozice nebude kam ukl dat\n\rP©esto spustit?",drv);
|
||||
sprintf(c,"Na disku %c: nen<EFBFBD> pot<6F>ebn<62> 1 MB pro ukl<6B>d<EFBFBD>n<EFBFBD> pozic. Hroz<6F> <20>e pozice nebude kam ukl<6B>dat\n\rP<EFBFBD>esto spustit?",drv);
|
||||
if (!ask_test(c,'N')) exit(1);
|
||||
}
|
||||
else if (siz<50000 && level_preload==1 && memory.LargestBlockAvail<50000000)
|
||||
{
|
||||
sprintf(c,"Na disku %c: neni nutn˜ch 50 MB pro odkl d n¡ dat. Skeldal bude ¨et©it\n\r"
|
||||
"s pamˆt¡ a nahr vat jen pot©ebn data. Hra se m–‘e rapidnˆ zpomalit!\n\r"
|
||||
"Mam to udˆlat?",drv);
|
||||
sprintf(c,"Na disku %c: neni nutn<EFBFBD>ch 50 MB pro odkl<6B>d<EFBFBD>n<EFBFBD> dat. Skeldal bude <20>et<65>it\n\r"
|
||||
"s pam<EFBFBD>t<EFBFBD> a nahr<68>vat jen pot<6F>ebn<62> data. Hra se m<><6D>e rapidn<64> zpomalit!\n\r"
|
||||
"Mam to ud<EFBFBD>lat?",drv);
|
||||
if (ask_test(c,'A')) level_preload=0;
|
||||
}
|
||||
*/
|
||||
|
@ -1051,18 +1047,22 @@ void setup_ok_button(OBJREC *o)
|
|||
|
||||
//-----------------------------------------------------
|
||||
|
||||
typedef struct skeldal_soupak_params_t {
|
||||
int range;
|
||||
void *bgpic;
|
||||
} skeldal_soupak_params;
|
||||
|
||||
static void skeldal_soupak_init (OBJREC *o,int *params)
|
||||
{
|
||||
void **d;
|
||||
d=NewArr(void *,2);
|
||||
d[0]=(void *)*params;
|
||||
d[1]=NULL;
|
||||
o->userptr=d;
|
||||
skeldal_soupak_params *p = getmem(sizeof(skeldal_soupak_params));
|
||||
p->range = *params;
|
||||
p->bgpic = NULL;
|
||||
o->userptr=p;
|
||||
}
|
||||
|
||||
static void skeldal_soupak_draw (int x1,int y1,int x2,int y2,OBJREC *o)
|
||||
{
|
||||
void **z;
|
||||
skeldal_soupak_params *z;
|
||||
int rozsah;
|
||||
int value;
|
||||
word *pic;
|
||||
|
@ -1071,17 +1071,17 @@ static void skeldal_soupak_draw (int x1,int y1,int x2,int y2,OBJREC *o)
|
|||
int xpos;
|
||||
|
||||
z=o->userptr;
|
||||
rozsah=(int)z[0];
|
||||
rozsah=z->range;
|
||||
pic=ablock(H_SOUPAK);
|
||||
total=y2-y1-pic[1];
|
||||
value=*(int *)o->data;
|
||||
xpos=y2-pic[1]-value*total/rozsah;
|
||||
back=z[1];
|
||||
back=z->bgpic;
|
||||
if (back==NULL)
|
||||
{
|
||||
back=NewArr(word,(x2-x1+1)*(y2-y1+1)+3);
|
||||
get_picture(x1,y1,(x2-x1+1),(y2-y1+1),back);
|
||||
z[1]=back;
|
||||
z->bgpic=back;
|
||||
pic=ablock(H_SOUPAK);
|
||||
}
|
||||
else
|
||||
|
@ -1089,12 +1089,12 @@ static void skeldal_soupak_draw (int x1,int y1,int x2,int y2,OBJREC *o)
|
|||
put_picture(x1,xpos,pic);
|
||||
}
|
||||
|
||||
static skeldal_soupak_event(EVENT_MSG *msg,OBJREC *o)
|
||||
static void skeldal_soupak_event(EVENT_MSG *msg,OBJREC *o)
|
||||
{
|
||||
if (msg->msg==E_MOUSE)
|
||||
{
|
||||
MS_EVENT *ms;
|
||||
int *z;
|
||||
skeldal_soupak_params *z;
|
||||
int rozsah;
|
||||
int total;
|
||||
word *pic;
|
||||
|
@ -1103,7 +1103,7 @@ static skeldal_soupak_event(EVENT_MSG *msg,OBJREC *o)
|
|||
ms=get_mouse(msg);
|
||||
if (ms->tl1)
|
||||
{
|
||||
z=o->userptr;rozsah=z[0];
|
||||
z=o->userptr;rozsah=z->range;
|
||||
pic=ablock(H_SOUPAK);
|
||||
total=o->ys-pic[1];
|
||||
ypos=ms->y-o->locy;
|
||||
|
@ -1120,10 +1120,10 @@ static skeldal_soupak_event(EVENT_MSG *msg,OBJREC *o)
|
|||
|
||||
static void skeldal_soupak_done(OBJREC *o)
|
||||
{
|
||||
void **z;
|
||||
skeldal_soupak_params *z;
|
||||
|
||||
z=o->userptr;
|
||||
free(z[1]);
|
||||
free(z->bgpic);
|
||||
free(z);
|
||||
o->userptr=NULL;
|
||||
}
|
||||
|
@ -1180,7 +1180,7 @@ static void play_wav(int wav,int sector)
|
|||
}*/
|
||||
}
|
||||
|
||||
static play_random_sound(int sector,int dir,int pos)
|
||||
static void play_random_sound(int sector,int dir,int pos)
|
||||
{
|
||||
int seed;
|
||||
int v;
|
||||
|
@ -1197,7 +1197,7 @@ static play_random_sound(int sector,int dir,int pos)
|
|||
srand(seed);
|
||||
}
|
||||
|
||||
static play_correct_sound(int sector,int dir)
|
||||
static void play_correct_sound(int sector,int dir)
|
||||
{
|
||||
play_wav(H_SND_SEVER+dir,sector);
|
||||
}
|
||||
|
@ -1474,15 +1474,15 @@ int smlouvat_prodej(int cena,int ponuka,int posledni,int puvod,int pocet)
|
|||
return 5;
|
||||
}
|
||||
|
||||
static smlouvat_enter(EVENT_MSG *msg,OBJREC *o)
|
||||
static void smlouvat_enter(EVENT_MSG *msg,OBJREC *o)
|
||||
{
|
||||
o;
|
||||
if (msg->msg==E_KEYBOARD)
|
||||
{
|
||||
switch( *(char *)msg->data)
|
||||
{
|
||||
case 13:goto_control(30);terminate();break;
|
||||
case 27:goto_control(20);terminate();break;
|
||||
case 13:goto_control(30);terminate_gui();break;
|
||||
case 27:goto_control(20);terminate_gui();break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1501,9 +1501,9 @@ int smlouvat(int cena,int puvod,int pocet,int money,char mode)
|
|||
set_font(H_FBOLD,MSG_COLOR1);
|
||||
define(-1,10,30,1,1,0,label,texty[238]);
|
||||
define(10,150,30,100,13,0,input_line,8);property(def_border(5,BAR_COLOR),NULL,NULL,0);set_default("");
|
||||
on_event(smlouvat_enter);
|
||||
define(20,20,20,80,20,2,button,texty[239]);property(def_border(5,BAR_COLOR),NULL,NULL,BAR_COLOR);on_change(terminate);
|
||||
define(30,110,20,80,20,2,button,texty[230]);property(def_border(5,BAR_COLOR),NULL,NULL,BAR_COLOR);on_change(terminate);
|
||||
on_control_event(smlouvat_enter);
|
||||
define(20,20,20,80,20,2,button,texty[239]);property(def_border(5,BAR_COLOR),NULL,NULL,BAR_COLOR);on_control_change(terminate_gui);
|
||||
define(30,110,20,80,20,2,button,texty[230]);property(def_border(5,BAR_COLOR),NULL,NULL,BAR_COLOR);on_control_change(terminate_gui);
|
||||
do
|
||||
{
|
||||
redraw_window();
|
||||
|
@ -1569,7 +1569,7 @@ void show_jrc_logo(char *filename)
|
|||
|
||||
change_music("?");
|
||||
curcolor=0;bar(0,0,639,479);
|
||||
showview(0,0,0,0);Sleep(1000);
|
||||
showview(0,0,0,0);sleep_ms(1000);
|
||||
concat(s,pathtable[SR_VIDEO],filename);
|
||||
if (open_pcx(s,A_8BIT,&pcx)) return;
|
||||
pcxw=(word *)pcx;
|
|
@ -89,7 +89,7 @@ long shop_hacek_size=0; //toto je jeho delka
|
|||
#define INV_LEVEL_COL1 (NOSHADOW(RGB555(0,0,15)))
|
||||
#define INV_LEVEL_COL2 (RGB555(31,24,0))
|
||||
|
||||
unsigned short butt_plus[]={0x0,(RGB555(25,23,16)),(RGB555(18,17,14)),(RGB555(10,10,5)),(RGB555(31,27,14))};
|
||||
unsigned short butt_plus[7]={0x0,(RGB555(25,23,16)),(RGB555(18,17,14)),(RGB555(10,10,5)),(RGB555(31,27,14))};
|
||||
|
||||
#define PO_XS 194
|
||||
#define PO_YS 340
|
||||
|
@ -181,7 +181,7 @@ void load_items()
|
|||
if (f==NULL)
|
||||
{
|
||||
closemode();
|
||||
MessageBox(NULL,"Selhalo otevreni souboru ITEMS.DAT. Zkotroluj zda vubec existuje.",NULL,MB_OK|MB_ICONSTOP);
|
||||
display_error("Selhalo otevreni souboru ITEMS.DAT. Zkotroluj zda vubec existuje.");
|
||||
exit(0);
|
||||
}
|
||||
do
|
||||
|
@ -620,7 +620,7 @@ static char check_pick(int sect,int id,int idd,int y)
|
|||
return y>min;
|
||||
}
|
||||
|
||||
static get_top_of_next(int sect,int id) //vraci souradnici predmetu na nasledujicim sektoru
|
||||
static int get_top_of_next(int sect,int id) //vraci souradnici predmetu na nasledujicim sektoru
|
||||
{
|
||||
int cnt,idd;
|
||||
|
||||
|
@ -661,7 +661,7 @@ char pick_item_(int id,int xa,int ya,int xr,int yr)
|
|||
else
|
||||
if (id>1 || ya>=get_top_of_next(sect,id))
|
||||
{
|
||||
if ((game_extras & EX_BAG_EXTENDED) && (GetKeyState(VK_CONTROL) & 0x80) &&
|
||||
if ((game_extras & EX_BAG_EXTENDED) && (get_control_key_state()) &&
|
||||
(glob_items[*picked_item-1].nosnost>0))
|
||||
{
|
||||
int curinside=count_items_inside(picked_item);
|
||||
|
@ -845,8 +845,8 @@ void prepocitat_postavu(THUMAN *human_selected)
|
|||
if (human_selected->lives>human_selected->vlastnosti[VLS_MAXHIT]) human_selected->lives=human_selected->vlastnosti[VLS_MAXHIT];
|
||||
//if (human_selected->mana>human_selected->vlastnosti[VLS_MAXMANA]) human_selected->mana=human_selected->vlastnosti[VLS_MAXMANA];
|
||||
if (human_selected->kondice>human_selected->vlastnosti[VLS_KONDIC]) human_selected->kondice=human_selected->vlastnosti[VLS_KONDIC];
|
||||
v=MAX_HLAD(human_selected);human_selected->jidlo=min(human_selected->jidlo,v);
|
||||
v=MAX_ZIZEN(human_selected);human_selected->voda=min(human_selected->voda,v);
|
||||
v=MAX_HLAD(human_selected);human_selected->jidlo=MIN(human_selected->jidlo,v);
|
||||
v=MAX_ZIZEN(human_selected);human_selected->voda=MIN(human_selected->voda,v);
|
||||
}
|
||||
|
||||
|
||||
|
@ -862,6 +862,7 @@ void definuj_postavy()
|
|||
{
|
||||
int i,num1,r,inv=0,z;
|
||||
char *c,*end,cc;
|
||||
int tmp;
|
||||
|
||||
c=ablock(H_POSTAVY_DAT);
|
||||
end=c+get_handle(H_POSTAVY_DAT)->size;
|
||||
|
@ -889,10 +890,10 @@ void definuj_postavy()
|
|||
}
|
||||
break;
|
||||
case 128:r=sscanf(c,"%c%14[^\r]",&cc,p->jmeno);r--;break;
|
||||
case 129:r=sscanf(c,"%hd",&p->female);break;
|
||||
case 130:r=sscanf(c,"%hd",&p->xicht);break;
|
||||
case 131:r=sscanf(c,"%hd",&p->level);break;
|
||||
case 132:r=sscanf(c,"%d",&p->exp);break;
|
||||
case 129:r=sscanf(c,"%d",&tmp);p->female = (char)tmp;break;
|
||||
case 130:r=sscanf(c,"%d",&tmp);p->xicht = (char)tmp;break;
|
||||
case 131:r=sscanf(c,"%d",&tmp);p->level = (short)tmp;break;
|
||||
case 132:r=sscanf(c,"%d",&tmp);p->exp = tmp;break;
|
||||
case 133:r=sscanf(c,"%d",&num1);
|
||||
while(r==1 && num1!=-1)
|
||||
{
|
||||
|
@ -921,7 +922,7 @@ void definuj_postavy()
|
|||
if (r!=1)
|
||||
{
|
||||
closemode();
|
||||
MessageBox(NULL,"Error in file POSTAVY.DAT. May be missing a parameter in some definition.",NULL,MB_OK|MB_ICONSTOP);
|
||||
display_error("Error in file POSTAVY.DAT. May be missing a parameter in some definition.");
|
||||
exit(0);
|
||||
}
|
||||
c=strchr(c,'\n')+1;
|
||||
|
@ -1163,7 +1164,7 @@ void display_rings()
|
|||
}
|
||||
}
|
||||
|
||||
void *build_items_wearing(THUMAN *h)
|
||||
void *build_items_wearing(THUMAN *h, long *s)
|
||||
{
|
||||
int i,vzhled,it;
|
||||
word *p,hx,hy;
|
||||
|
@ -1177,6 +1178,7 @@ void *build_items_wearing(THUMAN *h)
|
|||
ob=getmem(siz=(PO_XS*PO_YS+PIC_FADE_PAL_SIZE));
|
||||
memset(ob,0,siz);
|
||||
memcpy(ob,p,PIC_FADE_PAL_SIZE);
|
||||
*s = siz;
|
||||
ob[0]=PO_XS;
|
||||
ob[1]=PO_YS;
|
||||
put_picture2picture(p,ob,PO_XSS-(hx/2),PO_YS-hy-20);
|
||||
|
@ -1215,8 +1217,7 @@ void *build_items_wearing(THUMAN *h)
|
|||
|
||||
void build_items_called(void **p,long *s)
|
||||
{
|
||||
*p=build_items_wearing(&postavy[memman_handle-H_POSTAVY]);
|
||||
*s=(long)(_msize(*p));
|
||||
*p=build_items_wearing(&postavy[memman_handle-H_POSTAVY], s);
|
||||
}
|
||||
|
||||
void display_items_wearing(THUMAN *h)
|
||||
|
@ -1277,14 +1278,14 @@ typedef struct t_inv_script
|
|||
short parm1,parm2;
|
||||
char lenght;
|
||||
char align;
|
||||
};
|
||||
} T_INV_SCRIPT;
|
||||
|
||||
#define INFO_AP -1
|
||||
#define INFO_EXP -2
|
||||
#define LINE_STEP 6
|
||||
#define COL_STEP 8
|
||||
|
||||
static struct t_inv_script script[]=
|
||||
static T_INV_SCRIPT script[]=
|
||||
{
|
||||
{15,12,"%d",pvls(VLS_SILA),0,2+128,2},
|
||||
{15,14,"%d",pvls(VLS_SMAGIE),0,2+128,2},
|
||||
|
@ -1448,7 +1449,7 @@ void hide_inv_info_box()
|
|||
void inv_info_box(char *text1,char *text2,char *text3,char asterix)
|
||||
{
|
||||
int x,y,ys;
|
||||
static last_info_ys=0;
|
||||
static int last_info_ys=0;
|
||||
ys=INV_INFO_YS;
|
||||
if (text3!=NULL) ys+=INV_INFO_XP;
|
||||
if (info_box_below!=NULL && last_info_ys!=ys)
|
||||
|
@ -1772,7 +1773,7 @@ static char MakeItemCombinations(short *itm1, short *itm2)
|
|||
if (table==0 && pathtable[SR_MAP2][0])
|
||||
{
|
||||
concat(fname,pathtable[SR_MAP2],fname);
|
||||
table=fopen(table,"r");
|
||||
table=fopen(fname,"r");
|
||||
}
|
||||
if (table==0) return 0;
|
||||
cnt=fscanf(table,"%d %d -> %d %d",&src1,&src2,&trg1,&trg2);
|
||||
|
@ -2381,7 +2382,7 @@ static void shop_mouse_event(EVENT_MSG *msg,void **unused)
|
|||
MS_EVENT *ms;
|
||||
int x,y;
|
||||
char cc=1;
|
||||
static last_pos=-1;
|
||||
static int last_pos=-1;
|
||||
|
||||
ms=get_mouse(msg);
|
||||
x=ms->x-(BUYBOX_X+SHP_ICPLCX);
|
||||
|
@ -2632,7 +2633,7 @@ static void redraw_keepers_items()
|
|||
showview(BUYBOX_X,BUYBOX_Y,w[0],w[1]);
|
||||
}
|
||||
|
||||
static char shop_keeper_click(int id, int xa, int ya,int xr,int yr)
|
||||
char shop_keeper_click(int id, int xa, int ya,int xr,int yr)
|
||||
{
|
||||
id;xa;ya;
|
||||
if (picked_item==NULL)
|
||||
|
@ -2656,7 +2657,7 @@ static char shop_keeper_click(int id, int xa, int ya,int xr,int yr)
|
|||
redraw_keepers_items();
|
||||
ukaz_mysku();
|
||||
update_mysky();
|
||||
if ((GetKeyState(VK_CONTROL) & 0x80) && (game_extras & EX_FAST_TRADE) && get_sell_price(*picked_item)<=money)
|
||||
if ((get_control_key_state()) && (game_extras & EX_FAST_TRADE) && get_sell_price(*picked_item)<=money)
|
||||
{
|
||||
play_sample_at_channel(H_SND_OBCHOD,1,100);
|
||||
money-=get_sell_price(*picked_item);
|
||||
|
@ -2734,7 +2735,7 @@ static char shop_keeper_click(int id, int xa, int ya,int xr,int yr)
|
|||
}
|
||||
|
||||
|
||||
static char shop_bag_click(int id,int xa,int ya,int xr,int yr)
|
||||
char shop_bag_click(int id,int xa,int ya,int xr,int yr)
|
||||
{
|
||||
char s[200],p;
|
||||
int price,z;
|
||||
|
@ -2743,7 +2744,7 @@ static char shop_bag_click(int id,int xa,int ya,int xr,int yr)
|
|||
{
|
||||
id=bag_click(id,xa,ya,xr,yr);
|
||||
cur_owner=picked_item!=NULL;
|
||||
if (picked_item!=NULL && picked_item[1]==0 && (game_extras & EX_FAST_TRADE) && (GetKeyState(VK_CONTROL) & 0x80))
|
||||
if (picked_item!=NULL && picked_item[1]==0 && (game_extras & EX_FAST_TRADE) && (get_control_key_state()))
|
||||
{
|
||||
short z;
|
||||
price=make_offer(z=picked_item[0]);
|
||||
|
@ -2796,7 +2797,7 @@ static char shop_bag_click(int id,int xa,int ya,int xr,int yr)
|
|||
return 1;
|
||||
}
|
||||
|
||||
static char shop_block_click(int id, int xa, int ya,int xr,int yr)
|
||||
char shop_block_click(int id, int xa, int ya,int xr,int yr)
|
||||
{
|
||||
xa,ya,xr,yr;
|
||||
if (id==1) block_back();else block_next();
|
|
@ -98,7 +98,19 @@ static int picture_len=0;
|
|||
static char winconv=0;
|
||||
static int relpos=0;
|
||||
|
||||
static char xlat_table[128]="›__†’__________¨__Ÿ‘__________________________________<EFBFBD>___Š__€<EFBFBD>__‰‹_…__¥•____ž¦—__<EFBFBD>___ ___<EFBFBD>__‡‚__ˆ¡_ƒ__¤¢____©–£__˜";
|
||||
//static char xlat_table[128]="<22>__<5F><5F>_____<5F>_____<5F>__<5F><5F>__________________________________<5F>___<5F>__<5F><5F>__<5F><5F>_<EFBFBD>__<5F><5F>____<5F><5F><EFBFBD>__<5F>___<5F>___<5F>__<5F><5F>__<5F><5F>_<EFBFBD>__<5F><5F>____<5F><5F><EFBFBD>__<5F>";
|
||||
static char xlat_table[128] = {
|
||||
0x9b, 0x5f, 0x5f, 0x86, 0x92, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0xad, 0x5f,
|
||||
0x5f, 0x5f, 0x5f, 0x5f, 0xa8, 0x5f, 0x5f, 0x9f, 0x91, 0x5f, 0x5f, 0x5f,
|
||||
0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
|
||||
0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
|
||||
0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x8f, 0x5f, 0x5f, 0x5f, 0x8a,
|
||||
0x5f, 0x5f, 0x80, 0x90, 0x5f, 0x5f, 0x89, 0x8b, 0x5f, 0x85, 0x5f, 0x5f,
|
||||
0xa5, 0x95, 0x5f, 0x5f, 0x5f, 0x5f, 0x9e, 0xa6, 0x97, 0x5f, 0x5f, 0x9d,
|
||||
0x5f, 0x5f, 0x5f, 0xa0, 0x5f, 0x5f, 0x5f, 0x8d, 0x5f, 0x5f, 0x87, 0x82,
|
||||
0x5f, 0x5f, 0x88, 0xa1, 0x5f, 0x83, 0x5f, 0x5f, 0xa4, 0xa2, 0x5f, 0x5f,
|
||||
0x5f, 0x5f, 0xa9, 0x96, 0xa3, 0x5f, 0x5f, 0x98, 0x0a
|
||||
};
|
||||
|
||||
static int insert_num(char *text,int pos,int num)
|
||||
{
|
||||
|
@ -278,17 +290,18 @@ static char read_set(FILE *txt,char *var,char *set)
|
|||
{
|
||||
int c;
|
||||
char *cc;
|
||||
char d;
|
||||
|
||||
fscanf(txt,"%[^=]%c",var,&c);
|
||||
fscanf(txt,"%[^=]%c",var,&d);
|
||||
do
|
||||
c=fgetc(txt);
|
||||
while (c<33);
|
||||
if (c=='"') fscanf(txt,"%[^\"]%c%c",set,&c,&c);
|
||||
else if (c=='\'') fscanf(txt,"%[^']%c%c",set,&c,&c);
|
||||
if (c=='"') fscanf(txt,"%[^\"]%c%c",set,&d,&d);
|
||||
else if (c=='\'') fscanf(txt,"%[^']%c%c",set,&d,&d);
|
||||
else
|
||||
{
|
||||
ungetc(c,txt);
|
||||
fscanf(txt,"%[^> ]%c",set,&c);
|
||||
fscanf(txt,"%[^> ]%c",set,&d);
|
||||
}
|
||||
while(c<33 && c!=EOF) c=fgetc(txt);
|
||||
if (c!='>') ungetc(c,txt);
|
||||
|
@ -525,7 +538,7 @@ void seek_section(FILE *txt,int sect_number)
|
|||
{
|
||||
char buff[256];
|
||||
sprintf(buff,"Nemohu najit odstavec s cislem %d.",sect_number);
|
||||
MessageBox(NULL,buff,NULL,MB_OK|MB_ICONSTOP);
|
||||
display_error(buff);
|
||||
}
|
||||
exit(1);
|
||||
}
|
|
@ -10,6 +10,7 @@
|
|||
//#include <i86.h>
|
||||
#include <math.h>
|
||||
#include <bmouse.h>
|
||||
#include <stdarg.h>
|
||||
#include "engine1.h"
|
||||
#include "globals.h"
|
||||
|
||||
|
@ -150,7 +151,7 @@ static long _flag_map[MAX_SPELLS]; //tabulka nastavenych priznaku pro kouzl
|
|||
//hornich 16 bitu je globalne
|
||||
|
||||
short parm1,parm2;
|
||||
char twins;
|
||||
unsigned char twins;
|
||||
|
||||
static short rand_value;
|
||||
|
||||
|
@ -717,7 +718,7 @@ void spell_hit(int cil,int min,int max,int owner)
|
|||
vysl=min+rnd(max-min);
|
||||
if (vysl<0)
|
||||
{
|
||||
h->lives-=vysl,h->lives=min(h->lives,h->vlastnosti[VLS_MAXHIT]);
|
||||
h->lives-=vysl>h->vlastnosti[VLS_MAXHIT]?h->vlastnosti[VLS_MAXHIT]:vysl;
|
||||
if (h->groupnum==0) h->groupnum=cur_group;
|
||||
}
|
||||
else player_hit(h,vysl,1);
|
||||
|
@ -1377,9 +1378,10 @@ static void calc_rand_value(int val1,int val2)
|
|||
void call_spell(int i)
|
||||
{
|
||||
TKOUZLO *p;
|
||||
char *c;
|
||||
unsigned char *c;
|
||||
unsigned char *start;
|
||||
int z;
|
||||
char ext=0;
|
||||
unsigned char ext=0;
|
||||
int cil;
|
||||
|
||||
SEND_LOG("(SPELLS) Calculating spell ID: %d",i,0);
|
||||
|
@ -1397,7 +1399,8 @@ void call_spell(int i)
|
|||
}
|
||||
if (p->delay) return;
|
||||
if (p->wait) return;
|
||||
c=(char *)ablock(H_KOUZLA);
|
||||
c=(unsigned char *)ablock(H_KOUZLA);
|
||||
start = c;
|
||||
c+=p->start;
|
||||
twins=0;
|
||||
do
|
||||
|
@ -1450,7 +1453,7 @@ void call_spell(int i)
|
|||
case S_location_y: TelepLocation.loc_y=GET_WORD(c);TelepLocation.map=0;break;
|
||||
default:
|
||||
{
|
||||
char *d="Chyba v popisu kouzel: Program narazil na neznamou instrukci %d (%02X) pri zpracovani kouzla s cislem %d. Kouzlo bylo ukon‡eno";
|
||||
char *d="Chyba v popisu kouzel: Program narazil na neznamou instrukci %d (%02X) pri zpracovani kouzla s cislem %d. Kouzlo bylo ukon<EFBFBD>eno";
|
||||
c=alloca(strlen(d)+20);
|
||||
sprintf(c,d,*(c-1),*(c-1),p->num);
|
||||
bott_disp_text(c);
|
||||
|
@ -1461,7 +1464,7 @@ void call_spell(int i)
|
|||
|
||||
}
|
||||
while(!ext);
|
||||
p->start=c-(char *)ablock(H_KOUZLA);
|
||||
p->start=c-start;
|
||||
}
|
||||
|
||||
int add_spell(int num,int cil,int owner,char noanim)
|
||||
|
@ -1728,7 +1731,7 @@ void mob_cast(int num,TMOB *m,int mob_num)
|
|||
}
|
||||
}
|
||||
|
||||
static int calculatePhaseDoor(int sector, int dir, int um)
|
||||
int calculatePhaseDoor(int sector, int dir, int um)
|
||||
{
|
||||
int x=map_coord[sector].x;
|
||||
int y=map_coord[sector].y;
|
||||
|
@ -1864,27 +1867,25 @@ void remove_all_mob_spells()
|
|||
}
|
||||
|
||||
|
||||
int save_spells(FILE *f)
|
||||
int save_spells(TMPFILE_WR *f)
|
||||
{
|
||||
char res=0;
|
||||
|
||||
int i,s;
|
||||
|
||||
SEND_LOG("(SPELLS) Saving spell table...",0,0);
|
||||
for(i=0,s=0;i<MAX_SPELLS;i++)
|
||||
if (spell_table[i]!=NULL) s++;
|
||||
res|=(fwrite(&s,1,sizeof(s),f)!=sizeof(s));
|
||||
for(i=0;i<MAX_SPELLS && !res;i++)
|
||||
temp_storage_write(&s,1*sizeof(s),f);
|
||||
for(i=0;i<MAX_SPELLS;i++)
|
||||
if (spell_table[i]!=NULL)
|
||||
{
|
||||
res|=(fwrite(spell_table[i],1,sizeof(TKOUZLO),f)!=sizeof(TKOUZLO));
|
||||
res|=(fwrite(vls_table[i],1,2*24,f)!=2*24);
|
||||
res|=(fwrite(_flag_map+i,1,4,f)!=4);
|
||||
temp_storage_write(spell_table[i],1*sizeof(TKOUZLO),f);
|
||||
temp_storage_write(vls_table[i],1*2*24,f);
|
||||
temp_storage_write(_flag_map+i,1*4,f);
|
||||
}
|
||||
return res;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int load_spells(FILE *f)
|
||||
int load_spells(TMPFILE_RD *f)
|
||||
{
|
||||
char res=0;
|
||||
|
||||
|
@ -1892,14 +1893,14 @@ int load_spells(FILE *f)
|
|||
|
||||
SEND_LOG("(SPELLS) Loading saved spell table...",0,0);
|
||||
reinit_kouzla_full();
|
||||
res|=(fread(&s,1,sizeof(s),f)!=sizeof(s));
|
||||
res|=(temp_storage_read(&s,1*sizeof(s),f)!=sizeof(s));
|
||||
for(i=0;i<s && !res;i++)
|
||||
{
|
||||
spell_table[i]=New(TKOUZLO);
|
||||
vls_table[i]=NewArr(short,24);
|
||||
res|=(fread(spell_table[i],1,sizeof(TKOUZLO),f)!=sizeof(TKOUZLO));
|
||||
res|=(fread(vls_table[i],1,2*24,f)!=2*24);
|
||||
res|=(fread(_flag_map+i,1,4,f)!=4);
|
||||
res|=(temp_storage_read(spell_table[i],1*sizeof(TKOUZLO),f)!=sizeof(TKOUZLO));
|
||||
res|=(temp_storage_read(vls_table[i],1*2*24,f)!=2*24);
|
||||
res|=(temp_storage_read(_flag_map+i,1*4,f)!=4);
|
||||
}
|
||||
true_seeing=1;
|
||||
hlubina_level=2;
|
|
@ -17,6 +17,7 @@
|
|||
#include <pcx.h>
|
||||
#include "globals.h"
|
||||
#include "specproc.h"
|
||||
#include "temp_storage.h"
|
||||
|
||||
int **macros=NULL;
|
||||
void *macro_block;
|
||||
|
@ -256,26 +257,18 @@ char if_lock(int side,int key_id,int level,TMA_LOCK *lk)
|
|||
return 0;
|
||||
}
|
||||
|
||||
void xchg_block(void *b1,void *b2,int leng)
|
||||
//#pragma aux xchg_block parm[edi][esi][ecx]=
|
||||
{
|
||||
__asm
|
||||
{
|
||||
mov edi,b1
|
||||
mov esi,b2
|
||||
mov ecx,leng
|
||||
lp1: mov al,[edi]
|
||||
mov ah,[esi]
|
||||
mov [edi],ah
|
||||
mov [esi],al
|
||||
inc edi
|
||||
inc esi
|
||||
dec ecx
|
||||
jnz lp1
|
||||
}
|
||||
void xchg_block(void *b1, void *b2, int leng) {
|
||||
uint8_t *p1 = (uint8_t *)b1;
|
||||
uint8_t *p2 = (uint8_t *)b2;
|
||||
|
||||
for (int i = 0; i < leng; i++) {
|
||||
uint8_t temp = p1[i];
|
||||
p1[i] = p2[i];
|
||||
p2[i] = temp;
|
||||
}
|
||||
}
|
||||
|
||||
static void propadnout(int sector)
|
||||
void propadnout(int sector)
|
||||
{
|
||||
short *i,c,m1,m2;
|
||||
|
||||
|
@ -369,7 +362,7 @@ static void hit_player(TMA_WOUND *w,int sector)
|
|||
bott_draw(1);
|
||||
}
|
||||
|
||||
static TMULTI_ACTION *go_macro(side,abs_pos)
|
||||
static TMULTI_ACTION *go_macro(int side,int abs_pos)
|
||||
{
|
||||
int *r;
|
||||
int mcsiz;
|
||||
|
@ -567,7 +560,7 @@ static void build_trig_group(char mode,int side)
|
|||
}
|
||||
}
|
||||
|
||||
static ma_play_anim(char *filename,char cls)
|
||||
static int ma_play_anim(char *filename,char cls)
|
||||
{
|
||||
char *a;
|
||||
|
||||
|
@ -754,41 +747,14 @@ static char lock_saved=255;
|
|||
static char lock_empty=254;
|
||||
|
||||
|
||||
char save_codelocks(FILE *fsta)
|
||||
char save_codelocks(TMPFILE_WR *fsta)
|
||||
{
|
||||
char *c;
|
||||
int i;
|
||||
|
||||
c=(char *)&codelock_memory;
|
||||
i=sizeof(codelock_memory);
|
||||
while(*c==0 && i) c++,i--;
|
||||
if (!i)
|
||||
{
|
||||
SEND_LOG("(SAVELOAD) Codelocks wasn't used in this map... not saved",0,0);
|
||||
return !fwrite(&lock_empty,sizeof(lock_empty),1,fsta);
|
||||
}
|
||||
SEND_LOG("(SAVELOAD) Storing code-locks...",0,0);
|
||||
if (!fwrite(&lock_saved,sizeof(lock_saved),1,fsta)) return 1;
|
||||
return !fwrite(codelock_memory,sizeof(codelock_memory),1,fsta);
|
||||
temp_storage_write(codelock_memory,sizeof(codelock_memory)*1,fsta);
|
||||
}
|
||||
|
||||
|
||||
char load_codelocks(FILE *fsta)
|
||||
char load_codelocks(TMPFILE_RD *fsta)
|
||||
{
|
||||
char c;
|
||||
|
||||
if (!fread(&c,sizeof(lock_empty),1,fsta)) return 1;
|
||||
if (c!=lock_saved)
|
||||
{
|
||||
if (c!=lock_empty)
|
||||
{
|
||||
fseek(fsta,-1,SEEK_CUR); //uprav pripadne stare verze savegamu ktere nemaji codelocky
|
||||
SEND_LOG("(ERROR) Invalid value for codelocks... may be it's old version of savegame",0,0);
|
||||
}
|
||||
memset(codelock_memory,0,sizeof(codelock_memory));
|
||||
return 0;
|
||||
}
|
||||
SEND_LOG("(SAVELOAD) Restoring code-locks for this map...",0,0);
|
||||
return !fread(codelock_memory,sizeof(codelock_memory),1,fsta);
|
||||
return !temp_storage_read(codelock_memory,sizeof(codelock_memory)*1,fsta);
|
||||
}
|
||||
|
|
@ -1,7 +1,6 @@
|
|||
#include <skeldal_win.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <conio.h>
|
||||
#include <malloc.h>
|
||||
#include <math.h>
|
||||
#include <bios.h>
|
||||
|
@ -14,7 +13,7 @@
|
|||
#include <bgraph.h>
|
||||
#include <zvuk.h>
|
||||
#include <strlite.h>
|
||||
//#include <vesa.h>
|
||||
#include <stdarg.h>
|
||||
#include "engine1.h"
|
||||
#include <pcx.h>
|
||||
#include "globals.h"
|
||||
|
@ -37,10 +36,10 @@ int speedscroll=3;
|
|||
char low_mem=0;
|
||||
static volatile char load_ok=0;
|
||||
|
||||
static cur_pos[]={0,0,0,0,0};
|
||||
static cur_dir[]={UNSELECT,UNSELECT,UNSELECT,UNSELECT,UNSELECT};
|
||||
static int cur_pos[]={0,0,0,0,0};
|
||||
static int cur_dir[]={UNSELECT,UNSELECT,UNSELECT,UNSELECT,UNSELECT};
|
||||
|
||||
static titlefont=H_FBIG;
|
||||
static int titlefont=H_FBIG;
|
||||
|
||||
#define TITLE_HEAD 1
|
||||
#define TITLE_NAME 2
|
||||
|
@ -48,8 +47,8 @@ static titlefont=H_FBIG;
|
|||
#define TITLE_CENTER 0
|
||||
#define TITLE_KONEC 4
|
||||
|
||||
static title_mode=0;
|
||||
static title_line=0;
|
||||
static int title_mode=0;
|
||||
static int title_line=0;
|
||||
|
||||
#define CLK_MAIN_MENU 4
|
||||
|
||||
|
@ -93,7 +92,15 @@ T_CLK_MAP clk_main_menu[]=
|
|||
{-1,0,0,639,479,empty_clk,0xff,H_MS_DEFAULT},
|
||||
};
|
||||
|
||||
void rozdily(void *orign,void *obr,void *hicolor,void *xtab,int pocet)
|
||||
void rozdily(uint8_t *orign, uint8_t *obr, uint16_t *hicolor, uint16_t *xtab, size_t pocet) {
|
||||
for (size_t i = 0; i < pocet; i++) {
|
||||
uint8_t al = obr[i];
|
||||
al ^= orign[i];
|
||||
uint16_t result = xtab[al];
|
||||
hicolor[i] = result;
|
||||
}
|
||||
}
|
||||
/*void rozdily(void *orign,void *obr,void *hicolor,void *xtab,int pocet)
|
||||
//#pragma aux rozdily parm[EDX][ESI][EDI][EBX][ECX]=
|
||||
{
|
||||
__asm
|
||||
|
@ -113,7 +120,7 @@ jp1:lodsb
|
|||
dec ecx
|
||||
jnz jp1
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
static void nahraj_rozdilovy_pcx(void **pp,long *s)
|
||||
{
|
||||
|
@ -139,7 +146,7 @@ static void nahraj_rozdilovy_pcx(void **pp,long *s)
|
|||
rozdily(org,pos,hicolor+3,paltab,siz);
|
||||
free(vysl);
|
||||
*pp=hicolor;
|
||||
*s=_msize(*pp);
|
||||
*s=siz*2+12;
|
||||
}
|
||||
|
||||
|
||||
|
@ -164,6 +171,7 @@ static void init_menu_entries(void)
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
void zobraz_podle_masky_asm(char barva,void *scr,void *data, void *maska,int xs,int ys)
|
||||
//#pragma aux zobraz_podle_masky_asm parm[al][edi][esi][ebx][edx][ecx]=
|
||||
{
|
||||
|
@ -195,6 +203,21 @@ jp2: inc ebx
|
|||
pop ebp
|
||||
}
|
||||
}
|
||||
*/
|
||||
static void zobraz_podle_masky_asm(char barva, uint16_t *scr, uint16_t *data, uint8_t *maska, int xs, int ys, int scr_linelen) {
|
||||
int width = xs;
|
||||
|
||||
for (int y = 0; y < ys; y++) {
|
||||
for (int x = 0; x < width; x++) {
|
||||
if (barva == maska[x]) {
|
||||
scr[x] = data[x];
|
||||
}
|
||||
}
|
||||
scr += scr_linelen; // Přeskoč na další řádek obrazovky
|
||||
maska += width; // Přeskoč masku
|
||||
data += width; // Přeskoč zdrojová data
|
||||
}
|
||||
}
|
||||
|
||||
static void zobraz_podle_masky(char barva,char anim)
|
||||
{
|
||||
|
@ -208,13 +231,13 @@ static void zobraz_podle_masky(char barva,char anim)
|
|||
data=ablock(H_MENU_ANIM+anim);
|
||||
xs=data[0];
|
||||
ys=data[1];
|
||||
zobraz_podle_masky_asm(barva,obr,data+3,maska+6+512,xs,ys);
|
||||
zobraz_podle_masky_asm(barva,obr,data+3,maska+6+512,xs,ys,scr_linelen2);
|
||||
aunlock(H_MENU_MASK);
|
||||
}
|
||||
|
||||
static void prehraj_animaci_v_menu(EVENT_MSG *msg,char **unused)
|
||||
{
|
||||
static counter=0;
|
||||
static int counter=0;
|
||||
unused;
|
||||
if (msg->msg==E_TIMER)
|
||||
{
|
||||
|
@ -340,7 +363,7 @@ int enter_menu(char open)
|
|||
return c;
|
||||
}
|
||||
|
||||
char *get_next_title(char control,char *filename)
|
||||
char *get_next_title(signed char control,char *filename)
|
||||
{
|
||||
static FILE *titles=NULL;
|
||||
static ENCFILE fl;
|
||||
|
@ -360,7 +383,7 @@ char *get_next_title(char control,char *filename)
|
|||
char popis[300];
|
||||
closemode();
|
||||
sprintf(popis,"Soubor nenalezen: %s%s nebo %s%s\n",pathtable[SR_MAP],filename,pathtable[SR_DATA],filename);
|
||||
MessageBox(NULL,popis,NULL,MB_OK|MB_ICONSTOP);
|
||||
display_error(popis);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
@ -474,8 +497,8 @@ static void get_max_extend(int *l,int *r)
|
|||
|
||||
for(i=0;i<360;i++)
|
||||
{
|
||||
left=min(title_lines[i][0],left);
|
||||
right=max(title_lines[i][1],right);
|
||||
left=MIN(title_lines[i][0],left);
|
||||
right=MAX(title_lines[i][1],right);
|
||||
}
|
||||
*l=left;
|
||||
*r=right;
|
||||
|
@ -484,7 +507,7 @@ static void get_max_extend(int *l,int *r)
|
|||
void titles(va_list args)
|
||||
//#pragma aux titles parm[]
|
||||
{
|
||||
char send_back=va_arg(args,char);
|
||||
char send_back=va_arg(args,int);
|
||||
char *textname=va_arg(args,char *);
|
||||
|
||||
void *picture;
|
|
@ -296,7 +296,7 @@ int load_map(char *filename)
|
|||
case A_MAPGLOB:
|
||||
num_ofsets[BACK_NUM]=ofsts;
|
||||
memset(&mglob,0,sizeof(mglob));
|
||||
memcpy(&mglob,temp,__min(size,sizeof(mglob)));
|
||||
memcpy(&mglob,temp,MIN(size,sizeof(mglob)));
|
||||
free(temp);
|
||||
for(r=0;r<4;r++)
|
||||
def_handle(ofsts++,mglob.back_fnames[r],pcx_fade_decomp,SR_GRAFIKA);
|
||||
|
@ -378,7 +378,7 @@ int load_map(char *filename)
|
|||
if (!doNotLoadMapState && load_map_state()==-2)
|
||||
{
|
||||
closemode();
|
||||
MessageBox(NULL,"Bug in temp file. Please purge some status blocks in last load savegame file.",NULL,MB_OK|MB_ICONSTOP);
|
||||
display_error("Bug in temp file. Please purge some status blocks in last load savegame file.");
|
||||
exit(0);
|
||||
}
|
||||
doNotLoadMapState=0;
|
||||
|
@ -590,7 +590,9 @@ TFLY *duplic_fly(TFLY *p)
|
|||
*q=*p;
|
||||
if (q->items!=NULL)
|
||||
{
|
||||
int s=_msize(q->items);
|
||||
int s=0;
|
||||
while (q->items[s]) ++s;
|
||||
++s;
|
||||
q->items=(short *)getmem(s);
|
||||
memcpy(q->items,p->items,s);
|
||||
}
|
||||
|
@ -799,7 +801,7 @@ void check_codelock_log(int sector,unsigned long flags)
|
|||
}
|
||||
|
||||
|
||||
int do_action(action_numb,sector,direct,flags,nosend)
|
||||
int do_action(int action_numb,int sector, int direct,int flags, int nosend)
|
||||
{
|
||||
TSTENA *q;
|
||||
TSECTOR *s;
|
||||
|
@ -1184,7 +1186,7 @@ void calc_game()
|
|||
}
|
||||
}
|
||||
|
||||
void a_touch(sector,dir)
|
||||
void a_touch(int sector,int dir)
|
||||
{
|
||||
TSTENA *q;
|
||||
int sid;
|
||||
|
@ -1204,7 +1206,7 @@ void a_touch(sector,dir)
|
|||
call_macro(sid,MC_TOUCHSUC);
|
||||
}
|
||||
|
||||
void a_pass(sector,dir)
|
||||
void a_pass(int sector, int dir)
|
||||
{
|
||||
TSTENA *q;
|
||||
|
||||
|
@ -1493,7 +1495,7 @@ void postavy_teleport_effect(int sector,int dir,int postava,char effect)
|
|||
{
|
||||
char kolo=global_anim_counter;
|
||||
int counter=0;
|
||||
static zavora=0;
|
||||
static int zavora=0;
|
||||
|
||||
if (zavora) return;
|
||||
if (effect)
|
||||
|
@ -1778,9 +1780,16 @@ int check_path(word **path,word tosect)
|
|||
return tosect;
|
||||
}
|
||||
|
||||
static unsigned int get_path_len(const word *w) {
|
||||
unsigned int i = 0;
|
||||
while (w[i]) ++i;
|
||||
return i;
|
||||
}
|
||||
|
||||
void recall()
|
||||
{
|
||||
int tosect,max,i,j;
|
||||
int tosect;
|
||||
unsigned int max,i,j;
|
||||
word *paths[POCET_POSTAV];
|
||||
|
||||
for(i=0;i<POCET_POSTAV;i++)
|
||||
|
@ -1793,9 +1802,10 @@ void recall()
|
|||
do
|
||||
{
|
||||
max=0xffff;j=-1;
|
||||
for(i=0;i<POCET_POSTAV;i++) if (paths[i]!=NULL && _msize(paths[i])<(unsigned)max)
|
||||
unsigned int l;
|
||||
for(i=0;i<POCET_POSTAV;i++) if (paths[i]!=NULL && (l=get_path_len(paths[i]))<(unsigned)max)
|
||||
{
|
||||
max=_msize(paths[i]);
|
||||
max=l;
|
||||
j=i;
|
||||
}
|
||||
if (j!=-1)
|
||||
|
@ -1908,12 +1918,12 @@ void *game_keyboard(EVENT_MSG *msg,void **usr)
|
|||
{
|
||||
case 'H':step_zoom(0);break;
|
||||
case 'P':step_zoom(2);break;
|
||||
case 'M':if (GetKeyState(VK_CONTROL) & 0x80)
|
||||
case 'M':if (get_control_key_state() & 0x80)
|
||||
step_zoom(1);
|
||||
else
|
||||
turn_zoom(1);
|
||||
break;
|
||||
case 'K':if (GetKeyState(VK_CONTROL) & 0x80)
|
||||
case 'K':if (get_control_key_state() & 0x80)
|
||||
step_zoom(3);
|
||||
else
|
||||
turn_zoom(-1);
|
|
@ -76,7 +76,7 @@ static void change_turn()
|
|||
turn_speed((id-60)/10);
|
||||
}
|
||||
|
||||
void unwire_setup();
|
||||
static void unwire_setup();
|
||||
|
||||
static EVENT_PROC(setup_keyboard)
|
||||
{
|
||||
|
@ -155,21 +155,21 @@ void new_setup()
|
|||
w=create_window(0,SCREEN_OFFLINE,639,359,0,&ctl);
|
||||
w->draw_event=show_setup_desktop;
|
||||
desktop_add_window(w);
|
||||
define(10,50,270,190,20,0,skeldal_checkbox); c_default(get_snd_effect(SND_SWAP)); on_change(do_setup_change);
|
||||
define(10,50,270,190,20,0,skeldal_checkbox); c_default(get_snd_effect(SND_SWAP)); on_control_change(do_setup_change);
|
||||
if (check_snd_effect(SND_OUTFILTER))
|
||||
{
|
||||
define(20,50,300,190,20,0,skeldal_checkbox);c_default(get_snd_effect(SND_OUTFILTER));
|
||||
on_change(do_setup_change);
|
||||
on_control_change(do_setup_change);
|
||||
}
|
||||
|
||||
define(30,410,60,90,20,0,skeldal_checkbox);c_default(zoom_speed(-1)==0);
|
||||
on_change(change_zoom);
|
||||
define(40,410,90,90,20,0,skeldal_checkbox);c_default(zoom_speed(-1)==1);on_change(change_zoom);
|
||||
define(50,410,120,90,20,0,skeldal_checkbox);c_default(zoom_speed(-1)==2);on_change(change_zoom);
|
||||
on_control_change(change_zoom);
|
||||
define(40,410,90,90,20,0,skeldal_checkbox);c_default(zoom_speed(-1)==1);on_control_change(change_zoom);
|
||||
define(50,410,120,90,20,0,skeldal_checkbox);c_default(zoom_speed(-1)==2);on_control_change(change_zoom);
|
||||
|
||||
define(60,510,60,90,20,0,skeldal_checkbox);c_default(turn_speed(-1)==0);on_change(change_turn);
|
||||
define(70,510,90,90,20,0,skeldal_checkbox);c_default(turn_speed(-1)==1);on_change(change_turn);
|
||||
define(80,510,120,90,20,0,skeldal_checkbox);c_default(turn_speed(-1)==2);on_change(change_turn);
|
||||
define(60,510,60,90,20,0,skeldal_checkbox);c_default(turn_speed(-1)==0);on_control_change(change_turn);
|
||||
define(70,510,90,90,20,0,skeldal_checkbox);c_default(turn_speed(-1)==1);on_control_change(change_turn);
|
||||
define(80,510,120,90,20,0,skeldal_checkbox);c_default(turn_speed(-1)==2);on_control_change(change_turn);
|
||||
|
||||
for(i=0;i<5;i++)
|
||||
{
|
||||
|
@ -191,9 +191,9 @@ void new_setup()
|
|||
if (check_snd_effect(effects[i]))
|
||||
{
|
||||
define(200+i*10,50+i*60,30,30,200,0,skeldal_soupak,effects[i]==SND_MUSIC?127:255);c_default(get_snd_effect(effects[i]));
|
||||
on_change(do_setup_change);
|
||||
on_control_change(do_setup_change);
|
||||
}
|
||||
define(300,559,336,81,21,0,setup_ok_button,texty[174]);on_change(unwire_setup);
|
||||
define(300,559,336,81,21,0,setup_ok_button,texty[174]);on_control_change(unwire_setup);
|
||||
property(NULL,ablock(H_FTINY),&color_topbar,0);
|
||||
redraw_window();
|
||||
add_to_timer(TM_CHECKBOX,4,-1,checkbox_animator);
|
|
@ -1,18 +1,14 @@
|
|||
#include <skeldal_win.h>
|
||||
#include <debug.h>
|
||||
#include <assert.h>
|
||||
//#include <env.h>
|
||||
#include <dos.h>
|
||||
#include <stdarg.h>
|
||||
#include <bios.h>
|
||||
#include <stdlib.h>
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <conio.h>
|
||||
#include <malloc.h>
|
||||
#include <mem.h>
|
||||
#include <pcx.h>
|
||||
#include <direct.h>
|
||||
#include <types.h>
|
||||
#include <bgraph.h>
|
||||
#include <event.h>
|
||||
|
@ -31,8 +27,8 @@
|
|||
#include "engine1.h"
|
||||
#include "wizard.h"
|
||||
#include "version.h"
|
||||
#include <uvodni.h>
|
||||
|
||||
#include <unistd.h>
|
||||
#define CONFIG_NAME SKELDALINI
|
||||
|
||||
#define INI_TEXT 1
|
||||
|
@ -95,7 +91,7 @@ TMA_LOADLEV loadlevel;
|
|||
|
||||
typedef struct inis
|
||||
{
|
||||
char heslo[15];
|
||||
char heslo[25];
|
||||
char parmtype;
|
||||
}INIS;
|
||||
|
||||
|
@ -118,7 +114,8 @@ THUMAN postavy[POCET_POSTAV],postavy_save[POCET_POSTAV];
|
|||
void (*unwire_proc)();
|
||||
void (*wire_proc)();
|
||||
char cur_mode,battle_mode;
|
||||
static init_music_vol=127,init_gfx_vol=255;
|
||||
static int init_music_vol=127;
|
||||
static int init_gfx_vol=255;
|
||||
static char full_video=0;
|
||||
static char titles_on=0;
|
||||
static char windowed=0;
|
||||
|
@ -366,8 +363,9 @@ int ask_video()
|
|||
void pcx_fade_decomp(void **p,long *s)
|
||||
{
|
||||
char *buff;
|
||||
load_pcx(*p,*s,A_FADE_PAL,&buff,mglob.fade_r,mglob.fade_g,mglob.fade_b);
|
||||
*s=_msize(buff);
|
||||
int r = load_pcx(*p,*s,A_FADE_PAL,&buff,mglob.fade_r,mglob.fade_g,mglob.fade_b);
|
||||
assert(r > 0);
|
||||
*s=r;
|
||||
free(*p);
|
||||
*p=buff;
|
||||
}
|
||||
|
@ -375,8 +373,9 @@ void pcx_fade_decomp(void **p,long *s)
|
|||
void pcx_15bit_decomp(void **p,long *s)
|
||||
{
|
||||
char *buff;
|
||||
load_pcx(*p,*s,A_16BIT,&buff);
|
||||
*s=_msize(buff);
|
||||
int r = load_pcx(*p,*s,A_16BIT,&buff);
|
||||
assert(r > 0);
|
||||
*s=r;
|
||||
free(*p);
|
||||
*p=buff;
|
||||
}
|
||||
|
@ -384,8 +383,9 @@ void pcx_15bit_decomp(void **p,long *s)
|
|||
void pcx_15bit_autofade(void **p,long *s)
|
||||
{
|
||||
char *buff;
|
||||
load_pcx(*p,*s,A_16BIT,&buff);
|
||||
*s=_msize(buff);
|
||||
int r = load_pcx(*p,*s,A_16BIT,&buff);
|
||||
assert(r > 0);
|
||||
*s=r;
|
||||
free(*p);
|
||||
*p=buff;
|
||||
buff[5]=0x80;
|
||||
|
@ -398,9 +398,10 @@ void pcx_15bit_backgrnd(void **p,long *s)
|
|||
|
||||
if (*p!=NULL)
|
||||
{
|
||||
load_pcx(*p,*s,A_16BIT,&buff);
|
||||
int r = load_pcx(*p,*s,A_16BIT,&buff);
|
||||
assert(r>0);
|
||||
z=(long *)buff;
|
||||
*s=_msize(buff);
|
||||
*s=r;
|
||||
for(i=*s;i>0;i-=4,z++) *z|=0x80008000;
|
||||
free(*p);
|
||||
*p=buff;
|
||||
|
@ -413,8 +414,9 @@ void pcx_8bit_nopal(void **p,long *s)
|
|||
|
||||
if (*p!=NULL)
|
||||
{
|
||||
load_pcx(*p,*s,A_8BIT_NOPAL,&buff);
|
||||
*s=_msize(buff);
|
||||
int r = load_pcx(*p,*s,A_8BIT_NOPAL,&buff);
|
||||
assert(r>0);
|
||||
*s=r;
|
||||
free(*p);
|
||||
*p=buff;
|
||||
}
|
||||
|
@ -424,8 +426,9 @@ void pcx_8bit_nopal(void **p,long *s)
|
|||
void pcx_8bit_decomp(void **p,long *s)
|
||||
{
|
||||
char *buff;
|
||||
load_pcx(*p,*s,A_8BIT,&buff);
|
||||
*s=_msize(buff);
|
||||
int r = load_pcx(*p,*s,A_8BIT,&buff);
|
||||
assert(r>0);
|
||||
*s=r;
|
||||
free(*p);
|
||||
*p=buff;
|
||||
}
|
||||
|
@ -572,41 +575,6 @@ void clrscr()
|
|||
|
||||
|
||||
|
||||
void purge_temps(char z)
|
||||
{
|
||||
HANDLE rc;
|
||||
WIN32_FIND_DATA fi;
|
||||
char c[200];
|
||||
|
||||
|
||||
strcpy(c,SWAPPATH);
|
||||
strcat(c,"*.TMP");
|
||||
rc=FindFirstFile(c,&fi);
|
||||
if (rc!=INVALID_HANDLE_VALUE)
|
||||
do
|
||||
{
|
||||
strcpy(c,SWAPPATH);
|
||||
strcat(c,fi.cFileName);
|
||||
if (fi.cFileName[0]!='~')
|
||||
{
|
||||
SEND_LOG("(PURGE) Purging temp '%s'",c,0);
|
||||
remove(c);
|
||||
}
|
||||
}
|
||||
while (FindNextFile(rc,&fi));
|
||||
FindClose(rc);
|
||||
|
||||
if (z)
|
||||
{
|
||||
strcpy(c,SWAPPATH);
|
||||
strcat(c,TEMP_FILE);
|
||||
SEND_LOG("(PURGE) Purging temp '%s'",c,0);
|
||||
remove(c);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
void back_music()
|
||||
{
|
||||
|
@ -881,7 +849,7 @@ void cti_texty()
|
|||
case -3:sprintf(buff,"Memory very low (need min 4MB)\n");break;
|
||||
default:sprintf(buff,"Error in string table at line %d\n",err);break;
|
||||
}
|
||||
MessageBox(NULL,buff,NULL,MB_OK|MB_ICONSTOP);
|
||||
display_error(buff);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
@ -895,7 +863,7 @@ void global_kbd(EVENT_MSG *msg,void **usr)
|
|||
if (msg->msg==E_KEYBOARD)
|
||||
{
|
||||
c=(*(int *)msg->data)>>8;
|
||||
if (c==';') save_dump();
|
||||
if (c==';') save_dump(GetScreenAdr(), DxGetResX(), DxGetResY(), scr_linelen2);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
@ -924,13 +892,13 @@ void error_exception(EVENT_MSG *msg,void **unused)
|
|||
SEND_LOG("(ERROR) Log: Last 'memman' handle: %x",memman_handle,0);
|
||||
SEND_LOG("(ERROR) Log: Battle: %d Select_player %d",battle,select_player);
|
||||
closemode();
|
||||
printf("Program zp–sobil bˆhovou chybu a bude ukon‡en\n"
|
||||
"Posledn¡ zpracov van data mˆla rukojeŸ ‡¡slo %xh\n",memman_handle);
|
||||
printf("Program zp<EFBFBD>sobil b<>hovou chybu a bude ukon<6F>en\n"
|
||||
"Posledn<EFBFBD> zpracov<6F>van<61> data m<>la rukoje<6A> <20><>slo %xh\n",memman_handle);
|
||||
printf("Map: %s Sector %d Direction %d\n",level_fname==NULL?"<unknown>":level_fname,viewsector,viewdir);
|
||||
printf("Nyn¡ se program pokus¡ ulo‘it hru...\n\n");
|
||||
printf("Nyn<EFBFBD> se program pokus<75> ulo<6C>it hru...\n\n");
|
||||
autosave_enabled=1;
|
||||
autosave();
|
||||
printf("Hra byla £spˆ¨nˆ ulo‘ena pod n zvem AUTOSAVE\n");
|
||||
printf("Hra byla <EFBFBD>sp<EFBFBD><EFBFBD>n<EFBFBD> ulo<6C>ena pod n<>zvem AUTOSAVE\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
@ -943,7 +911,7 @@ void swap_error_exception()
|
|||
"zaplnen. Uvolnete prosim nejake misto na odkladacim disku, nebo zmente \n"
|
||||
"adresar odkladani na jednotku, kde je vice mista");
|
||||
puts("Vase pozice bude ulozena pod nazvem AUTOSAVE\n"
|
||||
"Pokud vsak mate pozice na stejn‚m disku jako odkladaci soubor (coz je\n"
|
||||
"Pokud vsak mate pozice na stejn<EFBFBD>m disku jako odkladaci soubor (coz je\n"
|
||||
"zakladni nastaveni) bude ulozeni z 90% bohuzel neuspesne...");
|
||||
autosave_enabled=1;
|
||||
autosave();
|
||||
|
@ -1030,7 +998,6 @@ SEND_LOG("(INIT) Initializing engine.",0,0);
|
|||
/*SEND_LOG("(INIT) Loading DOS error handler.",0,0);
|
||||
install_dos_error(device_error,(char *)getmem(4096)+4096);*/
|
||||
swap_error=swap_error_exception;
|
||||
sprintf(c,"%s%s",SWAPPATH,TEMP_FILE);
|
||||
sprintf(d,"%s%s",pathtable[SR_DATA],"skeldal.ddl");
|
||||
SEND_LOG("(INIT) Initializing memory manager",0,0);
|
||||
init_manager(d,c);
|
||||
|
@ -1131,15 +1098,15 @@ void *map_keyboard(EVENT_MSG *msg,void **usr);
|
|||
|
||||
char doNotLoadMapState=0;
|
||||
|
||||
static reload_map_handler(EVENT_MSG *msg,void **usr)
|
||||
static int reload_map_handler(EVENT_MSG *msg,void **usr)
|
||||
{
|
||||
extern char running_battle;
|
||||
if (msg->msg==E_RELOADMAP)
|
||||
{
|
||||
int i;
|
||||
va_list list=msg->data;
|
||||
const char *fname=va_arg(list,const char *);
|
||||
int sektor=va_arg(list,int);
|
||||
ReloadMapInfo *minfo=(ReloadMapInfo *)msg->data;
|
||||
const char *fname=minfo->fname;
|
||||
int sektor=minfo->sektor;
|
||||
strncpy(loadlevel.name,fname,sizeof(loadlevel.name));
|
||||
loadlevel.start_pos=sektor;
|
||||
for(i=0;i<POCET_POSTAV;i++)postavy[i].sektor=loadlevel.start_pos;
|
||||
|
@ -1152,9 +1119,9 @@ extern char running_battle;
|
|||
hl_ptr=ikon_libs;
|
||||
destroy_fly_map();
|
||||
load_items();
|
||||
kill_block(H_ENEMY);
|
||||
kill_block(H_SHOP_PIC);
|
||||
kill_block(H_DIALOGY_DAT);
|
||||
zneplatnit_block(H_ENEMY);
|
||||
zneplatnit_block(H_SHOP_PIC);
|
||||
zneplatnit_block(H_DIALOGY_DAT);
|
||||
load_shops();
|
||||
send_message(E_CLOSE_MAP);
|
||||
}
|
||||
|
@ -1232,7 +1199,7 @@ static int do_config_skeldal(int num,int numdata,char *txt)
|
|||
case 23:windowedzoom=numdata;
|
||||
case 24:monitor=numdata;
|
||||
case 25:if (VERSIONNUM<numdata)
|
||||
MessageBox(NULL,"Pozor! Hra je starsi verze, nez vyzaduje dobrodruzstvi. Ve vlastnim zajmu si stahnete novou verzi, protoze toto dobrodruzstvi nemusi byt s aktualni verzi dohratelne","Chybna verze hry",MB_OK);
|
||||
display_error("Pozor! Hra je starsi verze, nez vyzaduje dobrodruzstvi. Ve vlastnim zajmu si stahnete novou verzi, protoze toto dobrodruzstvi nemusi byt s aktualni verzi dohratelne");
|
||||
break;
|
||||
case 26:refresh=numdata;
|
||||
default:num-=CESTY_POS;
|
||||
|
@ -1246,7 +1213,7 @@ static int do_config_skeldal(int num,int numdata,char *txt)
|
|||
}
|
||||
|
||||
|
||||
static void config_skeldal(char *line)
|
||||
static void config_skeldal(const char *line)
|
||||
{
|
||||
int ndata=0,i,maxi;
|
||||
|
||||
|
@ -1300,7 +1267,7 @@ static void configure(char *filename)
|
|||
SEND_LOG("(GAME) Done config.",0,0);
|
||||
}
|
||||
|
||||
static update_config()
|
||||
static int update_config()
|
||||
{
|
||||
SEND_LOG("(GAME) Updating config. file '%s'",CONFIG_NAME,NULL);
|
||||
add_field_num(&cur_config,sinit[1].heslo,zoom_speed(-1));
|
||||
|
@ -1477,7 +1444,7 @@ static void game_big_circle(char enforced)
|
|||
case -3: sprintf(buff,"Map file is corrupted!\n");break;
|
||||
default: sprintf(buff,"Error in string table at line %d",err);break;
|
||||
}
|
||||
MessageBox(NULL,buff,NULL,MB_OK|MB_ICONSTOP);
|
||||
display_error(buff);
|
||||
exit(1);
|
||||
}
|
||||
viewsector=loadlevel.start_pos;
|
||||
|
@ -1666,22 +1633,21 @@ void disable_intro()
|
|||
update_config();
|
||||
}
|
||||
|
||||
#include "crashdump.h"
|
||||
|
||||
|
||||
void main(int argc,char *argv[])
|
||||
{
|
||||
char *c,rm;
|
||||
|
||||
InitCrashDump();
|
||||
|
||||
|
||||
if (argc>=3) rm=!strcmp(argv[1],"12345678");else rm=0;
|
||||
if (!rm) if (OtevriUvodniOkno()==0) return;
|
||||
|
||||
//OPEN_LOG("syslog");
|
||||
OPEN_LOG("con");
|
||||
SEND_LOG("START --------------------------",0,0);
|
||||
argv;
|
||||
c=getcwd(NULL,_MAX_PATH+1);
|
||||
c=getcwd(NULL,0);
|
||||
pathtable[SR_SAVES]=getmem(strlen(c)+2);
|
||||
strcpy(pathtable[SR_SAVES],c);
|
||||
strcat(pathtable[SR_SAVES],"\\");
|
||||
|
@ -1691,9 +1657,8 @@ void main(int argc,char *argv[])
|
|||
mman_pathlist=pathtable;
|
||||
zoom_speed(1);
|
||||
turn_speed(1);
|
||||
SetEnvironmentVariable("BSVER",VERSION);
|
||||
configure(CONFIG_NAME);
|
||||
if ((argc>=2 || SelectAdventure()) && !rm )
|
||||
if ((argc>=2 ) && !rm )
|
||||
{
|
||||
char *adventure;
|
||||
char **config=cur_config;
|
||||
|
@ -1702,8 +1667,7 @@ void main(int argc,char *argv[])
|
|||
mman_pathlist[SR_ORGMUSIC]=(char *)getmem(strlen(music)+1);
|
||||
strcpy(mman_pathlist[SR_ORGMUSIC],music);
|
||||
|
||||
if (argc<2) adventure=GetSelectedAdventure();
|
||||
else adventure=argv[1];
|
||||
adventure=argv[1];
|
||||
cur_config=NULL;
|
||||
SEND_LOG("(GAME) Starting new adventure: %s",adventure,0);
|
||||
configure(adventure);
|
||||
|
@ -1741,12 +1705,8 @@ void main(int argc,char *argv[])
|
|||
closemode();
|
||||
}
|
||||
|
||||
int __stdcall WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
|
||||
{
|
||||
main(__argc, __argv);
|
||||
}
|
||||
|
||||
#include "..\game\version.h"
|
||||
#include "version.h"
|
||||
|
||||
|
||||
int GetExeVersion()
|
|
@ -1,5 +1,4 @@
|
|||
#include <skeldal_win.h>
|
||||
#include <debug.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <mem.h>
|
||||
|
@ -9,10 +8,9 @@
|
|||
#include <event.h>
|
||||
#include "globals.h"
|
||||
#include <math.h>
|
||||
//#include <i86.h> //Sound and Nosound
|
||||
#include <strlite.h>
|
||||
#include <io.h>
|
||||
|
||||
#include <unistd.h>
|
||||
#define PL_RANDOM 1
|
||||
#define PL_FORWARD 2
|
||||
#define PL_FIRST 3
|
||||
|
@ -35,7 +33,7 @@ typedef struct snd_info
|
|||
|
||||
static short chan_state[CHANNELS];
|
||||
static short track_state[TRACKS];
|
||||
static short sample_volume=255;
|
||||
short sample_volume=255;
|
||||
|
||||
//static struct t_wave wav_last_head;
|
||||
//static int wav_last_size;
|
||||
|
@ -405,8 +403,8 @@ void create_playlist(char *playlist)
|
|||
for (c=playlist;c!=NULL;c=strchr(c+1,' '))
|
||||
{
|
||||
char *e;
|
||||
char d[MAX_PATH+2]="!";
|
||||
strncat(d,c+j,MAX_PATH);d[MAX_PATH+1]=0;j=1;
|
||||
char d[MAX_FILESYSTEM_PATH+2]="!";
|
||||
strncat(d,c+j,MAX_FILESYSTEM_PATH);d[MAX_FILESYSTEM_PATH+1]=0;j=1;
|
||||
if ((e=strchr(d,32))!=NULL) *e=0;
|
||||
str_add(&cur_playlist,d);
|
||||
}
|
||||
|
@ -426,7 +424,7 @@ void create_playlist(char *playlist)
|
|||
void play_next_music(char **c)
|
||||
{
|
||||
int i,step;
|
||||
static char d[MAX_PATH];
|
||||
static char d[MAX_FILESYSTEM_PATH];
|
||||
|
||||
*c=NULL;
|
||||
if (cur_playlist==NULL) return;
|
||||
|
@ -445,9 +443,9 @@ void play_next_music(char **c)
|
|||
}
|
||||
while (step);
|
||||
playing_track=i;
|
||||
sprintf_s(d,sizeof(d),"%s%s",pathtable[SR_MUSIC],cur_playlist[i]+1);
|
||||
if (_access(d,0) == -1)
|
||||
sprintf_s(d,sizeof(d),"%s%s",pathtable[SR_ORGMUSIC],cur_playlist[i]+1);
|
||||
snprintf(d,sizeof(d),"%s%s",pathtable[SR_MUSIC],cur_playlist[i]+1);
|
||||
if (access(d,0) == -1)
|
||||
snprintf(d,sizeof(d),"%s%s",pathtable[SR_ORGMUSIC],cur_playlist[i]+1);
|
||||
cur_playlist[i][0]=33;
|
||||
remain_play--;
|
||||
*c=d;
|
|
@ -3,7 +3,6 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <event.h>
|
||||
#include <conio.h>
|
||||
#include <zvuk.h>
|
||||
#include <bgraph.h>
|
||||
#include <bmouse.h>
|
||||
|
@ -30,7 +29,7 @@ HUM_ACTION spell_string;
|
|||
short caster;
|
||||
short vybrana_zbran=-1;
|
||||
char plr_switcher[POCET_POSTAV];
|
||||
static autostart_round=0;
|
||||
static int autostart_round=0;
|
||||
|
||||
char autoattack=0;
|
||||
char immortality=0;
|
||||
|
@ -371,7 +370,7 @@ int vypocet_zasahu(short *utocnik,short *obrance, int chaos,int zbran,int bonus
|
|||
zasah=utok-(ddef=obrana);
|
||||
}
|
||||
if (zasah<0) zasah=0;
|
||||
if (zasah>0) zasah+=utocnik[VLS_DAMAGE],zasah=max(zasah,1);
|
||||
if (zasah>0) zasah+=utocnik[VLS_DAMAGE],zasah=MAX(zasah,1);
|
||||
ddostal=zasah;
|
||||
zasah=zasah+mutok;
|
||||
if (zasah>0)
|
||||
|
@ -416,7 +415,7 @@ void rozhodni_o_poradi()
|
|||
}
|
||||
void hrat_souboj()
|
||||
{
|
||||
static counter=0;
|
||||
static int counter=0;
|
||||
char cond=ms_last_event.y>378 && ms_last_event.x>510 && cur_mode!=MD_PRESUN;
|
||||
if (cond) schovej_mysku();
|
||||
redraw_scene();
|
||||
|
@ -648,7 +647,7 @@ T_CLK_MAP clk_end_game[]=
|
|||
|
||||
EVENT_PROC(end_game_end_phase)
|
||||
{
|
||||
static wait=0;
|
||||
static int wait=0;
|
||||
WHEN_MSG(E_TIMER)
|
||||
{
|
||||
if (pass_zavora) return;
|
||||
|
@ -733,17 +732,17 @@ void wire_presun_postavy()
|
|||
cancel_render=1;
|
||||
}
|
||||
|
||||
static DWORD SPozdrzeno=0;
|
||||
static uint32_t SPozdrzeno=0;
|
||||
|
||||
static char JePozdrzeno()
|
||||
char JePozdrzeno()
|
||||
{
|
||||
return GetTickCount()<SPozdrzeno;
|
||||
return get_game_tick_count()<SPozdrzeno;
|
||||
}
|
||||
|
||||
void pozdrz_akci()
|
||||
{
|
||||
int battlespeed=gamespeed-gamespeed*gamespeedbattle/5;
|
||||
SPozdrzeno=GetTickCount()+battlespeed*2000/6;
|
||||
SPozdrzeno=get_game_tick_count()+battlespeed*2000/6;
|
||||
}
|
||||
|
||||
/*void pozdrz_akci_proc(THE_TIMER *x)
|
||||
|
@ -831,7 +830,7 @@ void utek_postavy(THUMAN *p)
|
|||
prejdi_na_pohled(p);
|
||||
}
|
||||
|
||||
int trace_path(sector,dir)
|
||||
int trace_path(int sector,int dir)
|
||||
{
|
||||
int mm,p,c=5;
|
||||
int r=rnd(2);
|
||||
|
@ -1122,7 +1121,7 @@ static char StrachPostavy(THUMAN *p)
|
|||
p->sektor=cesta[i];
|
||||
build_player_map();
|
||||
prejdi_na_pohled(p);
|
||||
Sleep(200);
|
||||
sleep_ms(200);
|
||||
p->kondice-=wf;
|
||||
}
|
||||
p->provadena_akce+=p->programovano-1;
|
||||
|
@ -1882,7 +1881,7 @@ void souboje_turn(char smer)
|
|||
norefresh=1;
|
||||
hold_timer(TM_BACK_MUSIC,1);
|
||||
viewdir=(viewdir+smer)&3;
|
||||
if (GetKeyState(VK_SHIFT) & 0x80) fix_group_direction();
|
||||
if (get_shift_key_state()) fix_group_direction();
|
||||
else postavy[select_player].direction=viewdir;
|
||||
render_scene(viewsector,viewdir);
|
||||
hide_ms_at(387);
|
||||
|
@ -2230,7 +2229,7 @@ static void rozdelit_skryte_bonusy(THUMAN *hu)
|
|||
short *vls,*vls2;
|
||||
short p[]={VLS_SILA,VLS_SMAGIE,VLS_OBRAT};
|
||||
short h[3];
|
||||
register i;
|
||||
int i;
|
||||
|
||||
vls=hu->vlastnosti;
|
||||
vls2=hu->stare_vls;
|
|
@ -20,7 +20,7 @@ static void event_error(char *text,int number)
|
|||
char buff[256];
|
||||
closemode();
|
||||
sprintf(buff,"%s\n Specproc num: %d\n",text,number);
|
||||
MessageBox(NULL,buff,NULL,MB_OK|MB_ICONSTOP);
|
||||
display_error(buff);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -256,7 +256,7 @@ static void OtaceniObrazu()
|
|||
float mx[3][2];
|
||||
|
||||
int maxtime=500;
|
||||
int lasttime=GetTickCount();
|
||||
int lasttime=get_game_tick_count();
|
||||
int curtime;
|
||||
get_picture(0,17,640,360,picture);
|
||||
do
|
||||
|
@ -265,7 +265,7 @@ static void OtaceniObrazu()
|
|||
float uhel;
|
||||
float cosuhel;
|
||||
float sinuhel;
|
||||
curtime=GetTickCount()-lasttime;
|
||||
curtime=get_game_tick_count()-lasttime;
|
||||
phase=curtime/(float)maxtime;
|
||||
if (phase>1.0f) phase=1.0f;
|
||||
uhel=phase*3.14159265;
|
||||
|
@ -280,7 +280,7 @@ static void OtaceniObrazu()
|
|||
do_events();
|
||||
}
|
||||
while (curtime<maxtime);
|
||||
Sleep(1000);
|
||||
sleep_ms(1000);
|
||||
free(picture);
|
||||
}
|
||||
|
||||
|
@ -373,7 +373,7 @@ MAP_PROC(map_identify)
|
|||
|
||||
//Mob Procs ---------------------------------------
|
||||
|
||||
static get_dangerous_place(int sector)
|
||||
static int get_dangerous_place(int sector)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -496,7 +496,7 @@ static char mob_strelec(int event_type,TMOB *m)
|
|||
i=i+2&3;
|
||||
if (mob_check_next_sector(m->sector,i,m->stay_strategy & MOB_BIG,0))
|
||||
{
|
||||
int l=4,z,max=RAND_MAX+1;
|
||||
int l=4,z,max=RAND_MAX;
|
||||
for(i=0;i<4;i++)
|
||||
if (!mob_check_next_sector(m->sector,i,m->stay_strategy & MOB_BIG,0))
|
||||
{
|
||||
|
@ -682,7 +682,7 @@ char call_mob_event(int event_number,int event_type,TMOB *m)
|
|||
{
|
||||
if (!event_number) return 0;
|
||||
if (event_number>=SP_MOB_TAB_SIZE)
|
||||
event_error("Nestv–ra pou‘¡va neplatnou specproc.",event_number);
|
||||
event_error("Nestv<EFBFBD>ra pou<6F><75>va neplatnou specproc.",event_number);
|
||||
cur_event_number=event_number;
|
||||
return sp_mob_table[event_number](event_type,m);
|
||||
}
|
||||
|
@ -691,7 +691,7 @@ char call_item_event(int event_number,int event_type,short *ptr,THUMAN *p)
|
|||
{
|
||||
if (!event_number) return 0;
|
||||
if (event_number>=SP_ITEM_TAB_SIZE)
|
||||
event_error("€¡slo ud losti u vˆci je neplatn‚. Specproc nen¡ definov na.",event_number);
|
||||
event_error("<EFBFBD><EFBFBD>slo ud<75>losti u v<>ci je neplatn<74>. Specproc nen<65> definov<6F>na.",event_number);
|
||||
cur_event_number=event_number;
|
||||
return sp_item_table[event_number](event_type,ptr,p);
|
||||
}
|
||||
|
@ -700,7 +700,7 @@ char call_map_event(int event_number,int sector,int side,int value,int event)
|
|||
{
|
||||
if (!event_number) return 0;
|
||||
if (event_number>=SP_MAP_TAB_SIZE)
|
||||
event_error("Neplatn‚ ‡¡slo ud losti na stˆnˆ. Specproc s t¡mto ‡¡slem nen¡ definov na.",event_number);
|
||||
event_error("Neplatn<EFBFBD> <20><>slo ud<75>losti na st<73>n<EFBFBD>. Specproc s t<>mto <20><>slem nen<65> definov<6F>na.",event_number);
|
||||
cur_event_number=event_number;
|
||||
return sp_map_table[event_number](sector,side,value,event);
|
||||
}
|
26
game/temp_storage.h
Normal file
26
game/temp_storage.h
Normal file
|
@ -0,0 +1,26 @@
|
|||
|
||||
|
||||
///store to temp storage
|
||||
void temp_storage_store(const char *name, const void *data, long size);
|
||||
///find in temp storage - returns -1 = not found, otherwise size of data
|
||||
long temp_storage_find(const char *name);
|
||||
///retrieve from temp storage (returns same as find)
|
||||
long temp_storage_retrieve(const char *name, void *data, long size);
|
||||
|
||||
void temp_storage_list(void (*callback)(const char *, void *), void *context);
|
||||
|
||||
void temp_storage_clear();
|
||||
|
||||
typedef struct _temp_storage_file_rd TMPFILE_RD;
|
||||
typedef struct _temp_storage_file_wr TMPFILE_WR;
|
||||
|
||||
TMPFILE_RD *temp_storage_open(const char *name);
|
||||
TMPFILE_WR *temp_storage_create(const char *name);
|
||||
TMPFILE_WR *temp_storage_append(const char *name);
|
||||
void temp_storage_close_rd(TMPFILE_RD *f);
|
||||
void temp_storage_close_wr(TMPFILE_WR *f);
|
||||
void temp_storage_write(const void *data, unsigned long size, TMPFILE_WR *f);
|
||||
unsigned long temp_storage_read(void *data, unsigned long size, TMPFILE_RD *f);
|
||||
void temp_storage_skip(TMPFILE_RD *f, int bytes);
|
||||
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
#include <stdio.h>
|
||||
#include <malloc.h>
|
||||
#include <dos.h>
|
||||
#include <graph.h>
|
||||
#include <mem.h>
|
||||
#include <conio.h>
|
||||
|
@ -83,9 +82,9 @@ int startsect;
|
|||
int startsid;
|
||||
|
||||
|
||||
char cz_table_1[]=" 1!3457908+,-./‚+ˆ¨‡©‘˜ ¡\"–?=:_2ABCDEFGHIJKLMNOPQRSTUVWXYZ£\\)6=;abcdefghijklmnopqrstuvwxyz/|(; ";
|
||||
char cz_table_2[]=" !\"#$%&'()*+,-./0123456789:;<=>?@<40>BCD<43>FGH‹JKŠMN•PQ«ST—VWX<EFBFBD>Z[\\]^_` bcd‚fgh¡jk<6A>mn¢pqªst£vwx˜z{|}~ ";
|
||||
char cz_table_3[]=" !\"#$%&'()*+,-./0123456789:;<=>?@AB€…‰FGHIJKœM¥§PQ<EFBFBD>›†¦VWXY’[\\]^_`ab‡ƒˆfghijkŒm¤“pq©¨Ÿ–vwxy‘{|}~ ";
|
||||
char cz_table_1[]=" 1!3457<EFBFBD>908+,-./<2F>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\"<EFBFBD>?=:_2ABCDEFGHIJKLMNOPQRSTUVWXYZ<59>\\)6=;abcdefghijklmnopqrstuvwxyz/|(; ";
|
||||
char cz_table_2[]=" !\"#$%&'()*+,-./0123456789:;<=>?@<40>BCD<43>FGH<EFBFBD>JK<EFBFBD>MN<EFBFBD>PQ<EFBFBD>ST<EFBFBD>VWX<EFBFBD>Z[\\]^_`<60>bcd<63>fgh<67>jk<6A>mn<6D>pq<70>st<73>vwx<77>z{|}~ ";
|
||||
char cz_table_3[]=" !\"#$%&'()*+,-./0123456789:;<=>?@AB<EFBFBD><EFBFBD><EFBFBD>FGHIJK<EFBFBD>M<EFBFBD><EFBFBD>PQ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>VWXY<EFBFBD>[\\]^_`ab<61><62><EFBFBD>fghijk<6A>m<EFBFBD><6D>pq<70><71><EFBFBD><EFBFBD>vwxy<78>{|}~ ";
|
||||
char *cz_key_tabs[]={cz_table_1,cz_table_2,cz_table_3};
|
||||
|
||||
word keyconv(word key)
|
|
@ -1,7 +1,7 @@
|
|||
#define VERSION_MAJOR 1
|
||||
#define VERSION_MAJORT "1"
|
||||
#define VERSION_MINOR 2
|
||||
#define VERSION_MINORT "2"
|
||||
#define VERSION_MINOR 3
|
||||
#define VERSION_MINORT "3"
|
||||
#define VERSION_BUILD 17
|
||||
#define VERSION_BUILDT "17"
|
||||
|
|
@ -1,17 +1,11 @@
|
|||
#include <skeldal_win.h>
|
||||
#include <debug.h>
|
||||
#include <dos.h>
|
||||
#include <io.h>
|
||||
#include <bios.h>
|
||||
#include <stdlib.h>
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <conio.h>
|
||||
#include <malloc.h>
|
||||
#include <mem.h>
|
||||
#include <dos.h>
|
||||
#include <direct.h>
|
||||
#include <types.h>
|
||||
#include <bgraph.h>
|
||||
#include <event.h>
|
||||
|
@ -23,34 +17,18 @@
|
|||
#include <gui.h>
|
||||
#include <basicobj.h>
|
||||
#include <time.h>
|
||||
#include <stdarg.h>
|
||||
#include "globals.h"
|
||||
#include <resource.h>
|
||||
#include <windowsx.h>
|
||||
|
||||
void kamenik2windows(const char *src, int size, char *trg);
|
||||
|
||||
#define BREAK
|
||||
|
||||
static HWND hWizardDlg=NULL;
|
||||
static HWND hWizardText;
|
||||
static HFONT hfCourier;
|
||||
|
||||
static void wzprintf(const char *text,...)
|
||||
{
|
||||
int len=GetWindowTextLength(hWizardText);
|
||||
char *c=(char *)alloca(len+1024);
|
||||
char *d;
|
||||
va_list args;
|
||||
|
||||
GetWindowText(hWizardText,c,len+1024);
|
||||
if (len>10000) c+=1024;
|
||||
d=strchr(c,0);
|
||||
va_start(args,text);
|
||||
_vsnprintf(d,1020,text,args);
|
||||
SetWindowText(hWizardText,c);
|
||||
len=strlen(c);
|
||||
SendMessage(hWizardText,EM_SETSEL,len,len);
|
||||
SendMessage(hWizardText,EM_SCROLLCARET,0,0);
|
||||
va_list lst;
|
||||
va_start(lst, text);
|
||||
vprintf(text, lst);
|
||||
}
|
||||
|
||||
static void wzputs(const char *text)
|
||||
|
@ -61,118 +39,17 @@ static void wzputs(const char *text)
|
|||
|
||||
static void wzcls()
|
||||
{
|
||||
SetWindowText(hWizardText,"");
|
||||
|
||||
}
|
||||
|
||||
static LRESULT InputWindow(HWND hDlg,UINT msg, WPARAM wParam,LPARAM lParam)
|
||||
{
|
||||
static char *buff;
|
||||
switch (msg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
buff=(char *)lParam;
|
||||
SetDlgItemText(hDlg,IDC_PROMPT,buff);
|
||||
hDlg=GetWindow(hDlg,GW_OWNER);
|
||||
EnableWindow(hDlg,TRUE);
|
||||
return 0;
|
||||
case WM_COMMAND:
|
||||
switch (LOWORD(wParam))
|
||||
{
|
||||
case IDCANCEL: EndDialog(hDlg,0);break;
|
||||
case IDOK:
|
||||
GetDlgItemText(hDlg,IDC_VALUE,buff,1020);
|
||||
EndDialog(hDlg,1);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
default: return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
static LRESULT CALLBACK ListWindow(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
switch (msg)
|
||||
{
|
||||
case WM_COMMAND:
|
||||
switch (LOWORD(wParam))
|
||||
{
|
||||
case IDOK:
|
||||
case IDCANCEL: PostQuitMessage(LOWORD(wParam));break;
|
||||
case IDC_LIST: if (HIWORD(wParam)==LBN_DBLCLK) PostQuitMessage(IDOK);break;
|
||||
default: return 0;
|
||||
}
|
||||
default: return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
static HWND PrepareListWindow(HWND parent)
|
||||
{
|
||||
HWND res;
|
||||
RECT rc1,rc2;
|
||||
GetWindowRect(parent,&rc1);
|
||||
EnableWindow(parent,0);
|
||||
res=CreateDialog(GetModuleHandle(0),MAKEINTRESOURCE(IDD_LISTDIALOG),parent,(DLGPROC)ListWindow);
|
||||
GetWindowRect(res,&rc2);
|
||||
rc2.right=rc2.right-rc2.left;
|
||||
rc2.bottom=rc2.bottom-rc2.top;
|
||||
rc2.left=(rc1.left+rc1.right-rc2.right)/2;
|
||||
rc2.top=(rc1.top+rc1.bottom-rc2.right)/2;
|
||||
SetWindowPos(res,0,rc2.left,rc2.top,rc2.right,rc2.bottom,SWP_NOZORDER);
|
||||
ShowWindow(res,SW_SHOW);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
static void CloseListWindow(HWND wnd)
|
||||
{
|
||||
HWND parent=GetParent(wnd);
|
||||
DestroyWindow(wnd);
|
||||
EnableWindow(parent,1);
|
||||
}
|
||||
|
||||
static int PumpDialogMessages(HWND dlg)
|
||||
{
|
||||
MSG msg;
|
||||
while (GetMessage(&msg,0,0,0))
|
||||
{
|
||||
if (!IsDialogMessage(dlg,&msg))
|
||||
{
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessage(&msg);
|
||||
}
|
||||
}
|
||||
return msg.wParam;
|
||||
}
|
||||
|
||||
|
||||
static int wzscanf(const char *prompt, const char *format,...)
|
||||
{
|
||||
char buff[1024];
|
||||
va_list args;
|
||||
unsigned long data[10];
|
||||
int i;
|
||||
|
||||
static char notallowed=0;
|
||||
|
||||
if (notallowed) return 0;
|
||||
notallowed=1;
|
||||
|
||||
strcpy(buff,prompt);
|
||||
if (DialogBoxParam(GetModuleHandle(NULL),MAKEINTRESOURCE(IDD_INPUTWINDOW),GetActiveWindow(),(DLGPROC)InputWindow,(LPARAM)buff)==0)
|
||||
{
|
||||
notallowed=0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
notallowed=0;
|
||||
|
||||
va_start(args,format);
|
||||
for (i=0;i<10;i++) data[i]=va_arg(args,unsigned long);
|
||||
return sscanf(buff,format,data[0],data[1],data[2],data[3],data[4],data[5],data[6],data[7],data[8],data[9]);
|
||||
va_list lst;
|
||||
va_start(lst, format);
|
||||
return vscanf(format, lst);
|
||||
}
|
||||
|
||||
char *side_flags[]=
|
||||
{
|
||||
"AUTOMAP",
|
||||
|
@ -234,32 +111,8 @@ char *mc_flags[]=
|
|||
"!SUMMON"
|
||||
};
|
||||
|
||||
void mman_scan(int action)
|
||||
void mman_scan(int )
|
||||
{
|
||||
extern char screenstate;
|
||||
static pos=0,zavora=0;
|
||||
MEMORYSTATUS mmi;
|
||||
char c[10];
|
||||
if (screenstate && !zavora)
|
||||
{
|
||||
zavora=1;
|
||||
switch(action)
|
||||
{
|
||||
case MMA_SWAP:curcolor=RGB555(31,0,0);break;
|
||||
case MMA_READ:curcolor=RGB555(0,31,0);break;
|
||||
case MMA_SWAP_READ:curcolor=RGB555(0,0,31);break;
|
||||
case MMA_FREE:curcolor=RGB555(31,31,31);break;
|
||||
}
|
||||
bar(pos,0,pos+16,16);
|
||||
get_mem_info(&mmi);
|
||||
set_font(H_FBOLD,RGB555(31,31,31));
|
||||
curcolor=0;
|
||||
bar(16,0,66,16);
|
||||
position(16,0);sprintf(c,"%d",mmi.dwAvailPageFile/1024);
|
||||
outtext(c);
|
||||
showview(pos,0,66,16);
|
||||
zavora=0;
|
||||
}
|
||||
}
|
||||
|
||||
void show_flags(int number,char **flags,char nums)
|
||||
|
@ -418,6 +271,7 @@ static char raise_death(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
static char raise_killed_monster(HWND hDlg)
|
||||
{
|
||||
HWND listdlg=PrepareListWindow(hDlg);
|
||||
|
@ -451,7 +305,7 @@ static char raise_death(void)
|
|||
CloseListWindow(listdlg);
|
||||
return 1;
|
||||
}
|
||||
|
||||
*/
|
||||
void unaffect();
|
||||
extern char immortality;
|
||||
extern char nohassle;
|
||||
|
@ -548,7 +402,7 @@ static char display_game_status(void)
|
|||
s=map_sides+viewsector*4+viewdir;
|
||||
wzprintf("Sector: (%d) Podlaha %d Strop %d Cil akce %d Smer akce %d Akce %d\r\n",
|
||||
ss->sector_type, ss->floor,ss->ceil,ss->sector_tag,ss->side_tag,ss->action);
|
||||
wzprintf(" Vychody: Sev %d Vych %d Jih %d Z p %d\r\n",ss->step_next[0],ss->step_next[1],ss->step_next[2],ss->step_next[3]);
|
||||
wzprintf(" Vychody: Sev %d Vych %d Jih %d Z<EFBFBD>p %d\r\n",ss->step_next[0],ss->step_next[1],ss->step_next[2],ss->step_next[3]);
|
||||
wzprintf(" Vlajky: %02X %02X ",ss->flags,map_coord[viewsector].flags);show_flags(map_coord[viewsector].flags,mc_flags,12);
|
||||
wzputs("\r\n");
|
||||
wzprintf("Stena: Prim %d Sec %d Obl %d Anim_prim %d/%d Anim_sec %d/%d\r\n",
|
||||
|
@ -562,153 +416,6 @@ static char display_game_status(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static LRESULT WizardDlgProc(HWND hDlg,UINT msg, WPARAM wParam,LPARAM lParam)
|
||||
{
|
||||
int i;
|
||||
switch (msg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
hWizardDlg=hDlg;
|
||||
hWizardText=GetDlgItem(hDlg,IDC_OUTPUT);
|
||||
SendMessage(hWizardText,WM_SETFONT,(WPARAM)hfCourier,1);
|
||||
display_game_status();
|
||||
SetTimer(hDlg,10,20,NULL);
|
||||
return 0;
|
||||
case WM_TIMER: do_events();return 1;
|
||||
case WM_COMMAND:
|
||||
switch (LOWORD(wParam))
|
||||
{
|
||||
case IDCANCEL: EndDialog(hDlg,0);return 0;
|
||||
case IDC_CLEARMAP:
|
||||
{
|
||||
HWND listwnd=PrepareListWindow(hDlg);
|
||||
HWND list=GetDlgItem(listwnd,IDC_LIST);
|
||||
int res;
|
||||
ListBox_AddString(list,"Clear Monsters");
|
||||
ListBox_AddString(list,"Clear Items");
|
||||
res=PumpDialogMessages(listwnd);
|
||||
if (res==IDOK)
|
||||
{
|
||||
if (ListBox_GetSel(list,0))
|
||||
{
|
||||
for(i=0;i<MAX_MOBS;i++)
|
||||
if (mobs[i].vlajky & MOB_LIVE)
|
||||
{
|
||||
vybrana_zbran=-1;
|
||||
select_player=-1;
|
||||
mob_hit(mobs+i,mobs[i].lives);
|
||||
}
|
||||
}
|
||||
if (ListBox_GetSel(list,1))
|
||||
{
|
||||
for(i=0;i<mapsize*4;i++)
|
||||
{
|
||||
destroy_items(map_items[i]);
|
||||
free(map_items[i]);
|
||||
map_items[i]=NULL;
|
||||
}
|
||||
for(i=0;i<vyk_max;i++)
|
||||
{
|
||||
destroy_items(map_vyk[i].items);
|
||||
map_vyk[i].items[0]=0;
|
||||
}
|
||||
}
|
||||
}
|
||||
CloseListWindow(listwnd);
|
||||
}
|
||||
break;
|
||||
|
||||
case IDC_ADVENCE:
|
||||
{
|
||||
int i,j,c;
|
||||
if (!wzscanf("Advence to level <postava -1=vsichni><uroven>:","%d %d",&i,&j)) return 0;
|
||||
c=MessageBox(GetActiveWindow(),"Automaticky?","?",MB_YESNO|MB_ICONQUESTION);
|
||||
if (i>0) advence_player(i-1,j,c==IDYES);else
|
||||
for(i=0;i<POCET_POSTAV;i++) if (postavy[i].used) advence_player(i,j,c==IDYES);
|
||||
return 0;
|
||||
}
|
||||
case IDC_GOTO:
|
||||
{
|
||||
char prompt[50];
|
||||
sprintf(prompt,"Goto sector <1-%d>:",mapsize-1);
|
||||
if (!wzscanf(prompt,"%d",&viewsector)) return 0;
|
||||
chod_s_postavama(1);
|
||||
SEND_LOG("(WIZARD) Goto %d",viewsector,0);
|
||||
return 0;
|
||||
}
|
||||
case IDC_LOADMAP:
|
||||
if (!wzscanf("Load Map <filename><sector>","%s %hd",loadlevel.name,&loadlevel.start_pos)) return 0;
|
||||
for(i=0;i<POCET_POSTAV;i++)postavy[i].sektor=loadlevel.start_pos;
|
||||
SEND_LOG("(WIZARD) Load map '%s' %d",loadlevel.name,loadlevel.start_pos);
|
||||
EndDialog(hDlg,0);
|
||||
send_message(E_CLOSE_MAP);
|
||||
return 0;
|
||||
case IDC_OPENDOOR:if (map_sectors[viewsector].step_next[viewdir])
|
||||
delay_action(3,viewsector,viewdir,0x2000000,0,0);
|
||||
else
|
||||
delay_action(3,viewsector,viewdir,0,0,0);
|
||||
return 0;
|
||||
case IDC_TAKEMONEY:if (take_money()) return 0;break;
|
||||
case IDC_PURGE:if (purge_map()) return 0;break;
|
||||
case IDC_HEAL:if (heal_meditate()) return 0;break;
|
||||
case IDC_RAISEDEATH:if (raise_death()) return 0;break;
|
||||
case IDC_RAISEMONSTER:if (raise_killed_monster(hDlg)) return 0;break;
|
||||
case IDC_IMMORTAL:set_immortality();break;
|
||||
case IDC_NETECNOST:set_nohassle();break;
|
||||
case IDC_UNAFFECT :unaffect();break;
|
||||
case IDC_WEAPONSKILL:if (advance_weapon()) return 0;break;
|
||||
case IDC_REFRESH:display_game_status();break;
|
||||
case IDC_RELOADMOBILES:
|
||||
i=MessageBox(hDlg,"Tato funkce precte znova parametry vsech existujicich nestvur. "
|
||||
"Pouzivej jen v pripade, ze se tyto parametry zmenili a nesouhlasi tak "
|
||||
"obsah ulozene pozice. Pokracovat? ","??",MB_YESNO|MB_ICONQUESTION);
|
||||
if (i==IDYES) reload_mobs();
|
||||
return 0;
|
||||
case IDC_LOADITEM:
|
||||
{
|
||||
HWND listdlg=PrepareListWindow(hDlg);
|
||||
HWND list=GetDlgItem(listdlg,IDC_LIST);
|
||||
char buff[256];
|
||||
int i;
|
||||
int res;
|
||||
|
||||
for (i=0;i<item_count;i++)
|
||||
{
|
||||
_snprintf(buff,sizeof(buff),"%d. %s",i,glob_items[i].jmeno);
|
||||
kamenik2windows(buff,strlen(buff),buff);
|
||||
ListBox_AddString(list,buff);
|
||||
}
|
||||
res=PumpDialogMessages(listdlg);
|
||||
while (res==IDOK)
|
||||
{
|
||||
int cnt;
|
||||
for (i=0,cnt=ListBox_GetCount(list);i<cnt;i++) if (ListBox_GetSel(list,i))
|
||||
{
|
||||
SEND_LOG("(WIZARD) Load Item %d (%s)",i,glob_items[i].jmeno);
|
||||
macro_drop_item(viewsector,viewdir,i);
|
||||
wzprintf("Dropped item: %d\r\n",i);
|
||||
}
|
||||
res=PumpDialogMessages(listdlg);
|
||||
}
|
||||
CloseListWindow(listdlg);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
default: return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void OpenWizard()
|
||||
{
|
||||
hfCourier=CreateFont(15,0,0,0,0,0,0,0,0,0,0,0,0,"Courier");
|
||||
DxDialogs(1);
|
||||
DialogBox(GetModuleHandle(NULL),MAKEINTRESOURCE(IDD_LADICIOKNO),GetActiveWindow(),(DLGPROC)WizardDlgProc);
|
||||
DxDialogs(0);
|
||||
DeleteObject(hfCourier);
|
||||
}
|
||||
|
||||
void wizard_kbd(EVENT_MSG *msg,void **usr)
|
||||
{
|
||||
char c;
|
||||
|
@ -722,12 +429,6 @@ void wizard_kbd(EVENT_MSG *msg,void **usr)
|
|||
switch (c)
|
||||
{
|
||||
case 'C':
|
||||
case 'D':
|
||||
unwire_proc();
|
||||
OpenWizard();
|
||||
wire_proc();
|
||||
showview(0,0,0,0);
|
||||
break;
|
||||
case '<':show_debug=!show_debug;break;
|
||||
case '=':show_lives=!show_lives;break;
|
||||
case '>':if (mman_action!=NULL) mman_action=NULL;else mman_action=mman_scan;break;
|
|
@ -212,7 +212,7 @@ static void display_progress(void)
|
|||
def_dialoge(312,380,310,75,"Copying some files...",3);
|
||||
define(10,10,27,290,15,0,done_bar,100);
|
||||
property(bbutt,NULL,flat_color(0x1e0),WINCOLOR);c_default(0);
|
||||
define(30,5,5,80,15,2,button,"Stop");on_change(stop_copy);
|
||||
define(30,5,5,80,15,2,button,"Stop");on_control_change(stop_copy);
|
||||
property(def_border(1,0),&font6x9,flat_color(0),BUTTONCOLOR);
|
||||
define(20,5,10,200,12,3,input_line,2048);set_default("");
|
||||
property(NULL,&font6x9,flat_color(0),WINCOLOR);
|
||||
|
@ -306,7 +306,7 @@ static void open_handbook(char *file)
|
|||
handbook=read_text(file);
|
||||
win_handbook=def_dialoge(54,54,450,350,"Handbook",2);
|
||||
def_listbox(9,5,25,420,290,handbook,0,WINCOLOR);property(def_border(0,WINCOLOR),&font6x9,NULL,WINCOLOR);
|
||||
define(20,5,5,60,15,2,button2,"Close");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(close_current);
|
||||
define(20,5,5,60,15,2,button2,"Close");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(close_current);
|
||||
redraw_window();
|
||||
}
|
||||
|
||||
|
@ -441,11 +441,11 @@ static load_window()
|
|||
set_full_target_path(0);
|
||||
for(i=0;i<str_count(disklist);i++) if (target_path[0]==disklist[i][2]) break;
|
||||
default_font=&font6x9;
|
||||
define(150,70,5,60,20,2,button,"Ok");on_change(terminate);property(bbutt,&font6x9,NULL,BUTTONCOLOR);
|
||||
define(160,5,5,60,20,2,button,"Cancel");on_change(terminate);property(bbutt,&font6x9,NULL,BUTTONCOLOR);
|
||||
define(150,70,5,60,20,2,button,"Ok");on_control_change(terminate_gui);property(bbutt,&font6x9,NULL,BUTTONCOLOR);
|
||||
define(160,5,5,60,20,2,button,"Cancel");on_control_change(terminate_gui);property(bbutt,&font6x9,NULL,BUTTONCOLOR);
|
||||
default_font=vga_font;
|
||||
def_listbox(59,70,60,100,200,dirlist,0,0x03ff);c_default(0);on_change(select_dir);
|
||||
def_listbox(69,5,60,40,200,disklist,0,0x03ff);on_change(change_disk);
|
||||
def_listbox(59,70,60,100,200,dirlist,0,0x03ff);c_default(0);on_control_change(select_dir);
|
||||
def_listbox(69,5,60,40,200,disklist,0,0x03ff);on_control_change(change_disk);
|
||||
c_default(i);
|
||||
default_font=&font6x9;
|
||||
define(-1,215,135,110,80,0,win_label,"");property(def_border(5,0x631f),NULL,NULL,0x631f);
|
||||
|
@ -527,7 +527,7 @@ static EVENT_PROC(esc_mode2)
|
|||
zobraz_mysku();
|
||||
redraw_desktop();
|
||||
goto_control(0);
|
||||
terminate();
|
||||
terminate_gui();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -606,9 +606,9 @@ static void select_vga()
|
|||
def_dialoge(20,300,156,156,"Graphics modes",2);
|
||||
define(9,0,20,156,80,0,listbox,video_ls,0x03ff,0);c_default(vmode);
|
||||
property(NULL,vga_font,NULL,WINCOLOR);
|
||||
define(20,38,20,80,20,3,button,"Change now");on_change(test_mode);
|
||||
define(20,38,20,80,20,3,button,"Change now");on_control_change(test_mode);
|
||||
property(bbutt,NULL,NULL,BUTTONCOLOR);
|
||||
define(30,10,5,80,10,3,check_box,"Subtitles in intro.");c_default(subtitles);on_change(toggle_subtitles);
|
||||
define(30,10,5,80,10,3,check_box,"Subtitles in intro.");c_default(subtitles);on_control_change(toggle_subtitles);
|
||||
redraw_window();
|
||||
}
|
||||
|
||||
|
@ -635,9 +635,9 @@ static void select_mode_win()
|
|||
{
|
||||
def_dialoge(224,270,192,156,"Install",2);
|
||||
default_font=&font6x9;
|
||||
define(10,30,40,132,30,0,button,"Automatic");property(bbutt,NULL,NULL,BUTTONCOLOR);on_change(terminate);
|
||||
define(30,30,80,132,30,0,button,"Custom");property(bbutt,NULL,NULL,BUTTONCOLOR);on_change(terminate);
|
||||
define(40,50,15,92,20,3,button,"Quit");property(bbutt,NULL,NULL,BUTTONCOLOR);on_change(stop_copy);
|
||||
define(10,30,40,132,30,0,button,"Automatic");property(bbutt,NULL,NULL,BUTTONCOLOR);on_control_change(terminate_gui);
|
||||
define(30,30,80,132,30,0,button,"Custom");property(bbutt,NULL,NULL,BUTTONCOLOR);on_control_change(terminate_gui);
|
||||
define(40,50,15,92,20,3,button,"Quit");property(bbutt,NULL,NULL,BUTTONCOLOR);on_control_change(stop_copy);
|
||||
redraw_window();
|
||||
}
|
||||
|
||||
|
@ -645,9 +645,9 @@ static void select_mode_win_setup()
|
|||
{
|
||||
def_dialoge(224,270,192,156,"Menu",2);
|
||||
default_font=&font6x9;
|
||||
define(10,30,40,132,30,0,button,"Change settings");property(bbutt,NULL,NULL,BUTTONCOLOR);on_change(terminate);
|
||||
define(30,30,80,132,30,0,button,"Uninstall");property(bbutt,NULL,NULL,BUTTONCOLOR);on_change(terminate);
|
||||
define(40,50,15,92,20,3,button,"Quit");property(bbutt,NULL,NULL,BUTTONCOLOR);on_change(stop_setup);
|
||||
define(10,30,40,132,30,0,button,"Change settings");property(bbutt,NULL,NULL,BUTTONCOLOR);on_control_change(terminate_gui);
|
||||
define(30,30,80,132,30,0,button,"Uninstall");property(bbutt,NULL,NULL,BUTTONCOLOR);on_control_change(terminate_gui);
|
||||
define(40,50,15,92,20,3,button,"Quit");property(bbutt,NULL,NULL,BUTTONCOLOR);on_control_change(stop_setup);
|
||||
redraw_window();
|
||||
}
|
||||
|
||||
|
@ -681,7 +681,7 @@ static void device_select2()
|
|||
char c;
|
||||
def_dialoge(270,240,100,100,device_name(i),3);
|
||||
define(10,10,25,60,40,0,radio_butts,3,"LPT 1","LPT 2","PC Speaker");c_default(0);
|
||||
define(20,10,5,80,20,2,button,"Ok");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(terminate);
|
||||
define(20,10,5,80,20,2,button,"Ok");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(terminate_gui);
|
||||
redraw_window();
|
||||
escape();
|
||||
c=f_get_value(0,10);
|
||||
|
@ -773,21 +773,21 @@ void select_sound()
|
|||
for(i=0;i<8;i++) str_add(&ls,device_name(i));
|
||||
str_replace(&ls,0,"<nosound>");
|
||||
sound_win=def_dialoge(200,300,300,156,"Sound devices",2);
|
||||
define(9,2,20,170,85,0,listbox,ls,0x03ff,0);c_default(sound_info.device);on_change(device_select2);
|
||||
define(9,2,20,170,85,0,listbox,ls,0x03ff,0);c_default(sound_info.device);on_control_change(device_select2);
|
||||
property(def_border(0,0x4210),vga_font,NULL,WINCOLOR);
|
||||
define(-1,180,20,1,1,0,label,"Port:");
|
||||
define(20,10,20,30,12,1,input_line,3);property(def_border(0,0x4210),vga_font,NULL,WINCOLOR);
|
||||
set_default(itoa(sound_info.port,buff,16));
|
||||
define(-1,180,40,1,1,0,label,"DMA:");
|
||||
i=sound_info.dma;i-=(i>2)+(i>4);
|
||||
define(30,40,40,30,30,1,radio_butts,3,"0","1","3");c_default(i);on_change(change_dma);
|
||||
define(35,10,40,30,30,1,radio_butts,3,"5","6","7");c_default(i-3);on_change(change_dma);
|
||||
define(30,40,40,30,30,1,radio_butts,3,"0","1","3");c_default(i);on_control_change(change_dma);
|
||||
define(35,10,40,30,30,1,radio_butts,3,"5","6","7");c_default(i-3);on_control_change(change_dma);
|
||||
define(-1,180,80,1,1,0,label,"IRQ:");
|
||||
i=sound_info.irq;i-=2*(i>1)+(i>4)+(i>6);
|
||||
define(40,40,80,30,40,1,radio_butts,4,"2","3","5","7");c_default(i);
|
||||
define(50,10,5,80,20,2,button,"Test");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(test_sound);
|
||||
define(60,100,5,80,20,2,button,"Autodetect");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(detect_sound);
|
||||
define(70,190,5,80,20,2,button,"Stop");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(stop_sound);
|
||||
define(50,10,5,80,20,2,button,"Test");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(test_sound);
|
||||
define(60,100,5,80,20,2,button,"Autodetect");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(detect_sound);
|
||||
define(70,190,5,80,20,2,button,"Stop");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(stop_sound);
|
||||
redraw_window();
|
||||
set_enable(0,70,mixer_running);
|
||||
device_select();
|
||||
|
@ -799,7 +799,7 @@ static void back_start()
|
|||
stop_sound();
|
||||
sound_scan();
|
||||
while (waktual!=NULL) close_current();
|
||||
terminate();
|
||||
terminate_gui();
|
||||
}
|
||||
|
||||
static void control_window(void *forward,void *back,void *help);
|
||||
|
@ -1056,22 +1056,22 @@ static void rozsah_window()
|
|||
exit_wait=0;
|
||||
default_font=&font6x9;
|
||||
def_dialoge(146,160,348,264,"Installation ragne:",2);
|
||||
define(10,10,30,70,30,0,button,"Minimum");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(start_install);
|
||||
define(10,10,30,70,30,0,button,"Minimum");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(start_install);
|
||||
define(-1,90,30,1,1,0,label,"It will copy all important files");
|
||||
define(-1,90,40,1,1,0,label,"Data are loaded from CD");
|
||||
sprintf(buff,text,install_sizes[0]/1024);
|
||||
define(-1,90,50,1,1,0,label,buff);
|
||||
define(20,10,80,70,30,0,button,"Normal");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(start_install);
|
||||
define(20,10,80,70,30,0,button,"Normal");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(start_install);
|
||||
define(-1,90,80,1,1,0,label,"It will copy all important files and data");
|
||||
define(-1,90,90,1,1,0,label,"Music and video are loaded from CD");
|
||||
sprintf(buff,text,install_sizes[1]/1024);
|
||||
define(-1,90,100,1,1,0,label,buff);
|
||||
define(30,10,130,70,30,0,button,"Full");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(start_install);
|
||||
define(30,10,130,70,30,0,button,"Full");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(start_install);
|
||||
define(-1,90,130,1,1,0,label,"It will copy all files.");
|
||||
define(-1,90,140,1,1,0,label,"You will not need CD anymore.");
|
||||
sprintf(buff,text,install_sizes[2]/1024);
|
||||
define(-1,90,150,1,1,0,label,buff);
|
||||
define(40,10,180,70,20,0,button,"Browse");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(open_load_window);
|
||||
define(40,10,180,70,20,0,button,"Browse");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(open_load_window);
|
||||
define(60,90,185,250,11,0,input_line,2048);property(def_border(1,0x4210),&font6x9,NULL,0x7fff);
|
||||
set_default(target_path);
|
||||
on_event(show_space_event);on_exit(show_space_exit);
|
||||
|
@ -1089,12 +1089,12 @@ static void automatic_window()
|
|||
exit_wait=0;
|
||||
default_font=&font6x9;
|
||||
def_dialoge(110,200,420,80,"Target directory:",2);
|
||||
define(40,10,33,70,15,0,button,"Browse");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(open_load_window);
|
||||
define(40,10,33,70,15,0,button,"Browse");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(open_load_window);
|
||||
define(60,90,35,310,11,0,input_line,2048);property(def_border(1,0x4210),&font6x9,NULL,0x7fff);
|
||||
set_default(target_path);
|
||||
on_event(show_space_event);on_exit(show_space_exit);
|
||||
define(10,10,10,70,20,2,button,"Start");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(start_install);
|
||||
define(20,90,10,70,20,2,button,"<< Back");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(back_start);
|
||||
define(10,10,10,70,20,2,button,"Start");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(start_install);
|
||||
define(20,90,10,70,20,2,button,"<< Back");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(back_start);
|
||||
sprintf(buff,text,install_sizes[0]/1024);
|
||||
define(90,180,20,200,10,2,view_line,100);set_default(buff);
|
||||
define(80,180,10,200,10,2,view_line,100);set_default("");
|
||||
|
@ -1115,11 +1115,11 @@ static void control_next1()
|
|||
static void control_window(void *forward,void *back,void *help)
|
||||
{
|
||||
def_dialoge(524,300,96,156,"Options",2);
|
||||
define(10,8,30,80,20,0,button,"Next >>");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(forward);
|
||||
define(20,8,60,80,20,0,button,"<< Back");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(back);
|
||||
define(30,8,90,80,20,0,button,"? Help");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(help);
|
||||
define(10,8,30,80,20,0,button,"Next >>");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(forward);
|
||||
define(20,8,60,80,20,0,button,"<< Back");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(back);
|
||||
define(30,8,90,80,20,0,button,"? Help");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(help);
|
||||
define(40,8,10,80,20,3,button,"Quit");property(bbutt,&font6x9,NULL,BUTTONCOLOR);
|
||||
if (setup_mode) on_change(stop_setup);else on_change(stop_copy);
|
||||
if (setup_mode) on_control_change(stop_setup);else on_control_change(stop_copy);
|
||||
set_enable(0,10,forward!=NULL);
|
||||
set_enable(0,20,back!=NULL);
|
||||
set_enable(0,30,help!=NULL);
|
||||
|
@ -1227,8 +1227,8 @@ static void deinstall()
|
|||
define(-1,10,40,200,100,0,label,"After it, you won't be able to play");
|
||||
define(-1,10,50,200,100,0,label,"the game until you install it again.");
|
||||
define(10,30,80,150,10,0,check_box,"Don't erase saved positions");c_default(1);
|
||||
define(20,10,10,80,30,3,button,"Yes, do it!");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(terminate);
|
||||
define(30,10,10,80,30,2,button,"No, newer!");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_change(terminate);
|
||||
define(20,10,10,80,30,3,button,"Yes, do it!");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(terminate_gui);
|
||||
define(30,10,10,80,30,2,button,"No, newer!");property(bbutt,&font6x9,NULL,BUTTONCOLOR);on_control_change(terminate_gui);
|
||||
redraw_window();
|
||||
escape();
|
||||
if (o_aktual->id==30)
|
||||
|
@ -1296,12 +1296,12 @@ void warning()
|
|||
_outtext("(C)1998 Napoleon gameS - Setup version 1.0 written by Ondrej Novak\n"
|
||||
"\n\nNote:\n");
|
||||
_settextcolor(15);
|
||||
_outtext("Ú"); REPEAT(i,78) _outtext("Ä");_outtext("¿");
|
||||
_outtext("<EFBFBD>"); REPEAT(i,78) _outtext("<EFBFBD>");_outtext("<EFBFBD>");
|
||||
REPEAT(j,5)
|
||||
{
|
||||
_outtext("³"); REPEAT(i,78)_outtext(" ");_outtext("³");
|
||||
_outtext("<EFBFBD>"); REPEAT(i,78)_outtext(" ");_outtext("<EFBFBD>");
|
||||
}
|
||||
_outtext("À"); REPEAT(i,78) _outtext("Ä");_outtext("Ù");
|
||||
_outtext("<EFBFBD>"); REPEAT(i,78) _outtext("<EFBFBD>");_outtext("<EFBFBD>");
|
||||
_settextcolor(13);
|
||||
_settextwindow(6,2,20,79);
|
||||
_outtext(
|
||||
|
@ -1327,9 +1327,9 @@ static void ask_video()
|
|||
ask_video_win=def_dialoge(242,100,156,156,"Select resolution",3);
|
||||
define(9,0,20,156,80,0,listbox,video_ls,0x03ff,0);c_default(vmode);
|
||||
property(NULL,vga_font,NULL,WINCOLOR);
|
||||
define(20,5,5,60,20,2,button,"Quit");on_change(terminate);
|
||||
define(20,5,5,60,20,2,button,"Quit");on_control_change(terminate_gui);
|
||||
property(bbutt,NULL,NULL,BUTTONCOLOR);
|
||||
define(20,70,5,60,20,2,button,"Ok");on_change(test_mode_xxx);
|
||||
define(20,70,5,60,20,2,button,"Ok");on_control_change(test_mode_xxx);
|
||||
property(bbutt,NULL,NULL,BUTTONCOLOR);
|
||||
redraw_window();
|
||||
}
|
||||
|
@ -1347,7 +1347,7 @@ static EVENT_PROC(esc_mode)
|
|||
rescue_mode=1;
|
||||
redraw_desktop();
|
||||
vmode=0;
|
||||
terminate();
|
||||
terminate_gui();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1361,7 +1361,7 @@ static void about_window()
|
|||
define(-1,10,30,240,10,0,mid_label,"Welcome in Install:");
|
||||
define(-1,10,42,240,10,0,mid_label,"The Gates of Skeldal ");
|
||||
define(-1,10,80,240,10,0,mid_label,"Install written by:");
|
||||
define(-1,10,92,240,10,0,mid_label,"Ond©ej Nov k");
|
||||
define(-1,10,92,240,10,0,mid_label,"Ond<EFBFBD>ej Nov<6F>k");
|
||||
define(-1,10,110,240,10,0,mid_label,"(C)1998 Napoleon gameS");
|
||||
redraw_window();
|
||||
escape();
|
||||
|
|
|
@ -156,7 +156,7 @@ long def_window(word xs,word ys,char *name)
|
|||
if (xs>=70)
|
||||
{
|
||||
define(1,1,1,19,16,1,button,"\x0f");
|
||||
property(NULL,icones,&icone_color,WINCOLOR);on_change(close_current);
|
||||
property(NULL,icones,&icone_color,WINCOLOR);on_control_change(close_current);
|
||||
}
|
||||
return q;
|
||||
}
|
||||
|
@ -201,9 +201,9 @@ void def_listbox(int id,word x,word y,word xs,word ys,TSTR_LIST ls,int ofs,int c
|
|||
define(id+1,x+xs+4,y+18,15,ys-35,0,scroll_bar_v,0,10,1,0x0200);
|
||||
property(&b2,NULL,NULL,WINCOLOR);
|
||||
define(id+2,x+xs+4,y,14,14,0,scroll_button,-1,0,"\x4");
|
||||
property(&b1,icones,black,WINCOLOR);on_change(scroll_support);
|
||||
property(&b1,icones,black,WINCOLOR);on_control_change(scroll_support);
|
||||
define(id+3,x+xs+4,y+ys-14,14,14,0,scroll_button,1,10,"\6");
|
||||
property(&b1,icones,black,WINCOLOR);on_change(scroll_support);
|
||||
property(&b1,icones,black,WINCOLOR);on_control_change(scroll_support);
|
||||
define(id,x,y,xs,ys,0,listbox,ls,color,ofs);
|
||||
property(&b2,NULL,NULL,WINCOLOR);
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#define point point32
|
||||
|
||||
word *GetScreenAdr();
|
||||
long GetScreenSizeBytes();
|
||||
word *GetBuffer2nd();
|
||||
void RedirectScreen(word *newaddr);
|
||||
void RestoreScreen();
|
|
@ -133,11 +133,11 @@ void close_current();
|
|||
void check_window(WINDOW *w);
|
||||
void install_gui(void);
|
||||
void uninstall_gui(void);
|
||||
void on_change(void (*proc)());
|
||||
void on_enter(void (*proc)());
|
||||
void on_exit(void (*proc)());
|
||||
void on_event(void (*proc)());
|
||||
void terminate(void);
|
||||
void on_control_change(void (*proc)());
|
||||
void on_control_enter(void (*proc)());
|
||||
void on_control_exit(void (*proc)());
|
||||
void on_control_event(void (*proc)());
|
||||
void terminate_gui(void);
|
||||
void set_change(void);
|
||||
void set_value(int win_id,int obj_id,void *value);
|
||||
void set_default(void *value);
|
|
@ -1,9 +1,9 @@
|
|||
//#define LOGFILE
|
||||
|
||||
#ifndef _MEMMAN_H_
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#ifndef _MEMMAN_H_
|
||||
#define _MEMMAN_H_
|
||||
#define freemem(size) free(size);
|
||||
//#define malloc(size) getmem(size)
|
||||
|
@ -84,7 +84,7 @@ int find_handle(char *name,void *decomp); //hleda mezi rukojeti stejnou defini
|
|||
int test_file_exist(int group,char *filename); //testuje zda soubor existuje v ramci mmanageru
|
||||
void *afile(char *filename,int group,long *blocksize); //nahraje do pameti soubor registrovany v ramci mmanageru
|
||||
long get_handle_size(int handle);
|
||||
void get_mem_info(MEMORYSTATUS *mem);
|
||||
//void get_mem_info(MEMORYSTATUS *mem);
|
||||
|
||||
void apreload_sign(int handle,int max_handle); //pripravi preloading pro nacteni dat z CD (sekvencne)
|
||||
void apreload_start(void (*percent)(int cur,int max)); //provede sekvenci apreload
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue