0.6 plans

Development directions, tasks, and features being actively implemented or pursued by the development team.
Post Reply
loki1950
The Shepherd
Posts: 5841
Joined: Fri May 13, 2005 8:37 pm
Location: Ottawa
Contact:

Re: 0.6 plans

Post by loki1950 »

safemode wrote:I think the only way this csv issue is going to be resolved properly is by creating a python tool that can translate to and from csv. give the modder a decent interface, not some stupid spreadsheet. Then we can optimize the file layout without worrying about affecting modders.
Have a look at pyramid's UnitConverter it's a good start but he did pick an ambiguous name.It uses tinkler for the GUI a switch to Qt or wxwidgets might be a better though.

Enjoy the Choice :)
my box::HP Envy i5-6400 @2Q70GHzx4 8 Gb ram/1 Tb(Win10 64)/3 Tb Mint 19.2/GTX745 4Gb acer S243HL K222HQL
Q8200/Asus P5QDLX/8 Gb ram/WD 2Tb 2-500 G HD/GF GT640 2Gb Mint 17.3 64 bit Win 10 32 bit acer and Lenovo ideapad 320-15ARB Win 10/Mint 19.2
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: 0.6 plans

Post by klauss »

Thing with Qt is that I'm not sure how hard it is to have windows installers that include Qt.

In any case, sure, if we had such a tool, it would be far preferable.

The rationale for csv was that, when balancing, one has to have the stats of all units at hand, to be able to compare, and to effect widespread changes easily. And I think that makes sense.

The problem right now isn't having the stats in the CSV, it's the fact that the CSV has to contain all the other stuff about units that CSV isn't suitable for, like cargo imports, mount and exhaust, all that stuff that really shouldn't be part of a CSV.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
loki1950
The Shepherd
Posts: 5841
Joined: Fri May 13, 2005 8:37 pm
Location: Ottawa
Contact:

Re: 0.6 plans

Post by loki1950 »

Yeah wxwigets is much simpler to include with an installer as it is just a library of functions that is imported by Python.

Enjoy the Choice :)
my box::HP Envy i5-6400 @2Q70GHzx4 8 Gb ram/1 Tb(Win10 64)/3 Tb Mint 19.2/GTX745 4Gb acer S243HL K222HQL
Q8200/Asus P5QDLX/8 Gb ram/WD 2Tb 2-500 G HD/GF GT640 2Gb Mint 17.3 64 bit Win 10 32 bit acer and Lenovo ideapad 320-15ARB Win 10/Mint 19.2
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: 0.6 plans

Post by Deus Siddis »

klauss wrote: In any case, sure, if we had such a tool, it would be far preferable.
Meh, in-house tools are buggy, poorly maintained and lack important features. Just look at UnitConverter.
The rationale for csv was that, when balancing, one has to have the stats of all units at hand, to be able to compare, and to effect widespread changes easily. And I think that makes sense.
Well I can see how it would make it easier to add a new column. But that's about the only widespread change you ever actually make in practice. Most changes have to be more precise than that, being made on a per unit.

But as far as comparisons go, if having everything in one file makes them easier, why not apply that same strategy to c++ source files? Everyone knows you want to have all your code in one giant .c++ so that you can easily compare the class that starts on line 25331 with the one on line 307593.
The problem right now isn't having the stats in the CSV, it's the fact that the CSV has to contain all the other stuff about units that CSV isn't suitable for, like cargo imports, mount and exhaust, all that stuff that really shouldn't be part of a CSV.
By what release could this change be accomplished do you think?
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: 0.6 plans

Post by klauss »

Deus Siddis wrote:But as far as comparisons go, if having everything in one file makes them easier, why not apply that same strategy to c++ source files? Everyone knows you want to have all your code in one giant .c++ so that you can easily compare the class that starts on line 25331 with the one on line 307593.
LOL - you made me laugh. No... not the same thing. Nope. Not...
Deus Siddis wrote:
The problem right now isn't having the stats in the CSV, it's the fact that the CSV has to contain all the other stuff about units that CSV isn't suitable for, like cargo imports, mount and exhaust, all that stuff that really shouldn't be part of a CSV.
By what release could this change be accomplished do you think?
0.5.2 optimistically, 0.5.3 more like it. It's not a big or difficult change, IMHO. The most difficult thing is figuring out where to put stuff, and of course translating current data to those new formats and locations. But the coding itself I don't expect to be very difficult.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: 0.6 plans

