Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

AppGameKit Classic Chat / 3D Exporters for AGK 3D file format

Author
Message
Dar13
16
Years of Service
User Offline
Joined: 12th May 2008
Location: Microsoft VisualStudio 2010 Professional
Posted: 18th Aug 2012 05:11
@Paul Johnston
I knew something slipped by in all that mess.

Here's the updated script, should fix all the issues.
Replace the code within d13_modelConverter.py with the following:


bitJericho
22
Years of Service
User Offline
Joined: 9th Oct 2002
Location: United States
Posted: 19th Aug 2012 18:59
Ok, so what about smoothing groups and separate meshes.

I propose a having a new branch just under Object called Mesh, and under mesh is all the info for that particular mesh.

Under Object, have a section called smoothing groups, and each triangle assigned an ID.

Dar13
16
Years of Service
User Offline
Joined: 12th May 2008
Location: Microsoft VisualStudio 2010 Professional
Posted: 19th Aug 2012 20:02
Quote: "I propose a having a new branch just under Object called Mesh, and under mesh is all the info for that particular mesh."

That shouldn't be too hard to do using Assimp, as it reads the groups in MS3D as different meshes. In my script, I actually have to iterate over all the meshes in order to get all the vertices and indices for the entire object.

Paul Johnston
TGC Developer
22
Years of Service
User Offline
Joined: 16th Nov 2002
Location: United Kingdom
Posted: 20th Aug 2012 01:50
Quote: "so what about smoothing groups"


This should only need to be known if the model needs to be re-smoothed, which I don't think AppGameKit needs to do, the normals should be smoothed in the modelling program and then exported.

Quote: "and separate meshes"


If the meshes all share the same texture and transformation matrix (the meshes don't move relative to one another) then they should all be combined into a single object with one set of vertices. This allows the object to be drawn as a single draw call making it as fast as possible on mobile devices. If the meshes don't share textures then they need to be split into multiple objects. I'm still debating on how this should work myself, but I think it should take the form of nested objects, such as

The position and rotation of the second mesh is relative to the first so you can do DBPro style limbed objects, and objects can contain any number of nested objects. Of course if you are only using it for multiple texture purposes then the position and rotation can always remain at 0. For mobile devices I would recommend packing a model into as few objects as possible to reduce draw calls.
SoftMotion3D
AGK Developer
19
Years of Service
User Offline
Joined: 24th Aug 2005
Location: Calgary,Alberta
Posted: 20th Aug 2012 03:37
i say these are the best formats: .x, .3ds

Both of these 2 formats are supported from every good editor out there. They both handle animations.....nuff said.

bitJericho
22
Years of Service
User Offline
Joined: 9th Oct 2002
Location: United States
Posted: 20th Aug 2012 12:04
Sounds good to me Paul. I don't see any problems with that.

The Daddy
15
Years of Service
User Offline
Joined: 13th Jan 2009
Location: Essex
Posted: 30th Aug 2012 20:19
Does COLLADA support animation? Not sure but COLLADA is a good XML standard and plays well with most creation / editing tools.

Just read this:
COLLADA Document Object Model (COLLADA DOM) is an application programming interface (API) that provides a C++ object representation of a COLLADA XML instance document.

And this :
COLLADA™ defines an XML-based schema to make it easy to transport 3D assets between applications - enabling diverse 3D authoring and content processing tools to be combined into a production pipeline. The intermediate language provides comprehensive encoding of visual scenes including: geometry, shaders and effects, physics, animation, kinematics, and even multiple version representations of the same asset.COLLADA FX enables leading 3D authoring tools to work effectively together to create shader and effects applications and assets to be authored and packaged using OpenGL® Shading Language, Cg, CgFX, and DirectX® FX

Seems to have it all!

Constantly seeking!
Clonkex
Forum Vice President
14
Years of Service
User Offline
Joined: 20th May 2010
Location: Northern Tablelands, NSW, Australia
Posted: 29th Sep 2012 12:38
I haven't read through the entire thread (it's 3 pages long) but I read a bit.

