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

8
misc/symbian/.gitignore vendored Normal file
View File

@@ -0,0 +1,8 @@
ABLD.BAT
*.sis
!*.mmp
!*.mmh
!*.pkg
!*.rss
!*.svg
!*.txt

View File

@@ -0,0 +1,30 @@
&EN
#{"ClassiCube"},(0xE212A5C2),1,0,0
[0x101F7961], 0, 0, 0, {"S60ProductID"}
[0x1028315F], 0, 0, 0, {"S60ProductID"}
[0x20022E6D], 0, 0, 0, {"S60ProductID"}
%{"ClassiCube"}
:"ClassiCube"
; Check OpenC versions
IF( version(0x20009a80, <, 1, 5, 0) ) AND NOT (EXISTS("Z:\sys\bin\libc.dll") OR EXISTS("C:\sys\bin\libc.dll"))
"incompatible_openc.txt"-"", FT, FORCEABORT
ENDIF
IF exists("z:\system\install\Series60v5.2.sis") ; Symbian^3
"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\ClassiCube_sym3.exe" - "!:\sys\bin\ClassiCube.exe"
ELSE
IF exists("z:\system\install\Series60v5.0.sis") ; Symbian 9.4
"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\ClassiCube_s60v5.exe" - "!:\sys\bin\ClassiCube.exe"
ELSE ; Symbian 9.2-9.3
"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\ClassiCube_s60v3.exe" - "!:\sys\bin\ClassiCube.exe"
ENDIF
ENDIF
"$(EPOCROOT)\epoc32\data\z\private\10003a3f\import\apps\classicube_reg.rsc" - "!:\private\10003a3f\import\apps\classicube_reg.rsc"
"$(EPOCROOT)\epoc32\data\z\resource\apps\classicube.rsc" - "!:\resource\apps\classicube.rsc"
"$(EPOCROOT)\epoc32\data\z\resource\apps\classicube_icon.mif" - "!:\resource\apps\classicube_icon.mif"
;"$(EPOCROOT)\epoc32\winscw\c\private\e212a5c2\texpacks\classicube.zip" - "!:\private\e212a5c2\texpacks\classicube.zip"

View File

@@ -0,0 +1,60 @@
TARGETTYPE exe
UID 0x100039CE 0xE212A5C2
SYSTEMINCLUDE /epoc32
SYSTEMINCLUDE /epoc32/include
SYSTEMINCLUDE /epoc32/include/mw
SYSTEMINCLUDE /epoc32/include/app
SYSTEMINCLUDE /epoc32/include/platform
SYSTEMINCLUDE /epoc32/include/platform/mw
SYSTEMINCLUDE /epoc32/include/platform/app
SYSTEMINCLUDE /epoc32/include/gles
SYSTEMINCLUDE /epoc32/include/stdapis
SYSTEMINCLUDE /epoc32/include/stdapis/sys
//SYSTEMINCLUDE /epoc32/include/libc
USERINCLUDE ../../src
USERINCLUDE ../../src/freetype
USERINCLUDE ../../third_party/bearssl/inc
USERINCLUDE ../../third_party/bearssl/src
MACRO SYMBIAN_OE_POSIX_SIGNALS
LIBRARY euser.lib
LIBRARY apgrfx.lib
LIBRARY cone.lib
LIBRARY avkon.lib
LIBRARY fbscli.lib
LIBRARY ws32.lib
LIBRARY hal.lib
LIBRARY mediaclientaudiostream.lib
LIBRARY libc.lib
LIBRARY libm.lib
LIBRARY libdl.lib
LIBRARY libpthread.lib
STATICLIBRARY libcrt0.lib
#ifdef ARMCC
OPTION ARMCC -Otime --diag_suppress 1296 --diag_suppress 1293 --diag_suppress 66
OPTION_REPLACE ARMCC --cpu 6
OPTION_REPLACE ARMCC --fpu softvfp+vfpv2 --fpmode fast
OPTION_REPLACE ARMCC -O2 -O3
#endif
SOURCEPATH ../../src
SOURCE Animations.c Audio.c Audio_Null.c AxisLinesRenderer.c Bitmap.c Block.c BlockPhysics.c Builder.c Camera.c Certs.c Chat.c Commands.c Deflate.c Drawer.c Drawer2D.c Entity.c EntityComponents.c EntityRenderers.c EnvRenderer.c Event.c ExtMath.c FancyLighting.c Formats.c Game.c GameVersion.c Generator.c Graphics_GL1.c Graphics_SoftGPU.c Gui.c HeldBlockRenderer.c Http_Web.c Http_Worker.c Input.c InputHandler.c Inventory.c IsometricDrawer.c LBackend.c LScreens.c LWeb.c LWidgets.c Launcher.c Lighting.c Logger.c MapRenderer.c MenuOptions.c Menus.c Model.c Options.c PackedCol.c Particle.c Physics.c Picking.c Platform_Posix.c Protocol.c Queue.c Resources.c SSL.c Screens.c SelOutlineRenderer.c SelectionBox.c Server.c Stream.c String.c SystemFonts.c TexturePack.c TouchUI.c Utils.c Vectors.c Widgets.c World.c _autofit.c _cff.c _ftbase.c _ftbitmap.c _ftglyph.c _ftinit.c _ftsynth.c _psaux.c _pshinter.c _psmodule.c _sfnt.c _smooth.c _truetype.c _type1.c Vorbis.c Platform_Symbian.cpp Graphics_GL2.c Window_Symbian.cpp Audio_Symbian.cpp
SOURCEPATH ../../third_party/bearssl/src
SOURCE aes_big_cbcdec.c aes_big_cbcenc.c aes_big_ctr.c aes_big_ctrcbc.c aes_big_dec.c aes_big_enc.c aes_common.c aesctr_drbg.c aes_x86ni.c aes_x86ni_cbcdec.c aes_x86ni_cbcenc.c aes_x86ni_ctr.c aes_x86ni_ctrcbc.c asn1enc.c ccm.c ccopy.c chacha20_ct.c chacha20_sse2.c dec32be.c dec32le.c dec64be.c dec64le.c dig_oid.c dig_size.c ec_all_m31.c ec_c25519_i31.c ec_c25519_m31.c ec_c25519_m62.c ec_c25519_m64.c ec_curve25519.c ec_default.c ecdsa_atr.c ecdsa_default_vrfy_asn1.c ecdsa_default_vrfy_raw.c ecdsa_i31_bits.c ecdsa_i31_vrfy_asn1.c ecdsa_i31_vrfy_raw.c ec_p256_m31.c ec_p256_m62.c ec_p256_m64.c ec_prime_i31.c ec_secp256r1.c ec_secp384r1.c ec_secp521r1.c enc32be.c enc32le.c enc64be.c enc64le.c gcm.c ghash_ctmul64.c ghash_ctmul.c ghash_pclmul.c hmac.c hmac_ct.c hmac_drbg.c i31_add.c i31_bitlen.c i31_decmod.c i31_decode.c i31_decred.c i31_encode.c i31_fmont.c i31_iszero.c i31_moddiv.c i31_modpow2.c i31_modpow.c i31_montmul.c i31_mulacc.c i31_muladd.c i31_ninv31.c i31_reduce.c i31_rshift.c i31_sub.c i31_tmont.c i32_div32.c i62_modpow2.c md5.c md5sha1.c multihash.c poly1305_ctmul.c poly1305_ctmulq.c prf.c prf_md5sha1.c prf_sha256.c prf_sha384.c rsa_default_pkcs1_vrfy.c rsa_default_priv.c rsa_default_pub.c rsa_i31_pkcs1_vrfy.c rsa_i31_priv.c rsa_i31_pub.c rsa_i62_pkcs1_vrfy.c rsa_i62_priv.c rsa_i62_pub.c rsa_pkcs1_sig_unpad.c sha1.c sha2big.c sha2small.c ssl_client.c ssl_client_default_rsapub.c ssl_client_full.c ssl_engine.c ssl_engine_default_aescbc.c ssl_engine_default_aesccm.c ssl_engine_default_aesgcm.c ssl_engine_default_chapol.c ssl_engine_default_ec.c ssl_engine_default_ecdsa.c ssl_engine_default_rsavrfy.c ssl_hashes.c ssl_hs_client.c ssl_io.c ssl_rec_cbc.c ssl_rec_ccm.c ssl_rec_chapol.c ssl_rec_gcm.c x509_minimal.c x509_minimal_full.c
CAPABILITY NetworkServices ReadUserData UserEnvironment WriteUserData
EPOCSTACKSIZE 0x14000
EPOCHEAPSIZE 0x80000 0x4000000
#ifdef _DEBUG
DEBUGGABLE_UDEBONLY
SRCDBG
#endif

