Changeset 990 for Daodan


Ignore:
Timestamp:
Apr 2, 2014, 2:48:54 AM (11 years ago)
Author:
alloc
Message:

Daodan 3.7:

Location:
Daodan
Files:
3 added
8 edited

Legend:

Unmodified
Added
Removed
  • Daodan/makefile

    r983 r990  
    44
    55DEF = BEA_ENGINE_STATIC
    6 INCLUDEPATHS = .
    7 GCCFLAGS = -std=c99 -O0 -Wall -fomit-frame-pointer -fpack-struct -Wextra -Wno-pragmas -Wno-unused-variable $(addprefix -I$(SRC)/,$(INCLUDEPATHS)) -Wno-unused-parameter $(addprefix -D,$(DEF))
     6INCLUDEPATHS = src
     7GCCFLAGS = -std=c99 -O0 -Wall -fomit-frame-pointer -fpack-struct -Wextra -Wno-pragmas -Wno-unused-variable $(addprefix -I,$(INCLUDEPATHS)) -Wno-unused-parameter $(addprefix -D,$(DEF))
    88LINKFLAGS = -O0 -Wall -fomit-frame-pointer -fpack-struct -s -mdll
    99LOCALE = LC_MESSAGES=C
    1010
    11 #LIBS = -lwinmm -lopengl32
     11LIBDIRS =
    1212LIBS = -lgdi32 -lwsock32
    1313OBJS = $(SRC)/binkw32.def
     
    3636ALL: $(DESTFOLDERS) $(DEST) $(OBJS)
    3737        @echo "Linking"
    38         $(LOCALE) $(GCC) $(LINKFLAGS) -o $(OUT) $(DEST) $(OBJS) $(LIBS)
     38        $(LOCALE) $(GCC) $(LINKFLAGS) -o $(OUT) $(DEST) $(OBJS) $(LIBDIRS) $(LIBS)
    3939
    4040clean:
  • Daodan/src/Daodan.c

    r983 r990  
    1212#include "Daodan_Config.h"
    1313#include "patches/Patches.h"
     14#include "bink-proxy.h"
    1415#include "_Version.h"
    1516
     
    3536        DDrConfig(argc, argv);
    3637
     38        if(GetKeyState(VK_SHIFT) & 0x8000) {
     39                DDrStartupMessage("Daodan: Shift");
     40                guitest(DDrONiModule);
     41        }
     42
    3743        DD_Patch_Init();
     44
     45        BinkProxyInit();
    3846
    3947        ONiMain(argc, argv);
  • Daodan/src/Daodan_Config.c

    r984 r990  
    6262                if (!_stricmp(section, "options"))
    6363                        ini_section = s_options;
    64                 else if (!_stricmp(section, "patch"))
     64                else if (!_stricmp(section, "patch") || !_stricmp(section, "patches"))
    6565                        ini_section = s_patch;
    6666                else if (!_stricmp(section, "bsl"))
  • Daodan/src/Daodan_Patch.c

    r983 r990  
    168168        DDrPatch_MakeJump(&trampoline[pos], (void*)disasm.EIP);
    169169        DDrPatch_NOOP(from, (void*)disasm.EIP - from);
     170
     171        DWORD oldp;
     172        if (!VirtualProtect(trampoline, 40, PAGE_EXECUTE_READWRITE, &oldp)) {
     173                DDrStartupMessage("Daodan: Detour: Could not mark page for trampoline as executable: from address 0x%08x", from);
     174                return (void*)-1;
     175        }
    170176        DDrPatch_MakeJump(from, to);
    171177/*
     
    213219    DDrStartupMessage("");
    214220    DDrStartupMessage("");
    215      */
     221*/
     222
    216223        return trampoline;
    217224}
  • Daodan/src/Oni_Symbols.h

    r987 r990  
    114114// Oni's main method?
    115115DefFunc(void, ONiMain, __cdecl, (int ArgCount, char *ArgList[]), 0x004d3280);
     116
     117DefFunc(uint16_t, CLrGetCommandLine, ONICALL, (int inArgc, const char* inArgv[], char*** outArgV), 0x0043ffd0);
    116118
    117119// Initialization code, used to hook in windowed modes
  • Daodan/src/_Version.h

    r983 r990  
    66
    77#define DAODAN_VERSION_MAJOR 3
    8 #define DAODAN_VERSION_MINOR 6
     8#define DAODAN_VERSION_MINOR 7
    99#define DAODAN_VERSION_STRING STRINGIZE(DAODAN_VERSION_MAJOR) "." STRINGIZE(DAODAN_VERSION_MINOR)
    1010
  • Daodan/src/binkw32.def

    r687 r990  
    22
    33EXPORTS
     4        _BinkBufferBlit@12      @1
     5        _BinkBufferClose@4      @4
     6        _BinkBufferLock@4       @7
     7        _BinkBufferOpen@16      @8
     8        _BinkBufferSetOffset@12 @11
     9        _BinkBufferUnlock@4     @14
     10        _BinkClose@4    @16
     11        _BinkCopyToBuffer@28    @18
     12        _BinkDoFrame@4  @20
     13        _BinkGetRects@8 @24
     14        _BinkNextFrame@4        @33
     15        _BinkOpen@8     @34
     16        _BinkOpenDirectSound@4  @35
     17        _BinkService@4  @41
     18        _BinkSetIOSize@4        @45
     19        _BinkSetSoundOnOff@8    @48
     20        _BinkSetSoundSystem@8   @49
     21        _BinkSetVolume@8        @52
     22        _BinkWait@4     @53
    423
    5         _BinkBufferBlit@12          = REALBINK._BinkBufferBlit@12          @1
    6         _BinkBufferCheckWinPos@12   = REALBINK._BinkBufferCheckWinPos@12   @2
    7         _BinkBufferClear@8          = REALBINK._BinkBufferClear@8          @3
    8         _BinkBufferClose@4          = REALBINK._BinkBufferClose@4          @4
    9         _BinkBufferGetDescription@4 = REALBINK._BinkBufferGetDescription@4 @5
    10         _BinkBufferGetError@0       = REALBINK._BinkBufferGetError@0       @6
    11         _BinkBufferLock@4           = REALBINK._BinkBufferLock@4           @7
    12         _BinkBufferOpen@16          = REALBINK._BinkBufferOpen@16          @8
    13         _BinkBufferSetDirectDraw@8  = REALBINK._BinkBufferSetDirectDraw@8  @9
    14         _BinkBufferSetHWND@8        = REALBINK._BinkBufferSetHWND@8        @10
    15         _BinkBufferSetOffset@12     = REALBINK._BinkBufferSetOffset@12     @11
    16         _BinkBufferSetResolution@12 = REALBINK._BinkBufferSetResolution@12 @12
    17         _BinkBufferSetScale@12      = REALBINK._BinkBufferSetScale@12      @13
    18         _BinkBufferUnlock@4         = REALBINK._BinkBufferUnlock@4         @14
    19         _BinkCheckCursor@20         = REALBINK._BinkCheckCursor@20         @15
    20         _BinkClose@4                = REALBINK._BinkClose@4                @16
    21         _BinkCloseTrack@4           = REALBINK._BinkCloseTrack@4           @17
    22         _BinkCopyToBuffer@28        = REALBINK._BinkCopyToBuffer@28        @18
    23         _BinkDDSurfaceType@4        = REALBINK._BinkDDSurfaceType@4        @19
    24         _BinkDoFrame@4              = REALBINK._BinkDoFrame@4              @20
    25         _BinkGetError@0             = REALBINK._BinkGetError@0             @21
    26         _BinkGetKeyFrame@12         = REALBINK._BinkGetKeyFrame@12         @22
    27         _BinkGetRealtime@12         = REALBINK._BinkGetRealtime@12         @23
    28         _BinkGetRects@8             = REALBINK._BinkGetRects@8             @24
    29         _BinkGetSummary@8           = REALBINK._BinkGetSummary@8           @25
    30         _BinkGetTrackData@8         = REALBINK._BinkGetTrackData@8         @26
    31         _BinkGetTrackID@8           = REALBINK._BinkGetTrackID@8           @27
    32         _BinkGetTrackMaxSize@8      = REALBINK._BinkGetTrackMaxSize@8      @28
    33         _BinkGetTrackType@8         = REALBINK._BinkGetTrackType@8         @29
    34         _BinkGoto@12                = REALBINK._BinkGoto@12                @30
    35         _BinkIsSoftwareCursor@8     = REALBINK._BinkIsSoftwareCursor@8     @31
    36         _BinkLogoAddress@0          = REALBINK._BinkLogoAddress@0          @32
    37         _BinkNextFrame@4            = REALBINK._BinkNextFrame@4            @33
    38         _BinkOpen@8                 = REALBINK._BinkOpen@8                 @34
    39         _BinkOpenDirectSound@4      = REALBINK._BinkOpenDirectSound@4      @35
    40         _BinkOpenMiles@4            = REALBINK._BinkOpenMiles@4            @36
    41         _BinkOpenTrack@8            = REALBINK._BinkOpenTrack@8            @37
    42         _BinkOpenWaveOut@4          = REALBINK._BinkOpenWaveOut@4          @38
    43         _BinkPause@8                = REALBINK._BinkPause@8                @39
    44         _BinkRestoreCursor@4        = REALBINK._BinkRestoreCursor@4        @40
    45         _BinkService@4              = REALBINK._BinkService@4              @41
    46         _BinkSetError@4             = REALBINK._BinkSetError@4             @42
    47         _BinkSetFrameRate@8         = REALBINK._BinkSetFrameRate@8         @43
    48         _BinkSetIO@4                = REALBINK._BinkSetIO@4                @44
    49         _BinkSetIOSize@4            = REALBINK._BinkSetIOSize@4            @45
    50         _BinkSetPan@8               = REALBINK._BinkSetPan@8               @46
    51         _BinkSetSimulate@4          = REALBINK._BinkSetSimulate@4          @47
    52         _BinkSetSoundOnOff@8        = REALBINK._BinkSetSoundOnOff@8        @48
    53         _BinkSetSoundSystem@8       = REALBINK._BinkSetSoundSystem@8       @49
    54         _BinkSetSoundTrack@4        = REALBINK._BinkSetSoundTrack@4        @50
    55         _BinkSetVideoOnOff@8        = REALBINK._BinkSetVideoOnOff@8        @51
    56         _BinkSetVolume@8            = REALBINK._BinkSetVolume@8            @52
    57         _BinkWait@4                 = REALBINK._BinkWait@4                 @53
    58         _ExpandBink@56              = REALBINK._ExpandBink@56              @54
    59         _ExpandBundleSizes@8        = REALBINK._ExpandBundleSizes@8        @55
    60         _RADSetMemory@8             = REALBINK._RADSetMemory@8             @56
    61         _RADTimerRead@0             = REALBINK._RADTimerRead@0             @57
    62         _YUV_blit_16a1bpp@52        = REALBINK._YUV_blit_16a1bpp@52        @58
    63         _YUV_blit_16a1bpp_mask@52   = REALBINK._YUV_blit_16a1bpp_mask@52   @59
    64         _YUV_blit_16a4bpp@52        = REALBINK._YUV_blit_16a4bpp@52        @60
    65         _YUV_blit_16a4bpp_mask@52   = REALBINK._YUV_blit_16a4bpp_mask@52   @61
    66         _YUV_blit_16bpp@48          = REALBINK._YUV_blit_16bpp@48          @62
    67         _YUV_blit_16bpp_mask@48     = REALBINK._YUV_blit_16bpp_mask@48     @63
    68         _YUV_blit_24bpp@48          = REALBINK._YUV_blit_24bpp@48          @64
    69         _YUV_blit_24bpp_mask@48     = REALBINK._YUV_blit_24bpp_mask@48     @65
    70         _YUV_blit_24rbpp@48         = REALBINK._YUV_blit_24rbpp@48         @66
    71         _YUV_blit_24rbpp_mask@48    = REALBINK._YUV_blit_24rbpp_mask@48    @67
    72         _YUV_blit_32abpp@52         = REALBINK._YUV_blit_32abpp@52         @68
    73         _YUV_blit_32abpp_mask@52    = REALBINK._YUV_blit_32abpp_mask@52    @69
    74         _YUV_blit_32bpp@48          = REALBINK._YUV_blit_32bpp@48          @70
    75         _YUV_blit_32bpp_mask@48     = REALBINK._YUV_blit_32bpp_mask@48     @71
    76         _YUV_blit_32rabpp@52        = REALBINK._YUV_blit_32rabpp@52        @72
    77         _YUV_blit_32rabpp_mask@52   = REALBINK._YUV_blit_32rabpp_mask@52   @73
    78         _YUV_blit_32rbpp@48         = REALBINK._YUV_blit_32rbpp@48         @74
    79         _YUV_blit_32rbpp_mask@48    = REALBINK._YUV_blit_32rbpp_mask@48    @75
    80         _YUV_blit_UYVY@48           = REALBINK._YUV_blit_UYVY@48           @76
    81         _YUV_blit_UYVY_mask@48      = REALBINK._YUV_blit_UYVY_mask@48      @77
    82         _YUV_blit_YUY2@48           = REALBINK._YUV_blit_YUY2@48           @78
    83         _YUV_blit_YUY2_mask@48      = REALBINK._YUV_blit_YUY2_mask@48      @79
    84         _YUV_blit_YV12@52           = REALBINK._YUV_blit_YV12@52           @80
    85         _YUV_init@4                 = REALBINK._YUV_init@4                 @81
    86         _radfree@4                  = REALBINK._radfree@4                  @82
    87         _radmalloc@4                = REALBINK._radmalloc@4                @83
    88 
    89 
  • Daodan/src/patches/Patches.c

    r987 r990  
    350350void DD_Patch_DisableCmdLine()
    351351{
    352         DDrPatch_Int32 ((int*)(OniExe + 0x000d3570), 0xc3c03366);
     352        // Replace start of OniParseCommandLine with XOR ax,ax; RET
     353//      DDrPatch_Int32 ((int*)(OniExe + 0x000d3570), 0xc3c03366);
     354        // Replace start of OniParseCommandLine with XOR eax,eax; RET
     355        DDrPatch_Int32 ((int*)(OniExe + 0x000d3570), 0x00c3c033);
    353356}
    354357
Note: See TracChangeset for help on using the changeset viewer.