Commit graph

15695 commits

Author SHA1 Message Date
Ronald Kinard
a713509493 Refactor CMake to allow source grouping and separation of interfaces.
Core and SDL2 are two separate targets now. Core is a static library
that is linked into SRB2SDL2. The sources for both are separated.
When using an IDE like Visual Studio or Xcode, the source code
organized into groups that explain what that group of sources does.

In the future, "Main" could be split into a few more groups based on
file prefixes, but I think the way it is set up works for now.

Makefile targets are not affected by source_groups and typing `make`
will automatically compile both the "Core" library and SRB2SDL2
itself.
2015-03-08 03:26:54 -05:00
Ronald Kinard
3d5d61ee87 Remove MSVC netplay warning. 2015-03-04 20:37:37 -06:00
Ronald Kinard
f28b050c07 Append current branch name to comp version string. 2015-03-04 20:15:57 -06:00
Ronald Kinard
e223084982 Use bin output directory. 2015-03-04 20:07:51 -06:00
JTE
7964f3b044 Removed the need to add "Status = 1" to all new Character select entries for it to become active.
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9002 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-01 20:44:32 -05:00
JTE
c1bfde0027 Fixed WGL code "device mode" breaking.
The devil is in the details.

git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9001 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-01 20:44:32 -05:00
JTE
8d7b5941a8 Changed super colors to make them pulse instead of flash. Removed alt. supercolors from replay ghost stuff, because that's stupid. :/
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@8999 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-01 20:43:11 -05:00
JTE
092134ad0c Title screen cheat "devmode".
Access the benefits of -debug, console devmode, and a complete gamedata.dat (all secrets unlocked) all in one go.
Moved "#if 0" and "#if 1" to "#ifdef DEVMODE" so the existance of this cheat and MD5 validation and all that can be toggled in one place too.

git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@8998 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-01 20:43:09 -05:00
MonsterIestyn
9b0e09877e gametype command now prints gametype NAMES instead of numbers. Even prints "Single player" when appropriate!
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@8997 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-01 20:42:12 -05:00
JTE
0dff0d84de New HD SRB2 icon by VAdaPEga.
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@8994 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-01 20:07:56 -05:00
Alam Ed Arias
51380dd527 Merge branch 'next_to_private' into 'master'
Next to private

Merged github next to private master

See merge request !1
2015-03-01 20:01:57 -05:00
Alam Ed Arias
82fc6fd4c0 whitespace cleanup 2015-03-01 19:38:42 -05:00
Wolfy
19b52d19cb Have super sparks scale with the player
Fixes https://mb.srb2.org/showthread.php?t=40279

Should work fine, but do keep in mind that this fix is untested.
2015-03-01 19:38:42 -05:00
MonsterIestyn
ffc1d3cb64 Correcting a most minor math mistake
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@8992 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-01 19:38:00 -05:00
MonsterIestyn
2d8868feca Made HWR_InitMD2 and HWR_AddSpriteMD2/HWR_AddPlayerMD2 slightly less stupid with MD2-related searches in md2.dat: *Don't go barmy and search for a player skin called "THOK" when you already found the sprite called "THOK" beforehand! (or any other sprite prefix for that matter) *Don't make errors appear only for the last sprite/skin when it doesn't make sense to do so!!
Todo: Stop the redundancy that currently goes on with adding MD2s on game start-up (note that HWR_AddSpriteMD2/HWR_AddPlayerMD2 are run for all sprites/skins BEFORE HWR_InitMD2 is called)

