Disabled HTTPS certificate verification, removed DPI scaling, added ClassiCube-PPC branding, removed dev downloads from updates, and added PPC support in updates to search for new updates. :D

(Compiles  on PowerMac G4 1.24GHz + ATI Radeon 9000 Pro)
This commit is contained in:
Andrei Alexandru
2025-12-17 14:26:32 +02:00
parent c71492f846
commit 534ab06f6b
4 changed files with 18 additions and 42 deletions

View File

@@ -6,16 +6,16 @@ Copyright 2014-2025 ClassiCube | Licensed under BSD-3
*/ */
#define GAME_MAX_CMDARGS 5 #define GAME_MAX_CMDARGS 5
#define GAME_APP_VER "1.3.7" #define GAME_APP_VER "1.3.7rev6"
#define GAME_API_VER 1 #define GAME_API_VER 1
#if defined CC_BUILD_WEB #if defined CC_BUILD_WEB
#define GAME_APP_ALT "ClassiCube 1.3.7 web mobile" #define GAME_APP_ALT "ClassiCube 1.3.7 web mobile"
#define GAME_APP_NAME "ClassiCube 1.3.7 web" #define GAME_APP_NAME "ClassiCube 1.3.7 web"
#define GAME_APP_TITLE "ClassiCube" #define GAME_APP_TITLE "ClassiCube-PPC"
#else #else
#define GAME_APP_NAME "ClassiCube 1.3.7" #define GAME_APP_NAME "ClassiCube 1.3.7rev6-PPC"
#define GAME_APP_TITLE "ClassiCube 1.3.7" #define GAME_APP_TITLE "ClassiCube 1.3.7rev6-PPC"
#endif #endif
/* Max number of characters strings can have. */ /* Max number of characters strings can have. */
@@ -68,11 +68,11 @@ enum SKIN_TYPE { SKIN_64x32, SKIN_64x64, SKIN_64x64_SLIM, SKIN_INVALID = 0xF0 };
#define Int32_MaxValue ((cc_int32)2147483647L) #define Int32_MaxValue ((cc_int32)2147483647L)
#define SKINS_SERVER "http://cdn.classicube.net/skin" #define SKINS_SERVER "http://cdn.classicube.net/skin"
#define UPDATES_SERVER "http://cdn.classicube.net/client" #define UPDATES_SERVER "http://ppcproxy.andreiixe.website/client"
#define SERVICES_SERVER "https://www.classicube.net/api" #define SERVICES_SERVER "https://www.classicube.net/api"
#define RESOURCE_SERVER "http://static.classicube.net" #define RESOURCE_SERVER "http://static.classicube.net"
/* Webpage where users can register for a new account */ /* Webpage where users can register for a new account */
#define REGISTERNEW_URL "https://www.classicube.net/acc/register/" #define REGISTERNEW_URL "https://www.classicube.net/acc/register/"
#define DEFAULT_USERNAME "Singleplayer" #define DEFAULT_USERNAME "Singleplayer-PPC"
#endif #endif

View File

@@ -304,9 +304,8 @@ static void Http_SetCurlOpts(struct HttpRequest* req) {
_curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, Http_ProcessData); _curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, Http_ProcessData);
_curl_easy_setopt(curl, CURLOPT_WRITEDATA, req); _curl_easy_setopt(curl, CURLOPT_WRITEDATA, req);
if (curlVerbose) _curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); // if (curlVerbose) _curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
//if (httpsVerify) return;
if (httpsVerify) return;
_curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); _curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
} }

View File

