Ogre Meshy 1.6 (Mesh viewer, Windows Installer & Linux sup.)

A place to show off your latest screenshots and for people to comment on them. Only start a new thread here if you have some nice images to show off!
User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5433
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1341

Ogre Meshy 1.6 (Mesh viewer, Windows Installer & Linux sup.)

Post by dark_sylinc »

Hi all!

Note: wxOgreMeshViewer has been renamed to Ogre Meshy. At this point Ogre Meshy is very stable and robust tool, with lots of features, some of which may not be mentioned, but you're welcome to try them out, the exe works right out of the box.

Original Post:
Those who have read a few of my last posts may know I've been very busy, and still am busy.
Nonetheless, I was presented with a problem where I decided I could do a mesh viewer in less than a weekend, and this is what I've got.
I plan to share the source code later.

[s]The idea is to rip off LexiView[/s], actually the idea is to imitate LexiView's look 'n feel, because we Ogre users are used and familar with it.
Back in 2006-2008 there was a hype with Ogre tools, and LexiView was one of those great ones that came of it.
The problem is that LexiView is getting old. It doesn't load the latest mesh version, and is lacking some features we were needing.

Namely our particular problem was that LexiView doesn't display the exact animation time, which is a bummer if you're developing a sofisticated animation system that is sensible to millisecond accuracy. We were until 2 days ago guessing the animation times through iteration, trial and error.
Another problem with mesh viewers is that they forgot to mention which version of Ogre they're linked against. It was really frustrating to download like 5 mesh viewers just to get to the Ogre.log to find out they were as old as Ogre 1.0.2 (not even 1.2!)

Ogre Model Configurator looks compelling, but it lacked what we needed (animation time manipulation), and it was disappointing to see it crashed with some of our mesh models.

Show Mesh looks nice too, but it lacks a binary up to date version. Tools are usually meant to be used, not compiled. Of course it's awesome if it comes with source, but really the point is the *.exe right out of the box. Specially if there are so many posts in the end of people having trouble to compile it.

wxOgreMeshViewer is not complete, but I decided it was good enough for a sneak peek, because it's already usefull.
I decided to keep LexiView information tab even though we particularly don't use them all (for example it informs about the "volume" of the bounding box) it still may be helpfull for somebody.

What's lacking yet:
  • [s]Only skeletal animation is supported[/s] Pose animation added in v1.0
  • Material information on the mesh info tab is not displayed (only the name of the material is shown)
    Note: Spline/Linear interpolation toggle does work
What's improved:
  • Ability to view and manipulate the exact animation time
  • Vertex declarations show their total size in bytes
  • Vertex declarations are grouped by source (easier to spot cache unfriendly buffers)
  • Center of the bounding box is displayed
  • Load custom resources.cfg files on demand for full-featured materials
  • Bones being displayed are easier to visualize
  • Supports detecting "IK" or "placeholder" bones, and hide their link by ticking a checkbox (which makes bone visualization very hard to see)
  • Supports sizing the bones being displayed
  • Lighting setup configurable
  • More intuitive pose key interface
Known issues:
  • To switch to a different RenderSystem, delete ogre.cfg file and run the application again. Or you can use the -setup switch command line
  • Free mode camera is not yet supported, despite being displayed in the menu
  • The "power" spin control in the light dialog doesn't work
Mandatory screenshots:
Image

Uploaded with ImageShack.us
Image
Image
Uploaded with ImageShack.us


DOWNLOADS
ALL PLATFORMS

Older releases:
Versions 0.6a and higher
Download version 0.5a (linked against Ogre 1.8.0 Byatis unstable)
Download version 0.4a (linked against Ogre 1.8.0 Byatis unstable)
Download version 0.3a (linked against Ogre 1.8.0 Byatis unstable)
Download version 0.2a (linked against Ogre 1.8.0 Byatis unstable)
Download version 0.1a (linked against Ogre 1.8.0 Byatis unstable)

In the future:
I plan to
a. [s]Release the source code under GPL[/s] DONE
b. [s]fix the listed non-working functionality[/s] ALMOST
c. [s]Make a nice installer with file extension integration[/s] DONE

Remember this is a 2-day work, and I have almost no free time

I don't expect you like this alpha version, but I do hope it can be useful to someone as it is now.

Cheers
Dark Sylinc
Last edited by dark_sylinc on Mon May 27, 2013 1:13 am, edited 40 times in total.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179

