summaryrefslogtreecommitdiff
path: root/src/eventlooper.cpp
diff options
context:
space:
mode:
authorTreeki <treeki@gmail.com>2011-07-23 23:55:14 +0200
committerTreeki <treeki@gmail.com>2011-07-23 23:55:14 +0200
commit803c43cce9a5494d842856dd2e2aeb40666fe48a (patch)
tree14ced075735b06eb5768302602d92c1f01891b25 /src/eventlooper.cpp
parent77d7cadea5d8762a0e2a7d9a1a40f314748a6dcf (diff)
parent693dc221a8af9a90754a3e500f459c4a9517b439 (diff)
downloadkamek-803c43cce9a5494d842856dd2e2aeb40666fe48a.tar.gz
kamek-803c43cce9a5494d842856dd2e2aeb40666fe48a.zip
merged
Diffstat (limited to 'src/eventlooper.cpp')
-rw-r--r--src/eventlooper.cpp102
1 files changed, 51 insertions, 51 deletions
diff --git a/src/eventlooper.cpp b/src/eventlooper.cpp
index 755742d..6bc0526 100644
--- a/src/eventlooper.cpp
+++ b/src/eventlooper.cpp
@@ -1,37 +1,37 @@
-#include <common.h>
-#include <game.h>
-
-struct EventLooper {
- u32 id; // 0x00
- u32 settings; // 0x04
- u16 name; // 0x08
- u8 _0A[6]; // 0x0A
- u8 _10[0x9C]; // 0x10
- float x; // 0xAC
- float y; // 0xB0
- float z; // 0xB4
- u8 _B8[0x318]; // 0xB8
- // Any variables you add to the class go here; starting at offset 0x3D0
- u64 eventFlag; // 0x3D0
- u64 eventActive; // 0x3D0
- u8 delay; // 0x3D4
- u8 delayCount; // 0x3D7
-};
-
-struct EventTable_t {
- u64 events;
- // ...
-};
-
-extern EventTable_t *EventTable;
+#include <common.h>
+#include <game.h>
-void EventLooper_Update(EventLooper *self);
+struct EventLooper {
+ u32 id; // 0x00
+ u32 settings; // 0x04
+ u16 name; // 0x08
+ u8 _0A[6]; // 0x0A
+ u8 _10[0x9C]; // 0x10
+ float x; // 0xAC
+ float y; // 0xB0
+ float z; // 0xB4
+ u8 _B8[0x318]; // 0xB8
+ // Any variables you add to the class go here; starting at offset 0x3D0
+ u64 eventFlag; // 0x3D0
+ u64 eventActive; // 0x3D0
+ u8 delay; // 0x3D4
+ u8 delayCount; // 0x3D7
+};
+struct EventTable_t {
+ u64 events;
+ // ...
+};
-
-bool EventLooper_Create(EventLooper *self) {
- char eventStart = (self->settings >> 24) & 0xFF;
- char eventEnd = (self->settings >> 16) & 0xFF;
+extern EventTable_t *EventTable;
+
+void EventLooper_Update(EventLooper *self);
+
+
+
+bool EventLooper_Create(EventLooper *self) {
+ char eventStart = (self->settings >> 24) & 0xFF;
+ char eventEnd = (self->settings >> 16) & 0xFF;
// Putting all the events into the flag
int i;
@@ -41,41 +41,41 @@ bool EventLooper_Create(EventLooper *self) {
q = q | ((u64)1 << (i - 1));
}
- self->eventFlag = q;
+ self->eventFlag = q;
- self->delay = (((self->settings) & 0xFF) + 1) * 10;
- self->delayCount = 0;
+ self->delay = (((self->settings) & 0xFF) + 1) * 10;
+ self->delayCount = 0;
- char tmpEvent= (self->settings >> 8) & 0xFF;
+ char tmpEvent= (self->settings >> 8) & 0xFF;
if (tmpEvent == 0)
{
self->eventActive = (u64)0xFFFFFFFFFFFFFFFF;
}
else
{
- self->eventActive = (u64)1 << (tmpEvent - 1);
+ self->eventActive = (u64)1 << (tmpEvent - 1);
}
if (EventTable->events & self->eventActive)
- {
+ {
u64 evState = (u64)1 << (eventStart - 1);
EventTable->events = EventTable->events | evState;
}
- EventLooper_Update(self);
-
- return true;
-}
-
-bool EventLooper_Execute(EventLooper *self) {
- EventLooper_Update(self);
- return true;
-}
-
+ EventLooper_Update(self);
+
+ return true;
+}
+
+bool EventLooper_Execute(EventLooper *self) {
+ EventLooper_Update(self);
+ return true;
+}
+
-void EventLooper_Update(EventLooper *self) {
+void EventLooper_Update(EventLooper *self) {
if ((EventTable->events & self->eventActive) == 0)
return;
@@ -83,7 +83,7 @@ void EventLooper_Update(EventLooper *self) {
// Waiting for the right moment
if (self->delayCount < self->delay)
{
-// OSReport("Delaying: %d / %d\n", self->delayCount, self->delay);
+// OSReport("Delaying: %d / %d\n", self->delayCount, self->delay);
self->delayCount = self->delayCount + 1;
return;
@@ -93,7 +93,7 @@ void EventLooper_Update(EventLooper *self) {
self->delayCount = 0;
// Find which event(s) is/are on
- u64 evState = EventTable->events & self->eventFlag;
+ u64 evState = EventTable->events & self->eventFlag;
// Turn off the old events
EventTable->events = EventTable->events & (~self->eventFlag);
@@ -107,7 +107,7 @@ void EventLooper_Update(EventLooper *self) {
else
{
- char eventStart = (self->settings >> 24) & 0xFF;
+ char eventStart = (self->settings >> 24) & 0xFF;
evState = (u64)1 << (eventStart - 1);
EventTable->events = EventTable->events | evState;
}