"Fabother World" an interpreter for Another World (Out of this world).
C++ C
Latest commit d25fa27 Jul 5, 2014 fabien sanglard Fix crash on AmigaOS4
Permalink
Failed to load latest commit information.
vs2010 Rename visual studio folder to vs2010. Feb 19, 2014
xcode/raw/raw.xcodeproj Add xcode project. Feb 18, 2014
.gitignore Add xcode project. Feb 18, 2014
COPYING Initial commit Dec 15, 2011
Makefile Makefile: Added support for platform autodetection Mar 11, 2013
README Fixed typo in project. Jan 20, 2013
README.newraw Initial commit Dec 15, 2011
bank.cpp eliminate uint8 (et. al.) types in favor of stdint.h type definitions Mar 3, 2012
bank.h eliminate uint8 (et. al.) types in favor of stdint.h type definitions Mar 3, 2012
endian.h endian.h: Added a AUTO_DETECT_PLATFORM define to override auto-detect Mar 11, 2013
engine.cpp endian.h: fix incorrect regex replacements caused by stdint.h changes Mar 3, 2012
engine.h eliminate uint8 (et. al.) types in favor of stdint.h type definitions Mar 3, 2012
file.cpp endian.h: fix incorrect regex replacements caused by stdint.h changes Mar 3, 2012
file.h endian.h: fix incorrect regex replacements caused by stdint.h changes Mar 3, 2012
intern.h eliminate uint8 (et. al.) types in favor of stdint.h type definitions Mar 3, 2012
main.cpp Typo Apr 2, 2014
mixer.cpp eliminate uint8 (et. al.) types in favor of stdint.h type definitions Mar 3, 2012
mixer.h eliminate uint8 (et. al.) types in favor of stdint.h type definitions Mar 3, 2012
parts.cpp Added comment for understanding memory segment usage. Mar 3, 2012
parts.h eliminate uint8 (et. al.) types in favor of stdint.h type definitions Mar 3, 2012
resource.cpp Fix crash on AmigaOS4 Jul 5, 2014
resource.h For better code legibility, use MEMENTRY_STATE_* instead of plain int… Feb 13, 2013
serializer.cpp endian.h: fix incorrect regex replacements caused by stdint.h changes Mar 3, 2012
serializer.h eliminate uint8 (et. al.) types in favor of stdint.h type definitions Mar 3, 2012
sfxplayer.cpp For better code legibility, use MEMENTRY_STATE_* instead of plain int… Feb 13, 2013
sfxplayer.h eliminate uint8 (et. al.) types in favor of stdint.h type definitions Mar 3, 2012
staticres.cpp eliminate uint8 (et. al.) types in favor of stdint.h type definitions Mar 3, 2012
sys.h eliminate uint8 (et. al.) types in favor of stdint.h type definitions Mar 3, 2012
sysImplementation.cpp eliminate uint8 (et. al.) types in favor of stdint.h type definitions Mar 3, 2012
util.cpp eliminate uint8 (et. al.) types in favor of stdint.h type definitions Mar 3, 2012
util.h eliminate uint8 (et. al.) types in favor of stdint.h type definitions Mar 3, 2012
video.cpp eliminate uint8 (et. al.) types in favor of stdint.h type definitions Mar 3, 2012
video.h eliminate uint8 (et. al.) types in favor of stdint.h type definitions Mar 3, 2012
vm.cpp For better code legibility, use MEMENTRY_STATE_* instead of plain int… Feb 13, 2013
vm.h eliminate uint8 (et. al.) types in favor of stdint.h type definitions Mar 3, 2012

README

This is "Fabother World": an Another World (Out Of This World in North America) interpreter codebase. This work is based on:

- Piotr Padkowski's newRaw interpreter which was based on
- Gregory Montoir's reverse engineering of
- Eric Chahi's assembly code.

I cleaned up a lot of the code, removing cryptic hexadecimal notation
with meaningful macros name. I also cleanup a lot of the code so it has a 
C/C++ philosophy instead of an assembly structure.

I also created a Visual Studio 2010 project.

TODO:

Create a MacOS X project.
Add a different rendering path OpenGL support.

Fabien Sanglard


raw README
Release version: 0.1.1 (May 15 2004)
-------------------------------------------------------------------------------

About:
------

raw is a re-implementation of the engine used in the game Another World. This 
game, released under the name Out Of This World in non-European countries, was 
written by Eric Chahi at the beginning of the '90s. More information can be 
found here : http://www.mobygames.com/game/sheet/p,2/gameId,564/.

Please be aware that, currently, this implementation may contains bugs and 
non-implemented features that make it impossible to finish the game.

Supported Versions:
-------------------

Currently, only the english PC DOS version is supported ("Out of this World").

Compiling:
----------

Tweak the Makefile if needed and type make (only gcc3 has been tested so far).
The SDL and zlib libraries are required.

Running:
--------

You will need the original files, here is the required list :
    BANK*
    MEMLIST.BIN
	
To start the game, you can either :
- put the game's datafiles in the same directory as the executable
- use the --datapath command line option to specify the datafiles directory

Here are the various in game hotkeys :
    Arrow Keys      allow you to move Lester
    Enter/Space     allow you run/shoot with your gun
    C               allow to enter a code to jump at a specific level
    P               pause the game
    Alt X           exit the game
    Ctrl S          save game state
    Ctrl L          load game state
    Ctrl + and -    change game state slot
    Ctrl F          toggle fast mode
    Alt Enter       toggle windowed/fullscreen mode
    Alt + and -     change scaler factor

Credits:
--------

Eric Chahi, obviously, for making this great game.

Contact:
--------

Gregory Montoir, cyx@users.sourceforge.net