rockbox/apps/plugins/xrick/resources.h
Sebastian Leonhardt 102c374248 added xrick game
original xrick code by 'BigOrno' at:
http://www.bigorno.net/xrick/

Rockbox port, plus bugfixes at:
https://github.com/pierluigi-vicinanza/xrick

Further changes:

 * Additonal fixes from g#3026
 * Port to modern plugin API
 * Add Pluginlib keymap fallback
 * Support all >1bpp screens
 * Fix build warnings in miniz
 * Better error message when resources are missing

Change-Id: Id83928bc2539901b0221692f65cbca41389c58e7
2024-06-30 17:24:16 -04:00

165 lines
3.3 KiB
C

/*
* xrick/resources.h
*
* Copyright (C) 2008-2014 Pierluigi Vicinanza. All rights reserved.
*
* The use and distribution terms for this software are contained in the file
* named README, which can be found in the root of this distribution. By
* using this software in any fashion, you are agreeing to be bound by the
* terms of this license.
*
* You must not remove this notice, or any other, from this software.
*/
#ifndef _RESOURCES_H
#define _RESOURCES_H
#include "xrick/config.h"
#include "xrick/screens.h"
#include "xrick/system/basic_types.h"
/*
* All data is assumed to be Little Endian
*/
typedef struct
{
U8 magic[4];
U8 version[2];
U8 resourceId[2];
} resource_header_t;
typedef struct
{
U8 w;
U8 h;
U8 spr[2];
U8 sni[2];
U8 trig_w;
U8 trig_h;
U8 snd;
} resource_entdata_t;
typedef struct
{
U8 x[2];
U8 y[2];
U8 row[2];
U8 submap[2];
U8 tuneId[2];
} resource_map_t;
typedef struct
{
U8 page[2];
U8 bnum[2];
U8 connect[2];
U8 mark[2];
} resource_submap_t;
typedef struct {
U8 count[2];
U8 dx[2];
U8 dy[2];
U8 base[2];
} resource_imapsteps_t;
typedef struct {
U8 width[2];
U8 height[2];
U8 xPos[2];
U8 yPos[2];
} resource_pic_t;
typedef struct {
U8 score[4];
U8 name[HISCORE_NAME_SIZE];
} resource_hiscore_t;
#ifdef GFXPC
typedef struct {
U8 mask[2];
U8 pict[2];
} resource_spriteX_t;
#endif /* GFXPC */
extern const U8 resource_magic[4];
enum
{
DATA_VERSION = 3,
/* "bootstrap" file */
Resource_FILELIST = 0,
/* graphics, misc, texts */
Resource_PALETTE,
Resource_ENTDATA,
Resource_SPRSEQ,
Resource_MVSTEP,
Resource_MAPS,
Resource_SUBMAPS,
Resource_CONNECT,
Resource_BNUMS,
Resource_BLOCKS,
Resource_MARKS,
Resource_EFLGC,
Resource_IMAPSL,
Resource_IMAPSTEPS,
Resource_IMAPSOFS,
Resource_IMAPTEXT,
Resource_GAMEOVERTXT,
Resource_PAUSEDTXT,
Resource_SPRITESDATA,
Resource_TILESDATA,
Resource_HIGHSCORES,
Resource_IMGSPLASH,
Resource_PICHAF, /* ST version only */
Resource_PICCONGRATS, /* ST version only */
Resource_PICSPLASH, /* ST version only */
Resource_IMAINHOFT, /* PC version only */
Resource_IMAINRDT, /* PC version only */
Resource_IMAINCDC, /* PC version only */
Resource_SCREENCONGRATS, /* PC version only */
/* sounds */
Resource_SOUNDBOMBSHHT,
Resource_SOUNDBONUS,
Resource_SOUNDBOX,
Resource_SOUNDBULLET,
Resource_SOUNDCRAWL,
Resource_SOUNDDIE,
Resource_SOUNDENTITY0,
Resource_SOUNDENTITY1,
Resource_SOUNDENTITY2,
Resource_SOUNDENTITY3,
Resource_SOUNDENTITY4,
Resource_SOUNDENTITY5,
Resource_SOUNDENTITY6,
Resource_SOUNDENTITY7,
Resource_SOUNDENTITY8,
Resource_SOUNDEXPLODE,
Resource_SOUNDGAMEOVER,
Resource_SOUNDJUMP,
Resource_SOUNDPAD,
Resource_SOUNDSBONUS1,
Resource_SOUNDSBONUS2,
Resource_SOUNDSTICK,
Resource_SOUNDTUNE0,
Resource_SOUNDTUNE1,
Resource_SOUNDTUNE2,
Resource_SOUNDTUNE3,
Resource_SOUNDTUNE4,
Resource_SOUNDTUNE5,
Resource_SOUNDWALK,
Resource_MAX_COUNT,
};
#define BOOTSTRAP_RESOURCE_NAME "filelist.dat"
bool resources_load(void);
void resources_unload(void);
#endif /* ndef _RESOURCES_H */
/* eof */