Author Topic: wxFRED: July '13 Progress Report  (Read 4072 times)

0 Members and 1 Guest are viewing this topic.

Offline z64555

  • 210
  • Self-proclaimed controls expert
    • Minecraft
    • Steam
wxFRED: July '13 Progress Report
Ladies and Gent's, you will all be happy to know that the first phase of the Get wxFRED Working project has been completed! All major editors have been designed, and now I turn my focus onto "wiring them up."

The wiring process will first connect the frames to the main wxFRED2 frame, so that the appropriate subordinate frame will displayed when you click on its corresponding menu item on the wxFRED2 frame. Once this is done, it will finally be time to dive into the behemoth that is the FRED2 code-base, so that the frames will get some actual muscle to pull around their dainty weight.


Technical Stuff:
The wxFormBuilder project file that currently holds all of the configuration data of wxFRED ultimately will not be committed along with the new .cpp's and .h's. The reason for this is that the wxFormBuilder is currently over 5MB and is not expected to slim down anytime soon.

Instead, the .xrc file (which contains all the needed form design data) will be generated by wxFormBuilder and committed along with a README.txt that will outline the needed project settings such as resource and output directories. Why wxFormBuilder's project file is so bloated, I cannot tell for now.

And, as mentioned before in the previous project report (2 months ago!?) I am using a local Git repo to backup my stuff. I also just recently got a Github account, and I'm considering making a clone of the progress there as well.


Shiny Stuff:
Here be .gif's of the new wxFRED forms!


Object Editor


Wing Editor


Waypoint Editor


Mission Objectives Editor


Events Editor


Team Loadout Editor


Reinforcements Editor


Briefing Editor


Debriefing Editor


Command Briefing Editor


Fiction Viewer


Shield System Editor


Global Ship Flags Editor


Voice Acting Manager


Campaign Editor (topmost controls shown)


Campaign Editor (bottommost controls shown)


Mission Statistics


About FRED2 :D


Hmm, what could this be?

Secure the Source, Contain the Code, Protect the Project
chief1983

------------
funtapaz: Hunchon University biologists prove mankind is evolving to new, higher form of life, known as Homopithecus Juche.
z64555: s/J/Do
BotenAlfred: <funtapaz> Hunchon University biologists prove mankind is evolving to new, higher form of life, known as Homopithecus Douche.

 

Offline Goober5000

  • HLP Loremaster
  • Moderator
  • 214
    • Goober5000 Productions
Re: wxFRED: July '13 Progress Report
Outstanding. :)

I would say to just go ahead and commit the wxFormBuilder project, even if it is oversized.  It's helpful for development purposes, and it won't affect the size of the published wxFRED.

 
Re: wxFRED: July '13 Progress Report
Ah, good to see this still alive! RL has me quite busy ATM, but I hope to be able to contribute again in a few months from now.

 

Offline Arpit

  • 27
Re: wxFRED: July '13 Progress Report
What's argument info(last pic)? Is it for -argument SEXPs ?

 

Offline Rodo

  • Custom tittle
  • 212
  • stargazer
    • Minecraft
    • Steam
Re: wxFRED: July '13 Progress Report
I long for a new fred, wuv u forever :yes:
el hombre vicio...

 

Offline Fury

  • The Curmudgeon
  • 213
Re: wxFRED: July '13 Progress Report
I feel ashamed I haven't posted here to encourage you fine folks on this undertaking. I am also dumbfounded why this topic gathered so little attention when it was posted. Come on people!

Keep up good work.  :yes:

 

Offline FelixJim

  • 28
  • User 11092
Re: wxFRED: July '13 Progress Report
Want.
In-Mission Techroom Script v0.4 - See information from the techroom in game
Simple Animation Script v0.2 - Make your own on-screen animations for FSO
Visible Waypoints Script - Makes waypoints visible in-game
Run From File Script - Get around the pesky 31 character limit for script-eval

 

Offline z64555

  • 210
  • Self-proclaimed controls expert
    • Minecraft
    • Steam
