Navigation Menu

Skip to content

Commit

Permalink
added more history about Mirek's work on daesop, added some cmake bas…
Browse files Browse the repository at this point in the history
…ed versions
  • Loading branch information
psi29a committed Jun 26, 2013
1 parent 129e988 commit f02e4e4
Show file tree
Hide file tree
Showing 13 changed files with 154 additions and 23 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Expand Up @@ -6,7 +6,7 @@ include (ThirdeyeMacros)

# Version
set (THIRDEYE_VERSION_MAJOR 0)
set (THIRDEYE_VERSION_MINOR 1)
set (THIRDEYE_VERSION_MINOR 86)
set (THIRDEYE_VERSION_RELEASE 0)

set (THIRDEYE_VERSION "${THIRDEYE_VERSION_MAJOR}.${THIRDEYE_VERSION_MINOR}.${THIRDEYE_VERSION_RELEASE}")
Expand Down
5 changes: 2 additions & 3 deletions CREDITS.txt
@@ -1,7 +1,6 @@
Contributors

The Thirdeye project was started in 2013 by Bret Curtis.
In the course of years many people have contributed to the project.

If you feel your name is missing from this list,
please notify a developer.
Expand All @@ -14,9 +13,9 @@ Additional Credits:
In this section we would like to thank people not part of Thirdeye for their work.

Thanks to Mirek Luza
For original starting daesop to update Eye of the Beholder 3 to work on
For originaly starting daesop to update Eye of the Beholder 3 to work on
AESOP/32 and for releasing daesop into the public domain.

Thanks to John Miles
For making AESOP/16 and thus making Eye of the Beholder 3 and Dungeon Hack
possible. Thanks also releasing your AESOP/32 into the public domain.
possible. Thanks also releasing your AESOP/32 into the public domain.
88 changes: 86 additions & 2 deletions README.md
Expand Up @@ -24,10 +24,94 @@ TODO

CHANGELOG

0.86.0
0.86.0:

* Picking up where Mirek Luza of daesop (0.85.0) left off
* Picking up where Mirek Luza of daesop (0.85.0) left off in 2007
* Code is now under GPLv3 license
* Ported daesop to Linux and also made it multi-platform
* Cleaned up daesop code
* Now have three binaries: thirdeye, thirdeyelauncher and daesop.


0.85.0:
The version 0.850 improves the AESOP disassembler. The local variables and
parameters use now symbolic names. Also whenever the bytecode uses a direct
number which could possibly refer an existing resource, the corresponding
comment is added into the disassembly (of course in many cases this will be
a wrong guess - the number can be used for different purposes - but I still
think it will increase the readability of the disassembler). Some minor fixes
in the disassembly were made.


0.80.0:

The version 0.800 adds the command for patching of the converted EYE.RES from
the "Eye of Beholder 3" so that it does not crash when loading/saving
(there is a problem that the original code depends on the shape of 16 bit
pointers, minor fix is needed to make it work in AESOP/32 - the fix is done
in the code resource "menu" in the message handler "show"). This should make
the "Eye of Beholder 3" playable in the AESOP/32 (but more testing is needed).
I also added a command which makes patching of the EOB 3 and the conversion of
bitmaps/fonts to the AESOP/32 in one step (instead of using DAESOP three times).
But remember that another command is still needed to replace the resource 3
(see later).


0.75.0:

The version 0.750 adds support for converting "EOB 3 like" fonts. This means
that that all text is now shown inside the game, further increasing playability.
Beware that there are still some problems (e.g. I had crashes when wanting to
save game). I must investigate them.


0.70.0:

The version 0.700 adds support for converting "EOB 3 like" bitmaps. This means
that the "Eye of Beholder 3" is already partially usable in AESOP/32 (not
really playable - fonts need to be converted). Also a possibility to create
TBL files (for the "Dungeon Hack" engine) was added.


0.63.0:

The version 0.660 adds the command line options /r and /rh. This enable to
"replace" resources in an existing RES file (so it is possible to change
e.g. code/images/music/sound...). The replacement does not remove an old
resource physically but rather adds a new resource to the end of the file
and changes reference pointing to the old resource so that it points to the
new resource.


0.63.0:

The version 0.630 adds a usefull command line option /ir. It enables to show
more information about resources, their types and for string resources their
values.


0.60.0:

