mirror of
https://github.com/echojc/osu-ds.git
synced 2025-06-19 01:15:44 -04:00

Removed the arm7 section Changed the makefile to only use the arm9 stuff Epicpkmn: Fix source/Graphics/GraphicsManager.cpp Co-Authored-By: Pk11 <epicpkmn11@outlook.com> Co-Authored-By: Kaisaan <34224128+Kaisaan@users.noreply.github.com>
83 lines
1.8 KiB
C++
83 lines
1.8 KiB
C++
#include <nds.h>
|
|
#include <stdio.h>
|
|
|
|
#include "Beatmaps/BeatmapElements.h"
|
|
#include "Beatmaps/DifficultyManager.h"
|
|
#include "GameplayElements/ScoreManager.h"
|
|
#include "Graphics/pSprite.h"
|
|
#include "Graphics/pAnimation.h"
|
|
#include "Graphics/GfxInfo.h"
|
|
#include "Graphics/SpriteContainer.h"
|
|
#include "Helpers/AudioManager.h"
|
|
#include "System/ICallback.h"
|
|
|
|
#ifndef __HITOBJECT_H__
|
|
#define __HITOBJECT_H__
|
|
|
|
typedef struct {
|
|
s32 x, y;
|
|
s32 angle;
|
|
} HitObjectPoint;
|
|
|
|
typedef enum {
|
|
HIT_NORMAL = 1,
|
|
HIT_SLIDER = 2,
|
|
HIT_COMBO = 4,
|
|
HIT_SPINNER = 8
|
|
} HitObjectType;
|
|
|
|
typedef void (*HitHandler)(ScoreType score, bool forceNoCombo, bool forceNoAnimation, HitObjectPoint point);
|
|
|
|
class HitObject : public SpriteContainer
|
|
{
|
|
public:
|
|
virtual ~HitObject();
|
|
|
|
virtual bool InBounds(s32 x, s32 y) { return true; }
|
|
|
|
bool GetHit() { return mHit; }
|
|
s32 GetEndTime() { return mEndTime; }
|
|
|
|
virtual void Update() {}
|
|
|
|
virtual void OnTouchDown(const touchPosition& touch) {}
|
|
virtual void OnTouch(const touchPosition& touch) {}
|
|
virtual void OnTouchUp(const touchPosition& touch) {}
|
|
|
|
virtual void Hit();
|
|
|
|
void SetPostCreateOptions(bool comboend, s32 nextx, s32 nexty);
|
|
|
|
static void SetScoreCallback(ICallback* scoreCallback);
|
|
|
|
protected:
|
|
HitObject(s32 x, s32 y, s32 time, HitObjectType type, HitObjectSound sound);
|
|
|
|
s32 mX, mY;
|
|
s32 mTime, mEndTime;
|
|
HitObjectType mType;
|
|
HitObjectSound mSound;
|
|
static rgb mColour;
|
|
|
|
bool mHit;
|
|
bool mComboEnd;
|
|
|
|
u32 mScoreSpriteId;
|
|
|
|
void IncreaseScore(ScoreType score, bool forceNoCombo = false, bool forceNoAnimation = false);
|
|
void IncreaseScore(ScoreType score, bool forceNoCombo, bool forceNoAnimation, u32 spriteId);
|
|
|
|
private:
|
|
float mScoreDeltaZ;
|
|
|
|
static float sScoreDeltaZ;
|
|
static float sSliderDeltaZ;
|
|
static s32 sLastSliderTime;
|
|
|
|
static ICallback* mScoreCallback;
|
|
};
|
|
|
|
#endif
|
|
|
|
|