diff --git a/README.md b/README.md index 6aa9517..83d7686 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # re3-symbian -Work-in-progress port of GTA III for Symbian devices. +Work-in-progress port of GTA III for Symbian devices.\ +Supports S60 3rd Edition FP1, S60 5th edition Symbian^3 and later. Based on re3, uses some code from [Dreamcast](https://gitlab.com/skmp/dca3-game) and [Vita](https://github.com/Rinnegatamante/librw-vita) ports. @@ -8,13 +9,6 @@ Based on re3, uses some code from [Dreamcast](https://gitlab.com/skmp/dca3-game) See [TODO.md](/TODO.md) for more details on project state. -## Device requirements - -- S60 3rd Edition FP1, S60 5th Edition (non-Nokia), Symbian^3 or later -- GPU -- 128 MB RAM with at least 50 MB free (won't run on regular 64 MB N95 unless you disable all textures) -- Functional E: drive with 400 MB of free space (will be more as it'll start to support audio) - Tested devices: - Belle with BCM2763 (700) - GLES 2.0 - Anna/Belle with BCM2727 (E7, N8, E6) - GLES 2.0 diff --git a/TODO.md b/TODO.md index c78f917..3b2cf5f 100644 --- a/TODO.md +++ b/TODO.md @@ -10,7 +10,7 @@ Common: - [x] Merge S60v3 and ^3 branches - [ ] Simplify geometry - [ ] Move map to top left corner -- [ ] Too many draw calls +- [ ] Do something with sprites, they're still taking too much frame time - [ ] Audio GLES 2.0 specific: @@ -22,8 +22,7 @@ GLES 2.0 specific: - [x] Skinning shader is still broken on VC4 - [ ] Optimize to always run 20+ fps - [ ] Use etc1 compression -- [ ] HUD still disappearing sometimes on VC3 -- [ ] Effects are slowing the render on VC4 +- [ ] HUD still disappearing sometimes GLES 1.1 specific: - [x] Backport to STLport v4 @@ -36,6 +35,6 @@ GLES 1.1 specific: - [ ] Fix lighting Issues: -- [ ] Fix crash in Texture::destroy on exit +- [x] Fix crash in Texture::destroy on exit - [x] Save menu is too slow - [x] Crash when picking up a bat diff --git a/group/librw.mmh b/group/librw.mmh index 2276d21..b38f518 100644 --- a/group/librw.mmh +++ b/group/librw.mmh @@ -25,4 +25,4 @@ SOURCEPATH ../vendor/librw/src/ps2 SOURCE pds.cpp ps2.cpp ps2device.cpp ps2matfx.cpp ps2raster.cpp ps2skin.cpp SOURCEPATH ../vendor/librw/src SOURCE raster.cpp render.cpp skin.cpp texture.cpp tga.cpp tristrip.cpp userdata.cpp uvanim.cpp world.cpp -SOURCE assert.cpp printf_stub.c +SOURCE assert.cpp diff --git a/sis/re3.pkg b/sis/re3.pkg index 4b38c53..9374b6b 100644 --- a/sis/re3.pkg +++ b/sis/re3.pkg @@ -7,7 +7,7 @@ %{"nnproject"} :"nnproject" -IF (NOT package(0x20009A80)) OR (NOT package(0x2002372A)) OR (NOT package(0x10282872)) ; old or missing openc +IF (NOT package(0x20009A80)) OR (NOT package(0x2002372A)) ; old or missing openc "incompatible_openc.txt"-"", FT, FORCEABORT ENDIF diff --git a/src/skel/symbian/symbian.cpp b/src/skel/symbian/symbian.cpp index a07a202..b8f38ae 100644 --- a/src/skel/symbian/symbian.cpp +++ b/src/skel/symbian/symbian.cpp @@ -96,7 +96,6 @@ static bool spinning; bool qwerty; bool touch; bool moreVram; -bool powervr; void _InputTranslateShiftKeyUpDown(RsKeyCodes *rs) { } @@ -575,17 +574,6 @@ public: eglMakeCurrent(eglDisplay, eglSurface, eglSurface, eglContext); - const char* renderer = (const char *)glGetString(GL_RENDERER); - if (strstr(renderer, "MBX") || strstr(renderer, "SGX")) { - // use pvrtc - powervr = true; - } else if (strstr(renderer, "VideoCore")) { - // use etc1 - } else { - User::Leave(KErrNotSupported); - return; - } - setlocale(LC_ALL, ""); setlocale(LC_CTYPE, "C"); setlocale(LC_COLLATE, "C"); diff --git a/vendor/librw/src/gl/gl3shader.cpp b/vendor/librw/src/gl/gl3shader.cpp index c217a85..5e37304 100644 --- a/vendor/librw/src/gl/gl3shader.cpp +++ b/vendor/librw/src/gl/gl3shader.cpp @@ -189,13 +189,8 @@ compileshader(GLenum type, const char **src, GLuint *shader) glShaderSource(shdr, n, src, nil); glCompileShader(shdr); glGetShaderiv(shdr, GL_COMPILE_STATUS, &success); -#ifdef _DEBUG printShaderSource(src); -#endif if(!success){ -#ifndef _DEBUG - printShaderSource(src); -#endif fprintf(stderr, "Error in %s shader\n", type == GL_VERTEX_SHADER ? "vertex" : "fragment"); glGetShaderiv(shdr, GL_INFO_LOG_LENGTH, &len); diff --git a/vendor/librw/src/printf_stub.c b/vendor/librw/src/printf_stub.c deleted file mode 100644 index 04df7e5..0000000 --- a/vendor/librw/src/printf_stub.c +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef _DEBUG -#include - -int printf(const char * __restrict s, ...) { - return 0; -} - -int puts(const char *s) { - return 0; -} -#endif