summaryrefslogtreecommitdiff
path: root/src/levelinfo.h
diff options
context:
space:
mode:
authorTreeki <treeki@gmail.com>2012-09-30 01:02:21 +0200
committerTreeki <treeki@gmail.com>2012-09-30 01:02:21 +0200
commitb854fa55f6f17be4d8c45e84e81cdc7715d6a044 (patch)
tree80bb482927e5f01ddf5c58f0f8f0bef575cebb81 /src/levelinfo.h
parent6182743cfb62d4330c97734c50a2de03694e06c0 (diff)
downloadkamek-b854fa55f6f17be4d8c45e84e81cdc7715d6a044.tar.gz
kamek-b854fa55f6f17be4d8c45e84e81cdc7715d6a044.zip
levelinfo API improved a bit
Diffstat (limited to '')
-rw-r--r--src/levelinfo.h14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/levelinfo.h b/src/levelinfo.h
index 20628d9..8c8fe58 100644
--- a/src/levelinfo.h
+++ b/src/levelinfo.h
@@ -11,10 +11,6 @@ public:
u32 sectionOffsets[1];
};
- struct section_s {
- u32 levelCount;
- };
-
struct entry_s {
u8 worldSlot;
u8 levelSlot;
@@ -26,6 +22,11 @@ public:
u32 nameOffset;
};
+ struct section_s {
+ u32 levelCount;
+ entry_s levels[1];
+ };
+
private:
header_s *data;
@@ -33,6 +34,7 @@ public:
void load(void *buffer);
entry_s *searchBySlot(int world, int level);
+ entry_s *searchByDisplayNum(int world, int level);
u32 sectionCount() {
return data->sectionCount;
@@ -42,10 +44,6 @@ public:
return (section_s*)(((char*)data) + data->sectionOffsets[index]);
}
- entry_s *getLevelsForSection(section_s *section) {
- return (entry_s*)(section + 1);
- }
-
const char *getNameForLevel(entry_s *entry) {
return (const char*)data + entry->nameOffset;
}