Commit Graph
469 Commits
Author SHA1 Message Date
MageKing17 f7591078b9 Change collisionInfo from an mc_info object to an mc_info* pointer.
This seems preferable to storing an entire mc_info object on every weapon, when the vast majority of projectiles (by the very nature of the fact that they still exist) won't have collided with anything.

On the other hand, I'm not wild about allocating and freeing memory every time a weapon collides with a ship or debris. If anyone has a better solution, I'm all ears.
2016-07-21 14:44:24 -07:00
asarium aa639881aa Merge branch 'master' into antipodes_/sync 2016-07-16 13:48:12 +02:00
niffiwan 8162abc256 Allow apng's to not be cached
Main use case is headanis where only one is played at a time and
caching the frames merely increases memory use & fragmentation, leading
to malloc errors with heavy apng use
2016-07-09 20:04:16 +10:00
asarium a6df7eef35 Merge branch 'master' into antipodes_/sync
The APNG changes required some additional work. A cursor now owns the
bitmap handle that will be used for the cursor. This is required in
order to support variable FPS cursors.
2016-07-05 12:09:22 +02:00
asarium cd2a692150 Merge branch 'master' into antipodes_/sync 2016-07-04 11:15:40 +02:00
niffiwan 1d28184ce6 Merge pull request #442 from asarium/antipodes_/luaMouse
Improve CursorManager
2016-06-18 12:53:16 +10:00
niffiwan d3d026651e Add __gc lua cleanup function
Per m!m review
2016-05-10 19:42:22 +10:00
niffiwan 7af57209e1 Add LUA support for streaming anims 2016-05-10 19:42:22 +10:00
niffiwan e9e49f5276 Fixes per m|m's review
Use unique_ptr for safer pointer management
Simplify frame delay calcs when looping
Ensure animated cursor times don't lose precision
Switch Error to an Assertion
Fix LUA documentation formatting
2016-05-10 19:42:21 +10:00
niffiwan 375a251334 Complete apng feature
Handle total_time directly requested from bm_load_animation
Make generic_anims request total_time directly
Move png-vs-apng check to apng class
Remove redundancy in apng exception messages
Update comments
2016-05-10 19:42:21 +10:00
niffiwan 87770aad8f Add total_time output param to bm_load_animation
Also convert int to bool, and replace NULL with nullptr
2016-05-10 19:42:20 +10:00
niffiwan 0b20b15c2c Fix issues found by Axem
Fix silly issue preventing getFrame() from working
Remove infinite loop when calculating frame num
Convert more animations to use new frame calc function
2016-05-10 19:42:20 +10:00
niffiwan 78d6957be8 Tweak lua loadTexture to be able to load apngs
Reorder precendence of static image vs animation loading
i.e. load animations 1st if requested, then load still images
if the animation failed to load or if animations weren't requested
2016-05-10 19:42:20 +10:00
niffiwan 50c791c998 Add support for non-streaming apngs
i.e. apngs (pre)loaded into bmpman slots

handles apng variable frame delays
Includes new lua function (getFrames) to find the current frame for
apngs. Also uses new function to correctly display apngs for mission
loading animations, ship thrusters & engine glows.
2016-05-10 19:42:20 +10:00
MageKing17 8906c735c6 Merge pull request #607 from niffiwan/feature/lua_tAnim_instant
Add instant flag to lua triggered anims
2016-05-08 10:57:36 -07:00
niffiwan 1715b20d30 Fix ETS virtvar comments 2016-05-08 15:05:19 +10:00
niffiwan 37497cb7d7 Add instant flag to lua triggered anims
Just expose the existing instant flag from the animation handling code
2016-05-07 21:10:26 +10:00
asarium 2d4d0081cd Merge branch 'master' into antipodes_/sync
Conflicts:
	code/cmdline/cmdline.cpp
	code/io/timer.cpp
	code/network/multi.cpp
	configure.ac
	projects/MSVC_2005/Fred2.vcproj
	projects/MSVC_2005/Freespace2.sln
	projects/MSVC_2005/Freespace2.vcproj
	projects/MSVC_2005/code.vcproj
	projects/MSVC_2008/Fred2.vcproj
	projects/MSVC_2008/Freespace2.doxproj
	projects/MSVC_2008/Freespace2.vcproj
	projects/MSVC_2008/code.vcproj
	projects/MSVC_2010/Fred2.vcxproj
	projects/MSVC_2012/Fred2.vcxproj
	projects/MSVC_2012/Freespace2.vcxproj
	projects/MSVC_2012/code.vcxproj
	projects/MSVC_2012/code.vcxproj.filters
	projects/Xcode4/FS2_Open.xcodeproj/project.pbxproj
	projects/Xcode4/Frameworks.tgz
	projects/Xcode4/Info.plist