Re: wxFRED: July '13 Progress Report Addenda
Commited some wxFred changes to the SVN, please let me know if any build conflicts arise from them (there shouldn't be any, but just in case)

Everyone should be able to compile the new wxFred to see what all has been done so far. I'm still against uploading any .fbp file to the SVN (due to its size and nature), but if this proves to be a problem with further design of the GUI, I'll go ahead and commit a copy.

I'm currently looking at the problem of implementing the fred viewport, by using wxWidget's method of GLCanvases and GLContexts. Hopefully if I can get this set up right, wxFred will allow for a better briefing editor and maybe also multiple viewports in the future.
Secure the Source, Contain the Code, Protect the Project
chief1983

------------
funtapaz: Hunchon University biologists prove mankind is evolving to new, higher form of life, known as Homopithecus Juche.
z64555: s/J/Do
BotenAlfred: <funtapaz> Hunchon University biologists prove mankind is evolving to new, higher form of life, known as Homopithecus Douche.

 

Offline mjn.mixael

  • Cutscene Master
  • 212
  • Chopped liver
    • Steam
    • Twitter
Re: wxFRED: July '13 Progress Report
I didn't try too hard.. but a simple compile failed on MVSC 2010. Dunno if I need to specify some options or anything first (or make sure all the proper files are linked).
Cutscene Upgrade Project - Mainhall Remakes - Between the Ashes
Youtube Channel - P3D Model Box
Between the Ashes is looking for committed testers, PM me for details.
Freespace Upgrade Project See what's happening.

 

Offline z64555

  • 210
  • Self-proclaimed controls expert
    • Minecraft
    • Steam
Re: wxFRED: July '13 Progress Report
oh, right, forgot to mention that you need the wxWidgets 2.9.4 or later lib's built. I've currently got it configured to do static linking because I had trouble getting the dynamic linking working.

You'll need an Environment Variable for windows (WXWIN) that points to the install folder such as C:/code/wxwidgets-2.9.4
Secure the Source, Contain the Code, Protect the Project
chief1983

------------
funtapaz: Hunchon University biologists prove mankind is evolving to new, higher form of life, known as Homopithecus Juche.
z64555: s/J/Do
BotenAlfred: <funtapaz> Hunchon University biologists prove mankind is evolving to new, higher form of life, known as Homopithecus Douche.

 

Offline mjn.mixael

  • Cutscene Master
  • 212
  • Chopped liver
    • Steam
    • Twitter
Re: wxFRED: July '13 Progress Report
Would you be willing to whip up a short how to on that? I'd love to be able to build it in order to provide more support and testing. (Sorry that's all I can offer :p )
Cutscene Upgrade Project - Mainhall Remakes - Between the Ashes
Youtube Channel - P3D Model Box
Between the Ashes is looking for committed testers, PM me for details.
Freespace Upgrade Project See what's happening.

 

Offline z64555

  • 210
  • Self-proclaimed controls expert
    • Minecraft
    • Steam
Re: wxFRED: July '13 Progress Report
wxWidgets installation guides

First, download the the source files from wxWidgets Download page. I currently have 2.9.4 and it has been pretty stable for me so far. Their stable release, 2.8.12, has a lot of things deprecated since 2.9 and 2.9 has a number of goodies in it that should make life easier.

Unpack the source files into a directory without spaces, such as "C:/code/wxWidgets-2.9.4". The unpacking software should take care of the naming for you.

For Windows, Create an environment variable named WXWIN, and set it to be the full path name of your installation location (C:/code/wxWidgets-2.9.4 for this example)

Since it's been awhile, I don't quite remember if I had any problems building wxWidgets 2.9.4 on MSVC 2010, all I did was select the "Universal Release" solution configuration and Built it from there. There's a header file somewhere that allows you to enable/disable particular components of wxWidgets, but I don't think you'll need to mess with it at all.
Secure the Source, Contain the Code, Protect the Project
chief1983

------------
funtapaz: Hunchon University biologists prove mankind is evolving to new, higher form of life, known as Homopithecus Juche.
z64555: s/J/Do
BotenAlfred: <funtapaz> Hunchon University biologists prove mankind is evolving to new, higher form of life, known as Homopithecus Douche.

 

Offline niffiwan

  • 211
  • Eluder Class
Re: wxFRED: July '13 Progress Report
Would it be worthwhile (especially given that 2.9.x is the development release) including the wxWidgets build as part of the wxFRED build?  Like how libpng/liblua (etc) are currently configured?
(Given that most Linux distro's will stick with the latest stable for their repos, I'd like to do this for the autotools build.  Somehow.  When I figure out how. :nervous:)
Creating a fs2_open.log | Red Alert Bug = Hex Edit | MediaVPs 2014: Bigger HUD gauges | 32bit libs for 64bit Ubuntu
----
Debian Packages (testing/unstable): Freespace2 | wxLauncher
----
m|m: I think I'm suffering from Stockholm syndrome. Bmpman is starting to make sense and it's actually written reasonably well...

 

