mirror of
https://github.com/ondra-novak/gates_of_skeldal.git
synced 2025-07-25 16:44:46 -04:00
linux release build, cleanup repository
This commit is contained in:
parent
529b3e8bf8
commit
3d8ee275e4
441 changed files with 280 additions and 65861 deletions
|
@ -1,8 +1,16 @@
|
|||
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/default_font.base64
|
||||
COMMAND file_to_base64 ${CMAKE_CURRENT_LIST_DIR}/boldcz.fon > ${CMAKE_BINARY_DIR}/default_font.base64
|
||||
DEPENDS ${CMAKE_CURRENT_LIST_DIR}/boldcz.fon)
|
||||
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/icon.base64
|
||||
COMMAND file_to_base64 ${CMAKE_CURRENT_LIST_DIR}/icon.bmp > ${CMAKE_BINARY_DIR}/icon.base64
|
||||
DEPENDS ${CMAKE_CURRENT_LIST_DIR}/icon.bmp)
|
||||
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_BINARY_DIR}/resources.cpp
|
||||
COMMAND ${CMAKE_COMMAND} -DOUT=${CMAKE_BINARY_DIR}/resources.cpp -DIN_FONT=${CMAKE_BINARY_DIR}/default_font.base64 -DIN_ICON=${CMAKE_BINARY_DIR}/icon.base64 -DTEMPLATE=${CMAKE_CURRENT_LIST_DIR}/resources.in.cpp -P ${CMAKE_CURRENT_LIST_DIR}/resources_to_cpp.cmake
|
||||
DEPENDS ${CMAKE_BINARY_DIR}/default_font.base64 ${CMAKE_BINARY_DIR}/icon.base64 ${CMAKE_CURRENT_LIST_DIR}/resources_to_cpp.cmake ${CMAKE_CURRENT_LIST_DIR}/resources.in.cpp
|
||||
)
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_BINARY_DIR}/default_font.cpp
|
||||
COMMAND ${CMAKE_COMMAND} -DOUT=${CMAKE_BINARY_DIR}/default_font.cpp -DIN=${CMAKE_BINARY_DIR}/default_font.base64 -DTEMPLATE=${CMAKE_CURRENT_LIST_DIR}/default_font.in.cpp -P ${CMAKE_CURRENT_LIST_DIR}/default_font_to_cpp.cmake
|
||||
|
@ -37,7 +45,7 @@ gen_stringtable.c
|
|||
advconfig.c
|
||||
temp_storage.cpp
|
||||
lang.c
|
||||
${CMAKE_BINARY_DIR}/default_font.cpp
|
||||
${CMAKE_BINARY_DIR}/resources.cpp
|
||||
)
|
||||
|
||||
add_library(skeldal_main ${files})
|
||||
|
|
|
@ -143,7 +143,8 @@ void save_text_to_map(int x,int y,int depth,char *text)
|
|||
char c[512],*d;
|
||||
if (text[0]==0) return;
|
||||
memset(c,1,sizeof(c));
|
||||
strcpy(c+12,text);
|
||||
strncpy(c+12,text,sizeof(c)-13);
|
||||
c[511] = 0;
|
||||
if (texty_v_mape==NULL) texty_v_mape=create_list(8);
|
||||
d=texty_v_mape[str_add(&texty_v_mape,c)];
|
||||
x=(x-320)+map_xr;
|
||||
|
|
|
@ -719,13 +719,7 @@ void create_minimap(int sector, int smer)
|
|||
}
|
||||
|
||||
|
||||
static const float Snapper=3<<22;
|
||||
|
||||
static __inline int toInt( float fval )
|
||||
{
|
||||
fval += Snapper;
|
||||
return ( (*(int *)&fval)&0x007fffff ) - 0x00400000;
|
||||
}
|
||||
|
||||
|
||||
static const void *check_autofade(const void *image, char ceil, int dark)
|
||||
|
@ -755,9 +749,9 @@ static const void *check_autofade(const void *image, char ceil, int dark)
|
|||
int r=*imgdata>>11;
|
||||
int g=(*imgdata>>5) & 0x3F;
|
||||
int b=*imgdata & 0x1F;
|
||||
r=toInt(r+factor*(br-r));
|
||||
g=toInt(g+factor*(bg-g));
|
||||
b=toInt(b+factor*(bb-b));
|
||||
r=(int)(r+factor*(br-r));
|
||||
g=(int)(g+factor*(bg-g));
|
||||
b=(int)(b+factor*(bb-b));
|
||||
*imgdata=(r<<11)|(g<<5)|b;
|
||||
imgdata++;
|
||||
}
|
||||
|
@ -954,8 +948,8 @@ void draw_players(int sector,int dir,int celx,int cely)
|
|||
{
|
||||
int i;
|
||||
THUMAN *p;
|
||||
char freep[5];
|
||||
int j,d,pp=0,f;
|
||||
char freep[5]= {0,0,0,0,0};
|
||||
int j,d,pp=0,f=0;
|
||||
|
||||
memset(freep,0,sizeof(freep));
|
||||
for(i=0,pp=0;i<POCET_POSTAV;i++)
|
||||
|
|
|
@ -301,7 +301,7 @@ static reload_mobs()
|
|||
{
|
||||
extern char reset_mobiles;
|
||||
reset_mobiles=1;
|
||||
strncpy(loadlevel.name,level_fname,12);
|
||||
strcopy_n(loadlevel.name,level_fname,12);
|
||||
loadlevel.start_pos=viewsector;
|
||||
loadlevel.name[12]=0;
|
||||
loadlevel.dir=viewdir;
|
||||
|
@ -685,7 +685,7 @@ static int process_with_params(const char *cmd, const char *args) {
|
|||
if (istrcmp(cmd, "portal-jump") == 0) {
|
||||
if (check_file_exists(build_pathname(2,gpathtable[SR_MAP], args))) {
|
||||
TMA_LOADLEV lev;
|
||||
strncpy(lev.name,args,12);
|
||||
strcopy_n(lev.name,args,12);
|
||||
lev.start_pos = 0;
|
||||
macro_load_another_map(&lev);
|
||||
return 1;
|
||||
|
@ -779,12 +779,14 @@ static void wzprintf(const char *text,...)
|
|||
while (d != NULL) {
|
||||
*d = 0;
|
||||
strncat(wzprint_line,c, console_max_characters);
|
||||
wzprint_line[console_max_characters] = 0;
|
||||
console_add_line(wzprint_line);
|
||||
c = d+1;
|
||||
d = strchr(c, '\n');
|
||||
wzprint_line[0] = 0;
|
||||
}
|
||||
strncat(wzprint_line, c, console_max_characters);
|
||||
wzprint_line[console_max_characters] = 0;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
|
||||
|
||||
void *LoadDefaultFont(void);
|
||||
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
#include <libs/base64.h>
|
||||
|
||||
|
||||
constexpr binary_data font_data ="@CONTENT@";
|
||||
|
||||
extern "C" {
|
||||
|
||||
const void *LoadDefaultFont() {
|
||||
return font_data.begin();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
file(READ ${IN} CONTENT)
|
||||
|
||||
configure_file(${TEMPLATE} ${OUT} @ONLY)
|
||||
|
|
@ -159,7 +159,7 @@ static void dialog_anim(va_list args)
|
|||
const void *anm;
|
||||
void *aptr;
|
||||
char hid;
|
||||
int spdc=0,cntr=rep,tm,tm2;
|
||||
int spdc=0,cntr=rep,tm = 0,tm2 = 0;
|
||||
|
||||
int32_t scr_linelen2 = GetScreenPitch();
|
||||
loc_anim_render_buffer=PIC_Y*scr_linelen2+PIC_X;
|
||||
|
@ -216,7 +216,7 @@ static void run_anim(char *name,int speed,int rep)
|
|||
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);
|
||||
sprintf(buff,"%.125s 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);
|
||||
SEND_LOG("(DIALOGS) Dialog error detected at %d:%d",local_pgf/128,last_pgf);
|
||||
SEND_LOG("(DIALOGS) Error description: %s",text);
|
||||
|
@ -312,7 +312,7 @@ static char *transfer_text(const char *source,char *target)
|
|||
if (*source=='l')
|
||||
{
|
||||
sn_nums[0]=sn_nums[num];
|
||||
strcpy(sn_nams[0],sn_nams[num]);
|
||||
strcopy_n(sn_nams[0],sn_nams[num],sizeof(sn_nams[0]));
|
||||
sn_rods[0]=sn_rods[num];
|
||||
}
|
||||
break;
|
||||
|
@ -554,14 +554,14 @@ static void lecho(char *c)
|
|||
static void save_name(int pos)
|
||||
{
|
||||
sn_nums[pos]=sn_nums[0];
|
||||
strcpy(sn_nams[pos],sn_nams[0]);
|
||||
strcopy_n(sn_nams[pos],sn_nams[0],sizeof(sn_nams[pos]));
|
||||
sn_rods[pos]=sn_rods[0];
|
||||
}
|
||||
|
||||
static void load_name(int pos)
|
||||
{
|
||||
sn_nums[0]=sn_nums[pos];
|
||||
strcpy(sn_nams[0],sn_nams[pos]);
|
||||
strcopy_n(sn_nams[0],sn_nams[pos],sizeof(sn_nams[0]));
|
||||
sn_rods[0]=sn_rods[pos];
|
||||
}
|
||||
|
||||
|
@ -1260,7 +1260,7 @@ void do_dialog()
|
|||
case 134:p1=Get_short();p2=Get_short();nahodne(VLS_SMAGIE,p1,p2);break;
|
||||
case 135:p1=Get_short();p2=Get_short();nahodne(VLS_SILA,p1,p2);break;
|
||||
case 136:p1=Get_short();p2=Get_short();nahodne(VLS_OBRAT,p1,p2);break;
|
||||
case 137:c=Get_string();p1=Get_short();strncpy(sn_nams[0],c,32);sn_rods[0]=p1;break;
|
||||
case 137:c=Get_string();p1=Get_short();strcopy_n(sn_nams[0],c,32);sn_rods[0]=p1;break;
|
||||
case 138:iff=Get_short();break;
|
||||
case 139:goto_paragraph(Get_short());break;
|
||||
case 140:p1=Get_short();if (iff) goto_paragraph(p1);break;
|
||||
|
|
12
game/enemy.c
12
game/enemy.c
|
@ -314,9 +314,9 @@ static char pick_item_corpse(TMOB *m,char query)
|
|||
static char seber_predmet(TMOB *m)
|
||||
{
|
||||
short *p=NULL,*q;
|
||||
int i,j,c,z;
|
||||
int i,j,c,z = 0;
|
||||
|
||||
for(j=0,c=0;j<MOBS_INV;j++,c+=(m->inv[j]==0));
|
||||
for(j=0,c=0;j<MOBS_INV;c+=(m->inv[j]==0),++j);
|
||||
i=0;
|
||||
do
|
||||
{
|
||||
|
@ -535,7 +535,7 @@ char je_mozne_videt(int sector1, int sector2, int flag) {
|
|||
int q_vidis_postavu(int sector,int dir,TMOB *p,int *otocit_se,char ret)
|
||||
{
|
||||
int i,z=-1;
|
||||
int xs,ys,nd,d,dis=255;
|
||||
int xs,ys,nd=0,d,dis=255;
|
||||
|
||||
if (p->vlastnosti[VLS_KOUZLA] & SPL_BLIND) return -1;
|
||||
if (p->vlastnosti[VLS_KOUZLA] & SPL_FEAR) return -1;
|
||||
|
@ -558,7 +558,7 @@ int q_vidis_postavu(int sector,int dir,TMOB *p,int *otocit_se,char ret)
|
|||
if (ok)
|
||||
if (je_mozne_videt(sector,postavy[i].sektor,SD_MONST_IMPS | SD_PLAY_IMPS))
|
||||
{
|
||||
int alt;
|
||||
int alt = 0;
|
||||
if (ys>=abs(xs)) {nd=0;alt=xs>0?3:1;}
|
||||
else if (xs>=abs(ys)) {nd=3;alt=ys>0?0:2;}
|
||||
else if (ys<=(-abs(xs))) {nd=2;alt=xs>0?1:3;}
|
||||
|
@ -1198,7 +1198,7 @@ static int mob_check_teleport(int sect,int num)
|
|||
|
||||
void mob_step_next(int num,int sect,int dir,char *change)
|
||||
{
|
||||
int c,numm,d;
|
||||
int c,numm,d = 0;
|
||||
TMOB *p;
|
||||
|
||||
*change+=128;
|
||||
|
@ -1387,7 +1387,7 @@ void mob_hit(TMOB *mm,int dostal)
|
|||
bott_draw(0);
|
||||
if (mm->lives<1)
|
||||
{
|
||||
int xpos;
|
||||
int xpos = 0;
|
||||
switch (viewdir)
|
||||
{
|
||||
case 0:xpos=-(mm->locx-128);break;
|
||||
|
|
|
@ -623,7 +623,7 @@ int save_basic_info()
|
|||
s.out_filter=get_snd_effect(SND_OUTFILTER);
|
||||
s.autosave=autosave_enabled;
|
||||
s.game_flags=(enable_glmap!=0);
|
||||
strncpy(s.level_name,level_fname,12);
|
||||
strcopy_n(s.level_name,level_fname,12);
|
||||
for(i=0;i<5;i++) s.runes[i]=runes[i];
|
||||
if (picked_item!=NULL)
|
||||
for(i=1,p=picked_item;*p;i++,p++);else i=0;
|
||||
|
@ -712,7 +712,7 @@ int load_basic_info()
|
|||
set_snd_effect(SND_OUTFILTER,s.out_filter);
|
||||
if (level_fname==NULL || strncmp(s.level_name,level_fname,12))
|
||||
{
|
||||
strncpy(loadlevel.name,s.level_name,12);
|
||||
strcopy_n(loadlevel.name,s.level_name,12);
|
||||
loadlevel.start_pos=viewsector;
|
||||
loadlevel.dir=viewdir;
|
||||
send_message(E_CLOSE_MAP);
|
||||
|
@ -760,7 +760,7 @@ int save_game(int slotnum,char *gamename)
|
|||
ssn=alloca(strlen(sn)+3);
|
||||
sprintf(ssn,sn,slotnum);
|
||||
gn=alloca(SAVE_NAME_SIZE);
|
||||
strncpy(gn,gamename,SAVE_NAME_SIZE);
|
||||
strcopy_n(gn,gamename,SAVE_NAME_SIZE);
|
||||
if ((r=save_shops())!=0) return r;
|
||||
if ((r=save_basic_info())!=0) return r;
|
||||
save_book();
|
||||
|
|
|
@ -1721,7 +1721,7 @@ int smlouvat_prodej(int cena,int ponuka,int posledni,int puvod,int pocet);
|
|||
THAGGLERESULT smlouvat_dlg(int cena,int puvod,int pocet,int posledni, int money,char mode);
|
||||
|
||||
void disable_intro(void);
|
||||
void show_jrc_logo(char *filename);
|
||||
//void show_jrc_logo(char *filename);
|
||||
|
||||
|
||||
//dialogy
|
||||
|
|
|
@ -206,7 +206,7 @@ static char test_kriterii(void)
|
|||
char last_op=0;
|
||||
char not_op=0;
|
||||
char text[128];
|
||||
char hodn;
|
||||
char hodn = 0;
|
||||
char vysl=0;
|
||||
char symb,*c;
|
||||
|
||||
|
@ -427,7 +427,7 @@ static char flp_validate(word sector, void *ctx)
|
|||
{
|
||||
m=mobs+mob_map[sector]-1;
|
||||
if (m->vlajky & ~MOB_PASSABLE) return 0;
|
||||
if (!m->next)
|
||||
if (m->next)
|
||||
if (mobs[m->next-1].vlajky & ~MOB_PASSABLE) return 0;
|
||||
}
|
||||
c=map_sectors[sector].sector_type;
|
||||
|
@ -484,7 +484,7 @@ static char load_index_map(int index)
|
|||
*/
|
||||
if (!GlobEvent(MAGLOB_LEAVEMAP,viewsector,viewdir)) return 0;
|
||||
viewsector=lv;
|
||||
strncpy(x.name,index_tab[index].mapname,12);
|
||||
strcopy_n(x.name,index_tab[index].mapname,12);
|
||||
x.start_pos=0;
|
||||
x.dir=0;
|
||||
macro_load_another_map(&x);
|
||||
|
|
0
game/icon.base64
Normal file
0
game/icon.base64
Normal file
BIN
game/icon.bmp
Normal file
BIN
game/icon.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 630 B |
|
@ -544,7 +544,7 @@ char labyrinth_find_path(word start,word konec,int flag,char (*proc)(word, void
|
|||
ok_flags[start>>3]|=1<<(start & 0x7);
|
||||
for(*stk_free++=start;stk_free!=stk_cur;stk_cur++)
|
||||
{
|
||||
uint8_t i;word s,d,ss;
|
||||
uint8_t i;word s=0,d=0,ss=0;
|
||||
s=(ss=Lo(*stk_cur))<<2;
|
||||
for(i=0;i<4;i++) if (!(map_sides[s+i].flags & flag))
|
||||
{
|
||||
|
@ -1181,7 +1181,7 @@ void fletna_pridej_notu(char note)
|
|||
{
|
||||
note+=65;
|
||||
fletna_str[pos]=note;
|
||||
if (pos==13) memcpy(fletna_str,fletna_str+1,pos);
|
||||
if (pos==13) memmove(fletna_str,fletna_str+1,pos-1);
|
||||
else pos++;
|
||||
}
|
||||
|
||||
|
@ -1535,6 +1535,7 @@ THAGGLERESULT smlouvat_dlg(int cena,int puvod,int pocet,int posledni, int money,
|
|||
return res;
|
||||
}
|
||||
|
||||
#if 0
|
||||
//----------------- JRC LOGO ----------------------------------
|
||||
|
||||
#define SHOWDELAY 125
|
||||
|
@ -1611,3 +1612,4 @@ void show_jrc_logo(char *filename)
|
|||
showview(0,0,0,0);
|
||||
free(pcx);
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -248,9 +248,9 @@ void load_items()
|
|||
*sep = 0;
|
||||
--sep;
|
||||
}
|
||||
strncpy(glob_items[i].popis, nx, sizeof(glob_items[i].popis)-1);
|
||||
strcopy_n(glob_items[i].popis, nx, sizeof(glob_items[i].popis)-1);
|
||||
}
|
||||
strncpy(glob_items[i].jmeno, trnw, sizeof(glob_items[i].jmeno)-1);
|
||||
strcopy_n(glob_items[i].jmeno, trnw, sizeof(glob_items[i].jmeno)-1);
|
||||
}
|
||||
}
|
||||
stringtable_free(str_table);
|
||||
|
@ -270,7 +270,7 @@ static short expand_itemlist(void)
|
|||
|
||||
if (item_count>32766)
|
||||
{
|
||||
int i,j;
|
||||
int i,j = 0;
|
||||
|
||||
for(i=it_count_orgn;i<item_count;i++)
|
||||
{
|
||||
|
@ -1377,7 +1377,7 @@ static T_INV_SCRIPT script[]=
|
|||
|
||||
static int calc_value(int parm,int lenght)
|
||||
{
|
||||
int32_t l;
|
||||
int32_t l = 0;
|
||||
if (parm>=0) l=*(int32_t *)(((char *)human_selected)+parm);
|
||||
else
|
||||
switch (parm)
|
||||
|
|
|
@ -323,7 +323,7 @@ static int get_data_handle(char *filename,void *dec)
|
|||
|
||||
static void insert_picture(char *filename,int align,int line,int lsize)
|
||||
{
|
||||
int x, y;
|
||||
int x=0, y=0;
|
||||
const short *psiz;
|
||||
char *c=write_buff;
|
||||
|
||||
|
@ -391,7 +391,7 @@ static char read_tag(TMPFILE_RD *txt)
|
|||
while (c!='>')
|
||||
{
|
||||
c=read_set(txt,var,set);
|
||||
if (!strcmp(var,SRC)) strncpy(pic_name,set,49);
|
||||
if (!strcmp(var,SRC)) strcopy_n(pic_name,set,49);
|
||||
else if (!strcmp(var,ALIGN))
|
||||
{
|
||||
if (!strcmp(set,ALEFT)) alig=1;
|
||||
|
|
|
@ -205,14 +205,14 @@ const void *load_spells_legacy_format(const void *p, int32_t *s) {
|
|||
k = (np);
|
||||
for (int i = 0; i < count; ++i) {
|
||||
char *b = (char *)k;
|
||||
char traceon = *(k->spellname-1); //traceon was there;
|
||||
char traceon = b[offsetof(TKOUZLO, spellname)-1]; //traceon was there;
|
||||
size_t bofs = offsetof(TKOUZLO, traceon);
|
||||
size_t eofs = offsetof(TKOUZLO, spellname)-1;
|
||||
memmove(b+bofs+1, b+bofs, eofs-bofs);\
|
||||
k->traceon = traceon;
|
||||
const char *new_name = stringtable_find(strtable, i, NULL);
|
||||
if (new_name) {
|
||||
strncpy(k->spellname,new_name,sizeof(k->spellname)-1);
|
||||
strcopy_n(k->spellname,new_name,sizeof(k->spellname)-1);
|
||||
}
|
||||
++k;
|
||||
}
|
||||
|
@ -435,7 +435,7 @@ static void spell_vzplanuti2(THE_TIMER *tt)
|
|||
static void spell_vzplanuti(int cil,int count,int hit,char mode,char zivel)
|
||||
{
|
||||
THE_TIMER *tt;
|
||||
int sector,smer;
|
||||
int sector = 0,smer = 0;
|
||||
int i,o,d;
|
||||
if (cil<0)
|
||||
{
|
||||
|
@ -467,7 +467,7 @@ static void spell_vzplanuti(int cil,int count,int hit,char mode,char zivel)
|
|||
void spell_create(int cil,int what)
|
||||
{
|
||||
word sector=0;
|
||||
char dir;
|
||||
char dir = 0;
|
||||
short p[2];
|
||||
|
||||
if (dead_food) {
|
||||
|
@ -508,7 +508,7 @@ void spell_create_weapon(int cil,int what)
|
|||
void spell_throw(int cil,int what)
|
||||
{
|
||||
word sector=0;
|
||||
char dir;
|
||||
char dir = 0;
|
||||
LETICI_VEC *fly;
|
||||
|
||||
get_sector_dir(cil,§or,&dir);
|
||||
|
@ -1029,7 +1029,7 @@ void spell_teleport_sector(int cil,int owner)
|
|||
|
||||
if (cil!=owner) return;
|
||||
postavy_teleport_effect(0,0,0,1);
|
||||
strncpy(loadlevel.name,TelepLocation.map,12);
|
||||
strcopy_n(loadlevel.name,TelepLocation.map,12);
|
||||
loadlevel.name[12]=0;
|
||||
loadlevel.start_pos=TelepLocation.sector;
|
||||
loadlevel.dir=TelepLocation.dir;
|
||||
|
@ -1102,7 +1102,7 @@ void spell_teleport_sector(int cil,int owner)
|
|||
|
||||
static void spell_summon(int cil)
|
||||
{
|
||||
short sector,i,rn,rno,slc;
|
||||
short sector = 0,i,rn,rno,slc;
|
||||
int stdir,p;
|
||||
|
||||
if (cil>0) sector=postavy[cil-1].sektor;
|
||||
|
@ -1664,11 +1664,11 @@ void call_spell(int i)
|
|||
TelepLocation.map = 0;
|
||||
break;
|
||||
default: {
|
||||
char *d =
|
||||
const char *d =
|
||||
"Chyba v popisu kouzel: Program narazil na neznamou instrukci %d (%02X) pri zpracovani kouzla s cislem %d. Kouzlo bylo ukon<6F>eno";
|
||||
char *c = alloca(strlen(d) + 20);
|
||||
sprintf(c, d, *(c - 1), *(c - 1), p->num);
|
||||
bott_disp_text(c);
|
||||
char *buff = alloca(strlen(d) + 20);
|
||||
sprintf(buff, d, *(c - 1), *(c - 1), p->num);
|
||||
bott_disp_text(buff);
|
||||
spell_end(i, p->cil, p->owner);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -118,7 +118,9 @@ void load_macros(int size,void *data)
|
|||
macro_state_block.states = (uint8_t *)(macros+count_s);
|
||||
macro_state_block.count = count_m;
|
||||
TMULTI_ACTION *m_iter = (TMULTI_ACTION *)(macro_state_block.states + count_m);
|
||||
#ifndef NDEBUG
|
||||
TMULTI_ACTION *m_end = m_iter + count_m;
|
||||
#endif
|
||||
first_macro = m_iter;
|
||||
|
||||
iter = data;
|
||||
|
@ -603,8 +605,8 @@ static void ma_move_group(int where,int turn,char effect)
|
|||
else
|
||||
{
|
||||
THUMAN *h=postavy;
|
||||
int i;
|
||||
int sctr;
|
||||
int i=0;
|
||||
int sctr=0;
|
||||
char kdo=0;
|
||||
for(i=0;i<POCET_POSTAV;i++,h++)
|
||||
if (get_player_triggered(i)) kdo|=1<<i,sctr=postavy[i].sektor;
|
||||
|
|
|
@ -422,7 +422,7 @@ static int title_lines[640][2];
|
|||
|
||||
static int insert_next_line(int ztrata)
|
||||
{
|
||||
char *c;
|
||||
char *c = 0;
|
||||
int ll=-1;
|
||||
RedirectScreenBufferSecond();
|
||||
do
|
||||
|
|
|
@ -1692,7 +1692,7 @@ int check_path(word **path,word tosect)
|
|||
{
|
||||
word *p,*n,ss;
|
||||
char ok;
|
||||
int i;
|
||||
int i=0;
|
||||
|
||||
p=*path;
|
||||
n=p+1;ok=0;
|
||||
|
@ -1735,7 +1735,7 @@ static unsigned int get_path_len(const word *w) {
|
|||
|
||||
void recall()
|
||||
{
|
||||
int tosect;
|
||||
int tosect = 0;
|
||||
unsigned int max,i;
|
||||
int j;
|
||||
word *paths[POCET_POSTAV];
|
||||
|
|
8
game/resources.h
Normal file
8
game/resources.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
|
||||
|
||||
const void *LoadDefaultFont(void);
|
||||
|
||||
const void *getWindowIcon(void);
|
||||
size_t getWindowIconSize(void);
|
||||
|
||||
|
21
game/resources.in.cpp
Normal file
21
game/resources.in.cpp
Normal file
|
@ -0,0 +1,21 @@
|
|||
#include <libs/base64.h>
|
||||
|
||||
|
||||
constexpr binary_data font_data ="@FONT_CONTENT@";
|
||||
constexpr binary_data icon_data ="@ICON_CONTENT@";
|
||||
|
||||
extern "C" {
|
||||
|
||||
const void *LoadDefaultFont(void) {
|
||||
return font_data.begin();
|
||||
}
|
||||
|
||||
const void *getWindowIcon(void) {
|
||||
return icon_data.begin();
|
||||
}
|
||||
size_t getWindowIconSize(void) {
|
||||
return std::distance(icon_data.begin(),icon_data.end());
|
||||
}
|
||||
|
||||
|
||||
}
|
5
game/resources_to_cpp.cmake
Normal file
5
game/resources_to_cpp.cmake
Normal file
|
@ -0,0 +1,5 @@
|
|||
file(READ ${IN_FONT} FONT_CONTENT)
|
||||
file(READ ${IN_ICON} ICON_CONTENT)
|
||||
|
||||
configure_file(${TEMPLATE} ${OUT} @ONLY)
|
||||
|
|
@ -27,7 +27,7 @@ char q_runsetup(char *parm)
|
|||
{
|
||||
char c[6];
|
||||
|
||||
strncpy(c,parm,6);
|
||||
strcopy_n(c,parm,6);
|
||||
strupper(c);
|
||||
return !strncmp(c,"/SETUP",6);
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#include <libs/inicfg.h>
|
||||
#include <platform/save_folder.h>
|
||||
#include "globals.h"
|
||||
#include "default_font.h"
|
||||
#include "resources.h"
|
||||
//
|
||||
#include "advconfig.h"
|
||||
#include "skeldal.h"
|
||||
|
@ -691,10 +691,9 @@ void *user_timer(EVENT_MSG *msg,void **usr)
|
|||
void do_timer(void)
|
||||
{
|
||||
EVENT_MSG msg;
|
||||
char x;
|
||||
|
||||
msg.msg=E_IDLE;
|
||||
otevri_zavoru=&x;
|
||||
*otevri_zavoru=1;
|
||||
user_timer(&msg,NULL);
|
||||
}
|
||||
|
||||
|
@ -865,7 +864,7 @@ void swap_error_exception(void)
|
|||
exit(0);
|
||||
}
|
||||
|
||||
void *boldcz;
|
||||
const void *boldcz;
|
||||
|
||||
#define ERR_WINX 320
|
||||
#define ERR_WINY 100
|
||||
|
@ -946,6 +945,7 @@ void init_skeldal(const INI_CONFIG *cfg)
|
|||
exit(1);
|
||||
}
|
||||
showview = game_display_update_rect;
|
||||
game_display_set_icon(getWindowIcon(), getWindowIconSize());
|
||||
|
||||
general_engine_init();
|
||||
atexit(done_skeldal);
|
||||
|
@ -1065,7 +1065,7 @@ extern char running_battle;
|
|||
ReloadMapInfo *minfo=va_arg(msg->data, ReloadMapInfo *);
|
||||
const char *fname=minfo->fname;
|
||||
int sektor=minfo->sektor;
|
||||
strncpy(loadlevel.name,fname,sizeof(loadlevel.name));
|
||||
strcopy_n(loadlevel.name,fname,sizeof(loadlevel.name));
|
||||
loadlevel.start_pos=sektor;
|
||||
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);
|
||||
|
@ -1140,7 +1140,7 @@ static int do_config_skeldal(int num,int numdata,char *txt)
|
|||
sound_detection=0;
|
||||
break;
|
||||
case 6:snd_mixing=numdata;break;
|
||||
case 7:strncpy(default_map,txt,20);default_map[19]='\0';break;
|
||||
case 7:strcopy_n(default_map,txt,20);default_map[19]='\0';break;
|
||||
case 8:gamespeed=numdata;break;
|
||||
case 9:level_preload=numdata;break;
|
||||
// case 10:system(txt);break;
|
||||
|
@ -1305,7 +1305,7 @@ static void game_big_circle(char enforced)
|
|||
char s[13];
|
||||
|
||||
purge_playlist();
|
||||
s[12]=0;strncpy(s,loadlevel.name,12);
|
||||
s[12]=0;strcopy_n(s,loadlevel.name,12);
|
||||
err=load_map(s);
|
||||
if (!enforced)
|
||||
{
|
||||
|
@ -1363,7 +1363,7 @@ static void game_big_circle(char enforced)
|
|||
enter_game();
|
||||
|
||||
leave_current_map();
|
||||
s[12]=0;strncpy(s,loadlevel.name,12);
|
||||
s[12]=0;strcopy_n(s,loadlevel.name,12);
|
||||
if (s[0]!=0)err=load_map(s);
|
||||
memset(GlobEventList,0,sizeof(GlobEventList));
|
||||
|
||||
|
@ -1384,9 +1384,9 @@ static void new_game(int argc, char *argv[])
|
|||
load_shops();
|
||||
open_story_file();
|
||||
if (argc<2)
|
||||
strncpy(loadlevel.name,default_map,12);
|
||||
strcopy_n(loadlevel.name,default_map,12);
|
||||
else
|
||||
strncpy(loadlevel.name,argv[1],12);
|
||||
strcopy_n(loadlevel.name,argv[1],12);
|
||||
if (argc>2)
|
||||
{
|
||||
sscanf(argv[2],"%d",§);
|
||||
|
@ -1490,7 +1490,7 @@ static void start(va_list args)
|
|||
schovej_mysku();
|
||||
if (!any_save())
|
||||
{
|
||||
show_jrc_logo("LOGO.PCX");
|
||||
// show_jrc_logo("LOGO.PCX");
|
||||
play_anim(7);
|
||||
}
|
||||
skip_intro=0;
|
||||
|
@ -1573,7 +1573,7 @@ const char *configure_pathtable(const INI_CONFIG *cfg) {
|
|||
|
||||
static char default_subpaths[DEFAULT_SUBPATHS][DEFAULT_SUBPATHS_LEN];
|
||||
for (int i = 0; i < DEFAULT_SUBPATHS; ++i) {
|
||||
strncpy(default_subpaths[i], build_pathname(2, "graphics", sub_paths[i]), DEFAULT_SUBPATHS_LEN);
|
||||
strcopy_n(default_subpaths[i], build_pathname(2, "graphics", sub_paths[i]), DEFAULT_SUBPATHS_LEN);
|
||||
}
|
||||
|
||||
const INI_CONFIG_SECTION *paths = ini_section_open(cfg, "paths");
|
||||
|
@ -1603,6 +1603,7 @@ void display_error(const char *format, ...) {
|
|||
if (display_error_cb) {
|
||||
char buff[1024];
|
||||
vsnprintf(buff,sizeof(buff), format, lst);
|
||||
display_error_cb(buff);
|
||||
} else {
|
||||
fprintf(stderr, format, lst);
|
||||
}
|
||||
|
|
|
@ -733,7 +733,7 @@ void wire_end_game()
|
|||
if (mname != NULL) {
|
||||
cur_group = postavy[i].groupnum;
|
||||
TMA_LOADLEV lv;
|
||||
strncpy(lv.name,mname, sizeof(lv.name)-1);
|
||||
strcopy_n(lv.name,mname, sizeof(lv.name)-1);
|
||||
lv.start_pos = -postavy[i].sektor;
|
||||
lv.dir = postavy[i].direction;
|
||||
macro_load_another_map(&lv);
|
||||
|
@ -902,7 +902,7 @@ void utek_postavy(THUMAN *p)
|
|||
|
||||
int trace_path(int sector,int dir)
|
||||
{
|
||||
int mm,p,c=5;
|
||||
int mm,p=0,c=5;
|
||||
int r=rnd(2);
|
||||
do
|
||||
{
|
||||
|
@ -2247,7 +2247,7 @@ char zasah_veci(int sector,TFLY *fl)
|
|||
mob2=m1->next-MOB_START;
|
||||
if (mob2>=0)
|
||||
{
|
||||
int x1,y1;
|
||||
int x1=0,y1=0;
|
||||
m2=&mobs[mob2];
|
||||
switch (fl->smer)
|
||||
{
|
||||
|
|
|
@ -223,13 +223,6 @@ static void show_liane(THE_TIMER *t)
|
|||
|
||||
|
||||
|
||||
static const float Snapper=3<<22;
|
||||
|
||||
static __inline int toInt(float fval)
|
||||
{
|
||||
fval += Snapper;
|
||||
return ( (*(int *)&fval)&0x007fffff ) - 0x00400000;
|
||||
}
|
||||
|
||||
static void OtocObrazPodleMatice(float mx[3][2], word *picture)
|
||||
{
|
||||
|
@ -243,8 +236,8 @@ static void OtocObrazPodleMatice(float mx[3][2], word *picture)
|
|||
{
|
||||
int oldx=x-320;
|
||||
int oldy=y-180;
|
||||
int newx=toInt(oldx*mx[0][0]+oldy*mx[1][0]+320);
|
||||
int newy=toInt(oldx*mx[0][1]+oldy*mx[1][1]+180);
|
||||
int newx=(int)(oldx*mx[0][0]+oldy*mx[1][0]+320);
|
||||
int newy=(int)(oldx*mx[0][1]+oldy*mx[1][1]+180);
|
||||
if (newx>=0 && newx<640 && newy>=0 && newy<360)
|
||||
trg[x]=picture[newx+640*newy];
|
||||
else
|
||||
|
|
|
@ -43,7 +43,7 @@ void temp_storage_store(const char *name, const void *data, int32_t size) {
|
|||
v.resize(size+1);
|
||||
v[size] = 0;
|
||||
v.resize(size);
|
||||
std::copy(b,e, v.begin());
|
||||
std::copy(b,e, v.begin());
|
||||
}
|
||||
|
||||
int32_t temp_storage_find(const char *name) {
|
||||
|
|
|
@ -287,7 +287,7 @@ void unpack_save(void *in)
|
|||
s.items_added=0;
|
||||
s.glob_flags=0;
|
||||
s.game_time=0;
|
||||
strncpy(s.level_name,mapname,12);
|
||||
strcopy_n(s.level_name,mapname,12);
|
||||
memset(s.runes,0,sizeof(s.runes));
|
||||
}
|
||||
|
||||
|
@ -583,7 +583,7 @@ void begin_program(char *sourceadv,char *targetadv)
|
|||
cprintf("Vystupni dobrodruzstvi %s musi obsahovat polozku DEFAULT_MAP\n\r", targetadv);
|
||||
exit(1);
|
||||
}
|
||||
strncpy(mapname,c,12);mapname[12]=0;
|
||||
strcopy_n(mapname,c,12);mapname[12]=0;
|
||||
c=get_text_field(trg,"CESTA_MAPY");
|
||||
if (c==NULL)
|
||||
{
|
||||
|
|
|
@ -359,7 +359,7 @@ static reload_mobs()
|
|||
{
|
||||
extern char reset_mobiles;
|
||||
reset_mobiles=1;
|
||||
strncpy(loadlevel.name,level_fname,12);
|
||||
strcopy_n(loadlevel.name,level_fname,12);
|
||||
loadlevel.start_pos=viewsector;
|
||||
loadlevel.name[12]=0;
|
||||
loadlevel.dir=viewdir;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue