Latest compatible version of Classicube from the original GitHub repository (https://github.com/ClassiCube/ClassiCube) that can be compiled on Classicube for PowerMac PPC running Mac OS X 10.4.

This commit is contained in:
Andrei Alexandru
2025-12-17 13:17:57 +02:00
commit c71492f846
1248 changed files with 422858 additions and 0 deletions

91
src/GameVersion.c Normal file
View File

@@ -0,0 +1,91 @@
#include "Game.h"
#include "Protocol.h"
#include "Block.h"
#include "Options.h"
#include "Inventory.h"
static const cc_uint8 v7_inventory[] = {
BLOCK_STONE, BLOCK_COBBLE, BLOCK_BRICK, BLOCK_DIRT, BLOCK_WOOD, BLOCK_LOG, BLOCK_LEAVES, BLOCK_GLASS, BLOCK_SLAB,
BLOCK_MOSSY_ROCKS, BLOCK_SAPLING, BLOCK_DANDELION, BLOCK_ROSE, BLOCK_BROWN_SHROOM, BLOCK_RED_SHROOM, BLOCK_SAND, BLOCK_GRAVEL, BLOCK_SPONGE,
BLOCK_RED, BLOCK_ORANGE, BLOCK_YELLOW, BLOCK_LIME, BLOCK_GREEN, BLOCK_TEAL, BLOCK_AQUA, BLOCK_CYAN, BLOCK_BLUE,
BLOCK_INDIGO, BLOCK_VIOLET, BLOCK_MAGENTA, BLOCK_PINK, BLOCK_BLACK, BLOCK_GRAY, BLOCK_WHITE, BLOCK_COAL_ORE, BLOCK_IRON_ORE,
BLOCK_GOLD_ORE, BLOCK_IRON, BLOCK_GOLD, BLOCK_BOOKSHELF, BLOCK_TNT, BLOCK_OBSIDIAN,
};
static const cc_uint8 v6_inventory[] = {
BLOCK_STONE, BLOCK_COBBLE, BLOCK_DIRT, BLOCK_WOOD, BLOCK_LOG, BLOCK_LEAVES, BLOCK_SAPLING, BLOCK_DANDELION,
BLOCK_ROSE, BLOCK_BROWN_SHROOM, BLOCK_RED_SHROOM, BLOCK_SAND, BLOCK_GRAVEL, BLOCK_GLASS, BLOCK_SPONGE, BLOCK_GOLD,
BLOCK_RED, BLOCK_ORANGE, BLOCK_YELLOW, BLOCK_LIME, BLOCK_GREEN, BLOCK_TEAL, BLOCK_AQUA, BLOCK_CYAN, BLOCK_BLUE,
BLOCK_INDIGO, BLOCK_VIOLET, BLOCK_MAGENTA, BLOCK_PINK, BLOCK_BLACK, BLOCK_GRAY, BLOCK_WHITE,
};
static const cc_uint8 v5_inventory[] = {
BLOCK_STONE, BLOCK_COBBLE, BLOCK_DIRT, BLOCK_WOOD, BLOCK_LOG, BLOCK_LEAVES,
BLOCK_SAPLING, BLOCK_SAND, BLOCK_GRAVEL, BLOCK_GLASS, BLOCK_SPONGE,
};
static const cc_uint8 v4_inventory[] = {
BLOCK_STONE, BLOCK_COBBLE, BLOCK_DIRT, BLOCK_WOOD, BLOCK_LOG, BLOCK_LEAVES,
BLOCK_SAPLING, BLOCK_SAND, BLOCK_GRAVEL,
};
static const cc_uint8 v7_hotbar[INVENTORY_BLOCKS_PER_HOTBAR] = {
BLOCK_STONE, BLOCK_COBBLE, BLOCK_BRICK, BLOCK_DIRT, BLOCK_WOOD, BLOCK_LOG, BLOCK_LEAVES, BLOCK_GLASS, BLOCK_SLAB
};
static const cc_uint8 v6_hotbar[INVENTORY_BLOCKS_PER_HOTBAR] = {
BLOCK_STONE, BLOCK_COBBLE, BLOCK_DIRT, BLOCK_WOOD, BLOCK_LOG, BLOCK_LEAVES, BLOCK_SAPLING, BLOCK_DANDELION, BLOCK_ROSE
};
static const cc_uint8 v5_hotbar[INVENTORY_BLOCKS_PER_HOTBAR] = {
BLOCK_STONE, BLOCK_DIRT, BLOCK_SPONGE, BLOCK_WOOD, BLOCK_SAPLING, BLOCK_LOG, BLOCK_LEAVES, BLOCK_GLASS, BLOCK_GRAVEL
};
static const cc_uint8 v4_hotbar[INVENTORY_BLOCKS_PER_HOTBAR] = {
BLOCK_STONE, BLOCK_DIRT, BLOCK_COBBLE, BLOCK_WOOD, BLOCK_SAPLING, BLOCK_LOG, BLOCK_LEAVES, BLOCK_SAND, BLOCK_GRAVEL
};
static const struct GameVersion version_cpe = {
"0.30", true, VERSION_CPE,
PROTOCOL_0030, BLOCK_MAX_CPE,
10, sizeof(v7_inventory), NULL, v7_hotbar,
"texpacks/default.zip"
};
static const struct GameVersion version_0030 = {
"0.30", false, VERSION_0030,
PROTOCOL_0030, BLOCK_OBSIDIAN,
9, sizeof(v7_inventory), v7_inventory, v7_hotbar,
"texpacks/default.zip"
};
static const struct GameVersion version_0023 = {
"0.0.23a", false, VERSION_0023,
PROTOCOL_0020, BLOCK_GOLD,
8, sizeof(v6_inventory), v6_inventory, v6_hotbar,
"texpacks/default_0023.zip"
};
static const struct GameVersion version_0019 = {
"0.0.19a", false, VERSION_0019,
PROTOCOL_0019, BLOCK_GLASS,
6, sizeof(v5_inventory), v5_inventory, v5_hotbar,
"texpacks/default_0023.zip"
};
static const struct GameVersion version_0017 = {
"0.0.17a", false, VERSION_0017,
PROTOCOL_0017, BLOCK_LEAVES,
6, sizeof(v4_inventory), v4_inventory, v4_hotbar,
"texpacks/default_0023.zip"
};
void GameVersion_Load(void) {
cc_bool hasCPE = !Game_ClassicMode && Options_GetBool(OPT_CPE, true);
int version = Options_GetInt(OPT_GAME_VERSION, VERSION_0017, VERSION_0030, VERSION_0030);
const struct GameVersion* ver = &version_cpe;
if (hasCPE) {
/* defaults to CPE already */
} else if (version == VERSION_0030) {
ver = &version_0030;
} else if (version == VERSION_0023) {
ver = &version_0023;
} else if (version == VERSION_0019) {
ver = &version_0019;
} else if (version == VERSION_0017) {
ver = &version_0017;
}
Game_Version = *ver;
}