Jump to content
Eternal Lands Official Forums
Fedora

Manu & Spell window patch

Recommended Posts

Here comes the patch to the patch

 

Index: spells.c
===================================================================
RCS file: /cvsroot/elc/elc/spells.c,v
retrieving revision 1.91
diff -a -u -r1.91 spells.c
--- spells.c	23 Sep 2009 17:17:34 -0000	1.91
+++ spells.c	24 Sep 2009 08:39:33 -0000
@@ -601,7 +601,7 @@
		glEnd();
	}

-	if(grayed) gray_out(x_start,y_start+1,gridsize);
+	if(grayed) gray_out(x_start,y_start,gridsize);

}

@@ -801,9 +801,9 @@
	//draw spell help
	if(on_spell==-2) {
		//mouse over the bottom-left selected spell icon, show uncastability
-		int l=(int)(get_string_width((unsigned char*)GET_UNCASTABLE_STR(spells_list[i].uncastable))*(float)DEFAULT_SMALL_RATIO);
+		int l=(int)(get_string_width((unsigned char*)GET_UNCASTABLE_STR(spells_list[we_have_spell].uncastable))*(float)DEFAULT_SMALL_RATIO);
		SET_COLOR(c_red2);
-		draw_string_small(20+(33*SPELLS_ALIGN_X-l)/2,spell_mini_y_len-37-35,(unsigned char*)GET_UNCASTABLE_STR(spells_list[i].uncastable),1);		
+		draw_string_small(20+(33*SPELLS_ALIGN_X-l)/2,spell_mini_y_len-37-35,(unsigned char*)GET_UNCASTABLE_STR(spells_list[we_have_spell].uncastable),1);		
	} else {
		i=(on_spell>=0) ? (on_spell):(we_have_spell);
		if(i>=0){
@@ -975,7 +975,7 @@
				the_pos--;
				if (the_pos==-1) { the_spell=cs; the_group=cg;}
				else if(the_pos<-1) break;
-				if (cs==groups_list[cg].spells) {cs=0; cg++; the_pos-=(SPELLS_ALIGN_X-j-1); break;}
+				if (cs==groups_list[cg].spells-1) {cs=0; cg++; the_pos-=(SPELLS_ALIGN_X-j-1); break;}
				else cs++;
			}
		}
@@ -1119,7 +1119,7 @@
				the_pos--;
				if (the_pos==-1) { the_spell=cs; the_group=cg;}
				else if(the_pos<-1) break;
-				if (cs==groups_list[cg].spells) {cs=0; cg++; the_pos-=(SPELLS_ALIGN_X-j-1); break;}
+				if (cs==groups_list[cg].spells-1) {cs=0; cg++; the_pos-=(SPELLS_ALIGN_X-j-1); break;}
				else cs++;
			}
		}

 

It was an "i" where a "we_have_spell" is needed.

Also corrected a little bug that was causing to deselect spells when clicking on an empty square.

 

 

and tnx Korrode for the updated spells.xml :whistle:

 

and @Bluap: I tried without the "+1" in the graying out functions and it works...so I guess it was a remnant of some cut&paste :pickaxe:

Share this post


Link to post
Share on other sites

Even in the compact version of the window, i still don't get it...

 

Linux ftw? :P

 

EDIT: my post was @ LL's

 

 

...and thanks for all the pr0 work Fedora :>

Edited by Korrode

Share this post


Link to post
Share on other sites

Feds :\

 

korrode@legion:~/el_cvs/elc.20090922-fedora2$ patch -p0<../fedorapatch20090924.diff 
patching file spells.c
patch: **** malformed patch at line 15: }

korrode@legion:~/el_cvs/elc.20090922-fedora2$

 

EDIT:

It's related to whitespace (spacing/tabs), which i assume (well, Krayon assumes :P ) has gotten screwed up when pasting into the forums.

Edited by Korrode

Share this post


Link to post
Share on other sites

duh, another minor bug. When you click on the dropdown and another window is under it, that window becomes selected instead of the dropdown.

This mini-patch solves the issue for me.

 

