Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions src/SB/Game/zTalkBox.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -365,3 +365,63 @@ void ztalkbox::permit(U32 add_flags, U32 remove_flags)
shared.permit &= ~remove_flags;
shared.permit |= add_flags;
}

void ztalkbox::load(xBase& data, xDynAsset& asset, unsigned long)
{
((ztalkbox&)data).load((const ztalkbox::asset_type&)asset);
}

namespace
{
static void parse_tag_pause(xtextbox::jot&, const xtextbox&, const xtextbox&,
const xtextbox::split_tag&)
{
}

static void reset_tag_pause(xtextbox::jot&, const xtextbox&, const xtextbox&,
const xtextbox::split_tag&)
{
}

U8 trigger_pause(const xtextbox::jot&)
{
return 1;
}

state_type::state_type(state_enum t)
{
type = t;
}

} // namespace

void start_state_type::stop()
{
}

S8 start_state_type::update(xScene& scn, F32 dt)
{
return 2;
}

void next_state_type::stop()
{
}

void stop_state_type::start()
{
}

void stop_state_type::stop()
{
}

S8 stop_state_type::update(xScene& scn, F32 dt)
{
return -1;
}

void wait_context::reset_type()
{
*(U16*)&this->type = 0;
}
27 changes: 21 additions & 6 deletions src/SB/Game/zTalkBox.h
Original file line number Diff line number Diff line change
Expand Up @@ -61,27 +61,22 @@ struct ztalkbox : xBase
{
callback()
{

}

virtual void on_signal(U32)
{

}

virtual void on_start()
{

}

virtual void on_stop()
{

}

virtual void on_answer(answer_enum answer)
{

}
};

Expand Down Expand Up @@ -150,9 +145,28 @@ namespace
struct state_type
{
state_enum type;

state_type(state_enum t);
virtual void start();
virtual void stop();
};

struct next_state_type
{
void stop();
};

struct start_state_type
{
void stop();
S8 update(xScene& scn, F32 dt);
};

struct stop_state_type
{
void start();
void stop();
S8 update(xScene& scn, F32 dt);
};

struct jot;
Expand Down Expand Up @@ -252,6 +266,7 @@ namespace
F32 delay;
U32 event_mask;
query_enum query;
void reset_type();
};

struct trigger_pair
Expand Down Expand Up @@ -290,6 +305,6 @@ namespace
zNPCCommon* speak_npc; // 0x8694
U32 speak_player; // 0x8698
};
}
} // namespace

#endif