mirror of
https://github.com/zeldaret/oot.git
synced 2025-02-27 03:24:45 +00:00
46 lines
1.4 KiB
C
46 lines
1.4 KiB
C
|
#ifndef VI_MODE_H
|
||
|
#define VI_MODE_H
|
||
|
|
||
|
#include "ultra64.h"
|
||
|
#include "libu64/pad.h"
|
||
|
#include "versions.h"
|
||
|
|
||
|
typedef enum ViModeEditState {
|
||
|
#if OOT_VERSION < PAL_1_0
|
||
|
/* -2 */ VI_MODE_EDIT_STATE_NEGATIVE_2 = -2,
|
||
|
/* -1 */ VI_MODE_EDIT_STATE_NEGATIVE_1,
|
||
|
/* 0 */ VI_MODE_EDIT_STATE_INACTIVE,
|
||
|
/* 1 */ VI_MODE_EDIT_STATE_2, // active, more adjustments
|
||
|
/* 2 */ VI_MODE_EDIT_STATE_3 // active, more adjustments, print comparison with NTSC LAN1 mode
|
||
|
#else
|
||
|
/* 0 */ VI_MODE_EDIT_STATE_INACTIVE,
|
||
|
/* 1 */ VI_MODE_EDIT_STATE_ACTIVE,
|
||
|
/* 2 */ VI_MODE_EDIT_STATE_2, // active, more adjustments
|
||
|
/* 3 */ VI_MODE_EDIT_STATE_3 // active, more adjustments, print comparison with NTSC LAN1 mode
|
||
|
#endif
|
||
|
} ViModeEditState;
|
||
|
|
||
|
typedef struct ViMode {
|
||
|
/* 0x00 */ OSViMode customViMode;
|
||
|
/* 0x50 */ s32 viHeight;
|
||
|
/* 0x54 */ s32 viWidth;
|
||
|
/* 0x58 */ s32 rightAdjust;
|
||
|
/* 0x5C */ s32 leftAdjust;
|
||
|
/* 0x60 */ s32 lowerAdjust;
|
||
|
/* 0x64 */ s32 upperAdjust;
|
||
|
/* 0x68 */ s32 editState;
|
||
|
/* 0x6C */ s32 tvType;
|
||
|
/* 0x70 */ u32 loRes;
|
||
|
/* 0x74 */ u32 antialiasOff;
|
||
|
/* 0x78 */ u32 modeN; // Controls interlacing, the meaning of this mode is different based on choice of resolution
|
||
|
/* 0x7C */ u32 fb16Bit;
|
||
|
/* 0x80 */ u32 viFeatures;
|
||
|
/* 0x84 */ u32 unk_84;
|
||
|
} ViMode; // size = 0x88
|
||
|
|
||
|
void ViMode_Init(ViMode* viMode);
|
||
|
void ViMode_Destroy(ViMode* viMode);
|
||
|
void ViMode_Update(ViMode* viMode, Input* input);
|
||
|
|
||
|
#endif
|