Index: manufacture.c
===================================================================
RCS file: /cvsroot/elc/elc/manufacture.c,v
retrieving revision 1.54
diff -a -u -r1.54 manufacture.c
--- manufacture.c	23 Sep 2009 17:17:34 -0000	1.54
+++ manufacture.c	24 Sep 2009 23:13:57 -0000
@@ -269,6 +269,7 @@
		cur_recipe=(cur_recipe+1)%MAX_RECIPE;			
	} else {
		//normal click
+		select_window(recipe_win);
		cur_recipe=my/(33+1);	
		if ( ((SDL_GetTicks() - last_clicked) < 400)&& last_recipe==cur_recipe){
			//double click on the same recipe to select it and close the dropdown

Share this post


Link to post
Share on other sites

I've commited both patches to CVS. Thanks.

 

I find the best way to get intact patches from the forums is to reply to the post then copy/paste from the edit window. This keeps the original format.

Edited by bluap

Share this post


Link to post
Share on other sites

I like the new spell windows. But it causing lot of problems to me, and i think i remove whole patch :) First of all, Client starts much slower, and windows warning everytime EL is "unknown program". All map changes goes much slower, and most annoying part, it cause colours change and blinking, when turning camera. Heres some examples what happen in Glacmor skill school

http://i38.tinypic.com/2s668m1.jpg

http://i36.tinypic.com/9q8jts.jpg

http://i37.tinypic.com/sdzimu.jpg

http://i37.tinypic.com/2yw7sjk.jpg

I notice also char colour changes.

Edited by Littlebig

Share this post


Link to post
Share on other sites

I noticed blinking and strange colors at unpredictable (yet) camera angles too, but this is not related to the manu & spell window patch :)

Maybe open a thread in the bug section?

Share this post


Link to post
Share on other sites
I noticed blinking and strange colors at unpredictable (yet) camera angles too, but this is not related to the manu & spell window patch :)

Maybe open a thread in the bug section?

 

Already noticed here, but not in his own thread.

Share this post


Link to post
Share on other sites
I noticed blinking and strange colors at unpredictable (yet) camera angles too, but this is not related to the manu & spell window patch :)

Maybe open a thread in the bug section?

 

Already noticed here, but not in his own thread.

This is a work around; it fixes the weird colours for me but does not restore the self-lighting.

Share this post


Link to post
Share on other sites

duh, another bug :)

 

it seems an item is present in inv if it has an image AND a quantity>0, so:

 

