mirror of
https://github.com/nunuhara/xsystem4.git
synced 2026-09-25 08:27:56 +03:00
218 lines
12 KiB
C
218 lines
12 KiB
C
/* Copyright (C) 2019 Nunuhara Cabbage <nunuhara@haniwa.technology>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, see <http://gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifndef SYSTEM4_PARTS_H
|
|
#define SYSTEM4_PARTS_H
|
|
|
|
#include <stdbool.h>
|
|
|
|
struct page;
|
|
struct string;
|
|
|
|
// parts.c
|
|
bool PE_Init(void);
|
|
void PE_Reset(void);
|
|
void PE_Update(int passed_time, bool message_window_show);
|
|
void PE_UpdateComponent(int passed_time);
|
|
void PE_UpdateParts(int passed_time, bool is_skip, bool message_window_show);
|
|
void PE_SetDelegateIndex(int parts_no, int delegate_index);
|
|
int PE_GetDelegateIndex(int parts_no);
|
|
bool PE_SetPartsCG(int parts_no, struct string *cg_name, int sprite_deform, int state);
|
|
bool PE_SetPartsCG_by_index(int parts_no, int cg_no, int sprite_deform, int state);
|
|
bool PE_SetPartsCG_by_string_index(int parts_no, struct string *cg_no,
|
|
int sprite_deform, int state);
|
|
void PE_GetPartsCGName(int parts_no, struct string **cg_name, int state);
|
|
bool PE_SetPartsCGSurfaceArea(int parts_no, int x, int y, int w, int h, int state);
|
|
int PE_GetPartsCGNumber(int parts_no, int state);
|
|
bool PE_SetLoopCG_by_index(int parts_no, int cg_no, int nr_frames, int frame_time, int state);
|
|
bool PE_SetLoopCG(int parts_no, struct string *cg_name, int start_no, int nr_frames,
|
|
int frame_time, int state);
|
|
bool PE_SetLoopCGSurfaceArea(int parts_no, int x, int y, int w, int h, int state);
|
|
bool PE_SetHGaugeCG(int parts_no, struct string *cg_name, int state);
|
|
bool PE_SetHGaugeCG_by_index(int parts_no, int cg_no, int state);
|
|
bool PE_SetHGaugeRate(int parts_no, int numerator, int denominator, int state);
|
|
bool PE_SetHGaugeSurfaceArea(int parts_no, int x, int y, int w, int h, int state);
|
|
bool PE_SetVGaugeCG(int parts_no, struct string *cg_name, int state);
|
|
bool PE_SetVGaugeCG_by_index(int parts_no, int cg_no, int state);
|
|
bool PE_SetVGaugeRate(int parts_no, int numerator, int denominator, int state);
|
|
bool PE_SetVGaugeSurfaceArea(int parts_no, int x, int y, int w, int h, int state);
|
|
bool PE_SetNumeralCG_by_index(int parts_no, int cg_no, int state);
|
|
bool PE_SetNumeralLinkedCGNumberWidthWidthList_by_index(int parts_no, int cg_no,
|
|
int w0, int w1, int w2, int w3, int w4, int w5, int w6, int w7, int w8,
|
|
int w9, int w_minus, int w_comma, int state);
|
|
bool PE_SetNumeralLinkedCGNumberWidthWidthList(int parts_no, struct string *cg_name,
|
|
int w0, int w1, int w2, int w3, int w4, int w5, int w6, int w7, int w8,
|
|
int w9, int w_minus, int w_comma, int state);
|
|
bool PE_SetNumeralNumber(int parts_no, int n, int state);
|
|
bool PE_SetNumeralShowComma(int parts_no, bool show_comma, int state);
|
|
bool PE_SetNumeralSpace(int parts_no, int space, int state);
|
|
bool PE_SetNumeralLength(int parts_no, int length, int state);
|
|
bool PE_SetNumeralSurfaceArea(int parts_no, int x, int y, int w, int h, int state);
|
|
bool PE_SetPartsRectangleDetectionSize(int PartsNumber, int Width, int Height, int State);
|
|
void PE_ReleaseParts(int parts_no);
|
|
void PE_ReleaseAllParts(void);
|
|
void PE_ReleaseAllPartsWithoutSystem(void);
|
|
void PE_SetPos(int parts_no, int x, int y);
|
|
void PE_SetZ(int parts_no, int z);
|
|
void PE_SetShow(int parts_no, bool show);
|
|
void PE_SetAlpha(int parts_no, int alpha);
|
|
void PE_SetPartsDrawFilter(int PartsNumber, int DrawFilter);
|
|
void PE_SetAddColor(int parts_no, int r, int g, int b);
|
|
void PE_SetMultiplyColor(int parts_no, int r, int g, int b);
|
|
int PE_GetPartsX(int parts_no);
|
|
int PE_GetPartsY(int parts_no);
|
|
int PE_GetPartsZ(int parts_no);
|
|
int PE_GetPartsWidth(int parts_no, int state);
|
|
int PE_GetPartsUpperLeftPosX(int parts_no, int state);
|
|
int PE_GetPartsUpperLeftPosY(int parts_no, int state);
|
|
int PE_GetPartsHeight(int parts_no, int state);
|
|
bool PE_GetPartsShow(int parts_no);
|
|
int PE_GetPartsAlpha(int parts_no);
|
|
void PE_SetPartsOriginPosMode(int parts_no, int origin_pos_mode);
|
|
int PE_GetPartsOriginPosMode(int parts_no);
|
|
void PE_SetParentPartsNumber(int parts_no, int parent_parts_no);
|
|
bool PE_SetPartsGroupNumber(int PartsNumber, int GroupNumber);
|
|
void PE_SetPartsMessageWindowShowLink(int parts_no, bool message_window_show_link);
|
|
bool PE_GetPartsMessageWindowShowLink(int PartsNumber);
|
|
void PE_SetPartsMagX(int parts_no, float scale_x);
|
|
void PE_SetPartsMagY(int parts_no, float scale_y);
|
|
void PE_SetPartsRotateX(int parts_no, float rot_x);
|
|
void PE_SetPartsRotateY(int parts_no, float rot_y);
|
|
void PE_SetPartsRotateZ(int parts_no, float rot_z);
|
|
void PE_SetPartsAlphaClipperPartsNumber(int PartsNumber, int AlphaClipperPartsNumber);
|
|
void PE_SetPartsPixelDecide(int PartsNumber, bool PixelDecide);
|
|
bool PE_SetThumbnailReductionSize(int ReductionSize);
|
|
bool PE_SetThumbnailMode(bool Mode);
|
|
bool PE_Save(struct page **buffer);
|
|
bool PE_SaveWithoutHideParts(struct page **buffer);
|
|
bool PE_Load(struct page **buffer);
|
|
// GUIEngine
|
|
int PE_GetFreeNumber(void);
|
|
bool PE_IsExist(int parts_no);
|
|
|
|
// construction.c
|
|
bool PE_AddCreateToPartsConstructionProcess(int parts_no, int w, int h, int state);
|
|
bool PE_AddCreatePixelOnlyToPartsConstructionProcess(int parts_no, int w, int h, int state);
|
|
bool PE_AddCreateCGToProcess(int parts_no, struct string *cg_name, int state);
|
|
bool PE_AddFillToPartsConstructionProcess(int parts_no, int x, int y, int w, int h,
|
|
int r, int g, int b, int state);
|
|
bool PE_AddFillAlphaColorToPartsConstructionProcess(int parts_no, int x, int y, int w, int h,
|
|
int r, int g, int b, int a, int state);
|
|
bool PE_AddFillAMapToPartsConstructionProcess(int parts_no, int x, int y, int w, int h, int a, int state);
|
|
bool PE_AddDrawCutCGToPartsConstructionProcess(int parts_no, struct string *cg_name,
|
|
int dx, int dy, int dw, int dh, int sx, int sy, int sw, int sh, int interp_type, int state);
|
|
bool PE_AddCopyCutCGToPartsConstructionProcess(int parts_no, struct string *cg_name,
|
|
int dx, int dy, int dw, int dh, int sx, int sy, int sw, int sh, int interp_type, int state);
|
|
bool PE_AddCopyTextToPartsConstructionProcess(int parts_no, int x, int y, struct string *text,
|
|
int type, int size, int r, int g, int b, float bold_weight,
|
|
int edge_r, int edge_g, int edge_b, float edge_weight,
|
|
int char_space, int line_space, int state);
|
|
bool PE_AddDrawTextToPartsConstructionProcess(int parts_no, int x, int y, struct string *text,
|
|
int type, int size, int r, int g, int b, float bold_weight,
|
|
int edge_r, int edge_g, int edge_b, float edge_weight,
|
|
int char_space, int line_space, int state);
|
|
bool PE_BuildPartsConstructionProcess(int parts_no, int state);
|
|
bool PE_SetPartsConstructionSurfaceArea(int parts_no, int x, int y, int w, int h, int state);
|
|
|
|
// input.c
|
|
void PE_UpdateInputState(int passed_time);
|
|
void PE_SetClickable(int parts_no, bool clickable);
|
|
bool PE_GetPartsClickable(int parts_no);
|
|
void PE_SetPartsGroupDecideOnCursor(int GroupNumber, bool DecideOnCursor);
|
|
void PE_SetPartsGroupDecideClick(int GroupNumber, bool DecideClick);
|
|
void PE_SetOnCursorShowLinkPartsNumber(int parts_no, int link_parts_no);
|
|
bool PE_SetPartsOnCursorSoundNumber(int parts_no, int sound_no);
|
|
bool PE_SetPartsClickSoundNumber(int parts_no, int sound_no);
|
|
bool PE_SetClickMissSoundNumber(int sound_no);
|
|
void PE_BeginInput(void);
|
|
void PE_EndInput(void);
|
|
int PE_GetClickPartsNumber(void);
|
|
bool PE_IsCursorIn(int parts_no, int mouse_x, int mouse_y, int state);
|
|
|
|
// motion.c
|
|
void PE_AddMotionPos(int parts_no, int begin_x, int begin_y, int end_x, int end_y, int begin_t, int end_t);
|
|
void PE_AddMotionPos_curve(int parts_no, int begin_x, int begin_y, int end_x, int end_y,
|
|
int begin_t, int end_t, struct string *curve_name);
|
|
void PE_AddMotionAlpha(int parts_no, int begin_a, int end_a, int begin_t, int end_t);
|
|
void PE_AddMotionAlpha_curve(int parts_no, int begin_a, int end_a, int begin_t, int end_t,
|
|
struct string *curve_name);
|
|
void PE_AddMotionCG_by_index(int parts_no, int begin_cg_no, int nr_cg, int begin_t, int end_t);
|
|
void PE_AddMotionHGaugeRate(int parts_no, int begin_numerator, int begin_denominator,
|
|
int end_numerator, int end_denominator, int begin_t, int end_t);
|
|
void PE_AddMotionHGaugeRate_curve(int parts_no, int begin_numerator, int begin_denominator,
|
|
int end_numerator, int end_denominator, int begin_t, int end_t,
|
|
struct string *curve_name);
|
|
void PE_AddMotionVGaugeRate(int parts_no, int begin_numerator, int begin_denominator,
|
|
int end_numerator, int end_denominator, int begin_t, int end_t);
|
|
void PE_AddMotionVGaugeRate_curve(int parts_no, int begin_numerator, int begin_denominator,
|
|
int end_numerator, int end_denominator, int begin_t, int end_t,
|
|
struct string *curve_name);
|
|
void PE_AddMotionNumeralNumber(int parts_no, int begin_n, int end_n, int begin_t, int end_t);
|
|
void PE_AddMotionNumeralNumber_curve(int parts_no, int begin_n, int end_n, int begin_t,
|
|
int end_t, struct string *curve_name);
|
|
void PE_AddMotionMagX(int parts_no, float begin, float end, int begin_t, int end_t);
|
|
void PE_AddMotionMagX_curve(int parts_no, float begin, float end, int begin_t, int end_t,
|
|
struct string *curve_name);
|
|
void PE_AddMotionMagY(int parts_no, float begin, float end, int begin_t, int end_t);
|
|
void PE_AddMotionMagY_curve(int parts_no, float begin, float end, int begin_t, int end_t,
|
|
struct string *curve_name);
|
|
void PE_AddMotionRotateX(int parts_no, float begin, float end, int begin_t, int end_t);
|
|
void PE_AddMotionRotateX_curve(int parts_no, float begin, float end, int begin_t, int end_t,
|
|
struct string *curve_name);
|
|
void PE_AddMotionRotateY(int parts_no, float begin, float end, int begin_t, int end_t);
|
|
void PE_AddMotionRotateY_curve(int parts_no, float begin, float end, int begin_t, int end_t,
|
|
struct string *curve_name);
|
|
void PE_AddMotionRotateZ(int parts_no, float begin, float end, int begin_t, int end_t);
|
|
void PE_AddMotionRotateZ_curve(int parts_no, float begin, float end, int begin_t, int end_t,
|
|
struct string *curve_name);
|
|
void PE_AddMotionVibrationSize(int parts_no, int begin_w, int begin_h, int begin_t, int end_t);
|
|
void PE_AddMotionSound(int sound_no, int begin_t);
|
|
void PE_BeginMotion(void);
|
|
void PE_EndMotion(void);
|
|
void PE_SetMotionTime(int t);
|
|
void PE_SeekEndMotion(void);
|
|
void PE_UpdateMotionTime(int time, bool skip);
|
|
bool PE_IsMotion(void);
|
|
int PE_GetMotionEndTime(void);
|
|
|
|
// text.c
|
|
bool PE_SetText(int parts_no, struct string *text, int state);
|
|
bool PE_AddPartsText(int parts_no, struct string *text, int state);
|
|
bool PE_SetPartsTextSurfaceArea(int parts_no, int x, int y, int w, int h, int state);
|
|
bool PE_SetFont(int parts_no, int type, int size, int r, int g, int b, float bold_weight, int edge_r, int edge_g, int edge_b, float edge_weight, int state);
|
|
bool PE_SetPartsFontType(int parts_no, int type, int state);
|
|
bool PE_SetPartsFontSize(int parts_no, int size, int state);
|
|
bool PE_SetPartsFontColor(int parts_no, int r, int g, int b, int state);
|
|
bool PE_SetPartsFontBoldWeight(int parts_no, float bold_weight, int state);
|
|
bool PE_SetPartsFontEdgeColor(int parts_no, int r, int g, int b, int state);
|
|
bool PE_SetPartsFontEdgeWeight(int parts_no, float edge_weight, int state);
|
|
bool PE_SetTextCharSpace(int parts_no, int char_space, int state);
|
|
bool PE_SetTextLineSpace(int parts_no, int line_space, int state);
|
|
|
|
// flash.c
|
|
bool PE_SetPartsFlash(int parts_no, struct string *flash_filename, int state);
|
|
bool PE_IsPartsFlashEnd(int parts_no, int state);
|
|
int PE_GetPartsFlashCurrentFrameNumber(int parts_no, int state);
|
|
bool PE_BackPartsFlashBeginFrame(int parts_no, int state);
|
|
bool PE_StepPartsFlashFinalFrame(int parts_no, int state);
|
|
bool PE_SetPartsFlashAndStop(int parts_no, struct string *flash_filename, int state);
|
|
bool PE_StopPartsFlash(int parts_no, int state);
|
|
bool PE_StartPartsFlash(int parts_no, int state);
|
|
bool PE_GoFramePartsFlash(int parts_no, int frame_no, int state);
|
|
int PE_GetPartsFlashEndFrame(int parts_no, int state);
|
|
|
|
#endif /* SYSTEM4_PARTS_H */
|