Offline z64555

  • 210
  • Self-proclaimed controls expert
    • Minecraft
    • Steam
Re: wxFRED: July '13 Progress Report
wxWidgets is far larger (in number of files) than libpng and liblua combined.  :nervous:
Secure the Source, Contain the Code, Protect the Project
chief1983

------------
funtapaz: Hunchon University biologists prove mankind is evolving to new, higher form of life, known as Homopithecus Juche.
z64555: s/J/Do
BotenAlfred: <funtapaz> Hunchon University biologists prove mankind is evolving to new, higher form of life, known as Homopithecus Douche.

 

Offline niffiwan

  • 211
  • Eluder Class
Re: wxFRED: July '13 Progress Report
I think I've almost got wxFRED compiling on Linux, using wxWidgets 2.9.5 compiled separately.  However, I've got the following error and I have no idea where wxGLContext::wxGLContext() or wxGLCanvas::wxGLCanvas is being called in the class initialiser list :confused:  Is it just that you're halfway through the process of setting up the viewpoints?  (note, line 82 was also complaining until I hacked at it)

Code: [Select]
wxfred2/frmFRED2.h: In constructor ‘frmFRED2::frmFRED2(const wxChar*, int, int, int, int)’:
wxfred2/frmFRED2.h:274:17: warning: ‘frmFRED2::fredName’ will be initialised after [-Wreorder]
wxfred2/frmFRED2.h:244:18: warning:   ‘frmShipsEditor* frmFRED2::frmShipsEditor_p’ [-Wreorder]
wxfred2/frmFRED2.cpp:50:1: warning:   when initialised here [-Wreorder]
wxfred2/frmFRED2.cpp:59:94: error: no matching function for call to ‘wxGLContext::wxGLContext()’
wxfred2/frmFRED2.cpp:59:94: note: candidates are:
/usr/local/include/wx-2.9/wx/unix/glx11.h:23:5: note: wxGLContext::wxGLContext(wxGLCanvas*, const wxGLContext*)
/usr/local/include/wx-2.9/wx/unix/glx11.h:23:5: note:   candidate expects 2 arguments, 0 provided
/usr/local/include/wx-2.9/wx/unix/glx11.h:20:22: note: wxGLContext::wxGLContext(const wxGLContext&)
/usr/local/include/wx-2.9/wx/unix/glx11.h:20:22: note:   candidate expects 1 argument, 0 provided
wxfred2/frmFRED2.cpp:59:94: error: no matching function for call to ‘wxGLCanvas::wxGLCanvas()’
wxfred2/frmFRED2.cpp:59:94: note: candidates are:
/usr/local/include/wx-2.9/wx/gtk/glcanvas.h:77:5: note: wxGLCanvas::wxGLCanvas(wxWindow*, const wxGLCanvas*, wxWindowID, const wxPoint&, const wxSize&, long int, const wxString&, const int*, const wxPalette&)
/usr/local/include/wx-2.9/wx/gtk/glcanvas.h:77:5: note:   candidate expects 9 arguments, 0 provided
/usr/local/include/wx-2.9/wx/gtk/glcanvas.h:65:5: note: wxGLCanvas::wxGLCanvas(wxWindow*, const wxGLContext*, wxWindowID, const wxPoint&, const wxSize&, long int, const wxString&, const int*, const wxPalette&)
/usr/local/include/wx-2.9/wx/gtk/glcanvas.h:65:5: note:   candidate expects 9 arguments, 0 provided
/usr/local/include/wx-2.9/wx/gtk/glcanvas.h:54:5: note: wxGLCanvas::wxGLCanvas(wxWindow*, wxWindowID, const wxPoint&, const wxSize&, long int, const wxString&, const int*, const wxPalette&)
/usr/local/include/wx-2.9/wx/gtk/glcanvas.h:54:5: note:   candidate expects 8 arguments, 0 provided
/usr/local/include/wx-2.9/wx/gtk/glcanvas.h:24:5: note: wxGLCanvas::wxGLCanvas(wxWindow*, wxWindowID, const int*, const wxPoint&, const wxSize&, long int, const wxString&, const wxPalette&)
/usr/local/include/wx-2.9/wx/gtk/glcanvas.h:24:5: note:   candidate expects 8 arguments, 0 provided
/usr/local/include/wx-2.9/wx/gtk/glcanvas.h:21:22: note: wxGLCanvas::wxGLCanvas(const wxGLCanvas&)
/usr/local/include/wx-2.9/wx/gtk/glcanvas.h:21:22: note:   candidate expects 1 argument, 0 provided
wxfred2/frmFRED2.cpp:85:139: warning: ‘wxGLCanvas::wxGLCanvas(wxWindow*, wxWindowID, const wxPoint&, const wxSize&, long int, const wxString&, const int*, const wxPalette&)’ is deprecated (declared at /usr/local/include/wx-2.9/wx/gtk/glcanvas.h:54) [-Wdeprecated-declarations]

