Commit graph

15695 commits

Author SHA1 Message Date
Tasos Sahanidis
001e4e11ca
Correct C FixedMul() off-by-one errors
The FixedMul() C implementation would produce off by one results,
causing constant desyncs on 64 bit builds and builds without an
ASM implementation of the function.

This is fixed by shifting instead of dividing, possibly avoiding
rounding errors.
2018-05-20 22:55:21 +03:00
toasterbabe
ee42132ed1 * Bumpers and Balloons in a more final state.
* Blue diagonal springs, because that gap is very, very odd.
* Improved A_SpawnFreshCopy.
* Tweaked P_LookForEnemies for consistency's sake. (Previously, it was impossible to make a spring that could neither be homing-attacked or attraction-shotted.)
2018-05-20 00:04:39 +01:00
Oleksii Vilchanskyi
6866dac171
m_fixed: asm: cc is not a register
gcc accepts

  __asm__ ( "" : : : "%cc");

but not clang:

    error: unknown register name '%cc' in asm
        :"%cc", "%edx"         // edx and condition codes clobbered

'cc' is not a register, thus '%cc' is rightfully not accepted.

Repro: build the project on x86_64 with:
    cmake -H. -Bbuild -DCMAKE_C_COMPILER=clang -DCMAKE_SIZEOF_VOID_P=4 -DCMAKE_C_FLAGS="-m32"
2018-05-18 00:23:22 +02:00
Sryder
092e709235 OpenGL Map Specific palettes working
This makes OpenGL stop using a specific function that doesn't really do anything for it anymore. It looks like it was used for a hack that would change the colour of polygons for the flashpal equivalent in DOOM.
I made it so ST_DoPaletteStuff doesn't set the flashpal in OpenGL as it already does its own hacky overlay and doing that would cause all the textures to be flushed more mid-level, it could be enabled for more correct flashpals, but they still wouldn't effect fog or lighting.
This means the palette will be set when going to the title screen, and twice when starting a map, (causing the OpenGL cached textures to also be flushed at those times)
2018-05-17 22:17:20 +01:00
Steel Titanium
0bef99f566 Fix console typo 2018-05-17 13:57:19 -04:00
Sryder
badbb4324e Fix FF_FULLBRIGHT not working in sectors with multiple light levels in OpenGL 2018-05-16 21:04:57 +01:00
LJSonik
87ba5a2233
Merge branch 'master' into minor-net-command-fixes 2018-05-15 21:31:47 +02:00
toasterbabe
786fd65f3c Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into hardcoding-time-again 2018-05-15 16:29:32 +01:00
toasterbabe
720de810bd The start of implementing FuriousFox's bumpers/balloons!
No hardcoding of states, but the test .wad they're stored in right now is predominantly state, object, and sprite definitions/assets right now - the only hook is for setting the colour of the balloons!!
2018-05-15 16:10:42 +01:00
MascaraSnake
90d6f1d5ba Merge branch 'flat-alignment-change' into 'master'
Change to linedef type 7 (flat alignment): If no tag is given, affect front sector.

See merge request STJr/SRB2Internal!145
2018-05-15 03:40:31 -04:00
MascaraSnake
2e8cb9582a Consistency: Pointer declarations next to the variable name instead of the type 2018-05-15 09:39:52 +02:00
MascaraSnake
975a318460 Change to linedef type 7 (flat alignment): If no tag is given, affect front sector. 2018-05-14 19:34:22 +02:00
toasterbabe
3c50acd1bf * Minor changes to make A_CrushclawAim more useful.
* Some fun with the chain. https://cdn.discordapp.com/attachments/402861856219463681/445539938633515018/srb20022.gif
* More corrections to closed captions.
2018-05-14 13:20:24 +01:00
toasterbabe
26d13db548 * Crushtacean!
* Behaves a bit differently to the one in DSZres.pk3.
   * Can now punch DSZ mines!
   * Also has mapthingnum 126 instead of 610.
* Some other mapthingnum changes.
   * DSZ2 stalagmite is now 1009, formerly 999.
   * Big DSZ gargoyle is now 1011, formerly 1009.
