Duke4.net Forums: PolymerNG - Xbox One and Windows 10 - Duke4.net Forums

Jump to content

  • 41 Pages +
  • « First
  • 2
  • 3
  • 4
  • 5
  • 6
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

PolymerNG - Xbox One and Windows 10

User is offline   Lunick 

#91

View PostSpiker, on 01 May 2016 - 02:03 AM, said:

Hendricks why are you so harsh all the time? Do you feel jelaous that ICD makes stuff you wanted to make on your own? Sorry, I'd rather not wait another 10 years for that if it happens at all. Please be more humble.

Oh boy
Posted Image
4

#92

View PostSpiker, on 01 May 2016 - 02:03 AM, said:

Hendricks why are you so harsh all the time? Do you feel jelaous that ICD makes stuff you wanted to make on your own? Sorry, I'd rather not wait another 10 years for that if it happens at all. Please be more humble.

I woke up to quite a few e-mails on this subject and I need everyone to relax. I want to start off by saying a few minutes after our back and forth on this issue, Hendricks sent me a private message apologizing, and I told him it was not necessary.

Engineers, despite seniority level, tend to not be very humble :angry:, you might as well be asking him to move a mountain while your at it. I figured he was doing a SW port, and he stopped doing it because he got stuck on a bug he couldn't fix. His reaction to what I posted was expected. Further more, while it only took me an hour to fix the issue Hendricks was blocked on, this kind of thing happens to engineers all the time. You get stuck on a bug for a week, and someone comes in and says, oh yeah I know what the issue is, and fixes it in 10 minutes.

This effort is a team effort. I do hope Hendricks will set aside, what appears to me as a slight ego bruising, and take my Shadow Warrior code when its A) Stable and Playable B ) conforms to the coding standards Voidpoint has on the code and C)is farther along then Hendrick's effort. If not you guys will have working Shadow Warrior powered by Eduke32/PolymerNG, until Hendricks finishes his port.

I would also like everyone not to bad mouth anyone on the EDuke32 team in any of my topics. We are all on the same team, moving towards the same goal. I never get offended or get my ego bruised if my idea to a solution isn't the best solution; my goal is to make a product. The goal at the end of the day is to make a stable, working, fast, product. Period. It doesn't matter who was right or wrong on a specific topic, as long as the best solution went forward.

I understand Hendricks will yell at me when he thinks I'm doing something stupid, it's my job to justify what I'm doing. So far I have caught a couple bad bugs with PolymerNG because of Shadow Warrior. This port is already proving very beneficial to the PolymerNG effort.

This post has been edited by icecoldduke: 01 May 2016 - 09:09 AM

5

User is offline   Spiker 

#93

I've got nothing against Hendricks. I like the guy. But everytime he tends to jump on every change that doesn't seem to fit his "the only one coding bible" as if it was the only solution. Yet he did not prove it is. But even if he's right he could be more polite.

Yes, I would like to see you cooperate. Yes, I would like to see no disputes.

In the end we all want the same, that's true Posted Image
0

User is offline   Fox 

  • Fraka kaka kaka kaka-kow!

#94

I am guessing Hendricks is worried about the compatibility of the code.
0

#95

View PostFox, on 01 May 2016 - 06:51 AM, said:

I am guessing Hendricks is worried about the compatibility of the code.

This is a justifiable reason to be concerned. I hope I can work with him to ensure my SW effort conforms to all standards set by him and TX.
0

User is offline   Mblackwell 

  • Evil Overlord

#96

Just because you question what someone is doing doesn't make it a personal attack.

Only by receiving challenges to our assumptions when developing can we come up with the best solutions.

Feedback is important, even if it's not always "nice".
5

#97

View PostMblackwell, on 01 May 2016 - 07:47 AM, said:

Just because you question what someone is doing doesn't make it a personal attack.

Only by receiving challenges to our assumptions when developing can we come up with the best solutions.

Feedback is important, even if it's not always "nice".

Exactly. I would like to point out I never make assumptions, instead I try to come up with a course of action that is based on evidence. :angry:. This statement is unrelated to current events, just pointing out assumptions are never a good way to proceed with anything under any circumstance.

