diff options
author | Filippos Karapetis | 2015-10-16 01:59:37 +0300 |
---|---|---|
committer | Willem Jan Palenstijn | 2015-12-23 21:33:41 +0100 |
commit | ebff05e7e74cb10161c345c1b8532a5a2f417001 (patch) | |
tree | f8a548ca5f8951195c93bd1dadaf962129b73510 | |
parent | 1feb0e4c2ce5d83701f4aff469d99b33ba1953dc (diff) | |
download | scummvm-rg350-ebff05e7e74cb10161c345c1b8532a5a2f417001.tar.gz scummvm-rg350-ebff05e7e74cb10161c345c1b8532a5a2f417001.tar.bz2 scummvm-rg350-ebff05e7e74cb10161c345c1b8532a5a2f417001.zip |
LAB: Simplify the file reading code for the movement control panel
-rw-r--r-- | engines/lab/engine.cpp | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/engines/lab/engine.cpp b/engines/lab/engine.cpp index d45d9f128b..967bcf4e75 100644 --- a/engines/lab/engine.cpp +++ b/engines/lab/engine.cpp @@ -115,8 +115,6 @@ extern const char *NewFileName; /* When ProcessRoom.c decides to change the fil #define LEVERSMONITOR 82 -static byte *MovePanelBuffer, *InvPanelBuffer; -static uint32 MovePanelBufferSize, InvPanelBufferSize; static Image *MoveImages[20], *InvImages[10]; static Gadget *MoveGadgetList, *InvGadgetList; @@ -223,7 +221,8 @@ static void drawRoomMessage(uint16 CurInv, CloseDataPtr cptr) { /******************************************************************************/ bool setUpScreens() { uint16 counter; - byte *bufferstorage, **buffer = &bufferstorage; + byte *buffer; + byte *MovePanelBuffer, *InvPanelBuffer; Gadget *curgad; uint16 y; @@ -231,18 +230,18 @@ bool setUpScreens() { return false; /* Loads in the graphics for the movement control panel */ - Common::File *file = openPartial("P:Control"); - if (!file) + Common::File file; + file.open(translateFileName("P:Control")); + if (file.err() || file.size() == 0) return false; - MovePanelBufferSize = file->size(); - if (!MovePanelBufferSize || !(MovePanelBuffer = (byte *)calloc(MovePanelBufferSize, 1))) + if (!(MovePanelBuffer = (byte *)calloc(file.size(), 1))) return false; - file->read(MovePanelBuffer, MovePanelBufferSize); - file->close(); + file.read(MovePanelBuffer, file.size()); + file.close(); - *buffer = MovePanelBuffer; + buffer = MovePanelBuffer; for (counter = 0; counter < 20; counter++) readImage(buffer, &(MoveImages[counter])); @@ -292,18 +291,17 @@ bool setUpScreens() { curgad->NextGadget = createButton(289, y, 9, 0, MoveImages[10], MoveImages[11]); } - file = openPartial("P:Inv"); - if (!file) + file.open(translateFileName("P:Inv")); + if (file.err() || file.size() == 0) return false; - InvPanelBufferSize = file->size(); - if (!InvPanelBufferSize || !(InvPanelBuffer = (byte *)calloc(InvPanelBufferSize, 1))) + if (!(InvPanelBuffer = (byte *)calloc(file.size(), 1))) return false; - file->read(InvPanelBuffer, InvPanelBufferSize); - file->close(); + file.read(InvPanelBuffer, file.size()); + file.close(); - *buffer = InvPanelBuffer; + buffer = InvPanelBuffer; if (g_lab->getPlatform() == Common::kPlatformWindows) { for (counter = 0; counter < 10; counter++) |