Jump to content


Photo

Albion


  • Please log in to reply
64 replies to this topic

#46 M-HT

M-HT

    GP32 Hardcore

  • Members
  • PipPipPipPip
  • 157 posts
  • Location:Bratislava

Posted 21 June 2011 - 07:37 PM

I do not know anything about static recompiling, would it be possible to give a short explanation ? Would it be possible to use this technique for another great BlueByte game ? *cough* Archemdian Dynasty (Schleichfahrt) *cough*

Some general info is on Wikipedia (Static binary translation).
At first look it is possible to use this technique on Archimedean Dynasty, but I wouldn't count on me doing it.


It sounds like you using the music api of sdlmixer, can you load Midi into chunks? If you might be able to play all of the midi.

That's not possible.
As to liking SLD_mixer, I don't know any alternative - a library, that I just tell to play a midi file (in memory) and a bunch of raw sound samples with some settings for each sample (volume, panning) and the library mixes it all together and plays it.


BTW: Sound has L/R swapped.

I checked it and it's the same as in Dosbox. So the original game has the sound swapped.
I'll add an option to swap L/R, defaulted to yes.


I just notice or remember something: Actually I am a big fan of the original Soundblaster-sound also known by the terms Adlib/OPL3/YMF262 (see Wikipedia:Adlib). I thought about this when i was asked which timidity-patch i want to install (small set/freepats/eawpats). It's been a while since i have been into reproduction of the music of old dos-games, but if i'm not mistaken, then the OPL3-sound is not being done by Timidity at all, right?

If this is right, then: Is there a way to implement the OPL3-Sound into your port? I know this topic will cause some controversy. Some people think the GUS or Roland or whatever Midi-Sounds sound better. But with most games i don't. One reason is that i am simply used to this sound (for example in Doom), another is that (i think) that many games simply were composed for OPL3. For me the other sound don't fit in there 100% - the samples sound way more realistic then the notes play them. I can compare this to a high resolution game with high resolution textures but a very low polygon-count. Well, i am getting off-topic again.....

Edit: Maybe i mean OPL2...so many different systems :/

It's possible (in theory), but not easy. It's a matter of playing a midi file in either a OPL3 emulator or using OPL3 compatible soundfont.

#47 M-HT

M-HT

    GP32 Hardcore

  • Members
  • PipPipPipPip
  • 157 posts
  • Location:Bratislava

Posted 25 June 2011 - 10:45 AM

Hi,

I updated Albion to version 1.1.1

Download it here:
Archive
Repo


Changes:
* added vsync (using SDL library by notaz)
* swapped left and right sound channel
* fixed segfault when Krondir was fleeing battle

Edited by M-HT, 30 June 2011 - 05:07 AM.


#48 Michoko

Michoko

    GP32 Hardcore

  • Members
  • PipPipPipPip
  • 147 posts
  • Gender:Male
  • Location:France

Posted 25 June 2011 - 11:10 AM

Amazing! Thanks a lot!

#49 Chris S

Chris S

    GP32 User

  • Members
  • PipPipPip
  • 77 posts

Posted 25 June 2011 - 11:45 AM

Hello

I have a DosBox/Boxer version of Albion, I have read through this thread but still seem a bit lost.

Is there or can somebody write a step by step guide to get this game working on Pandora please ?

#50 M-HT

M-HT

    GP32 Hardcore

  • Members
  • PipPipPipPip
  • 157 posts
  • Location:Bratislava

Posted 25 June 2011 - 01:04 PM

Hello

I have a DosBox/Boxer version of Albion, I have read through this thread but still seem a bit lost.

Is there or can somebody write a step by step guide to get this game working on Pandora please ?

The guide is written in the readme file, which you can read by running Albion (the pnd) and choosing option #4.

#51 Chris S

Chris S

    GP32 User

  • Members
  • PipPipPip
  • 77 posts

Posted 25 June 2011 - 01:32 PM