View File

@@ -0,0 +1,18 @@
TARGET ClassiCube_s60v3.exe
ARMFPU softvfp
LIBRARY libgles_cm.lib
SOURCEPATH .
START RESOURCE classicube.rss
HEADER
TARGETPATH \resource\apps
LANG SC
END
START RESOURCE classicube_reg.rss
TARGETPATH \private\10003a3f\import\apps
END
#include "ClassiCube_common.mmh"

View File

@@ -0,0 +1,24 @@
TARGET ClassiCube_s60v5.exe
MACRO CC_BUILD_SYMBIAN_S60V5
ARMFPU softvfp
#ifdef ARMCC
ALWAYS_BUILD_AS_ARM
#endif
LIBRARY libgles_cm.lib
SOURCEPATH .
START RESOURCE classicube.rss
HEADER
TARGETPATH \resource\apps
LANG SC
END
START RESOURCE classicube_reg.rss
TARGETPATH \private\10003a3f\import\apps
END
#include "ClassiCube_common.mmh"

View File

@@ -0,0 +1,26 @@
TARGET ClassiCube_sym3.exe
MACRO CC_BUILD_SYMBIAN_3
MACRO CC_BUILD_SYMBIAN_LIBGLESV2
ARMFPU vfpv2
#ifdef ARMCC
ALWAYS_BUILD_AS_ARM
#endif
LIBRARY libglesv2.lib
LIBRARY libegl.lib
SOURCEPATH .
START RESOURCE classicube.rss
HEADER
TARGETPATH \resource\apps
LANG SC
END
START RESOURCE classicube_reg.rss
TARGETPATH \private\10003a3f\import\apps
END
#include "ClassiCube_common.mmh"

View File

@@ -0,0 +1,47 @@
ifeq (WINS,$(findstring WINS, $(PLATFORM)))
ZDIR=$(EPOCROOT)epoc32\release\$(PLATFORM)\$(CFG)\Z
else
ZDIR=$(EPOCROOT)epoc32\data\z
endif
TARGETDIR=$(ZDIR)\resource\apps
ICONTARGETFILENAME=$(TARGETDIR)\classicube_icon.mif
ICONDIR=.
do_nothing :
@rem do_nothing
MAKMAKE : do_nothing
BLD : do_nothing
CLEAN :
@echo ...Deleting $(ICONTARGETFILENAME)
del /q /f $(ICONTARGETFILENAME)
LIB : do_nothing
CLEANLIB : do_nothing
# ----------------------------------------------------------------------------
# NOTE: if you have JUSTINTIME enabled for your S60 3rd FP1 or newer SDK
# and this command crashes, consider adding "/X" to the command line.
# See <http://forum.nokia.com/document/Forum_Nokia_Technical_Library_v1_35/contents/FNTL/Build_process_fails_at_mif_file_creation_in_S60_3rd_Ed_FP1_SDK.htm>
# ----------------------------------------------------------------------------
RESOURCE : $(ICONTARGETFILENAME)
$(ICONTARGETFILENAME) : $(ICONDIR)\qgn_menu_classicube.svg
mifconv $(ICONTARGETFILENAME) \
/c32 $(ICONDIR)\qgn_menu_classicube.svg
FREEZE : do_nothing
SAVESPACE : do_nothing
RELEASABLES :
@echo $(ICONTARGETFILENAME)
FINAL : do_nothing

8
misc/symbian/bld.inf Normal file
View File