Re: wxOgreMeshViewer 0.1a - (Ogre 1.8.0 unstable)

Post by jacmoe »

I approve of this. :)

The main problem is lack of polished, working tools for non-techie guys and gals.

You're saying that this isn't, but let's hope it becomes one. :wink:

All people wants is a quick tool to load and view any mesh.
That's not too much to ask.
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179

Re: wxOgreMeshViewer 0.1a - (Ogre 1.8.0 unstable)

Post by jacmoe »

Impressive: I actually made it load a arbitrary model from a random directory just fine!
Thumbs up. :)

Mouse navigation is *extremely* lively - to put it mildly.
But all in all a very positive experience.
Especially for a two-day hack like this.
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5433
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1341

Re: wxOgreMeshViewer 0.1a - (Ogre 1.8.0 unstable)

Post by dark_sylinc »

Thanks for the kind words!

It gave me courage to:
  • Add bounding box toggle
  • Add wireframe toggle
  • Zoom in & out with the mouse (didn't notice it was lacking!)
  • Make mouse movement more intuitive
Edit: Fixed wrong aspect ratio bug

0.2a Will be up soon.

Cheers
Dark Sylinc
Last edited by dark_sylinc on Mon Aug 09, 2010 5:57 am, edited 1 time in total.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179

Re: wxOgreMeshViewer 0.1a - (Ogre 1.8.0 unstable)

Post by jacmoe »

What I meant by 'lively' mouse movement is that you have to move your mouse very carefully, otherwise you'll make the model 'flip'.
That probably due to a high movement factor - consider making it tweakable. :)
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5433
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1341

Re: wxOgreMeshViewer 0.1a - (Ogre 1.8.0 unstable)

Post by dark_sylinc »

jacmoe wrote:What I meant by 'lively' mouse movement is that you have to move your mouse very carefully, otherwise you'll make the model 'flip'.
That probably due to a high movement factor - consider making it tweakable. :)
Indeed. I realized of that that 2 minutes before reading your post.
It's much less powerfull now ;)
Tweaking would be great, but I prefer keeping things simple for now.

Cheers
Dark Sylinc
User avatar
Beauty
OGRE Community Helper
OGRE Community Helper
Posts: 767
Joined: Wed Oct 10, 2007 2:36 pm
Location: Germany
x 39

Re: wxOgreMeshViewer 0.1a - (Ogre 1.8.0 unstable)

Post by Beauty »

It's looking like a nice tiny tool :)

Bug:
The aspect ratio of the mesh needs to be fixed.
When the window changes its size and aspect ratio, then the mesh will be stretched horizontally or manually.


Whishes / ideas:

* an option to "import" ressource files, e.g. materials
One option: Choose a directory and load all it's content. Additionally add a checkbox for loading media files of all sub directories.
An other option: Choose a resources.cfg file and load all linked content. (This should work also for relative directories, including "..\.." symbols for parent directory steps)

* Apply a zoom function (for this the mouse wheel could be used)

* At the Mesh Info tab: Show the size (height, length, depth)

* An option to display a tapeline in the renderwindow.

* An option to show the axes (X-Y-Z)

* Additionally show a "point" symbol for the point of origin. This should always be visible (renderlevel on top like a GUI) - so that it can't be covered by the model

* Decrease the "rotation speed". (When I click and move the mouse, then the model is rotating too quickly.)


So, this was my tiny feedback :wink:
Help to add information to the wiki. Also tiny edits will let it grow ... :idea:
Add your country to your profile ... it's interesting to know from where of the world you are.
User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5433
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1341

Re: wxOgreMeshViewer 0.1a - (Ogre 1.8.0 unstable)

Post by dark_sylinc »

Hi Beauty! Thanks for the feedback
Beauty wrote:Bug:
The aspect ratio of the mesh needs to be fixed.
When the window changes its size and aspect ratio, then the mesh will be stretched horizontally or manually.
It's already fixed, new version will be uploaded soon. Problem was when the wx control received an OnSize event, the camera didn't change the aspect ratio to fit the new render target's dimensions
Beauty wrote: * an option to "import" ressource files, e.g. materials
One option: Choose a directory and load all it's content. Additionally add a checkbox for loading media files of all sub directories.
An other option: Choose a resources.cfg file and load all linked content. (This should work also for relative directories, including "..\.." symbols for parent directory steps)
That is a great idea. But it's not as priority as some other functions
Beauty wrote: * Apply a zoom function (for this the mouse wheel could be used)
Done. Although for some reason the window misses the mouse wheel events, thus you zoom in/out by holding right click for now.
Beauty wrote: * At the Mesh Info tab: Show the size (height, length, depth)
Ok! will include that.
Beauty wrote: * An option to display a tapeline in the renderwindow.
Umm, what? (please explain)
Beauty wrote: * An option to show the axes (X-Y-Z)
It's in my todo list.
Beauty wrote: * Additionally show a "point" symbol for the point of origin. This should always be visible (renderlevel on top like a GUI) - so that it can't be covered by the model
Mmmm, will keep in mind.
Beauty wrote: * Decrease the "rotation speed". (When I click and move the mouse, then the model is rotating too quickly.)
Done

