Jump to content
Eternal Lands Official Forums
Xaphier

NEW_TEXTURES

Recommended Posts

  • Now the item changes of the actors are delayed till the texture is ready, so there should be no more flickering

Think something gone wrong here. Just saw someone go invisible (only see name and HP) and he wont become visible even when I restart client.

Edited by Alberich

Share this post


Link to post
Share on other sites

Can you try current cvs with DEBUG also enabled? Perhaps than something shows in the logs. And when you have DEBUG enabled, you can unload the texture cache with F11 would be interesting if that has an effect.

Share this post


Link to post
Share on other sites

Can you try current cvs with DEBUG also enabled? Perhaps than something shows in the logs. And when you have DEBUG enabled, you can unload the texture cache with F11 would be interesting if that has an effect.

Nothing in the error.log or on console regarding the tiles glitch.

 

Didn't see anyone invisible anymore, will log on with debug client and try F11 when I see one.

Share this post


Link to post
Share on other sites

I was now able to reproduce the error and hopefully it is fixed. Thanks for the testing to all of you (also to the ones that only send in-game pm's ) :)

Share this post


Link to post
Share on other sites

I was now able to reproduce the error and hopefully it is fixed. Thanks for the testing to all of you (also to the ones that only send in-game pm's ) :)

Good Job :)

 

The tiles glitch is gone. Could you find the problem with the invisible actor too?

Share this post


Link to post
Share on other sites

I just saw the invisible actor issue too. I went into TG storage and only one person was invisible for the second and then reappeared automatically. The rest of the people in storage were fine.

Share this post


Link to post
Share on other sites

There is no way to avoid the invisible actors beside waiting till the texture is ready. When there is no information in the cache and no way to know the texture, well, than not much is possible. Only thin that could be done would be to speed up the texture uploading (no compression of the textures and/or pixel buffer objects or such a thing), but even that is no guarantee.

After some testing, I could find out that the slowest part is the texture compression. It could get disabled, but that would increase memory usage. Compressed the textures use only 4 bit per pixel (if no alpha needed, that's the case for most actors) or 8 bit per pixel when an alpha channel is needed.

Edited by Xaphier

Share this post


Link to post
Share on other sites

Now I added the option "Actor texture compression". If enabled, texture compression is used for the actors (needs GL_EXT_texture_compression_s3tc). If disabled, actors should be faster loaded (using R5G6B5 for non alpha actors and RGBA4 for actors with alpha value). Changing the value unloads the texture cache, so no need to restart the client.

Edited by Xaphier

Share this post


Link to post
Share on other sites

Should now work with: NEW_NEW_CHAR_WINDOW & NEW_TEXTURES

Cache size is now configurable.

Edited by Xaphier

Share this post


Link to post
Share on other sites

Xaphier, CVS appears to be completely broken currently. Files failing to compile, files deleted but still left in makefiles.

 

With NEW_TEXTURES defined:

io/elfilewrapper.c: In function ‘gz_file_open’:
io/elfilewrapper.c:139: warning: implicit declaration of function ‘gzbuffer’
make: *** No rule to make target `io/cal3d_io_wrapper.cpp', needed by `io/cal3d_io_wrapper.o'. Stop.

 

Without NEW_TEXTURES defined:

[code]io/elfilewrapper.c: In function ‘gz_file_open’:
io/elfilewrapper.c:139: warning: implicit declaration of function ‘gzbuffer’textures.c: In function ‘load_texture’:
textures.c:1807: warning: passing argument 2 of ‘load_dds’ from incompatible pointer type
ddsimage.h:55: note: expected ‘int *’ but argument is of type ‘const char *’
textures.c:1807: error: too many arguments to function ‘load_dds’
make: *** [textures.o] Error 1

This is on a clean CVS download, just to check as things got pretty messed up with all the deletions etc.

Edited by bluap

Share this post


Link to post
Share on other sites

Sorry, should be fixed now.

Nope, still bust. Clean CVS without NEW_TEXTURES:

 

  CC   io/elfilewrapper.o
io/elfilewrapper.c: In function ‘gz_file_open’:
io/elfilewrapper.c:139: warning: implicit declaration of function ‘gzbuffer’


 LINK el.x86.linux.bin
io/elfilewrapper.o: In function `gz_file_open':
/home/paul/el/temp/elc/io/elfilewrapper.c:139: undefined reference to `gzbuffer'
collect2: ld returned 1 exit status
make: *** [el.x86.linux.bin] Error 1

Share this post


Link to post
Share on other sites

Yep, compiles OK now. Thanks. Looks a bit freaky with NEW_TEXTURES defined though. :o

Edit: That was just an observation, I had noted the need for "new actor texture sizes and meshs".

Edited by bluap

Share this post


Link to post
Share on other sites

Xaphier, thank you for your work. :icon13:

 

After commit Sat Feb 26 17:04:44 2011 UTC (Made client ready for dds usage instead of bmp....) there are visual glitches:

1) Wrong icons of items in bag window.

2) Effects like bag disapearing, fire, etc look strange (squares).

3) Wrong "faces" in dialogue windows.

4) In storage and inventory windows - bottom part of icons - I see upper pixels of other items.

Edited by Niggle

Share this post


Link to post
Share on other sites

The wrong icons on bag window should be fixed now.

Yes, it's fixed, thank you.

 

EDIT:

The eye candy effects will be fixed with the dds files

I have installed new files and now eye candy effects work, I can also see clouds (forgot to mention earlier of this problem).

Edited by Niggle

Share this post


Link to post
Share on other sites

Anybody tried running latest CVS without NEW_TEXTURES defined recently? With the original data files of course. For me all the fonts are corrupt. I'll post a screen shot if required.

Edited by bluap

Share this post


Link to post
Share on other sites

Hopefully, I've fixed the font problems. I think there was just some #ifdef #else #endif stuff missing in font.c. Thank goodness for CVS and diff!

Share this post


Link to post
Share on other sites

I am currently fighting with the latest Xcode 4 and Git.

I am getting errors from image_loading.c without NEW_TEXTURES defined. Too many arguments to function call, expected 3, have 6. This is for load_dds in image_loading.c. Since I am not yet familiar enough with Git (need to setup as developer access), can someone commit a change that wraps image_loading.c with NEW_TEXTURES defines? I have to remove the file from my project (Target) for a proper build right now.

 

I seem to get a good build with NEW_TEXTURES defined. Need to do testing.

Share this post


Link to post
Share on other sites

I am currently fighting with the latest Xcode 4 and Git.

I am getting errors from image_loading.c without NEW_TEXTURES defined. Too many arguments to function call, expected 3, have 6. This is for load_dds in image_loading.c. Since I am not yet familiar enough with Git (need to setup as developer access), can someone commit a change that wraps image_loading.c with NEW_TEXTURES defines? I have to remove the file from my project (Target) for a proper build right now.

 

I seem to get a good build with NEW_TEXTURES defined. Need to do testing.

I will do it.

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.

×