Code: (code/wxfred2/frmFRED2.cpp:50-59) [Select]
frmFRED2::frmFRED2( const wxChar *title, int xpos, int ypos, int width, int height )
: fredBase::frmFRED( NULL, wxID_ANY, wxEmptyString, wxPoint(xpos, ypos), wxSize(width, height) ),
currentFilename("Untitled"), fredName("FreeSpace 2 Mission Editor"),
frmShipsEditor_p(NULL), frmWingEditor_p(NULL), dlgObjectEditor_p(NULL),
frmWaypointEditor_p(NULL), dlgMissionObjectivesEditor_p(NULL), dlgEventsEditor_p(NULL),
frmTeamLoadoutEditor_p(NULL), dlgBackgroundEditor_p(NULL), dlgReinforcementsEditor_p(NULL),
dlgAsteroidFieldEditor_p(NULL), dlgMissionSpecsEditor_p(NULL), frmBriefingEditor_p(NULL),
frmDebriefingEditor_p(NULL), frmCommandBriefingEditor_p(NULL), dlgFictionViewer_p(NULL),
dlgShieldSystemEditor_p(NULL), dlgSetGlobalShipFlagsEditor_p(NULL), dlgVoiceActingManager_p(NULL),
frmCampaignEditor_p(NULL), dlgMissionStats_p(NULL), dlgAboutBox_p(NULL), dlgSexpHelp_p(NULL)
Creating a fs2_open.log | Red Alert Bug = Hex Edit | MediaVPs 2014: Bigger HUD gauges | 32bit libs for 64bit Ubuntu
----
Debian Packages (testing/unstable): Freespace2 | wxLauncher
----
m|m: I think I'm suffering from Stockholm syndrome. Bmpman is starting to make sense and it's actually written reasonably well...

 

Offline The E

  • He's Ebeneezer Goode
  • Moderator
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
Re: wxFRED: July '13 Progress Report
wxWidgets is far larger (in number of files) than libpng and liblua combined.  :nervous:

Yes, but you could conceivably provide the headers and .lib files to link against, if only as a separate download. Building wxWidgets is weird, with all those switches in headers and stuff.
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns

 

Offline z64555

  • 210
  • Self-proclaimed controls expert
    • Minecraft
    • Steam
Re: wxFRED: July '13 Progress Report
I think I've almost got wxFRED compiling on Linux, using wxWidgets 2.9.5 compiled separately.  However, I've got the following error and I have no idea where wxGLContext::wxGLContext() or wxGLCanvas::wxGLCanvas is being called in the class initialiser list :confused:  Is it just that you're halfway through the process of setting up the viewpoints?  (note, line 82 was also complaining until I hacked at it)

Bugger. Looks like some of the experimental code for the viewport setup snuck into the commit. The error you're getting is most likely due to the wxGLCanvas (or wxGLContext, I forget which) private member way at the bottom of frmFRED.h, it's not initialized in the constructor, so the compiler is probably trying to do a call to the nonexistant default constructor (a lot of wxWidgets classes require you to use a specific constructor).

wxWidgets is far larger (in number of files) than libpng and liblua combined.  :nervous:

Yes, but you could conceivably provide the headers and .lib files to link against, if only as a separate download. Building wxWidgets is weird, with all those switches in headers and stuff.

Likely doable. I'll see if I can get something like that set up.
Secure the Source, Contain the Code, Protect the Project
chief1983

------------
funtapaz: Hunchon University biologists prove mankind is evolving to new, higher form of life, known as Homopithecus Juche.
z64555: s/J/Do
BotenAlfred: <funtapaz> Hunchon University biologists prove mankind is evolving to new, higher form of life, known as Homopithecus Douche.