Post by klauss »

I think I'm close to making py3 work for me :)

After that, which I'm estimating will be this weekend, if it's up to me, we can merge the py3 branch back into trunk.

What about everybody else?
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
safemode
Developer
Developer
Posts: 2150
Joined: Mon Apr 23, 2007 1:17 am
Location: Pennsylvania
Contact:

Re: 0.6 plans

Post by safemode »

What issues you having getting py3 to work on your machine? Easy as hell with Debian . I have like 3 Python versions
Ed Sweetman endorses this message.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: 0.6 plans

Post by klauss »

For starters, cmake doesn't detect py3, because it was an old version of FindPythonLibs.

That fixed (by updating my distro in fact), switching between py2 and py3 was really difficult because of CMake's cache. I'm working around that, and when I have a workable and not-too-hackish solution I'll commit it to trunk.

Finally, boost. But with 1.53 as external in SVN it started working quite alright. 1.53 didn't get along very well with Ogre in mesher, so I had to fix that

And when I say working, I mean building. I haven't launched py3 yet (gotta switch to py3 branch, but SVN became completely broken by the distro upgrade, and it took me a while to fix that).

PS: In fact, I think the bulk of all my problems was boost. With boost's interaction with Ogre fixed, I'm thinking I should be able to build even in the old distro (by manually setting python variables to the right paths). I should try that, I still have a machine with 11.4 somewhere.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
safemode
Developer
Developer
Posts: 2150
Joined: Mon Apr 23, 2007 1:17 am
Location: Pennsylvania
Contact:

Re: 0.6 plans

Post by safemode »

Don't push fixes to trunk that deal with py3 branch. When it gets merged all these pushes to trunk will only complicate the merge. Py3 branch has ALOT to merge into trunk. Instead push to py3 branch.
Ed Sweetman endorses this message.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: 0.6 plans

Post by klauss »

safemode wrote:Don't push fixes to trunk that deal with py3 branch. When it gets merged all these pushes to trunk will only complicate the merge. Py3 branch has ALOT to merge into trunk. Instead push to py3 branch.
I'm aware of that. I intend to do the required merging, because what I'm fixing I don't think has been addressed on the py3 branch (I've been following the commits, sorta), and it's only some CMakeLists.txt stuff that ought to be easily mergeable.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
pheonixstorm
Elite
Elite
Posts: 1567
Joined: Tue Jan 26, 2010 2:03 am

Re: 0.6 plans

Post by pheonixstorm »

klauss wrote:Thing with Qt is that I'm not sure how hard it is to have windows installers that include Qt.
It's not hard. The tools should not be part of the main package though. Mod tools should be a separate download. I still hope to finish my tools... just need to go back and get my auto-update feature to work (for win at least) and get it to show when a new software update is available.

Qt is default on my linux distros. Not sure if its preinstalled on OSX or not, and I know its not installed on Windows unless you happen to develop with Qt.
Because of YOU Arbiter, MY kids? can't get enough gas. OR NIPPLE! How does that mkae you feeeel? ~ Halo
safemode
Developer
Developer
Posts: 2150
Joined: Mon Apr 23, 2007 1:17 am
Location: Pennsylvania
Contact:

Re: 0.6 plans

Post by safemode »

More warning cleanups coming tonight. I hope to get through and finish all of them tonight.
Ed Sweetman endorses this message.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: 0.6 plans

Post by klauss »

safemode wrote:More warning cleanups coming tonight. I hope to get through and finish all of them tonight.
Just saying, can't put my finger on it before I do a proper review, but some of them seem like wrong. Only some.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
safemode
Developer
Developer
Posts: 2150
Joined: Mon Apr 23, 2007 1:17 am
Location: Pennsylvania
Contact:

Re: 0.6 plans