Cheers
Dark Sylinc
User avatar
Beauty
OGRE Community Helper
OGRE Community Helper
Posts: 767
Joined: Wed Oct 10, 2007 2:36 pm
Location: Germany
x 39

Re: wxOgreMeshViewer 0.1a - (Ogre 1.8.0 unstable)

Post by Beauty »

dark_sylinc wrote:
Beauty wrote: * An option to display a tapeline in the renderwindow.
Umm, what? (please explain)
Add a line to each axis. To this add marker points.
For example: A point (or little line/bar) at each ogre length unit with a size number above. Like a ruler.
Help to add information to the wiki. Also tiny edits will let it grow ... :idea:
Add your country to your profile ... it's interesting to know from where of the world you are.
User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5433
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1341

Re: wxOgreMeshViewer 0.2a - (Ogre 1.8.0 unstable)

Post by dark_sylinc »

OK, version 0.2a is out! Check it out.

Lots of enhancements:
  • Fixed aspect ratio problem
  • Meshes can be loaded from the command line
  • Tweaked camera rotation through the mouse, it's much slower now
  • Zoom in & out by holding right click
  • Use "-setup" command line to see OGRE config dialog
  • Added bounding box toggle
  • Added wireframe mode toggle
  • Bounding box information displays width, height & depth
User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5433
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1341

Re: wxOgreMeshViewer 0.3a - (Ogre 1.8.0 unstable)

Post by dark_sylinc »

OK!
Released a new version, 0.3a.

Changes & improvements:
  • Added ability to reload meshes
  • Background (clear) colour can be customized
  • Added a toolbar
  • Added ability to load & parse resources.cfg files, as well as they're accepted as a command line parameter
  • Camera Zoom In/Out is now scaled by the bounding radius, making it consistent with very different sized meshes
  • Added show axis
Use the command line switch "/r" as in wxOgreMeshViewer.exe "/r:C:\MyFolder\resources.cfg" to load custom cfg files!
That way you can work with your own materials and shaders.

This time, I do hope you like, I've put a lot of effort into this.
Now the critical part for me that is missing is enumerating skeleton information, and releasing the source code.

Cheers
Dark Sylinc
User avatar
Beauty
OGRE Community Helper
OGRE Community Helper
Posts: 767
Joined: Wed Oct 10, 2007 2:36 pm
Location: Germany
x 39

Re: wxOgreMeshViewer 0.3a - (Ogre 1.8.0 unstable)

Post by Beauty »

Oh, what a nice improvement :D

The resources.cfg file loading works well with my application. (using relative paths, including "..\.." operators)
Also the material loading works without the resource file, when it's in the same directory as the model.
Good job!

The command line configuration is useful.


Also nice:
The application remebers the open file directory. So after restart I don't need to click many times to change to the right directory.
But for this I have an additional improvement idea:
When the load mesh and load resource menu entries have different target directories, then remember them independently.
Because ofthen the resource.cfg file is in an other path then the meshes.

I found a bug:
This happens sometimes when resizing the window or moving a seperator bar (between render window and meshInfo / ogre.log).
Then the seperator bar under the render window moves "behind" the render window.
After scrolling the ogre.log there are display errors.
See file attachement.


Beautiful would be an option to enable anti aliasing and maybe anisotrophic filtering.
This just need to set other start parameters before calling Root.CreateRenderWindow().


Idea:
After restart of the application load the last resource file automatically.
This is more comfort, fits in many cases. If not, then the user can change the resource file as like in the current version.


What's about creating a wiki page for your viewer?
This would be useful for people who needs a viewer and search for them in the wiki.
So it's much more easy to find it than by searching in the many projects of the forum showcase.
You do not have the required permissions to view the files attached to this post.
Help to add information to the wiki. Also tiny edits will let it grow ... :idea:
Add your country to your profile ... it's interesting to know from where of the world you are.
User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5433
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1341

