New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TWINE: new engine for Little Big Adventure 1 #2532
Conversation
|
engines/twine/actor.cpp
Outdated
actor->standOn = -1; | ||
actor->zone = -1; | ||
|
||
memset(&actor->staticFlags, 0, 2); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's recommended that engines use Common::fill rather than memset directly
fpsCycles(25); // rest | ||
|
||
count++; | ||
} while (!quit); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apart from maybe clarifying quit to be a bool rather than an int, something you'll need to do is hunt down every place where you have a loop like this and ensure that you break out of the loop if a call to the engine's shouldQuit() method returns true. Otherwise, the game will be prevented from exiting if the user tries to close the ScummVM window when execution is within the loop
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
True - but I think that I would rather like to convert these ui debug actions to console commands.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good progress. If you need help or guidance with moving away from filereader.cpp
to our Common::Stream
code, or what to do with sdlengine.cpp
, just say so.
* | ||
* Adapted from the ScummVM project | ||
*/ | ||
struct EventInfo { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please check, how well our audio/midiparser_xmidi.cpp
is suitable for you.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In addition, it looks like the game is using Miles, so you may want to take advantage of the Miles MIDI driver in audio/miles.h
as well.
742d388
to
2b34f79
Compare
@sev- I would like to convert the |
1184963
to
1324025
Compare
Palette handling is still broken. I could need some help here. void TwinEEngine::setPalette(uint8 *palette) {
g_system->getPaletteManager()->setPalette(palette, 0, 256);
flip();
}
void TwinEEngine::flip() {
g_system->copyRectToScreen(frontVideoBuffer, SCREEN_WIDTH, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
g_system->updateScreen();
} |
69c3af5
to
ac3e1ac
Compare
Keymapper consists of 2 parts: registering keys and assigning them custom ids. Then use normal You may find the documentation here: https://wiki.scummvm.org/index.php?title=Keymapper |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I looked for the second time till file menu.h
also converted the code to the coding guidelines of the scummvm team
As discussed, merging this, so the work could continue in-tree. |
Ported Little Big Adventure twin-e which is no longer under active development (since 2015 afaik) to ScummVM.
The engine is still work-in-progress but I though that sharing it already might make sense to get feedback.
Midi Sound and music is ported. Input is using the
KeyMapper
. Rendering is usingGraphics::ManagedSurface
.TODO
struct Keyboard
- replace all those magic numbers and bitmask checks with proper constantsmemset
withCommon::fill
TwinEEngine::copyBlockPhys
)