Post by safemode »

some of them aren't warning fixes. A couple of them have to do with attempting to reduce unecessary cpu load.

Either way, the game runs fine. The issues that python spits out about occurred before any of that.

Our main non-crashable error is this warning about using a Null unit. Of course, i dont know if we can have the engine report the script file that the error occurs from or what... but i think that's our biggest issue to deal with.
Ed Sweetman endorses this message.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: 0.6 plans

Post by klauss »

safemode wrote:some of them aren't warning fixes. A couple of them have to do with attempting to reduce unecessary cpu load.
Well, the last one about the redundant GFX update, that was required to properly update the camera unit's position. Otherwise, it was updated mid-render, and the background lagged a frame behind. Make sure you didn't regress that with that last commit.

PS: Unless it's not what I think, as I said, I didn't really thoroughly review the diff.

PS2: MEh... reviewing's too much work... and you already worked, so why work twice. Just beware of that little issue.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
safemode
Developer
Developer
Posts: 2150
Joined: Mon Apr 23, 2007 1:17 am
Location: Pennsylvania
Contact:

Re: 0.6 plans

Post by safemode »

as far as i could see playing, it looked fine. And it seemed to remove that weird flash render when launching from a base. (it would render a screen from a different frame of reference then fix on the cockpit of the ship)...


Another thing i'm stuck at. And it's extremely annoying. quadtsquare.cpp . It seems we stole code that a number of other projects (probably starting with tuxracer) use.

first
int index = ix^(iz^1)+(iz<<1);

anything to ^1 is what you are raising. So that statement part doesn't make any sense at all to me. Yet it is how we have it on every project i've seen that uses the same code (and a number of projects did).

why did nobody simply make it
int index = ix^iz - iz<<1; which is (ix ^ iz ) - (iz / 2) ?

why keep the ^1 ? it's utterly perplexing. No project that stole the code changed it.


The next block of code is in the same file. It is also copied exactly as how we currently have it. It's also never been changed in any other projects.

if (lx < 0) lx = 0;
if (lx > 1) lx = 1;
lz -= iz;
if (lx < 0) lz = 0;
if (lz > 1) lz = 1;


How is that if(lx < 0) lz=0; line not better combined with the first lx<0 conditional?

if (lx <= 0) {
lx = 0;
lz = 0;
} else {
lx = 1;
lz -= iz;
}
if (lz > 1) lz = 1;

Nobody made such a change who stole this code and yet it seems fairly obvious .... wtf is going on here?
Ed Sweetman endorses this message.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: 0.6 plans

Post by klauss »

safemode wrote: first
int index = ix^(iz^1)+(iz<<1);

anything to ^1 is what you are raising.
No, it's bitwise xor.
safemode wrote: How is that if(lx < 0) lz=0; line not better combined with the first lx<0 conditional?
Because the second happens after modifying lx (so it might return something different). In fact, the second one I think is dead code. Not sure though.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
safemode
Developer
Developer
Posts: 2150
Joined: Mon Apr 23, 2007 1:17 am
Location: Pennsylvania
Contact:

Re: 0.6 plans

Post by safemode »

ok, so bitwize xor aside,

the third lx<0 conditional is indeed dead code. lx can never be less than zero after the first two conditionals and it's not changed in between that group and the third. fixing.
Ed Sweetman endorses this message.
safemode
Developer
Developer
Posts: 2150
Joined: Mon Apr 23, 2007 1:17 am
Location: Pennsylvania
Contact:

Re: 0.6 plans

Post by safemode »

ok, warning fixes are done. All that's left is deprecated ffmpeg functions (so many) and double -> float narrowing. Both are serious and should be dealt with before we begin implementing new or changing current features in the game.
Ed Sweetman endorses this message.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: 0.6 plans

Post by klauss »

safemode wrote:ok, warning fixes are done. All that's left is deprecated ffmpeg functions (so many) and double -> float narrowing. Both are serious and should be dealt with before we begin implementing new or changing current features in the game.
Narrowing are yours (they're trivially fixed with an explicit float cast, not that there's any other option anyway). I've been looking into the ffmpeg thing already, and I'll take care of those when time permits.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
safemode
Developer
Developer
Posts: 2150
Joined: Mon Apr 23, 2007 1:17 am
Location: Pennsylvania
Contact:

