Merge pull request #707 from duncanspumpkin/fix_intro

Fix intro
This commit is contained in:
Ted John 2015-01-18 21:09:14 +00:00
commit 1e911a28fd
4 changed files with 29 additions and 31 deletions

View File

@ -693,32 +693,32 @@ int sound_prepare(int sound_id, rct_sound *sound, int channels, int software)
rct_sound_effect* sound_effect = sound_get_effect(sound_id);
if (sound_effect) {
if (sound_effect_loadvars(sound_effect, &bufferdesc.lpwfxFormat, &buffer, &bufferdesc.dwBufferBytes)) {
bufferdesc.dwFlags = DSBCAPS_GETCURRENTPOSITION2 | DSBCAPS_STATIC;
if (channels) {
if (channels == 2) {
if (channels == 0){
bufferdesc.dwFlags = DSBCAPS_GETCURRENTPOSITION2 | DSBCAPS_STATIC;
}
else if (channels == 2) {
bufferdesc.dwFlags = DSBCAPS_GETCURRENTPOSITION2 | DSBCAPS_CTRL3D | DSBCAPS_STATIC;
} else {
} else {
bufferdesc.dwFlags = DSBCAPS_GETCURRENTPOSITION2 | DSBCAPS_CTRLVOLUME | DSBCAPS_CTRLPAN | DSBCAPS_CTRLFREQUENCY | DSBCAPS_STATIC;
}
if (RCT2_GLOBAL(0x009E2B90, uint32)) {
bufferdesc.dwFlags |= DSBCAPS_CTRLPAN;
}
if (software) {
bufferdesc.dwFlags |= DSBCAPS_LOCSOFTWARE;
}
if (SUCCEEDED(RCT2_GLOBAL(RCT2_ADDRESS_DIRECTSOUND, LPDIRECTSOUND)->lpVtbl->CreateSoundBuffer(RCT2_GLOBAL(RCT2_ADDRESS_DIRECTSOUND, LPDIRECTSOUND), &bufferdesc, &sound->dsbuffer, 0))) {
if (sound_fill_buffer(sound->dsbuffer, buffer, bufferdesc.dwBufferBytes)) {
sound->id = sound_id;
DSBCAPS caps;
caps.dwSize = sizeof(caps);
sound->dsbuffer->lpVtbl->GetCaps(sound->dsbuffer, &caps);
sound->has_caps = caps.dwFlags;
sound_add(sound);
return 1;
}
if (RCT2_GLOBAL(0x009E2B90, uint32)) {
bufferdesc.dwFlags |= DSBCAPS_CTRLPAN;
}
if (software) {
bufferdesc.dwFlags |= DSBCAPS_LOCSOFTWARE;
}
if (SUCCEEDED(RCT2_GLOBAL(RCT2_ADDRESS_DIRECTSOUND, LPDIRECTSOUND)->lpVtbl->CreateSoundBuffer(RCT2_GLOBAL(RCT2_ADDRESS_DIRECTSOUND, LPDIRECTSOUND), &bufferdesc, &sound->dsbuffer, 0))) {
if (sound_fill_buffer(sound->dsbuffer, buffer, bufferdesc.dwBufferBytes)) {
sound->id = sound_id;
DSBCAPS caps;
caps.dwSize = sizeof(caps);
sound->dsbuffer->lpVtbl->GetCaps(sound->dsbuffer, &caps);
sound->has_caps = caps.dwFlags;
sound_add(sound);
return 1;
}
sound->dsbuffer->lpVtbl->Release(sound->dsbuffer);
sound->dsbuffer = 0;
}
sound->dsbuffer->lpVtbl->Release(sound->dsbuffer);
sound->dsbuffer = 0;
}
sound->dsbuffer = 0;
}

View File

@ -50,10 +50,6 @@ static const char *const usage[] = {
*/
int cmdline_run(const char **argv, int argc)
{
// For argparse's sake, add virtual first argument process path
argc++;
argv--;
//
int version = 0, verbose = 0, width = 0, height = 0;

View File

@ -136,7 +136,7 @@ void gfx_transpose_palette(int pal, unsigned char product)
rct_g1_element g1 = RCT2_ADDRESS(RCT2_ADDRESS_G1_ELEMENTS, rct_g1_element)[pal];
int width = g1.width;
int x = g1.x_offset;
uint8* dest_pointer = (uint8*)&(RCT2_ADDRESS(0x014124680,uint8)[x]);
uint8* dest_pointer = (uint8*)&(RCT2_ADDRESS(0x01424680, uint8)[x * 4]);
uint8* source_pointer = g1.offset;
for (; width > 0; width--) {

View File

@ -70,7 +70,7 @@ __declspec(dllexport) int StartOpenRCT(HINSTANCE hInstance, HINSTANCE hPrevInsta
// Get command line arguments in standard form
argv = CommandLineToArgvA(lpCmdLine, &argc);
runGame = cmdline_run(argv, argc);
LocalFree(argv);
GlobalFree(argv);
if (runGame)
openrct2_launch();
@ -243,11 +243,13 @@ PCHAR *CommandLineToArgvA(PCHAR CmdLine, int *_argc)
i = ((len + 2) / 2)*sizeof(PVOID) + sizeof(PVOID);
argv = (PCHAR*)GlobalAlloc(GMEM_FIXED,
i + (len + 2)*sizeof(CHAR));
i + (len + 2)*sizeof(CHAR) + 1);
_argv = (PCHAR)(((PUCHAR)argv) + i);
argc = 0;
// Add in virtual 1st command line argument, process path, for arg_parse's sake.
argv[0] = 0;
argc = 1;
argv[argc] = _argv;
in_QM = FALSE;
in_TEXT = FALSE;