animation.h

来自「一个96K的3D游戏源码」· C头文件 代码 · 共 65 行

H
65
字号
/*    Animation.H
 *
 *  provides Animation-Declarations & -operations
 *
 * Copyright 2003 by PaP / JTMK
*/

#ifndef Animation_H
#define Animation_H

#include "vectors.h"
#include "objekt.h"
#include "GameDefines.h"

#define _ListItem 0
#define _Frame 1
#define _EndOfFile 2
#define _Copy_Base 3

#define _Bit1	4
#define _Bit2	8
#define _Bit3	16
#define _Bit4	32
#define _Bit5	64

struct tAnimFrame  // Ein Animationsschritt
{
    tSkeletonNode	*Node;      // Position des Aktuellen Frames
	long			 StartCnt;	// Counter - Position des Frames
	tAnimFrame		*Pre;		// vorhergehender Animationsschritt
	tAnimFrame		*Next;      // N鋍hster Animationsschritt
};

struct tAnimationList  // Liste aller Skelettpunkte
{
	tAnimFrame      *Frame0;     // Start - AnimFrame
	tAnimFrame		*AktFrame;  // Aktuelles AnimFrame
	tAnimationList	*Next;
};

struct tAnimation		// Eine Animation
{
	long FrameCounter;
	long LoopPoint;
	long EndCount;
	tAnimationList *NodeList;
};

tAnimFrame *FindFrame(tAnimFrame *Frame_1,long FramePos);
void		CalcObjUsingAnimationAndCountReal(tObjekt *Obj,tAnimation *Anim,long Cnt);

#ifdef ANIMemoryLoading
	tAnimation *LoadAnimationFromMem(unsigned char *FileAddr,tAnimation *BaseAnimation);
	tAnimation *LoadBaseAnimation(tObjekt *Obj,unsigned char *Addr);
#else
	tAnimation *LoadAnimation(char *fname,tAnimation *BaseAnimation);
//	tAnimation *LoadAnimation(char *fname);
	tAnimation *LoadBaseAnimation(tObjekt *Obj,char *fname);
//	void		LoadBaseAnimation(tObjekt *Obj,char *fname);
#endif

extern tAnimationList *AktList;


#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?