You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(44) |
Aug
(36) |
Sep
(5) |
Oct
|
Nov
(6) |
Dec
(2) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
2008 |
Jan
|
Feb
|
Mar
|
Apr
(87) |
May
(54) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <dv...@us...> - 2008-04-29 16:37:11
|
Revision: 201 http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=201&view=rev Author: dvalin Date: 2008-04-29 09:36:23 -0700 (Tue, 29 Apr 2008) Log Message: ----------- renamed.. Removed Paths: ------------- branches/dunks/src/pakfile/IntegratedLibSampleRate/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dv...@us...> - 2008-04-29 16:34:34
|
Revision: 200 http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=200&view=rev Author: dvalin Date: 2008-04-29 09:34:21 -0700 (Tue, 29 Apr 2008) Log Message: ----------- move all source for sound into it's own subdir since it will be a lot of files Modified Paths: -------------- branches/dunks/src/DataCache.cpp branches/dunks/src/SoundPlayerClass.cpp branches/dunks/src/pakfile/sound/IntegratedLibSampleRate/samplerate.c branches/dunks/src/pakfile/sound/IntegratedLibSampleRate/src_linear.c branches/dunks/src/pakfile/sound/IntegratedLibSampleRate/src_sinc.c branches/dunks/src/pakfile/sound/IntegratedLibSampleRate/src_zoh.c Added Paths: ----------- branches/dunks/include/pakfile/sound/ branches/dunks/include/pakfile/sound/Vocfile.h branches/dunks/src/pakfile/sound/ branches/dunks/src/pakfile/sound/IntegratedLibSampleRate/ Copied: branches/dunks/include/pakfile/sound/Vocfile.h (from rev 166, branches/dunks/include/pakfile/Vocfile.h) =================================================================== --- branches/dunks/include/pakfile/sound/Vocfile.h (rev 0) +++ branches/dunks/include/pakfile/sound/Vocfile.h 2008-04-29 16:34:21 UTC (rev 200) @@ -0,0 +1,19 @@ +#ifndef VOCFILE_H_INCLUDED +#define VOCFILE_H_INCLUDED + +#include <SDL.h> +#include <SDL_rwops.h> +#include <SDL_mixer.h> + +/** + Try to load a VOC from the RWop. Returns a pointer to Mix_Chunk. + It is the callers responsibility to deallocate that data again later on + with Mix_FreeChunk()! + \param rwop The source SDL_RWops as a pointer. The sample is loaded from this VOC-File. + \param freesrc A non-zero value mean it will automatically close/free the src for you. + \return a pointer to the sample as a Mix_Chunk. NULL is returned on errors. + */ +extern Mix_Chunk* LoadVOC_RW(SDL_RWops* rwop, int freesrc); + +#endif // VOCFILE_H_INCLUDED + Modified: branches/dunks/src/DataCache.cpp =================================================================== --- branches/dunks/src/DataCache.cpp 2008-04-29 07:22:57 UTC (rev 199) +++ branches/dunks/src/DataCache.cpp 2008-04-29 16:34:21 UTC (rev 200) @@ -1,5 +1,5 @@ #include "DataCache.h" -#include "pakfile/Vocfile.h" +#include "pakfile/sound/Vocfile.h" #include <string> #include <iostream> DataCache::DataCache() { Modified: branches/dunks/src/SoundPlayerClass.cpp =================================================================== --- branches/dunks/src/SoundPlayerClass.cpp 2008-04-29 07:22:57 UTC (rev 199) +++ branches/dunks/src/SoundPlayerClass.cpp 2008-04-29 16:34:21 UTC (rev 200) @@ -1,7 +1,7 @@ #include <stdlib.h> #include <math.h> -#include "pakfile/Vocfile.h" +#include "pakfile/sound/Vocfile.h" #include "SoundPlayerClass.h" #include "SDL_mixer.h" #include "DuneConstants.h" Copied: branches/dunks/src/pakfile/sound/IntegratedLibSampleRate (from rev 156, branches/dunks/src/pakfile/IntegratedLibSampleRate) Modified: branches/dunks/src/pakfile/sound/IntegratedLibSampleRate/samplerate.c =================================================================== --- branches/dunks/src/pakfile/IntegratedLibSampleRate/samplerate.c 2008-04-24 22:22:22 UTC (rev 156) +++ branches/dunks/src/pakfile/sound/IntegratedLibSampleRate/samplerate.c 2008-04-29 16:34:21 UTC (rev 200) @@ -20,11 +20,11 @@ #include <stdlib.h> #include <string.h> -#include "pakfile/IntegratedLibSampleRate/config.h" +#include "pakfile/sound/IntegratedLibSampleRate/config.h" -#include "pakfile/IntegratedLibSampleRate/samplerate.h" -#include "pakfile/IntegratedLibSampleRate/common.h" -#include "pakfile/IntegratedLibSampleRate/float_cast.h" +#include "pakfile/sound/IntegratedLibSampleRate/samplerate.h" +#include "pakfile/sound/IntegratedLibSampleRate/common.h" +#include "pakfile/sound/IntegratedLibSampleRate/float_cast.h" static int psrc_set_converter (SRC_PRIVATE *psrc, int converter_type) ; Modified: branches/dunks/src/pakfile/sound/IntegratedLibSampleRate/src_linear.c =================================================================== --- branches/dunks/src/pakfile/IntegratedLibSampleRate/src_linear.c 2008-04-24 22:22:22 UTC (rev 156) +++ branches/dunks/src/pakfile/sound/IntegratedLibSampleRate/src_linear.c 2008-04-29 16:34:21 UTC (rev 200) @@ -20,9 +20,9 @@ #include <stdlib.h> #include <string.h> -#include "pakfile/IntegratedLibSampleRate/config.h" -#include "pakfile/IntegratedLibSampleRate/float_cast.h" -#include "pakfile/IntegratedLibSampleRate/common.h" +#include "pakfile/sound/IntegratedLibSampleRate/config.h" +#include "pakfile/sound/IntegratedLibSampleRate/float_cast.h" +#include "pakfile/sound/IntegratedLibSampleRate/common.h" static int linear_process (SRC_PRIVATE *psrc, SRC_DATA *data) ; static void linear_reset (SRC_PRIVATE *psrc) ; Modified: branches/dunks/src/pakfile/sound/IntegratedLibSampleRate/src_sinc.c =================================================================== --- branches/dunks/src/pakfile/IntegratedLibSampleRate/src_sinc.c 2008-04-24 22:22:22 UTC (rev 156) +++ branches/dunks/src/pakfile/sound/IntegratedLibSampleRate/src_sinc.c 2008-04-29 16:34:21 UTC (rev 200) @@ -20,9 +20,9 @@ #include <stdlib.h> #include <string.h> -#include "pakfile/IntegratedLibSampleRate/config.h" -#include "pakfile/IntegratedLibSampleRate/float_cast.h" -#include "pakfile/IntegratedLibSampleRate/common.h" +#include "pakfile/sound/IntegratedLibSampleRate/config.h" +#include "pakfile/sound/IntegratedLibSampleRate/float_cast.h" +#include "pakfile/sound/IntegratedLibSampleRate/common.h" #define SINC_MAGIC_MARKER MAKE_MAGIC (' ', 's', 'i', 'n', 'c', ' ') @@ -95,17 +95,17 @@ static coeff_t const high_qual_coeffs [] = { -#include "pakfile/IntegratedLibSampleRate/high_qual_coeffs.h" +#include "pakfile/sound/IntegratedLibSampleRate/high_qual_coeffs.h" } ; /* high_qual_coeffs */ static coeff_t const mid_qual_coeffs [] = { -#include "pakfile/IntegratedLibSampleRate/mid_qual_coeffs.h" +#include "pakfile/sound/IntegratedLibSampleRate/mid_qual_coeffs.h" } ; /* mid_qual_coeffs */ static coeff_t const fastest_coeffs [] = { -#include "pakfile/IntegratedLibSampleRate/fastest_coeffs.h" +#include "pakfile/sound/IntegratedLibSampleRate/fastest_coeffs.h" } ; /* fastest_coeffs */ /*---------------------------------------------------------------------------------------- Modified: branches/dunks/src/pakfile/sound/IntegratedLibSampleRate/src_zoh.c =================================================================== --- branches/dunks/src/pakfile/IntegratedLibSampleRate/src_zoh.c 2008-04-24 22:22:22 UTC (rev 156) +++ branches/dunks/src/pakfile/sound/IntegratedLibSampleRate/src_zoh.c 2008-04-29 16:34:21 UTC (rev 200) @@ -20,9 +20,9 @@ #include <stdlib.h> #include <string.h> -#include "pakfile/IntegratedLibSampleRate/config.h" -#include "pakfile/IntegratedLibSampleRate/float_cast.h" -#include "pakfile/IntegratedLibSampleRate/common.h" +#include "pakfile/sound/IntegratedLibSampleRate/config.h" +#include "pakfile/sound/IntegratedLibSampleRate/float_cast.h" +#include "pakfile/sound/IntegratedLibSampleRate/common.h" static int zoh_process (SRC_PRIVATE *psrc, SRC_DATA *data) ; static void zoh_reset (SRC_PRIVATE *psrc) ; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dv...@us...> - 2008-04-29 07:23:21
|
Revision: 199 http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=199&view=rev Author: dvalin Date: 2008-04-29 00:22:57 -0700 (Tue, 29 Apr 2008) Log Message: ----------- be sure to redraw mentat shoulder on top of graphics Modified Paths: -------------- branches/dunks/include/MentatMenu.h branches/dunks/src/HouseChoiceInfoMenu.cpp branches/dunks/src/MentatMenu.cpp Modified: branches/dunks/include/MentatMenu.h =================================================================== --- branches/dunks/include/MentatMenu.h 2008-04-29 07:22:02 UTC (rev 198) +++ branches/dunks/include/MentatMenu.h 2008-04-29 07:22:57 UTC (rev 199) @@ -23,6 +23,7 @@ AnimationLabel* m_mouthAnim; AnimationLabel* m_specialAnim; AnimationLabel* m_shoulderAnim; + void drawSpecificStuff(); }; #endif // MENTATMENU_H_INCLUDED Modified: branches/dunks/src/HouseChoiceInfoMenu.cpp =================================================================== --- branches/dunks/src/HouseChoiceInfoMenu.cpp 2008-04-29 07:22:02 UTC (rev 198) +++ branches/dunks/src/HouseChoiceInfoMenu.cpp 2008-04-29 07:22:57 UTC (rev 199) @@ -38,6 +38,7 @@ m_textLabel = new Label(desc.substr(linebreak,desc.length()-linebreak), 158, 0); //DataCache::Instance()->getBriefingText(0, MISSION_DESCRIPTION, newHouse), 0); m_textLabel->setPosition(UPoint(0,35)); m_container->addChild(m_textLabel); + drawSpecificStuff(); } Modified: branches/dunks/src/MentatMenu.cpp =================================================================== --- branches/dunks/src/MentatMenu.cpp 2008-04-29 07:22:02 UTC (rev 198) +++ branches/dunks/src/MentatMenu.cpp 2008-04-29 07:22:57 UTC (rev 199) @@ -29,6 +29,10 @@ m_specialAnim->setPosition(UPoint(145, 336)); m_container->addChild(m_specialAnim); + m_shoulderAnim = new AnimationLabel(DataCache::Instance()->getAnimation(Anim_AtreidesShoulder)); + m_shoulderAnim->setPosition(UPoint(256,286)); + + break; case HOUSE_ORDOS: case HOUSE_MERCENARY: @@ -44,6 +48,10 @@ m_specialAnim->setPosition(UPoint(178, 320)); m_container->addChild(m_specialAnim); + m_shoulderAnim = new AnimationLabel(DataCache::Instance()->getAnimation(Anim_OrdosShoulder)); + m_shoulderAnim->setPosition(UPoint(256,286)); + + break; case HOUSE_HARKONNEN: m_eyesAnim = new AnimationLabel(DataCache::Instance()->getAnimation(Anim_HarkonnenEyes)); @@ -54,6 +62,9 @@ m_mouthAnim->setPosition(UPoint(64, 239)); m_container->addChild(m_mouthAnim); + m_shoulderAnim = new AnimationLabel(DataCache::Instance()->getAnimation(Anim_HarkonnenShoulder)); + m_shoulderAnim->setPosition(UPoint(256,238)); + break; case HOUSE_SARDAUKAR: default: @@ -69,20 +80,11 @@ } -/* TextLabel.SetTextColor(255); - TextLabel.SetVisible(false);*/ } MentatMenuState::~MentatMenuState() { } -/*void MentatMenuState::setText(std::string text) -{ - m_textLabel.SetText(text.c_str()); - TextLabel.SetVisible(true); - TextLabel.Resize(620,120); -}*/ - int MentatMenuState::Execute(float dt) { m_surf.get()->blitToScreen(SPoint(Settings::Instance()->GetWidth() / 2 - m_surf->getSurface()->w/2, @@ -91,24 +93,8 @@ return 0; } -/*void MentatMenu::DrawSpecificStuff() { - Point shoulderPos; - switch(house) { - case HOUSE_ATREIDES: - case HOUSE_FREMEN: { - shoulderPos = Point(256,257) + GetPosition(); - } break; - case HOUSE_ORDOS: - case HOUSE_MERCENARY: { - shoulderPos = Point(256,257) + GetPosition(); - } break; - case HOUSE_HARKONNEN: - case HOUSE_SARDAUKAR: - default: { - shoulderPos = Point(256,209) + GetPosition(); - } break; - } - - shoulderAnim.Draw(screen,shoulderPos); - TextLabel.Draw(screen,Point(10,5) + GetPosition()); -}*/ +// Should needs to be drawn later, otherwise graphics will be drawn on top of it +void MentatMenuState::drawSpecificStuff() { + if(house != HOUSE_SARDAUKAR) + m_container->addChild(m_shoulderAnim); +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dv...@us...> - 2008-04-29 07:22:33
|
Revision: 198 http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=198&view=rev Author: dvalin Date: 2008-04-29 00:22:02 -0700 (Tue, 29 Apr 2008) Log Message: ----------- Bene Gesserit mentat doesn't need to have shoulder graphic redrawn, so drop it Modified Paths: -------------- branches/dunks/include/DataCache.h branches/dunks/src/DataCache.cpp Modified: branches/dunks/include/DataCache.h =================================================================== --- branches/dunks/include/DataCache.h 2008-04-29 06:56:15 UTC (rev 197) +++ branches/dunks/include/DataCache.h 2008-04-29 07:22:02 UTC (rev 198) @@ -217,7 +217,6 @@ Anim_OrdosRing, Anim_BeneGesseritEyes, Anim_BeneGesseritMouth, - Anim_BeneGesseritShoulder, Anim_AtreidesPlanet, Anim_HarkonnenPlanet, Anim_OrdosPlanet, @@ -295,7 +294,7 @@ HouseHarkonnen, PlaceStructure, ButtonClick, -// InvalidAction, + // InvalidAction, CreditsTick, RadarNoise, Sound_ExplosionGas, @@ -314,7 +313,7 @@ Sound_Scream4, Sound_Scream5, Sound_MachineGun, -// Sound_Sonic, + // Sound_Sonic, Sound_RocketSmall, Intro_3Houses, Intro_AndNow, @@ -344,7 +343,7 @@ Intro_RulesOfEngagement, Intro_Territories, Intro_AndThe, -// Intro_Filler, + // Intro_Filler, Intro_Flesh, Intro_Glass_6, Intro_Glass, @@ -380,13 +379,13 @@ class DataCache : public Singleton<DataCache> { - friend class Singleton<DataCache>; - - protected: - DataCache(); - ~DataCache(); + friend class Singleton<DataCache>; - public: + protected: + DataCache(); + ~DataCache(); + + public: void addObjPic(ObjPic_enum ID, Image * tmp, HOUSETYPE house = HOUSE_HARKONNEN); void addGuiPic(GuiPic_enum ID, Image * tmp, HOUSETYPE house = HOUSE_HARKONNEN); void addAnimation(Animation_enum ID, std::string filename, double frameRate = 0); Modified: branches/dunks/src/DataCache.cpp =================================================================== --- branches/dunks/src/DataCache.cpp 2008-04-29 06:56:15 UTC (rev 197) +++ branches/dunks/src/DataCache.cpp 2008-04-29 07:22:02 UTC (rev 198) @@ -151,7 +151,6 @@ addAnimation(Anim_OrdosRing, menshpo->getAnimation(11,14,true), 6.0); addAnimation(Anim_BeneGesseritEyes, menshpm->getAnimation(0,4,true), 0.5); addAnimation(Anim_BeneGesseritMouth, menshpm->getAnimation(5,9,true), 5.0); - addAnimation(Anim_BeneGesseritShoulder, menshpm->getAnimation(10,10,true), 1.0); addAnimation(Anim_AtreidesPlanet, "MENTAT:FARTR.WSA", 12); addAnimation(Anim_HarkonnenPlanet, "MENTAT:FHARK.WSA", 12); addAnimation(Anim_OrdosPlanet, "MENTAT:FORDOS.WSA", 12); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dv...@us...> - 2008-04-29 06:56:21
|
Revision: 197 http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=197&view=rev Author: dvalin Date: 2008-04-28 23:56:15 -0700 (Mon, 28 Apr 2008) Log Message: ----------- delete data & mapdata after use Modified Paths: -------------- branches/dunks/src/DataCache.cpp Modified: branches/dunks/src/DataCache.cpp =================================================================== --- branches/dunks/src/DataCache.cpp 2008-04-29 06:08:34 UTC (rev 196) +++ branches/dunks/src/DataCache.cpp 2008-04-29 06:56:15 UTC (rev 197) @@ -1,6 +1,7 @@ #include "DataCache.h" #include "pakfile/Vocfile.h" - +#include <string> +#include <iostream> DataCache::DataCache() { for (int i=0; i< NUM_HOUSES; i++) { @@ -8,11 +9,9 @@ m_guiImg.push_back(new images()); } - int len; - uint8_t * data; + int len, maplen; + uint8_t *data, *mapdata; - int maplen; - uint8_t * mapdata; // FIXM: Something seems to be fscked up with this palette, the Bene Gesserit @@ -35,6 +34,8 @@ data = ResMan::Instance()->readFile("DUNE:ICON.ICN", &len); mapdata = ResMan::Instance()->readFile("DUNE:ICON.MAP", &maplen); IcnfilePtr icon(new Icnfile(data, len, mapdata, maplen)); + delete mapdata; + data = ResMan::Instance()->readFile("DUNE:STATIC.WSA", &len); WsafilePtr radar(new Wsafile(data, len)); data = ResMan::Instance()->readFile("DUNE:MENSHPA.SHP", &len); @@ -76,13 +77,7 @@ ShpfilePtr pieces(new Shpfile(data, len)); data = ResMan::Instance()->readFile("DUNE:ARROWS.SHP", &len); ShpfilePtr arrows(new Shpfile(data, len)); - -// Anim[Anim_OrdosPlanet]->setFrameRate(12); -/* data = ResMan::Instance()->readFile("MENTAT:FORDOS.WSA", &len); - WsafilePtr ordosplanet (new Wsafile(data, len)); -*/ - //UNITS, BUILDINGS, EXPLOSIONS, and everything that's on the map addObjPic(ObjPic_Tank_Base, units2->getPictureArray(8,1,GROUNDUNIT_ROW(0))); addObjPic(ObjPic_Tank_Gun, units2->getPictureArray(8,1,GROUNDUNIT_ROW(5))); @@ -317,6 +312,7 @@ BriefingStrings[0] = new Stringfile("ENGLISH:TEXTA.ENG"); BriefingStrings[1] = new Stringfile("ENGLISH:TEXTO.ENG"); BriefingStrings[2] = new Stringfile("ENGLISH:TEXTH.ENG"); + delete data; } void DataCache::addObjPic(ObjPic_enum ID, Image * tmp, HOUSETYPE house) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dv...@us...> - 2008-04-29 06:08:36
|
Revision: 196 http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=196&view=rev Author: dvalin Date: 2008-04-28 23:08:34 -0700 (Mon, 28 Apr 2008) Log Message: ----------- * palettes are always rather small, so use unsigned shorts (uint16_t) rather than int * s/unsigned char/uint8_t) Modified Paths: -------------- branches/dunks/include/pakfile/Palette.h branches/dunks/src/pakfile/Palette.cpp Modified: branches/dunks/include/pakfile/Palette.h =================================================================== --- branches/dunks/include/pakfile/Palette.h 2008-04-29 05:45:14 UTC (rev 195) +++ branches/dunks/include/pakfile/Palette.h 2008-04-29 06:08:34 UTC (rev 196) @@ -6,7 +6,7 @@ class Palettefile { public: - Palettefile(unsigned char* buf, int bufsize); + Palettefile(uint8_t * buf, uint16_t bufsize); ~Palettefile(); SDL_Palette* getPalette() { return m_palette; } Modified: branches/dunks/src/pakfile/Palette.cpp =================================================================== --- branches/dunks/src/pakfile/Palette.cpp 2008-04-29 05:45:14 UTC (rev 195) +++ branches/dunks/src/pakfile/Palette.cpp 2008-04-29 06:08:34 UTC (rev 196) @@ -1,6 +1,6 @@ #include "pakfile/Palette.h" -Palettefile::Palettefile(unsigned char* buf, int bufsize) +Palettefile::Palettefile(unsigned char* buf, uint16_t bufsize) { printf("loading palette...\n"); @@ -9,9 +9,9 @@ m_palette->colors = new SDL_Color[m_palette->ncolors]; SDL_Color* c = m_palette->colors; - unsigned char* dunepal = buf; + uint8_t* dunepal = buf; - for (int i=0; i!=m_palette->ncolors; i++, c++, dunepal+=3) + for (uint16_t i=0; i!=m_palette->ncolors; i++, c++, dunepal+=3) { c->r = (dunepal[0] << 2) + 3; c->g = (dunepal[1] << 2) + 3; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dv...@us...> - 2008-04-29 05:45:15
|
Revision: 195 http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=195&view=rev Author: dvalin Date: 2008-04-28 22:45:14 -0700 (Mon, 28 Apr 2008) Log Message: ----------- ajust house planet animation by 1 pixel up Modified Paths: -------------- branches/dunks/src/HouseChoiceInfoMenu.cpp Modified: branches/dunks/src/HouseChoiceInfoMenu.cpp =================================================================== --- branches/dunks/src/HouseChoiceInfoMenu.cpp 2008-04-29 05:40:48 UTC (rev 194) +++ branches/dunks/src/HouseChoiceInfoMenu.cpp 2008-04-29 05:45:14 UTC (rev 195) @@ -22,7 +22,7 @@ m_planetAnimation = new AnimationLabel(ret); - m_planetAnimation->setPosition(UPoint(256,127)); + m_planetAnimation->setPosition(UPoint(256,126)); m_container->addChild(m_planetAnimation); m_butYes = new GraphicButton(DataCache::Instance()->getGuiPic(UI_MentatYes)->getResized(2), DataCache::Instance()->getGuiPic(UI_MentatYes_Pressed)->getResized(2)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dv...@us...> - 2008-04-29 05:40:51
|
Revision: 194 http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=194&view=rev Author: dvalin Date: 2008-04-28 22:40:48 -0700 (Mon, 28 Apr 2008) Log Message: ----------- adjust mouth animation of bene gesserit mentat by 1 pixel up Modified Paths: -------------- branches/dunks/src/MentatMenu.cpp Modified: branches/dunks/src/MentatMenu.cpp =================================================================== --- branches/dunks/src/MentatMenu.cpp 2008-04-29 05:10:53 UTC (rev 193) +++ branches/dunks/src/MentatMenu.cpp 2008-04-29 05:40:48 UTC (rev 194) @@ -62,7 +62,7 @@ m_container->addChild(m_eyesAnim); m_mouthAnim = new AnimationLabel(DataCache::Instance()->getAnimation(Anim_BeneGesseritMouth)); - m_mouthAnim->setPosition(UPoint(112, 223)); + m_mouthAnim->setPosition(UPoint(112, 222)); m_container->addChild(m_mouthAnim); break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dv...@us...> - 2008-04-29 05:10:56
|
Revision: 193 http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=193&view=rev Author: dvalin Date: 2008-04-28 22:10:53 -0700 (Mon, 28 Apr 2008) Log Message: ----------- add a comment about color issue with bene gesserit palette Modified Paths: -------------- branches/dunks/src/DataCache.cpp Modified: branches/dunks/src/DataCache.cpp =================================================================== --- branches/dunks/src/DataCache.cpp 2008-04-28 23:06:09 UTC (rev 192) +++ branches/dunks/src/DataCache.cpp 2008-04-29 05:10:53 UTC (rev 193) @@ -15,10 +15,11 @@ uint8_t * mapdata; + // FIXM: Something seems to be fscked up with this palette, the Bene Gesserit + // mentat ends up looking a bit unhealthy greenish, needs to be corrected! data = ResMan::Instance()->readFile("DUNE:BENE.PAL", &len); Palettefile tmp (data, len); SDL_Palette * pal = tmp.getPalette(); - //LOADING FILES data = ResMan::Instance()->readFile("DUNE:UNITS.SHP", &len); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dv...@us...> - 2008-04-28 23:06:17
|
Revision: 192 http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=192&view=rev Author: dvalin Date: 2008-04-28 16:06:09 -0700 (Mon, 28 Apr 2008) Log Message: ----------- add animated mentat graphics Modified Paths: -------------- branches/dunks/include/MentatMenu.h branches/dunks/src/MentatMenu.cpp Modified: branches/dunks/include/MentatMenu.h =================================================================== --- branches/dunks/include/MentatMenu.h 2008-04-28 22:56:25 UTC (rev 191) +++ branches/dunks/include/MentatMenu.h 2008-04-28 23:06:09 UTC (rev 192) @@ -3,40 +3,26 @@ #include "MenuBase.h" #include "houses.h" -#include "gui2/Button.h" -#include "gui2/VBox.h" - -#include "SDL.h" - +class Label; +class AnimationLabel; class MentatMenuState : public MenuBaseState { public: MentatMenuState(HOUSETYPE newHouse); ~MentatMenuState(); -/* void DrawSpecificStuff(); - - void setText(std::string text) { - TextLabel.SetText(text.c_str()); - TextLabel.SetVisible(true); - TextLabel.Resize(620,120); - }*/ + void setText(std::string text); int Execute(float dt); virtual const char* GetName() { return "MentatMenuState"; } protected: HOUSETYPE house; ImagePtr m_surf; - VBox* m_vbox; -// void initMenuState(HOUSETYPE newHouse); - -/* StaticContainer WindowWidget; - AnimationLabel eyesAnim; - AnimationLabel mouthAnim; - AnimationLabel specialAnim; - AnimationLabel shoulderAnim; - Label TextLabel; -*/ + Label* m_textLabel; + AnimationLabel* m_eyesAnim; + AnimationLabel* m_mouthAnim; + AnimationLabel* m_specialAnim; + AnimationLabel* m_shoulderAnim; }; #endif // MENTATMENU_H_INCLUDED Modified: branches/dunks/src/MentatMenu.cpp =================================================================== --- branches/dunks/src/MentatMenu.cpp 2008-04-28 22:56:25 UTC (rev 191) +++ branches/dunks/src/MentatMenu.cpp 2008-04-28 23:06:09 UTC (rev 192) @@ -5,6 +5,7 @@ #include "DataCache.h" #include "pakfile/Cpsfile.h" #include "boost/bind.hpp" +#include "gui2/Label.h" MentatMenuState::MentatMenuState(HOUSETYPE newHouse) { @@ -13,101 +14,75 @@ m_surf.reset(mentat); m_surf = m_surf->getResized(2); - m_vbox = new VBox(); -/* m_butYes = new GraphicButton(DataCache::Instance()->getGuiPic(UI_MentatYes)->getResized(2), DataCache::Instance()->getGuiPic(UI_MentatYes_Pressed)->getResized(2)); - m_vbox->addChild(m_butYes); - - m_vbox->fit(2); - m_vbox->setPosition(UPoint(336,366)); - m_vbox->reshape(); - - m_container->addChild(m_vbox); - - m_vbox = new VBox(); - m_butNo = new GraphicButton(DataCache::Instance()->getGuiPic(UI_MentatNo)->getResized(2), DataCache::Instance()->getGuiPic(UI_MentatNo_Pressed)->getResized(2)); - m_vbox->addChild(m_butNo); - - m_vbox->fit(2); - m_vbox->setPosition(UPoint(480,366)); - m_vbox->reshape(); - - m_container->addChild(m_vbox);*/ - -/* - // set up window - SDL_Surface *surf; - surf = pDataManager->getUIGraphic(UI_MentatBackground,house); - - SetBackground(surf,false); - - int xpos = std::max(0,(screen->w - surf->w)/2); - int ypos = std::max(0,(screen->h - surf->h)/2); - - SetCurrentPosition(xpos,ypos,surf->w,surf->h); - - SetWindowWidget(&WindowWidget); - switch(house) { case HOUSE_ATREIDES: case HOUSE_FREMEN: - anim = pDataManager->getAnimation(Anim_AtreidesEyes); - eyesAnim.SetAnimation(anim); - WindowWidget.AddWidget(&eyesAnim,Point(80,160),Point(anim->getFrame()->w,anim->getFrame()->h)); + m_eyesAnim = new AnimationLabel(DataCache::Instance()->getAnimation(Anim_AtreidesEyes)); + m_eyesAnim->setPosition(UPoint(80, 191)); + m_container->addChild(m_eyesAnim); - anim = pDataManager->getAnimation(Anim_AtreidesMouth); - mouthAnim.SetAnimation(anim); - WindowWidget.AddWidget(&mouthAnim,Point(80,192),Point(anim->getFrame()->w,anim->getFrame()->h)); + m_mouthAnim = new AnimationLabel(DataCache::Instance()->getAnimation(Anim_AtreidesMouth)); + m_mouthAnim->setPosition(UPoint(80, 223)); + m_container->addChild(m_mouthAnim); - anim = pDataManager->getAnimation(Anim_AtreidesBook); - specialAnim.SetAnimation(anim); - WindowWidget.AddWidget(&specialAnim,Point(145,305),Point(anim->getFrame()->w,anim->getFrame()->h)); + m_specialAnim = new AnimationLabel(DataCache::Instance()->getAnimation(Anim_AtreidesBook)); + m_specialAnim->setPosition(UPoint(145, 336)); + m_container->addChild(m_specialAnim); - anim = pDataManager->getAnimation(Anim_AtreidesShoulder); - shoulderAnim.SetAnimation(anim); - // don't add shoulderAnim, draw it in DrawSpecificStuff break; case HOUSE_ORDOS: case HOUSE_MERCENARY: - anim = pDataManager->getAnimation(Anim_OrdosEyes); - eyesAnim.SetAnimation(anim); - WindowWidget.AddWidget(&eyesAnim,Point(32,160),Point(anim->getFrame()->w,anim->getFrame()->h)); + m_eyesAnim = new AnimationLabel(DataCache::Instance()->getAnimation(Anim_OrdosEyes)); + m_eyesAnim->setPosition(UPoint(32, 191)); + m_container->addChild(m_eyesAnim); - anim = pDataManager->getAnimation(Anim_OrdosMouth); - mouthAnim.SetAnimation(anim); - WindowWidget.AddWidget(&mouthAnim,Point(32,192),Point(anim->getFrame()->w,anim->getFrame()->h)); + m_mouthAnim = new AnimationLabel(DataCache::Instance()->getAnimation(Anim_OrdosMouth)); + m_mouthAnim->setPosition(UPoint(32, 223)); + m_container->addChild(m_mouthAnim); - anim = pDataManager->getAnimation(Anim_OrdosRing); - specialAnim.SetAnimation(anim); - WindowWidget.AddWidget(&specialAnim,Point(178,289),Point(anim->getFrame()->w,anim->getFrame()->h)); + m_specialAnim = new AnimationLabel(DataCache::Instance()->getAnimation(Anim_OrdosRing)); + m_specialAnim->setPosition(UPoint(178, 320)); + m_container->addChild(m_specialAnim); - anim = pDataManager->getAnimation(Anim_OrdosShoulder); - shoulderAnim.SetAnimation(anim); - // don't add shoulderAnim, draw it in DrawSpecificStuff break; case HOUSE_HARKONNEN: + m_eyesAnim = new AnimationLabel(DataCache::Instance()->getAnimation(Anim_HarkonnenEyes)); + m_eyesAnim->setPosition(UPoint(64, 207)); + m_container->addChild(m_eyesAnim); + + m_mouthAnim = new AnimationLabel(DataCache::Instance()->getAnimation(Anim_HarkonnenMouth)); + m_mouthAnim->setPosition(UPoint(64, 239)); + m_container->addChild(m_mouthAnim); + + break; case HOUSE_SARDAUKAR: default: - anim = pDataManager->getAnimation(Anim_HarkonnenEyes); - eyesAnim.SetAnimation(anim); - WindowWidget.AddWidget(&eyesAnim,Point(64,176),Point(anim->getFrame()->w,anim->getFrame()->h)); + m_eyesAnim = new AnimationLabel(DataCache::Instance()->getAnimation(Anim_BeneGesseritEyes)); + m_eyesAnim->setPosition(UPoint(128, 190)); + m_container->addChild(m_eyesAnim); - anim = pDataManager->getAnimation(Anim_HarkonnenMouth); - mouthAnim.SetAnimation(anim); - WindowWidget.AddWidget(&mouthAnim,Point(64,208),Point(anim->getFrame()->w,anim->getFrame()->h)); + m_mouthAnim = new AnimationLabel(DataCache::Instance()->getAnimation(Anim_BeneGesseritMouth)); + m_mouthAnim->setPosition(UPoint(112, 223)); + m_container->addChild(m_mouthAnim); - anim = pDataManager->getAnimation(Anim_HarkonnenShoulder); - shoulderAnim.SetAnimation(anim); - // don't add shoulderAnim, draw it in DrawSpecificStuff - break; + break; + } - TextLabel.SetTextColor(255); +/* TextLabel.SetTextColor(255); TextLabel.SetVisible(false);*/ } MentatMenuState::~MentatMenuState() { } +/*void MentatMenuState::setText(std::string text) +{ + m_textLabel.SetText(text.c_str()); + TextLabel.SetVisible(true); + TextLabel.Resize(620,120); +}*/ + int MentatMenuState::Execute(float dt) { m_surf.get()->blitToScreen(SPoint(Settings::Instance()->GetWidth() / 2 - m_surf->getSurface()->w/2, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dv...@us...> - 2008-04-28 22:56:29
|
Revision: 191 http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=191&view=rev Author: dvalin Date: 2008-04-28 15:56:25 -0700 (Mon, 28 Apr 2008) Log Message: ----------- * add bene gesserit mentat eyes and mouth * pass palette as argument to constructor in stead of get functions Modified Paths: -------------- branches/dunks/include/DataCache.h branches/dunks/src/DataCache.cpp Modified: branches/dunks/include/DataCache.h =================================================================== --- branches/dunks/include/DataCache.h 2008-04-28 22:55:16 UTC (rev 190) +++ branches/dunks/include/DataCache.h 2008-04-28 22:56:25 UTC (rev 191) @@ -215,6 +215,9 @@ Anim_OrdosMouth, Anim_OrdosShoulder, Anim_OrdosRing, + Anim_BeneGesseritEyes, + Anim_BeneGesseritMouth, + Anim_BeneGesseritShoulder, Anim_AtreidesPlanet, Anim_HarkonnenPlanet, Anim_OrdosPlanet, Modified: branches/dunks/src/DataCache.cpp =================================================================== --- branches/dunks/src/DataCache.cpp 2008-04-28 22:55:16 UTC (rev 190) +++ branches/dunks/src/DataCache.cpp 2008-04-28 22:56:25 UTC (rev 191) @@ -14,6 +14,11 @@ int maplen; uint8_t * mapdata; + + data = ResMan::Instance()->readFile("DUNE:BENE.PAL", &len); + Palettefile tmp (data, len); + SDL_Palette * pal = tmp.getPalette(); + //LOADING FILES data = ResMan::Instance()->readFile("DUNE:UNITS.SHP", &len); @@ -37,6 +42,8 @@ ShpfilePtr menshph(new Shpfile(data, len)); data = ResMan::Instance()->readFile("DUNE:MENSHPO.SHP", &len); ShpfilePtr menshpo(new Shpfile(data, len)); + data = ResMan::Instance()->readFile("DUNE:MENSHPM.SHP", &len); + ShpfilePtr menshpm(new Shpfile(data, len, pal)); data = ResMan::Instance()->readFile("ENGLISH:CHOAM.ENG", &len); ShpfilePtr choam(new Shpfile(data, len)); data = ResMan::Instance()->readFile("ENGLISH:BTTN.ENG", &len); @@ -54,7 +61,7 @@ data = ResMan::Instance()->readFile("DUNE:MENTATH.CPS", &len); CpsfilePtr mentath (new Cpsfile(data, len)); data = ResMan::Instance()->readFile("DUNE:MENTATM.CPS", &len); - CpsfilePtr mentatm (new Cpsfile(data, len)); + CpsfilePtr mentatm (new Cpsfile(data, len, pal)); data = ResMan::Instance()->readFile("ENGLISH:MENTAT.ENG", &len); ShpfilePtr mentat (new Shpfile(data, len)); @@ -146,6 +153,9 @@ addAnimation(Anim_OrdosMouth, menshpo->getAnimation(5,9,true), 5.0); addAnimation(Anim_OrdosShoulder, menshpo->getAnimation(10,10,true), 1.0); addAnimation(Anim_OrdosRing, menshpo->getAnimation(11,14,true), 6.0); + addAnimation(Anim_BeneGesseritEyes, menshpm->getAnimation(0,4,true), 0.5); + addAnimation(Anim_BeneGesseritMouth, menshpm->getAnimation(5,9,true), 5.0); + addAnimation(Anim_BeneGesseritShoulder, menshpm->getAnimation(10,10,true), 1.0); addAnimation(Anim_AtreidesPlanet, "MENTAT:FARTR.WSA", 12); addAnimation(Anim_HarkonnenPlanet, "MENTAT:FHARK.WSA", 12); addAnimation(Anim_OrdosPlanet, "MENTAT:FORDOS.WSA", 12); @@ -208,10 +218,7 @@ //addAnimation(Anim_OrdosPlanet, ordosplanet); - data = ResMan::Instance()->readFile("DUNE:BENE.PAL", &len); - Palettefile tmp (data, len); - SDL_Palette * pal = tmp.getPalette(); - addGuiPic(UI_MentatBackground, mentatm->getPicture(pal), HOUSE_SARDAUKAR); + addGuiPic(UI_MentatBackground, mentatm->getPicture(), HOUSE_SARDAUKAR); addSoundChunk(YesSir, getChunkFromFile("VOC:ZREPORT1.VOC")); addSoundChunk(Reporting, getChunkFromFile("VOC:ZREPORT2.VOC")); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dv...@us...> - 2008-04-28 22:55:18
|
Revision: 190 http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=190&view=rev Author: dvalin Date: 2008-04-28 15:55:16 -0700 (Mon, 28 Apr 2008) Log Message: ----------- store palette in class object Modified Paths: -------------- branches/dunks/include/pakfile/Cpsfile.h branches/dunks/include/pakfile/Shpfile.h branches/dunks/src/pakfile/Cpsfile.cpp branches/dunks/src/pakfile/Shpfile.cpp Modified: branches/dunks/include/pakfile/Cpsfile.h =================================================================== --- branches/dunks/include/pakfile/Cpsfile.h 2008-04-28 22:36:54 UTC (rev 189) +++ branches/dunks/include/pakfile/Cpsfile.h 2008-04-28 22:55:16 UTC (rev 190) @@ -4,7 +4,6 @@ #include "Gfx.h" #include "pakfile/Decode.h" #include "SDL.h" -#include "Application.h" #include <boost/shared_ptr.hpp> @@ -14,16 +13,17 @@ class Cpsfile : public Decode { public: - Cpsfile(unsigned char * bufFiledata, int bufsize); + Cpsfile(unsigned char * bufFiledata, int bufsize, SDL_Palette* palette = NULL); ~Cpsfile(); - Image * getPicture(SDL_Palette* palette = Application::Instance()->Screen()->getSurface()->format->palette); + Image * getPicture(); Image * getSubPicture(unsigned int left, unsigned int top, unsigned int width, unsigned int height); private: unsigned char* Filedata; Uint32 CpsFilesize; + SDL_Palette * m_palette; }; #endif // CPSFILE_H_INCLUDED Modified: branches/dunks/include/pakfile/Shpfile.h =================================================================== --- branches/dunks/include/pakfile/Shpfile.h 2008-04-28 22:36:54 UTC (rev 189) +++ branches/dunks/include/pakfile/Shpfile.h 2008-04-28 22:55:16 UTC (rev 190) @@ -21,12 +21,13 @@ class Animation; class Shpfile; +class SDL_Palette; typedef boost::shared_ptr<Shpfile> ShpfilePtr; class Shpfile : public Decode { public: - Shpfile(unsigned char * bufFiledata, int bufsize); + Shpfile(unsigned char * bufFiledata, int bufsize, SDL_Palette * palette = NULL); ~Shpfile(); /*! @@ -81,6 +82,7 @@ unsigned char* Filedata; Uint32 ShpFilesize; Uint16 NumFiles; + SDL_Palette * m_palette; }; Modified: branches/dunks/src/pakfile/Cpsfile.cpp =================================================================== --- branches/dunks/src/pakfile/Cpsfile.cpp 2008-04-28 22:36:54 UTC (rev 189) +++ branches/dunks/src/pakfile/Cpsfile.cpp 2008-04-28 22:55:16 UTC (rev 190) @@ -1,15 +1,20 @@ #include "pakfile/Cpsfile.h" #include <SDL_endian.h> +#include "Application.h" #include <stdlib.h> #include <string.h> #define SIZE_X 320 #define SIZE_Y 240 -Cpsfile::Cpsfile(unsigned char * bufFiledata, int bufsize) : Decode() +Cpsfile::Cpsfile(unsigned char * bufFiledata, int bufsize, SDL_Palette* palette) : Decode() { Filedata = bufFiledata; CpsFilesize = bufsize; + if (palette == NULL) + m_palette = Application::Instance()->Screen()->getSurface()->format->palette; + else + m_palette = palette; } Cpsfile::~Cpsfile() @@ -17,7 +22,7 @@ ; } -Image * Cpsfile::getPicture(SDL_Palette* palette) +Image * Cpsfile::getPicture() { unsigned char * ImageOut; SDL_Surface *pic = NULL; @@ -47,7 +52,7 @@ } - SDL_SetColors(pic, palette->colors, 0, palette->ncolors); + SDL_SetColors(pic, m_palette->colors, 0, m_palette->ncolors); SDL_LockSurface(pic); Modified: branches/dunks/src/pakfile/Shpfile.cpp =================================================================== --- branches/dunks/src/pakfile/Shpfile.cpp 2008-04-28 22:36:54 UTC (rev 189) +++ branches/dunks/src/pakfile/Shpfile.cpp 2008-04-28 22:55:16 UTC (rev 190) @@ -8,12 +8,16 @@ //extern SDL_Palette* palette; -Shpfile::Shpfile(unsigned char * bufFiledata, int bufsize) : Decode() +Shpfile::Shpfile(unsigned char * bufFiledata, int bufsize, SDL_Palette * palette) : Decode() { Filedata = bufFiledata; ShpFilesize = bufsize; Index = NULL; readIndex(); + if (palette == NULL) + m_palette = Application::Instance()->Screen()->getSurface()->format->palette; + else + m_palette = palette; } Shpfile::~Shpfile() @@ -25,7 +29,6 @@ Image * Shpfile::getPicture(Uint32 IndexOfFile) { - SDL_Palette *palette = Application::Instance()->Screen()->getSurface()->format->palette; SDL_Surface *pic = NULL; unsigned char *DecodeDestination = NULL; unsigned char *ImageOut = NULL; @@ -117,7 +120,7 @@ if((pic = SDL_CreateRGBSurface(SDL_SWSURFACE,sizeX,sizeY,8,0,0,0,0))== NULL) { return NULL; } - SDL_SetColors(pic, palette->colors, 0, palette->ncolors); + SDL_SetColors(pic, m_palette->colors, 0, m_palette->ncolors); SDL_LockSurface(pic); //Now we can copy line by line @@ -138,7 +141,6 @@ } Image * Shpfile::getPictureArray(unsigned int tilesX, unsigned int tilesY, ...) { - SDL_Palette *palette = Application::Instance()->Screen()->getSurface()->format->palette; SDL_Surface *pic = NULL; unsigned char *DecodeDestination = NULL; unsigned char *ImageOut = NULL; @@ -187,7 +189,7 @@ exit(EXIT_FAILURE); } - SDL_SetColors(pic, palette->colors, 0, palette->ncolors); + SDL_SetColors(pic, m_palette->colors, 0, m_palette->ncolors); SDL_LockSurface(pic); for(j = 0; j < tilesY; j++) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dv...@us...> - 2008-04-28 22:37:12
|
Revision: 189 http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=189&view=rev Author: dvalin Date: 2008-04-28 15:36:54 -0700 (Mon, 28 Apr 2008) Log Message: ----------- fix correct mentat graphic for fremen & ordos that had been switched by a mistake Modified Paths: -------------- branches/dunks/src/DataCache.cpp Modified: branches/dunks/src/DataCache.cpp =================================================================== --- branches/dunks/src/DataCache.cpp 2008-04-28 21:57:04 UTC (rev 188) +++ branches/dunks/src/DataCache.cpp 2008-04-28 22:36:54 UTC (rev 189) @@ -201,8 +201,8 @@ addGuiPic(UI_MentatNo_Pressed, mentat->getPicture(3)); addGuiPic(UI_MentatBackground, mentata->getPicture(), HOUSE_ATREIDES); - addGuiPic(UI_MentatBackground, mentata->getPicture(), HOUSE_ORDOS); - addGuiPic(UI_MentatBackground, mentato->getPicture(), HOUSE_FREMEN); + addGuiPic(UI_MentatBackground, mentata->getPicture(), HOUSE_FREMEN); + addGuiPic(UI_MentatBackground, mentato->getPicture(), HOUSE_ORDOS); addGuiPic(UI_MentatBackground, mentato->getPicture(), HOUSE_MERCENARY); addGuiPic(UI_MentatBackground, mentath->getPicture(), HOUSE_HARKONNEN); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dv...@us...> - 2008-04-28 21:57:10
|
Revision: 188 http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=188&view=rev Author: dvalin Date: 2008-04-28 14:57:04 -0700 (Mon, 28 Apr 2008) Log Message: ----------- add the remaining animations Modified Paths: -------------- branches/dunks/include/DataCache.h branches/dunks/src/DataCache.cpp Modified: branches/dunks/include/DataCache.h =================================================================== --- branches/dunks/include/DataCache.h 2008-04-28 21:55:02 UTC (rev 187) +++ branches/dunks/include/DataCache.h 2008-04-28 21:57:04 UTC (rev 188) @@ -21,6 +21,7 @@ #define NUM_MAPCHOICEPIECES 28 #define NUM_MAPCHOICEARROWS 9 +class Animation; // ObjPics typedef enum { @@ -385,9 +386,12 @@ public: void addObjPic(ObjPic_enum ID, Image * tmp, HOUSETYPE house = HOUSE_HARKONNEN); void addGuiPic(GuiPic_enum ID, Image * tmp, HOUSETYPE house = HOUSE_HARKONNEN); + void addAnimation(Animation_enum ID, std::string filename, double frameRate = 0); + void addAnimation(Animation_enum ID, Animation* animation, double frameRate = 0); void addSoundChunk(Sound_enum ID, Mix_Chunk* tmp); ImagePtr getObjPic(ObjPic_enum ID, HOUSETYPE house = HOUSE_HARKONNEN); ImagePtr getGuiPic(GuiPic_enum ID, HOUSETYPE house = HOUSE_HARKONNEN); + Animation* getAnimation(Animation_enum id); Mix_Chunk* getSoundChunk(Sound_enum ID); Mix_Chunk* concat2Chunks(Sound_enum ID1, Sound_enum ID2); std::string getBriefingText(uint16_t mission, uint16_t textType, HOUSETYPE house); @@ -406,6 +410,7 @@ Mix_Chunk* concat3Chunks(Mix_Chunk* sound1, Mix_Chunk* sound2, Mix_Chunk* sound3); Mix_Chunk* createEmptyChunk(); + Animation* Anim[NUM_ANIMATION]; Stringfile* BriefingStrings[3]; Mix_Chunk* soundChunk[NUM_SOUNDCHUNK]; Modified: branches/dunks/src/DataCache.cpp =================================================================== --- branches/dunks/src/DataCache.cpp 2008-04-28 21:55:02 UTC (rev 187) +++ branches/dunks/src/DataCache.cpp 2008-04-28 21:57:04 UTC (rev 188) @@ -135,28 +135,17 @@ addObjPic(ObjPic_SandDamage, units1->getPictureArray(3,1,5|TILE_NORMAL,6|TILE_NORMAL,7|TILE_NORMAL)); addObjPic(ObjPic_Terrain_Hidden, icon->getPictureRow(108,123)); - /*Anim[Anim_AtreidesEyes] = menshpa->getAnimation(0,4,true,true); - Anim[Anim_AtreidesEyes]->setFrameRate(0.5); - Anim[Anim_AtreidesMouth] = menshpa->getAnimation(5,9,true,true); - Anim[Anim_AtreidesMouth]->setFrameRate(5.0); - Anim[Anim_AtreidesShoulder] = menshpa->getAnimation(10,10,true,true); - Anim[Anim_AtreidesShoulder]->setFrameRate(1.0); - Anim[Anim_AtreidesBook] = menshpa->getAnimation(11,12,true,true); - Anim[Anim_AtreidesBook]->setFrameRate(0.1); - Anim[Anim_HarkonnenEyes] = menshph->getAnimation(0,4,true,true); - Anim[Anim_HarkonnenEyes]->setFrameRate(0.3); - Anim[Anim_HarkonnenMouth] = menshph->getAnimation(5,9,true,true); - Anim[Anim_HarkonnenMouth]->setFrameRate(5.0); - Anim[Anim_HarkonnenShoulder] = menshph->getAnimation(10,10,true,true); - Anim[Anim_HarkonnenShoulder]->setFrameRate(1.0); - Anim[Anim_OrdosEyes] = menshpo->getAnimation(0,4,true,true); - Anim[Anim_OrdosEyes]->setFrameRate(0.5); - Anim[Anim_OrdosMouth] = menshpo->getAnimation(5,9,true,true); - Anim[Anim_OrdosMouth]->setFrameRate(5.0); - Anim[Anim_OrdosShoulder] = menshpo->getAnimation(10,10,true,true); - Anim[Anim_OrdosShoulder]->setFrameRate(1.0); - Anim[Anim_OrdosRing] = menshpo->getAnimation(11,14,true,true); - Anim[Anim_OrdosRing]->setFrameRate(6.0);*/ + addAnimation(Anim_AtreidesEyes, menshpa->getAnimation(0,4,true), 0.5); + addAnimation(Anim_AtreidesMouth, menshpa->getAnimation(5,9,true), 5.0); + addAnimation(Anim_AtreidesShoulder, menshpa->getAnimation(10,10,true), 1.0); + addAnimation(Anim_AtreidesBook, menshpa->getAnimation(11,12,true), 0.1); + addAnimation(Anim_HarkonnenEyes, menshph->getAnimation(0,4,true), 0.3); + addAnimation(Anim_HarkonnenMouth, menshph->getAnimation(5,9,true), 0.5); + addAnimation(Anim_HarkonnenShoulder, menshph->getAnimation(10,10,true), 1.0); + addAnimation(Anim_OrdosEyes, menshpo->getAnimation(0,4,true), 0.5); + addAnimation(Anim_OrdosMouth, menshpo->getAnimation(5,9,true), 5.0); + addAnimation(Anim_OrdosShoulder, menshpo->getAnimation(10,10,true), 1.0); + addAnimation(Anim_OrdosRing, menshpo->getAnimation(11,14,true), 6.0); addAnimation(Anim_AtreidesPlanet, "MENTAT:FARTR.WSA", 12); addAnimation(Anim_HarkonnenPlanet, "MENTAT:FHARK.WSA", 12); addAnimation(Anim_OrdosPlanet, "MENTAT:FORDOS.WSA", 12); @@ -426,19 +415,25 @@ return BriefingStrings[0]->getString(i); }*/ -void DataCache::addAnimation(Animation_enum ID, std::string fileName, uint16_t frameRate) { +void DataCache::addAnimation(Animation_enum ID, std::string fileName, double frameRate) { int len; uint8_t * data = ResMan::Instance()->readFile(fileName, &len); WsafilePtr wsafile(new Wsafile(data, len)); SDL_Palette* palette = Application::Instance()->Screen()->getSurface()->format->palette; - Animation* ret = wsafile->getAnimation(0,wsafile->getNumFrames() - 1, palette, false); + Animation* animation = wsafile->getAnimation(0,wsafile->getNumFrames() - 1, palette, false); if(frameRate) - ret->setFrameRate(frameRate); - Anim[ID] = ret; + animation->setFrameRate(frameRate); + Anim[ID] = animation; delete data; } +void DataCache::addAnimation(Animation_enum ID, Animation* animation, double frameRate) { + if(frameRate) + animation->setFrameRate(frameRate); + Anim[ID] = animation; +} + Animation* DataCache::getAnimation(Animation_enum id) { if(id >= NUM_ANIMATION) { fprintf(stderr,"DataManager::getAnimation(): Animation with id %d is not available!\n",id); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dv...@us...> - 2008-04-28 21:55:08
|
Revision: 187 http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=187&view=rev Author: dvalin Date: 2008-04-28 14:55:02 -0700 (Mon, 28 Apr 2008) Log Message: ----------- fix typo Modified Paths: -------------- branches/dunks/src/pakfile/Shpfile.cpp Modified: branches/dunks/src/pakfile/Shpfile.cpp =================================================================== --- branches/dunks/src/pakfile/Shpfile.cpp 2008-04-28 21:52:15 UTC (rev 186) +++ branches/dunks/src/pakfile/Shpfile.cpp 2008-04-28 21:55:02 UTC (rev 187) @@ -1,7 +1,7 @@ #include "Application.h" #include "pakfile/Shpfile.h" -#include "pakfile/Animation." +#include "pakfile/Animation.h" #include <SDL_endian.h> #include <stdlib.h> #include <string.h> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dv...@us...> - 2008-04-28 21:52:19
|
Revision: 186 http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=186&view=rev Author: dvalin Date: 2008-04-28 14:52:15 -0700 (Mon, 28 Apr 2008) Log Message: ----------- add getAnimation() Modified Paths: -------------- branches/dunks/include/pakfile/Shpfile.h branches/dunks/src/pakfile/Shpfile.cpp Modified: branches/dunks/include/pakfile/Shpfile.h =================================================================== --- branches/dunks/include/pakfile/Shpfile.h 2008-04-28 21:29:23 UTC (rev 185) +++ branches/dunks/include/pakfile/Shpfile.h 2008-04-28 21:52:15 UTC (rev 186) @@ -19,7 +19,7 @@ Uint32 EndOffset; }; - +class Animation; class Shpfile; typedef boost::shared_ptr<Shpfile> ShpfilePtr; @@ -60,6 +60,17 @@ @return picture in this shp-File containing all specified pictures */ Image * getPictureArray(unsigned int tilesX, unsigned int tilesY, ...); + /// Returns an animation +/*! + This method returns a new animation object with all pictures from startindex to endindex + in it. The returned pointer should be freed with delete if no longer needed. If an error + occured, NULL is returned. + @param startindex index of the first picture + @param endindex index of the last picture + @param SetColorKey if true, black is set as transparency + @return a new animation object or NULL on error +*/ + Animation* getAnimation(unsigned int startindex, unsigned int endindex, bool SetColorKey=true); inline int getNumFiles() {return (int) NumFiles;}; Modified: branches/dunks/src/pakfile/Shpfile.cpp =================================================================== --- branches/dunks/src/pakfile/Shpfile.cpp 2008-04-28 21:29:23 UTC (rev 185) +++ branches/dunks/src/pakfile/Shpfile.cpp 2008-04-28 21:52:15 UTC (rev 186) @@ -1,6 +1,7 @@ #include "Application.h" #include "pakfile/Shpfile.h" +#include "pakfile/Animation." #include <SDL_endian.h> #include <stdlib.h> #include <string.h> @@ -318,6 +319,35 @@ } +/// Returns an animation +/** + This method returns a new animation object with all pictures from startindex to endindex + in it. The returned pointer should be freed with delete if no longer needed. If an error + occured, NULL is returned. + \param startindex index of the first picture + \param endindex index of the last picture + \param SetColorKey if true, black is set as transparency + \return a new animation object or NULL on error +*/ +Animation* Shpfile::getAnimation(unsigned int startindex, unsigned int endindex, bool SetColorKey) +{ + Animation* tmpAnimation; + Image* tmp; + + if((tmpAnimation = new Animation()) == NULL) { + return NULL; + } + + for(unsigned int i = startindex; i <= endindex; i++) { + if((tmp = getPicture(i)) == NULL) { + delete tmpAnimation; + return NULL; + } + tmpAnimation->addFrame(tmp,SetColorKey); + } + return tmpAnimation; +} + void Shpfile::readIndex() { // First get number of files in shp-file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dv...@us...> - 2008-04-28 21:29:39
|
Revision: 185 http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=185&view=rev Author: dvalin Date: 2008-04-28 14:29:23 -0700 (Mon, 28 Apr 2008) Log Message: ----------- add animations to DataCache Modified Paths: -------------- branches/dunks/src/DataCache.cpp branches/dunks/src/HouseChoiceInfoMenu.cpp Modified: branches/dunks/src/DataCache.cpp =================================================================== --- branches/dunks/src/DataCache.cpp 2008-04-28 20:49:46 UTC (rev 184) +++ branches/dunks/src/DataCache.cpp 2008-04-28 21:29:23 UTC (rev 185) @@ -9,28 +9,42 @@ } int len; - unsigned char * data; + uint8_t * data; - Icnfile* icon; - Shpfile* units; - Shpfile* units1; - Shpfile* units2; - + int maplen; + uint8_t * mapdata; //LOADING FILES data = ResMan::Instance()->readFile("DUNE:UNITS.SHP", &len); - units = new Shpfile(data, len); - + ShpfilePtr units(new Shpfile(data, len)); data = ResMan::Instance()->readFile("DUNE:UNITS1.SHP", &len); - units1 = new Shpfile(data, len); - + ShpfilePtr units1(new Shpfile(data, len)); data = ResMan::Instance()->readFile("DUNE:UNITS2.SHP", &len); - units2 = new Shpfile(data, len); + ShpfilePtr units2(new Shpfile(data, len)); + data = ResMan::Instance()->readFile("DUNE:MOUSE.SHP", &len); + ShpfilePtr mouse(new Shpfile(data, len)); + data = ResMan::Instance()->readFile("DUNE:SHAPES.SHP", &len); + ShpfilePtr shapes(new Shpfile(data, len)); + data = ResMan::Instance()->readFile("DUNE:ICON.ICN", &len); + mapdata = ResMan::Instance()->readFile("DUNE:ICON.MAP", &maplen); + IcnfilePtr icon(new Icnfile(data, len, mapdata, maplen)); + data = ResMan::Instance()->readFile("DUNE:STATIC.WSA", &len); + WsafilePtr radar(new Wsafile(data, len)); + data = ResMan::Instance()->readFile("DUNE:MENSHPA.SHP", &len); + ShpfilePtr menshpa(new Shpfile(data, len)); + data = ResMan::Instance()->readFile("DUNE:MENSHPH.SHP", &len); + ShpfilePtr menshph(new Shpfile(data, len)); + data = ResMan::Instance()->readFile("DUNE:MENSHPO.SHP", &len); + ShpfilePtr menshpo(new Shpfile(data, len)); + data = ResMan::Instance()->readFile("ENGLISH:CHOAM.ENG", &len); + ShpfilePtr choam(new Shpfile(data, len)); + data = ResMan::Instance()->readFile("ENGLISH:BTTN.ENG", &len); + ShpfilePtr bttn(new Shpfile(data, len)); + data = ResMan::Instance()->readFile("FINALE:BIGPLAN.CPS", &len); + CpsfilePtr bigplan(new Cpsfile(data, len)); - data = ResMan::Instance()->readFile("ENGLISH:MENTAT.ENG", &len); - ShpfilePtr mentat (new Shpfile(data, len)); - + data = ResMan::Instance()->readFile("ENGLISH:HERALD.ENG", &len); CpsfilePtr herald(new Cpsfile(data, len)); data = ResMan::Instance()->readFile("DUNE:MENTATA.CPS", &len); @@ -41,19 +55,26 @@ CpsfilePtr mentath (new Cpsfile(data, len)); data = ResMan::Instance()->readFile("DUNE:MENTATM.CPS", &len); CpsfilePtr mentatm (new Cpsfile(data, len)); + data = ResMan::Instance()->readFile("ENGLISH:MENTAT.ENG", &len); + ShpfilePtr mentat (new Shpfile(data, len)); + data = ResMan::Instance()->readFile("DUNE:DUNEMAP.CPS", &len); + CpsfilePtr dunemap(new Cpsfile(data, len)); + data = ResMan::Instance()->readFile("DUNE:DUNERGN.CPS", &len); + CpsfilePtr dunergn(new Cpsfile(data, len)); + data = ResMan::Instance()->readFile("DUNE:RGNCLK.CPS", &len); + CpsfilePtr rgnclk(new Cpsfile(data, len)); + data = ResMan::Instance()->readFile("DUNE:PIECES.SHP", &len); + ShpfilePtr pieces(new Shpfile(data, len)); + data = ResMan::Instance()->readFile("DUNE:ARROWS.SHP", &len); + ShpfilePtr arrows(new Shpfile(data, len)); + + // Anim[Anim_OrdosPlanet]->setFrameRate(12); /* data = ResMan::Instance()->readFile("MENTAT:FORDOS.WSA", &len); WsafilePtr ordosplanet (new Wsafile(data, len)); */ - int maplen; - unsigned char * mapdata; - - data = ResMan::Instance()->readFile("DUNE:ICON.ICN", &len); - mapdata = ResMan::Instance()->readFile("DUNE:ICON.MAP", &maplen); - icon = new Icnfile(data, len, mapdata, maplen); - //UNITS, BUILDINGS, EXPLOSIONS, and everything that's on the map addObjPic(ObjPic_Tank_Base, units2->getPictureArray(8,1,GROUNDUNIT_ROW(0))); addObjPic(ObjPic_Tank_Gun, units2->getPictureArray(8,1,GROUNDUNIT_ROW(5))); @@ -114,6 +135,75 @@ addObjPic(ObjPic_SandDamage, units1->getPictureArray(3,1,5|TILE_NORMAL,6|TILE_NORMAL,7|TILE_NORMAL)); addObjPic(ObjPic_Terrain_Hidden, icon->getPictureRow(108,123)); + /*Anim[Anim_AtreidesEyes] = menshpa->getAnimation(0,4,true,true); + Anim[Anim_AtreidesEyes]->setFrameRate(0.5); + Anim[Anim_AtreidesMouth] = menshpa->getAnimation(5,9,true,true); + Anim[Anim_AtreidesMouth]->setFrameRate(5.0); + Anim[Anim_AtreidesShoulder] = menshpa->getAnimation(10,10,true,true); + Anim[Anim_AtreidesShoulder]->setFrameRate(1.0); + Anim[Anim_AtreidesBook] = menshpa->getAnimation(11,12,true,true); + Anim[Anim_AtreidesBook]->setFrameRate(0.1); + Anim[Anim_HarkonnenEyes] = menshph->getAnimation(0,4,true,true); + Anim[Anim_HarkonnenEyes]->setFrameRate(0.3); + Anim[Anim_HarkonnenMouth] = menshph->getAnimation(5,9,true,true); + Anim[Anim_HarkonnenMouth]->setFrameRate(5.0); + Anim[Anim_HarkonnenShoulder] = menshph->getAnimation(10,10,true,true); + Anim[Anim_HarkonnenShoulder]->setFrameRate(1.0); + Anim[Anim_OrdosEyes] = menshpo->getAnimation(0,4,true,true); + Anim[Anim_OrdosEyes]->setFrameRate(0.5); + Anim[Anim_OrdosMouth] = menshpo->getAnimation(5,9,true,true); + Anim[Anim_OrdosMouth]->setFrameRate(5.0); + Anim[Anim_OrdosShoulder] = menshpo->getAnimation(10,10,true,true); + Anim[Anim_OrdosShoulder]->setFrameRate(1.0); + Anim[Anim_OrdosRing] = menshpo->getAnimation(11,14,true,true); + Anim[Anim_OrdosRing]->setFrameRate(6.0);*/ + addAnimation(Anim_AtreidesPlanet, "MENTAT:FARTR.WSA", 12); + addAnimation(Anim_HarkonnenPlanet, "MENTAT:FHARK.WSA", 12); + addAnimation(Anim_OrdosPlanet, "MENTAT:FORDOS.WSA", 12); + addAnimation(Anim_Win1, "DUNE:WIN1.WSA"); + addAnimation(Anim_Win2, "DUNE:WIN2.WSA"); + addAnimation(Anim_Lose1, "DUNE:LOSTBILD.WSA"); + addAnimation(Anim_Lose2, "DUNE:LOSTVEHC.WSA"); + addAnimation(Anim_Barracks, "MENTAT:BARRAC.WSA"); + addAnimation(Anim_Carryall, "MENTAT:CARRYALL.WSA"); + addAnimation(Anim_ConstructionYard, "MENTAT:CONSTRUC.WSA"); + addAnimation(Anim_Fremen, "MENTAT:FREMEN.WSA"); + addAnimation(Anim_DeathHand, "MENTAT:GOLD-BB.WSA"); + addAnimation(Anim_Devastator, "MENTAT:HARKTANK.WSA"); + addAnimation(Anim_Harvester, "MENTAT:HARVEST.WSA"); + addAnimation(Anim_Radar, "MENTAT:HEADQRTS.WSA"); + addAnimation(Anim_HighTechFactory, "MENTAT:HITCFTRY.WSA"); + addAnimation(Anim_SiegeTank, "MENTAT:HTANK.WSA"); + addAnimation(Anim_HeavyFactory, "MENTAT:HVYFTRY.WSA"); + addAnimation(Anim_Trooper, "MENTAT:HYINFY.WSA"); + addAnimation(Anim_Infantry, "MENTAT:INFANTRY.WSA"); + addAnimation(Anim_IX, "MENTAT:IX.WSA"); + addAnimation(Anim_LightFactory, "MENTAT:LITEFTRY.WSA"); + addAnimation(Anim_Tank, "MENTAT:LTANK.WSA"); + addAnimation(Anim_MCV, "MENTAT:MCV.WSA"); + addAnimation(Anim_Deviator, "MENTAT:ORDRTANK.WSA"); + addAnimation(Anim_Ornithopter, "MENTAT:ORNI.WSA"); + addAnimation(Anim_Raider, "MENTAT:OTRIKE.WSA"); + addAnimation(Anim_Palace, "MENTAT:PALACE.WSA"); + addAnimation(Anim_Quad, "MENTAT:QUAD.WSA"); + addAnimation(Anim_Refinery, "MENTAT:REFINERY.WSA"); + addAnimation(Anim_RepairYard, "MENTAT:REPAIR.WSA"); + addAnimation(Anim_Launcher, "MENTAT:RTANK.WSA"); + addAnimation(Anim_RocketTurret, "MENTAT:RTURRET.WSA"); + addAnimation(Anim_Saboteur, "MENTAT:SABOTURE.WSA"); + addAnimation(Anim_Slab1, "MENTAT:SLAB.WSA"); + addAnimation(Anim_SonicTank, "MENTAT:STANK.WSA"); + addAnimation(Anim_StarPort, "MENTAT:STARPORT.WSA"); + addAnimation(Anim_Silo, "MENTAT:STORAGE.WSA"); + addAnimation(Anim_Trike, "MENTAT:TRIKE.WSA"); + addAnimation(Anim_GunTurret, "MENTAT:TURRET.WSA"); + addAnimation(Anim_Wall, "MENTAT:WALL.WSA"); + addAnimation(Anim_WindTrap, "MENTAT:WINDTRAP.WSA"); + addAnimation(Anim_WOR, "MENTAT:WOR.WSA"); + addAnimation(Anim_Sandworm, "MENTAT:WORM.WSA"); + addAnimation(Anim_Sardaukar, "MENTAT:SARDUKAR.WSA"); + addAnimation(Anim_Frigate, "MENTAT:FRIGATE.WSA"); + addGuiPic(UI_HouseChoiceBackground, herald->getPicture()); addGuiPic(UI_MentatYes, mentat->getPicture(0)); @@ -127,7 +217,7 @@ addGuiPic(UI_MentatBackground, mentato->getPicture(), HOUSE_MERCENARY); addGuiPic(UI_MentatBackground, mentath->getPicture(), HOUSE_HARKONNEN); - //addAnim(Anim_OrdosPlanet, ordosplanet); + //addAnimation(Anim_OrdosPlanet, ordosplanet); data = ResMan::Instance()->readFile("DUNE:BENE.PAL", &len); Palettefile tmp (data, len); @@ -230,23 +320,6 @@ BriefingStrings[0] = new Stringfile("ENGLISH:TEXTA.ENG"); BriefingStrings[1] = new Stringfile("ENGLISH:TEXTO.ENG"); BriefingStrings[2] = new Stringfile("ENGLISH:TEXTH.ENG"); -/* SDL_RWops* text[3]; - data = ResMan::Instance()->readFile("TEXTA.ENG", &len); - text[0] = SDL_RWFromMem(data, len); - data = ResMan::Instance()->readFile("TEXTO.ENG", &len); - text[1] = SDL_RWFromMem(data, len); - data = ResMan::Instance()->readFile("TEXTH.ENG", &len); - text[2] = SDL_RWFromMem(data, len); - - - for(int i=0;i<3;i++) { - if(text[i] == NULL) { - fprintf(stderr,"DataManager::DataManager: Can not open language file\n"); - exit(EXIT_FAILURE); - } - BriefingStrings[i] = new Stringfile(); - SDL_RWclose(text[i]); - } */ } void DataCache::addObjPic(ObjPic_enum ID, Image * tmp, HOUSETYPE house) { @@ -353,6 +426,28 @@ return BriefingStrings[0]->getString(i); }*/ +void DataCache::addAnimation(Animation_enum ID, std::string fileName, uint16_t frameRate) { + int len; + uint8_t * data = ResMan::Instance()->readFile(fileName, &len); + WsafilePtr wsafile(new Wsafile(data, len)); + SDL_Palette* palette = Application::Instance()->Screen()->getSurface()->format->palette; + + Animation* ret = wsafile->getAnimation(0,wsafile->getNumFrames() - 1, palette, false); + if(frameRate) + ret->setFrameRate(frameRate); + Anim[ID] = ret; + delete data; +} + +Animation* DataCache::getAnimation(Animation_enum id) { + if(id >= NUM_ANIMATION) { + fprintf(stderr,"DataManager::getAnimation(): Animation with id %d is not available!\n",id); + exit(EXIT_FAILURE); + } + + return Anim[id]; +} + Mix_Chunk* DataCache::concat2Chunks(Sound_enum ID1, Sound_enum ID2) { return concat2Chunks(soundChunk[ID1], soundChunk[ID2]); Modified: branches/dunks/src/HouseChoiceInfoMenu.cpp =================================================================== --- branches/dunks/src/HouseChoiceInfoMenu.cpp 2008-04-28 20:49:46 UTC (rev 184) +++ branches/dunks/src/HouseChoiceInfoMenu.cpp 2008-04-28 21:29:23 UTC (rev 185) @@ -8,23 +8,18 @@ #include "pakfile/Animation.h" #include "gui2/Label.h" #include "gui2/Button.h" +#include <string> HouseChoiceInfoMenuState::HouseChoiceInfoMenuState(HOUSETYPE newHouse) : MentatMenuState(HOUSE_SARDAUKAR) { - int len; - uint8_t * data; + Animation* ret; if (newHouse == HOUSE_ATREIDES) - data = ResMan::Instance()->readFile("MENTAT:FARTR.WSA", &len); + ret = DataCache::Instance()->getAnimation(Anim_AtreidesPlanet); else if (newHouse == HOUSE_ORDOS) - data = ResMan::Instance()->readFile("MENTAT:FORDOS.WSA", &len); + ret = DataCache::Instance()->getAnimation(Anim_OrdosPlanet); else if (newHouse == HOUSE_HARKONNEN) - data = ResMan::Instance()->readFile("MENTAT:FHARK.WSA", &len); - SDL_Palette* palette = Application::Instance()->Screen()->getSurface()->format->palette; + ret = DataCache::Instance()->getAnimation(Anim_HarkonnenPlanet); - WsafilePtr m_wsa (new Wsafile(data, len)); - - Animation* ret = m_wsa->getAnimation(0, m_wsa->getNumFrames() - 1, palette, false); - ret->setFrameRate(12); m_planetAnimation = new AnimationLabel(ret); m_planetAnimation->setPosition(UPoint(256,127)); @@ -38,6 +33,12 @@ m_butNo->setPosition(UPoint(480,366)); m_container->addChild(m_butNo); + std::string desc = DataCache::Instance()->getBriefingText(0, MISSION_DESCRIPTION, newHouse); + int linebreak = desc.find("\n",0) + 1; + m_textLabel = new Label(desc.substr(linebreak,desc.length()-linebreak), 158, 0); //DataCache::Instance()->getBriefingText(0, MISSION_DESCRIPTION, newHouse), 0); + m_textLabel->setPosition(UPoint(0,35)); + m_container->addChild(m_textLabel); + } HouseChoiceInfoMenuState::~HouseChoiceInfoMenuState() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dv...@us...> - 2008-04-28 20:50:08
|
Revision: 184 http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=184&view=rev Author: dvalin Date: 2008-04-28 13:49:46 -0700 (Mon, 28 Apr 2008) Log Message: ----------- add IcnfilePtr Modified Paths: -------------- branches/dunks/include/pakfile/Icnfile.h Modified: branches/dunks/include/pakfile/Icnfile.h =================================================================== --- branches/dunks/include/pakfile/Icnfile.h 2008-04-28 19:52:22 UTC (rev 183) +++ branches/dunks/include/pakfile/Icnfile.h 2008-04-28 20:49:46 UTC (rev 184) @@ -3,6 +3,12 @@ #include "SDL.h" +#include <boost/shared_ptr.hpp> + +class Icnfile; + +typedef boost::shared_ptr<Icnfile> IcnfilePtr; + /*! A class for loading a *.ICN-File and the corresponding *.MAP-File. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dv...@us...> - 2008-04-28 19:52:44
|
Revision: 183 http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=183&view=rev Author: dvalin Date: 2008-04-28 12:52:22 -0700 (Mon, 28 Apr 2008) Log Message: ----------- add methods for fetching briefing text Modified Paths: -------------- branches/dunks/include/DataCache.h branches/dunks/src/DataCache.cpp Modified: branches/dunks/include/DataCache.h =================================================================== --- branches/dunks/include/DataCache.h 2008-04-28 19:50:37 UTC (rev 182) +++ branches/dunks/include/DataCache.h 2008-04-28 19:52:22 UTC (rev 183) @@ -13,7 +13,7 @@ #include "pakfile/Palette.h" #include "pakfile/Shpfile.h" #include "pakfile/Wsafile.h" -//#include "pakfile/BriefingText.h" +#include "pakfile/Stringfile.h" #include "houses.h" #include <map> @@ -191,7 +191,6 @@ UI_MentatProcced_Pressed, UI_MentatRepeat, UI_MentatRepeat_Pressed, - UI_Mentat_BeneGesserit, UI_PlanetBackground, UI_MenuButtonBorder, UI_DuneLegacy, @@ -391,6 +390,8 @@ ImagePtr getGuiPic(GuiPic_enum ID, HOUSETYPE house = HOUSE_HARKONNEN); Mix_Chunk* getSoundChunk(Sound_enum ID); Mix_Chunk* concat2Chunks(Sound_enum ID1, Sound_enum ID2); + std::string getBriefingText(uint16_t mission, uint16_t textType, HOUSETYPE house); + // std::string getBriefingText(ObjPic_enum mission, ObjPic_enum texttype, ObjPic_enum house); // std::string getBriefingText(ObjPic_enum i); @@ -405,7 +406,7 @@ Mix_Chunk* concat3Chunks(Mix_Chunk* sound1, Mix_Chunk* sound2, Mix_Chunk* sound3); Mix_Chunk* createEmptyChunk(); -// BriefingText* BriefingStrings[1]; + Stringfile* BriefingStrings[3]; Mix_Chunk* soundChunk[NUM_SOUNDCHUNK]; }; Modified: branches/dunks/src/DataCache.cpp =================================================================== --- branches/dunks/src/DataCache.cpp 2008-04-28 19:50:37 UTC (rev 182) +++ branches/dunks/src/DataCache.cpp 2008-04-28 19:52:22 UTC (rev 183) @@ -15,9 +15,6 @@ Shpfile* units; Shpfile* units1; Shpfile* units2; - Cpsfile* herald; - Shpfile* mentat; -// CpsfilePtr mentatm; @@ -31,18 +28,24 @@ data = ResMan::Instance()->readFile("DUNE:UNITS2.SHP", &len); units2 = new Shpfile(data, len); + data = ResMan::Instance()->readFile("ENGLISH:MENTAT.ENG", &len); + ShpfilePtr mentat (new Shpfile(data, len)); + data = ResMan::Instance()->readFile("ENGLISH:HERALD.ENG", &len); - herald = new Cpsfile(data, len); - - data = ResMan::Instance()->readFile("ENGLISH:MENTAT.ENG", &len); - mentat = new Shpfile(data, len); - - data = ResMan::Instance()->readFile("DUNE:BENE.PAL", &len); - + CpsfilePtr herald(new Cpsfile(data, len)); + data = ResMan::Instance()->readFile("DUNE:MENTATA.CPS", &len); + CpsfilePtr mentata (new Cpsfile(data, len)); + data = ResMan::Instance()->readFile("DUNE:MENTATO.CPS", &len); + CpsfilePtr mentato (new Cpsfile(data, len)); + data = ResMan::Instance()->readFile("DUNE:MENTATH.CPS", &len); + CpsfilePtr mentath (new Cpsfile(data, len)); data = ResMan::Instance()->readFile("DUNE:MENTATM.CPS", &len); - CpsfilePtr mentatm (new Cpsfile(data, len)); +// Anim[Anim_OrdosPlanet]->setFrameRate(12); +/* data = ResMan::Instance()->readFile("MENTAT:FORDOS.WSA", &len); + WsafilePtr ordosplanet (new Wsafile(data, len)); +*/ int maplen; unsigned char * mapdata; @@ -111,17 +114,25 @@ addObjPic(ObjPic_SandDamage, units1->getPictureArray(3,1,5|TILE_NORMAL,6|TILE_NORMAL,7|TILE_NORMAL)); addObjPic(ObjPic_Terrain_Hidden, icon->getPictureRow(108,123)); - //addGuiPic(UI_HouseChoiceBackground, herald->getPicture()); + addGuiPic(UI_HouseChoiceBackground, herald->getPicture()); addGuiPic(UI_MentatYes, mentat->getPicture(0)); addGuiPic(UI_MentatYes_Pressed, mentat->getPicture(1)); addGuiPic(UI_MentatNo, mentat->getPicture(2)); addGuiPic(UI_MentatNo_Pressed, mentat->getPicture(3)); + addGuiPic(UI_MentatBackground, mentata->getPicture(), HOUSE_ATREIDES); + addGuiPic(UI_MentatBackground, mentata->getPicture(), HOUSE_ORDOS); + addGuiPic(UI_MentatBackground, mentato->getPicture(), HOUSE_FREMEN); + addGuiPic(UI_MentatBackground, mentato->getPicture(), HOUSE_MERCENARY); + addGuiPic(UI_MentatBackground, mentath->getPicture(), HOUSE_HARKONNEN); + + //addAnim(Anim_OrdosPlanet, ordosplanet); + data = ResMan::Instance()->readFile("DUNE:BENE.PAL", &len); Palettefile tmp (data, len); SDL_Palette * pal = tmp.getPalette(); - addGuiPic(UI_Mentat_BeneGesserit, mentatm->getPicture(pal)); + addGuiPic(UI_MentatBackground, mentatm->getPicture(pal), HOUSE_SARDAUKAR); addSoundChunk(YesSir, getChunkFromFile("VOC:ZREPORT1.VOC")); addSoundChunk(Reporting, getChunkFromFile("VOC:ZREPORT2.VOC")); @@ -215,6 +226,27 @@ addSoundChunk(Intro_WhoEver, getChunkFromFile("INTROVOC:WHOEVER.VOC")); addSoundChunk(Intro_Wind_2bp, getChunkFromFile("INTROVOC:WIND2BP.VOC")); addSoundChunk(Intro_Your, getChunkFromFile("INTROVOC:YOUR.VOC")); + + BriefingStrings[0] = new Stringfile("ENGLISH:TEXTA.ENG"); + BriefingStrings[1] = new Stringfile("ENGLISH:TEXTO.ENG"); + BriefingStrings[2] = new Stringfile("ENGLISH:TEXTH.ENG"); +/* SDL_RWops* text[3]; + data = ResMan::Instance()->readFile("TEXTA.ENG", &len); + text[0] = SDL_RWFromMem(data, len); + data = ResMan::Instance()->readFile("TEXTO.ENG", &len); + text[1] = SDL_RWFromMem(data, len); + data = ResMan::Instance()->readFile("TEXTH.ENG", &len); + text[2] = SDL_RWFromMem(data, len); + + + for(int i=0;i<3;i++) { + if(text[i] == NULL) { + fprintf(stderr,"DataManager::DataManager: Can not open language file\n"); + exit(EXIT_FAILURE); + } + BriefingStrings[i] = new Stringfile(); + SDL_RWclose(text[i]); + } */ } void DataCache::addObjPic(ObjPic_enum ID, Image * tmp, HOUSETYPE house) { @@ -312,15 +344,15 @@ return returnChunk; } -/* -std::string DataCache::getBriefingText(ObjPic_enum mission, ObjPic_enum texttype, int house) { - return BriefingStrings[0]->getString(0,0); + +std::string DataCache::getBriefingText(uint16_t mission, uint16_t textType, HOUSETYPE house) { + return BriefingStrings[house]->getString(mission,textType); } -std::string DataCache::getBriefingText(int i){ +/*std::string DataCache::getBriefingText(int i){ return BriefingStrings[0]->getString(i); -} -*/ +}*/ + Mix_Chunk* DataCache::concat2Chunks(Sound_enum ID1, Sound_enum ID2) { return concat2Chunks(soundChunk[ID1], soundChunk[ID2]); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dv...@us...> - 2008-04-28 19:51:27
|
Revision: 182 http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=182&view=rev Author: dvalin Date: 2008-04-28 12:50:37 -0700 (Mon, 28 Apr 2008) Log Message: ----------- make text colour overridable Modified Paths: -------------- branches/dunks/include/gui2/Label.h branches/dunks/src/gui2/Label.cpp Modified: branches/dunks/include/gui2/Label.h =================================================================== --- branches/dunks/include/gui2/Label.h 2008-04-28 18:46:29 UTC (rev 181) +++ branches/dunks/include/gui2/Label.h 2008-04-28 19:50:37 UTC (rev 182) @@ -16,9 +16,10 @@ /*! Caption of label should always be set when constructing label @param caption std::string a caption of label - @param bgcolour sets background colour of label. 115(dune yellow) by default + @param textColour sets text colour of label. 49(dune red) by default + @param bgColour sets background colour of label. 115(dune yellow) by default */ - Label(std::string caption, int bgcolour = 115); + Label(std::string caption, int textColour = 49, int bgColour = 115); ~Label(); //@} Modified: branches/dunks/src/gui2/Label.cpp =================================================================== --- branches/dunks/src/gui2/Label.cpp 2008-04-28 18:46:29 UTC (rev 181) +++ branches/dunks/src/gui2/Label.cpp 2008-04-28 19:50:37 UTC (rev 182) @@ -5,7 +5,7 @@ #include "Application.h" #include "Gfx.h" -Label::Label(std::string caption, int bgcolour) +Label::Label(std::string caption, int textColour, int bgColour) { m_caption = caption; Font* font = FontManager::Instance()->getFont("INTRO:INTRO.FNT"); @@ -17,11 +17,11 @@ /*If surface width was not %4 == 0 then you'd get a text in italics */ m_surface.reset(new Image(UPoint(textw + 4-(textw%4) , texth))); - m_surface->fillRect(bgcolour); + m_surface->fillRect(bgColour); font->render(m_caption.c_str(), m_surface, m_surface->getSurface()->w/2 - textw/2, - m_surface->getSurface()->h/2 - texth/2, 49); + m_surface->getSurface()->h/2 - texth/2, textColour); // Is it needed in case of label. It's not clickable or anything. // Widget::setSize(SPoint(textw, texth)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dv...@us...> - 2008-04-28 18:48:10
|
Revision: 181 http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=181&view=rev Author: dvalin Date: 2008-04-28 11:46:29 -0700 (Mon, 28 Apr 2008) Log Message: ----------- grf, clean up more mess after renaming.. Modified Paths: -------------- branches/dunks/src/SConscript branches/dunks/src/pakfile/Stringfile.cpp Modified: branches/dunks/src/SConscript =================================================================== --- branches/dunks/src/SConscript 2008-04-28 18:36:29 UTC (rev 180) +++ branches/dunks/src/SConscript 2008-04-28 18:46:29 UTC (rev 181) @@ -24,8 +24,11 @@ "MainMenu.cpp", "IntroState.cpp", "SingleMenu.cpp", - "CampaignMenu.cpp", +# "CampaignMenu.cpp", "OptionsMenu.cpp", + "MentatMenu.cpp", + "HouseChoiceMenu.cpp", + "HouseChoiceInfoMenu.cpp", "Gfx.cpp", "houses.cpp", # just for colors, hope there will be a better place for these (otpetrik) "Strings.cpp", @@ -33,7 +36,8 @@ "ConfigFile.cpp", "ResMan.cpp", "SoundPlayerClass.cpp", - "pakfile/StringFile.cpp", + "pakfile/Animation.cpp", + "pakfile/Stringfile.cpp", "pakfile/Vocfile.cpp", "pakfile/IntegratedLibSampleRate/samplerate.c", "pakfile/IntegratedLibSampleRate/src_linear.c", Modified: branches/dunks/src/pakfile/Stringfile.cpp =================================================================== --- branches/dunks/src/pakfile/Stringfile.cpp 2008-04-28 18:36:29 UTC (rev 180) +++ branches/dunks/src/pakfile/Stringfile.cpp 2008-04-28 18:46:29 UTC (rev 181) @@ -6,7 +6,7 @@ #include <iostream> #include <string> -Stringfile::Stringfile(std::string stringfileName) { +Stringfile::Stringfile(std::string stringFileName) { int bufsize; unsigned char* bufFiledata = ResMan::Instance()->readFile(stringFileName.c_str(), &bufsize); Uint16* index; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dv...@us...> - 2008-04-28 18:37:02
|
Revision: 180 http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=180&view=rev Author: dvalin Date: 2008-04-28 11:36:29 -0700 (Mon, 28 Apr 2008) Log Message: ----------- d'oh, actually rename class name as well Modified Paths: -------------- branches/dunks/include/pakfile/Stringfile.h branches/dunks/src/pakfile/Stringfile.cpp Modified: branches/dunks/include/pakfile/Stringfile.h =================================================================== --- branches/dunks/include/pakfile/Stringfile.h 2008-04-28 18:32:48 UTC (rev 179) +++ branches/dunks/include/pakfile/Stringfile.h 2008-04-28 18:36:29 UTC (rev 180) @@ -14,11 +14,11 @@ /** This class can read encoded textfiles and return their content in decoded ANSI Code. */ -class StringFile +class Stringfile { public: - StringFile(std::string stringFileName); - ~StringFile(); + Stringfile(std::string stringfileName); + ~Stringfile(); /// This method returns the briefing/debriefing text. /** @@ -34,7 +34,7 @@ if(index < numStrings) { return stringArray[index]; } else { - return "StringFile::getString(): mission number or text type is invalid!\n"; + return "Stringfile::getString(): mission number or text type is invalid!\n"; } } std::string getString(int i){ Modified: branches/dunks/src/pakfile/Stringfile.cpp =================================================================== --- branches/dunks/src/pakfile/Stringfile.cpp 2008-04-28 18:32:48 UTC (rev 179) +++ branches/dunks/src/pakfile/Stringfile.cpp 2008-04-28 18:36:29 UTC (rev 180) @@ -1,4 +1,4 @@ -#include "pakfile/StringFile.h" +#include "pakfile/Stringfile.h" #include "ResMan.h" #include <SDL_endian.h> #include <SDL.h> @@ -6,39 +6,39 @@ #include <iostream> #include <string> -StringFile::StringFile(std::string stringFileName) { +Stringfile::Stringfile(std::string stringfileName) { int bufsize; unsigned char* bufFiledata = ResMan::Instance()->readFile(stringFileName.c_str(), &bufsize); Uint16* index; SDL_RWops* RWop = SDL_RWFromMem(bufFiledata, bufsize); if(RWop == NULL) { - fprintf(stderr, "StringFile: RWop == NULL!\n"); + fprintf(stderr, "Stringfile: RWop == NULL!\n"); exit(EXIT_FAILURE); } if(bufsize <= 0) { - fprintf(stderr,"StringFile: Cannot determine size!\n"); + fprintf(stderr,"Stringfile: Cannot determine size!\n"); exit(EXIT_FAILURE); } if(bufsize < 2) { - fprintf(stderr, "StringFile: Invalid string file: File too small!\n"); + fprintf(stderr, "Stringfile: Invalid string file: File too small!\n"); exit(EXIT_FAILURE); } if(SDL_RWseek(RWop,0,SEEK_SET) != 0) { - fprintf(stderr,"StringFile: Seeking string file failed!\n"); + fprintf(stderr,"Stringfile: Seeking string file failed!\n"); exit(EXIT_FAILURE); } if( (bufFiledata = (unsigned char*) malloc(bufsize)) == NULL) { - fprintf(stderr,"StringFile: Allocating memory failed!\n"); + fprintf(stderr,"Stringfile: Allocating memory failed!\n"); exit(EXIT_FAILURE); } if(SDL_RWread(RWop, bufFiledata, bufsize, 1) != 1) { - fprintf(stderr,"StringFile: Reading string file failed!\n"); + fprintf(stderr,"Stringfile: Reading string file failed!\n"); exit(EXIT_FAILURE); } @@ -59,7 +59,7 @@ SDL_RWclose(RWop); } -StringFile::~StringFile() { +Stringfile::~Stringfile() { delete [] stringArray; } @@ -69,7 +69,7 @@ \param text Text to decode \return The decoded text */ -std::string StringFile::decodeString(std::string text) { +std::string Stringfile::decodeString(std::string text) { std::string out = ""; unsigned char databyte; @@ -221,7 +221,7 @@ // special character i++; if(i == text.length()) { - fprintf(stderr,"StringFile:decodeString: Special character escape sequence at end of string!\n"); + fprintf(stderr,"Stringfile:decodeString: Special character escape sequence at end of string!\n"); exit(EXIT_FAILURE); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dv...@us...> - 2008-04-28 18:33:32
|
Revision: 179 http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=179&view=rev Author: dvalin Date: 2008-04-28 11:32:48 -0700 (Mon, 28 Apr 2008) Log Message: ----------- rename to more consistent name Added Paths: ----------- branches/dunks/include/pakfile/Stringfile.h branches/dunks/src/pakfile/Stringfile.cpp Copied: branches/dunks/include/pakfile/Stringfile.h (from rev 167, branches/dunks/include/pakfile/StringFile.h) =================================================================== --- branches/dunks/include/pakfile/Stringfile.h (rev 0) +++ branches/dunks/include/pakfile/Stringfile.h 2008-04-28 18:32:48 UTC (rev 179) @@ -0,0 +1,50 @@ +#ifndef STRINGFILE_H_INCLUDED +#define STRINGFILE_H_INCLUDED + +#include <string> + + +#define MISSION_DESCRIPTION 0 +#define MISSION_WIN 1 +#define MISSION_LOSE 2 +#define MISSION_ADVICE 3 + + +/// A class for loading a encoded textfiles. +/** + This class can read encoded textfiles and return their content in decoded ANSI Code. +*/ +class StringFile +{ +public: + StringFile(std::string stringFileName); + ~StringFile(); + + /// This method returns the briefing/debriefing text. + /** + This method returns the briefing/debriefing text for the mission specified by the parameter mission. The second + parameter specifies the kind of briefing/debriefing. + \param mission the mission number (0=House description; 1,2,...,9 = mission description). + \param texttype one of MISSION_DESCRIPTION, MISSION_WIN, MISSION_LOSE, MISSION_ADVICE + \return the text for this mission and of this type. + */ + std::string getString(unsigned int mission, unsigned int texttype) { + int index = mission*4+texttype; + + if(index < numStrings) { + return stringArray[index]; + } else { + return "StringFile::getString(): mission number or text type is invalid!\n"; + } + } + std::string getString(int i){ + return stringArray[i]; + } + +private: + std::string decodeString(std::string text); + std::string *stringArray; + int numStrings; +}; + +#endif // STRINGFILE_H_INCLUDED Copied: branches/dunks/src/pakfile/Stringfile.cpp (from rev 167, branches/dunks/src/pakfile/StringFile.cpp) =================================================================== --- branches/dunks/src/pakfile/Stringfile.cpp (rev 0) +++ branches/dunks/src/pakfile/Stringfile.cpp 2008-04-28 18:32:48 UTC (rev 179) @@ -0,0 +1,261 @@ +#include "pakfile/StringFile.h" +#include "ResMan.h" +#include <SDL_endian.h> +#include <SDL.h> +#include <SDL_rwops.h> +#include <iostream> +#include <string> + +StringFile::StringFile(std::string stringFileName) { + int bufsize; + unsigned char* bufFiledata = ResMan::Instance()->readFile(stringFileName.c_str(), &bufsize); + Uint16* index; + SDL_RWops* RWop = SDL_RWFromMem(bufFiledata, bufsize); + + if(RWop == NULL) { + fprintf(stderr, "StringFile: RWop == NULL!\n"); + exit(EXIT_FAILURE); + } + + if(bufsize <= 0) { + fprintf(stderr,"StringFile: Cannot determine size!\n"); + exit(EXIT_FAILURE); + } + + if(bufsize < 2) { + fprintf(stderr, "StringFile: Invalid string file: File too small!\n"); + exit(EXIT_FAILURE); + } + + if(SDL_RWseek(RWop,0,SEEK_SET) != 0) { + fprintf(stderr,"StringFile: Seeking string file failed!\n"); + exit(EXIT_FAILURE); + } + + if( (bufFiledata = (unsigned char*) malloc(bufsize)) == NULL) { + fprintf(stderr,"StringFile: Allocating memory failed!\n"); + exit(EXIT_FAILURE); + } + + if(SDL_RWread(RWop, bufFiledata, bufsize, 1) != 1) { + fprintf(stderr,"StringFile: Reading string file failed!\n"); + exit(EXIT_FAILURE); + } + + numStrings = ((int)SDL_SwapLE16(((Uint16*) bufFiledata)[0]))/2 - 1; + index = (Uint16*) bufFiledata; + for(int i=0; i <= numStrings; i++) { + index[i] = SDL_SwapLE16(index[i]); + } + + stringArray = new std::string[numStrings]; + + for(int i=0; i < numStrings;i++) { + std::string tmp = (const char*) (bufFiledata+index[i]); + stringArray[i] = decodeString(tmp); + } + + free(bufFiledata); + SDL_RWclose(RWop); +} + +StringFile::~StringFile() { + delete [] stringArray; +} + +/// This methode decodes a string to ANSI Code +/** + The parameter text is decoded to ANSI Code and returned + \param text Text to decode + \return The decoded text +*/ +std::string StringFile::decodeString(std::string text) { + std::string out = ""; + unsigned char databyte; + + for(unsigned int i = 0; i < text.length(); i++) { + databyte = text[i]; + + switch(databyte) { + case 0x00: break; + case 0x0C: out += "\n"; break; + case 0x0D: out += "\n"; break; + + case 0x80: out += " t"; break; + case 0x81: out += " a"; break; + case 0x82: out += " s"; break; + case 0x83: out += " i"; break; + case 0x84: out += " o"; break; + case 0x85: out += " "; break; // maybe something else + case 0x86: out += " w"; break; + case 0x87: out += " b"; break; + case 0x88: out += "e "; break; + case 0x89: out += "er"; break; + case 0x8A: out += "en"; break; + case 0x8B: out += "es"; break; + case 0x8C: out += "ed"; break; + case 0x8D: out += "ea"; break; + case 0x8E: out += "el"; break; + case 0x8F: out += "em"; break; + + case 0x90: out += "th"; break; + case 0x91: out += "t "; break; + case 0x92: out += "ti"; break; + case 0x93: out += "te"; break; + case 0x94: out += "to"; break; + case 0x95: out += "tr"; break; + case 0x96: out += "ta"; break; + case 0x97: out += "ts"; break; + case 0x98: out += "an"; break; + case 0x99: out += "ar"; break; + case 0x9A: out += "at"; break; + case 0x9B: out += "al"; break; + case 0x9C: out += "ac"; break; + case 0x9D: out += "a "; break; + case 0x9E: out += "as"; break; + case 0x9F: out += "ay"; break; + + case 0xA0: out += "in"; break; + case 0xA1: out += "is"; break; + case 0xA2: out += "it"; break; + case 0xA3: out += "ic"; break; + case 0xA4: out += "il"; break; + case 0xA5: out += "io"; break; + case 0xA6: out += "ie"; break; + case 0xA7: out += "ir"; break; + case 0xA8: out += "n "; break; + case 0xA9: out += "nd"; break; + case 0xAA: out += "nt"; break; + case 0xAB: out += "ng"; break; + case 0xAC: out += "ne"; break; + case 0xAD: out += "ns"; break; + case 0xAE: out += "ni"; break; + case 0xAF: out += "no"; break; + + case 0xB0: out += "on"; break; + case 0xB1: out += "or"; break; + case 0xB2: out += "o "; break; + case 0xB3: out += "ou"; break; + case 0xB4: out += "of"; break; + case 0xB5: out += "om"; break; + case 0xB6: out += "os"; break; + case 0xB7: out += "ow"; break; + case 0xB8: out += "s "; break; + case 0xB9: out += "st"; break; + case 0xBA: out += "se"; break; + case 0xBB: out += "sp"; break; + case 0xBC: out += "s."; break; + case 0xBD: out += "si"; break; + case 0xBE: out += "sc"; break; + case 0xBF: out += "sa"; break; + + case 0xC0: out += "re"; break; + case 0xC1: out += "r "; break; + case 0xC2: out += "ro"; break; + case 0xC3: out += "ri"; break; + case 0xC4: out += "ra"; break; + case 0xC5: out += "rd"; break; + case 0xC6: out += "ru"; break; + case 0xC7: out += "rr"; break; + case 0xC8: out += "l "; break; + case 0xC9: out += "ll"; break; + case 0xCA: out += "la"; break; + case 0xCB: out += "le"; break; + case 0xCC: out += "li"; break; + case 0xCD: out += "le"; break; + case 0xCE: out += "lo"; break; + case 0xCF: out += "ld"; break; + + case 0xD0: out += "he"; break; + case 0xD1: out += "hi"; break; + case 0xD2: out += "ha"; break; + case 0xD3: out += "h "; break; + case 0xD4: out += "ho"; break; + case 0xD5: out += "ht"; break; + case 0xD6: out += "hr"; break; + case 0xD7: out += "hu"; break; + case 0xD8: out += "ce"; break; + case 0xD9: out += "ct"; break; + case 0xDA: out += "co"; break; + case 0xDB: out += "ca"; break; + case 0xDC: out += "ck"; break; + case 0xDD: out += "ch"; break; + case 0xDE: out += "cl"; break; + case 0xDF: out += "cr"; break; + + case 0xE0: out += "d "; break; + case 0xE1: out += "de"; break; + case 0xE2: out += "di"; break; + case 0xE3: out += "du"; break; + case 0xE4: out += "d,"; break; + case 0xE5: out += "d."; break; + case 0xE6: out += "do"; break; + case 0xE7: out += "da"; break; + case 0xE8: out += "un"; break; + case 0xE9: out += "us"; break; + case 0xEA: out += "ur"; break; + case 0xEB: out += "uc"; break; + case 0xEC: out += "ut"; break; + case 0xED: out += "ul"; break; + case 0xEE: out += "ua"; break; + case 0xEF: out += "ui"; break; + + case 0xF0: out += "pl"; break; + case 0xF1: out += "pe"; break; + case 0xF2: out += "po"; break; + case 0xF3: out += "pi"; break; + case 0xF4: out += "pr"; break; + case 0xF5: out += "pa"; break; + case 0xF6: out += "pt"; break; + case 0xF7: out += "pp"; break; + case 0xF8: out += "me"; break; + case 0xF9: out += "ma"; break; + case 0xFA: out += "mo"; break; + case 0xFB: out += "mi"; break; + case 0xFC: out += "mp"; break; + case 0xFD: out += "m "; break; + case 0xFE: out += "mb"; break; + case 0xFF: out += "mm"; break; + + case 0x1B: { + // special character + i++; + if(i == text.length()) { + fprintf(stderr,"StringFile:decodeString: Special character escape sequence at end of string!\n"); + exit(EXIT_FAILURE); + } + + unsigned char special = text[i]; + switch(special) { + // e.g. german "umlaute" + case 0x02: out += (unsigned char) 252 /*"ue"*/; break; + case 0x05: out += (unsigned char) 228 /*"ae"*/; break; + case 0x0F: out += (unsigned char) 197 /*"Ae"*/; break; + case 0x15: out += (unsigned char) 246 /*"oe"*/; break; + case 0x1B: out += (unsigned char) 220 /*"Ue"*/; break; + case 0x62: out += (unsigned char) 223 /*"ss"*/; break; + default: { + char tmp[20]; + sprintf(tmp,"---Unknown char:%X---",special); + out += tmp; + } break; + }; + + } break; + + case 0x1F: out += "."; break; + + default: { + if((databyte & 0x80) == 0x80) { + char tmp[20]; + sprintf(tmp,"---Unknown char:%X---",databyte); + out += tmp; + } else { + out += databyte; + } + } break; + } + } + + return out; +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dv...@us...> - 2008-04-28 18:20:26
|
Revision: 178 http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=178&view=rev Author: dvalin Date: 2008-04-28 11:19:15 -0700 (Mon, 28 Apr 2008) Log Message: ----------- add animated planet graphic Modified Paths: -------------- branches/dunks/include/HouseChoiceInfoMenu.h branches/dunks/src/HouseChoiceInfoMenu.cpp Modified: branches/dunks/include/HouseChoiceInfoMenu.h =================================================================== --- branches/dunks/include/HouseChoiceInfoMenu.h 2008-04-28 18:15:06 UTC (rev 177) +++ branches/dunks/include/HouseChoiceInfoMenu.h 2008-04-28 18:19:15 UTC (rev 178) @@ -2,6 +2,8 @@ #define HOUSECHOICEINFOMENU_H_INCLUDED #include "MentatMenu.h" +class GraphicButton; +class AnimationLabel; class HouseChoiceInfoMenuState : public MentatMenuState { public: HouseChoiceInfoMenuState(HOUSETYPE newHouse); @@ -11,7 +13,8 @@ private: GraphicButton* m_butYes; - GraphicButton* m_butNo; + GraphicButton* m_butNo; + AnimationLabel* m_planetAnimation; }; #endif // HOUSECHOICEINFOMENU_H_INCLUDED Modified: branches/dunks/src/HouseChoiceInfoMenu.cpp =================================================================== --- branches/dunks/src/HouseChoiceInfoMenu.cpp 2008-04-28 18:15:06 UTC (rev 177) +++ branches/dunks/src/HouseChoiceInfoMenu.cpp 2008-04-28 18:19:15 UTC (rev 178) @@ -5,29 +5,39 @@ #include "DataCache.h" #include "pakfile/Cpsfile.h" #include "boost/bind.hpp" +#include "pakfile/Animation.h" +#include "gui2/Label.h" +#include "gui2/Button.h" HouseChoiceInfoMenuState::HouseChoiceInfoMenuState(HOUSETYPE newHouse) : MentatMenuState(HOUSE_SARDAUKAR) { + int len; + uint8_t * data; + if (newHouse == HOUSE_ATREIDES) + data = ResMan::Instance()->readFile("MENTAT:FARTR.WSA", &len); + else if (newHouse == HOUSE_ORDOS) + data = ResMan::Instance()->readFile("MENTAT:FORDOS.WSA", &len); + else if (newHouse == HOUSE_HARKONNEN) + data = ResMan::Instance()->readFile("MENTAT:FHARK.WSA", &len); + SDL_Palette* palette = Application::Instance()->Screen()->getSurface()->format->palette; - m_butYes = new GraphicButton(DataCache::Instance()->getGuiPic(UI_MentatYes)->getResized(2), DataCache::Instance()->getGuiPic(UI_MentatYes_Pressed)->getResized(2)); - m_vbox->addChild(m_butYes); + WsafilePtr m_wsa (new Wsafile(data, len)); - m_vbox->fit(2); - m_vbox->setPosition(UPoint(336,366)); - m_vbox->reshape(); - - m_container->addChild(m_vbox); + Animation* ret = m_wsa->getAnimation(0, m_wsa->getNumFrames() - 1, palette, false); + ret->setFrameRate(12); + + m_planetAnimation = new AnimationLabel(ret); + m_planetAnimation->setPosition(UPoint(256,127)); + m_container->addChild(m_planetAnimation); - m_vbox = new VBox(); + m_butYes = new GraphicButton(DataCache::Instance()->getGuiPic(UI_MentatYes)->getResized(2), DataCache::Instance()->getGuiPic(UI_MentatYes_Pressed)->getResized(2)); + m_butYes->setPosition(UPoint(336,366)); + m_container->addChild(m_butYes); m_butNo = new GraphicButton(DataCache::Instance()->getGuiPic(UI_MentatNo)->getResized(2), DataCache::Instance()->getGuiPic(UI_MentatNo_Pressed)->getResized(2)); - m_vbox->addChild(m_butNo); + m_butNo->setPosition(UPoint(480,366)); + m_container->addChild(m_butNo); - m_vbox->fit(2); - m_vbox->setPosition(UPoint(480,366)); - m_vbox->reshape(); - - m_container->addChild(m_vbox); } HouseChoiceInfoMenuState::~HouseChoiceInfoMenuState() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dv...@us...> - 2008-04-28 18:17:20
|
Revision: 177 http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=177&view=rev Author: dvalin Date: 2008-04-28 11:15:06 -0700 (Mon, 28 Apr 2008) Log Message: ----------- add animation label Modified Paths: -------------- branches/dunks/include/gui2/Label.h branches/dunks/src/gui2/Label.cpp Modified: branches/dunks/include/gui2/Label.h =================================================================== --- branches/dunks/include/gui2/Label.h 2008-04-28 18:00:53 UTC (rev 176) +++ branches/dunks/include/gui2/Label.h 2008-04-28 18:15:06 UTC (rev 177) @@ -1,7 +1,8 @@ -#ifndef DUNE_GUI2_LABEL_H +#ifndef DUNE_GUI2_LABEL_H #define DUNE_GUI2_LABEL_H #include "gui2/Widget.h" +#include "pakfile/Animation.h" #include <string> /* Label widget using dune's fonts @@ -30,4 +31,18 @@ std::string m_caption; }; +class AnimationLabel : public Widget +{ + public: + AnimationLabel(Animation* pAnim); + + ~AnimationLabel(); + + + virtual void draw(Image * dest, SPoint off); + + private: + Animation* m_anim; + +}; #endif //DUNE_GUI2_LABEL_H Modified: branches/dunks/src/gui2/Label.cpp =================================================================== --- branches/dunks/src/gui2/Label.cpp 2008-04-28 18:00:53 UTC (rev 176) +++ branches/dunks/src/gui2/Label.cpp 2008-04-28 18:15:06 UTC (rev 177) @@ -39,3 +39,21 @@ m_surface->blitTo(dest, UPoint(off.x + x, off.y + y)); } + +AnimationLabel::AnimationLabel(Animation* pAnim) +{ + m_anim = pAnim; +} + +AnimationLabel::~AnimationLabel() +{ + +} +void AnimationLabel::draw(Image * screen, SPoint off) +{ + if (!m_visible) return; + + Image * surface = m_anim->getFrame(); + + screen->blitFrom(surface->getResized(2).get(), UPoint(off.x + x, off.y + y)); +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |