HTC Cube OpenGL (SCLPC++ 0-051)(Coded from scratch in C++)

Status
Not open for further replies.

Slither2006

Senior Member
May 19, 2007
548
205
0
37
The Outback
Latest Update : FULLY FUNCTIONAL CUBE NOW, BOTH WM2003 & WM05/06 SUPPORTED!!!

Program Title: SCLPC++
Recent Version : 0-051
Purpose : A unique Cube Launcher coded in C++ and using the EdgeLib framework library that uses OpenGL also.
Author : Slither2006
Graphics: PoorlyDuck
Start Date : 5th January, 2008


==============================================================
Re-write in flavours of QVGA & VGA coming soon!
__________________
Regards,

Slither2006.

==============================================================


..........Navigate Cube .......................Add Contact ...................Remove Contact........


A Word from the Author:

Hi Guys,

I hope you will enjoy using this software. For the young budding software developers who need to be pointed in the right direction. Note that this cube uses the following API's :

- MAPI
- TAPI
- POOM Both C++ and C#
- EdgeLib Framework

I used MSDN2 examples and many internet articles to become more familiar with C++. I also referred to the Edgelib Library Reference to make the most use of it. The cube is made of 5 3D Models, NOT 1. Each face is a 3D Model and they all move in unison to appear as a solid cube. If I hadn't mentioned that you would have never known the visual difference. Each face has 4 vertices and is made of 2 polygons each. The polygons are made up buy 3 vertices. Using the Normals will determine in which direction the 3D Model menu will face...ie. outside the cube or inside. I created a GIANORMOUS Input function that detects screen swipes and screen taps. When dealing with different modules like accessing contacts numbers I made sure that they were in their own function to reduce code ambiguity.

This program took 1 month to make from start to finish and contains over 3000 lines of code....not your typical hello world app hey?...lolol.

Best wishes to all that supported the project and hope to wow you again soon!

Regards,

Slither2006.
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------


Downloads :


Mirrors :

Honours :

Showcased on the Official Edgelib Site!!!

Video Showcase :

User Videos :
Jamilu007's Video Demonstration (Jamilu007 Kindly took the liberty of recording a little demo of what SCLPC++ 3D 0-051 can look like if you customize it the way you want like he has done.)​


ChangeLog:



Know Issues:

Bugs Found:


  • Background Picture bleeding on some applications that open.
  • The WHOLE SCLPC++ Folder MUST be placed here : /Application Data/SCLPC++ or adding a contact WILL NOT WORK!
  • Because of an absolute path in the cube it must be stored on the device not on a SD card....although you can configure it on the Device then transfer it to your SD card and it has been reported to work this way.
  • Start Menu disappears when a program is not specified in the ProgramList.ini i.e. MainAppPath1 = "" (BUG FIXED)
  • Contact Pics only show a partly filled contact face button when choosing a contact that has an Outlook contact picture....contact contact...lolol. (BUG FIXED)
  • Can't easily specify to open a specific folder to open in file explorer using the cube. (BUG FIXED)
  • Slight size/scalse distortion on the first and last frame of ALL animations. (BUG FIXED)
  • Rotation Animation starts after the cube zooms out. (BUG FIXED)
  • SCLPC++ opens up multiple instances of itself on some devices. Please post which devices guys.


Still Left ToDo:


  • Compile this with the Full Edgelib Library!!!


Supported Devices List:


  • Wizard G3
  • Hermes
  • Trinity / HTC 3600
  • HTC 3600i (my device) WM6
  • Kaiser with WM6.1
  • Atom O2 Flame WM5 & WM6
  • xv6700 WM6.1
  • xv6800 WM6.1
  • Kaiser WM6
  • mio a701 wm5
  • If it works on your device 100% then let me know so I can narrow down the bugs for other users.



Problems with these Devices:


  • LG so far
  • All VGA devices
  • All 240x240 devices

---------------------------------------------------------------------------------------------------

If you appreciate the time and effort I've put into making this free application exclusive to XDA users then please feel free to donate for that reason only by clicking here


A BIG Thankyou to those who have donated so far!!! :D

For a comparison of other cubes then click here.
 
Last edited:

bisteka

Member
Dec 14, 2007
9
0
0
Hi guys,

I am new in these forum and not used to post a thread.
but i have been following the his great job for a while in this forum.
And enjoy a lot Slither2006 cube.

Lets help him to make a another new great cube. :D

Kang.
 

elgreek84

Senior Member
Jul 6, 2007
176
0
0
Hey Slither, I see you're at it again. Could you give us some idea how this Cube will be different/comparable to the HTC Cube by Kona_mtbkr, or the advantages/disadvantages of this cube over your flash cube?
 

sim2dread

Senior Member
Nov 17, 2007
124
0
0
Thanks for your answer on the other forum.
I keep checking to see if the WM6 Version is uploaded.
I will also donate to the project.
 

galenmd

Senior Member
Nov 4, 2007
150
0
0
Donated (again)!

Slither, I am a little confused by your To Do list (particularly the Launch feature). Is this cube functional at it's current state, or is it just for show?
 

sim2dread

Senior Member
Nov 17, 2007
124
0
0
Donated (again)!

Slither, I am a little confused by your To Do list (particularly the Launch feature). Is this cube functional at it's current state, or is it just for show?
This is not to answer your questions I would just want to outline what seem to work on mine and join you in asking for clarification.
I saw it as a Demo and the only functions it allows me is open/close/minimize/rotate.
I am guessing that without an available .INI/.Txt or ConfigTool there is no way to get it to do other stuff right?
 

Slither2006

Senior Member
May 19, 2007
548
205
0
37
The Outback
HTC Cube(Kona) vs SCLPF vs SCLPC++

Hi Guys,

Thanks for your support!!!! At the moment the cube will NOT open or launch any programs. However I will update this very shortly as I also want to make this cube more usable quickly. So far the SCLPC++ beta 0-01 is just to show you the power and speed I'm getting from EdgeLib's framework and to hopefully convince guys that it is worth the donation.

