1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2024-11-15 22:19:07 +00:00
Commit graph

229 commits

Author SHA1 Message Date
fgenesis
c78d4d7a11 Fixed some script interface functions, error handling & code cleanups
== Script interface changes: ==

Removed entity_setClampOnSwitchDir(), which was a no-op.

Added entity_getFlag() function, for fairness, as nodes already have one.

Added node_getLabel() function, which does not return the _full_ node string, but only the first part before parameters.

dofile() supports relative paths now, and it is no longer necessary to use appendUserDataPath() + full path from a mod.

entity_color() does now support all interpolation functions that similar vector-manipulation functions support (loop, ping-pong, ease).

added entity_getVel() function (an entity_setVel() can be emulated with entity_clearVel(), followed by entity_addVel()).

*_getNearestNode() and *_getNearestEntity() allow an optional ignore parameter.
node_getNearestNode() allowed to specify a node to exclude from the search,
the others not -- now the interface is more consistent.

Deprecated entity_[incr/decr]TargetLeaches(entity) - the attached leach amount was never handled
by any entity other than Naija. Replaced them with avatar_[incr/decr]Leaches(), but kept the old
ames for now, too. Should be removed in a while.


== Script interface & related fixes: ==

Added bool loudScriptErrors to control displaying script syntax error and global variable usage warnings.
So far, syntax errors always went do debugLog(), but it is less time consuming when writing scripts
to have them displayed right away.

*_getNearestNode now scan by label, and not full name.
This allows searching for nodes but ignoring its parameters. The original game scripts never search
for nodes that have parameters, so this does not break anything,
but allows modding without an exploding amount of specialized node scripts.

entity_setBoneLock() failed for certain entites with throwLuaErrors=true,
allowing to burst through them (gears, grouper, big mithalas jelly, probably more).

Removed unnecessary int-casts in entity_setHealth(), entity_changeHealth(), and a few others,
which truncated float fractional parts.

Fixed possible crashes in many functions due to missing NULL-pointer checks,
if wrong data were passed to Lua.

Optimized entity_getNearestEntity() a little - do nocasecmp() after checking all other params