2016-03-11 12:36:52 +01:00
Goober5000 e302f0e456 convert the rest of the model instance functions to have model_instance_num parameters instead of object parameters 2016-02-10 23:23:44 -05:00
Goober5000 da812f9433 modify the actual function calls 2016-02-06 18:05:33 -05:00
Goober5000 165124267a Add model_instance handling for weapons, asteroids, and skyboxes 2016-01-24 21:28:43 -05:00
asarium 3db8e5476e Improve default value in scripting API 2016-01-24 23:18:51 +01:00
asarium 6c28b1afb9 Add grab argument for setCursorHidden
This should be used when hiding the cursor while in game.
2016-01-24 23:18:49 +01:00
asarium 907791498a Fix lua documentation 2016-01-24 23:18:46 +01:00
asarium d1af182c61 Remove LuaError when the cursor fails to load
That should be handled by the script calling that function
2016-01-24 23:18:45 +01:00
asarium deade82a19 Merge branch 'master' into antipodes_/sync
Conflicts:
	configure.ac
2015-12-12 18:36:32 +01:00
The E 7604e82f05 Renaming vm_transpose_matrix to vm_transpose 2015-12-01 20:37:33 +01:00
The E e0defd287a Renaming vm_vec_crossprod to vm_vec_cross 2015-12-01 20:36:34 +01:00
The E a413255728 Renaming vm_vec_dotprod to vm_vec_dot 2015-12-01 20:35:47 +01:00
asarium c43d177a72 Merge branch 'master' into antipodes_/sync
Conflicts:
	code/freespace2/freespace.cpp
	code/globalincs/pstypes.h
2015-11-29 13:29:04 +01:00
MageKing17 6dd3158570 Make l_Wing functions handle invalid handles.
Indexing an invalid wing handle now returns invalid ship handles, getting its length returns 0, and getting its name returns an empty string.
2015-11-19 20:27:32 -08:00
MageKing17 004fdae08f Clean up a couple minor issues in lua.cpp
A few comparisons weren't excluding their upper bounds properly, and the documentation for the l_Wing length function was the documentation for the l_Mission_Wings length function.
2015-11-19 20:20:47 -08:00
MageKing17 8fcb1ee789 Add isValid() function to l_Wing objects.
The l_Mission_Wings indexer will return an invalid wing if supplied an invalid name/index. However, you had no way of telling that this was the case because there was no isValid() function to test its validity.
2015-11-19 20:18:31 -08:00
MageKing17 9630d80827 Change wing_name_lookup() to wing_lookup() in l_Mission_Wings indexer.
Avoids inconsistency whereby some wings could be looked up by index but not by name.
2015-11-19 20:16:37 -08:00
DahBlount 9050c08bec Add jumpToMission LUA function and a jump to hub function
The purpose of this function is to provide modders the capability to jump to a mission using LUA scripts. There is an optional argument for jumping to a hub mission, a good example is the JAD campaign map.
2015-11-16 10:45:59 -07:00
asarium 5f23381c07 Merge branch 'master' into antipodes_/sync
Conflicts:
	code/cmdline/cmdline.cpp
	code/globalincs/pstypes.h
	code/globalincs/windebug.cpp
	code/graphics/2d.cpp
	code/windows_stub/stubs.cpp
