rendering of transparent walls is broken

Bugs that have been investigated and resolved somehow.

Moderator: GZDoom Developers

Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
User avatar
ketmar
Posts: 160
Joined: Sat Oct 01, 2016 6:26 am
Contact:

rendering of transparent walls is broken

Post by ketmar »

not semi-transparent, but doom ones. to see it, just go to the end of E1M1, where trasparent fences are. instead of holes being transparent, they are pitch black.
_mental_
 
 
Posts: 3812
Joined: Sun Aug 07, 2011 4:32 am

Re: rendering of transparent walls is broken

Post by _mental_ »

The problem was introduced with this commit. Changes are quite significant and I was unable to find the cause.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49073
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: rendering of transparent walls is broken

Post by Graf Zahl »

I'm about to nuke that commit anyway and reconstruct a cleaner history. The problems in there were too much.
User avatar
ketmar
Posts: 160
Joined: Sat Oct 01, 2016 6:26 am
Contact:

Re: rendering of transparent walls is broken

Post by ketmar »

ok, tnx. i haven't the slightest idea of what is going on in that commit too, so for now i simply reverted it in my local repo, so i can play the game without «black curtains mod» again, until the proper fix will be done. ;-)

p.s. sorry for not providing offending commit id by myself, but rebuilding gzdoom is somewhat... heavy task for my PC. especially considering the fact that i like to play gzdoom when compiler is already building huge codebase on background. ;-)
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49073
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: rendering of transparent walls is broken

Post by Graf Zahl »

The reason was that I swapped two indices in a list but forgot to swap an array indexed by that list. As a result two-sided walls were considered solid and got rendered as such.
The mistake with that commit was that it did too many different things all at once. A second, similar one went right to the dumpster before anybody could see it. ;)
User avatar
ketmar
Posts: 160
Joined: Sat Oct 01, 2016 6:26 am
Contact:

Re: rendering of transparent walls is broken

Post by ketmar »

yeah, it is quite big. but i understand that refactoring work is hard, and sometimes you just want to make it all in one huge batch, 'cause it looks like less work than moving code piece by piece (because more fine-grained changes may require writing additional temporary code to make it work, and it may look like refactoring actually making things *worse* ;-).

but tbh, even with smaller commits, it wouldn't help me to find the cause of the bug, 'cause i absolutely don't know how gzdoom renderer works. debugging various segfaults looks much easier. ;-)
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49073
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: rendering of transparent walls is broken

Post by Graf Zahl »

I force pushed the fix along with a redone weapon sprite refactor. Please make sure to update properly from Git.
User avatar
ketmar
Posts: 160
Joined: Sat Oct 01, 2016 6:26 am
Contact:

Re: rendering of transparent walls is broken

Post by ketmar »

tnx. it works now. yet i beg you to not do force pushes: it is a PITA to rebase with those (i have my private branch, and doing "git rebase master" with rewritten master is not fun... ;-). please-please-please, just revert invalid patches. nobody will blame you for messy code -- nobody will notice, as zdoom is a giant pile of mess anyway! ;-)
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49073
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: rendering of transparent walls is broken

Post by Graf Zahl »

I normally avoid force pushes, but this time there was no way around it as I couldn't merge the old with the new without messing things up totally.
Blue Shadow
Posts: 4949
Joined: Sun Nov 14, 2010 12:59 am

Re: rendering of transparent walls is broken

Post by Blue Shadow »

So I did a pull from upstream, like I usually do, but got some conflicts this time. My 'master' branch should be the same as upstream's, i.e. I didn't do any changes of my own to it. How do I resolve this? No vague instructions, please. My knowledge is pretty basic when it comes to using Git/TortoiseGit.
_mental_
 
 
Posts: 3812
Joined: Sun Aug 07, 2011 4:32 am

Re: rendering of transparent walls is broken

Post by _mental_ »

At the moment for master branch do in cmd.exe (with proper path to GZDoom source of course)

Code: Select all

cd <gzdoom-sources>
git reset --hard 2be84dc636d5cb5f6a89500a560ea00c02ce609f
I don't use TortoiseGit so can't help with it. There should be an Reset command with Hard option.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49073
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: rendering of transparent walls is broken

Post by Graf Zahl »

Blue Shadow wrote:So I did a pull from upstream, like I usually do, but got some conflicts this time. My 'master' branch should be the same as upstream's, i.e. I didn't do any changes of my own to it. How do I resolve this? No vague instructions, please. My knowledge is pretty basic when it comes to using Git/TortoiseGit.
In TortoiseGit, open the log, right click on the new commit, then "Reset master to this", in the opening popup select "hard" and click ok.
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain
Contact:

Re: rendering of transparent walls is broken

Post by drfrag »

Do a hard reset to 'OPL Synth fix: Double-voice instruments randomly don't play second voice' in your master and then pull? With tortoisegit.
Wait for someone smarter to confirm. :)
Edit: i've seen _mental has proposed something. What Graf said i guess.
User avatar
ketmar
Posts: 160
Joined: Sat Oct 01, 2016 6:26 am
Contact:

Re: rendering of transparent walls is broken

Post by ketmar »

yeah. basically, do "git reset --hard" on some older commit (anything older than two or three days, it doesn't matter), and then do the usual "git pull", and you will up to speed again. there is no need to be precise with resetting, so just kill several days of history.

p.s. of course, this is git, so there are at least five other ways to do the same thing, including low-level db manipulation. you can fetch, gentle checkout, delete branch and create new; or do a tricky rebase; or... ah, don't mind it! just do a hard reset several days back and pull it again. ;-)

p.p.s. i am not using any fancy git gui, so follow Graf's Uber-Manual to do it. ;-)
Blue Shadow
Posts: 4949
Joined: Sun Nov 14, 2010 12:59 am

Re: rendering of transparent walls is broken

Post by Blue Shadow »

All fixed now. Thanks, guys.
Post Reply

Return to “Closed Bugs [GZDoom]”