As a side note, I fixed the Shadow Warriror hud not showing up. This was another specific bug related to PolymerNG, I wasn't setting numpages to anything.

This post has been edited by icecoldduke: 01 May 2016 - 09:03 AM

3

User is offline   Spiker 

#98

View PostMblackwell, on 01 May 2016 - 07:47 AM, said:

Just because you question what someone is doing doesn't make it a personal attack.

Only by receiving challenges to our assumptions when developing can we come up with the best solutions.

Feedback is important, even if it's not always "nice".
Feedbck is important but in your case it was just childish behaviour. And I hope it wont ever happen again. Case closed.

This post has been edited by Spiker: 01 May 2016 - 09:30 AM

-6

#99

Another little gem I found, I fixed look up and down code. So with a controller I can look up and down now.

In game.h
typedef struct
{
    SHORT vel;
    SHORT svel;
    CHAR angvel;
// jmarshall - we need a signed char here, since controller input is passed in with a -128/128 range. 
// How did this ever work properly?
//  CHAR aimvel;
	signed char aimvel;
// jmarshall end
    LONG bits;
} SW_PACKET;



aimvel wasn't a signed variable, so you could never look down :/.

This post has been edited by icecoldduke: 01 May 2016 - 09:38 AM

1

User is offline   Mblackwell 

  • Evil Overlord

#100

View PostSpiker, on 01 May 2016 - 09:27 AM, said:

Feedbck is important but in your case it was just childish behaviour. And I hope it wont ever happen again. Case closed.


I'm sorry, what? Me?

I complained to ICD about some of the way he was doing things and he responded and we discussed it both publicly and over PM (and worked out some details), and we've talked privately in the past via IRC many times about goals and having projects for him to test. There's no anger, grudges, or hurt feelings to be had.

Please don't assume too much.
0

#101

View PostMblackwell, on 01 May 2016 - 09:43 AM, said:

I'm sorry, what? Me?

I complained to ICD about some of the way he was doing things and he responded and we discussed it both publicly and over PM (and worked out some details), and we've talked privately in the past via IRC many times about goals and having projects for him to test.

Please don't assume too much.

Please take this offline. It's alright if everyone screams at me in this topic, but any yelling that isn't directed at me I ask that you move the conversation else where :angry:.

This post has been edited by icecoldduke: 01 May 2016 - 09:47 AM

1

User is offline   Mblackwell 

  • Evil Overlord

#102

No worries, I won't discuss that stuff further. I don't want to derail your topic. Just putting in a point of clarification so no one thinks we're enemies or something.
0

User is offline   Mblackwell 

  • Evil Overlord

#103

I haven't looked at the SW source, is it like D3D in that all of the STs/SEs are random game-side hacks? In D3D when I've seen each effect it's quite ridiculous and no two seem to work quite the same.
0

User is offline   Hendricks266 

  • Weaponized Autism

  #104

View Posticecoldduke, on 01 May 2016 - 09:35 AM, said:

// How did this ever work properly?


Either they typedef'd signed char to CHAR, or they didn't pass -funsigned-char to the game objects.
0

#105

View PostMblackwell, on 01 May 2016 - 09:49 AM, said:

I haven't looked at the SW source, is it like D3D in that all of the STs/SEs are random game-side hacks? In D3D when I've seen each effect it's quite ridiculous and no two seem to work quite the same.

The hacks seem to be worse in SW; its obvious the hacks are a direct result of Ken not exposing everything 3dr engineers wanted, and 3dr using tools to figure how to get access to things that Ken didn't expose directly. That being said the codebase is a lot easier to read after I ran uncrustify on it :angry:. Thanks Hendricks.

Does anyone know how parallax skies work in Shadow Warrior? The sky pic num isn't correct does the sky picnum get set through a ST's/SE's?

This post has been edited by icecoldduke: 01 May 2016 - 09:54 AM

0

User is offline   Hendricks266 

  • Weaponized Autism

  #106

View Posticecoldduke, on 01 May 2016 - 06:19 AM, said:

I figured he was doing a SW port, and he stopped doing it because he got stuck on a bug he couldn't fix.

