Merge pull request #1381 from shinovon/eikon-2

Symbian: rewrite to eikon framework
This commit is contained in:
UnknownShadow200 2025-07-12 08:18:01 +10:00 committed by GitHub
commit 085d4979ca
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
15 changed files with 652 additions and 522 deletions

View File

@ -0,0 +1,46 @@
TARGETTYPE exe
UID 0x100039CE 0xE212A5C2
USERINCLUDE ../../src
USERINCLUDE ../../src/freetype
LIBRARY euser.lib
LIBRARY apgrfx.lib
LIBRARY cone.lib
LIBRARY avkon.lib
LIBRARY fbscli.lib
LIBRARY ws32.lib
LIBRARY hal.lib
LIBRARY efsrv.lib
LIBRARY apparc.lib
LIBRARY eikcore.lib
LIBRARY eikdlg.lib
LIBRARY mediaclientaudiostream.lib
LIBRARY libc.lib
LIBRARY libm.lib
LIBRARY libdl.lib
LIBRARY libpthread.lib
STATICLIBRARY ClassiCube_bearssl.lib
SOURCEPATH ../../src
SOURCE Animations.c Audio.c Audio_Null.c AxisLinesRenderer.c Bitmap.c Block.c BlockPhysics.c Builder.c Camera.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_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 Certs.c
SOURCEPATH .
START RESOURCE classicube.rss
HEADER
TARGETPATH \resource\apps
LANG SC
END
START RESOURCE classicube_reg.rss
TARGETPATH \private\10003a3f\import\apps
END
CAPABILITY NetworkServices ReadUserData UserEnvironment WriteUserData
EPOCSTACKSIZE 0x14000
EPOCHEAPSIZE 0x80000 0x4000000
#include "common.mmh"

View File

