Fix yet another culling bug

This commit is contained in:
Miloslav Ciz 2025-03-26 16:04:38 +01:00
parent 314f27c097
commit c992ddeb3f
4 changed files with 68 additions and 4 deletions

View file

@ -1,6 +1,7 @@
=========== GENERAL ==============
- FPS logging for optim
- try to add distance fog?
- use 332 in SDL with potato?
- option to turn on simple 332 colors?
- c99 may impose limit 4095 chars on str literal, gives warning on internal

65
data
View file

@ -1,2 +1,63 @@
"#MAAA;4321 0 "
":*&31 :^&11"
#Maaaaa;4321 0
:*217I
overall structure
:=000 :f53a
:x111 :f424
:x116 :f323
:)115L :)315J :)125L- :)325J- :x215 :f121 start door
:-031 :fa19 :<031 :fa11 :<039I :fa11 :<621I- :f411 start roof
:A&0hI| :f171 :v&7h| :^Z7hI :f211 :^@6hJ- :xZ1h :m371 big gate
:=500 :fA16 :f51k
:=D01 :fp16
:=X07 :f41f
:=X0u :f51q
:=00y :f51p
:=00W :fW14
:=U0T :f414
:^a05- :ft11
:^X1l :f411 :^Y1uI :f311 jump ramps
bottom section
:=a05 :fu21 :^a25I :fu11 :'v03J :f112 :'s15L :'t15J
:,q242- :;q233 :-n03 :f812 :mh53
:;41ZJ :fR21 long wall top
:;91WL :fJ21 long wall top bottom
:xr1V :fa37
top section
:\w1ZL :f131 :\x1YI| :f131L
:nw4Y1L :f121
:;w1&J :f421 :f151
:=w3Z2 :^w3@2I- :^w4@2 :=w4&2
:=w0Y :f514
:AA0&L :f131 :AB0@L :f131 :AA1@J :f121 :\B1ZJ :f121
:=w0Y :f141 :m664
small house top
:-J3Y :f411 :~L1Y1 :<J3ZI :f411 :,K1Z2J :f211
:=M1Z2 :f121 :=J0Y1 :m443 :=I0X2 :=J0Y3
:x514 :f426
bowl
:'60rJ :f117 :^70rL- :f117 :^71rJ :f117 :|72rJ- :f117
:|82rL :f117 :|81rL- :f117 :'50rL :f117 :m437
details
:;y031J :f311 :;y021L :f311 hole
:^3212L :^3112L- :-2212 :-2112- arrow
:=410 :f222
:]X1uL :f118
:]&1uJ :f118x\

View file

@ -246,6 +246,9 @@ A few tips for making maps:
~~~~~ COMPILING AND MODIFYING ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mods are highly recommended to be distributed as diff files that will apply
changes to the source code. This is inspired by suckless programs.
TODO
~~~~~ FAQ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View file

@ -579,11 +579,10 @@ int _LCR_rendererQuadCoversTri(const S3L_Unit quad[8], const S3L_Unit tri[6])
quad[(2 * (j + k)) % 8 + 1],
tri[2 * i],
tri[2 * i + 1]);
winds |= (w > 0) | ((w < 0) << 1);
}
if (winds != 3) // no opposite winds?
if (winds != 3 && winds != 0) // no opposite winds and at least 1 non-0?
{
covered = 1;
break;