1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-16 21:05:12 +00:00

Move button macros to include/controller.h (#2138)

* Move button macros to include/controller.h

* Fix z_mag button ordering
This commit is contained in:
cadmic 2024-09-06 01:24:19 -07:00 committed by GitHub
parent bb6177e936
commit 3faa1c6acc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 43 additions and 38 deletions

27
include/controller.h Normal file
View file

@ -0,0 +1,27 @@
#ifndef CONTROLLER_H
#define CONTROLLER_H
#define BTN_A 0x8000
#define BTN_B 0x4000
#define BTN_Z 0x2000
#define BTN_START 0x1000
#define BTN_DUP 0x0800
#define BTN_DDOWN 0x0400
#define BTN_DLEFT 0x0200
#define BTN_DRIGHT 0x0100
#define BTN_L 0x0020
#define BTN_R 0x0010
#define BTN_CUP 0x0008
#define BTN_CDOWN 0x0004
#define BTN_CLEFT 0x0002
#define BTN_CRIGHT 0x0001
#define CHECK_BTN_ANY(state, combo) (((state) & (combo)) != 0)
#if PLATFORM_N64
#define CHECK_BTN_ALL(state, combo) (((state) & (combo)) == (combo))
#else
#define CHECK_BTN_ALL(state, combo) (~((state) | ~(combo)) == 0)
#endif
#endif

View file

@ -105,14 +105,6 @@
? gSaveContext.save.info.equips.buttonItems[(button) + 1] \
: ITEM_NONE)
#if PLATFORM_N64
#define CHECK_BTN_ALL(state, combo) (((state) & (combo)) == (combo))
#else
#define CHECK_BTN_ALL(state, combo) (~((state) | ~(combo)) == 0)
#endif
#define CHECK_BTN_ANY(state, combo) (((state) & (combo)) != 0)
#define CHECK_FLAG_ALL(flags, mask) (((flags) & (mask)) == (mask))
// IDO doesn't support variadic macros, but it merely throws a warning for the

View file

@ -103,22 +103,6 @@
#define CONT_BLOCK_GB_BANK CONT_BLOCKS(CONT_ADDR_GB_BANK)
#define CONT_BLOCK_GB_STATUS CONT_BLOCKS(CONT_ADDR_GB_STATUS)
/* Buttons */
#define BTN_CRIGHT 0x0001
#define BTN_CLEFT 0x0002
#define BTN_CDOWN 0x0004
#define BTN_CUP 0x0008
#define BTN_R 0x0010
#define BTN_L 0x0020
#define BTN_DRIGHT 0x0100
#define BTN_DLEFT 0x0200
#define BTN_DDOWN 0x0400
#define BTN_DUP 0x0800
#define BTN_START 0x1000
#define BTN_Z 0x2000
#define BTN_B 0x4000
#define BTN_A 0x8000
#ifdef __GNUC__
// Ensure data cache coherency for OSPifRam structures by aligning to the data cache line size.
// On older compilers such as IDO this was done by placing each OSPifRam at the top of the file it is declared in,

View file

@ -5,6 +5,7 @@
#include "ultra64/gs2dex.h"
#include "attributes.h"
#include "audiomgr.h"
#include "controller.h"
#include "z64save.h"
#include "z64light.h"
#include "z64bgcheck.h"