Hello

I have a DosBox/Boxer version of Albion, I have read through this thread but still seem a bit lost.

Is there or can somebody write a step by step guide to get this game working on Pandora please ?

The guide is written in the readme file, which you can read by running Albion (the pnd) and choosing option #4.


Hello

OK,thanks.......

Edited by Chris S, 25 June 2011 - 01:37 PM.


#52 Pickle

Pickle

    Mega GP Mania

  • X-treme Team
  • 4074 posts
  • Gender:Male
  • Location:Detroit, Michigan

Posted 26 June 2011 - 01:55 AM

* fixed segfault when Krondir was fleeing battle


Great you found the fix, i havnt been able to repeat it since then.

Also i think you misunderstood me about the midi and sdlmixer, im saying use sdlmixer, but your using the sdl mixer music api your locked to one music at a time, but if you load the midi into Mix_Chunks then you might be able to play all at the same time, using the mixer like you said.

#53 M-HT

M-HT

    GP32 Hardcore

  • Members
  • PipPipPipPip
  • 157 posts
  • Location:Bratislava

Posted 26 June 2011 - 07:05 AM


* fixed segfault when Krondir was fleeing battle


Great you found the fix, i havnt been able to repeat it since then.

It took me a long time to fix it, because it wasn't crashing all the time and especially it never crashed when I run it in gdb.


Also i think you misunderstood me about the midi and sdlmixer, im saying use sdlmixer, but your using the sdl mixer music api your locked to one music at a time, but if you load the midi into Mix_Chunks then you might be able to play all at the same time, using the mixer like you said.

It's possible, but I would need to use midi converter (timidity or other) and have a separate thread that converts the midi files to Mix_Chunks and feeds it to SDL_mixer.
This is not the way I want to be doing it.

#54 Tycho451

Tycho451

    Member

  • Members
  • PipPip
  • 2 posts

Posted 08 September 2011 - 05:42 AM


Also i think you misunderstood me about the midi and sdlmixer, im saying use sdlmixer, but your using the sdl mixer music api your locked to one music at a time, but if you load the midi into Mix_Chunks then you might be able to play all at the same time, using the mixer like you said.

It's possible, but I would need to use midi converter (timidity or other) and have a separate thread that converts the midi files to Mix_Chunks and feeds it to SDL_mixer.
This is not the way I want to be doing it.


First of all thanks for this great port, it's really appreciated!

Do I understand it correctly that the way you feel is the most proper to resolve this is to add support for playing multiple midi files at once to sdlmixer?
Is that something that would be accepted into SDL mainline?

#55 M-HT

M-HT

    GP32 Hardcore

  • Members
  • PipPipPipPip
  • 157 posts
  • Location:Bratislava

Posted 08 September 2011 - 02:53 PM



Also i think you misunderstood me about the midi and sdlmixer, im saying use sdlmixer, but your using the sdl mixer music api your locked to one music at a time, but if you load the midi into Mix_Chunks then you might be able to play all at the same time, using the mixer like you said.

It's possible, but I would need to use midi converter (timidity or other) and have a separate thread that converts the midi files to Mix_Chunks and feeds it to SDL_mixer.
This is not the way I want to be doing it.


First of all thanks for this great port, it's really appreciated!

Do I understand it correctly that the way you feel is the most proper to resolve this is to add support for playing multiple midi files at once to sdlmixer?
Is that something that would be accepted into SDL mainline?

No, the point is to stop using SDL_mixer for playing midi files directly. Possible solution is to convert the midi file(s) to PCM .wav format - not at once, but in chunks - and play these chunks using SDL_mixer.

#56 Pickle

Pickle

    Mega GP Mania

  • X-treme Team
  • 4074 posts
  • Gender:Male
  • Location:Detroit, Michigan

Posted 08 September 2011 - 03:05 PM




