User manual CONITEC CN405WL54 SPECIFICATIONS

DON'T FORGET : ALWAYS READ THE USER GUIDE BEFORE BUYING !!!

If this document matches the user guide, instructions manual or user manual, feature sets, schematics you are looking for, download it now. Diplodocs provides you a fast and easy access to the user manual CONITEC CN405WL54. We hope that this CONITEC CN405WL54 user guide will be useful to you.


CONITEC CN405WL54 SPECIFICATIONS: Download the complete user guide (1785 Ko)

Manual abstract: user guide CONITEC CN405WL54SPECIFICATIONS

Detailed instructions for use are in the User's Guide.

[. . . ] Conitec reserves the right to make alterations or updates without further announcement. 3D Gamestudio Programmer's Manual © Conitec July 2002 3 Contents The A5 DLL interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Getting started with the SDK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Implementing new C-Script functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Writing to the screen buffer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Using Direct3D functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Particle functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Programming a game in C++. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 C-Script object and DLL interface structures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 DLL functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 The A5 Client/Server Protocol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Client Messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Server Messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 The MDL5 model format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 MDL file header. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 MDL skin format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 MDL skin vertices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 MDL mesh triangles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 MDL frames. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 MDL bones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 The HMP5 terrain format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 HMP file header. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 HMP texture format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 HMP height values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3D Gamestudio Programmer's Manual © Conitec July 2002 4 The A5 DLL interface DLLs can be used as extensions (plugins) to the engine and to the C-Script language, as well as for programming a game totally in C++ or Delphi, instead of C-Script. SDK owners can create DLLs for adding new effects, actor AI or C-Script instructions, and distribute or sell them to other 3D GameStudio users. The Microsoft Visual C++TM development (versions 6. 0 or . NET) system normally is used for creating DLL plugins. The DLL SDK contains an interface library that must be linked to any DLL. [. . . ] The 4 parameters can be a fixed point number, an array, or a pointer to a C-Script object. A4_TEX *a5dll_tex4ent(A4_ENTITY *entity, int frame, int texnum=0); This function returns the texture of a sprite, model or terrain entity. Frame is the frame or skin number, texnum the subtexture number if it is split into several subtextures. 3D Gamestudio Programmer's Manual © Conitec July 2002 11 A4_ENTITY *a5dll_entnext(A4_ENTITY *entity); This function enumerates local entities, and can be used to access all entities in a level. If called with NULL, it returns a pointer to the first entity in the level. If called with a level entity pointer, it returns a pointer to the next level entity. If called with a pointer to the last entity or no entity at all, it returns NULL. Example for a function that uses DirectX for painting all local model, sprite and terrain entities red: DLLFUNC fixed PaintEntitiesRed(void) { // find the first entity in the level A4_ENTITY *ent = a5dll_entnext(NULL); while (ent) { A4_TEX *tex = a5dll_tex4ent(ent, 0, 0); if (tex) { // lock the surface and retrieve a pointer to it DDSURFACEDESC2 ddsd2; ddsd2. dwSize = sizeof(DDSURFACEDESC2); IDirectDrawSurface7 *psurf = (IDirectDrawSurface7 *) tex->pd3dsurf; if (psurf->Lock(NULL, &ddsd2, DDLOCK_WAIT, NULL) == DD_OK) { // get a pointer to surface memory (assume 16 bit) WORD *dest = (WORD *)ddsd2. lpSurface; if (dest) { // paint all non-transparent pixels red (assume pitch == width) const WORD red = 0xF800; for (DWORD i=0; i<ddsd2. dwHeight*ddsd2. dwWidth; i++, dest++) if (*dest) *dest = red; } // Unlock the surface again psurf->Unlock(NULL); } } // find the next entity ent = a5dll_entnext(ent); } a5dll_errormessage("Entities are now red!"); return 0; } void a5dll_errormessage(char *text); This function pops up an Error #1527 message requester with the given text. It can be used to display diagnostic messages, or notify the user of wrong DLL calls, like with an invalid entity pointer. 3D Gamestudio Programmer's Manual © Conitec July 2002 12 The A5 Client/Server Protocol The protocol is optimized for using as less bandwidth as possible. Sending a player's changed XYZ coordinate from the server to the client, for instance, needs only 12 bytes (including header). A dead reckoning mechanism is used for extrapolating positions and angles between cycles. The structure of the messages is a single-byte code, followed by code-dependant informations. When describing the content of messages, we use the following conventions: Byte = an unsigned integer, on one byte. For each triangle in the wireframe, there will be a corresponding triangle cut from the skin picture. Or, in other words, for each 3D vertex of a triangle that describes a XYZ position, there will be a corresponding 2D vertex positioned that describes a UV position on the skin picture. It is not necessary that the triangle in 3D space and the triangle on the skin have the same shape (in fact, it is normally not possible for all triangles), but they should have shapes roughly similar, to limit distortion and aliasing. Several animation frames of a model are just several sets of 3D vertex positions. A MDL file contains: - A list of skin textures in 8-bit palettized, 16-bit 565 RGB or 16 bit 4444 ARGB format. - A list of skin vertices, that are just the UV position of vertices on the skin texture. - A list of bone vertices, which are used for creating the animation frames. MDL file header Once the file header is read, all the other model parts can be found just by calculating their position in the file. Here is the format of the . MDL file header: typedef float vec3[3]; typedef struct { char version[4]; long unused1; vec3 scale; vec3 offset; long unused2; vec3 unused3; long numskins ; long skinwidth; long skinheight; long numverts; long numtris; long numframes; long numskinverts; long flags; long numbones; } mdl_header; // // // // // // // // // // // // // // // "MDL3", "MDL4", or "MDL5" not used 3D position scale factors. not used not used number of skin textures width of skin texture, for MDL3 and MDL4; height of skin texture, for MDL3 and MDL4; number of 3d wireframe vertices number of triangles surfaces number of frames number of 2D skin vertices always 0 number of bone vertices (not used yet) The size of this header is 0x54 bytes (84). The MDL3 format is used by the A4 engine, while the newer MDL4 and MDL5 formats are used by the A5 engine, the latter supporting mipmaps. [. . . ] The normal is necessary to calculate the Gouraud shading of the faces, but actually a crude estimation of the actual vertex normal is sufficient. That's why, to save space and to reduce the number of computations needed, it has been chosen to approximate each vertex normal. The ordinary values of lightnormalindex are comprised between 0 and 161, and directly map into the index of one of the 162 precalculated normal vectors: float lightnormals[162][3] = { {-0. 525725, 0. 000000, 0. 850650}, {-0. 442863, 0. 238856, 0. 864188}, {-0. 295242, 0. 000000, 0. 955423}, {-0. 309017, 0. 500000, 0. 809017}, {-0. 162460, 0. 262866, 0. 951056}, {0. 000000, 0. 000000, 1. 000000}, {0. 000000, 0. 850651, 0. 525731}, {-0. 147621, 0. 716567, 0. 681718}, {0. 147621, 0. 716567, 0. 681718}, {0. 000000, 0. 525731, 0. 850651}, {0. 309017, 0. 500000, 0. 809017}, {0. 525731, 0. 000000, 0. 850651}, {0. 295242, 0. 000000, 0. 955423}, {0. 442863, 0. 238856, 0. 864188}, {0. 162460, 0. 262866, 0. 951056}, {-0. 681718, 0. 147621, 0. 716567}, {-0. 809017, 0. 309017, 0. 500000}, {-0. 587785, 0. 425325, 0. 688191}, {-0. 850651, 0. 525731, 0. 000000}, {-0. 864188, 0. 442863, 0. 238856}, {-0. 716567, 0. 681718, 0. 147621}, {-0. 688191, 0. 587785, 0. 425325}, {-0. 500000, 0. 809017, 0. 309017}, {-0. 238856, 0. 864188, 0. 442863}, {-0. 425325, 0. 688191, 0. 587785}, {-0. 716567, 0. 681718, -0. 147621}, {-0. 500000, 0. 809017, -0. 309017}, {-0. 525731, 0. 850651, 0. 000000}, {0. 000000, 0. 850651, -0. 525731}, {-0. 238856, 0. 864188, -0. 442863}, {0. 000000, 0. 955423, -0. 295242}, {-0. 262866, 0. 951056, -0. 162460}, {0. 000000, 1. 000000, 0. 000000}, {0. 000000, 0. 955423, 0. 295242}, {-0. 262866, 0. 951056, 0. 162460}, {0. 238856, 0. 864188, 0. 442863}, {0. 262866, 0. 951056, 0. 162460}, {0. 500000, 0. 809017, 0. 309017}, {0. 238856, 0. 864188, -0. 442863}, {0. 262866, 0. 951056, -0. 162460}, {0. 500000, 0. 809017, -0. 309017}, {0. 850651, 0. 525731, 0. 000000}, {0. 716567, 0. 681718, 0. 147621}, {0. 716567, 0. 681718, -0. 147621}, {0. 525731, 0. 850651, 0. 000000}, {0. 425325, 0. 688191, 0. 587785}, {0. 864188, 0. 442863, 0. 238856}, {0. 688191, 0. 587785, 0. 425325}, {0. 809017, 0. 309017, 0. 500000}, {0. 681718, 0. 147621, 0. 716567}, {0. 587785, 0. 425325, 0. 688191}, {0. 955423, 0. 295242, 0. 000000}, {1. 000000, 0. 000000, 0. 000000}, {0. 951056, 0. 162460, 0. 262866}, {0. 850651, -0. 525731, 0. 000000}, {0. 955423, -0. 295242, 0. 000000}, {0. 864188, -0. 442863, 0. 238856}, {0. 951056, -0. 162460, 0. 262866}, {0. 809017, -0. 309017, 0. 500000}, {0. 681718, -0. 147621, 0. 716567}, {0. 850651, 0. 000000, 0. 525731}, {0. 864188, 0. 442863, -0. 238856}, {0. 809017, 0. 309017, -0. 500000}, {0. 951056, 0. 162460, -0. 262866}, {0. 525731, 0. 000000, -0. 850651}, {0. 681718, 0. 147621, -0. 716567}, {0. 681718, -0. 147621, -0. 716567}, {0. 850651, 0. 000000, -0. 525731}, {0. 809017, -0. 309017, -0. 500000}, {0. 864188, -0. 442863, -0. 238856}, {0. 951056, -0. 162460, -0. 262866}, {0. 147621, 0. 716567, -0. 681718}, {0. 309017, 0. 500000, -0. 809017}, {0. 425325, 0. 688191, -0. 587785}, {0. 442863, 0. 238856, -0. 864188}, {0. 587785, 0. 425325, -0. 688191}, {0. 688197, 0. 587780, -0. 425327}, {-0. 147621, 0. 716567, -0. 681718}, {-0. 309017, 0. 500000, -0. 809017}, {0. 000000, 0. 525731, -0. 850651}, {-0. 525731, 0. 000000, -0. 850651}, {-0. 442863, 0. 238856, -0. 864188}, {-0. 295242, 0. 000000, -0. 955423}, {-0. 162460, 0. 262866, -0. 951056}, {0. 000000, 0. 000000, -1. 000000}, {0. 295242, 0. 000000, -0. 955423}, {0. 162460, 0. 262866, -0. 951056}, {-0. 442863, -0. 238856, -0. 864188}, {-0. 309017, -0. 500000, -0. 809017}, {-0. 162460, -0. 262866, -0. 951056}, {0. 000000, -0. 850651, -0. 525731}, {-0. 147621, -0. 716567, -0. 681718}, {0. 147621, -0. 716567, -0. 681718}, {0. 000000, -0. 525731, -0. 850651}, {0. 309017, -0. 500000, -0. 809017}, {0. 442863, -0. 238856, -0. 864188}, {0. 162460, -0. 262866, -0. 951056}, {0. 238856, -0. 864188, -0. 442863}, {0. 500000, -0. 809017, -0. 309017}, {0. 425325, -0. 688191, -0. 587785}, {0. 716567, -0. 681718, -0. 147621}, {0. 688191, -0. 587785, -0. 425325}, {0. 587785, -0. 425325, -0. 688191}, {0. 000000, -0. 955423, -0. 295242}, {0. 000000, -1. 000000, 0. 000000}, {0. 262866, -0. 951056, -0. 162460}, {0. 000000, -0. 850651, 0. 525731}, {0. 000000, -0. 955423, 0. 295242}, {0. 238856, -0. 864188, 0. 442863}, {0. 262866, -0. 951056, 0. 162460}, {0. 500000, -0. 809017, 0. 309017}, {0. 716567, -0. 681718, 0. 147621}, {0. 525731, -0. 850651, 0. 000000}, {-0. 238856, -0. 864188, -0. 442863}, {-0. 500000, -0. 809017, -0. 309017}, {-0. 262866, -0. 951056, -0. 162460}, {-0. 850651, -0. 525731, 0. 000000}, {-0. 716567, -0. 681718, -0. 147621}, {-0. 716567, -0. 681718, 0. 147621}, {-0. 525731, -0. 850651, 0. 000000}, {-0. 500000, -0. 809017, 0. 309017}, {-0. 238856, -0. 864188, 0. 442863}, {-0. 262866, -0. 951056, 0. 162460}, {-0. 864188, -0. 442863, 0. 238856}, {-0. 809017, -0. 309017, 0. 500000}, {-0. 688191, -0. 587785, 0. 425325}, {-0. 681718, -0. 147621, 0. 716567}, {-0. 442863, -0. 238856, 0. 864188}, {-0. 587785, -0. 425325, 0. 688191}, {-0. 309017, -0. 500000, 0. 809017}, {-0. 147621, -0. 716567, 0. 681718}, {-0. 425325, -0. 688191, 0. 587785}, {-0. 162460, -0. 262866, 0. 951056}, {0. 442863, -0. 238856, 0. 864188}, {0. 162460, -0. 262866, 0. 951056}, {0. 309017, -0. 500000, 0. 809017}, {0. 147621, -0. 716567, 0. 681718}, {0. 000000, -0. 525731, 0. 850651}, {0. 425325, -0. 688191, 0. 587785}, {0. 587785, -0. 425325, 0. 688191}, {0. 688191, -0. 587785, 0. 425325}, {-0. 955423, 0. 295242, 0. 000000}, {-0. 951056, 0. 162460, 0. 262866}, {-1. 000000, 0. 000000, 0. 000000}, {-0. 850651, 0. 000000, 0. 525731}, {-0. 955423, -0. 295242, 0. 000000}, {-0. 951056, -0. 162460, 0. 262866}, {-0. 864188, 0. 442863, -0. 238856}, {-0. 951056, 0. 162460, -0. 262866}, {-0. 809017, 0. 309017, -0. 500000}, {-0. 864188, -0. 442863, -0. 238856}, {-0. 951056, -0. 162460, -0. 262866}, {-0. 809017, -0. 309017, -0. 500000}, {-0. 681718, 0. 147621, -0. 716567}, {-0. 681718, -0. 147621, -0. 716567}, {-0. 850651, 0. 000000, -0. 525731}, {-0. 688191, 0. 587785, -0. 425325}, {-0. 587785, 0. 425325, -0. 688191}, {-0. 425325, 0. 688191, -0. 587785}, {-0. 425325, -0. 688191, -0. 587785}, {-0. 587785, -0. 425325, -0. 688191}, {-0. 688197, -0. 587780, -0. 425327} }; A whole frame has the following structure: 3D Gamestudio Programmer's Manual © Conitec July 2002 19 typedef struct { long type; // 0 for byte-packed positions, and 2 for word-packed positions mdl_trivertx_t bboxmin, bboxmax; // bounding box of the frame char name[16]; // name of frame, used for animation mdl_trivertx_t vertex[numverts]; // array of vertices, either byte or short packed } mdl_frame_t; sizeof(mdl_triangle_t). The size of each frame is sizeframe = 20 + (numverts+2) * sizeof(mdl_trivertx_t), while mdl_trivertx_t is either mdl_trivertxb_t or mdl_trivertxs_t, depending on whether the type is 0 or 2. The beginning of the frames can be found in the . MDL file at offset baseframes = basetri + numtris * MDL bones This is for future expansion of the MDL format, and not supported yet. [. . . ]

DISCLAIMER TO DOWNLOAD THE USER GUIDE CONITEC CN405WL54




Click on "Download the user Manual" at the end of this Contract if you accept its terms, the downloading of the manual CONITEC CN405WL54 will begin.

 

Copyright © 2015 - manualRetreiver - All Rights Reserved.
Designated trademarks and brands are the property of their respective owners.