Re: 0.6 plans

Post by safemode »

Narrowing are yours (they're trivially fixed with an explicit float cast, not that there's any other option anyway). I've been looking into the ffmpeg thing already, and I'll take care of those when time permits.

The problem with casting is it's just hiding the warning, not actually doing anything about fixing it. Some times that's ok. Other times it's not. I'm going to have to look into each narrowing warning and see if the warning is telling us we're doing something wrong that really needs to stay double, or we can safely swap down to float.
Ed Sweetman endorses this message.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: 0.6 plans

Post by klauss »

safemode wrote:
Narrowing are yours (they're trivially fixed with an explicit float cast, not that there's any other option anyway). I've been looking into the ffmpeg thing already, and I'll take care of those when time permits.

The problem with casting is it's just hiding the warning, not actually doing anything about fixing it. Some times that's ok. Other times it's not.
The ones I saw are initializers for coordinate arrays used in GFXDraw calls. For those, narrowing will happen regardless (on the hardware). So...
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
safemode
Developer
Developer
Posts: 2150
Joined: Mon Apr 23, 2007 1:17 am
Location: Pennsylvania
Contact:

Re: 0.6 plans

Post by safemode »

Ok, so i'm cleaning up the optional variables... and finally consolidating _ALL_ of them into the vs_options class ...since that work was started and never completed years ago.

Came across the sparkles code in halo. Each particle initializes a opcode collider? There has to be a better way to signify damage.

seems like a damage shader that can be executed on units with hull damage that modifies the textures similar to how we have planetary shaders that work on them would be far more functional.

Either way, this particle system needs serious overhauling. and it should be default off until it's practical. As of now, it makes the game completely un-playable when rendered to screen.
Ed Sweetman endorses this message.
loki1950
The Shepherd
Posts: 5841
Joined: Fri May 13, 2005 8:37 pm
Location: Ottawa
Contact:

Re: 0.6 plans

Post by loki1950 »

and it should be default off until it's practical. As of now, it makes the game completely un-playable when rendered to screen.
To be expected as you are using software rendering till you get that new GPU not that much of a hit with proper hardware rendering though it does not look all that good.

Enjoy the Choice :)
my box::HP Envy i5-6400 @2Q70GHzx4 8 Gb ram/1 Tb(Win10 64)/3 Tb Mint 19.2/GTX745 4Gb acer S243HL K222HQL
Q8200/Asus P5QDLX/8 Gb ram/WD 2Tb 2-500 G HD/GF GT640 2Gb Mint 17.3 64 bit Win 10 32 bit acer and Lenovo ideapad 320-15ARB Win 10/Mint 19.2
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: 0.6 plans

Post by klauss »

safemode wrote:Ok, so i'm cleaning up the optional variables... and finally consolidating _ALL_ of them into the vs_options class ...since that work was started and never completed years ago.
I saw the patches. It's not so nice to add extern blah game_options to every cpp that uses it, include the extern in options.h.

Additionally, I'm reworking particle systems so all the options about particle systems will probably collide with trunk. Again, not your problem, just mentioning I'll have to work extra to merge that.

Other than that, go ahead, it will probably make it easier to edit settings on-the-fly.
safemode wrote:Came across the sparkles code in halo. Each particle initializes a opcode collider? There has to be a better way to signify damage.
Um... an opcode collider itself isn't that expensive, but sure, it should be improved. Don't worry. I'm already reworking much of that code.
safemode wrote:seems like a damage shader that can be executed on units with hull damage that modifies the textures similar to how we have planetary shaders that work on them would be far more functional.
Yes... got tons of ideas regarding this, though I'm sure my ideas would require hefty hardware (because of all the texture units it would require, far higher than average).
safemode wrote:Either way, this particle system needs serious overhauling. and it should be default off until it's practical. As of now, it makes the game completely un-playable when rendered to screen.
I'm on it.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
Post Reply