reload-ddl support for mapedit to able reload user DDL on fly

This commit is contained in:
Ondřej Novák 2025-06-15 17:13:37 +02:00
parent a4aa67ede9
commit c1197ed78e
3 changed files with 8 additions and 3 deletions

View file

@ -470,6 +470,10 @@ static int process_actions(const char *command) {
temp_storage_list(command_ls_callback,NULL);
return 1;
}
if (istrcmp(command, "reload-ddl") == 0) {
reload_ddls();
return 1;
}
return 0;

View file

@ -457,7 +457,6 @@ void mouse_set_cursor(int cursor)
if (last_ms_cursor>0) aunlock(last_ms_cursor);
if (cursor>0)
{
alock(cursor);
schovej_mysku();
nastav_mysku_kurzor(ablock(cursor),0,0);
last_ms_cursor=cursor;
@ -492,9 +491,9 @@ void set_font(int font,int c1,...)
va_start(lst, c1);
int i;
if (last_font!=-1 && last_font!=font)
if (last_font!=font)
{
aunlock(last_font);
if (last_font!=-1) aunlock(last_font);
alock(font);
}
curfont=ablock(font);

View file

@ -76,6 +76,7 @@ typedef handle_list *handle_groups[BK_MAJOR_HANDLES];
#define BK_PRELOAD 8
#define BK_HSWAP 16
#define BK_READONLY 32
#define BK_KILL_ON_UNLOCK 64
//extern char *const * mman_pathlist; //tento pointer musi byt naplnen ukazatelem na tabulku cest
extern char mman_patch; //jednicka zapina moznost pouziti patchu
@ -83,6 +84,7 @@ void *getmem(int32_t size); //alokace pameti pres memman. alokovat pomoci
void *grealloc(void *m,int32_t size); //realokace pameti pres memman
void *load_file(const char *filename, size_t *size); //obycejne natahne soubor do pameti a vrati ukazatel.
void init_manager(void); //inicializuje manager. Jmeno filename i swapname nejsou povinne (musi byt NULL kdyz nejsou pouzity)
void reload_ddls(void);;
void def_mman_group_table(const char ** ); //define pointer to table of paths, for each group there is path
THANDLE_DATA *def_handle(int handle,const char *filename,ABLOCK_DECODEPROC decompress,char path); //deklaruje rukojet. promenna decompress je ukazatel na funkci ktera upravi data pred vracenim ukazatele
const void *ablock(int handle); //vraci ukazatel bloku spojeneho s handlem