@@ -0,0 +1,8 @@
PRJ_PLATFORMS
DEFAULT
PRJ_MMPFILES
gnumakefile Icons_scalable_dc.mk
ClassiCube_sym3.mmp
ClassiCube_s60v5.mmp
ClassiCube_s60v3.mmp

View File

@@ -0,0 +1,24 @@
NAME CUBE
#include <eikon.rh>
#include <avkon.rsg>
#include <avkon.rh>
#include <avkon.mbg>
#include <appinfo.rh>
RESOURCE RSS_SIGNATURE { }
RESOURCE TBUF { buf="ClassiCube"; }
rls_string STRING_app_caption_string "ClassiCube"
rls_string STRING_app_short_caption_string "ClassiCube"
RESOURCE LOCALISABLE_APP_INFO r_ClassiCube_localisable_app_info
{
short_caption = STRING_app_short_caption_string;
caption_and_icon = CAPTION_AND_ICON_INFO
{
caption = STRING_app_caption_string;
number_of_icons = 1;
icon_file = "\\resource\\apps\\classicube_icon.mif";
};
}

View File

@@ -0,0 +1,17 @@
#include <appinfo.rh>
#include <classicube.rsg>
UID2 KUidAppRegistrationResourceFile
UID3 0xE212A5C2
RESOURCE APP_REGISTRATION_INFO
{
app_file="ClassiCube";
localisable_resource_file="\\resource\\apps\\classicube";
localisable_resource_id=R_CLASSICUBE_LOCALISABLE_APP_INFO;
embeddability=KAppNotEmbeddable;
newfile=KAppDoesNotSupportNewFile;
}

View File

@@ -0,0 +1 @@
OpenC version 1.5 or later is required for installation.

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="100%" height="100%" version="1.1" viewBox="0 0 88 88" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<path d="m8.6441 64.121v-40.242c11.799-6.762 23.599-13.524 35.398-20.286 11.771 6.762 23.543 13.524 35.314 20.286v40.242c-11.771 6.762-23.543 13.524-35.314 20.286-11.799-6.762-23.599-13.524-35.398-20.286z" fill="#f6f6f6" stroke="#000" stroke-width="2.5254"/>
<path d="m43.242 43.589c11.615-6.329 23.229-12.658 34.844-18.987 0.17061 13.036 0.34123 26.072 0.51184 39.108-11.52 6.4137-23.039 12.827-34.559 19.241-0.26561-13.121-0.53123-26.241-0.79684-39.362zm6.4887 29.498c9.148-2.1355 17.3-7.5418 23.918-14.079 2.7409-3.4291-4.301-0.72803-5.9376-0.4517-0.20872-3.5138 0.79405-7.3219 1.0902-10.957 0.49356-3.7678 0.9984-7.5342 1.444-11.308-6.8805-0.31126-12.924 4.2171-17.523 8.8664-2.1717 2.9619 0.65966 7.2913 0.54964 10.869 0.8233 2.4955 0.21876 7.281 2.0147 8.2719 3.4806-0.47883 7.7111-4.7265 10.08-4.3993-2.7336 3.4438-7.1559 4.7844-10.984 6.537-1.8594 1.7557-6.9131 4.503-5.9665 6.7361l0.74082-0.03487z" fill="#cbcbcb" stroke-width=".082874"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

15
misc/symbian/readme.md Normal file
View File

@@ -0,0 +1,15 @@
Compiling with Carbide C++
- File > Import... > Symbian OS > Symbian OS Bld.inf file
- Locate `misc\symbian\bld.inf`, select `SBSv2` builder, Next.
- Under `Nokia_Symbian3_SDK_v1.0`, select targets with `armv5_urel_gcce` and `armv5_urel` (second only if you have RVCT), Next.
- Select All, Next, Finish.
- Go to project properties, Carbide.c++>Build Configurations, select correct configuration
(e.g: `Phone Release (armv5_urel_gcce) [Nokia_Symbian3_SDK_v1.0]`).
- In SIS Builder tab, click Add.
- In PKG File drop down list, select `misc\symbian\ClassiCube.pkg`.
- Check `Don't sign sis file`, click OK.
- Apply and close properties.
- Project > Build
(Based off comments from https://github.com/ClassiCube/ClassiCube/pull/1360)