@ -15,7 +15,7 @@ IF( version(0x20009a80, <, 1, 5, 0) ) AND NOT (EXISTS("Z:\sys\bin\libc.dll") OR
ENDIF
IF exists("z:\system\install\Series60v5.2.sis") ; Symbian^3
"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\ClassiCube_sym3.exe" - "!:\sys\bin\ClassiCube.exe"
"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\ClassiCube.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"

View File

@ -1,59 +0,0 @@
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
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_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
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

@ -4,15 +4,4 @@ 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"
#include "ClassiCube.mmh"

View File

@ -10,15 +10,4 @@ ALWAYS_BUILD_AS_ARM
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"
#include "ClassiCube.mmh"

View File

@ -1,4 +1,4 @@
TARGET ClassiCube_sym3.exe
TARGET ClassiCube.exe
MACRO CC_BUILD_SYMBIAN_3
MACRO CC_BUILD_SYMBIAN_LIBGLESV2
@ -12,15 +12,4 @@ ALWAYS_BUILD_AS_ARM
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"
#include "ClassiCube.mmh"

10
misc/symbian/bearssl.mmp Normal file
View File

@ -0,0 +1,10 @@
TARGETTYPE LIB
TARGET ClassiCube_bearssl.lib
USERINCLUDE ../../third_party/bearssl/inc
USERINCLUDE ../../third_party/bearssl/src
SOURCEPATH ../../third_party/bearssl
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 aes_x86ni.c aes_x86ni_cbcdec.c aes_x86ni_cbcenc.c aes_x86ni_ctr.c aes_x86ni_ctrcbc.c aesctr_drbg.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 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 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 enc32be.c enc32le.c enc64be.c enc64le.c gcm.c ghash_ctmul.c ghash_ctmul64.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_modpow.c i31_modpow2.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
#include "common.mmh"

View File

@ -3,6 +3,7 @@ DEFAULT
PRJ_MMPFILES
gnumakefile Icons_scalable_dc.mk
bearssl.mmp
ClassiCube_sym3.mmp
ClassiCube_s60v5.mmp
ClassiCube_s60v3.mmp

View File

@ -9,6 +9,8 @@ NAME CUBE
RESOURCE RSS_SIGNATURE { }
RESOURCE TBUF { buf="ClassiCube"; }
RESOURCE EIK_APP_INFO { }
rls_string STRING_app_caption_string "ClassiCube"
rls_string STRING_app_short_caption_string "ClassiCube"

30
misc/symbian/common.mmh Normal file
View File

@ -0,0 +1,30 @@
MACRO SYMBIAN_OE_POSIX_SIGNALS
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 .
USERINCLUDE ../../third_party/bearssl/inc
USERINCLUDE ../../third_party/bearssl/src
#ifdef ARMCC
OPTION ARMCC -Otime --diag_suppress 1296 --diag_suppress 1293 --diag_suppress 66
#ifndef ARMV5
OPTION_REPLACE ARMCC --cpu 6
OPTION_REPLACE ARMCC --fpu softvfp+vfpv2 --fpmode fast
OPTION_REPLACE ARMCC -O2 -O3
#endif
#endif
DEBUGGABLE_UDEBONLY
#ifdef _DEBUG
SRCDBG
#endif

View File

@ -378,7 +378,7 @@ static void OnInit(void) {
#ifdef CC_BUILD_WIN
Camera.Sensitivity = Options_GetInt(OPT_SENSITIVITY, 1, 200, 40);
#elif defined CC_BUILD_SYMBIAN && defined CC_BUILD_TOUCH
#elif defined CC_BUILD_SYMBIAN_3 || defined CC_BUILD_SYMBIAN_S60V5
Camera.Sensitivity = Options_GetInt(OPT_SENSITIVITY, 1, 200, 70);
#else
Camera.Sensitivity = Options_GetInt(OPT_SENSITIVITY, 1, 200, 30);

View File

@ -607,6 +607,8 @@ typedef cc_uint8 cc_bool;
#define CC_BUILD_EGL
#define CC_BUILD_MAXSTACK (16 * 1024)
#define CC_BUILD_LOWMEM
#define CC_BUILD_TOUCH
#define CC_NOMAIN
#define DEFAULT_NET_BACKEND CC_NET_BACKEND_BUILTIN
#define DEFAULT_SSL_BACKEND CC_SSL_BACKEND_BEARSSL
@ -615,9 +617,6 @@ typedef cc_uint8 cc_bool;
#else
#define DEFAULT_GFX_BACKEND CC_GFX_BACKEND_GL1
#endif
#if defined CC_BUILD_SYMBIAN_3 || defined CC_BUILD_SYMBIAN_S60V5
#define CC_BUILD_TOUCH
#endif
#endif
#endif

View File

@ -124,7 +124,7 @@ static void LoadOptions(void) {
Gui.ShowFPS = Options_GetBool(OPT_SHOW_FPS, true);
Gui.RawInventoryScale = Options_GetFloat(OPT_INVENTORY_SCALE, 0.25f, 5.0f, 1.0f);
#if defined CC_BUILD_SYMBIAN && defined CC_BUILD_TOUCH
#if defined CC_BUILD_SYMBIAN_3 || defined CC_BUILD_SYMBIAN_S60V5
Gui.RawHotbarScale = Options_GetFloat(OPT_HOTBAR_SCALE, 0.25f, 5.0f, 2.0f);
#else
Gui.RawHotbarScale = Options_GetFloat(OPT_HOTBAR_SCALE, 0.25f, 5.0f, 1.0f);

View File

@ -55,24 +55,6 @@ const char* Platform_AppNameSuffix = "";
cc_uint8 Platform_Flags = PLAT_FLAG_SINGLE_PROCESS | PLAT_FLAG_APP_EXIT;
cc_bool Platform_ReadonlyFilesystem;
/*########################################################################################################################*
*-----------------------------------------------------Main entrypoint-----------------------------------------------------*
*#########################################################################################################################*/
#include "main_impl.h"
int main(int argc, char** argv) {
cc_result res;
SetupProgram(argc, argv);
do {
res = RunProgram(argc, argv);
} while (Window_Main.Exists);
Window_Free();
Process_Exit(res);
return res;
}
/*########################################################################################################################*
*---------------------------------------------------------Memory----------------------------------------------------------*

File diff suppressed because it is too large Load Diff