mirror of
https://github.com/nunuhara/xsystem4.git
synced 2026-10-02 20:08:03 +03:00
Implement ChipmunkSpriteEngine.SP_GetFontWidth
Used in Shaman's Sanctuary.
This commit is contained in:
@@ -104,6 +104,7 @@ int sact_TRANS_Begin(int type);
|
||||
int sact_TRANS_Update(float rate);
|
||||
int sact_TRANS_End(void);
|
||||
|
||||
extern struct text_metrics text_sprite_tm;
|
||||
bool StoatSpriteEngine_SP_SetTextSprite(int sp_no, struct string *text);
|
||||
void StoatSpriteEngine_SP_SetTextSpriteType(int type);
|
||||
void StoatSpriteEngine_SP_SetTextSpriteSize(int size);
|
||||
|
||||
@@ -14,6 +14,9 @@
|
||||
* along with this program; if not, see <http://gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "system4/string.h"
|
||||
#include "system4/utfsjis.h"
|
||||
|
||||
#include "asset_manager.h"
|
||||
#include "input.h"
|
||||
#include "sact.h"
|
||||
@@ -52,7 +55,18 @@ HLL_WARN_UNIMPLEMENTED(keep_previous_view, bool, ChipmunkSpriteEngine, KeepPrevi
|
||||
//static int ChipmunkSpriteEngine_Sprite_GetTextureFilterType(int sp_no);
|
||||
//static bool ChipmunkSpriteEngine_SP_RenderView(int sp_no);
|
||||
//static bool ChipmunkSpriteEngine_SP_GetFontDescent(int *descent);
|
||||
//static bool ChipmunkSpriteEngine_SP_GetFontWidth(struct string *text, int *width);
|
||||
|
||||
static bool ChipmunkSpriteEngine_SP_GetFontWidth(struct string *text, int *width)
|
||||
{
|
||||
if (!text || !text->size) {
|
||||
*width = 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
*width = SJIS_2BYTE(text->text[0]) ? text_sprite_tm.size : text_sprite_tm.size / 2;
|
||||
return true;
|
||||
}
|
||||
|
||||
//static bool ChipmunkSpriteEngine_SP_SetAlphaClipperSpriteNumber(int sp_no, int ac_sp_no);
|
||||
//static int ChipmunkSpriteEngine_SP_GetAlphaClipperSpriteNumber(int sp_no);
|
||||
//static int CG_GetFormat(int cg_no);
|
||||
@@ -119,7 +133,7 @@ HLL_LIBRARY(ChipmunkSpriteEngine,
|
||||
HLL_EXPORT(SP_SetTextSpriteEdgeWeight, StoatSpriteEngine_SP_SetTextSpriteEdgeWeight),
|
||||
HLL_EXPORT(SP_SetTextSpriteEdgeColor, StoatSpriteEngine_SP_SetTextSpriteEdgeColor),
|
||||
HLL_TODO_EXPORT(SP_GetFontDescent, ChipmunkSpriteEngine_SP_GetFontDescent),
|
||||
HLL_TODO_EXPORT(SP_GetFontWidth, ChipmunkSpriteEngine_SP_GetFontWidth),
|
||||
HLL_EXPORT(SP_GetFontWidth, ChipmunkSpriteEngine_SP_GetFontWidth),
|
||||
HLL_EXPORT(SP_SetDashTextSprite, StoatSpriteEngine_SP_SetDashTextSprite),
|
||||
HLL_TODO_EXPORT(SP_SetAlphaClipperSpriteNumber, ChipmunkSpriteEngine_SP_SetAlphaClipperSpriteNumber),
|
||||
HLL_TODO_EXPORT(SP_GetAlphaClipperSpriteNumber, ChipmunkSpriteEngine_SP_GetAlphaClipperSpriteNumber),
|
||||
|
||||
@@ -56,7 +56,7 @@ HLL_WARN_UNIMPLEMENTED( , void, StoatSpriteEngine, SetVolumeMixerSEGroupNum, int
|
||||
HLL_WARN_UNIMPLEMENTED( , void, StoatSpriteEngine, SetVolumeMixerBGMGroupNum, int n);
|
||||
HLL_WARN_UNIMPLEMENTED(0, int, StoatSpriteEngine, Sound_GetGroupNumFromDataNum, int n);
|
||||
|
||||
static struct text_metrics text_sprite_tm = {
|
||||
struct text_metrics text_sprite_tm = {
|
||||
.color = { .r = 255, .g = 255, .b = 255, .a = 255 },
|
||||
.outline_color = { .r = 0, .g = 0, .b = 0, .a = 255 },
|
||||
.size = 16,
|
||||
|
||||
Reference in New Issue
Block a user