support for 512x512 textures
This commit is contained in:
@@ -41,6 +41,9 @@ class IntroWarInfoState : public State<IntroStateType> {
|
|||||||
IntroStateType state;
|
IntroStateType state;
|
||||||
bool _wantFinish;
|
bool _wantFinish;
|
||||||
bool initialized;
|
bool initialized;
|
||||||
|
|
||||||
|
Texture* warInfoTexture;
|
||||||
|
Sprite* warInfoSprite;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Demo
|
} // namespace Demo
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ using Tyra::FileUtils;
|
|||||||
namespace Demo {
|
namespace Demo {
|
||||||
|
|
||||||
IntroState::IntroState(Engine* t_engine)
|
IntroState::IntroState(Engine* t_engine)
|
||||||
: State(t_engine), stateManager(STATE_PS2DEV) {
|
: State(t_engine), stateManager(STATE_WAR_INFO) {
|
||||||
state = STATE_INTRO;
|
state = STATE_INTRO;
|
||||||
_wantFinish = false;
|
_wantFinish = false;
|
||||||
}
|
}
|
||||||
@@ -32,7 +32,7 @@ void IntroState::onStart() {
|
|||||||
engine->audio.loadSong(FileUtils::fromCwd("intro/intro.wav"));
|
engine->audio.loadSong(FileUtils::fromCwd("intro/intro.wav"));
|
||||||
engine->audio.setSongLoop(false);
|
engine->audio.setSongLoop(false);
|
||||||
engine->audio.setSongVolume(80);
|
engine->audio.setSongVolume(80);
|
||||||
engine->audio.playSong();
|
// engine->audio.playSong();
|
||||||
|
|
||||||
stateManager.add(new IntroPs2DevState(engine));
|
stateManager.add(new IntroPs2DevState(engine));
|
||||||
stateManager.add(new IntroTyraState(engine));
|
stateManager.add(new IntroTyraState(engine));
|
||||||
|
|||||||
@@ -37,10 +37,12 @@ IntroTyraState::~IntroTyraState() {
|
|||||||
|
|
||||||
engine->renderer.core.texture.repository.free(tyraTexture->getId());
|
engine->renderer.core.texture.repository.free(tyraTexture->getId());
|
||||||
engine->renderer.core.texture.repository.free(bgTexture->getId());
|
engine->renderer.core.texture.repository.free(bgTexture->getId());
|
||||||
|
engine->renderer.core.texture.repository.free(bg2Texture->getId());
|
||||||
engine->renderer.core.texture.repository.free(fillerTexture->getId());
|
engine->renderer.core.texture.repository.free(fillerTexture->getId());
|
||||||
|
|
||||||
delete tyraSprite;
|
delete tyraSprite;
|
||||||
delete bgSprite;
|
delete bgSprite;
|
||||||
|
delete bg2Sprite;
|
||||||
delete fillerSprite;
|
delete fillerSprite;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -31,11 +31,25 @@ IntroWarInfoState::~IntroWarInfoState() {
|
|||||||
if (!initialized) return;
|
if (!initialized) return;
|
||||||
}
|
}
|
||||||
|
|
||||||
void IntroWarInfoState::onStart() { initialized = true; }
|
void IntroWarInfoState::onStart() {
|
||||||
|
warInfoSprite = new Sprite;
|
||||||
|
warInfoSprite->size.set(512.0F, 512.0F);
|
||||||
|
warInfoSprite->position.set(0.0F, 0.0F);
|
||||||
|
|
||||||
|
warInfoTexture = engine->renderer.core.texture.repository.add(
|
||||||
|
FileUtils::fromCwd("intro/war_info.png"));
|
||||||
|
warInfoTexture->addLink(warInfoSprite->getId());
|
||||||
|
|
||||||
|
initialized = true;
|
||||||
|
}
|
||||||
|
|
||||||
void IntroWarInfoState::update() {
|
void IntroWarInfoState::update() {
|
||||||
engine->renderer.beginFrame();
|
engine->renderer.beginFrame();
|
||||||
|
|
||||||
|
Threading::switchThread();
|
||||||
|
|
||||||
|
engine->renderer.renderer2D.render(warInfoSprite);
|
||||||
|
|
||||||
engine->renderer.endFrame();
|
engine->renderer.endFrame();
|
||||||
}
|
}
|
||||||
IntroStateType IntroWarInfoState::onFinish() { return STATE_PRESS_KEY; }
|
IntroStateType IntroWarInfoState::onFinish() { return STATE_PRESS_KEY; }
|
||||||
|
|||||||
@@ -24,18 +24,20 @@ Texture::Texture(TextureBuilderData* t_data) {
|
|||||||
|
|
||||||
name = t_data->name;
|
name = t_data->name;
|
||||||
|
|
||||||
TYRA_ASSERT(t_data->width <= 256 && t_data->height <= 256,
|
TYRA_ASSERT(t_data->width <= 512 && t_data->height <= 512,
|
||||||
"Tyra supports only 256x256 textures max!");
|
"Tyra supports only 512x512 textures max!");
|
||||||
|
|
||||||
TYRA_ASSERT(t_data->width == 8 || t_data->width == 16 ||
|
TYRA_ASSERT(t_data->width == 8 || t_data->width == 16 ||
|
||||||
t_data->width == 32 || t_data->width == 64 ||
|
t_data->width == 32 || t_data->width == 64 ||
|
||||||
t_data->width == 128 || t_data->width == 256,
|
t_data->width == 128 || t_data->width == 256 ||
|
||||||
"Texture width/height should be 8/16/32/64/128/256!");
|
t_data->width == 512,
|
||||||
|
"Texture width/height should be 8/16/32/64/128/256/512!");
|
||||||
|
|
||||||
TYRA_ASSERT(t_data->height == 8 || t_data->height == 16 ||
|
TYRA_ASSERT(t_data->height == 8 || t_data->height == 16 ||
|
||||||
t_data->height == 32 || t_data->height == 64 ||
|
t_data->height == 32 || t_data->height == 64 ||
|
||||||
t_data->height == 128 || t_data->height == 256,
|
t_data->height == 128 || t_data->height == 256 ||
|
||||||
"Texture width/height should be 8/16/32/64/128/256!");
|
t_data->height == 512,
|
||||||
|
"Texture width/height should be 8/16/32/64/128/256/512!");
|
||||||
|
|
||||||
core = new TextureData(t_data->data, t_data->bpp, t_data->gsComponents,
|
core = new TextureData(t_data->data, t_data->bpp, t_data->gsComponents,
|
||||||
t_data->width, t_data->height);
|
t_data->width, t_data->height);
|
||||||
|
|||||||
Reference in New Issue
Block a user