2015-10-31 17:18:29 +01:00
MageKing17 75ae511ae6 Stop comparing/setting homing_object to NULL.
The rest of the codebase uses &obj_used_list to mean "no homing target", and the inconsistency could cause all kinds of issues.
2015-10-12 16:10:05 -07:00
asarium f08466f0f3 Merge branch 'master' into antipodes_/sync
Conflicts:
	ci/travis/before_install.sh
	ci/travis/install.sh
	code/sound/voicerec.cpp
2015-10-01 22:45:10 +02:00
Lari Nieminen 2e9b2de40a Make the array bounds check actually work 2015-09-24 09:25:59 +03:00
niffiwan bc5b7e6906 Merge pull request #355 from ln-zookeeper/l_cf_get_path_id_buf_fix
Fix possible out of bounds array access
2015-09-22 19:13:01 +10:00
Lari Nieminen 6dc3d67905 Fix possible out of bounds array access
If the input string is "/", then buf[-1] would get accessed and in rare cases also modified.
2015-09-22 11:43:20 +03:00
Echelon9 b7aaf2e885 Refactor bm_set_render_target() return type to bool, thereby removing a TODO 2015-09-07 17:07:24 +10:00
Lari Nieminen 58b8f2a33c Added Lua functions to read mouse/joystick sensitivity and deadzone 2015-08-29 16:54:19 +03:00
asarium e08ba026f8 Merge branch 'master' into antipodes_/sync
Conflicts:
	.travis.yml
	code/cmdline/cmdline.cpp
	code/fs2netd/fs2netd_client.cpp
	code/fs2netd/tcp_client.cpp
	code/globalincs/pstypes.h
	code/graphics/2d.cpp
	code/graphics/2d.h
	code/parse/lua.cpp
	code/parse/scripting.cpp
	code/windows_stub/stubs.cpp
	configure.ac
	projects/MSVC_2012/Freespace2.vcxproj
	projects/MSVC_2012/code.vcxproj
	projects/MSVC_2013/code.vcxproj
	projects/MSVC_2015/code.vcxproj
2015-08-24 12:10:16 +02:00
MageKing17 cd3b543e56 Add null pointer checks throughout lua.cpp.
Previously, the "this != NULL" checks in the isValid() methods were covering most of these cases, but they were removed as part of PR #274 because clang was generating warnings because calling a method on a null pointer is undefined behavior (so the condition *should* be tautological). This performs the checks outside of isValid(), which should avoid (at least this variety of) undefined behavior while fixing the crashes that dereferencing null pointers was causing.
2015-08-22 03:36:26 -07:00
MageKing17 64c9b272e7 Merge branch 'master' of ssh://github.com/scp-fs2open/fs2open.github.com into ship_info
Conflicts:
	code/pilotfile/pilotfile.cpp
2015-08-19 11:53:25 -07:00
asarium 3a69db26eb Fix unneded checks for this != nullptr in lua.cpp 2015-08-19 11:26:31 +02:00
asarium 3d06468e2a Fix format warnings in lua.cpp 2015-08-19 11:26:29 +02:00
asarium 1d93fdea2e Merge branch 'master' into antipodes
Conflicts:
	code/freespace2/freespace.cpp
	code/graphics/2d.cpp
	code/network/stand_gui-unix.cpp
	projects/MSVC_2012/Fred2.vcxproj
	projects/MSVC_2012/Freespace2.vcxproj
	projects/MSVC_2013/code.vcxproj
	projects/MSVC_2013/code.vcxproj.filters
	projects/MSVC_2015/Fred2.vcxproj
	projects/MSVC_2015/Freespace2.vcxproj
	projects/MSVC_2015/code.vcxproj
2015-07-03 19:15:43 +02:00
Echelon9 8c2c451e8e Simplify duplicative parse/ includes. 2015-06-22 20:24:31 +10:00