Commit graph

408 commits

Author SHA1 Message Date
Yukita Mayako
0af32ee2fa Move garbage collection out of Lua hooks.
That's supposed to be run once a frame, not once per hook
per mobj per frame you moron. If you just run it seven
thousand times a frame, of course your framerate will drop.
2015-06-10 13:42:45 -04:00
Yukita Mayako
06b82d172b lua_pushfstring only allows %d not %x
Stupid JTE.
2015-06-10 11:06:56 -04:00
Yukita Mayako
6ac5013802 Only push userdata to the stack when needed!!
Dummy, what do you think you're doing? If you
just push mobjs and players into Lua all willy-
nilly everywhere, you'll wind up generating
tons of metatables and stuff you arne't even
gonna use!

Oh. Thanks me, I'm really smart.
2015-06-10 08:06:16 -04:00
Yukita Mayako
120c9c5ad5 Change int32_t to __int32 on MSC.
I can't just say screw it and include the full
doomtype.h here (windows.h conflict?) so a
small hack here will have to do. :I
2015-06-10 07:41:44 -04:00
Yukita Mayako
ecdf3412c0 Rewrote the entirety of lua_hooklib.c
This _should_ solve some significant performance
issues Lua experiences. If not, I will be very
upset for having wasted so much time and effort.

There will be bugs, this kind of thing needs to
be thuroughly tested and this is just the first
iteration of it.
2015-06-10 07:28:09 -04:00
JTE
f783df718c Reset tmthing after P_CheckSector calls from Lua
tmthing must not be set outside of P_MapStart and P_MapEnd
or the game will fail a sanity check which ensures that
mobj references are not persistent across frames and crash.
2015-05-22 01:51:40 -04:00
JTE
c91cd3860b Revert "Wrapped Lua MapLoad hook in P_MapStart / P_MapEnd."
This reverts commit 6ee50e803b.
2015-05-22 01:46:59 -04:00
JTE
6ee50e803b Wrapped Lua MapLoad hook in P_MapStart / P_MapEnd.
This fixes a crash if a script tries to use a MapLoad hook
to immediately edit the map in some way the moment it
finishes loading.
2015-05-21 19:55:22 -04:00
JTE
dfa8ac7ccb Added sidedef texture and offset manipulation to Lua. 2015-05-21 19:05:17 -04:00
JTE
ef0e61fc33 Change LUA_NUMBER to fixed_t, change angle_t handling in Lua.
Angles now go from 0 to 0xFFFF (360 degrees == FRACUNIT) instead
of using a full UINT32. Lua only has one number type, so signedness
gets in the way of using angle_t directly. This handling of angles
matches up with how ZDoom ACS scripting and the like does it.

I also changed all the integer casts and pushes of fixed_t to
their own macro in preperation for possible future seperation.
2015-05-20 23:54:04 -04:00
JTE
9d36cf37bd Removed EvalMath from base Lua.
EvalMath is for SOC only.
It spawns an entirely seperate instance of Lua and requires
uppercase-only strings, and it's ability to parse strings to
enums is redundant to Lua's _G table (try using
_G["MT_BLUECRAWLA"] for instance)
2015-05-20 18:44:03 -04:00
JTE
1e62be15ce ALL7EMERALDS is a boolean you idiot, not an integer. 2015-05-20 17:29:32 -04:00
Furyhunter
f7c463418e Merge branch 'actual-blockmap-fix' into 'next'
Actual blockmap fix

MI's "fix" was a reversion of something that allowed 2.0 maps to use the entire blockmap. This MR reverts that fix and adds a proper fix to the issue of west/south edges of the blockmap not working as they should. Tested with a thokbarrier-less square map (all sides were solid) and with AGZ (objects are tangible all around the map, like they are in 2.1.14).

See merge request !10
2015-04-14 20:22:25 -04:00
Furyhunter
420c90fb48 Merge branch 'serverfix' into 'next'
Re-fix the server global variable in Lua

I screwed up the conditions on my first attempt to fix this, since I only tested one scenario. Tested this in SP, at the main menu, and both clientside and (dedicated)serverside in MP. Everything works as intended.

See merge request !9
2015-04-14 20:14:17 -04:00
Furyhunter
63089c885e Merge branch 'polyobject-more-fixes' into 'next'
Polyobject more fixes

Extra fixes related to polyobjects; actually properly putting their flats alongside them in the draw list, and making them able to use single-waypoint zoom tube sequences. Also threw in a smoothness fix for swinging chains while I was there.

See merge request !8
2015-04-14 20:13:16 -04:00
Furyhunter
3d59e337ac Merge branch 'polyobject-scroll-hotfix' into 'next'
Polyobject scroll hotfix

