Request For Community Programmers
-
My current project has full 3D DB management embedded, in a GUI.
Add/Remove Models
import/export
Find/remove unused LODs
Re-assign textures
Parent/CT manipulation
Model editing
Slot/Hard Point editing
Etc…All wrapped in the current program.
In addition you can (Or will be able to) change everything in the AFM/DAT files in a SAFE manner, IE: the GUI presents the data and saves it in the correct format. And you can adjust the CT DB without having to switch programs. Sorry for the lack of recent updates on it, but it IS progressing.
EDIT: Disregard the Red Colored models. I’m having to code my own DDS converter since I’m not using DX.
-
regarding the tickmarks and text editor stuff, you would be far better off installing notepad++ and making it the default editor for text files… or an equivalent, UltraEdit for example. Might be feasible to preview the output, though.
I have it already, I use it for years. takes 3-5 secs to open it each time.
Default theater setting would probably frustrate you no end, because unless I miss my guess, most theater devs swap back and forth between multiple folders, no? Wouldnt you be better off having a simple selection window where you pick from a list of recently used folders?
Creating a default BMP file is trivial.
Not for all. Some have never used a photo program in their life. so he will loose some xx minutes to accomplish such. go to youtube search view the content do it. Or find a text result from a google search and read it. Have it open whilw having the app open to see step by step what to do. For one user might be 5 minutes but for 50 new users of the app will be 4 hours in total, lost fighting with the tool only.
Renaming it though about xxx times will take him about, just for that with 30" each time for 150 times 75 minutes in total.Error handling I guess I would need to better understand the errors you can get and what that means… basically, Id need to know what the normal error handling workflow is like currently, and what it should look like after using the GUI.
here u are:
Search for *** for errors Search for +++ for possible parent dimension errors Version 50884608 Colors 1596 DarkColors 669 MaxLODSize 100192 nLOD 10126 UserCnt IOPendi Flags RootPtr Position Length LOD[ 0] 0 0 0 0 0 0 LOD[ 1] 0 0 0 0 4554260 0 .. .. LOD[ 10123] 0 0 0 0 1639983244 0 LOD[ 10124] 0 0 0 0 1683651068 0 LOD[ 10125] 0 0 0 0 1640861768 0 Parent Records 3789 Parent[ 0] Dimensions: R:0.100000 -X:0.000000 +X:0.100000 -Y:0.000000 +Y:0.100000 -Z:0.000000 +Z:0.000000 Texture Sets 1 Dynamic Vectors 0 LODs: 1 Switchs: 0 DOFs: 0 Slots: 0 Parent's LODs # 0 - LOD ID: 1 - Distance:600000.000000 Parent[ 1] Dimensions: R:33.750000 -X:-20.268000 +X:1.818000 -Y:-9.359003 +Y:9.359003 -Z:-7.566937 +Z:3.513991 Texture Sets 1 Dynamic Vectors 0 LODs: 1 Switchs: 255 DOFs: 255 Slots: 0 Parent's LODs # 0 - LOD ID: 0 - Distance:600000.000000 +++ LOD DIMENSIONS R:5.191999 -X:-3.622653 +X:2.370382 -Y:-1.736379 +Y:1.765544 -Z:0.000000 +Z:3.273543 Parent[ 2] Dimensions: R:33.779999 -X:-20.268000 +X:1.818000 -Y:-9.359003 +Y:9.359003 -Z:-7.566937 +Z:3.513991 Texture Sets 1 Dynamic Vectors 0 LODs: 1 Switchs: 255 DOFs: 255 Slots: 0 Parent's LODs # 0 - LOD ID: 82 - Distance:600000.000000 +++ LOD DIMENSIONS R:8.489975 -X:-7.462452 +X:4.029891 -Y:-2.350704 +Y:2.451648 -Z:-1.126067 +Z:3.221942 Parent[ 3] Dimensions: R:33.779999 -X:-20.268000 +X:1.818000 -Y:-9.359003 +Y:9.359003 -Z:-7.566937 +Z:3.513991 Texture Sets 1 Dynamic Vectors 0 LODs: 1 Switchs: 255 DOFs: 255 Slots: 0 Parent's LODs # 0 - LOD ID: 188 - Distance:600000.000000 +++ LOD DIMENSIONS R:8.499245 -X:-7.462461 +X:4.295378 -Y:-2.138603 +Y:1.996961 -Z:-1.018499 +Z:3.460523 .. .. .. .. .. Parent[ 3788] Dimensions: R:12.421468 -X:-4.803676 +X:7.452881 -Y:-2.187887 +Y:2.187887 -Z:-2.330657 +Z:0.010306 Texture Sets 1 Dynamic Vectors 0 LODs: 2 Switchs: 0 DOFs: 0 Slots: 0 Parent's LODs # 0 - LOD ID:10126 - Distance:5000.000000 *** Parent references a LOD that exceeds the LOD database # 1 - LOD ID:10126 - Distance:10000.000000 *** Parent references a LOD that exceeds the LOD database
This is an example of few lines of the 65.286 lines.
Guys I have fought the Falcon monster and still fighting it and will continue doing it for years.
This doesn’t mean we all must loose time and all reinvent the wheel each time.
Yeap tools are super great they help us achieve the goal which is the important thing. Beside the tools we must spend time and on creation and testing. The tedious repetitive actions from coders can be easily manipulated and ease the load and experience.
Using at the same time many many apps for one task is tiring and troublesome specially for ppl with just one monitor.
It’s just a kind polite suggestion in case a coder from the Community want’s to help on this. But don’t tell me you don’t actually loose time on this or in total if u add each user’s micro time loss it’s not a considerable amount.
-
I could have been clearer there, I guess. I meant to say that having a GUI create a placeholder BMP automatically is not a big deal and easy to do.
Regards notepad++, the trick is to not close it! leave it open, like all the other tools you switch between.
I might have a go at making a simple wrapper anyway, for my own amusement/learning. It sounds like it will be mooted anyway in short order when MorteSil’s much anticipated program is released.
I dont know whether Ill be able to reinvent the wheel for it, though. Id say implementing a text editor into it would definitely be outside the scope of that little programming practice.
-
@Switch: Given that the tool is copyrighted, is there any limits on its distribution? The convenient way to make such a wrapper would be to include the .exe in the download for the wrapper, but that requires consent of copyright holders (regards redistribution).
So more info about that… As long as whoever does this makes it clear where the exe comes from, where to find the original one and gives us credit, that whoever can do whatever he wants
So have fun programming or finding someone who can, because it is definitely not going to be me :). My programming skills are not that good
-
Nor mine, but it should be an interesting exercise nonetheless. Im going to make a mess with WPF, seeing as I havent found sufficient excuse before. Had a bit of a play so far, although all I have done so far is a select folder dialog: https://github.com/Blu3wolf/3DDBBuilderGUI
Readme includes credit though.
-
Nor mine, but it should be an interesting exercise nonetheless. Im going to make a mess with WPF, seeing as I havent found sufficient excuse before. Had a bit of a play so far, although all I have done so far is a select folder dialog: https://github.com/Blu3wolf/3DDBBuilderGUI
Readme includes credit though.
Creating a “source” is misleading. Everything you need Switch has given you here.
-
Nor mine, but it should be an interesting exercise nonetheless. Im going to make a mess with WPF, seeing as I havent found sufficient excuse before. Had a bit of a play so far, although all I have done so far is a select folder dialog: https://github.com/Blu3wolf/3DDBBuilderGUI
Readme includes credit though.
Let me know if you need some help. At first glance the “code” portion is only a couple lines. You just have to build the options string based on GUI components.
-
-
Afraid I dont follow. Source? Misleading?
Thanks for the kind offer MorteSil, I may take you up on it if I get really stuck
No worries, just make sure you expose everything you want to bind to as a public property in your code behind (.XAML.cs), and don’t use any List objects (Use ObservableCollection instead). Once you figure out the intricacies of binding, WPF is pretty straight forward, as long as you have a general understanding of XAML…
-
Still working on this Blu? I see you updated your Git a few days ago.
Minor suggestion for your XAML:``` Use a StackPanel inside another Grid for your layout. Then you don't have to set your Margins or Alignments independently for every control. You can nest StackPanels and set Orientation=Horizontal for items on the same line:
Setting up Column and/or Row Definitions allows you to segment the grid into specific areas, setting up a true "Grid" inside your item. Setting the Height or Width on 1 column or Row will adjust the size and force the other one to take up the remaining available screen space. Use Grid.Column or Grid.Row to assign the element to a certain area of the container grid. More Content in the second grid area.
One big advantage to WPF in using lots and lots of grids, is you can cut/paste an entire grid to move segments around instead of adjusting individual margin elements for each control in a group. I tend to wrap almost everything in a grid, at least everything that needs to be grouped somehow.
-
Still working on it. Or at least still intending to. This is basically the busy week of the year for my current job. Havent turned the computer on much, havent had time.
Without knowing how grids work, is this a good thing? Coming from web design, where we started out using tables for layout and moved deliberately away from that, and towards using margins/padding instead.
Binding is confusing me. The idea is straightforward enough, the implementation not so much. And that for just a single line string…
-
This post is deleted! -
Not having done much GUI programming on the windows platform myself, but have you looked into the python / qt combo or electron?
Electron seems to be all the new hotness today, but it’s BIG. Python/QT will give you nice cross-platform support at a lower memory footprint and most likely faster prototyping / turnaround times.
All the best, Uwe
-
This post is deleted! -
This post is deleted! -
You know, I knew that, but didnt even stop to consider users might still be using 32 bit. Sigh. Thanks for the catch.
-
This post is deleted! -
Well, the latest commit can now use the Extract function of 3ddbbuilder, so thats something. I guess Ill want to dip my toes into multithreading now too. It locks up for several minutes while thats happening, and I guess I need a way to display the output from the program to the user.
Changed it to prefer 64 bit over 32 bit, if both are available. Apparently Visual Studio defaults to preferring 32 bit.
Not seeing it as being a great alternative to just using the command line, to be honest, but its a good exercise so far.
-
One big advantage to WPF in using lots and lots of grids, is you can cut/paste an entire grid to move segments around instead of adjusting individual margin elements for each control in a group. I tend to wrap almost everything in a grid, at least everything that needs to be grouped somehow.
The issue with WPF is that it’s been obsoleted by MSFT and only works on some platforms. Apologies for the bikeshed-level comment
How much far are you into the project? Got any low-hanging fruit for people not familiar with the codebase?
-
was that meant for MorteSil’s thread, LODEditor-Replacement? If so, it is sounding promisingly close to release. Hopefully when that happens, it also becomes open source (I can hope!).
If it was meant for here, then its all low hanging fruit here, and very little actual ‘codebase’ as its just a GUI wrapper for the existing CLI tool, 3ddbbuilder.exe. Probably if an actual programmer was working on it, it would be done by now. Im just an amateur Turns out having to stop what you are doing every line to google how to use language features really slows you down. Who knew?!
I didnt know that WPF was obsoleted already. Which platforms does it not work on?