I vote that TGC should create their own proprietary format and the AppGameKit should support this initially. It should be similar to DBO, as small as possible (memory-wise), allow both static and animated meshes (I do NOT like the idea of one format for static and one for animated), and support as many other features that I can't think of as is possible.

HOWEVER

I also vote that TGC should add post-3D-release support for other formats, such as .OBJ, .3DS and, most importantly (as it's my favourite format ever), .X. If the AppGameKit is to surpass DBPro, it's absolutely vital that TGC adds as many features into the AppGameKit as are in DBPro. DBPro still has far superior file handling commands (AGK's file commands are completely useless, what with that stupid idea of multiple read locations).

Clonkex

Hodgey
15
Years of Service
User Offline
Joined: 10th Oct 2009
Location: Australia
Posted: 29th Sep 2012 23:22
Quote: "AGK's file commands are completely useless, what with that stupid idea of multiple read locations"

I think it has to do with other platforms, namely iOS. On iOS, your app isn't allowed to access files from other apps and so there is a 'special' place were you must write your files to. To make the commands universal, TGC had to do something similar on windows.

Clonkex
Forum Vice President
14
Years of Service
User Offline
Joined: 20th May 2010
Location: Northern Tablelands, NSW, Australia
Posted: 30th Sep 2012 04:37 Edited at: 30th Sep 2012 04:40
@Hodgey:

Oh yes, I understand that, but, simply put, they could have done it a lot better. If it were me, I would have created a universal command which would work on any platform. It would set the current read AND write location, starting in the sandbox directory specific to the platform and not allowing absolute filenames. Then, I would create a non-universal command for use on PC and Mac that sets the read/write location starting in the exe's root directory and allowing absolute filenames (like "C:\Program Files (x86)\Blah.txt"). The universal command would still be usable on PC/Mac and would be useful if you wanted to place files in a per-user directory (like save-games or profiles for example) and the non-universal command would allow the modification of the game's files and the creation of game-making tools.

Simple. TGC, follow my lead.

Clonkex

Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 30th Sep 2012 06:41 Edited at: 30th Sep 2012 06:43
EDIT: I'm willing to be that Hodgey's post was meant for another thread that was actually discussing the directory issue. This would not be the first time that I've seen a post show up in the wrong thread (including my own posts).

Quote: "I would create a non-universal command ... allowing absolute filenames "

This breaks the paradigm of having a development environment that works on all platforms.

I have no issue with the software doing writes to the app sand box area (this is required by many platforms).

AGK is totally consistent in how it handles read/write files. If you write to a file name/path that already exists in the executable path, it puts it in the sand box. And will always read the file from that location after that.

As long as consistently I get what I expect when I enter a path/filename, I don't actually care where it ends up on the physical device.

And my experience with Windows, iOS and Android is totally consistent.

Cheers,
Ancient Lady
AGK Community Tester
Clonkex
Forum Vice President
14
Years of Service
User Offline
Joined: 20th May 2010
Location: Northern Tablelands, NSW, Australia
Posted: 30th Sep 2012 11:41
Quote: "This breaks the paradigm of having a development environment that works on all platforms."


Perhaps you didn't read the entire post. I also said I would create a universal command that works on any platform. And TGC have already implemented many commands that are not universal, so having one that is universal and one that isn't is not a problem.

Quote: "As long as consistently I get what I expect when I enter a path/filename, I don't actually care where it ends up on the physical device."


I'm not saying the commands aren't consistent, I'm saying I need to be able to read AND write files to any directory I want, specifically the executable's directory.

Clonkex

JimHawkins
15
Years of Service
User Offline
Joined: 26th Jul 2009
Location: Hull - UK
Posted: 30th Sep 2012 19:16
I agree that the directory commands are not quite as clear as they might be. On Tier2 it's necessary to obtain system information BEFORE AppGameKit starts, because it will change the current directory to what it thinks it ought to be - on Windows it will by Users\My Documents\ etc which is useless unless the relevant bits are there if you want to use more generic operations.

Adding GetAppDirectory() would be useful, with suitable warnings. For example, writing to Program Files is forbidden on W7, so you really don't want to be saving files there, but there's no reason why you can't read from child folders off the app installation point.

Using explicit paths is always going to be disaster. However, absolute paths off a relative base works fine.

-- Jim DO IT FASTER, EASIER AND BETTER WITH AppGameKit FOR PASCAL
bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 30th Sep 2012 23:31
What really annoys me on Windows is that whatever you do, a folder called AppGameKit will always be created under My Documents.

This is really annoying especially if you don't use the file commands.

I think the idea of T2 is to have more control over what you want to do, and automatic things like creating an AppGameKit directory and the AGKsplash.png black screen flassh, are unnecessary... at least no other sdk or toolkit has these
Clonkex
Forum Vice President
14
Years of Service
User Offline
Joined: 20th May 2010
Location: Northern Tablelands, NSW, Australia
Posted: 1st Oct 2012 02:48
Quote: "On Tier2 it's necessary to obtain system information BEFORE AppGameKit starts, because it will change the current directory to what it thinks it ought to be - on Windows it will by Users\My Documents\ etc which is useless unless the relevant bits are there if you want to use more generic operations."


Wow that's annoying. I haven't used T2 yet so I didn't know.

Quote: "writing to Program Files is forbidden on W7"


No it's not. I do it all the time in DBPro, which is installed to C:\Program Files (x86)\The Game Creators\DarkBASIC Professional\Projects\blah\. It may require Run as Administrator to work properly but it should be possible.

Quote: "What really annoys me on Windows is that whatever you do, a folder called AppGameKit will always be created under My Documents."


I know!! I agree completely with that! I strongly dislike having a gazillion near-empty or even empty folders just because I create a few simple test projects. They're just a nuisance.

Clonkex

JimHawkins
15
Years of Service
User Offline
Joined: 26th Jul 2009
Location: Hull - UK
Posted: 1st Oct 2012 08:52
You have to be logged in as admin to write to Program Files, or have an admin specifically nominate a directory as read/write/modify. As most of our users are on university campuses, there is zero chance of the write succeeding. In many cases, writing to anywhere apart from My Documents is utterly forbidden.

-- Jim DO IT FASTER, EASIER AND BETTER WITH AppGameKit FOR PASCAL
Clonkex
Forum Vice President
14
Years of Service
User Offline
Joined: 20th May 2010
Location: Northern Tablelands, NSW, Australia
Posted: 1st Oct 2012 10:27
Oh I see. Yes, I forgot about Win7's ridiculously annoying security features. I'll bear that in mind when creating games and programs in the future

Clonkex

Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 1st Oct 2012 17:35
This discussion belongs in a different thread altogether.

Quote: "Win7's ridiculously annoying security features"

As annoying as they are, you will have a similar issue in iOS and Android with not writing to the executable directory. All write operations go to a sand box area for the app. But as long as you are consistent with directory and file names, your app won't know the difference. Just like on Windows. But on Windows, you can find the directory that the writing is going to.

An AppGameKit app creates the Documents\AGK\<yourapp> directory because at the start of the app (both Tier 1 and Tier 2), it loads up several default images (fonts, buttons, logos, joystick, missing image image). If the app exits properly, those files get deleted.

Cheers,
Ancient Lady
AGK Community Tester
Clonkex
Forum Vice President
14
Years of Service
User Offline
Joined: 20th May 2010
Location: Northern Tablelands, NSW, Australia
Posted: 2nd Oct 2012 09:36 Edited at: 2nd Oct 2012 09:38
Quote: "As annoying as they are, you will have a similar issue in iOS and Android with not writing to the executable directory. All write operations go to a sand box area for the app. But as long as you are consistent with directory and file names, your app won't know the difference. Just like on Windows. But on Windows, you can find the directory that the writing is going to."


I know this is still off-topic, but I just want to say that I understand COMPLETELY the reasons behind the sandbox commands, but why can't we have non-universal (PC/Mac only) commands that require admin rights as well? We need these commands for some programs that are not necessarily games. Even for games, what if we need to modify the files that come with the game and are not generated? What if we want the program to be entirely self-contained in the one folder (like most older games, which, by the way, are by far my favourite in terms of simplicity of installation, copying and removal)?

Clonkex

JimHawkins
15
Years of Service
User Offline
Joined: 26th Jul 2009
Location: Hull - UK
Posted: 2nd Oct 2012 17:19
You can do what you like using Tier 2 C/C++ or Pascal. I humbly suggest that anybody who wants to do this kind of platform-specific stuff should forget Basic. AppGameKit is not meant to be systems-level event.

-- Jim DO IT FASTER, EASIER AND BETTER WITH AppGameKit FOR PASCAL
Clonkex
Forum Vice President
14
Years of Service
User Offline
Joined: 20th May 2010
Location: Northern Tablelands, NSW, Australia
Posted: 3rd Oct 2012 02:09
Quote: "I humbly suggest that anybody who wants to do this kind of platform-specific stuff should forget Basic. AppGameKit is not meant to be systems-level event."


Maybe I will...

Clonkex

Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 3rd Oct 2012 16:57
If you go Tier 2, you have access to all of the standard directory/file functions. You can use them alongside AppGameKit code.

However, when you do LoadImage calls, they may not respond to standard non-AGK directory setting commands. You would need to experiment to see how that particular call interacts.

Cheers,
Ancient Lady
AGK Community Tester
Clonkex
Forum Vice President
14
Years of Service
User Offline
Joined: 20th May 2010
Location: Northern Tablelands, NSW, Australia
Posted: 5th Oct 2012 02:42
Hhhh.... Why can't the commands all just be consistent... It's frustrating when one command seems to work but another might do something completely different (no, don't ask for an example, I'm not on my dev laptop).

Clonkex

MikeMax
AGK Academic Backer
12
Years of Service
User Offline
Joined: 13th Dec 2011
Location: Paris
Posted: 24th Oct 2012 06:52
Is there any news about Animated models support (AGO, FBX,X etc...) ?

bump !
MikeMax
AGK Academic Backer
12
Years of Service
User Offline
Joined: 13th Dec 2011
Location: Paris
Posted: 29th Oct 2012 04:26 Edited at: 29th Oct 2012 06:45
i will have to be patient .....

So using some workarounds works but it uses a lot of memory :p

kamac
13
Years of Service
User Offline
Joined: 30th Nov 2010
Location: Poland
Posted: 5th Nov 2012 17:58
Hmph. How did you get that animation effect MikeMax?



Follow me on twitter! @MotionStruct
Motion Struct blog
JLMoondog
Moderator
15
Years of Service
User Offline
Joined: 18th Jan 2009
Location: Paradox
Posted: 5th Nov 2012 18:25
Are you saving each frame as a separate mesh then loading them all in at once? What it looks like to me.

kamac
13
Years of Service
User Offline
Joined: 30th Nov 2010
Location: Poland
Posted: 5th Nov 2012 18:36
Yeah, looked this way to me aswell.

Follow me on twitter! @MotionStruct
Motion Struct blog
Naphier
14
Years of Service
User Offline
Joined: 2nd Oct 2010
Location: St Petersburg, Florida
Posted: 5th Nov 2012 19:40
OBJ is nice and simple, but FBX is important.
Please go with FBX as it is a leading file format for 3D models.

If 3DS is used I'll be forced to move on as all converters I've tried for 3DS leave much to be desired and there's no way I'm paying $4k to AutoDesk for 3DSMax.

I imagine programs like Blender are more along the lines of what the small indie devs here are going to work with. It does well with FBX and OBJ. Please consider this when making this determination.

Thanks!

MikeMax
AGK Academic Backer
12
Years of Service
User Offline
Joined: 13th Dec 2011
Location: Paris
Posted: 5th Nov 2012 22:41 Edited at: 5th Nov 2012 22:41
obviously i have an obj file per frame and i need to move it away when i want to "hide" a "frame" (which is an object)

not relevant and not recommended for any game .... lol
Dar13
16
Years of Service
User Offline
Joined: 12th May 2008
Location: Microsoft VisualStudio 2010 Professional
Posted: 6th Nov 2012 18:27
Quote: "OBJ is nice and simple, but FBX is important.
Please go with FBX as it is a leading file format for 3D models."

FBX is not designed for realtime graphical applications. It's simply too heavy a file format, even the creators of the format recommend against using it for this purpose. If TGC could create a AGO or OBJ converter for FBX, then it could be used as an excellent transition format but otherwise I believe it to be unusable for AGK.

MikeMax
AGK Academic Backer
12
Years of Service
User Offline
Joined: 13th Dec 2011
Location: Paris
Posted: 7th Nov 2012 03:21
Sure. but FBX is now the standard for animations for several softwares and motion softwares and yes, it's a real need to be able to convert a FBX file to AGO.
7RS
12
Years of Service
User Offline
Joined: 10th May 2012
Location:
Posted: 7th Nov 2012 10:48
I think if they want to offer a strong support they must write some plugin for the most important 3d programs like 3DSMax, Maya, Softimage to export scene and models directly in their desired format because is fine to save a single object as a single file but a whole scene, especially if is complexes, need to be exported correctly and accurate.

http://www.7ravenstudios.com
https://www.facebook.com/pages/7-Raven-Studios/102567824318?ref=hl
https://www.facebook.com/groups/391126020940838/
bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 21st Nov 2012 23:51
7RS do you really think they are going to write all those plugins for all those 3d software!?!
JLMoondog
Moderator
15
Years of Service
User Offline
Joined: 18th Jan 2009
Location: Paradox
Posted: 1st Dec 2012 20:35
Quote: "Sure. but FBX is now the standard for animations for several softwares and motion softwares and yes, it's a real need to be able to convert a FBX file to AGO."


I hate FBX...I hate working with it, and I hate formatting my models to work with it..especially animated characters. Whoever made it the format of choice for real-time games needs to be punched.

7RS
12
Years of Service
User Offline
Joined: 10th May 2012
Location:
Posted: 19th Dec 2012 16:55 Edited at: 19th Dec 2012 16:56
@bjadams: If they will not make any plugin at least for 3dsmax and maya is really difficult. Without an exporter how you think to use animted 3d objects ? I usually work with 3d engine also for Nintendo 3DS and you need the exporter plugins to after read the date formatted correctly for the loader you will use.

FBX could be a solution but a lot of data in the fbx are not well formatted. FBX is used by Autodesk to move objects from different programs but if you try to export a whole scene with a lot of object you will run in a millions of problems.

I think at the end, when the version will be stable, i hope they will help to export 3d scenes or we can't make any 3d game but just 2d with 3d objects inside.

I also hope to know when the animation will be supported because i have a game that need it and i can't continue if i do not have 3d animations because in 2d it use a lot of vram and is a problem in a lot of devices.

http://www.7ravenstudios.com
https://www.facebook.com/pages/7-Raven-Studios/102567824318?ref=hl
https://www.facebook.com/groups/391126020940838/
bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 19th Dec 2012 17:23
there won't be animation for quite some time, as TGC already said that for v109 they won't add new commands but just fixes.

you can't compare AppGameKit with a team of 1 vs Nintendo!
Willie Mundermuffin
18
Years of Service
User Offline
Joined: 5th Jan 2006
Location:
Posted: 1st Jan 2013 08:08
As long as there's an exporter for Blender I'll be happy
Statue
18
Years of Service
User Offline
Joined: 16th Nov 2006
Location: Monterey Hills, CA
Posted: 7th Jan 2013 02:44
This is just me, and I realize I'm in a minority here, but Lightwave .lwo would be great. Depending on what is allowed in the format, if you want to keep it simple, you could look at something like the format prior to lightwave (.geo). All it had was a count of the number of polygons, then the point order/coordinates, followed by a count of color/texture information, and which polygon numbers they applied to.

Also, as far as standardization goes, has anyone considered .DXF or even .X that DBP uses?
Dark_ITheI _Angel
22
Years of Service
User Offline
Joined: 3rd Sep 2002
Location:
Posted: 7th Jan 2013 15:45
This is what i was waiting for ! , AppGameKit 3d, Just support .X or .OBJ or .3ds and all is fine, , Were can i find more infos about it? this will be the bomb.

Animals
Brendy boy
19
Years of Service
User Offline
Joined: 17th Jul 2005
Location: Croatia
Posted: 8th Jan 2013 00:26
.x is directx format and is deprecated, agk uses opengl
.3ds is very old format wits lots of format versions so it's difficult to create one importer to handle all of them

Toctoc
11
Years of Service
User Offline
Joined: 10th Jan 2013
Location:
Posted: 10th Jan 2013 15:28
In my opinion, Blender is the best software for the purpose of AGK.
The goal is to sell.
Impossible to sell a product built with pirated 3DS software.
It is also impossible for the public to buy software modeling proffessional as 3DS or other ...
Blender is the only free software with a quality comparable to software proffessional.

Sincerely, Toctoc, new fan AGK
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 10th Jan 2013 15:38
@Toctoc, please wait until your posts are approved. Don't keep posting until it shows. Cheers!


this.mess = abs(sin(times#))
Toctoc
11
Years of Service
User Offline
Joined: 10th Jan 2013
Location:
Posted: 10th Jan 2013 15:45
My apologies.
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 10th Jan 2013 16:06
No worries

When you're new here you go on temporary probation. After a while your posts will appear straight away unless you are abusing the AUP. Welcome to the TGC forums! Hope you have fun here


this.mess = abs(sin(times#))
Dark_ITheI _Angel
22
Years of Service
User Offline
Joined: 3rd Sep 2002
Location:
Posted: 10th Jan 2013 22:58
FBX is a very good format.

TocToc,

When this goes 3d to spend 1500€ to have it all is ok. Remember on Pads you have really the chance to get known

I think Modo 601 is a very good 3d modeller for its price, and agk the first would not be that xpensive would it?
anyway there are converters and a Proffesional truespace! it will for sure be possible to export and convert your blender data.

Animals
Dar13
16
Years of Service
User Offline
Joined: 12th May 2008
Location: Microsoft VisualStudio 2010 Professional
Posted: 11th Jan 2013 01:39
Quote: "FBX is a very good format."

Quote: "FBX is not designed for realtime graphical applications. It's simply too heavy a file format, even the creators of the format recommend against using it for this purpose. If TGC could create a AGO or OBJ converter for FBX, then it could be used as an excellent transition format but otherwise I believe it to be unusable for AGK."


Dark_ITheI _Angel
22
Years of Service
User Offline
Joined: 3rd Sep 2002
Location:
Posted: 11th Jan 2013 21:35
Ok that said all,good to know, am getting warm again as a 3d-designer after 5 years

Animals
MikeMax
AGK Academic Backer
12
Years of Service
User Offline
Joined: 13th Dec 2011
Location: Paris
Posted: 11th Jan 2013 23:47 Edited at: 11th Jan 2013 23:50
To seriously create 3d games with 3d animations, a FBX>AGO converter is MANDATORY.

FBX is the only file format present in all modeling and animation softwares which supports bones animations (the most widespread).

Obviously, due to the file format specifications, it is better to avoid using it directly.

For static objects, OBJ (with a future Multi group/materials support) or 3DS would be sufficient (from my experience).
Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 16th Jan 2013 20:13
I cast a vote for the md5 format that almost all modelling packages support.

The more i read about the format the more do i like it.

id software created the format for doom 3 and reused it in quake 4.

Its just like the obj format wich means you can open up a md5 file and read it and simply understand it.

Many ios/android devs seams to use it already.

The files consist of.
Uses mtl file for material.
.md5mesh (mesh)
.md5anim (animations)

The format works on probably every operative system as its an opengl animated mesh file.

http://3dgep.com/?p=1053

I have already terrorised paul about the format

Android 2.3 , ZTE Skate , 480x800 , 800 mhz , Samsung Galaxy Y , 240x320 , 832 mhz , Sony ericson arc 480x854 , 1 ghz
Android 4.0 , Dmtech 3g 9738B , 1024x768 , 9.7 inches , 1.2 ghz

Login to post a reply

Server time is: 2024-11-24 17:21:43
Your offset time is: 2024-11-24 17:21:43