mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2025-02-05 16:01:04 +00:00
Merge branch 'netcode-shit' of https://github.com/LJSonik/SRB2 into netcode-shit
This commit is contained in:
commit
4a4f0ea7ee
12 changed files with 206 additions and 2938 deletions
|
@ -390,18 +390,25 @@ if(${SRB2_CONFIG_HWRENDER} AND ${SRB2_CONFIG_STATIC_OPENGL})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(${SRB2_CONFIG_USEASM})
|
if(${SRB2_CONFIG_USEASM})
|
||||||
|
#SRB2_ASM_FLAGS can be used to pass flags to either nasm or yasm.
|
||||||
|
if(${CMAKE_SYSTEM} MATCHES "Linux")
|
||||||
|
set(SRB2_ASM_FLAGS "-DLINUX ${SRB2_ASM_FLAGS}")
|
||||||
|
endif()
|
||||||
|
|
||||||
if(${SRB2_CONFIG_YASM})
|
if(${SRB2_CONFIG_YASM})
|
||||||
set(CMAKE_ASM_YASM_SOURCE_FILE_EXTENSIONS ${CMAKE_ASM_YASM_SOURCE_FILE_EXTENSIONS} nas)
|
set(CMAKE_ASM_YASM_SOURCE_FILE_EXTENSIONS ${CMAKE_ASM_YASM_SOURCE_FILE_EXTENSIONS} nas)
|
||||||
|
set(CMAKE_ASM_YASM_FLAGS "${SRB2_ASM_FLAGS}" CACHE STRING "Flags used by the assembler during all build types.")
|
||||||
enable_language(ASM_YASM)
|
enable_language(ASM_YASM)
|
||||||
else()
|
else()
|
||||||
set(CMAKE_ASM_NASM_SOURCE_FILE_EXTENSIONS ${CMAKE_ASM_NASM_SOURCE_FILE_EXTENSIONS} nas)
|
set(CMAKE_ASM_NASM_SOURCE_FILE_EXTENSIONS ${CMAKE_ASM_NASM_SOURCE_FILE_EXTENSIONS} nas)
|
||||||
|
set(CMAKE_ASM_NASM_FLAGS "${SRB2_ASM_FLAGS}" CACHE STRING "Flags used by the assembler during all build types.")
|
||||||
enable_language(ASM_NASM)
|
enable_language(ASM_NASM)
|
||||||
endif()
|
endif()
|
||||||
set(SRB2_USEASM ON)
|
set(SRB2_USEASM ON)
|
||||||
add_definitions(-DUSEASM)
|
add_definitions(-DUSEASM)
|
||||||
else()
|
else()
|
||||||
set(SRB2_USEASM OFF)
|
set(SRB2_USEASM OFF)
|
||||||
add_definitions(-DNOASM -DNONX86)
|
add_definitions(-DNONX86 -DNORUSEASM)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Targets
|
# Targets
|
||||||
|
|
|
@ -4501,8 +4501,8 @@ static void HWR_SortVisSprites(void)
|
||||||
gr_vissprite_t *ds, *dsprev, *dsnext, *dsfirst;
|
gr_vissprite_t *ds, *dsprev, *dsnext, *dsfirst;
|
||||||
gr_vissprite_t *best = NULL;
|
gr_vissprite_t *best = NULL;
|
||||||
gr_vissprite_t unsorted;
|
gr_vissprite_t unsorted;
|
||||||
float bestdist;
|
float bestdist = 0.0f;
|
||||||
INT32 bestdispoffset;
|
INT32 bestdispoffset = 0;
|
||||||
|
|
||||||
if (!gr_visspritecount)
|
if (!gr_visspritecount)
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -46,41 +46,6 @@ typedef INT32 fixed_t;
|
||||||
#define FLOAT_TO_FIXED(f) (fixed_t)((f) * ((float)FRACUNIT))
|
#define FLOAT_TO_FIXED(f) (fixed_t)((f) * ((float)FRACUNIT))
|
||||||
|
|
||||||
|
|
||||||
/** \brief The TMulScale16 function
|
|
||||||
|
|
||||||
\param a a parameter of type fixed_t
|
|
||||||
\param b a parameter of type fixed_t
|
|
||||||
\param c a parameter of type fixed_t
|
|
||||||
\param d a parameter of type fixed_t
|
|
||||||
\param e a parameter of type fixed_t
|
|
||||||
\param f a parameter of type fixed_t
|
|
||||||
|
|
||||||
\return fixed_t
|
|
||||||
|
|
||||||
|
|
||||||
*/
|
|
||||||
FUNCMATH FUNCINLINE static ATTRINLINE fixed_t TMulScale16(fixed_t a, fixed_t b, fixed_t c, fixed_t d, fixed_t e, fixed_t f) \
|
|
||||||
{ \
|
|
||||||
return (fixed_t)((((INT64)a * (INT64)b) + ((INT64)c * (INT64)d) \
|
|
||||||
+ ((INT64)e * (INT64)f)) >> 16); \
|
|
||||||
}
|
|
||||||
|
|
||||||
/** \brief The DMulScale16 function
|
|
||||||
|
|
||||||
\param a a parameter of type fixed_t
|
|
||||||
\param b a parameter of type fixed_t
|
|
||||||
\param c a parameter of type fixed_t
|
|
||||||
\param d a parameter of type fixed_t
|
|
||||||
|
|
||||||
\return fixed_t
|
|
||||||
|
|
||||||
|
|
||||||
*/
|
|
||||||
FUNCMATH FUNCINLINE static ATTRINLINE fixed_t DMulScale16(fixed_t a, fixed_t b, fixed_t c, fixed_t d) \
|
|
||||||
{ \
|
|
||||||
return (fixed_t)((((INT64)a * (INT64)b) + ((INT64)c * (INT64)d)) >> 16); \
|
|
||||||
}
|
|
||||||
|
|
||||||
#if defined (__WATCOMC__) && FRACBITS == 16
|
#if defined (__WATCOMC__) && FRACBITS == 16
|
||||||
#pragma aux FixedMul = \
|
#pragma aux FixedMul = \
|
||||||
"imul ebx", \
|
"imul ebx", \
|
||||||
|
|
|
@ -7644,7 +7644,7 @@ void A_SetObjectFlags(mobj_t *actor)
|
||||||
else if (locvar2 == 1)
|
else if (locvar2 == 1)
|
||||||
locvar1 = actor->flags & ~locvar1;
|
locvar1 = actor->flags & ~locvar1;
|
||||||
|
|
||||||
if ((locvar1 & (MF_NOBLOCKMAP|MF_NOSECTOR)) != (actor->flags & (MF_NOBLOCKMAP|MF_NOSECTOR))) // Blockmap/sector status has changed, so reset the links
|
if ((UINT32)(locvar1 & (MF_NOBLOCKMAP|MF_NOSECTOR)) != (actor->flags & (MF_NOBLOCKMAP|MF_NOSECTOR))) // Blockmap/sector status has changed, so reset the links
|
||||||
unlinkthings = true;
|
unlinkthings = true;
|
||||||
|
|
||||||
if (unlinkthings) {
|
if (unlinkthings) {
|
||||||
|
|
|
@ -224,15 +224,6 @@ typedef struct linechain_s
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// ZDoom C++ to Legacy C conversion Tails 04-29-2002 (for slopes)
|
|
||||||
typedef struct secplane_t
|
|
||||||
{
|
|
||||||
// the plane is defined as a*x + b*y + c*z + d = 0
|
|
||||||
// ic is 1/c, for faster Z calculations
|
|
||||||
|
|
||||||
fixed_t a, b, c, d, ic;
|
|
||||||
} secplane_t;
|
|
||||||
|
|
||||||
// Slopes
|
// Slopes
|
||||||
#ifdef ESLOPE
|
#ifdef ESLOPE
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
|
63
src/r_main.c
63
src/r_main.c
|
@ -366,69 +366,6 @@ fixed_t R_PointToDist(fixed_t x, fixed_t y)
|
||||||
return R_PointToDist2(viewx, viewy, x, y);
|
return R_PointToDist2(viewx, viewy, x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***************************************
|
|
||||||
*** Zdoom C++ to Legacy C conversion ***
|
|
||||||
****************************************/
|
|
||||||
|
|
||||||
// Utility to find the Z height at an XY location in a sector (for slopes)
|
|
||||||
fixed_t R_SecplaneZatPoint(secplane_t *secplane, fixed_t x, fixed_t y)
|
|
||||||
{
|
|
||||||
return FixedMul(secplane->ic, -secplane->d - DMulScale16(secplane->a, x, secplane->b, y));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Returns the value of z at (x,y) if d is equal to dist
|
|
||||||
fixed_t R_SecplaneZatPointDist (secplane_t *secplane, fixed_t x, fixed_t y, fixed_t dist)
|
|
||||||
{
|
|
||||||
return FixedMul(secplane->ic, -dist - DMulScale16(secplane->a, x, secplane->b, y));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Flips the plane's vertical orientiation, so that if it pointed up,
|
|
||||||
// it will point down, and vice versa.
|
|
||||||
void R_SecplaneFlipVert(secplane_t *secplane)
|
|
||||||
{
|
|
||||||
secplane->a = -secplane->a;
|
|
||||||
secplane->b = -secplane->b;
|
|
||||||
secplane->c = -secplane->c;
|
|
||||||
secplane->d = -secplane->d;
|
|
||||||
secplane->ic = -secplane->ic;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Returns true if 2 planes are the same
|
|
||||||
boolean R_ArePlanesSame(secplane_t *original, secplane_t *other)
|
|
||||||
{
|
|
||||||
return original->a == other->a && original->b == other->b
|
|
||||||
&& original->c == other->c && original->d == other->d;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Returns true if 2 planes are different
|
|
||||||
boolean R_ArePlanesDifferent(secplane_t *original, secplane_t *other)
|
|
||||||
{
|
|
||||||
return original->a != other->a || original->b != other->b
|
|
||||||
|| original->c != other->c || original->d != other->d;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Moves a plane up/down by hdiff units
|
|
||||||
void R_SecplaneChangeHeight(secplane_t *secplane, fixed_t hdiff)
|
|
||||||
{
|
|
||||||
secplane->d = secplane->d - FixedMul(hdiff, secplane->c);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Returns how much this plane's height would change if d were set to oldd
|
|
||||||
fixed_t R_SecplaneHeightDiff(secplane_t *secplane, fixed_t oldd)
|
|
||||||
{
|
|
||||||
return FixedMul(oldd - secplane->d, secplane->ic);
|
|
||||||
}
|
|
||||||
|
|
||||||
fixed_t R_SecplanePointToDist(secplane_t *secplane, fixed_t x, fixed_t y, fixed_t z)
|
|
||||||
{
|
|
||||||
return -TMulScale16(secplane->a, x, y, secplane->b, z, secplane->c);
|
|
||||||
}
|
|
||||||
|
|
||||||
fixed_t R_SecplanePointToDist2(secplane_t *secplane, fixed_t x, fixed_t y, fixed_t z)
|
|
||||||
{
|
|
||||||
return -TMulScale16(secplane->a, x, secplane->b, y, z, secplane->c);
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// R_ScaleFromGlobalAngle
|
// R_ScaleFromGlobalAngle
|
||||||
// Returns the texture mapping scale for the current line (horizontal span)
|
// Returns the texture mapping scale for the current line (horizontal span)
|
||||||
|
|
12
src/r_main.h
12
src/r_main.h
|
@ -61,18 +61,6 @@ angle_t R_PointToAngle2(fixed_t px2, fixed_t py2, fixed_t px1, fixed_t py1);
|
||||||
fixed_t R_PointToDist(fixed_t x, fixed_t y);
|
fixed_t R_PointToDist(fixed_t x, fixed_t y);
|
||||||
fixed_t R_PointToDist2(fixed_t px2, fixed_t py2, fixed_t px1, fixed_t py1);
|
fixed_t R_PointToDist2(fixed_t px2, fixed_t py2, fixed_t px1, fixed_t py1);
|
||||||
|
|
||||||
// ZDoom C++ to Legacy C conversion Tails 04-29-2002
|
|
||||||
fixed_t R_SecplaneZatPoint(secplane_t *secplane, fixed_t x, fixed_t y);
|
|
||||||
fixed_t R_SecplaneZatPointDist(secplane_t *secplane, fixed_t x, fixed_t y,
|
|
||||||
fixed_t dist);
|
|
||||||
void R_SecplaneFlipVert(secplane_t *secplane);
|
|
||||||
boolean R_ArePlanesSame(secplane_t *original, secplane_t *other);
|
|
||||||
boolean R_ArePlanesDifferent(secplane_t *original, secplane_t *other);
|
|
||||||
void R_SecplaneChangeHeight(secplane_t *secplane, fixed_t hdiff);
|
|
||||||
fixed_t R_SecplaneHeightDiff(secplane_t *secplane, fixed_t oldd);
|
|
||||||
fixed_t R_SecplanePointToDist(secplane_t *secplane, fixed_t x, fixed_t y, fixed_t z);
|
|
||||||
fixed_t R_SecplanePointToDist2(secplane_t *secplane, fixed_t x, fixed_t y, fixed_t z);
|
|
||||||
|
|
||||||
fixed_t R_ScaleFromGlobalAngle(angle_t visangle);
|
fixed_t R_ScaleFromGlobalAngle(angle_t visangle);
|
||||||
subsector_t *R_PointInSubsector(fixed_t x, fixed_t y);
|
subsector_t *R_PointInSubsector(fixed_t x, fixed_t y);
|
||||||
subsector_t *R_IsPointInSubsector(fixed_t x, fixed_t y);
|
subsector_t *R_IsPointInSubsector(fixed_t x, fixed_t y);
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
#include "f_finale.h"
|
#include "f_finale.h"
|
||||||
|
|
||||||
|
|
||||||
#if defined (USEASM) //&& (!defined (_MSC_VER) || (_MSC_VER <= 1200))
|
#if defined (USEASM) && !defined (NORUSEASM)//&& (!defined (_MSC_VER) || (_MSC_VER <= 1200))
|
||||||
#define RUSEASM //MSC.NET can't patch itself
|
#define RUSEASM //MSC.NET can't patch itself
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -267,7 +267,7 @@ static void CV_Gammaxxx_ONChange(void)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if defined (__GNUC__) && defined (__i386__) && !defined (NOASM) && !defined (__APPLE__)
|
#if defined (__GNUC__) && defined (__i386__) && !defined (NOASM) && !defined (__APPLE__) && !defined (NORUSEASM)
|
||||||
void VID_BlitLinearScreen_ASM(const UINT8 *srcptr, UINT8 *destptr, INT32 width, INT32 height, size_t srcrowbytes,
|
void VID_BlitLinearScreen_ASM(const UINT8 *srcptr, UINT8 *destptr, INT32 width, INT32 height, size_t srcrowbytes,
|
||||||
size_t destrowbytes);
|
size_t destrowbytes);
|
||||||
#define HAVE_VIDCOPY
|
#define HAVE_VIDCOPY
|
||||||
|
|
|
@ -20,7 +20,9 @@
|
||||||
|
|
||||||
|
|
||||||
#include <tchar.h>
|
#include <tchar.h>
|
||||||
|
#ifndef HAVE_SDL
|
||||||
#include "win_main.h"
|
#include "win_main.h"
|
||||||
|
#endif
|
||||||
#include "../doomdef.h" //just for VERSION
|
#include "../doomdef.h" //just for VERSION
|
||||||
#include "win_dbg.h"
|
#include "win_dbg.h"
|
||||||
#include "../m_argv.h" //print the parameter in the log
|
#include "../m_argv.h" //print the parameter in the log
|
||||||
|
|
Loading…
Reference in a new issue