Author Topic: Update  (Read 3278 times)

0 Members and 1 Guest are viewing this topic.

Offline Inquisitor

State of the Union, as it were.

The american holiday in early September (not to mention my wife's birthday) put the skids on a lot of formal project activity. Well, 2 weeks later, we're mostly recovered with some news.

My call for programmers garnered us 2 real prospects, one of which is part time, but well know to us: Styxx.

The other guy too my resume request seriously,he's done some darn cool stuff, but most of it has not been in C or C++, but he did provide a code sample that proved he knew what the language was, he also just acquired a copy of VC++6 from yours truly (he had a choice between buying it or using gcc ;)). Righteous1 is his name, and, maybe he can tell us all about the cool stuff he's done in his real life job ;)

Anyway, that's sorta 1.5 programmers, Styxx says he won;t have loads of time to devote, but will help out when he can. CVS access is being arranged as we speak, and hopefully we'll get some really cool things done.

Unknown Player and Random Tiger have been working on DirectX 8 graphics. Unfortunately, due to a snafu, this has happened independently (somethign i learned a lesson about, so, will endeavor to avoid this in the future), but, the upshot: Random Tiger might have working DX8 code by the end of the week that should not be terribly difficult to integrate with UP's work. Only time will tell, but it sounds promising. I need to talk to each of them again.

In other news, 3.3 should be soon, might even get the DX stuff in, we'll see (above) which would indeed mean movies as well as updated the graphics engine. But will have things like the flag to select the jaggy beams, and, if we can talk Bobbau into it, updated beam tiling code. Basically, this means all thie things we forced on you guys in 3.2 should be selectable options by 3.3 I also hope to have demo VP compatibilty in 3.3, so we can engage people without the full version, icculus got it working, so it stands to reason we won't have an issue with it.

Now: The bad news. The linux port hasn't changed at all, still no textures or sound (to my knowledge). We really need someone to have a look at where we are, and look at icculus, and get this up to snuff.

More bad news: WMCoolmon has had to scale his involvement WAY back. Which means, nobody is giving any love to FRED2 currently. WM has been a GREAT assett to this team, and we hope he gets things sorted out enough to come back and help more, we'll keep his seat warm. He left FRED2 in pretty good shape, so maybe one of the new guys can be the champion of that code.

Finally: No, I don;t have a projected date for 3.3, best I can say is no sooner than a couple weeks from now, mostly depending on the DX stuff, but also depending on people's schedules. Seems to be a busy time in the life of professional software developers, so, while we try to do our day jobs and pay the rent, I will try to get people refocused on this stuff, the new blood should help.


2 last things:
1) We should have a developer meeting VERY soon, I'll email folks.

2) Would a moderated chat for the community be of interest to people, or do you get enough communications from this forum?

That's all. Questions?
No signature.

 

Offline RandomTiger

  • Senior Member
  • 211
Quote
Originally posted by Inquisitor

Random Tiger might have working DX8 code by the end of the week


Well that was actually more of a 'what if'. Its possible, depends how much work I put in and how the code treats me. I have everything but textures sorted out, you can even play it. Could do with help from anyone who is good with graphic file formats. Theres some really tricky stuff in there.

At this time I would estimate that it will take a bit longer.

Quote
Originally posted by Inquisitor

More bad news: WMCoolmon has had to scale his involvement WAY back. Which means, nobody is giving any love to FRED2 currently.


I would like (when Im done with my current jobs) to update FRED and the model viewer to DX8 and to run in hardware. I already have code for this (povview anyway) from experients I have run to get me ready for the big DX thing. How do I get access to the FRED code?

I would also like to put forward the idea that after the DX8 stuff is done and settled and stable we should consider elimating dead code. fs2_open is so much more complicated than it has to be. How about getting rid of the software engine and perhaps even glide? And all those #if's are madness.

 

Offline Inquisitor

Thta's why I said "might" for rthe DX stuff ;)

And let's keep any new ideas to their own threads, this is just an update ;)
« Last Edit: September 18, 2002, 09:53:57 am by 122 »
No signature.

 
I suppose I should introduce myself :)

In real life, I'm a software engineer working in the flight simulation industry.
I spent 10 years working for a NASA contractor on the Shuttle Mission Simulator in
Houston, TX.  It's the simulator NASA uses to train both the astronauts and the
folks in Mission Control.  There I developed and maintained math models for the
propulsion systems (Main Engines, SRBs, etc) and orbiter systems.  I was even
forced to write a simulation for a space toliet! (Yes, they even monitor that in
MCC!  And you thought being an astronaut was a glamorous job! :))

Currently I'm working at FlightSafety in Tulsa, OK developing engine math models for
full flight simulators. I've worked on simulators for everything from business jets,
blackhawk helicoptors, to the Boeing 777.  (If only I could convince them to let
me put FS2 on one with 180x80 field of view visual and full motion! :))