git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@8988 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-01 19:38:00 -05:00
Matt Walsh
f3e6770e9a Well that shows you how much we care about the old special stages *or* race!
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@8985 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-01 19:38:00 -05:00
Matt Walsh
0a7f3751f6 Add in missing super check
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@8984 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-01 19:38:00 -05:00
MonsterIestyn
8232dbca10 *Fixed OpenGL's handling of cv_translucency effects (should not remove shadows if off, but perhaps make them use default alpha?), someone was a bit hasty! *De-stupified the MD2 status checks regarding drawing of sprites - if they're already checked before calling HWR_DrawSprite, there's no point doing them WITHIN the function as well *Split off sprite shadow code into HWR_DrawSpriteShadow for convenience
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@8983 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-01 19:38:00 -05:00
Alam Ed Arias
6513954789 whitespace cleanup 2015-03-01 19:30:22 -05:00
Wolfy
627889eec1 Have super sparks scale with the player
Fixes https://mb.srb2.org/showthread.php?t=40279

Should work fine, but do keep in mind that this fix is untested.
2015-03-01 19:28:57 -05:00
Ronald Kinard
967c2a324a Merge branch 'next' into internal-master 2015-03-01 02:21:07 -06:00
Ronald Kinard
15f0670c43 Merge branch 'fix_each_time' into next
Conflicts:
	src/p_floor.c
2015-03-01 02:13:46 -06:00
Ronald Kinard
1fc240fb8d Fix SDL2 searching for main when it wasn't necessary. 2015-02-24 02:19:37 -06:00
MonsterIestyn
0ab6710dfa Guess what major breaking-news bug I just fixed B)
...

