mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-04-24 15:07:47 -05:00
Some checks are pending
build / build (push) Waiting to run
Signed-off-by: Kuruyia <github@kuruyia.net>
75 lines
2.7 KiB
C
75 lines
2.7 KiB
C
#ifndef POKEPLATINUM_CONSTANTS_GRAPHICS_H
|
|
#define POKEPLATINUM_CONSTANTS_GRAPHICS_H
|
|
|
|
#include "constants/colors.h"
|
|
|
|
enum DSScreen {
|
|
DS_SCREEN_MAIN = 0,
|
|
DS_SCREEN_SUB,
|
|
DS_SCREEN_MAX,
|
|
};
|
|
|
|
#define TILE_HEIGHT_PIXELS 8
|
|
#define TILE_WIDTH_PIXELS 8
|
|
#define TILE_WIDTH_4BPP (TILE_WIDTH_PIXELS / 2)
|
|
|
|
#define TILES_TO_PIXELS(t) ((t) * TILE_WIDTH_PIXELS)
|
|
|
|
#define TILE_SIZE_4BPP (TILE_HEIGHT_PIXELS * TILE_WIDTH_4BPP)
|
|
#define TILE_SIZE_8BPP (TILE_HEIGHT_PIXELS * TILE_WIDTH_PIXELS)
|
|
|
|
#define BG_TILE_FLIP_H (1 << 10)
|
|
#define BG_TILE_FLIP_V (1 << 11)
|
|
|
|
#define SLOTS_PER_PALETTE 16
|
|
#define PALETTE_SIZE (SLOTS_PER_PALETTE)
|
|
#define PALETTE_SIZE_EXT (SLOTS_PER_PALETTE * 16)
|
|
#define PALETTE_SIZE_BYTES (PALETTE_SIZE * sizeof(u16))
|
|
#define PALETTE_SIZE_EXT_BYTES (PALETTE_SIZE_EXT * sizeof(u16))
|
|
#define PLTT_OFFSET(i) ((i) * PALETTE_SIZE_BYTES)
|
|
#define PLTT_DEST(i) ((i) * PALETTE_SIZE)
|
|
|
|
#define SPRITE_ANIM_SIZE 29
|
|
#define MAX_SPRITES 128
|
|
|
|
// Graphics engine A
|
|
#define HW_BG_A_PLTT_COLOR(palette, colorIdx) ((GXRgb *)(HW_BG_PLTT + PLTT_OFFSET(palette) + colorIdx * sizeof(GXRgb)))
|
|
#define HW_OBJ_A_PLTT_COLOR(palette, colorIdx) ((GXRgb *)(HW_OBJ_PLTT + PLTT_OFFSET(palette) + colorIdx * sizeof(GXRgb)))
|
|
// Graphics engine B
|
|
#define HW_BG_B_PLTT_COLOR(palette, colorIdx) ((GXRgb *)(HW_DB_BG_PLTT + PLTT_OFFSET(palette) + colorIdx * sizeof(GXRgb)))
|
|
#define HW_OBJ_B_PLTT_COLOR(palette, colorIdx) ((GXRgb *)(HW_DB_OBJ_PLTT + PLTT_OFFSET(palette) + colorIdx * sizeof(GXRgb)))
|
|
|
|
#define MON_SPRITE_FRAME_WIDTH_TILES 10
|
|
#define MON_SPRITE_FRAME_HEIGHT_TILES 10
|
|
#define MON_SPRITE_FRAME_WIDTH (MON_SPRITE_FRAME_WIDTH_TILES * TILE_WIDTH_PIXELS)
|
|
#define MON_SPRITE_FRAME_HEIGHT (MON_SPRITE_FRAME_HEIGHT_TILES * TILE_HEIGHT_PIXELS)
|
|
#define MON_SPRITE_FRAME_MAX_SIZE_TILES (MON_SPRITE_FRAME_WIDTH_TILES * MON_SPRITE_FRAME_HEIGHT_TILES)
|
|
#define MON_SPRITE_FRAME_MAX_SIZE_BYTES (TILE_SIZE_4BPP * MON_SPRITE_FRAME_MAX_SIZE_TILES)
|
|
|
|
#define MON_AFFINE_SHIFT 8
|
|
#define MON_AFFINE_SCALE(i) (i << MON_AFFINE_SHIFT)
|
|
|
|
#define SHADOW_SPRITE_FRAME_WIDTH_TILES 8
|
|
#define SHADOW_SPRITE_FRAME_HEIGHT_TILES 2
|
|
#define SHADOW_SPRITE_FRAME_WIDTH (SHADOW_SPRITE_FRAME_WIDTH_TILES * TILE_WIDTH_PIXELS)
|
|
#define SHADOW_SPRITE_FRAME_HEIGHT (SHADOW_SPRITE_FRAME_HEIGHT_TILES * TILE_HEIGHT_PIXELS)
|
|
|
|
#define GX_LIGHTS_COUNT 4
|
|
|
|
#define GX_COLOR_DIMS 3
|
|
#define GX_VEC_FX_DIMS 3
|
|
|
|
#define G3X_DEPTH_MAX 0x7FFF
|
|
|
|
#define RGBA_BLACK GX_RGBA(0, 0, 0, 0)
|
|
#define RGBA_WHITE GX_RGBA(31, 31, 31, 1)
|
|
|
|
#define RGB_TO_GRAYSCALE(r, g, b) (((r) * 76 + (g) * 151 + (b) * 29) >> 8)
|
|
|
|
#define SCREEN_WIDTH_TILES 32
|
|
#define SCREEN_HEIGHT_TILES 24
|
|
|
|
#define NNS_G3D_POLYGON_ID_MASK 0x3F
|
|
|
|
#endif // POKEPLATINUM_CONSTANTS_GRAPHICS_H
|