Most of the software I work with is in Fortran, so thats were the vast majority of
my programming experience is.  I've taken some courses in C/C++, I just don't get
the opportunity to use it on the job.  I see the FSSCP as an opportunity to gain
some experience and still work on an interesting project.  Contructive critism is
always welcome.

I played FS2 for about a year and a half up until a year ago when my internet
connection degraded to the point where I was getting kicked from almost every
game.  I was a member of the Phoenix Vigil (no one but CP5670 probably remembers
PV :))  We dabbled in Squad Wars but mostly played for fun.  Other games I play:

Jumpgate
IW2
MW4
Deus Ex
Thief 2

e-mail:  [email protected]
ICQ:  63413377

 

Offline Bobboau

  • Just a MODern kinda guy
    Just MODerately cool
    And MODest too
  • 213
here is the state of my progress, note (when playing with the fighter beam(the one in my table named fighter beam)) the beam texture tileing, translation sheild hitting, and sound playing are all much improoved, if it works at all
I haven't tested normal beams for a while(so I'm not even suer if the default tile values get asigned properly), and I havn't even tested this exe (it actualy locked this morning as I was in the middle of testing it, and I ran out of time so this might not work at all, I'm at school now) I was trying to get afterburner trails to work so I may have re-broken everything,
if it doesn't work I'll get it working and reupload tonight

I should probly make a listing of my new changes, when I get back home
Bobboau, bringing you products that work... in theory
learn to use PCS
creator of the ProXimus Procedural Texture and Effect Generator
My latest build of PCS2, get it while it's hot!
PCS 2.0.3


DEUTERONOMY 22:11
Thou shalt not wear a garment of diverse sorts, [as] of woollen and linen together

 

Offline Inquisitor

Bobbau, it would be very very very nice to get all your stuff into fs2_open.

what do you say? can we convince you to work with us offcially, instead of just us stealing the little bits of code you release to the public?
No signature.

 

Offline phreak

  • Gun Phreak
  • 211
  • -1
I changed some more code concerning the hud.  mainly added a lead indicator for dumbfire rockets and did another eyecandy type deal with the hud targetbox (still need to cvs both).  i also added in an option in stars.tbl that when you look at a sun, it doesn't have to do the annoying glare (useful for deep space, nebulas, and ambient lights)
Offically approved by Ebola Virus Man :wtf:
phreakscp - gtalk
phreak317#7583 - discord

 

Offline Solatar

  • 211
Eyecandy is great. That's one of the things I like in the source code. When DX8 is finished, you guys will be able to do a lot. Wish I knew c++.

 

Offline Martinus

  • Aka Maeglamor
  • 210
    • Hard Light Productions

 

Offline vyper

  • 210
  • The Sexy Scotsman
Its updates like these that keep me interested in the project and convinced that my campaign is worth building. Firstly, I mean, a guy from NASA?! :eek: Also, I'm amazed at the speed the DirectX update is coming along. Well, anyhoo, good stuff guys. :)
"But you live, you learn.  Unless you die.  Then you're ****ed." - aldo14

 

Offline Solatar

  • 211
Yeah, a guy from NASA. SCP is going to be awesome! Well, more so than it already is.

 

Offline RandomTiger

  • Senior Member
  • 211
Quote
Originally posted by Hades
Eyecandy is great. That's one of the things I like in the source code. When DX8 is finished, you guys will be able to do a lot. Wish I knew c++.


Actually DX8 is only half the problem. fs2_open needs to use T&L before we are really getting somewhere.

Heres my official status:

Currently the DX8 upgrade looks like this:

http://www.ijbrooks.demon.co.uk/tom/blue.jpg

As you can see it needs some work:

1. Currently Im cheating by loading tga's instead of pcx
2. Everything seems to be a shade of blue
3. Textures are incorrectly aligned and scaled
4. Doesnt texture in 16 bit, I think I know why though
5. Obviously alpha isnt working either, not a surprise really
6. Z Buffer acting up - This is a very big worry, hadnt counted on this

So it looks like theres a fair few weeks of work left in that unless anyone wants to help out
« Last Edit: September 18, 2002, 06:44:07 pm by 848 »

 

Offline Inquisitor

Phreak: COMMITT :)

Note the smiley ;)

Seriously, get it in there, lets make something cool :)
No signature.

 

Offline penguin

  • Eudyptes codus
  • 28
  • Still alive.
