Skip to content

Commit

Permalink
Add image freeze: message.
Browse files Browse the repository at this point in the history
  • Loading branch information
gabordemooij committed Sep 29, 2024
1 parent e11e804 commit 1c95738
Show file tree
Hide file tree
Showing 18 changed files with 44 additions and 9 deletions.
3 changes: 2 additions & 1 deletion plugins/media/i18n/cs/media.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,4 +78,5 @@
#define CTR_DICT_DEREF "deref"
#define CTR_DICT_UTF8_SET "utf8:"
#define CTR_DICT_NEW_TYPE_SET "new:type:"
#define CTR_DICT_FX "efekt:"
#define CTR_DICT_FX "efekt:"
#define CTR_DICT_FREEZE_SET "zmrazit:"
2 changes: 1 addition & 1 deletion plugins/media/i18n/de/media.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,4 +79,4 @@
#define CTR_DICT_UTF8_SET "utf8:"
#define CTR_DICT_NEW_TYPE_SET "neu:typ:"
#define CTR_DICT_FX "effekt:"

#define CTR_DICT_FREEZE_SET "einfrieren:"
3 changes: 2 additions & 1 deletion plugins/media/i18n/en/media.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,4 +78,5 @@
#define CTR_DICT_DEREF "deref"
#define CTR_DICT_UTF8_SET "utf8:"
#define CTR_DICT_NEW_TYPE_SET "new:type:"
#define CTR_DICT_FX "effect:"
#define CTR_DICT_FX "effect:"
#define CTR_DICT_FREEZE_SET "freeze:"
3 changes: 2 additions & 1 deletion plugins/media/i18n/es/media.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,4 +78,5 @@
#define CTR_DICT_DEREF "dereferencia"
#define CTR_DICT_UTF8_SET "utf8:"
#define CTR_DICT_NEW_TYPE_SET "nuevo:tipo:"
#define CTR_DICT_FX "efecto:"
#define CTR_DICT_FX "efecto:"
#define CTR_DICT_FREEZE_SET "congelar:"
1 change: 1 addition & 0 deletions plugins/media/i18n/fa/media.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,4 @@
#define CTR_DICT_UTF8_SET "utf8:"
#define CTR_DICT_NEW_TYPE_SET "جدید:نوع:"
#define CTR_DICT_FX "اثر:"
#define CTR_DICT_FREEZE_SET "یخ زدن:"
3 changes: 2 additions & 1 deletion plugins/media/i18n/fr/media.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,4 +78,5 @@
#define CTR_DICT_DEREF "deref"
#define CTR_DICT_UTF8_SET "utf8:"
#define CTR_DICT_NEW_TYPE_SET "new:type:"
#define CTR_DICT_FX "effet:"
#define CTR_DICT_FX "effet:"
#define CTR_DICT_FREEZE_SET "geler:"
1 change: 1 addition & 0 deletions plugins/media/i18n/fy/media.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,4 @@
#define CTR_DICT_UTF8_SET "utf8:"
#define CTR_DICT_NEW_TYPE_SET "nij:type:"
#define CTR_DICT_FX "effekt:"
#define CTR_DICT_FREEZE_SET "befrieze:"
1 change: 1 addition & 0 deletions plugins/media/i18n/hi/media.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,4 @@
#define CTR_DICT_UTF8_SET "utf8:"
#define CTR_DICT_NEW_TYPE_SET "new:type:"
#define CTR_DICT_FX "प्रभाव:"
#define CTR_DICT_FREEZE_SET "जमना:"
1 change: 1 addition & 0 deletions plugins/media/i18n/id/media.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,4 +79,5 @@
#define CTR_DICT_UTF8_SET "utf8:"
#define CTR_DICT_NEW_TYPE_SET "baru:tipe:"
#define CTR_DICT_FX "efek:"
#define CTR_DICT_FREEZE_SET "membekukan:"

1 change: 1 addition & 0 deletions plugins/media/i18n/it/media.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,4 @@
#define CTR_DICT_UTF8_SET "utf8:"
#define CTR_DICT_NEW_TYPE_SET "nuovo:tipo:"
#define CTR_DICT_FX "effetto:"
#define CTR_DICT_FREEZE_SET "congelare:"
1 change: 1 addition & 0 deletions plugins/media/i18n/nl/media.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,5 +79,6 @@
#define CTR_DICT_UTF8_SET "utf8:"
#define CTR_DICT_NEW_TYPE_SET "nieuw:type:"
#define CTR_DICT_FX "effect:"
#define CTR_DICT_FREEZE_SET "bevriezen:"


1 change: 1 addition & 0 deletions plugins/media/i18n/no/media.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,4 @@
#define CTR_DICT_UTF8_SET "utf8:"
#define CTR_DICT_NEW_TYPE_SET "ny:type:"
#define CTR_DICT_FX "effekt:"
#define CTR_DICT_FREEZE_SET "fryse:"
1 change: 1 addition & 0 deletions plugins/media/i18n/pl/media.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,4 +79,5 @@
#define CTR_DICT_UTF8_SET "utf8:"
#define CTR_DICT_NEW_TYPE_SET "nowy:typ:"
#define CTR_DICT_FX "efekt:"
#define CTR_DICT_FREEZE_SET "zamrozić:"

1 change: 1 addition & 0 deletions plugins/media/i18n/pt_br/media.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,4 +79,5 @@
#define CTR_DICT_UTF8_SET "utf8:"
#define CTR_DICT_NEW_TYPE_SET "novo:tipo:"
#define CTR_DICT_FX "efeito:"
#define CTR_DICT_FREEZE_SET "congelar:"