Things fixed:

* Polyobjects should now carry the same thing types as conveyors (notable example; they'll now carry Crawlas when they wouldn't before)
* The drifting issue with players on spinning polyobjects should be fixed. (I swapped in the old bad hack for a new hack that should work like it's supposed to)

See merge request !6
2015-04-14 20:10:07 -04:00
RedEnchilada
d2c74e1b13 Fix the west/south blockmap issue without fucking up huge maps 2015-04-08 21:32:07 -05:00
RedEnchilada
09345ce929 Revert "Guess what major breaking-news bug I just fixed B)"
This reverts commit 9e306394dd.
Sorry MI, but this completely breaks large maps like AGZ.
2015-04-08 20:50:49 -05:00
Wolfy
55bfb4ffe8 Re-fix the server global variable in Lua 2015-04-08 13:46:30 -04:00
RedEnchilada
210279625a Extra tiny logic fixes; swinging chains are smoother, and polyobjects can follow single-waypoint sequences 2015-04-06 11:23:08 -05:00
RedEnchilada
1078be3c30 Insert polyobject planes into their proper spot in the draw list; replace related hack with other hacks 2015-04-06 11:22:27 -05:00
RedEnchilada
5a4d9f885b Making RotateThings a bit nicer?? 2015-04-01 20:41:53 -05:00
RedEnchilada
6616b030bb Replace the old spinny polyobject player drifty hack thing with a new one that actually works 2015-04-01 18:15:46 -05:00
RedEnchilada
fb120299bb Make polyobjects carry the same objects as conveyors for consistency 2015-04-01 17:39:20 -05:00
Alam Ed Arias
83461f49c5 Merge branch 'public_todo_next' into next
All commits that was in private that are not SRB2 2.2 had moved to public's next
2015-04-01 12:32:34 -04:00
Ronald Kinard
649dd7bd8d Fix SDL2 searching for main when it wasn't necessary. 2015-03-31 18:00:14 -04:00
MonsterIestyn
9e306394dd 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-03-31 18:00:14 -04:00
RedEnchilada
bd5dcb0b0a 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-03-31 18:00:14 -04:00
MonsterIestyn
a797e88bb9 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-03-31 18:00:14 -04:00
RedEnchilada
308a958653 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-03-31 18:00:14 -04:00
RedEnchilada
ada9b6a9ea 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-03-31 18:00:14 -04:00
MonsterIestyn
076719e6a4 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-03-31 18:00:13 -04:00
MonsterIestyn
d915a8142d 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-03-31 18:00:13 -04:00
MonsterIestyn
6cff0bba70 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-03-31 18:00:13 -04:00
MonsterIestyn
2d9d028bea 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-03-31 18:00:13 -04:00
MonsterIestyn
4aa0b7a2a8 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-03-31 18:00:13 -04:00
MonsterIestyn
34c396825f 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-03-31 18:00:13 -04:00
MonsterIestyn
2480382b6b 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-03-31 18:00:13 -04:00
MonsterIestyn
69f77a6c2e 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-03-31 18:00:13 -04:00
Alam Ed Arias
515895dd30 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-03-31 18:00:13 -04:00
MonsterIestyn
c8c7878005 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-03-31 18:00:13 -04:00
JTE
2eb6dd4fc2 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-03-31 18:00:12 -04:00
MonsterIestyn
474ad01b46 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-03-31 18:00:12 -04:00
MonsterIestyn
af4c2fe391 Some minor cleanup for OpenGL sprite/MD2 code 2015-03-31 18:00:04 -04:00
MonsterIestyn
965bd2f694 Crawlas now use only one state for looking each 2015-03-31 17:56:06 -04:00
Ronald Kinard
cf3bd83e2f Merge branch 'solid-midtextures' into next
Closes STJr/SRB2!5.
2015-03-30 16:23:13 -05:00
RedEnchilada
70732f6475 Make solid midtexture trick work properly(?) for polyobjects 2015-03-30 13:06:04 -05:00
RedEnchilada
808775de02 Effect 4 on a map line now makes the front midtexture solid
(Supports Effect 5 repeating of arbitrary lengths, but not of the automatic "top-to-bottom" type; just use Impassible there!)
2015-03-29 00:49:27 -05:00
Ronald Kinard
a2af7ba305 Merge branch 'master' into next
Synchronize with master for STJr/SRB2!4.
2015-03-24 23:12:01 -05:00
Ronald Kinard
d7b3795a82 Merge branch 'fix-windows-compile'
Closes STJr/SRB2!4.
2015-03-24 23:04:44 -05:00