I stopped due to lack of time, and partial burnout. The very last thing I tried to do was get keyboard input working, which required me to get the console working, and I realized then that the system needed refactoring to not do so much on the game side, and I didn't like how every keyboard press requires a string compare to get processed.

The issues you've found so far were items in the to-do list, not "things I got stuck on".

View Posticecoldduke, on 01 May 2016 - 06:19 AM, said:

I do hope Hendricks will set aside, what appears to me as a slight ego bruising, and take my Shadow Warrior code when its A) Stable and Playable B ) conforms to the coding standards Voidpoint has on the code and C)is farther along then Hendrick's effort.

It's not happening. The work that I have done and the direction that I am going with the code include things that you won't catch.

That said, I will definitely port over/replicate bugfixes that you identify if you have an individual commit history that I can look at.

View Posticecoldduke, on 01 May 2016 - 09:53 AM, said:

Does anyone know how parallax skies work in Shadow Warrior? The sky pic num isn't correct does the sky picnum get set through a ST's/SE's?

A perfect example of how EDuke32 has new systems that I have already ported SW to use properly in my codebase. If you want a quick fix, see SW_InitMultiPsky() in source/sw/common.c the fixed code below, and grep that folder for "parallaxyscale_override" and "pskybits_override".

void SW_InitMultiPsky(void)
{
    // default
    psky_t * const defaultsky = E_DefinePsky(DEFAULTPSKY);
    defaultsky->lognumtiles = 1;
    defaultsky->horizfrac = 8192;
}


This post has been edited by Hendricks266: 01 May 2016 - 10:08 AM

0

#107

Here is the updated SW_PACKET struct, to turn left and right I had to switch another char to signed char.

typedef struct
{
    SHORT vel;
    SHORT svel;
// jmarshall - we need a signed char here, since controller input is passed in with a -128/128 range. 
//  CHAR angvel;
    signed char angvel;
// jmarshall end

// jmarshall - we need a signed char here, since controller input is passed in with a -128/128 range. 
//  CHAR aimvel;
	signed char aimvel;
// jmarshall end
    LONG bits;
} SW_PACKET;

0

#108

View PostHendricks266, on 01 May 2016 - 10:02 AM, said:

It's not happening. The work that I have done and the direction that I am going with the code include things that you won't catch.

I can provide code deltas for all changes I do since I'm solely interested in the game on its feet and running. Then when you merge those changes back to main and get a working SW build of your own with my changes, I'll migrate all that stuff back to PolymerNG.

Tada a solution.
0

User is offline   Hendricks266 

  • Weaponized Autism

  #109

You seem to be changing CHAR to signed char, but according to mytypes.h, that is already the case:

typedef signed char CHAR;


Are you using mytypes.h correctly?

One of the first things I did was replace all the custom types in mytypes.h with stdint.h versions, so my SW_PACKET looks like this:

typedef struct
{
    int16_t vel;
    int16_t svel;
    int8_t angvel;
    int8_t aimvel;
    int32_t bits;
} SW_PACKET;


The one exception is BOOL, which I kept but renamed to SWBOOL for certain reasons.
0

User is offline   Tea Monster 

  • Polymancer

#110

There were a number of weird controller issues with Megaton. I don't know where they issued from (probably the jonof port), but can we make sure we don't reproduce them here?
0

#111

View PostHendricks266, on 01 May 2016 - 10:11 AM, said:

You seem to be changing CHAR to signed char, but according to mytypes.h, that is already the case:

typedef signed char CHAR;


Are you using mytypes.h correctly?

I do see the problem, since I am using Windows.h(included through the precompiled header), there is already a definition for "CHAR", which is unsigned. It seems kinda silly though for the SW code to go against the C++ spec for var types.

EDIT:
I see your post, this is the correct solution.

typedef struct
{
    int16_t vel;
    int16_t svel;
    int8_t angvel;
    int8_t aimvel;
    int32_t bits;
} SW_PACKET;


This post has been edited by icecoldduke: 01 May 2016 - 10:22 AM

0

User is offline   Hendricks266 

  • Weaponized Autism

  #112

View Posticecoldduke, on 01 May 2016 - 10:20 AM, said:

I do see the problem, since I am using Windows.h(included through the precompiled header), there is already a definition for "CHAR", which is unsigned.

