Lua is very problematic for the PSP build because it wants a) libpng built with the plugins which is not great, but not that bad. b) It calls several PSP functions directly, and it turns out PSP functions can only be called from the main executable -- they're in flash and must be fixed up using custom PSP utils. Until this mechanism is changed so that for example lua calls functions in the main executable, the PSP cannot be built.
The following functions need to be removed/moved to the main executable:
All socket functions (should be disabled anyway)
Clock()
Rename()
Additionally, png functions should ideally also be called only from the main executable.
svn-id: r53615
building sword25
If libtheoradec is missing then the engine still builds if requested, but the
videos will be disabled (note that running the game with videos disabled is
still untested)
svn-id: r53419
- Update the documentation of available backends and special hosts based on
the available ones.
- Sort backend/host/case lists alphabetically.
svn-id: r53158
- Handle the --docdir option which was documented but not accepted.
- Reorder the directory variables and their handling to have the same order
everywhere. This will hopefully make bugs like this harder to happen.
svn-id: r53149
The advantage is that we get to do inlining and even use lwl and lwr instructions where appropriate. We have to do it ourselves because the PSP doesn't tolerate built-in instructions, but also we have a more efficient memcpy than the lib's.
svn-id: r52817
The ELF loader does not have access to the symbols of the main
executable, it just relocates symbols to it via fixed offsets. We need
to make sure that loaded plugins are from the same link process to
prevent crashes. An embedded build date is used for that.
svn-id: r52730
This fixes detection issues with a noexec /tmp (bug #3009167),
and matches what autoconf does. There should be no need to
randomize temp file names in the build dir.
svn-id: r52659
Avoid linking all plugins against libstdc++ to free up some memory
(about ~40kb on Wii per plugin). Enable it on GameCube, Wii, DS and PSP
(PS2 doesn't have __cxa_atexit support in its libc).
svn-id: r52607
The problem that caused the crash in BS2 had to do with GCC making improper assumptions about our code. Specifically, the alignment trick we use for READ_UINT32/16 allows some targets(e.g. MIPS) to generate better code, but it also goes against ANSI C aliasing rules, which prohibit the sharing of addresses between a struct and another variable value. Using -fno-strict-aliasing tells GCC not to assume strict ANSI C aliasing and also unfortunately prevents it from making some good optimizations.
This change is probably needed for other platforms as well -- the crash on the PSP was simply a very rare coincidence.
svn-id: r52473
This reverses the stereo channels for all sfx streams, meant for
hardware devices which expect an inverse order. Use it for the Wii
and Gamecube port since it's reversed since day one :P
svn-id: r52357
AmigaOS4 core devs tell that the special directory "SObjs" (that holds
the shared object files) should only be used by the end user (games,
apps, etc.) but not by projects that are to be build.
This patch fixes it.
svn-id: r51269
* Added a yes/no variable _unix to configure, which controls when
-DUNIX is added to DEFINES
* Enable SEQ MIDI via _seq_midi by default on UNIX type systems,
except for those which override that.
* Switch SEQ MIDI code to check #define USE_SEQ_MIDI
(alternatively, we could compile it only conditionally...)
svn-id: r51055
* Remove unused add_to_config_mk_if_no()
* Add two new functions: define_in_config_h_if_yes() and
define_in_config_if_yes(). These make it much more convenient
to #define something in config.h, or in both config.h and config.mk
simultaneously.
* Convert configure code to use the two new functions, were appropriate.
* Add preliminary USE_SEQ_MIDI support, as discussed on scummvm-devel.
This is incomplete as it does not actually detect anything, it just
allows turning off _seq support.
svn-id: r51054
Conversion of the old build system is incomplete. Binaries created
using this new build system support most likely will not run!
More work is needed, but the work done so far should be enough
to get basic NDS support on our buildbot working.
svn-id: r50672
arm-*-linux-androideabi, since this is what the upcoming gcc-4.6
change uses.
Work around Android 2.0 and newer dynamic linker bug by explicitly
linking plugins against the core libscummvm.so.
Mark Android packages as preferring to be on external storage.
Move -lm from LDFLAGS to LIBS.
svn-id: r50665
In recent discussions on -devel it turned out, that this
feature is rather superfluous and instead we should rather
implement a proper error reporting in our GUI.
I also removed the dependency on iconv along with this.
svn-id: r50335
Based on patch #2903830: "Updated Translation Prototype" by alexbevi
which in turn is based on patch #1739965 by jvprat.
Currently it builds all translations right into ScummVM. Once the
feature will be accepted more widely, i.e. more translations will
pop up, it will be trivial to move translation strings to external
file.
Finished translation: Russian
Unfinished translation: Hungarian
Things which are nice to do:
- Language code -> language mapping for more user friendness
- Specifying fonts to be used with language
- Updating of interface language without restart. It will require
moving of much code to reflowLayout() methods for each dialog
The .po files must be in single byte encodings. I.e. no support
for Unicode.
svn-id: r49759