Index: spells.c
===================================================================
RCS file: /cvsroot/elc/elc/spells.c,v
retrieving revision 1.92
diff -a -u -r1.92 spells.c
--- spells.c	25 Sep 2009 18:52:37 -0000	1.92
+++ spells.c	26 Sep 2009 22:46:44 -0000
@@ -391,7 +391,7 @@
		for(j=0;j<4&&spells_list[i].reagents_id[j]>=0;j++){
			l=0;
			for(k=0;k<ITEM_WEAR_START;k++) {
-				if(item_list[k].image_id==spells_list[i].reagents_id[j]){
+				if(item_list[k].image_id==spells_list[i].reagents_id[j]&&item_list[k].quantity>0){
					l=1;
					if(item_list[k].quantity<spells_list[i].reagents_qt[j]) {
						spells_list[i].uncastable|=UNCASTABLE_REAGENTS;

 

otherwise castability is not computed correctly in some situations.

Edited by Fedora

Share this post


Link to post
Share on other sites
I use the small window, however after every clientrestart, I got the big one again. could that please be saved? :devlish:

 

 

This should do the trick:

 

Index: spells.c
===================================================================
RCS file: /cvsroot/elc/elc/spells.c,v
retrieving revision 1.93
diff -a -u -r1.93 spells.c
--- spells.c	27 Sep 2009 16:25:22 -0000	1.93
+++ spells.c	29 Sep 2009 07:23:45 -0000
@@ -117,6 +117,7 @@
int spell_win=-1;
int spell_mini_win=-1;
int last_win=-1;
+int start_mini_spells=0; //do we start minimized?
int init_ok=0;
int sigil_menu_x=10;
int sigil_menu_y=20;
@@ -853,6 +854,7 @@
	show_window(this_win);
	select_window(this_win);			
	sigil_win=this_win;
+	start_mini_spells=(sigil_win==spell_mini_win)? 1:0;

	return 1;
}
@@ -1741,7 +1743,7 @@
		widget_move(spell_win, cast2_button_id, spell_x_len-20-10-w_cast->len_x , spell_y_len_ext - w_cast->len_y - 4);

		hide_window(spell_win);
-		sigil_win=spell_win;
+		if(!start_mini_spells) sigil_win=spell_win;
	} 

	if(spell_mini_win < 0){
@@ -1758,9 +1760,10 @@
		set_window_handler(spell_mini_win, ELW_HANDLER_MOUSEOVER, &mouseover_spells_mini_handler );

		hide_window(spell_mini_win);	
+		if(start_mini_spells) sigil_win=spell_mini_win;
	} 
	check_castability();
-	switch_handler((init_ok) ? (spell_win):(sigils_win));
+	switch_handler((init_ok) ? (sigil_win):(sigils_win));
}


Index: init.h
===================================================================
RCS file: /cvsroot/elc/elc/init.h,v
retrieving revision 1.89
diff -a -u -r1.89 init.h
--- init.h	10 May 2009 20:14:50 -0000	1.89
+++ init.h	29 Sep 2009 07:23:45 -0000
@@ -180,6 +180,14 @@
	int misc_bool_options;
 /*! @} */

+	/*!
+	 * \name do spells start minimized?
+	 */
+	/*! @{ */
+	int start_mini_spells;
+	/*! @} */
+	
+
#if defined(CONTEXT_MENUS) && defined(USER_MENUS)
 /*!
  * \name User menu options
@@ -190,10 +198,10 @@
 /*! @} */

	//!!!!!!!If you add any new FLOAT option, decrement the reserved thingy accordingly!!!!!!
-	float freserved[12];
+	float freserved[11];
#else   
	//!!!!!!!If you add any new FLOAT option, decrement the reserved thingy accordingly!!!!!!
-	float freserved[15];
+	float freserved[14];
#endif // CONTEXT_MENUS && USER_MENUS

}bin_cfg;
Index: init.c
===================================================================
RCS file: /cvsroot/elc/elc/init.c,v
retrieving revision 1.333
diff -a -u -r1.333 init.c
--- init.c	20 Jun 2009 21:14:02 -0000	1.333
+++ init.c	29 Sep 2009 07:23:46 -0000
@@ -281,6 +281,7 @@

	sigil_menu_x=cfg_mem.sigil_menu_x;
	sigil_menu_y=cfg_mem.sigil_menu_y;
+	start_mini_spells=cfg_mem.start_mini_spells;

	dialogue_menu_x=cfg_mem.dialogue_menu_x;
	dialogue_menu_y=cfg_mem.dialogue_menu_y;
@@ -457,6 +458,7 @@
		cfg_mem.trade_menu_y=trade_menu_y;
	}

+	cfg_mem.start_mini_spells=start_mini_spells;
	if(sigil_win >= 0) {
		cfg_mem.sigil_menu_x=windows_list.window[sigil_win].cur_x;
		cfg_mem.sigil_menu_y=windows_list.window[sigil_win].cur_y;
Index: spells.h
===================================================================
RCS file: /cvsroot/elc/elc/spells.h,v
retrieving revision 1.37
diff -a -u -r1.37 spells.h
--- spells.h	23 Sep 2009 17:17:34 -0000	1.37
+++ spells.h	29 Sep 2009 07:23:46 -0000
@@ -47,6 +47,7 @@
 */
/*! @{ */
extern int sigil_win; /*!< handle for the sigil (spell) window */
+extern int start_mini_spells; /*!< do we start minimized? */
extern int quickspell_win; /*!< quickbar windows handler */
/*! @} */

Share this post


Link to post
Share on other sites
I use the small window, however after every clientrestart, I got the big one again. could that please be saved? :devlish:

 

 

This should do the trick:

 

Index: spells.c
===================================================================
RCS file: /cvsroot/elc/elc/spells.c,v
retrieving revision 1.93
diff -a -u -r1.93 spells.c
--- spells.c	27 Sep 2009 16:25:22 -0000	1.93
+++ spells.c	29 Sep 2009 07:23:45 -0000
@@ -117,6 +117,7 @@
int spell_win=-1;
int spell_mini_win=-1;
int last_win=-1;
+int start_mini_spells=0; //do we start minimized?
int init_ok=0;
int sigil_menu_x=10;
int sigil_menu_y=20;
@@ -853,6 +854,7 @@
	show_window(this_win);
	select_window(this_win);			
	sigil_win=this_win;
+	start_mini_spells=(sigil_win==spell_mini_win)? 1:0;

	return 1;
}
@@ -1741,7 +1743,7 @@
		widget_move(spell_win, cast2_button_id, spell_x_len-20-10-w_cast->len_x , spell_y_len_ext - w_cast->len_y - 4);

		hide_window(spell_win);
