Author Topic: wxFRED: It Begins  (Read 4276 times)

0 Members and 1 Guest are viewing this topic.

Offline z64555

  • 210
  • Self-proclaimed controls expert
    • Minecraft
    • Steam
Ok, so I finished up a big project (FringeSpace's exPAK), and now I'm looking into starting/finishing another that goes by the name of "wxFRED." I know that FreeSpaceFreak has had some luck getting the FRED code compiled against wxWidgets, and I was wondering if he had a diff or something that I could go over and see if I can start from there.

Any help would be appreciated. :)
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 FUBAR-BDHR

  • Self-Propelled Trouble Magnet
  • 212
  • Master Drunk
    • 165th Beer Drinking Hell Raisers
Big announcement like this and not even a trailer. 
No-one ever listens to Zathras. Quite mad, they say. It is good that Zathras does not mind. He's even grown to like it. Oh yes. -Zathras

 

Offline jg18

  • A very happy zod
  • 210
  • can do more than spellcheck
z64, you might want to PM FSF to make sure he sees this and knows you're interested.

Of course, you'll need to learn about FRED, both the tool and its codebase. The best if not only way to do this is by FREDding some missions. If you're just starting out, take a look at the FREDdocs (and also karajorma's new FREDdocs that were bundled with Diaspora, not sure if there's a copy on the Web), then do the extended walkthrough and ideally also create a mission or two of your own. I've heard that the FRED code only makes sense after you've made at least some simple missions.

Hope that helps.

EDIT: Here's a link to karajorma's FREDdocs, although I don't know if that's the most recent version. It's for Diaspora, but it covers FRED2 Open-only features that won't appear in the retail FREDdocs.
« Last Edit: January 25, 2013, 03:01:29 am by jg18 »

 

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
Yeah, that's the most recent version.
Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 

Offline Goober5000

  • HLP Loremaster
  • Moderator
  • 214
    • Goober5000 Productions
Good thread is good. :yes:

EDIT: Here's what I posted in the SCP internal back in 2005:

I moved the important posts from the wxFRED discussion thread here for easy reference.

Here's how to set everything up:

1) Download and install the wxWidgets package.  I used the latest official stable release, version 2.6.0.  Install it in a location without spaces, such as C:/wxWindows-2.6.0.  You should be able to use version 2.4.2, but you'll need to fiddle with the project file a bit.  I recommend 2.6.0.

2) Create the environment variable WXWIN and set it to the install location.  The slashes in the path must be forward slashes.  In Win9x and ME, edit autoexec.bat, add the variable to the current variable list, and reboot (but do step 3 before rebooting).  In WinNT, 2000, and XP, open the System applet in the Control Panel, click the Advanced tab, click Environment Variables, and add it with the dialog - no reboot is required.

3) Create the environment variable WXRC and set it to the wxRC executable directory.  WxRC won't exist yet, but it will be found at $(WXWIN)/contrib/utils/wxrc/Release for 2.4.2 and $(WXWIN)/utils/wxrc/vc_msw for 2.6.0.  This assumes you're compiling with Visual Studio, but other compilers will put wxrc.exe in similar locations.

4) Open MSVC, find the wxWidgets workspace in /src, and use Batch Build to build all (and only) the Win32 Debug and Win32 Release configurations.

The next steps vary according to your wxWidgets version.

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

For wxWidgets 2.4.2

5) Go to contrib/src/xrc and build the XRC library.  This is not part of the core codebase as of 2.4.2 - it wasn't integrated until 2.5.3.  It's needed for XRC resource support.

6) Go to contrib/utils/wxrc and build wxRC.

For wxWidgets 2.6.0

5) Open MSVC, find the wx workspace in /build/msw, and use Batch Build to build all (and only) the Win32 Debug and Win32 Release configurations.

6) Go to utils/wxrc and build wxRC.

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

7) Verify that you can run wxRC by going to the command prompt, typing "cd\" followed by "cd %WXRC%", and executing wxrc.exe.  It won't do anything, but it should run properly.  If you get "file not found", there's something wrong with your WXRC path.

8) Run a CVS update to get the latest stuff in the fs2_open directory.  Make sure you select the "Create new directories" option.

9) If you're using 2.4.2, you'll have to edit the library list.  First remove the wxbase*.lib and wxmsw*.lib files.  Remove the wx prefix from the remaining wx*.lib files.  Remove [wx]expat.lib.  Then add wxmsw.lib and wxxrc.lib.

10) Build and run!


After configuring everything, I recommend you read up on wxWidgets.  The site documentation and Google are good places to start.

Also, this looks like a great FAQ thread.
« Last Edit: January 25, 2013, 10:19:27 am by Goober5000 »

 
I'd be more than happy to test on Linux if you're going for cross-platform support.
The good Christian should beware of mathematicians, and all those who make empty prophecies. The danger already exists that the mathematicians have made a covenant with the devil to darken the spirit and to confine man in the bonds of Hell.

 
z64, you might want to PM FSF to make sure he sees this and knows you're interested.

Oh I'm seeing this alright, and I'll be following it closely! I'll see if I can get that diff for you ASAP.

 

Offline z64555

  • 210
  • Self-proclaimed controls expert
    • Minecraft
    • Steam
z64, you might want to PM FSF to make sure he sees this and knows you're interested.

Oh I'm seeing this alright, and I'll be following it closely! I'll see if I can get that diff for you ASAP.
Big announcement like this and not even a trailer.