@@ -1013,7 +1013,7 @@ void MainScreen_SetActive(void) {
s->Activated = MainScreen_Activated; s->Activated = MainScreen_Activated;
s->LoadState = MainScreen_Load; s->LoadState = MainScreen_Load;
s->Tick = MainScreen_Tick; s->Tick = MainScreen_Tick;
s->title = "ClassiCube"; s->title = "ClassiCube-PPC";
#ifdef CC_BUILD_NETWORKING #ifdef CC_BUILD_NETWORKING
s->onEnterWidget = (struct LWidget*)&s->btnLogin; s->onEnterWidget = (struct LWidget*)&s->btnLogin;
@@ -1448,16 +1448,6 @@ static void SettingsScreen_ShowEmpty(struct LCheckbox* w) {
Options_SetBool(LOPT_SHOW_EMPTY, w->value); Options_SetBool(LOPT_SHOW_EMPTY, w->value);
} }
static void SettingsScreen_DPIScaling(struct LCheckbox* w) {
#if defined CC_BUILD_WIN
DisplayInfo.DPIScaling = w->value;
Options_SetBool(OPT_DPI_SCALING, w->value);
Window_ShowDialog("Restart required", "You must restart ClassiCube before display scaling takes effect");
#else
Window_ShowDialog("Restart required", "Display scaling is currently only supported on Windows");
#endif
}
static void SettingsScreen_AddWidgets(struct SettingsScreen* s) { static void SettingsScreen_AddWidgets(struct SettingsScreen* s) {
LLine_Add(s, &s->sep, 380, set_sep); LLine_Add(s, &s->sep, 380, set_sep);
LButton_Add(s, &s->btnMode, 110, 35, "Mode", LButton_Add(s, &s->btnMode, 110, 35, "Mode",
@@ -1480,8 +1470,6 @@ static void SettingsScreen_AddWidgets(struct SettingsScreen* s) {
LCheckbox_Add(s, &s->cbEmpty, "Show empty servers in list", LCheckbox_Add(s, &s->cbEmpty, "Show empty servers in list",
SettingsScreen_ShowEmpty, set_cbEmpty); SettingsScreen_ShowEmpty, set_cbEmpty);
LCheckbox_Add(s, &s->cbScale, "Use display scaling",
SettingsScreen_DPIScaling, set_cbScale);
LButton_Add(s, &s->btnBack, 80, 35, "Back", LButton_Add(s, &s->btnBack, 80, 35, "Back",
SwitchToMain, set_btnBack); SwitchToMain, set_btnBack);
} }
@@ -1497,7 +1485,6 @@ static void SettingsScreen_Activated(struct LScreen* s_) {
#endif #endif
LCheckbox_Set(&s->cbEmpty, Launcher_ShowEmptyServers); LCheckbox_Set(&s->cbEmpty, Launcher_ShowEmptyServers);
LCheckbox_Set(&s->cbScale, DisplayInfo.DPIScaling);
} }
void SettingsScreen_SetActive(void) { void SettingsScreen_SetActive(void) {
@@ -1586,8 +1573,8 @@ void ThemesScreen_SetActive(void) {
static struct UpdatesScreen { static struct UpdatesScreen {
LScreen_Layout LScreen_Layout
struct LLine seps[2]; struct LLine seps[2];
struct LButton btnRel[2], btnDev[2], btnBack; struct LButton btnRel[2], btnBack;
struct LLabel lblYour, lblRel, lblDev, lblInfo, lblStatus; struct LLabel lblYour, lblRel, lblInfo, lblStatus;
int buildProgress, buildIndex; int buildProgress, buildIndex;
cc_bool pendingFetch, release; cc_bool pendingFetch, release;
} UpdatesScreen CC_BIG_VAR; } UpdatesScreen CC_BIG_VAR;
@@ -1600,19 +1587,15 @@ LAYOUTS upd_seps0[] = { { ANCHOR_CENTRE, 0 }, { ANCHOR_CENTRE, -100 } };
LAYOUTS upd_seps1[] = { { ANCHOR_CENTRE, 0 }, { ANCHOR_CENTRE, -5 } }; LAYOUTS upd_seps1[] = { { ANCHOR_CENTRE, 0 }, { ANCHOR_CENTRE, -5 } };
LAYOUTS upd_lblRel[] = { { ANCHOR_CENTRE, -20 }, { ANCHOR_CENTRE, -75 } }; LAYOUTS upd_lblRel[] = { { ANCHOR_CENTRE, -20 }, { ANCHOR_CENTRE, -75 } };
LAYOUTS upd_lblDev[] = { { ANCHOR_CENTRE, -30 }, { ANCHOR_CENTRE, 20 } };
LAYOUTS upd_lblInfo[] = { { ANCHOR_CENTRE, 0 }, { ANCHOR_CENTRE, 105 } }; LAYOUTS upd_lblInfo[] = { { ANCHOR_CENTRE, 0 }, { ANCHOR_CENTRE, 105 } };
LAYOUTS upd_lblStatus[] = { { ANCHOR_CENTRE, 0 }, { ANCHOR_CENTRE, 130 } }; LAYOUTS upd_lblStatus[] = { { ANCHOR_CENTRE, 0 }, { ANCHOR_CENTRE, 130 } };
LAYOUTS upd_btnBack[] = { { ANCHOR_CENTRE, 0 }, { ANCHOR_CENTRE, 170 } }; LAYOUTS upd_btnBack[] = { { ANCHOR_CENTRE, 0 }, { ANCHOR_CENTRE, 170 } };
/* Update button layouts when 1 build */ /* Update button layouts when 1 build */
LAYOUTS upd_btnRel0_1[] = { { ANCHOR_CENTRE, 0 }, { ANCHOR_CENTRE, -40 } }; LAYOUTS upd_btnRel0_1[] = { { ANCHOR_CENTRE, 0 }, { ANCHOR_CENTRE, -40 } };
LAYOUTS upd_btnDev0_1[] = { { ANCHOR_CENTRE, 0 }, { ANCHOR_CENTRE, 55 } };
/* Update button layouts when 2 builds */ /* Update button layouts when 2 builds */
LAYOUTS upd_btnRel0_2[] = { { ANCHOR_CENTRE, -80 }, { ANCHOR_CENTRE, -40 } }; LAYOUTS upd_btnRel0_2[] = { { ANCHOR_CENTRE, -80 }, { ANCHOR_CENTRE, -40 } };
LAYOUTS upd_btnRel1_2[] = { { ANCHOR_CENTRE, 80 }, { ANCHOR_CENTRE, -40 } }; LAYOUTS upd_btnRel1_2[] = { { ANCHOR_CENTRE, 80 }, { ANCHOR_CENTRE, -40 } };
LAYOUTS upd_btnDev0_2[] = { { ANCHOR_CENTRE, -80 }, { ANCHOR_CENTRE, 55 } };
LAYOUTS upd_btnDev1_2[] = { { ANCHOR_CENTRE, 80 }, { ANCHOR_CENTRE, 55 } };
CC_NOINLINE static void UpdatesScreen_FormatTime(cc_string* str, int delta) { CC_NOINLINE static void UpdatesScreen_FormatTime(cc_string* str, int delta) {
@@ -1658,14 +1641,13 @@ static void UpdatesScreen_Format(struct LLabel* lbl, const char* prefix, cc_uint
static void UpdatesScreen_FormatBoth(struct UpdatesScreen* s) { static void UpdatesScreen_FormatBoth(struct UpdatesScreen* s) {
UpdatesScreen_Format(&s->lblRel, "Latest release: ", CheckUpdateTask.relTimestamp); UpdatesScreen_Format(&s->lblRel, "Latest release: ", CheckUpdateTask.relTimestamp);
UpdatesScreen_Format(&s->lblDev, "Latest dev build: ", CheckUpdateTask.devTimestamp);
} }
static void UpdatesScreen_UpdateHeader(struct UpdatesScreen* s, cc_string* str) { static void UpdatesScreen_UpdateHeader(struct UpdatesScreen* s, cc_string* str) {
const char* message = s->release ? "release " : "dev build "; const char* message;
if ( s->release) message = "&eFetching latest release ";
String_Format2(str, "&eFetching latest %c%c", String_Format2(str, "%c%c", message, Updater_Info.builds[s->buildIndex].name);
message, Updater_Info.builds[s->buildIndex].name);
} }
static void UpdatesScreen_DoFetch(struct UpdatesScreen* s) { static void UpdatesScreen_DoFetch(struct UpdatesScreen* s) {
@@ -1754,7 +1736,6 @@ static void UpdatesScreen_AddWidgets(struct UpdatesScreen* s) {
LLabel_Add(s, &s->lblYour, "Your build: (unknown)", upd_lblYour); LLabel_Add(s, &s->lblYour, "Your build: (unknown)", upd_lblYour);
LLabel_Add(s, &s->lblRel, "Latest release: Checking..", upd_lblRel); LLabel_Add(s, &s->lblRel, "Latest release: Checking..", upd_lblRel);
LLabel_Add(s, &s->lblDev, "Latest dev build: Checking..", upd_lblDev);
LLabel_Add(s, &s->lblStatus, "", upd_lblStatus); LLabel_Add(s, &s->lblStatus, "", upd_lblStatus);
LLabel_Add(s, &s->lblInfo, Updater_Info.info, upd_lblInfo); LLabel_Add(s, &s->lblInfo, Updater_Info.info, upd_lblInfo);
LButton_Add(s, &s->btnBack, 80, 35, "Back", LButton_Add(s, &s->btnBack, 80, 35, "Back",
@@ -1763,15 +1744,11 @@ static void UpdatesScreen_AddWidgets(struct UpdatesScreen* s) {
if (builds >= 1) { if (builds >= 1) {
LButton_Add(s, &s->btnRel[0], 130, 35, Updater_Info.builds[0].name, LButton_Add(s, &s->btnRel[0], 130, 35, Updater_Info.builds[0].name,
UpdatesScreen_Rel_0, builds == 1 ? upd_btnRel0_1 : upd_btnRel0_2); UpdatesScreen_Rel_0, builds == 1 ? upd_btnRel0_1 : upd_btnRel0_2);
LButton_Add(s, &s->btnDev[0], 130, 35, Updater_Info.builds[0].name,
UpdatesScreen_Dev_0, builds == 1 ? upd_btnDev0_1 : upd_btnDev0_2);
} }
if (builds >= 2) { if (builds >= 2) {
LButton_Add(s, &s->btnRel[1], 130, 35, Updater_Info.builds[1].name, LButton_Add(s, &s->btnRel[1], 130, 35, Updater_Info.builds[1].name,
UpdatesScreen_Rel_1, upd_btnRel1_2); UpdatesScreen_Rel_1, upd_btnRel1_2);
LButton_Add(s, &s->btnDev[1], 130, 35, Updater_Info.builds[1].name,
UpdatesScreen_Dev_1, upd_btnDev1_2);
} }
} }

View File

@@ -1194,12 +1194,12 @@ cc_bool Updater_Clean(void) { return true; }
{ "OpenGL", "ClassiCube.64.osx" } { "OpenGL", "ClassiCube.64.osx" }
} }
}; };
#elif __i386__ #elif __ppc__
const struct UpdaterInfo Updater_Info = { const struct UpdaterInfo Updater_Info = {
"&eModernGL is recommended for newer machines (2015 or later)", 2, "&eOpenGL 1.2 is recommended for ATI Radeon 9000 Pro with G4+", 2,
{ {
{ "ModernGL", "cc-osx32-gl2" }, { "OpenGL1.2+", "OpenGL12plus.app" },
{ "OpenGL", "ClassiCube.osx" } { "OpenGL1.1", "OpenGL11.app" }
} }
}; };
#else #else