-		sigil_win=spell_win;
+		if(!start_mini_spells) sigil_win=spell_win;
	} 

	if(spell_mini_win < 0){
@@ -1758,9 +1760,10 @@
		set_window_handler(spell_mini_win, ELW_HANDLER_MOUSEOVER, &mouseover_spells_mini_handler );

		hide_window(spell_mini_win);	
+		if(start_mini_spells) sigil_win=spell_mini_win;
	} 
	check_castability();
-	switch_handler((init_ok) ? (spell_win):(sigils_win));
+	switch_handler((init_ok) ? (sigil_win):(sigils_win));
}


Index: init.h
===================================================================
RCS file: /cvsroot/elc/elc/init.h,v
retrieving revision 1.89
diff -a -u -r1.89 init.h
--- init.h	10 May 2009 20:14:50 -0000	1.89
+++ init.h	29 Sep 2009 07:23:45 -0000
@@ -180,6 +180,14 @@
	int misc_bool_options;
 /*! @} */

+	/*!
+	 * \name do spells start minimized?
+	 */
+	/*! @{ */
+	int start_mini_spells;
+	/*! @} */
+	
+
#if defined(CONTEXT_MENUS) && defined(USER_MENUS)
 /*!
  * \name User menu options
@@ -190,10 +198,10 @@
 /*! @} */

	//!!!!!!!If you add any new FLOAT option, decrement the reserved thingy accordingly!!!!!!
-	float freserved[12];
+	float freserved[11];
#else   
	//!!!!!!!If you add any new FLOAT option, decrement the reserved thingy accordingly!!!!!!
-	float freserved[15];
+	float freserved[14];
#endif // CONTEXT_MENUS && USER_MENUS

}bin_cfg;
Index: init.c
===================================================================
RCS file: /cvsroot/elc/elc/init.c,v
retrieving revision 1.333
diff -a -u -r1.333 init.c
--- init.c	20 Jun 2009 21:14:02 -0000	1.333
+++ init.c	29 Sep 2009 07:23:46 -0000
@@ -281,6 +281,7 @@

	sigil_menu_x=cfg_mem.sigil_menu_x;
	sigil_menu_y=cfg_mem.sigil_menu_y;
+	start_mini_spells=cfg_mem.start_mini_spells;

	dialogue_menu_x=cfg_mem.dialogue_menu_x;
	dialogue_menu_y=cfg_mem.dialogue_menu_y;
@@ -457,6 +458,7 @@
		cfg_mem.trade_menu_y=trade_menu_y;
	}