Windows.h also caused bugs in SWP due to the startup window having a different definition of BOOL than the rest of the game code.

View Posticecoldduke, on 01 May 2016 - 10:20 AM, said:

Is there a way we can properly doc up this up?

I have been doing exactly that in the form of a full, modular commit history.
0

#113

EDuke32 XB1 Shadow Warrior Update 4 I play for a bit, the flickering geo/sprites is due to errors in the occlusion system due to nasty stuff happening in the software renderer. Remember I'm using the software renderer for occlusion testing. Performance is also meh.


4

#114

View PostTea Monster, on 01 May 2016 - 10:19 AM, said:

There were a number of weird controller issues with Megaton. I don't know where they issued from (probably the jonof port), but can we make sure we don't reproduce them here?

Can you be more specific?
0

User is offline   Tea Monster 

  • Polymancer

#115

It's been a while since I played it, so it's difficult to describe in detail. Movement seemed to be very fast and the controls generally felt like 'skating' in that you felt that once you told the game that you wanted to go in a certain direction, it would take a few milliseconds for the game to realise that the instructions had been issued.
0

#116

View PostTea Monster, on 02 May 2016 - 05:48 AM, said:

It's been a while since I played it, so it's difficult to describe in detail. Movement seemed to be very fast and the controls generally felt like 'skating' in that you felt that once you told the game that you wanted to go in a certain direction, it would take a few milliseconds for the game to realise that the instructions had been issued.

Movement speed will definitely have to be fine tuned. Right now I'm using the same movement logic as supplied in the source code, were controller stick axis(normalized range aka -1 to 1) * original movement speed. The movement speed has to be calibrated, I'm just not sure the best way to do that, besides me just "feeling it out" and modifying the movement speed accordingly.

This post has been edited by icecoldduke: 02 May 2016 - 06:30 AM

0

#117

Shadow Warrior is now at framerate! I was doing bad things with std::vector and some of my render command logic was causing unneeded copies, and was over all huge. I also didn't enable SSE2(LIBDIVIDE_USE_SSE2) for libdivide which isn't enabled in the duke4 depot, Richard/Evan it worth enabling, I got a 10% performance boost just with that. I'll do a clcoast video in a bit. I also complain a bit about the Hendrick's eduke32 makefiles :angry:.



This post has been edited by icecoldduke: 02 May 2016 - 05:15 PM

4

User is offline   TerminX 

  • el fundador

  #118

We haven't enabled it just because we still run on stuff old enough to not have SSE2 support. :angry:

Libdivide is a pretty awesome library. IMO it saved our ass as far as performance on a lot of really weak phones goes.
2

#119

View PostTerminX, on 02 May 2016 - 05:12 PM, said:

We haven't enabled it just because we still run on stuff old enough to not have SSE2 support. :angry:

Libdivide is a pretty awesome library. IMO it saved our ass as far as performance on a lot of really weak phones goes.

I believe it; seems like a great library. It might be worth while for your autobuild to make two exe's. One with SSE2 support the other without. 10% performance is a decent gain, and thats a on a Xbox. The performance should scale pretty as you get into slower processors.

This post has been edited by icecoldduke: 02 May 2016 - 05:19 PM

0

User is offline   Hendricks266 

  • Weaponized Autism

  #120

View Posticecoldduke, on 02 May 2016 - 05:08 PM, said:

I also complain a bit about the Hendrick's eduke32 makefiles :angry:.

I'm very happy with our Makefiles. I will admit that Makefile.common is disorganized, and the main Makefile has some stuff unnecessarily duplicated pending further research into what the GNU Make language can do.

View Posticecoldduke, on 02 May 2016 - 05:17 PM, said:

It might be worth while for your autobuild to make two exe's. One with SSE2 support the other without.

We should enable it for 64-bit builds since all x86_64 processors support SSE2.
3

Share this topic:


  • 41 Pages +
  • « First
  • 2
  • 3
  • 4
  • 5
  • 6
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic


All copyrights and trademarks not owned by Voidpoint, LLC are the sole property of their respective owners. Play Ion Fury! ;) © Voidpoint, LLC

Enter your sign in name and password


Sign in options