(It's that infamous intangible West/South linedefs bug, which was really a blockmap-related bug all along. AND IT WAS SO SIMPLE TO FIX!)

git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9048 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:09:24 -06:00
RedEnchilada
8274b529d5 Make sure lump name is zeroed out before writing so it always ends in a terminating char
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9047 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:09:24 -06:00
MonsterIestyn
d818b7af50 Red's last commit should have been using "pgl", not "gl" for function name prefixes, so the compiler would be happy. Also, more simplicity in my camera code please! Simplified some of the checks for whether a camera should chase or not etc
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9046 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:09:23 -06:00
RedEnchilada
f6de5cc4d9 yellow wanted me to push this cus it fixed md2 translucency for her test cases
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9045 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:09:22 -06:00
RedEnchilada
a30222d8e6 I was helping yellow debug a crash and we found out this thing never actually fixed the crash like it was supposed to so it's fixed now -3-
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9044 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:09:22 -06:00
MonsterIestyn
643dc4cbaa P_CheckSight should ideally be called AFTER most other things in things like P_LookForPlayers at least
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9043 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:09:21 -06:00
MonsterIestyn
16b2dc3b54 Super skin colors are now available for use with mobj.color (but not player.skincolor, for obvious reasons), complete with the names for them (SKINCOLOR_SUPER1-5, TSUPERx, KSUPERx and MAXTRANSLATIONS to boot)
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9042 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:09:20 -06:00
MonsterIestyn
fb47b046da Base draw distances on viewx/viewy coordinates, NOT the player object's coordinates (this can cause problems with things like skyboxes for instance). Splitscreen's player 2 should not affect what sprites player 1 can see, and vice versa! Especially not for precipitation, that just looks ridiculous.
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9041 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:09:20 -06:00
MonsterIestyn
32bf550d08 Removed Lua's access to subsector/linedef validcounts and camera viewheight/startangle, since they are all useless for Lua purposes
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9040 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:09:19 -06:00
MonsterIestyn
e83fa3dc43 Partial damage system overhaul: P_DamageMobj, P_KillMobj, P_HitDeathMessages and P_RingDamage now all take a "damagetype" variable that determines what type of damage was dealt. Does not replace the "damage" variable, we'll have to see if that is worth keeping another time?
Currently the main benefit of these changes is that a number of non-Object-related hazards/deaths no long rely on dummy MT_NULL objects or other hacks to tell the game how you were hurt/killed, yay

git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9039 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:09:18 -06:00
MonsterIestyn
ff8c09922d Fixed changing of player states with respect to vertical spring direction; only thing that should affect it is the player's own gravity.
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9038 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:09:18 -06:00
MonsterIestyn
55c1ad4368 tmsprung is dead, long live MFE_SPRUNG a bunch of other painful tweaks to springs to fix this long-standing "AAA IM STUCK FOREVER UNDER A SPRING" thing when you touch a vertical spring from below (or above for reverse)
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9037 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:09:17 -06:00
MonsterIestyn
a486b70bed remove camera_t's "relativex" option from Lua stuff, it's unused anyway (todo: possibly remove said variable from existence altogether? Some disabled code still uses it though)
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9036 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:09:16 -06:00
MonsterIestyn
860a9172e4 Giving S_PLAY_DEAD A_Fall again so player death sequence doesn't break ...for now.
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9035 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:09:15 -06:00
MonsterIestyn
29b422ca10 Not sure how these things work, but presumably this was meant to be here
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9029 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:09:14 -06:00
Alam Ed Arias
51b783e85a cmake: Fixes to allow MSVC to compile
running is another story

Author:    Ronald Kinard <furyhunter600@gmail.com>
Date:      Wed Jan 28 02:09:03 2015 -0600

git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9013 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:07:18 -06:00
MonsterIestyn
234300d4b6 MF2_PUSHED is now MFE_PUSHED, for the simple reason that it makes more sense as an eflags object flag than a flags2 object flag!
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9009 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:03:03 -06:00
JTE
bf9885a324 Prepared SRB2.cbp (Code::Blocks project) for SDL2 development on Windows as best I could. @_@;
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9006 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:03:02 -06:00
MonsterIestyn
06039bbd9b No more stupidity for No More Enemies special plz NME special now acts similarly to Each Time, checking all sectors sharing the same tag as itself for any enemies/bosses hiding within. This also supports cases where the tagged sectors are FOF control sectors. When the situation is asitsaysonthetin, NME acts like a normal trigger linedef should and executes all linedef execs around the sector it's located in.
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9005 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:03:02 -06:00
MonsterIestyn
c93ae69d9d Crawlas now use only one state for looking each SPR2_ constants added to dehacked.c for use in SOC/Lua (both "SPR2_RUN" and "SPR2_RUN_" are in theory the same thing in this implementation, likewise for other 3-char name cases) spr2names array/table also added for use in Lua - it works identically to Lua's sprnames, only with SPR2_ constants/string names instead Some minor cleanup for OpenGL sprite/MD2 code
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9004 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:03:01 -06:00
JTE
1d87f7d193 Removed default character select entries from hardcoding.
Find them in MAINCFG in player.dta instead, where they belong. This means that player.dta finally contains ALL playable character-related data, with none of it in the iwad or exe.

git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9003 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:03:00 -06:00
JTE
272d8e3f91 Removed the need to add "Status = 1" to all new Character select entries for it to become active.
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9002 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:02:59 -06:00
JTE
301f33f2b7 Fixed WGL code "device mode" breaking.
The devil is in the details.

git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9001 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:02:59 -06:00
MonsterIestyn
eef1406bd8 WARNING: I HAVE PROBABLY JUST BROKEN 3/4 OF THE GAME WITH THIS COMMIT PolyObject setup is now much simplified: First line alone spawns a PolyObject, PolyObject Params apply extra settings Disabled Explicitly Include Line for the meantime, since goodness knows how anyone's supposed to use that at all (let alone working properly) Starting translucencies from PO Params is stored for reference in netgames
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9000 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:02:58 -06:00
JTE
3a0f5fd2ae Changed super colors to make them pulse instead of flash. Removed alt. supercolors from replay ghost stuff, because that's stupid. :/
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@8999 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:02:57 -06:00
JTE
b29a3958e0 Title screen cheat "devmode".
Access the benefits of -debug, console devmode, and a complete gamedata.dat (all secrets unlocked) all in one go.
Moved "#if 0" and "#if 1" to "#ifdef DEVMODE" so the existance of this cheat and MD5 validation and all that can be toggled in one place too.

git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@8998 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:02:56 -06:00
MonsterIestyn
ab78b722d5 gametype command now prints gametype NAMES instead of numbers. Even prints "Single player" when appropriate!
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@8997 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:02:55 -06:00