+	cfg_mem.start_mini_spells=start_mini_spells;
	if(sigil_win >= 0) {
		cfg_mem.sigil_menu_x=windows_list.window[sigil_win].cur_x;
		cfg_mem.sigil_menu_y=windows_list.window[sigil_win].cur_y;
Index: spells.h
===================================================================
RCS file: /cvsroot/elc/elc/spells.h,v
retrieving revision 1.37
diff -a -u -r1.37 spells.h
--- spells.h	23 Sep 2009 17:17:34 -0000	1.37
+++ spells.h	29 Sep 2009 07:23:46 -0000
@@ -47,6 +47,7 @@
 */
/*! @{ */
extern int sigil_win; /*!< handle for the sigil (spell) window */
+extern int start_mini_spells; /*!< do we start minimized? */
extern int quickspell_win; /*!< quickbar windows handler */
/*! @} */

When you add an item to init.h, to either need to replace a filler or increment the value checked for in cfg_version_num. Otherwise you cause bugs in peoples saved configurations because things moved around. Increasing cfg_version_num at least forces a clean wipe.

 

The patch as written is putting the new data before the user_menu data moving those settings.

Share this post


Link to post
Share on other sites
duh, I didn't want to mess up with version numbers. I'll move the field down to the fillers.

Tnx

When you increment the version numbver it invalidates the file and forces a new one to be created. It's only job it to help wipe the file if a change can't be added transparently. There is no code for reading different version files.

Share this post


Link to post
Share on other sites

This should avoid changing the version number and so, keeping intact the previous el.cfg

 

Index: spells.c
===================================================================
RCS file: /cvsroot/elc/elc/spells.c,v
retrieving revision 1.93
diff -a -u -r1.93 spells.c
--- spells.c	27 Sep 2009 16:25:22 -0000	1.93
+++ spells.c	30 Sep 2009 10:49:40 -0000
@@ -117,6 +117,7 @@
int spell_win=-1;
int spell_mini_win=-1;
int last_win=-1;
+int start_mini_spells=0; //do we start minimized?
int init_ok=0;
int sigil_menu_x=10;
int sigil_menu_y=20;
@@ -853,6 +854,7 @@
	show_window(this_win);
	select_window(this_win);			
	sigil_win=this_win;
+	start_mini_spells=(sigil_win==spell_mini_win)? 1:0;

	return 1;
}
@@ -1741,7 +1743,7 @@
		widget_move(spell_win, cast2_button_id, spell_x_len-20-10-w_cast->len_x , spell_y_len_ext - w_cast->len_y - 4);

		hide_window(spell_win);
-		sigil_win=spell_win;
+		if(!start_mini_spells) sigil_win=spell_win;
	} 

	if(spell_mini_win < 0){
@@ -1758,9 +1760,10 @@
		set_window_handler(spell_mini_win, ELW_HANDLER_MOUSEOVER, &mouseover_spells_mini_handler );

		hide_window(spell_mini_win);	
+		if(start_mini_spells) sigil_win=spell_mini_win;
	} 
	check_castability();
-	switch_handler((init_ok) ? (spell_win):(sigils_win));
+	switch_handler((init_ok) ? (sigil_win):(sigils_win));
}


Index: spells.h
===================================================================
RCS file: /cvsroot/elc/elc/spells.h,v
retrieving revision 1.37
diff -a -u -r1.37 spells.h
--- spells.h	23 Sep 2009 17:17:34 -0000	1.37
+++ spells.h	30 Sep 2009 10:49:40 -0000
@@ -47,6 +47,7 @@
 */
/*! @{ */
extern int sigil_win; /*!< handle for the sigil (spell) window */
+extern int start_mini_spells; /*!< do we start minimized? */
extern int quickspell_win; /*!< quickbar windows handler */
/*! @} */

Index: init.h
===================================================================
RCS file: /cvsroot/elc/elc/init.h,v
retrieving revision 1.89
diff -a -u -r1.89 init.h
--- init.h	10 May 2009 20:14:50 -0000	1.89
+++ init.h	30 Sep 2009 10:49:40 -0000
@@ -179,6 +179,7 @@
 /*! @{ */
	int misc_bool_options;
 /*! @} */
+	

#if defined(CONTEXT_MENUS) && defined(USER_MENUS)
 /*!
@@ -190,12 +191,21 @@
 /*! @} */

	//!!!!!!!If you add any new FLOAT option, decrement the reserved thingy accordingly!!!!!!
-	float freserved[12];
+#define NUM_RESERVED 11
#else   
	//!!!!!!!If you add any new FLOAT option, decrement the reserved thingy accordingly!!!!!!
-	float freserved[15];
+#define NUM_RESERVED 14
#endif // CONTEXT_MENUS && USER_MENUS

+
+	/*!
+	 * \name do spells start minimized?
+	 */
+	/*! @{ */
+	int start_mini_spells;
+	/*! @} */
+
+	float freserved[NUM_RESERVED];
}bin_cfg;