1 change: 1 addition & 0 deletions plugins/media/i18n/ru/media.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,4 +79,5 @@
#define CTR_DICT_UTF8_SET "utf8:"
#define CTR_DICT_NEW_TYPE_SET "новый:тип:"
#define CTR_DICT_FX "эффект:"
#define CTR_DICT_FREEZE_SET "заморозить:"

1 change: 1 addition & 0 deletions plugins/media/i18n/uz/media.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,4 +79,5 @@
#define CTR_DICT_UTF8_SET "utf8:"
#define CTR_DICT_NEW_TYPE_SET "yangi:tur:"
#define CTR_DICT_FX "ta'sir:"
#define CTR_DICT_FREEZE_SET "muzlatish:"

1 change: 1 addition & 0 deletions plugins/media/i18n/zh2/media.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,4 +79,5 @@
#define CTR_DICT_UTF8_SET "utf8:"
#define CTR_DICT_NEW_TYPE_SET "新:类型:"
#define CTR_DICT_FX "效果:"
#define CTR_DICT_FREEZE_SET "冻结:"

27 changes: 23 additions & 4 deletions plugins/media/media.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ time_t CtrMediaFrameTimer = 0;
uint16_t CtrMediaSteps;
double CtrMediaVideoFPSRendering;
int CtrMediaCameraInit = 0;
ctr_object* CtrMediaInputFreeze = NULL;

int CtrMediaAudioRate;
uint16_t CtrMediaAudioFormat;
Expand Down Expand Up @@ -771,7 +772,7 @@ void ctr_internal_media_keydown_left(int* dir) {
ctr_internal_img_render_text(focusObject);
}
} else {
if (controllableObject) {
if (controllableObject && CtrMediaInputFreeze == CtrStdBoolFalse) {
if (CtrMediaControlMode == 1 || CtrMediaControlMode == 3) {
*dir = 180;
} else if (CtrMediaControlMode == 4) {
Expand All @@ -794,7 +795,7 @@ void ctr_internal_media_keydown_right(int* dir) {
ctr_internal_img_render_text(focusObject);
}
} else {
if (controllableObject) {
if (controllableObject && CtrMediaInputFreeze == CtrStdBoolFalse) {
if (CtrMediaControlMode == 1 || CtrMediaControlMode == 3) {
*dir = 0;
} else if (CtrMediaControlMode == 4) {
Expand All @@ -814,7 +815,7 @@ void ctr_internal_media_keydown_down(int* dir, int* c4speed) {
ctr_internal_img_render_text(focusObject);
}
} else {
if (controllableObject) {
if (controllableObject && CtrMediaInputFreeze == CtrStdBoolFalse) {
player = (MediaIMG*) controllableObject->value.rvalue->ptr;
if ( player->gravity < 1 && (CtrMediaControlMode == 1 || CtrMediaControlMode == 2)) {
*dir = 270;
Expand Down Expand Up @@ -855,7 +856,7 @@ void ctr_internal_media_keydown_up(int* dir, int* c4speed) {
ctr_internal_img_render_text(focusObject);
}
} else {
if (controllableObject) {
if (controllableObject && CtrMediaInputFreeze == CtrStdBoolFalse) {
player = (MediaIMG*) controllableObject->value.rvalue->ptr;
if (player->gravity >= 1 && CtrMediaControlMode == 1) {
if (CtrMediaJump == 0) {
Expand Down Expand Up @@ -2351,6 +2352,22 @@ ctr_object* ctr_img_controllable(ctr_object* myself, ctr_argument* argumentList)
return myself;
}

/**
* @def
* [ Image ] freeze: [ Boolean ]
*
* @example
* image freeze: True.
*
* @result
* @info-image-freeze
*/
ctr_object* ctr_img_freeze(ctr_object* myself, ctr_argument* argumentList) {
if (!ctr_internal_get_image_from_object(myself)) return myself;
CtrMediaInputFreeze = ctr_internal_cast2bool(argumentList->object);
return myself;
}

/**
* @def
* [ Image ] x: [ Number ] y: [ Number ]
Expand Down Expand Up @@ -3074,6 +3091,7 @@ ctr_object* ctr_media_select(ctr_object* myself, ctr_argument* argumentList) {
}

void ctr_internal_media_init() {
CtrMediaInputFreeze = CtrStdBoolFalse;
CtrMediaContactSurface = NULL;
CtrMediaAssetPackage = NULL;
CtrMediaAudioRate = MIX_DEFAULT_FREQUENCY;
Expand Down Expand Up @@ -4247,6 +4265,7 @@ void begin(){
ctr_internal_create_func(imageObject, ctr_build_string_from_cstring( CTR_DICT_XY_SET ), &ctr_img_xy );
ctr_internal_create_func(imageObject, ctr_build_string_from_cstring( CTR_DICT_MOVE_TO_XY_SET ), &ctr_img_mov_set );
ctr_internal_create_func(imageObject, ctr_build_string_from_cstring( CTR_DICT_VISIBLE_SET ), &ctr_img_visible_set );
ctr_internal_create_func(imageObject, ctr_build_string_from_cstring( CTR_DICT_FREEZE_SET ), &ctr_img_freeze );
fontObject = ctr_font_new(CtrStdObject, NULL);
fontObject->link = CtrStdObject;
ctr_internal_create_func(fontObject, ctr_build_string_from_cstring( CTR_DICT_NEW ), &ctr_font_new );
Expand Down

0 comments on commit 1c95738

Please sign in to comment.