Commit graph

3970 commits

Author SHA1 Message Date
Monster Iestyn
e20461aa54 Merge branch 'crushfix' into 'next'
A spike bug no more

Jumping at spikes on FOFs in reverse gravity - most notably in ERZ3 - no longer teleports you downwards into the death pit beneath it.

See merge request !157
2017-01-16 16:30:50 -05:00
toasterbabe
19cd010091 Fixed a stupid bug involving jumping at spikes on FOFs in reverse gravity caused by my own incompetence/assumptions. 2017-01-16 17:52:06 +00:00
toasterbabe
020234cc5f Fixed crash bug. It's weird that linedefs' backsides aren't NULL but are instead 0xFFFF when invalid, so instead I used something which DOES take null pointers as a parameter. 2017-01-16 17:33:07 +00:00
toasterbabe
da42165169 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into flat_alignment_revamp 2017-01-16 17:14:58 +00:00
toasterbabe
acf0d4ad5b Detons no longer release duplicate flickies when they hit walls.
(I COULD have hacked around the hack, but when a line tells you it's a hack and it makes things work by removing it, you remove it.)
2017-01-16 17:09:57 +00:00
toasterbabe
85977c271b Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into charabilities_mk3 2017-01-16 16:52:09 +00:00
Monster Iestyn
00549c122c Updated SRB2.cbp for hw_clip.c/h 2017-01-16 15:48:07 +00:00
Monster Iestyn
6e65c6bd9e Merge branch 'master' into opengl-improvements 2017-01-16 15:45:15 +00:00
Monster Iestyn
90166d7b1f Updated SRB2.cbp to (presumably) handle lua_blockmaplib.c correctly 2017-01-16 15:43:27 +00:00
Alam Ed Arias
c024d313ee Revert "Merge branch 'appveyor' into 'master'"
This reverts commit 6476cf3cd2, reversing
changes made to 0186b90b1d.
2017-01-15 19:47:59 -05:00
Inuyasha
6476cf3cd2 Merge branch 'appveyor' into 'master'
Appveyor: compile with Mingw32 GCC 4.9.3

Let use an old GCC to compile SRB2

See merge request !112
2017-01-15 19:41:26 -05:00
Inuyasha
2903c07a32 Merge branch 'last-few-changes-for-2.1.17' into 'next'
Last few changes for 2.1.17

what it says on the tin

* Updated version number
* Added LJSonic to credits (and changed how I look in the credits to be less stupid)
* fixed resynching players seeing the host turn into a spectator for no reason

See merge request !155
2017-01-15 19:36:48 -05:00
Inuyasha
3169b538be Hey! If you change this, add 1 to the MODVERSION below!
Otherwise we can't force updates!
2017-01-15 16:34:30 -08:00
Monster Iestyn
ba3f001a09 I dun goofed, THIS is why FuriousFox disappears like that 2017-01-15 22:24:38 +00:00
Monster Iestyn
4ac709141a Added LJSonic to credits, altered how my own name + nick is shown in credits 2017-01-15 19:23:25 +00:00
Monster Iestyn
e59fb38802 Update version number 2017-01-15 18:49:33 +00:00
Monster Iestyn
691d368434 if this is what caused resynching to randomly turn some people spectators then welp 2017-01-15 18:36:38 +00:00
Monster Iestyn
c0fb3fce73 Merge branch 'master' into next 2017-01-14 19:23:31 +00:00
MonsterIestyn
0186b90b1d Merge pull request #158 from LJSonik/netcode-shit
Netcode shit
2017-01-14 18:41:25 +00:00
Louis-Antoine
4a4f0ea7ee Merge branch 'netcode-shit' of https://github.com/LJSonik/SRB2 into netcode-shit 2017-01-14 19:26:31 +01:00
Louis-Antoine
8298ed3559 DEBUGMODE -> _DEBUG =) 2017-01-14 19:24:22 +01:00
Alam Arias
6611b01635 Merge branch 'master' into netcode-shit 2017-01-13 20:48:42 -05:00
Monster Iestyn
47e053c8f6 Merge branch 'lua-additions' into 'master'
Lua additions

Thought I'd may as well make a merge request so I can remind people of all the various Lua-related changes here (and because it's about time some of them got in):

