version 1.2 | | version 1.3 |
---|
| | |
| | url:http://crossfire.freezope.org/docs/Developer%20Docs/images |
| | meta_type:BackTalk Document |
| | auth:Basic VG9kZDpyb2NrcG9ydHJvdmVy |
| | cookie:tree-s="eJzTiFZ3BAOngNSIZFv1WB1NADFEBPk"; fzf_cookie="1" |
| | |
| | Making Crossfire Images |
| | |
Rules for image sets: | | Rules for image sets: |
| | |
1) Image format for all images should be png. | | 1. Image format for all images should |
| | be png. |
| | |
2) There must be an active maintainer of each of the image sets. If a set | | 2. There must be an active maintainer of each of the image sets. If a set |
gets too out of date because of no maintainer, that particular set gets | | gets too out of date because of no maintainer, that particular set gets |
removed. | | removed. |
| | |
3) When new arch (and image) is introduced, only an image for the main set is | | 3. When new arch (and image) is introduced, only an image for the main set is |
required. It is up to the maintainers of the different sets to make an image | | required. It is up to the maintainers of the different sets to make an image |
if the default one is not appropriate. | | if the default one is not appropriate. |
| | |
4) There must be a reason for adding a new set. This generally equates | | 4. There must be a reason for adding a new set. This generally equates |
to enough people expressing interest in the set, or the number of new images | | to enough people expressing interest in the set, or the number of new images |
is substantial enough to warrant the addition. The use of image sets | | is substantial enough to warrant the addition. The use of image sets |
is not for making a set with 10 images because you prefer those over | | is not for making a set with 10 images because you prefer those over |
some in another set. | | some in another set. |
| | |
5) Naming if image.set.111.png. If the image name is Bk.272, then the | | 5. Naming works like this: If the image name is Bk.272, then the |
actual file name would be Bk.<set>.272.png. <set> is a four letter | | actual file name would be Bk.*set*.272.png where *set* is a four letter |
abbreviation that has some relevance to the set name. | | abbreviation that has some relevance to the set name. An example would be |
| | Bk.*clsc*.272.png, where *clsc* is the classic image set. The arch of course |
| | would only refer to BK.272 |
| | |
| | 6. Whenever adding a new image set, update the |
| | lib/image_info file |
| | |
| | 7. Image sets only provide alternate images - |
| | the .arc files are remained unchanged by the addition of image sets. |
| | An arch must have a graphic from the *base* set, graphic from additional |
| | image sets are optional, but if an arch has one image version -it has to be called base. |
| | |
6) Whenever adding a new image set, update the lib/image_info file | | |
| | |
7) Image sets only provide alternate images - the .arc files are remained | | |
unchanged by the addition of image sets. | | |
| | |
------------------------------------------------------------------------------ | | |
Internal working of image sets: | | Internal working of image sets: |
| | |
All images within crossfire are still known without the set or png | | All images within crossfire are still known without the set or png |
extension. Thus, for archetypes, the image name is sword.111, not | | extension. Thus, for archetypes, the image name is sword.111, not |
sword.base.111.png. | | sword.base.111.png. |
| | |
The collect script only collects the images for the set. If the client | | The collect script only collects the images for the set. If the client |
requests an image that is not in the set it is using, the server will | | requests an image that is not in the set it is using, the server will |
use the fallback logic to find an image to send to the client. Collecting | | use the fallback logic to find an image to send to the client. Collecting |
only the images in the set results in smaller installed image files, | | only the images in the set results in smaller installed image files, |
a smaller memory footprint for the server, and faster loading time. | | a smaller memory footprint for the server, and faster loading time. |
| | |
| | |
The server does not care about the image content. As far as the server | | The server does not care about the image content. As far as the server |
is concerned, it is just a bunch of bits it serves to the client. | | is concerned, it is just a bunch of bits it serves to the client. |
| | |
The server uses the image number, the long name, and the fallback. | | The server uses the image number, the long name, and the fallback. |
The long name can be used when the client requests the images it | | The long name can be used when the client requests the images it |
gets sent. | | gets sent. |
| | |
------------------------------------------------------------------------------ | | |
Combining individual small images into 1 big image: | | Combining individual small images into 1 big image: |
| | |
| | |
There are a great many objects in crossfire that are bigger than one square. | | There are a great many objects in crossfire that are bigger than one square. |
Prior to this writing (May 18, 2002), there was no way to combine these into | | Prior to this writing (May 18, 2002), there was no way to combine these into |
one big image. The server and unix clients now support this. | | one big image. The server and unix clients now support this. |
| | |
1) Evaluate if the archetype should be as many spaces as the image may extend | | 1. Evaluate if the archetype should be as many spaces as the image may extend |
into. For example, a tower is tall, and even though the image may represent | | into. For example, a tower is tall, and even though the image may represent |
that, it should probably only be a single square object. But there are other | | that, it should probably only be a single square object. But there are other |
objects, such as shops, which are short but large, and thus should be 2x2 | | objects, such as shops, which are short but large, and thus should be 2x2 |
square multipart objects. | | square multipart objects. |
| | |
2) A combined image doesn't have parts anymore, so the first digit isn't | | 2. A combined image doesn't have parts anymore, so the first digit isn't |
meaning. Using an 'x' as the part number is a good notation to show that | | meaning. Using an 'x' as the part number is a good notation to show that |
this is in fact a big image (eg, store_alch.x11). | | this is in fact a big image (eg, store_alch.x11). |
| | |
3) It is not possible to have combined images in one image set and non combined | | 3. It is not possible to have combined images in one image set and non combined |
in another. What this basically means is that the base set should always have | | in another. What this basically means is that the base set should always have |
a combined image, with the other sets possibly having such images - since the | | a combined image, with the other sets possibly having such images - since the |
name of the combined image will be different, until any other sets are updated, | | name of the combined image will be different, until any other sets are updated, |
they will just use the image in the base set. | | they will just use the image in the base set. |
| | |
4) the .arc file needs to be modified so that the face for all the different | | 4. the .arc file needs to be modified so that the face for all the different |
parts of an image are the same. The server makes this check based on name to | | parts of an image are the same. The server makes this check based on name to |
know if it should handle this object as a combined image or not. | | know if it should handle this object as a combined image or not. |
| | |
5) Rebuild the archetypes, collect the images, and install. | | 5. Rebuild the archetypes, collect the images, and install. |
| | |