The version 0.600 adds a lot of new things into the disassembler introduced in
DAESOP 0.500. It concerns mainly variables. For most of variables (with
exception of local "auto" variables) symbolic names are used. When possible
(imported/exported variables), the real names are used. When it is not possible
(private static variables, "table" variables), simple symbolic names are made.
In future versions of DAESOP this will be done also for local variables.
The tables showing import/export resources were reworked and they now show
properly all available items. The problem of not disassembling procedures
(instructions JSR/RTS) was fixed. Various minor things were fixed/improved.


HISTORY

0.51 minor bug fixes (just making the disassembled code nicer)
0.50 fourth release (including disassembler)
0.40 third release: added more dumps, resolving names in export tables
0.36 internal revision: added info about special/import/export/code resources
0.35 internal revision (major rewriting, starting to show individual resource information)
0.31 fixed syntax help
0.30 second release including resource extraction (061017)
0.25 internal version
0.20 first release (061014)
0.1x initial versions (development)
6 changes: 5 additions & 1 deletion apps/daesop/CMakeLists.txt
@@ -1,3 +1,6 @@
# config file
configure_file ("${CMAKE_CURRENT_SOURCE_DIR}/config.hpp.cmake" "${CMAKE_CURRENT_SOURCE_DIR}/config.hpp")

