Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
SRB2
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
STJr
SRB2
Compare revisions
next to 64-gl-log
Compare revisions
Changes are shown as if the
source
revision was being merged into the
target
revision.
Learn more about comparing revisions.
Source
STJr/SRB2
Select target project
No results found
64-gl-log
Select Git revision
Swap
Target
STJr/SRB2
Select target project
STJr/SRB2
Sryder/SRB2
wolfy852/SRB2
Alpha2244/SRB2
Inuyasha/SRB2
yoshibot/SRB2
TehRealSalt/SRB2
PrisimaTF/SRB2
Hatninja/SRB2
SteelT/SRB2
james/SRB2
ShaderWraith/SRB2
SinnamonLat/SRB2
mazmazz_/SRB2
filpAM/SRB2
chaoloveicemdboy/SRB2
Whooa21/SRB2
Machturne/SRB2
Golden/SRB2
Tatsuru/SRB2
Snu/SRB2
Zwip-Zwap_Zapony/SRB2
fickleheart/SRB2
alphaRexJames/SRB2
JJK/SRB2
diskpoppy/SRB2
Hannu_Hanhi/SRB2
ZipperQR/SRB2
kays/SRB2
spherallic/SRB2
Zippy_Zolton/SRB2
namiishere/SRB2
Ors/SRB2
SMS_Alfredo/SRB2
sonic_edge/SRB2
lavla/SRB2
ashi/SRB2
X.organic/SRB2
Fafabis/SRB2
Meziu/SRB2
v-rob/SRB2
tertu/SRB2
bitten2up/SRB2
flarn2006/SRB2
Krabs/SRB2
clairebun/SRB2
Lactozilla/SRB2
thehackstack/SRB2
Spice/SRB2
win8linux/SRB2
JohnFrostFox/SRB2
talktoneon726/SRB2
Wane/SRB2
Lamibe/SRB2
spectrumuk2/srb-2
nerdyminer18/srb-2
256nil/SRB2
ARJr/SRB2
Alam/SRB2
Zenya/srb-2-marathon-demos
Acelite/srb-2-archivedmodifications
MIDIMan/SRB2
Lach/SRB2
Frostiikin/bounce-tweaks
Hanicef/SRB2Classic
Jaden/SRB2
Tyron/SRB2
Astronight/SRB2
Mari0shi06/SRB2
aiire/SRB2
Galactice/SRB2
srb2-ports/srb2-dreamcast
sdasdas/SRB2
chreas/srb-2-vr
StarManiaKG/the-story-of-sinically-rocketing-and-botching-the-2nd
LoganAir/SRB2
NepDisk/srb-2
alufolie91/SRB2
Felicia.iso/SRB2
twi/SRB2
BarrelsOFun/SRB2
Speed2411/SRB2
Leather_Realms/SRB2
Ayemar/SRB2
Acelite/SRB2
VladDoc/SRB2
kaldrum/model-features
strawberryfox417/SRB2
Lugent/SRB2
Jisk/SRB2
Rem/SRB2
Refrag/SRB2
Henry_3230/srb-3230
TehPuertoRicanSpartan2/tprs-srb2
Leminn/srb-2-marathon-stuff
chromaticpipe2/SRB2
MiguelGustavo15/SRB2
Maru/srb-2-tests
SilicDev/SRB2
UnmatchedBracket/SRB2
HybridDog/SRB2
xordspar0/SRB2
jsjhbewfhh/SRB2
Fancy2209/SRB2
Lorsoen/SRB2
shindoukin/SRB2
GamerOfDays/SRB2
Craftyawesome/SRB2
tenshi-tensai-tennoji/SRB2
Scarfdudebalder/SRB2
luigi-budd/srb-2-fix-interplag-lockon
mskluesner/SRB2
johnpetersa19/SRB2
Pheazant/SRB2
chromaticpipe2/srb2classic
romoney5/SRB2
PAS/SRB2Classic
BlueStaggo/SRB2
118 results
next
Select Git revision
Show changes
Only incoming changes from source
Include changes to target since source was created
Compare
Commits on Source (3)
Log messages for subsectors
· 612e0242
Marco Z
authored
6 years ago
612e0242
Wrong escape char in subsectors
· 8bc7b527
Marco Z
authored
6 years ago
8bc7b527
Mixed D+C
· 8ee597bf
Marco Z
authored
6 years ago
8ee597bf
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
src/hardware/hw_bsp.c
+49
-27
49 additions, 27 deletions
src/hardware/hw_bsp.c
src/hardware/hw_main.c
+9
-2
9 additions, 2 deletions
src/hardware/hw_main.c
with
58 additions
and
29 deletions
src/hardware/hw_bsp.c
View file @
8ee597bf
...
@@ -521,36 +521,39 @@ static poly_t *CutOutSubsecPoly(seg_t *lseg, INT32 count, poly_t *poly)
...
@@ -521,36 +521,39 @@ static poly_t *CutOutSubsecPoly(seg_t *lseg, INT32 count, poly_t *poly)
}
}
}
}
// there was a split
// there was a split
if
(
ps
>=
0
)
if
(
ps
>=
0
)
{
//need 2 points
if
(
pe
>=
0
)
{
{
//need 2 points
// generate FRONT poly
if
(
pe
>=
0
)
temppoly
=
HWR_AllocPoly
(
nump
);
pv
=
temppoly
->
pts
;
*
pv
++
=
vs
;
*
pv
++
=
ve
;
do
{
{
// generate FRONT poly
if
(
++
ps
==
poly
->
numpts
)
temppoly
=
HWR_AllocPoly
(
nump
);
ps
=
0
;
pv
=
temppoly
->
pts
;
*
pv
++
=
poly
->
pts
[
ps
];
*
pv
++
=
vs
;
}
while
(
ps
!=
pe
);
*
pv
++
=
ve
;
HWR_FreePoly
(
poly
);
do
poly
=
temppoly
;
{
if
(
++
ps
==
poly
->
numpts
)
ps
=
0
;
*
pv
++
=
poly
->
pts
[
ps
];
}
while
(
ps
!=
pe
);
HWR_FreePoly
(
poly
);
poly
=
temppoly
;
}
//hmmm... maybe we should NOT accept this, but this happens
// only when the cut is not needed it seems (when the cut
// line is aligned to one of the borders of the poly, and
// only some times..)
else
skipcut
++
;
// I_Error("CutOutPoly: only one point for split line (%d %d) %d", ps, pe, debugpos);
}
}
//hmmm... maybe we should NOT accept this, but this happens
// only when the cut is not needed it seems (when the cut
// line is aligned to one of the borders of the poly, and
// only some times..)
else
skipcut
++
;
// I_Error("CutOutPoly: only one point for split line (%d %d) %d", ps, pe, debugpos);
}
}
return
poly
;
}
CONS_Printf
(
"X0 %.0f> Y0 %.0f> Z0 %.0f> X1 %.0f> Y1 %.0f> Z1 %.0f
\n
"
,
poly
->
pts
[
0
].
x
,
poly
->
pts
[
0
].
y
,
poly
->
pts
[
0
].
z
,
poly
->
pts
[
1
].
x
,
poly
->
pts
[
1
].
y
,
poly
->
pts
[
1
].
z
);
return
poly
;
}
}
// At this point, the poly should be convex and the exact
// At this point, the poly should be convex and the exact
...
@@ -601,7 +604,7 @@ static void WalkBSPNode(INT32 bspnum, poly_t *poly, UINT16 *leafnode, fixed_t *b
...
@@ -601,7 +604,7 @@ static void WalkBSPNode(INT32 bspnum, poly_t *poly, UINT16 *leafnode, fixed_t *b
fdivline_t
fdivline
;
fdivline_t
fdivline
;
polyvertex_t
*
pt
;
polyvertex_t
*
pt
;
INT32
i
;
INT32
i
;
bsp
=
&
nodes
[
bspnum
];
// Found a subsector?
// Found a subsector?
if
(
bspnum
&
NF_SUBSECTOR
)
if
(
bspnum
&
NF_SUBSECTOR
)
{
{
...
@@ -630,6 +633,7 @@ static void WalkBSPNode(INT32 bspnum, poly_t *poly, UINT16 *leafnode, fixed_t *b
...
@@ -630,6 +633,7 @@ static void WalkBSPNode(INT32 bspnum, poly_t *poly, UINT16 *leafnode, fixed_t *b
}
}
else
else
{
{
CONS_Printf
(
"SS-%d> "
,
bspnum
%
NF_SUBSECTOR
);
HWR_SubsecPoly
(
bspnum
&
(
~
NF_SUBSECTOR
),
poly
);
HWR_SubsecPoly
(
bspnum
&
(
~
NF_SUBSECTOR
),
poly
);
//Hurdler: implement a loading status
//Hurdler: implement a loading status
...
@@ -966,6 +970,7 @@ void HWR_CreatePlanePolygons(INT32 bspnum)
...
@@ -966,6 +970,7 @@ void HWR_CreatePlanePolygons(INT32 bspnum)
polyvertex_t
*
rootpv
;
polyvertex_t
*
rootpv
;
size_t
i
;
size_t
i
;
fixed_t
rootbbox
[
4
];
fixed_t
rootbbox
[
4
];
INT32
j
=
0
;
CONS_Debug
(
DBG_RENDER
,
"Creating polygons, please wait...
\n
"
);
CONS_Debug
(
DBG_RENDER
,
"Creating polygons, please wait...
\n
"
);
ls_count
=
ls_percent
=
0
;
// reset the loading status
ls_count
=
ls_percent
=
0
;
// reset the loading status
...
@@ -1014,12 +1019,29 @@ void HWR_CreatePlanePolygons(INT32 bspnum)
...
@@ -1014,12 +1019,29 @@ void HWR_CreatePlanePolygons(INT32 bspnum)
rootpv
->
y
=
FIXED_TO_FLOAT
(
rootbbox
[
BOXBOTTOM
]);
//ll
rootpv
->
y
=
FIXED_TO_FLOAT
(
rootbbox
[
BOXBOTTOM
]);
//ll
rootpv
++
;
rootpv
++
;
CONS_Printf
(
"
\n
SUBSECTORS
\n\n
"
);
WalkBSPNode
(
bspnum
,
rootp
,
NULL
,
rootbbox
);
WalkBSPNode
(
bspnum
,
rootp
,
NULL
,
rootbbox
);
i
=
SolveTProblem
();
i
=
SolveTProblem
();
//CONS_Debug(DBG_RENDER, "%d point divides a polygon line\n",i);
//CONS_Debug(DBG_RENDER, "%d point divides a polygon line\n",i);
AdjustSegs
();
AdjustSegs
();
CONS_Printf
(
"
\n
EXTRASUBSECTORS
\n\n
"
);
for
(
j
=
0
;
j
<
bspnum
;
j
++
)
{
CONS_Printf
(
"ESS-%d> "
,
j
);
if
(
!
extrasubsectors
[
j
].
planepoly
)
{
CONS_Printf
(
"
\n
"
);
continue
;
}
CONS_Printf
(
"X0 %.4f> Y0 %.4f> Z0 %.4f> X1 %.4f> Y1 %.4f> Z1 %.4f
\n
"
,
extrasubsectors
[
j
].
planepoly
->
pts
[
0
].
x
,
extrasubsectors
[
j
].
planepoly
->
pts
[
0
].
y
,
extrasubsectors
[
j
].
planepoly
->
pts
[
0
].
z
,
extrasubsectors
[
j
].
planepoly
->
pts
[
1
].
x
,
extrasubsectors
[
j
].
planepoly
->
pts
[
1
].
y
,
extrasubsectors
[
j
].
planepoly
->
pts
[
1
].
z
);
}
//debug debug..
//debug debug..
//if (nobackpoly)
//if (nobackpoly)
// CONS_Debug(DBG_RENDER, "no back polygon %u times\n",nobackpoly);
// CONS_Debug(DBG_RENDER, "no back polygon %u times\n",nobackpoly);
...
...
This diff is collapsed.
Click to expand it.
src/hardware/hw_main.c
View file @
8ee597bf
...
@@ -548,7 +548,10 @@ static void HWR_RenderPlane(sector_t *sector, extrasubsector_t *xsub, boolean is
...
@@ -548,7 +548,10 @@ static void HWR_RenderPlane(sector_t *sector, extrasubsector_t *xsub, boolean is
// no convex poly were generated for this subsector
// no convex poly were generated for this subsector
if
(
!
xsub
->
planepoly
)
if
(
!
xsub
->
planepoly
)
{
CONS_Debug
(
DBG_RENDER
,
"%d> No convex poly were generated for this subsector
\n
"
,
gametic
);
return
;
return
;
}
#ifdef ESLOPE
#ifdef ESLOPE
// Get the slope pointer to simplify future code
// Get the slope pointer to simplify future code
...
@@ -578,11 +581,14 @@ static void HWR_RenderPlane(sector_t *sector, extrasubsector_t *xsub, boolean is
...
@@ -578,11 +581,14 @@ static void HWR_RenderPlane(sector_t *sector, extrasubsector_t *xsub, boolean is
nrPlaneVerts
=
xsub
->
planepoly
->
numpts
;
nrPlaneVerts
=
xsub
->
planepoly
->
numpts
;
if
(
nrPlaneVerts
<
3
)
//not even a triangle ?
if
(
nrPlaneVerts
<
3
)
//not even a triangle ?
{
CONS_Debug
(
DBG_RENDER
,
"%d> polygon size of %d is not a triangle
\n
"
,
gametic
,
nrPlaneVerts
);
return
;
return
;
}
if
(
nrPlaneVerts
>
UINT16_MAX
)
// FIXME: exceeds plVerts size
if
(
nrPlaneVerts
>
UINT16_MAX
)
// FIXME: exceeds plVerts size
{
{
CONS_Debug(DBG_RENDER, "polygon size of %d exceeds max value of %d vertices\n", nrPlaneVerts, UINT16_MAX);
CONS_Debug
(
DBG_RENDER
,
"
%d>
polygon size of %d exceeds max value of %d vertices
\n
"
,
gametic
,
nrPlaneVerts
,
UINT16_MAX
);
return
;
return
;
}
}
...
@@ -3516,8 +3522,9 @@ static void HWR_Subsector(size_t num)
...
@@ -3516,8 +3522,9 @@ static void HWR_Subsector(size_t num)
{
{
if
(
sub
->
validcount
!=
validcount
)
if
(
sub
->
validcount
!=
validcount
)
{
{
extrasubsector_t
*
extrasubsector
=
&
extrasubsectors
[
num
];
HWR_GetFlat
(
levelflats
[
gr_frontsector
->
floorpic
].
lumpnum
);
HWR_GetFlat
(
levelflats
[
gr_frontsector
->
floorpic
].
lumpnum
);
HWR_RenderPlane(gr_frontsector,
&
extrasubsector
s[num]
, false,
HWR_RenderPlane
(
gr_frontsector
,
extrasubsector
,
false
,
// Hack to make things continue to work around slopes.
// Hack to make things continue to work around slopes.
locFloorHeight
==
cullFloorHeight
?
locFloorHeight
:
gr_frontsector
->
floorheight
,
locFloorHeight
==
cullFloorHeight
?
locFloorHeight
:
gr_frontsector
->
floorheight
,
// We now return you to your regularly scheduled rendering.
// We now return you to your regularly scheduled rendering.
...
...
This diff is collapsed.
Click to expand it.