scummvm/devtools
Matthew Duggan 28bb304812 ULTIMA8: Graphics refactor, use more common code
Try to use more of the built-in ScummVM rendering pipeline and remove redundant
types where possible.  Unfortunately this is a bit of a mega-commit because all
the pieces were tied together, but the main changes are:

* Remove the Texture types, as they add little over ManagedSurface
* Remove the ScalerGump as we no longer use it - we should be using the
  built-in ScummVM scalers
* Remove the Scaler types - the only remaining user after removing ScalerGump
  was in hte AVI player.  There we manually add the Crusader style interlaced
  scaling, which was an outstanding TODO anyway.
* Remove now-unused functions from the RenderSurface family
* Remove the "default" mouse cursor as we never use it in ScummVM
* Remove the memset_n header which duplicates Common::Fill functions (fixes
  #11969)
* Remove the fixed-width bitmap fonts which were used for the Pentagram
  console.

I've tested the following things that this had the potential to break:

* U8 game, credits, movies, minimap, and ttf rendering
* Crusader game and movies
* Debug tools (shape viewer, touch-highlight)
2021-01-04 09:08:20 +09:00
..
create_access
create_bladerunner DEVTOOLS: BLADERUNNER: Abort on unsupported optimization of PNG input 2020-12-31 16:17:51 +02:00
create_cryo DEVTOOLS: Fix compiling with MinGW 2020-09-06 19:26:20 +01:00
create_cryomni3d
create_drascula
create_encoding COMMON: Rewrite Encoder and drop dependency on iconv (#2586) 2020-11-15 16:20:35 +01:00
create_glk
create_hugo
create_kyradat KYRA: support hebrew fan translation (#2683) 2020-12-13 22:27:16 +01:00
create_lure LURE: Add audio initialization icon 2020-12-06 16:37:08 +00:00
create_macgui GRAPHICS: MACGUI: Lighten inactive window borders 2020-08-07 18:55:43 -04:00
create_macventure
create_mortdat
create_myst3 DEVTOOLS: Fix compiling with MinGW 2020-10-14 16:42:28 +01:00
create_neverhood
create_pink
create_prince@4e2acb737c DEVTOOLS: Move create_prince to a submodule 2020-06-15 10:54:16 -04:00
create_project CREATE-PROJECT: Better defaults for xcode 2021-01-01 15:07:37 +09:00
create_supernova SUPERNOVA: Add Italian translation for part1 in engine data file 2020-09-07 02:04:39 +01:00
create_teenagent
create_titanic COMMON: Merge code for str.cpp and ustr.cpp 2020-10-31 14:05:30 +01:00
create_tony
create_toon
create_translations COMMON: Make TranslationManager reusable. 2020-12-17 09:49:18 +01:00
create_ultima ULTIMA8: Graphics refactor, use more common code 2021-01-04 09:08:20 +09:00
create_wage
create_xeen XEEN: create_xeen: Fix error detection for file operations 2020-12-28 15:11:50 -10:00
extract_mort
qtable
sci SCI: Change the generated SCIFX code to arrays 2020-11-08 22:27:46 +02:00
skycpt
tasmrecover
agi-palex.py
construct-pred-dict.pl
convbdf.cpp DEVTOOLS: Fix crash in convbdf 2020-09-16 20:08:41 +01:00
create_classicmacfonts.sh
credits.pl CREDITS: Added/updated myself 2020-12-19 02:06:44 +02:00
dist-scummvm.sh BUILD: Build also lzip source archive 2020-06-20 20:55:07 +02:00
encode-macbinary.sh ALL: Sync with ScummVM rev: a4002bdeee 2020-10-04 23:59:26 +02:00
extract-words-tok.pl
make-scumm-fontdata.c
make-www-archive.py
md5table.c
module.mk BUILD: Sync new credits file location on Web 2020-10-12 14:46:49 +02:00
README COMMON: Rewrite Encoder and drop dependency on iconv (#2586) 2020-11-15 16:20:35 +01:00
scumm-md5.txt SCUMM: Add MD5 of Russian Atlantis translation 2020-12-17 02:02:31 +02:00
themeparser.py
update-version.pl DEVTOOLS: Remove obsolete file from update-version.pl 2020-08-30 13:41:53 +02:00

This directory contains various tools which aid the ScummVM developers
in their work. They are not intended for the general audience, and are
only sparsely, if at all, documented. Use at your own risk. You have
been warned :-).


agi-palex.py (buddha)
------------
    Tool for extracting palettes from Amiga AGI games' executables.


construct-pred-dict.pl, extract-words-tok.pl (sev)
--------------------------------------------
    Tools related to predictive input for AGI engine.


convbdf
-------
    Tool which converts BDF fonts (BDF = Bitmap Distribution Format) to
    C++ source. That source, after being slightly tweaked, can be used to
    replace or add fonts for the ScummVM GUI.

    There is also a ttf2bdf tool which allows you to convert TrueType
    fonts to BDF.

    Hint from SumthinWicked: If you use ttf2bdf, it'll convert all glyphs
    to bitmaps, but ScummVM only needs some of them. So you may want to
    do your conversion like this:
      ttf2bdf -p SIZE -l "32_160" -o FONT.bdf FONT.ttf
    where SIZE is replaced by the desired font height.


create_cryo
-----------
    Creates cryo.dat file which contains a lot of hardcoded tables used
    by the Cryo engine..

create_drascula (sev)
---------------
    Stores a lot of hardcoded data of Drascula in a data file, based on
    the game's original source code. This includes the game's character
    map, item locations, several hardcoded arrays used in animations,
    room script logic, talk sequence logic and all of the game's texts
    (mostly the dialog subtitles) in English, Spanish, German, French
    and Italian. This tool is used to create the drascula.dat file.


create_encodings (phcoder)
--------------
   Transforms CJK tables from unicode consortium format to the format
   used by ScummVM


create_hugo (Strangerke)
-----------
    Creates hugo.dat file which contains all kinds of static data contained
    in original game executable.


create_kyradat (LordHoto, athrxx)
--------------
    Extracts various static data from the original game executables.
    This includes room tables in kyra1, various hardcoded language
    strings in both kyra1 and kyra2, script data for the sequence
    players of kyra1 and kyra2 and other static data. This tool is used
    to create the kyra.dat file.


create_lure (dreammaster)
-----------
    Extracts various static data from each of the different language
    versions of the game executables. This includes character
    animations, game scripts, and other static data. This tool creates
    the lure.dat file.


create_mort (Strangerke)
-----------
    Gathers several information found in the original DOS executable:
    - Font data
    - French, German and fan-made English translation


create_project (LordHoto, Littleboy)
--------------
    Creates project files for Visual Studio 2008, 2010, 2012, 2013, 2015,
    Xcode and Code::Blocks out of the configure / Makefile based build system.
    It also offers a way to enable or disable certain engines and the use
    of external libraries similar to configure. Run the tool without
    any arguments for further help.


create_supernova (criezy)
----------------
    Creates supernova.dat files which contains static data contained in the
    original executable as well as translations into additional languages.


create_toon (Strangerke)
-----------
    This tool creates toon.dat, which contains all the game's texts 
    hardcoded in original game executable. This includes English, French,
    German, Russian and Spanish texts. 


create_translations (criezy)
-------------------
    Creates the translations.dat file from po files given as arguments.
    The generated files is used by ScummVM to propose a translated GUI.


credits.pl
----------
    This perl script contains credits to the many people who helped with
    ScummVM, and it is used to create the credits lists that occur in
    various places, including the AUTHORS file, the about dialog, and our
    web site.


dist-scummvm.sh
---------------
    This shell script is used to create source release archives for
    ScummVM releases. After tagging a branch for release, you can invoke
    it like this:

      ./dist-scummvm.sh scummvm 0.7.1

    Note #1: This creates .zip, .tar.bz2 and .tar.gz archives in /tmp by
    default. To do that it performs a "cvs export" in /tmp first. If you
    want to use another location, you can specify it as the thirds param
    to the script.

    Note #2: This assumes that our naming conventions for release tags
    are being followed. I.e. the tag must be named "release-0-7-1" in
    the above example. You can, however, specify an alternate tag as the
    fourth param.

    Note #3: Since SF.net anon CVS tends to lag behind developer CVS, if
    you just tagged CVS, anon CVS may not yet have this. So if you are
    in a hurry, modify the cvsroot in the script to use your dev CVS
    account.


make-scumm-fontdata (eriktorbjorn)
-------------------
    Tool that generates compressed font data used in SCUMM: To get rid of
    a few kilobytes of hard-coded font data, we only store how the
    French, German, Italian and Spanish fonts differ from the English one.


md5table
--------
    Used to convert scumm-md5.txt into a SCUMM header file, or
    alternatively PHP code for our website.


qtable (cyx)
-------
    This tool generates the "queen.tbl" file.


skycpt (lavosspawn)
-------
    This tool generates the "SKY.CPT" file.