Re: wxOgreMeshViewer 0.3a - (Ogre 1.8.0 unstable)

Post by dark_sylinc »

Hi Beauty!

Thanks for the feedback. I'm glad you're starting to like it :)
Beauty wrote: When the load mesh and load resource menu entries have different target directories, then remember them independently.
Because ofthen the resource.cfg file is in an other path then the meshes.
Agreed, for now the "remember" ability is Window's doing, not mine. May be I can trick Windows into remembering both folders, but otherwise this would need me storing the directory in a separate file.
For now I've been avoiding writting to config files (I have to think about this with more detail, not just write a file, because in Win Vista/7 you have to deal with folder permissions)
Beauty wrote: I found a bug:
This happens sometimes when resizing the window or moving a seperator bar (between render window and meshInfo / ogre.log).
It's on the known issues section. D3D & OGL behave differently but they both are buggy.
I have to look at the wxWindows -> Ogre interface to figure out what's wrong.
Beauty wrote: Beautiful would be an option to enable anti aliasing and maybe anisotrophic filtering.
Ok, that one's easy. I can add them later
Beauty wrote: After restart of the application load the last resource file automatically.
This is more comfort, fits in many cases. If not, then the user can change the resource file as like in the current version.
This adds complexity (which I can't deal right now due to lack of time) since it requires not only having more config files, but also managing configuration with those who want the current behaviour and the one you want.
If you're working with a few couple of resources cfg, that's why I added the "/r" switch, so that you can make a quick link file to the application, loading your desired resources.cfg file every time you want.
Beauty wrote: What's about creating a wiki page for your viewer?
I want to do that but the damn Wiki doesn't like under_scores in the user names, so it doesn't let me log in to edit pages

Cheers
Dark Sylinc
User avatar
Beauty
OGRE Community Helper
OGRE Community Helper
Posts: 767
Joined: Wed Oct 10, 2007 2:36 pm
Location: Germany
x 39

Re: wxOgreMeshViewer 0.3a - (Ogre 1.8.0 unstable)

Post by Beauty »

dark_sylinc wrote:For now I've been avoiding writting to config files (I have to think about this with more detail, not just write a file, because in Win Vista/7 you have to deal with folder permissions)
Currently you just need to extract and run it. Your installer did run without administrator rights and I suppose it just do the same job (extract and copy files to target directory).
I suppose the application protection just applies in special directories, e.g. the Software directory.
So you could just write it to a local txt or XML file.
Alternatively store it in the registry.
Both would be easy to implement.
This adds complexity
Or you can add a button or menu entry "load recent resource.cfg".
dark_sylinc wrote:I want to do that but the damn Wiki doesn't like under_scores in the user names, so it doesn't let me log in to edit pages
Oh, this seems to be a wiki bug. Please report it in the New Ogre Wiki thread.
Help to add information to the wiki. Also tiny edits will let it grow ... :idea:
Add your country to your profile ... it's interesting to know from where of the world you are.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179

Re: wxOgreMeshViewer 0.3a - (Ogre 1.8.0 unstable)

Post by jacmoe »

This is our username filter:

Code: Select all

/^[ '\-_a-zA-Z0-9@\.]*$/
Could you try again Dark_sylinc ?
Would be weird if it didn't work..
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5433
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1341

Re: wxOgreMeshViewer 0.3a - (Ogre 1.8.0 unstable)

Post by dark_sylinc »

Weird, just logged in and it worked :)

Thanks. I'll edit the entry.

Cheers
Dark Sylinc

Edit: Done
Last edited by dark_sylinc on Fri Aug 13, 2010 6:55 pm, edited 1 time in total.
User avatar
Progman
Kobold
Posts: 38
Joined: Sun Aug 08, 2010 9:13 am

Re: wxOgreMeshViewer 0.3a - (Ogre 1.8.0 unstable)

Post by Progman »

All this seems pretty nice, but the binary does not run, it crashes.
and where the hell is the SOURCE CODE ?
Keyboard error: Press any key to continue...
User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5433
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1341

Re: wxOgreMeshViewer 0.3a - (Ogre 1.8.0 unstable)

Post by dark_sylinc »

Progman wrote:All this seems pretty nice, but the binary does not run, it crashes.
and where the hell is the SOURCE CODE ?
Soon, very soon.
As for your crash, I'm interested in seeing the Ogre.log; What OS are you using?
Try deleting the ogre.cfg file in case it was generated.

I'm straged of a crash since I've tried Win XP and 7, and 3 very different hardware machines.
If you're in Windows Vista/7, check you have the Visual C++ 2008 SP1 redist, and the latest DirectX.

Cheers
Dark Sylinc
User avatar
Beauty
OGRE Community Helper
OGRE Community Helper
Posts: 767
Joined: Wed Oct 10, 2007 2:36 pm
Location: Germany
x 39

Re: wxOgreMeshViewer 0.3a - (Ogre 1.8.0 unstable)

Post by Beauty »

For your setup file you could add Mogre depency checkers.
We still use such checkers for the MogreSDK installer.

Our checker codes you find here:
http://code.google.com/p/mogresdk/sourc ... y_checkers

And our Inno Setup script will show you how to embedd it:
http://code.google.com/p/mogresdk/sourc ... /setup.iss
Help to add information to the wiki. Also tiny edits will let it grow ... :idea:
Add your country to your profile ... it's interesting to know from where of the world you are.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179

Re: wxOgreMeshViewer 0.3a - (Ogre 1.8.0 unstable)

Post by jacmoe »

Nice work! :)