Which one? :P


Of course, you'll need to learn about FRED, both the tool and its codebase. The best if not only way to do this is by FREDding some missions. If you're just starting out, take a look at the FREDdocs (and also karajorma's new FREDdocs that were bundled with Diaspora, not sure if there's a copy on the Web), then do the extended walkthrough and ideally also create a mission or two of your own. I've heard that the FRED code only makes sense after you've made at least some simple missions.

Hope that helps.

EDIT: Here's a link to karajorma's FREDdocs, although I don't know if that's the most recent version. It's for Diaspora, but it covers FRED2 Open-only features that won't appear in the retail FREDdocs.

Thanks, I'll be sure to look at as many vantage points to take when I get  to implementing the various dialogs and forms that FRED has.  I'm currently working on how to get an MSVC 2010 project setup so that it will compile and link correctly with wxWidgets, once that gets done I'll try making a build to see if the GUI elements will work on both WinXP and kubuntu (recently setup a dual boot :D).


Good thread is good. :yes:

EDIT: Here's what I posted in the SCP internal back in 2005:

*snip*

Thanks Goober :)


I'd be more than happy to test on Linux if you're going for cross-platform support.

Thanks, the help will be most appreciated, especially since I'm new to using a Linux machine.


z64, you might want to PM FSF to make sure he sees this and knows you're interested.

Oh I'm seeing this alright, and I'll be following it closely! I'll see if I can get that diff for you ASAP.

Feel free to PM me the .diff, or just reply with it attatched.  If possible, we might be able to put our heads together and get this rolling along smoothly. I'm usually on IRC around midnight GMT on most days, but if you can't catch me there you can email me at [email protected].
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 Mongoose

  • Rikki-Tikki-Tavi
  • Global Moderator
  • 212
  • This brain for rent.
    • Minecraft
    • Steam
    • Something
You're a brave soul, and we salute you.  :yes:

 

Offline Luis Dias

  • 211
Wow. Well, have fun with it!

 
Feel free to PM me the .diff, or just reply with it attached.  If possible, we might be able to put our heads together and get this rolling along smoothly. I'm usually on IRC around midnight GMT on most days, but if you can't catch me there you can email me at [email protected].

Alright, here's two diffs attached. 02b was generated against the latest HEAD revision (9509), although there were some conflicts while updating. 02 was generated a year ago when I was still working on it, so that's FSO rev 8464. It may not fully represent how far I got with it, but it might be the more stable of the two.

I'm afraid that my abilities will be mostly limited to testing and moral support, though - I stopped coding on it mainly because I realized the whole thing was way too complex for my basic C++ :( But I'll try to help where I can. Can test on Ubuntu Linux, and possibly Windows 7 and XP (if I get effin' MSVC to work again).

[attachment deleted by a basterd]

 

Offline z64555

  • 210
  • Self-proclaimed controls expert
    • Minecraft
    • Steam
Feel free to PM me the .diff, or just reply with it attached.  If possible, we might be able to put our heads together and get this rolling along smoothly. I'm usually on IRC around midnight GMT on most days, but if you can't catch me there you can email me at [email protected].

Alright, here's two diffs attached. 02b was generated against the latest HEAD revision (9509), although there were some conflicts while updating. 02 was generated a year ago when I was still working on it, so that's FSO rev 8464. It may not fully represent how far I got with it, but it might be the more stable of the two.

I'm afraid that my abilities will be mostly limited to testing and moral support, though - I stopped coding on it mainly because I realized the whole thing was way too complex for my basic C++ :( But I'll try to help where I can. Can test on Ubuntu Linux, and possibly Windows 7 and XP (if I get effin' MSVC to work again).

Thanks, I'll start to go over it first thing tomorrow.

Don't be so unsure of yourself when it comes to knowing a programming language, sometimes the best way to learn is through practice. :)
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 z64555

  • 210
  • Self-proclaimed controls expert
    • Minecraft
    • Steam
Ok, it looks like for the most part the base forms have been designed using wxFormBuilder, and need some tweaks here and there in order for the UI to work as expected (it's otherwise in-order).

I tried compiling FSF's wxFRED02b.diff, and it worked only after I had removed a non-existing .rc (might've been there before, but it's not there now).

I'll check back in once I get the forms and dialogs to behave. :)
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.

 
Whoops :nervous: I found a code/wxfred2/res/wxFREDicon.rc which wasn't added to the SVN, was this the one you're looking for?

[attachment deleted by a basterd]

  

Offline z64555

  • 210
  • Self-proclaimed controls expert
    • Minecraft
    • Steam
Whoops :nervous: I found a code/wxfred2/res/wxFREDicon.rc which wasn't added to the SVN, was this the one you're looking for?

Yep, that's the one, although the icon looks like it needs to be simplified as I can't make out what it's supposed to be, lol.

[Edit]
I've noticed that wxFormBuilder was used to prototype most of the forms, but it looks like much of the code isn't set up to take advantage of it. wxFormBuilder can generate a set of base classes that have all of the designed forms' basic functionality, properties, event generation, etc.. Coders can then make a new set of classes in the project code, and have them inherit the properties of the base classes generated by wxFormBuilder. This will allow the coders to program the desired functions of the forms, while still enjoying the ability to make a modification in wxFormBuilder and not have to copy-paste the changes.
« Last Edit: January 27, 2013, 01:15:12 pm by z64555 »
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.