set(DAESOP
convert.cpp
daesop.cpp
Expand All @@ -12,9 +15,10 @@ set(DAESOP

set(DAESOP_HEADER
resstr.hpp
config.hpp
)

source_group(game FILES ${GAME} ${DAESOP_HEADER})
source_group(game FILES ${DAESOP} ${DAESOP_HEADER})

include_directories(${CMAKE_CURRENT_BINARY_DIR})

Expand Down
9 changes: 9 additions & 0 deletions apps/daesop/config.hpp
@@ -0,0 +1,9 @@
#ifndef CONFIG_H
#define CONFIG_H

#define DAESOP_VERSION_MAJOR 0
#define DAESOP_VERSION_MINOR 86
#define DAESOP_VERSION_RELEASE 0
#define DAESOP_VERSION "0.86.0"

#endif
9 changes: 9 additions & 0 deletions apps/daesop/config.hpp.cmake
@@ -0,0 +1,9 @@
#ifndef CONFIG_H
#define CONFIG_H

#define DAESOP_VERSION_MAJOR @THIRDEYE_VERSION_MAJOR@
#define DAESOP_VERSION_MINOR @THIRDEYE_VERSION_MINOR@
#define DAESOP_VERSION_RELEASE @THIRDEYE_VERSION_RELEASE@
#define DAESOP_VERSION "@THIRDEYE_VERSION@"

#endif
20 changes: 10 additions & 10 deletions apps/daesop/daesop.cpp
Expand Up @@ -38,8 +38,8 @@ int main(int argc, char *argv[])
loDirectoryPointers[i] = NULL;
}

printf("AESOP decompiler version: %1.3f\n", VERSION);
printf("Public domain software made by Mirek Luza\n");
printf("AESOP decompiler version: %s\n", DAESOP_VERSION);
printf("\n\n");

if (argc < 3)
{
Expand Down Expand Up @@ -334,8 +334,8 @@ int getInformation(FILE *aResFile, DIRPOINTER *aDirectoryPointers, char *aOutput
return false;
}

fprintf(loOutputFile, "AESOP decompiler version: %1.3f\n", VERSION);
fprintf(loOutputFile, "Public domain software made by Mirek Luza\n\n");
fprintf(loOutputFile, "AESOP decompiler version: %s\n", DAESOP_VERSION);
fprintf(loOutputFile, "\n\n");

fprintf(loOutputFile, "Analyzed file: %s\n", myResName);
fprintf(loOutputFile, "Signature: %s\n", myHeader.signature);
Expand Down Expand Up @@ -879,8 +879,8 @@ int getResourceInformation(FILE *aResFile, DIRPOINTER *aDirectoryPointers, int a
printf("The file could not be opened: %s!\n", aOutputFilename);
return false;
}
fprintf(loOutputFile,"AESOP decompiler version: %1.3f\n", VERSION);
fprintf(loOutputFile,"Public domain software made by Mirek Luza\n\n");
fprintf(loOutputFile,"AESOP decompiler version: %s\n", DAESOP_VERSION);
fprintf(loOutputFile,"\n\n");
fprintf(loOutputFile,"Analyzing the resource %s in the file: %s\n\n", aResource, myResName);
fprintf(loOutputFile,"Resource name: %s\n", loResourceName);
fprintf(loOutputFile,"Resource number: %d\n", loExtractedResourceNumber);
Expand Down Expand Up @@ -977,8 +977,8 @@ int getResourcesInformation(FILE *aResFile, DIRPOINTER *aDirectoryPointers, char
return false;
}

fprintf(loOutputFile, "AESOP decompiler version: %1.3f\n", VERSION);
fprintf(loOutputFile, "Public domain software made by Mirek Luza\n\n");
fprintf(loOutputFile, "AESOP decompiler version: %s\n", DAESOP_VERSION);
fprintf(loOutputFile, "\n\n");

fprintf(loOutputFile, "Analyzed file: %s\n", myResName);
fprintf(loOutputFile, "Signature: %s\n", myHeader.signature);
Expand Down Expand Up @@ -1195,8 +1195,8 @@ int getOffsetInformation(FILE *aResFile, DIRPOINTER *aDirectoryPointers, char *a
return false;
}

fprintf(loOutputFile, "AESOP decompiler version: %1.3f\n", VERSION);
fprintf(loOutputFile, "Public domain software made by Mirek Luza\n\n");
fprintf(loOutputFile, "AESOP decompiler version: %s\n", DAESOP_VERSION);
fprintf(loOutputFile, "\n\n");

fprintf(loOutputFile, "Analyzed file: %s\n\n", myResName);

Expand Down
3 changes: 1 addition & 2 deletions apps/daesop/daesop.hpp
@@ -1,15 +1,14 @@
#ifndef DAESOP_H
#define DAESOP_H

#include "config.hpp"
#include "dblocks.hpp"
#include "dict.hpp"
#include "utils.hpp"
#include "rentry.hpp"
#include "dasm.hpp"
#include "convert.hpp"

#define VERSION 0.86

#define NOTHING 0
#define GET_INFORMATION 1
#define GET_RESOURCES_INFORMATION 2
Expand Down
11 changes: 10 additions & 1 deletion apps/launcher/CMakeLists.txt
@@ -1,13 +1,22 @@
# config file
configure_file ("${CMAKE_CURRENT_SOURCE_DIR}/config.hpp.cmake" "${CMAKE_CURRENT_SOURCE_DIR}/config.hpp")


set(LAUNCHER
main.cpp
)

set(LAUNCHER_HEADER
config.hpp
)
source_group(game FILES ${LAUNCHER} ${LAUNCHER_HEADER})

include_directories(${CMAKE_CURRENT_BINARY_DIR})

# Main executable
add_executable(thirdeyelauncher
${GUI_TYPE}
${LAUNCHER}
${LAUNCHER} ${LAUNCHER_HEADER}
)

target_link_libraries(thirdeyelauncher
Expand Down
9 changes: 9 additions & 0 deletions apps/launcher/config.hpp
@@ -0,0 +1,9 @@
#ifndef CONFIG_H
#define CONFIG_H

#define LAUNCHER_VERSION_MAJOR 0
#define LAUNCHER_VERSION_MINOR 86
#define LAUNCHER_VERSION_RELEASE 0
#define LAUNCHER_VERSION "0.86.0"

#endif
9 changes: 9 additions & 0 deletions apps/launcher/config.hpp.cmake
@@ -0,0 +1,9 @@
#ifndef CONFIG_H
#define CONFIG_H

#define LAUNCHER_VERSION_MAJOR @THIRDEYE_VERSION_MAJOR@
#define LAUNCHER_VERSION_MINOR @THIRDEYE_VERSION_MINOR@
#define LAUNCHER_VERSION_RELEASE @THIRDEYE_VERSION_RELEASE@
#define LAUNCHER_VERSION "@THIRDEYE_VERSION@"

#endif
4 changes: 2 additions & 2 deletions apps/thirdeye/config.hpp
Expand Up @@ -2,8 +2,8 @@
#define CONFIG_H

#define THIRDEYE_VERSION_MAJOR 0
#define THIRDEYE_VERSION_MINOR 1
#define THIRDEYE_VERSION_MINOR 86
#define THIRDEYE_VERSION_RELEASE 0
#define THIRDEYE_VERSION "0.1.0"
#define THIRDEYE_VERSION "0.86.0"

#endif
2 changes: 1 addition & 1 deletion docs/mainpage.hpp
Expand Up @@ -2,4 +2,4 @@
///
/// This is the source documentation for:
///
/// Thirdeye 0.1.0
/// Thirdeye 0.86.0

0 comments on commit f02e4e4

Please sign in to comment.