* Added `P_PointOnLineSide(x, y, line)`. Allows you to quickly determine which side of a line faces the point. *line* can be a real line_t or a custom defined line (just like with P_ClosestPointOnLine).
* Added seg_t and node_t support to Lua (note: these are disabled for now, due to complications with OpenGL that we all know something of by now. Bit of a shame really :( ) - of note is node.children and node.bbox:
 * node.children[] is an array that takes 0 or 1 as indexes (or "right" and "left", alternatively)
 * node.bbox(child,bboxcoord) is a two-arg function: child can be 0 or 1 (or "right" and "left", alternatively), bbox coord can be 0,1,2 or 3 (or "top", "bottom", "left" and "right", alternatively)
 * aside from the above, segs[] and nodes[] store the segs/nodes of the current map; segs.iterate and nodes.iterate iterates through segs/nodes
 * NF_SUBSECTOR is also available for usage with node.children
* You can now get the palette indexes (i.e. colormap[n]) of colormap userdata from `v.getColormap`, where n is a palette index number between 0 and 255. Useful for finding out which palette colors turned into what, if they changed at all
* ffloor_t userdata can now save to and be read from $$$.sav in netgames properly; this means custom mobj/player variables and NetVars can both send/recieve them directly if you wanted
* **IMPORTANT** Blockmap search library! (with a new file: lua_blockmaplib.c)
 * Format of iteration function: `searchBlockmap(searchtype, function, mobj, [x1, x2, y1, y2])`. Returns true if search was uninteruppted, false if the iteration function returned true at any point
 * *searchtype* can be either "objects" or "lines", for looking for mobj_t and line_t stuff in the blockmap respectively
 * *function* is a function of your choice to iterate with: (sorry I can't get the next two bullets to be one indent further to the side)
   - format of function needed: `funcname(mobj, foundmobj)` or `funcname(mobj, foundline)` (for searching for objects and lines, respectively)
   - return value of *function* affects searching somewhat: nil doesn't change searching, false ends searching in a block (but doesn't stop searching, it just moves onto the next), and true ends the full search. Both returning true or false ultimately makes `searchBlockmap` return false.
 * *mobj* is the reference mobj that you're checking around (if you don't supply x/y ranges to search in, it defaults to checking within the mobj's radius in both axes). If *mobj* was removed mid-search the search stops and `searchBlockmap` returns false
 * (optional) *x1, x2, y1, y2* are coordinates on the map to search the blockmap between, if given

See merge request !54
2017-01-13 17:15:35 -05:00
Louis-Antoine
b8b720088e Oh? a cookie on the ground
*takes the cookie*
2017-01-13 23:10:00 +01:00
Alam Ed Arias
94025ae947 Merge branch 'master' into lua-additions 2017-01-13 16:47:57 -05:00
Louis-Antoine
490778cdab Why does DD exist 2017-01-13 22:34:16 +01:00
Louis-Antoine
da06b9417a Merge branch 'netcode-shit' of https://github.com/LJSonik/SRB2 into netcode-shit 2017-01-13 22:02:06 +01:00
Louis-Antoine
7cca60a027 Merge branch 'master' into netcode-shit 2017-01-13 21:48:24 +01:00
Louis-Antoine
005485cf9c Fixed a warning 2017-01-13 21:30:30 +01:00
Louis-Antoine
e9cb6d0331 -Added a timeout for game state downloading to prevent definitive join freezes in some cases. The timeout has a minimum value of "jointimeout" and gets higher as the game state grows in size
-If the server tries to kick a joiner who is downloading the game state, they will get a timeout instead, because a regular kick would only happen once the game state has been downloaded
-Added a timeout for player ticcmd packets, again to prevent freezes to happen in some cases
-File/game state downloading is now faster, the speed is controlled by the "downloadspeed" cvar, in packets per tic
-The reason is now properly shown when the server refuses connection
-Changed the default values of "nettimeout" to 10 seconds (previously 15) and "maxsend" to 4 MB (previously 1)
-Added a "noticedownload" cvar that displays a message in the server console when someone is downloading a file
2017-01-13 20:53:52 +01:00
Alam Ed Arias
e7a1c81355 Merge branch 'cmake_nasm' into 'master'
CMake: Fix nasm Linux builds

When compiling under Linux with CMake and nasm/yasm enabled, the operation would fail during linking with undefined symbols related to the tmap files.
This commit adds support for passing flags to the assembler and passes ```-DLINUX``` in order to compile.

After this change, binaries are successfully compiled with either nasm or yasm on Linux systems.
Tested on Ubuntu.

See merge request !153
2017-01-12 17:21:05 -05:00
Monster Iestyn
a38c2cf38e clipping code didn't seem so bad this time (at least compared to without), let's enable it now? 2017-01-12 21:44:27 +00:00
Monster Iestyn
df534887e9 Remove pointless drawtextured variable and redundant fake planes checks (R_FakeFlat would already have made gr_frontsector/backsector something else if they were) 2017-01-12 21:43:37 +00:00
MonsterIestyn
6ad64347f3 Merge pull request #156 from frozenLake/patch-1
Added transmaps to non modifying lump list.
2017-01-12 01:14:43 +00:00
Alam Arias
456f5cf6e8 Merge branch 'next' into patch-1 2017-01-11 15:50:54 -05:00
Tasos Sahanidis
5216da13f0 Don't check if SRB2_ASM_FLAGS is defined and add docstring for the assembler 2017-01-11 21:52:14 +02:00
Monster Iestyn
e727fea427 Merge branch 'master' into next 2017-01-11 19:40:51 +00:00
Monster Iestyn
b1168b1728 Merge branch 'CMake-inline_ASM' into 'master'
CMake: split inline ASM code from vid_copy.s code

See merge request !151
2017-01-11 11:37:21 -05:00
frozenLake
d865877ca2 Merge branch 'next' into patch-1 2017-01-11 10:49:37 -05:00
Tasos Sahanidis
0f52606953 Pass -DLINUX to n/yasm 2017-01-11 03:16:48 +02:00
Monster Iestyn
e87324b814 Made some efforts to improve efficiency of new code, hard to tell if I've made it better or worse though honestly
R_IsEmptyLine is now a thing too btw
2017-01-10 20:07:02 +00:00
Monster Iestyn
c5e99050fc More progress, NEWCLIP added to doomdef.h, sadly it actually all lags the game so I've disabled it for now
Other notes:
* on second thought I'll keep the hw_clip functions' gld prefixes rather than HWR, not like it matters either way
* despite the extra lag it does fix the issues with translucent walls and such when displayed at different vertical angles, such as with the GFZ1 waterfall
2017-01-10 18:01:03 +00:00
Monster Iestyn
edba7834ae Merge branch 'master' into plane-displacement 2017-01-10 14:52:57 +00:00
Monster Iestyn
93a40eb87a Merge branch 'master' into opengl-improvements 2017-01-09 22:13:34 +00:00
Monster Iestyn
e37d680a4a Starting work on porting hw_clip.c/h code, Makefiles and CMake can compile them at least
Other notes:
* Renamed all new functions to have HWR_ prefix instead of gld_, for consistency
* HWR_FrustrumSetup and HWR_SphereInFrustum are disabled and require HAVE_SPHEREFRUSTRUM. This is because 1) SRB2CB did not need the code, so presumably neither will we, and 2) there are some OpenGL API functions used there that due to our way of using OpenGL we don't use outside of r_opengl.c, which makes dealing with HWR_FrustrumSetup complicated in theory
* The new clipping functions are not added to OpenGL's "main" rendering code itself just yet, they're just available to use now once hw_clip.h is included
2017-01-09 22:13:26 +00:00
toasterbabe
38c7436565 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into charabilities_mk3
# Conflicts:
#	src/d_clisrv.c
2017-01-09 11:10:47 +00:00
frozenLake
e3b94c04fd Added transmaps to non modifying lump list. 2017-01-08 18:13:46 -06:00
Monster Iestyn
3d07915be2 Merge branch 'vada_flickies' into 'master'
Hardcoded VAda Flickies