extern int auto_update; /*!<this flags signals whether or not autoupdates are performed at startup, or not. It requires a restart to have an effect. */
Index: init.c
===================================================================
RCS file: /cvsroot/elc/elc/init.c,v
retrieving revision 1.333
diff -a -u -r1.333 init.c
--- init.c	20 Jun 2009 21:14:02 -0000	1.333
+++ init.c	30 Sep 2009 10:49:41 -0000
@@ -281,6 +281,7 @@

	sigil_menu_x=cfg_mem.sigil_menu_x;
	sigil_menu_y=cfg_mem.sigil_menu_y;
+	start_mini_spells=cfg_mem.start_mini_spells;

	dialogue_menu_x=cfg_mem.dialogue_menu_x;
	dialogue_menu_y=cfg_mem.dialogue_menu_y;
@@ -457,6 +458,7 @@
		cfg_mem.trade_menu_y=trade_menu_y;
	}

+	cfg_mem.start_mini_spells=start_mini_spells;
	if(sigil_win >= 0) {
		cfg_mem.sigil_menu_x=windows_list.window[sigil_win].cur_x;
		cfg_mem.sigil_menu_y=windows_list.window[sigil_win].cur_y;

Share this post


Link to post
Share on other sites

Maybe the new 'spells.xml' should be put into CVS, too, so people who build that client and don't read this thread can use the new spell window...

Share this post


Link to post
Share on other sites

And, as requested by many, the final touch. Manu window remembers the saved recipes and loads them at client startup. Saves them in a "recipes_username.dat" when the client exits normally.

 

Index: manufacture.c
===================================================================
RCS file: /cvsroot/elc/elc/manufacture.c,v
retrieving revision 1.55
diff -a -u -r1.55 manufacture.c
--- manufacture.c	25 Sep 2009 18:55:18 -0000	1.55
+++ manufacture.c	1 Oct 2009 10:25:20 -0000
@@ -10,6 +10,8 @@
#include "textures.h"
#include "translate.h"
#include "sound.h"
+#include "io/elpathwrapper.h"
+#include "errors.h"
#ifdef OPENGL_TRACE
#include "gl_init.h"
#endif
@@ -32,7 +34,41 @@
static char items_string[350]={0};
static size_t last_items_string_id = 0;

+void load_recipes (){
+	char fname[256];
+	FILE *fp;
+	
+	memset (recipes, 0, sizeof (recipes));

+	safe_snprintf(fname, sizeof(fname), "recipes_%s.dat",username_str);
+	my_tolower(fname);
+	fp = open_file_config(fname,"rb");
+	if(fp == NULL){
+		LOG_ERROR("%s: %s \"%s\"\n", reg_error_str, cant_open_file, fname);
+		return;
+	}
+
+	fread (recipes,sizeof(recipes),1, fp);
+	fclose (fp);
+}
+
+void save_recipes(){
+	char fname[128];
+	FILE *fp;
+
+
+	safe_snprintf(fname, sizeof(fname), "recipes_%s.dat",username_str);
+	my_tolower(fname);
+	fp=open_file_config(fname,"wb");
+	if(fp == NULL){
+		LOG_ERROR("%s: %s \"%s\"\n", reg_error_str, cant_open_file, fname);
+		return;
+	}
+
+	fwrite(recipes, sizeof(recipes), 1, fp);
+
+	fclose(fp);
+}

void build_manufacture_list()
{
Index: manufacture.h
===================================================================
RCS file: /cvsroot/elc/elc/manufacture.h,v
retrieving revision 1.11
diff -a -u -r1.11 manufacture.h
--- manufacture.h	2 Nov 2008 23:40:16 -0000	1.11
+++ manufacture.h	1 Oct 2009 10:25:20 -0000
@@ -54,6 +54,10 @@
 */
int mix_handler(Uint8 quantity, const char* mixbut_empty_str);

+void load_recipes();
+void save_recipes();
+
+
#ifdef __cplusplus
} // extern "C"
#endif
Index: init.c
===================================================================
RCS file: /cvsroot/elc/elc/init.c,v
retrieving revision 1.334
diff -a -u -r1.334 init.c
--- init.c	30 Sep 2009 22:01:57 -0000	1.334
+++ init.c	1 Oct 2009 10:25:21 -0000
@@ -859,6 +859,7 @@
	CHECK_GL_ERRORS();
	init_login_screen ();
	init_spells ();
+	load_recipes();

#ifdef PAWN
	update_loading_win (init_pawn_str, 0);
Index: console.c
===================================================================
RCS file: /cvsroot/elc/elc/console.c,v
retrieving revision 1.152
diff -a -u -r1.152 console.c
--- console.c	18 Aug 2009 23:03:17 -0000	1.152
+++ console.c	1 Oct 2009 10:25:22 -0000
@@ -19,6 +19,7 @@
#include "lights.h"
#include "list.h"
#include "mapwin.h"
+#include "manufacture.h"
#include "misc.h"
#include "multiplayer.h"
#include "notepad.h"
@@ -1199,6 +1200,8 @@
	save_bin_cfg();
	//Save the quickbar spells
	save_quickspells();
+	//Save recipes
+	save_recipes();
	// save el.ini if asked
	if (write_ini_on_exit) write_el_ini ();
	// save notepad contents if the file was loaded

 

EDIT:

little bug corrected, tnx Sir_Odie

Edited by Fedora

Share this post


Link to post
Share on other sites
And, as requested by many, the final touch. Manu window remembers the saved recipes and loads them at client startup. Saves them in a "recipes_username.dat" when the client exits normally.

...

OK, commited to CVS.

 

Maybe the new 'spells.xml' should be put into CVS, too, so people who build that client and don't read this thread can use the new spell window...

Good suggestion, also done.

Share this post


Link to post
Share on other sites

I hope this is the last correction -_-

 

The recipe saving works only if you have a username set in el.ini, otherwise, at the time of loading in init_stuff you don't have a username string yet. So, moved load_recipes from init.c to multiplayer.c (and thanks Sir_Odie again).

 

Index: init.c
===================================================================
RCS file: /cvsroot/elc/elc/init.c,v
retrieving revision 1.335
diff -a -u -r1.335 init.c
--- init.c	1 Oct 2009 18:37:50 -0000	1.335
+++ init.c	2 Oct 2009 09:51:50 -0000
@@ -859,7 +859,6 @@
	CHECK_GL_ERRORS();
	init_login_screen ();
	init_spells ();
-	load_recipes();

#ifdef PAWN
	update_loading_win (init_pawn_str, 0);
Index: multiplayer.c
===================================================================
RCS file: /cvsroot/elc/elc/multiplayer.c,v
retrieving revision 1.290
diff -a -u -r1.290 multiplayer.c
--- multiplayer.c	25 Sep 2009 22:06:43 -0000	1.290
+++ multiplayer.c	2 Oct 2009 09:51:51 -0000
@@ -627,6 +627,7 @@
#endif // NEW_SOUND

				load_quickspells();
+				load_recipes();

				load_counters();
				send_video_info();

Share this post


Link to post
Share on other sites
I hope this is the last correction -_-

The recipe saving works only if you have a username set in el.ini, otherwise, at the time of loading in init_stuff you don't have a username string yet. So, moved load_recipes from init.c to multiplayer.c (and thanks Sir_Odie again).

Berilos is finally back up so I've commited this fix to CVS.

Share this post


Link to post
Share on other sites

Hi I know you said to Littlebig that this wasn't a bug. I also have the same problem of the map going wierd colours inside caves and at certain angles. As I am not"computer literate" can you please tell me if there is a simple way how to correct this? (it only started to happen after I got the spell window)

Thanks

(its driving me crazy)

Share this post


Link to post
Share on other sites

Hi Star :D

 

It's an issue that's been known for a while, see here if you want more info:

http://www.eternal-lands.com/forum/index.p...st&p=511568

 

You can see bluap provides a couple of solutions (post #695) to 'fix' it, but both solutions mean you lose some other feature as well.

 

@bluap

Am i reading what you've said in that thread right bluap? that "self lighting of the quartz" isn't working anyway?

Maybe until this issue can be fixed, apply the first of your two presented solutions to CVS?

Edited by Korrode

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×