UPPERCASE global variables as used in mod include files are now tolerated, even with all warnings on.
This makes sense because it was impossible to include a custom flags definition file
(which _must_ have globals, otherwise the including scripts won't see them) in a mod without beeing buried in spam.
They won't change, or clobber any states, and UPPERCASE sort of implies a constant/#define, imho.

Added better control over warnings about not-existing files. map_*.lua and premap_*.lua files are optional,
and no warning should be given if they do not exist. Missing Entity scripts and mod-init.lua must be
warned about, however.

Fixed a crash in global variable access warning (NULL pushed into std::ostringstream)

Fixed 2 random warnings i found in scrips


== Misc stuff: ==

Related to the changes above, cleaned out unused variables from the Entity class,
and removed the code that had to do with them somehow. Some parts of the removed code
were still in use, although totally unnecessary.
Saves a few bytes of memory per entity, and less code that can cause headache.
2011-09-18 23:12:02 +02:00
fgenesis
7d0c2351ed Revert "Added support for world maps in mods."
This reverts commit b0d9fdc1cc.
2011-09-18 22:32:25 +02:00
fgenesis
2bc86c21ee Some scene editor enhancements.
Added Shift+Mousewheel as faster alternative to E and R for tile selection
(had to change the undocumented and probably unused Shift+R action to Alt+R).

Allow applying element effects (numpad 0-9) to multiple selected tiles,
and not only one.

A new node does no longer have "NewPath" as default text when created,
which always forces the user to hammer backspace 6 times before own text can be entered.
2011-09-18 22:02:29 +02:00
fgenesis
b0d9fdc1cc Added support for world maps in mods.
Mods with a <Properties hasWorldMap="1"> tag in their XML definition
can now open a native world map like the original game.
Fixed an oversight that the world map visited area was
updated while the editor was open; fixed worldmap.txt saving;
removed the limitation that world map tiles had to be 256x256 -
all tile sizes work now.
Improved the builtin worldmap editor a little.
The game does now read _mods/#/data/stringbank.txt from a mod and merges
it with the main stringbank.txt, and uses _mods/#/data/worldmap.txt
as a full replacement.
Load _mods/#/[map|premap]_mapname.lua scripts to properly
initialize the Naija map token.
2011-09-18 20:53:27 +02:00
fgenesis
d4282221fc Revert "Revert "move around some files to keep the size of the next commit down""
This reverts commit b2abcff02d.
2011-09-15 20:17:23 +02:00
fgenesis
b2abcff02d Revert "move around some files to keep the size of the next commit down"
This reverts commit 0951283b31.
2011-09-15 19:19:14 +02:00
fgenesis
56c6833220 Revert "added partial VFS support - enough to read static data from any source"
This reverts commit fa3e9e7329.
2011-09-15 19:18:53 +02:00
fgenesis
fa3e9e7329 added partial VFS support - enough to read static data from any source 2011-09-15 18:33:13 +02:00
fgenesis
0951283b31 move around some files to keep the size of the next commit down 2011-08-13 14:50:47 +02:00
fgenesis
e23a881bda fix ActionMapper crash (thx PL) 2011-08-11 23:43:55 +02:00
fgenesis
10c8d53e36 OpenAL device fix (thx PL) 2011-08-11 23:43:26 +02:00
fgenesis
53a2dc6c65 lib update, mingw compat 2011-08-11 23:13:12 +02:00
fgenesis
5c6ed37b99 re-enable linking against SDLmain 2011-08-11 17:01:36 +02:00
fgenesis
827e8f2a4b fix MSVC OpenGL linkage warnings & mingw linker problems. use SDL.lib also for MinGW. 2011-08-11 04:56:27 +02:00
fgenesis
6df593975f oops 2011-08-11 04:50:14 +02:00
fgenesis
2e4e2941db log to console in debug mode; close log properly; really #define _DEBUG for gcc debug builds + gcc _DEBUG compatibility 2011-08-11 02:26:46 +02:00
fgenesis
7f9af044d7 remove last remains of DRM-related code and cleanup main() a bit 2011-08-11 01:51:03 +02:00
fgenesis
120272512c fixes for win32/MSVC build. This removes SDLmain as dependency, and fixes newer gcc versions refusing to compile FmodOpenALBridge.cpp. Allow enabling/disabling console window in win32 build. 2011-08-11 01:42:10 +02:00
fgenesis
f23b69ffc3 Revert "remove last remains of DRM-related code and cleanup main() a bit"
This reverts commit 9757cb2fca.

Conflicts:

	Aquaria/Main.cpp
2011-08-11 01:38:25 +02:00
fgenesis
ab11cdb4e4 Revert "fixes for win32/MSVC build. This removes SDLmain as dependency, and fixes newer gcc versions refusing to compile FmodOpenALBridge.cpp. Allow enabling/disabling console window in win32 build."
This reverts commit 5b511f556a.
2011-08-11 01:34:27 +02:00
fgenesis
5b511f556a fixes for win32/MSVC build. This removes SDLmain as dependency, and fixes newer gcc versions refusing to compile FmodOpenALBridge.cpp. Allow enabling/disabling console window in win32 build. 2011-08-11 01:34:01 +02:00
fgenesis
01c3e9c38f Revert "fixes for win32/MSVC build. This removes SDLmain as dependency, and fixes newer gcc versions refusing to compile FmodOpenALBridge.cpp. Allow enabling/disabling console window in win32 build."
This reverts commit fe16861832.

Conflicts:

	Aquaria/Main.cpp
	CMakeLists.txt
2011-08-08 13:06:34 +02:00
fgenesis
f8b0c29ecd whoops 2011-08-08 04:26:00 +02:00
fgenesis
9757cb2fca remove last remains of DRM-related code and cleanup main() a bit 2011-08-08 04:14:46 +02:00
fgenesis
e2793031bc some repo cleanup 2011-08-08 03:57:06 +02:00
fgenesis
13c3d8a7af fix a little crash 2011-08-08 03:55:40 +02:00
fgenesis
fe16861832 fixes for win32/MSVC build. This removes SDLmain as dependency, and fixes newer gcc versions refusing to compile FmodOpenALBridge.cpp. Allow enabling/disabling console window in win32 build. 2011-08-08 03:54:30 +02:00
fgenesis
a9f660d7d6 add .gitignore 2011-08-03 22:07:11 +02:00
fgenesis
3096eaf5e2 initial commit. This is icculus version 5542b94cae02a6333845854bbbd1abe0a259f1a4 2011-08-03 22:05:33 +02:00