Many thanks to MI for his help, even if he has sinful opinions on what the collection of creatures should be called. ;P

* Flickies are now handled via A_FlickySpawn instead of hardcoded in P_KillMobj, so there can be mobjtypes with MF_ENEMY which don't create flickies, or other mechanisms which can much easier.
* Added map header "FlickyList" (aka "AnimalList") parameter, which can either be set to:
    * A species (eg: "Rabbit" or "Bluebird", amongst 17 currently supported types in dehacked.c table FLICKYTYPES - including the seed from Sonic CD, which isn't limited to 'soniccd on' in the console now)
    * Any valid mobjtype that isn't MT_NULL (eg: "MT_FLICKY_GHOST")
    * A comma-seperated list of either of the above, up to 64 entries long (eg: "Cow,MT_FLICKY_SPIDER,Chicken")
    * "All" - sets behind-the-scenes stuff to use every 'normal' type of flicky in FLICKYTYPES (a distinction which can be utilised to hide secret level flickies where they wouldn't be appropriate for the main game)
    * "Demo" - sets behind-the-scenes stuff to use the five flickies closest to the species used in the game's long history.
    * "None" - prevents any flickies from spawning.

"Demo" is functionally the default value if you don't include a FlickyList parameter in the header at all.

Of note, a bunch of functions are now created:
* A_FlickySpawn - spawns flicky.
* A_FlickyAim - aims for area near target, but not directly on them - turns around when hitting wall
* A_FlickyFly -  flies/swims around target (calls A_FlickyAim)
* A_FlickySoar - hacky alternate fly (calls A_FlickyAim)
* A_FlickyCoast - slowing down before going off again
* A_FlickyHop - fracunit-scale precision for A_BunnyHop
* A_FlickyFlounder - A_FlickyHop with randomisation
* A_FlickyCheck - State-setter for falling, or being on-ground
* A_FlickyHeightCheck - State-setter for falling, or being below a certain height relative to target
* A_FlickyFlutter - A_FlickyCheck, but with a slow fall/movement (calls A_FlickyCheck and A_FlickyAim)

I don't need to enumerate the object types and states that have been added, do I?

Oh yeah, I also made it so get_mobjtype's failure value was MT_NULL and prohibited SOC from editing the properties of it to compensate.

IN ADDITION: Killed "soniccd" console command, since it made things more complicated and honestly being able to specify Sonic CD seeds in the level header is a better option.

See merge request !60
2017-01-08 17:36:25 -05:00
Alam Ed Arias
55925cabe8 win32: fixup printf warnings 2017-01-08 14:06:30 -05:00
Alam Ed Arias
fca88d2e98 Mingw: disable GetText support 2017-01-08 13:54:52 -05:00