... and hopefully after next week, I'll have some more time to devote to this.  RL (work & family) have been stealing all my spare cycles, so I've done nothing for several weeks :(  But there's a light at the end of the tunnel, and I should be back in biz in a week or so.

My to-do list seems to include, in no particular order:
  • add table size limits to registry so those of you w/ lots of memory can tweak things.  I started on this, but it's a little more complicated, since some of the structs have embedded fixed-size arrays in them...  I may add constructors and destructors (gasp) and change all the malloc() and free() calls to new and delete -- there is almost no performance penalty for doing this, and it opens the door for some bigger redesigns in the future.
  • I need to remember what the heck I was doing on the Linux/OpenGL port and get it moving again...
  • Perl hacker and CVS beeyatch
  • "other tasks as needed" ;)  (That's always been in my job descriptions, it seems)
Finally, as an (vaguely) amusing side-note:  My company was unloading surplus/obsolete hardware, and they were selling 6 Macs as a bundle for US$100 -- naturally, being the geek I am, I couldn't resist...  They range from an almost-useless 68040/25MHz to a usable PPC 604e/166MHz.  

So if I ever get the Linux port going, I might be able to turn my attention to an OSX port :)  (You can probably put this one in the "when pigs fly" file.)
your source code slave

 

Offline phreak

  • Gun Phreak
  • 211
  • -1
changes committed.

added cooler hud scan anim
added reticle for dumbfire missiles (useful if you have maxims and tempests)
added optional no sun glare code (best for ambient lighting or deep space missions)

use like this:

Code: [Select]

$Sun: SunRed
$Sunglow: SunglowRed
$SunRGBI: 1.0 0.1 0.1 1.0
$NoGlare:


now all 'SunRed's will not give you the whiteout effect when you look at them
Offically approved by Ebola Virus Man :wtf:
phreakscp - gtalk
phreak317#7583 - discord

 

Offline Fry_Day

  • 28
Erm, just a note to RandomTiger - The PCX file format is as follows:
first comes a header, which would look like this:

typedef struct PCXHEADER {
                       unsigned char  Manufacturer,Version,Encoding,BPP;
                       unsigned short XMin, YMin, XMax, YMax, HDpi, VDpi;
                       unsigned char ColorMap[48], Reserved, NPlanes;
                       unsigned short BytesPerLine, PalInfo, HScrSize, VScrSize;
                       char fill[54];
                       } PCXHEADER;

The size of the picture *must* be determined by X/Ymax - X/YMin, since not all PCX savers support HDpi and VDpi, and although I haven't seen a single PCX that didn't have XMin and YMin set to 0, better safe than sorry (Another tiny afterthought: don't forget to add 1 to XMax and YMax (a picture from 0 to 127 is 128 pixels wide)). I also believe that Version should be set to 5, since that's the version used by both 256 color and 24bpp PCXs.
One nasty PCX trap is that BytesPerLine is always even, even if the width of the picture is odd (It seems pretty stupid to keep word alignment in a file, even if it makes sense in memory), but that shouldn't be a problem since texture sizes are powers of two.

A PCX is encoded like so:
If the upper two bits of a byte are set ( if(byte&0xc0) ), then the lower six bytes are the length of an RLE run, and the next byte is data, regardless of wether it's upper bytes are set or not, so an unoptimized loop would look like:

byte = fgetc(PCX);
if (byte&0xc0)
{
 byte2 = fgetc(PCX)
 for(i=0;i  *image++=byte2;
}
else *image++=byte;

If the PCX is 256 color, the last 768 bytes of the file store the palette.

I have no idea how 4-bit and monochrome PCXs are packed, though, so don't assume anything I said here would apply (except the header), and hope FS2 doesn't use those :)

Ideally, you'd load the image incrementally into a buffer (In, say, 2kb blocks), and process those. That would be faster than relying on the built-in buffering used by fgetc() (Though I can't admit I checked that on any compiler more recent than Borland C++ 4.10).

Hope this info helps you. I'd do it myself, except that I don't have a C++ Compiler on this system, and I'm too lazy to install one, let alone do the code :)

Edit: Whoops! That code won't work for a 24-bit PCX (Though FS2 doesn't use those, AFAIK), since they're stored in a planar fasion (Nplanes is set to 3, and each scanline is stored with all reds first, then all blues, then all greens), so you'd need to modify it to get one loop to handle all cases, and it would get pretty nasty with the RLE encoding if you want to do everything single-pass.
The simplest method would be to also add an outer loop that runs from 0 to nplanes-1, and increment the pointer each time by BPP (in the header) instead of 1, so basically after the first pass your memory buffer will be:
[R _ _ R _ _ R _ _ ...]
After the Second:
[R G _ R G _ R G _ ...]
and then
[R G B R G B R G B ...]
that way you could easily use one loop to handle both 8 and 24 bpp images.
« Last Edit: September 20, 2002, 05:07:42 pm by 791 »

 

Offline RandomTiger

  • Senior Member
  • 211
Thanks for the input Fry Day.
You should install a compiler :)