Also i think you misunderstood me about the midi and sdlmixer, im saying use sdlmixer, but your using the sdl mixer music api your locked to one music at a time, but if you load the midi into Mix_Chunks then you might be able to play all at the same time, using the mixer like you said.

It's possible, but I would need to use midi converter (timidity or other) and have a separate thread that converts the midi files to Mix_Chunks and feeds it to SDL_mixer.
This is not the way I want to be doing it.


First of all thanks for this great port, it's really appreciated!

Do I understand it correctly that the way you feel is the most proper to resolve this is to add support for playing multiple midi files at once to sdlmixer?
Is that something that would be accepted into SDL mainline?

No, the point is to stop using SDL_mixer for playing midi files directly. Possible solution is to convert the midi file(s) to PCM .wav format - not at once, but in chunks - and play these chunks using SDL_mixer.


why do you think you need to convert to PCM? Mix_LoadWAV should support MIDI: http://sdl.beuc.net/...Mix_LoadWAV_RW.

From your comments earlier I assumed you were using Mix_LoadMus, which would only allow one music file at any time.

#57 Tycho451

Tycho451

    Member

  • Members
  • PipPip
  • 2 posts

Posted 20 September 2011 - 08:40 AM


No, the point is to stop using SDL_mixer for playing midi files directly. Possible solution is to convert the midi file(s) to PCM .wav format - not at once, but in chunks - and play these chunks using SDL_mixer.


why do you think you need to convert to PCM? Mix_LoadWAV should support MIDI: http://sdl.beuc.net/...Mix_LoadWAV_RW.

From your comments earlier I assumed you were using Mix_LoadMus, which would only allow one music file at any time.

Is there any way I could help? I'm a software engineer myself, although I don't have any C++ or SDL experience as of yet.
I don't have that much free time right now, but I'd be willing to give it a shot, if that's ok with you, M-HT.

#58 M-HT

M-HT

    GP32 Hardcore

  • Members
  • PipPipPipPip
  • 157 posts
  • Location:Bratislava

Posted 23 October 2011 - 09:08 AM

why do you think you need to convert to PCM? Mix_LoadWAV should support MIDI: http://sdl.beuc.net/...Mix_LoadWAV_RW.

From your comments earlier I assumed you were using Mix_LoadMus, which would only allow one music file at any time.

I am using Mix_LoadMUS_RW, which like you said only allows playing one music file at any time.

As to Mix_LoadWAV supporting MIDI, the official documentation and the source code disagree - Mix_LoadWAV only supports WAVE, AIFF, RIFF, OGG, FLAC, and VOC files.

#59 Pickle

Pickle

    Mega GP Mania

  • X-treme Team
  • 4074 posts
  • Gender:Male
  • Location:Detroit, Michigan

Posted 25 October 2011 - 12:06 AM


why do you think you need to convert to PCM? Mix_LoadWAV should support MIDI: http://sdl.beuc.net/...Mix_LoadWAV_RW.

From your comments earlier I assumed you were using Mix_LoadMus, which would only allow one music file at any time.

I am using Mix_LoadMUS_RW, which like you said only allows playing one music file at any time.

As to Mix_LoadWAV supporting MIDI, the official documentation and the source code disagree - Mix_LoadWAV only supports WAVE, AIFF, RIFF, OGG, FLAC, and VOC files.


thanks for clarifying, source code doesnt lie :-)

#60 M-HT

M-HT

    GP32 Hardcore

  • Members
  • PipPipPipPip
  • 157 posts
  • Location:Bratislava

Posted 01 November 2011 - 06:05 PM

Hi,

I updated Albion to version 1.2.0

The big change is using WildMIDI library instead of SDL_mixer for playing MIDI files. It sounds better and can play more than one MIDI stream simultaneously.

Download it here:
Archive
Repo


Changes:
* MIDI playback using WildMIDI
  (old MIDI playback using SDL_mixer can be set in the configuration file)
* minor bug fixes

Edited by M-HT, 30 November 2011 - 10:23 AM.