Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
182 changes: 104 additions & 78 deletions asm/Game/zCombo.s

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions src/Core/x/xFont.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@
#include "../p2/iColor.h"
#include "xString.h"

struct xTextAsset
{
uint32 len;
};

struct xfont
{
uint32 id;
Expand Down
61 changes: 35 additions & 26 deletions src/Core/x/xGlobals.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,32 +12,41 @@

struct xGlobals
{
xCamera camera;
_tagxPad* pad0;
_tagxPad* pad1;
_tagxPad* pad2;
_tagxPad* pad3;
int32 profile;
char profFunc[6][128];
xUpdateCullMgr* updateMgr;
int32 sceneFirst;
char sceneStart[32];
RpWorld* currWorld;
iFogParams fog;
iFogParams fogA;
iFogParams fogB;
iTime fog_t0;
iTime fog_t1;
int32 option_vibration;
uint32 QuarterSpeed;
float32 update_dt;
int32 useHIPHOP;
uint8 NoMusic;
int8 currentActivePad;
uint8 firstStartPressed;
uint32 minVSyncCnt;
uint8 dontShowPadMessageDuringLoadingOrCutScene;
uint8 autoSaveFeature;
// 0x00 in globals
xCamera camera;

// 0x31C in globals
_tagxPad* pad0;
_tagxPad* pad1;
_tagxPad* pad2;
_tagxPad* pad3;
int32 profile;

// 0x330 in globals
char profFunc[6][128];

// 0x630 in globals
xUpdateCullMgr* updateMgr;
int32 sceneFirst;
char sceneStart[32];
RpWorld* currWorld;

// 0x65C in globals
iFogParams fog;
iFogParams fogA;
iFogParams fogB;
iTime fog_t0;
iTime fog_t1;
int32 option_vibration;
uint32 QuarterSpeed;
float32 update_dt;
int32 useHIPHOP;
uint8 NoMusic;
int8 currentActivePad;
uint8 firstStartPressed;
uint32 minVSyncCnt;
uint8 dontShowPadMessageDuringLoadingOrCutScene;
uint8 autoSaveFeature;
};

#endif
77 changes: 77 additions & 0 deletions src/Core/x/xHud.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,83 @@
#ifndef XHUD_H
#define XHUD_H

#include "xBase.h"
#include "xVec3.h"

typedef struct asset;
typedef struct widget;

namespace xhud
{
struct render_context
{
xVec3 loc;
xVec3 size;
xVec3 rot;
float32 r;
float32 g;
float32 b;
float32 a;
};

struct motive
{
float32* value;
float32 delta;
float32 start_delta;
float32 max_offset;
float32 offset;
float32 accel;
uint8 (*fp_update)(widget&, motive&, float32);
void* context;
uint8 inverse;
};

struct motive_node
{
motive m;
motive_node* next;
};

struct _class_5
{
uint8 visible;
uint8 enabled;
};

enum _enum
{
ACT_NONE,
ACT_SHOW,
ACT_HIDE,
MAX_ACT
};

struct widget
{
_class_5 flag;
render_context rc;
render_context start_rc;
asset* a;
_enum activity;
motive_node* _motive_top;
motive_node* _motive_temp;
motive_node** _motive_temp_tail;

widget(asset& a);
void setup();
void enable();
void update(float32 dt);
void dispatch(uint32 event);
void clear_motives(uint8 (*fp_update)(widget&, motive&, float32), void* context);
void add_motive(motive& m);
void hide();
void show();
void updater(float32 dt);
void presetup();
void destruct();
};

}; // namespace xhud

#endif
17 changes: 17 additions & 0 deletions src/Core/x/xHudText.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,23 @@
#ifndef XHUDTEXT_H
#define XHUDTEXT_H

#include "xHud.h"
#include "xFont.h"

namespace xhud
{
struct text_widget : widget
{
int8 text[128];
xtextbox tb;

void render();
void update(float32 dt);
uint8 is(uint32 id);
void destroy();
void setup();
};

}; // namespace xhud

#endif
Loading