2018-05-14 01:19:24 +01:00
Steel Titanium
b4d479ad9a Include errno if not already included. 2018-05-13 16:04:34 -04:00
Steel Titanium
7f084868b9 More helpful error message 2018-05-13 15:35:38 -04:00
GoldenTails
7783ddd134
Update hw_md2.c 2018-05-13 14:34:08 -05:00
GoldenTails
5f0a45124c
Update hw_md2.c 2018-05-13 14:32:33 -05:00
GoldenTails
e66e0bb20e
Fixed MD2 models not loading correctly on Linux 2018-05-13 14:19:36 -05:00
toasterbabe
5c11131230 Fix inverted chaining condition! 2018-05-13 17:25:55 +01:00
toasterbabe
a738ef99e3 * DrT's Spincushion hardcoded.
* Make the MF_PAIN stuff ONLY depend on mass, using the bottom 8 bits for the type and the custom sound in the upper ones.
* A bunch of cleanup of random other stuff, including an unused Deton state and an unused Jetty type's sprite.
2018-05-13 14:09:20 +01:00
Monster Iestyn
4f75ae3a68 Fix both Bouncy FOF and Space Countdown sector specials working on FOFs without the FF_EXISTS flag
Also move the Bouncy FOF sector special check above the FOF heights checking in P_CheckBouncySectors, because it means not having to waste time calculating FOF heights only for it not to be bouncy anyway :P
2018-05-11 20:35:46 +01:00
Alam Ed Arias
6be0f90fbe Merge branch 'master' into next 2018-05-08 21:26:26 -04:00
Steel Titanium
a1d696b38e Fix small typo 2018-05-08 18:38:28 -04:00
Steel Titanium
9ff491dd78 Add indentation 2018-05-08 18:36:47 -04:00
toasterbabe
8a61d87961 * Add new damagetype flag (DMG_CANHURTSELF) that allows a player to hurt themselves indirectly.
* Add damagetype to P_RadiusAttack (optinteger in lua, A_Explode var1).
* Removed the prevention of MF_BOSS objects from getting P_RadiusAttacked. This was a holdover from DooM (I checked) - a way to prevent the Cyberdemon from gibbing itself when firing point blank into a wall, and also a way to make it and the Spider Mastermind harder.
* Enemies are solid to other enemies movement-wise now.
* (Fun little aside - if you remove MF_SOLID from a monitor, it now behaves like they did in Sonic Adventure (poppable by colliding with, not just attacking).
* Fixed Metal Sonic battle conflict in MF_PAIN/mass not picked up earlier.
* Miscellaneous tiny code tweaks.
2018-05-08 23:26:36 +01:00
Steel Titanium
29e80c5300 Don't increment totalplaytime if a demo is playing. 2018-05-08 18:16:01 -04:00
toasterbabe
d0575f7fb0 * Hive Elementals and Bumblebores, plus associated useful action functions.
* Made Facestabbers take two hits and have associated pain/death animations. No other changes, just wanted to make sure THIS was done.
* Move Bubblebuzz-related stuff to go alongside the secret badniks and etc.
* MF2_INVERTAIMABLE. Inverts whether P_LookForEnemies can get at; replaces a hardcoded thingy.
2018-05-04 21:30:15 +01:00
toasterbabe
8f71e93cee * Remove Commander-specific hack, incorporate into A_CrawlaCommanderThink.
* Make my changes to its thinker slightly more consistent.
2018-05-03 14:04:29 +01:00
toasterbabe
94c7d9bc52 Forgot to do this before making the previous commit; completes support for no-points drone badniks. 2018-05-03 00:00:22 +01:00
toasterbabe
6d1ba20a1d * Add native support for multi-hit badiks to MF_ENEMY.
* MF2_FRET application and removal.
   * Flashing when flag present.
   * Bounce player back on successful damaging.
   * Add their spawnhealth to the chain.
* Reduce code duplication in P_TouchSpecialThing.
* Play with Crawla Commander a little bit as a test of its power.
2018-05-02 23:48:50 +01:00
toasterbabe
856edd50df Remove the ugly double-hack for monitors! Doesn't QUITE do it via the return value of P_DamageMobj like MI and I theorised it should do, but it's functionally identical whilst being less code to maintain. 2018-05-02 20:55:07 +01:00
toasterbabe
cf9d53efd8 Kill MF2_STANDONME (mechanically; still occupies the slot... will change that next time I have to handle the DEHACKED lists.) 2018-05-02 20:35:20 +01:00
toasterbabe
dbc0ac2303 * Springs no longer need MF_SOLID to function. (I tried to add a special Sonic 1-3 style "springs are solid from the side" thing with native support, but it turns out that requires too many hacks for an optional extra feature not used in the campaign, so No.)
* Springs no longer send you flying relative to the slope whilst you're on a slope. (I tried fixing this before, but this is a much more solid fix.)
2018-05-02 20:03:18 +01:00
toasterbabe
5cc1befcad * Haunted Heights! Smashing spikeball, Cacolantern, Spinbobert and Hangster, along with the Spider and Bat flickies and general decoration/ambience stuff.
* MF_PAIN and MF_MISSILE now support setting damagetype via their Mass parameter. The two existing conflicts - the fuse setting for the grenade weapon ring and the Cybrakdemon napalm bomb - had these moved to other free parameters.
* A_ConnectToGround is EXTREMELY useful for palmtrees and stuff.
* Some other, relatively hacky A_ functions.
* (Unrelated) Remove the need for a "Mario block mode" for the token by making it natively compatible.
* Spikes and their time-offsetting via that Lua script sphere made. Also allow for wallspikes to do it via their angle/360.
2018-04-28 15:13:44 +01:00
toasterbabe
1eb84f57c5 * Billiards mines! With support for both above and below water, replacing both the below-and-above-water old mines at once.
* Explosion executors.
* Minor refactor of P_KillMobj.
2018-04-26 20:18:51 +01:00
Monster Iestyn
8e5ac64d7c Merge branch 'dedicated-nosoundinit' into 'master'
Don't init the sound system on dedicated servers

See merge request STJr/SRB2!225
2018-04-21 17:40:45 -04:00
Monster Iestyn
452aef4981 Merge branch 'connect-empty-address-fix' into 'master'
Fixed "invalid pointer" error when passing "" to Command_connect().

See merge request STJr/SRB2!234
2018-04-21 17:32:50 -04:00
Monster Iestyn
83a84d5a81 Merge branch 'connect-server-fix' into 'master'
Removed contradictory `-connect` check

See merge request STJr/SRB2!236
2018-04-21 16:25:28 -04:00
Monster Iestyn
eb0f9681d7 Merge branch 'findfile-rewrite' into 'master'
Rewrite of d_netfil.c's findfile

See merge request STJr/SRB2!240
2018-04-21 16:22:21 -04:00
Monster Iestyn
48a85512a0 Merge branch 'dedicated-debug-hotfix' into 'master'
Dedicated debug hotfix

See merge request STJr/SRB2!239
2018-04-21 16:13:38 -04:00
Monster Iestyn
6c7acdbd9e Merge branch 'movie-spec-stage-fade-fix' into 'master'
Movie mode: special stage intro fade recording fix

See merge request STJr/SRB2!229
2018-04-21 16:12:46 -04:00
Monster Iestyn
9cdf87404e Rewrote findfile to store whether any of the three paths searched had a bad MD5 rather than just simply being not there.
This means that, if the three paths are not the same, you should be able to tell if at least one of them has a file that just had a bad MD5. Most relevant for Linux peeps I expect.

Note: Untested as of writing
2018-04-15 22:00:31 +01:00
Monster Iestyn
3fb12cf337 Don't use CV_StealthSetValue on cv_itemfinder if running the game in dedicated mode 2018-04-15 19:59:57 +01:00
Steel Titanium
2139d4771f Default sound volume is too loud 2018-04-11 14:40:05 -04:00
toasterbabe
976331fb03 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into hardcoding-time-again 2018-04-08 16:23:19 +01:00
toasterbabe
729b7d81c3 DEVMODE visual output messed with a bit. NOT in master this time.
* DBG_PLAYER split out from DBG_DETAILED. (The difference I'm intending here is whether it's referring to stuff in the player struct, or stuff in the mobj struct.)
* Function pointer for text so both modes can show the same stuff if it's not taking over the entire screen, and only show the "INFO NOT AVAILABLE AT THIS RESOLUTION" if it's in danger of going off the bottom.
2018-04-08 14:31:56 +01:00
toasterbabe
375c3c584e [13:01] toaster: hey
[13:01] toaster: would anyone object if i pushed this to master
[13:02] toaster: so my changes to devmode don't fuck with gifs, for example https://cdn.discordapp.com/attachments/428262628893261828/432500920773771264/srb20575.gif
[13:02] NEV3R: ¯\_(ツ)_/¯
[13:02] toaster: ok i'll just do it
2018-04-08 13:03:40 +01:00
toaster
5f79a2f1df Merge branch 'delag_maces' into 'master'
Delag Maces

See merge request STJr/SRB2Internal!141
2018-04-07 18:11:31 -04:00
toasterbabe
790e334d19 comment goof 2018-04-07 23:10:34 +01:00