I really like it.

The only thing I want now is panning.
That would be awesome.
Maybe using the middle mousebutton?

And when I say I like it, it actually means something:
I was about to do my own meshviewer because none of the other viewers did what I wanted them to do the way I like them to do it for me.
Your meshviewer is absolutely close to what I had in mind! :wink:
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
Jabberwocky
OGRE Moderator
OGRE Moderator
Posts: 2819
Joined: Mon Mar 05, 2007 11:17 pm
Location: Canada
x 218

Re: wxOgreMeshViewer 0.3a - (Ogre 1.8.0 unstable)

Post by Jabberwocky »

Thanks.
Works like a charm.

I'm in the same boat - love LexiView, but it's a drag it doesn't support the newest mesh version and material scripts.

One very tiny quirk is that wxOgreMeshViewer gets quite grumpy about any exceptions it encounters when loading/compiling the resources to display a mesh. If it throws an exception, it won't load the model, even if that exception is for a totally unrelated resource. But this can be worked around, so no big deal.

I also miss the display bones toggle of LexiView, as this was very handy to debug some animation/rigging glitches. But I understand you're not in a position to add in a bunch of features you don't need yourself.

Thanks for sharing.
Image
User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5433
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1341

Re: wxOgreMeshViewer 0.4a - (Ogre 1.8.0 unstable)

Post by dark_sylinc »

New version 0.4a is out.
This time changes aren't ground breaking, but nice add ons. I will work now on getting skeleton information since it's what I need.

Changes in v0.4a:
  • Axis is now scaled by the mesh size
  • Folders are remembered separately when browsing resources.cfg files or .mesh files
  • User settings are now saved under UserSettings.cfg
  • Supports loading last opened resources.cfg
  • Basic panning support (hold shift key and use the mouse keys)
Cheers
Dark Sylinc

Edit: I know there's a camera "free look mode" menu, but that option doesn't work yet. Sorry
User avatar
Beauty
OGRE Community Helper
OGRE Community Helper
Posts: 767
Joined: Wed Oct 10, 2007 2:36 pm
Location: Germany
x 39

Re: wxOgreMeshViewer 0.4a - (Ogre 1.8.0 unstable)

Post by Beauty »

Wow, you are quick!
A 2 days hack + a few more days for a useful application.

And nice to see you implemented some of my ideas.
Help to add information to the wiki. Also tiny edits will let it grow ... :idea:
Add your country to your profile ... it's interesting to know from where of the world you are.
Slicky
Bronze Sponsor
Bronze Sponsor
Posts: 614
Joined: Mon Apr 14, 2003 11:48 pm
Location: Was LA now France
x 26

Re: wxOgreMeshViewer 0.4a - (Ogre 1.8.0 unstable)

Post by Slicky »

When you use the menu to specify a resources.cfg location it appears to prepend the app path to it.
User avatar
Progman
Kobold
Posts: 38
Joined: Sun Aug 08, 2010 9:13 am

Re: wxOgreMeshViewer 0.4a - (Ogre 1.8.0 unstable)

Post by Progman »

We're still waiting for the source code.
no need to deploy all new features, and people cannot run the app because of a crash.
i don't understand why you continue to work like that.
Keyboard error: Press any key to continue...