#define PLAYER_NR_GFX(g,i) ((g) + i * (IMG_PLAYER2 - IMG_PLAYER1))
+#define ANIM_FRAMES(g) (graphic_info[g].anim_frames)
+#define ANIM_DELAY(g) (graphic_info[g].anim_delay)
+#define ANIM_MODE(g) (graphic_info[g].anim_mode)
+
+#define IS_ANIMATED(g) (ANIM_FRAMES(g) > 1)
+#define IS_NEW_DELAY(f, g) ((f) % ANIM_DELAY(g) == 0)
+#define IS_NEW_FRAME(f, g) (IS_ANIMATED(g) && IS_NEW_DELAY(f, g))
+
+#define IS_LOOP_SOUND(s) (sound_info[s].loop)
+
#if 0
#define NUM_ACTIONS 21
+/* values for special image configuration suffixes */
+#define GFX_SPECIAL_ARG_EDITOR 0
+
+#define NUM_SPECIAL_GFX_ARGS 1
+
/* values for image configuration suffixes */
#define GFX_ARG_XPOS 0
/* special graphics for left/right/up/down */
int direction_graphic[NUM_ACTIONS][NUM_DIRECTIONS];
+ int editor_graphic; /* graphic displayed in level editor */
+
int sound[NUM_ACTIONS]; /* default sounds for several actions */
};
int value;
};
+struct SpecialSuffixInfo
+{
+ char *suffix;
+ int value;
+};
+
#if 0
extern GC tile_clip_gc;
extern struct ElementInfo element_info[];
extern struct ElementActionInfo element_action_info[];
extern struct ElementDirectionInfo element_direction_info[];
+extern struct SpecialSuffixInfo special_suffix_info[];
extern struct GraphicInfo *graphic_info;
extern struct SoundInfo *sound_info;
extern struct ConfigInfo image_config[], sound_config[];