HTC Cube Original (Kona's version) Vs. SCLPF Vs. SCLPC++

I'll first start with :

Similarities
  • Animations are identical (SCLPF has a few more)
  • Functionality is identical (SCLPF has additional functionality)

Speed
  • SCLPF and HTC Original is slower than SCLPC++ with rotation animation
  • SCLPF must load from Flash Player and have Flash Player running in the background
  • SCLPC++ takes 2 secs on a 400 /500mhz device to load
  • SCLPC++ minimize and restore are INSTANT
  • SCLPC++ animations are INCREDIBLY SMOOTH AND FAST! So fast I had to cut the framerate to half down to 30fps.
  • HTC Original Cube is instant on open animation

Stability & Compatibility
  • SCLPC++ is compatible on WM2003, WM05, WM06
  • SCLPF is compatible on WM05, WM06
  • HTC Cube is compatible on WM05, WM06 (not sure of WM2003)
  • SCLPC++ will be close as close to 99.9% stable as I can get it
  • SCLPF is 99% stable provided some assumptions are made regarding the device it is installed on.
  • HTC Original Cube input detection can be bad some times.

Eye Candy
  • All interfaces are nearly identical except for SCLPF which has more menus
  • HTC Original Cube has a fade in and out effect over the top of the today screen
  • SCLPC++ will have some additional eye candy depending on EdgeLib's forum support

Features
  • SCLPF has 2 additional menus and it's own Confuration Application plus many more!
  • SCLPC++ will try to stay true to the HTC Cube's original features.
  • HTC Cube has it's own Configuration Settings and an Audio Manager Plugin

Conclusion
  • SCLPF has many useful features but lacks speed due to the fact it runs off the Flash Lite Player 2.1 which also provides many programming boundaries.
  • HTC Cube Original is useful but is marginally slower on high powered devices.
  • SCLPC++ Will be faster than all cubes and will hopefully be as close a clone to the HTC Cube Original.
 
Last edited:

tsaurus

Member
Apr 19, 2007
33
0
0
Hey all,

I'm certainly impressed by this demo, esp with its speed and smoothness. I've recently looked at a touch dual and demo'd the original cube and it was very good.

I don't know why no one mentions this, but I am sure the HTC Cube by Kona_mtbkr is alot slower and chuggier than the original cube?

This one is very good perfect and is as fast as the original...
 

Slither2006

Senior Member
May 19, 2007
548
205
0
37
The Outback
Hi tsaurus!

Thanks for your results! I have also heard from another user say that the HTC Dual's cube ran fast as well. When I tested the Kona cube I was impressed it was hacked to work on all devices but very dissappointed in the speed. I'm definitely happy with the SCLPC++ speed.

Hi Guys,

Here's a breakthrough, for me anyway, since I'm new to C++ PPC programming I have found how to execute a program from within your program. This means i will get all buttons launching programs VERY SOON!! :D I first want to create a buttons class that will keep track of each menus button characteristics or properties.

Since this is a community I am happy to share the code that launches another program from within C++ :

Code:
//This is a ShellExecute Information structure object, it holds 
//the path of the file to execute and other options/parameters 
//declare this as a member variable of your class.
SHELLEXECUTEINFO ShExecInfo;

//Now place this following code either in your Initialization 
//part of your code (when it first starts). 
//Just change the lpFile and lpDirectory object variables to change 
//which program you wish to start or in your function.
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
        ShExecInfo.fMask = NULL;
        ShExecInfo.hwnd = NULL;
        ShExecInfo.lpVerb = NULL;
        ShExecInfo.lpFile = _T("BubbleBreaker.exe");
        ShExecInfo.lpParameters = NULL;
        ShExecInfo.lpDirectory = _T("/Windows/");
        ShExecInfo.nShow = SW_MAXIMIZE;
        ShExecInfo.hInstApp = NULL;


//Place this in response to a user input/function/event etc....

void SlithersClass::MyFunction(void)
{
        ShellExecuteEx(&ShExecInfo);
}
I wrote this example myself and it will open Bubble breaker once the "ShellExecuteEx(&ShExecInfo);" function is called. This can be very useful for those who wish to make their own GUI launchers.


Update soon!
 
Last edited:
apps page

Being built in C++ will SCLPC have a configurable apps page, will there be an option for more pages than the original 3 (or 4) I know with SCLPF you had be considering the option of essentially unlimited pages (status pages, additonal contacts etc), is this possible with C++ (even a 4 app page would be great though). Anyway keep up the great work Slither!
 

Slither2006

Senior Member
May 19, 2007
548
205
0
37
The Outback
Hey Aaron,

With SCLPC++ it loads the PNG file of all the required animations on startup. Minimze and Restore doesn't load or unload this png(although I'll try and get it to in the future to reduce memory consumption when minimized)....This is the main reason for the 2.28mb memory overhead. I'm thinking of splitting the PNG into 3 strips of animations. i.e. one for Main one for Music and one for contacts. I would then only load the Music one when the cube loads up. When the user slides left or right I'd get it to unload the music png and load the appropriate png and start the animation. If this dynamic loading of menus and animations works good on slow devices then yes unlimited menus is definitely a possibility. I will definitely make a fourth menu page but this time I will wait until the the 3 sided version is finished first as i know there are a lot of patriots for the classic version. After the 4th menu page I'll make a today screen that looks identical to the Home plugin but without the Taskbar or Softkey bars. This way when you open the cube you will be able to slide to the today screen and just leave it there without having to close the cube...this will not only remove the need for having FTouchFlo start up the cube but would allow me to apply future today screen to the updown motion when in the cube so you don't have to rotate to the today screen....my thoughts are a bit jumbled but the end result is a less fiddley interface...lolol. The project may be finished sooner than I thought...lolol

Regards,

Slither2006.
 
Hey Aaron,

With SCLPC++ it loads the PNG file of all the required animations on startup. Minimze and Restore doesn't load or unload this png(although I'll try and get it to in the future to reduce memory consumption when minimized)....This is the main reason for the 2.28mb memory overhead. I'm thinking of splitting the PNG into 3 strips of animations. i.e. one for Main one for Music and one for contacts. I would then only load the Music one when the cube loads up. When the user slides left or right I'd get it to unload the music png and load the appropriate png and start the animation. If this dynamic loading of menus and animations works good on slow devices then yes unlimited menus is definitely a possibility. I will definitely make a fourth menu page but this time I will wait until the the 3 sided version is finished first as i know there are a lot of patriots for the classic version. After the 4th menu page I'll make a today screen that looks identical to the Home plugin but without the Taskbar or Softkey bars. This way when you open the cube you will be able to slide to the today screen and just leave it there without having to close the cube...this will not only remove the need for having FTouchFlo start up the cube but would allow me to apply future today screen to the updown motion when in the cube so you don't have to rotate to the today screen....my thoughts are a bit jumbled but the end result is a less fiddley interface...lolol. The project may be finished sooner than I thought...lolol

Regards,

Slither2006.
Kick ass, seriously that will be so kick ass, have you tried to contact htc, they need to put you on staff.
 
Status
Not open for further replies.