Skip to content

Commit

Permalink
update 4.4
Browse files Browse the repository at this point in the history
  • Loading branch information
RetroNick2020 committed Sep 30, 2024
1 parent 966fb56 commit 79a14c0
Show file tree
Hide file tree
Showing 12 changed files with 456 additions and 166 deletions.
Binary file added Images/PLAY.bmp
Binary file not shown.
Binary file added Images/STOP.bmp
Binary file not shown.
127 changes: 101 additions & 26 deletions animate.lfm
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,85 @@ object AnimationForm: TAnimationForm
LCLVersion = '3.4.0.0'
object Panel1: TPanel
Left = 32
Height = 144
Height = 209
Top = 8
Width = 144
Width = 208
ClientHeight = 209
ClientWidth = 208
TabOrder = 6
object FPSTrackBar: TTrackBar
Left = 168
Height = 128
Top = 8
Width = 25
Max = 60
Min = 1
OnChange = FPSTrackBarChange
Orientation = trVertical
Position = 1
TickMarks = tmTopLeft
TabOrder = 0
end
object Image2: TImage
Left = 88
Height = 32
Top = 168
Width = 32
OnClick = StopButtonClick
Picture.Data = {
07544269746D617076020000424D760200000000000076000000280000002000
0000200000000100040000000000000200000000000000000000000000000000
000000000000AA00000000AA0000AAAA00000000AA00AA00AA000055AA00AAAA
AA0055555500FA55550055FA5500FAFA55005555FA00FA55FA0055FAFA00FAFA
FA00000000000000000000000000000000000FF0000000000000000000000000
00000FF000000000000000000000000000000FF7777777777777777777777777
00000FF777777777777777777777777700000FF7777777777777777777777777
00000FF777777777777777777777777700000FF7777777777777777777777777
00000FF777777777777777777777777700000FF7777777777777777777777777
00000FF777700000000000000000777700000FF7777000000000000000007777
00000FF777700000000000000000777700000FF7777000000000000000007777
00000FF777700000000000000000777700000FF7777000000000000000007777
00000FF777700000000000000000777700000FF7777000000000000000007777
00000FF777700000000000000000777700000FF7777000000000000000007777
00000FF777700000000000000000777700000FF7777000000000000000007777
00000FF777700000000000000000777700000FF7777777777777777777777777
00000FF777777777777777777777777700000FF7777777777777777777777777
00000FF777777777777777777777777700000FF7777777777777777777777777
00000FF777777777777777777777777700000FFFFFFFFFFFFFFFFFFFFFFFFFFF
FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000
0000
}
end
object Image1: TImage
Left = 48
Height = 32
Top = 168
Width = 32
OnClick = PlayButtonClick
Picture.Data = {
07544269746D617076020000424D760200000000000076000000280000002000
0000200000000100040000000000000200000000000000000000000000000000
000000000000AA00000000AA0000AAAA00000000AA00AA00AA000055AA00AAAA
AA0055555500FA55550055FA5500FAFA55005555FA00FA55FA0055FAFA00FAFA
FA00000000000000000000000000000000000FF0000000000000000000000000
00000FF000000000000000000000000000000FF7777777777777777777777777
00000FF777777777777777777777777700000FF7777777777777777777777777
00000FF777777777777777777777777700000FF7777777777777777777777777
00000FF777777777777777777777777700000FF7777777777777777777777777
00000FF777777777707777777777777700000FF7777777777007777777777777
00000FF777777777700077777777777700000FF7777777777000077777777777
00000FF777777777700000777777777700000FF7777777777000000777777777
00000FF777777777700000007777777700000FF7777777777000000777777777
00000FF777777777700000777777777700000FF7777777777000077777777777
00000FF777777777700077777777777700000FF7777777777007777777777777
00000FF777777777707777777777777700000FF7777777777777777777777777
00000FF777777777777777777777777700000FF7777777777777777777777777
00000FF777777777777777777777777700000FF7777777777777777777777777
00000FF777777777777777777777777700000FFFFFFFFFFFFFFFFFFFFFFFFFFF
FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000
0000
}
end
end
object TopSplitter: TSplitter
AnchorSideLeft.Control = Owner
Expand Down Expand Up @@ -78,7 +153,7 @@ object AnimationForm: TAnimationForm
Color = 15790320
ParentBackground = False
ParentColor = False
TabOrder = 3
TabOrder = 1
object SpriteListView: TListView
AnchorSideLeft.Control = LeftPanel
AnchorSideTop.Control = LeftPanel
Expand All @@ -103,6 +178,7 @@ object AnimationForm: TAnimationForm
ViewStyle = vsIcon
OnDblClick = SpriteListViewDblClick
OnDragDrop = SpriteListViewDragDrop
OnDragOver = SpriteListViewDragOver
end
end
object MiddlePanel: TPanel
Expand All @@ -121,7 +197,7 @@ object AnimationForm: TAnimationForm
Caption = 'MiddlePanel'
ClientHeight = 493
ClientWidth = 768
TabOrder = 4
TabOrder = 2
object CurrentAnimListView: TListView
AnchorSideLeft.Control = MiddlePanel
AnchorSideTop.Control = MiddlePanel
Expand Down Expand Up @@ -168,7 +244,7 @@ object AnimationForm: TAnimationForm
Caption = 'RightPanel'
ClientHeight = 493
ClientWidth = 191
TabOrder = 5
TabOrder = 3
object AllAnimListView: TListView
AnchorSideLeft.Control = RightPanel
AnchorSideTop.Control = RightPanel
Expand All @@ -178,7 +254,6 @@ object AnimationForm: TAnimationForm
AnchorSideBottom.Side = asrBottom
Left = 1
Height = 491
Hint = 'My Hint'
Top = 1
Width = 189
Anchors = [akTop, akLeft, akRight, akBottom]
Expand All @@ -196,16 +271,16 @@ object AnimationForm: TAnimationForm
end
end
object CurrentAnimationImageList: TImageList
Left = 816
Top = 64
Left = 808
Top = 592
end
object AnimThumbImageList: TImageList
Left = 816
Top = 8
Left = 792
Top = 520
end
object PopupMenu1: TPopupMenu
Left = 392
Top = 144
Left = 424
Top = 664
object CopyMenu: TMenuItem
Caption = 'Copy'
OnClick = CopyMenuClick
Expand All @@ -224,16 +299,16 @@ object AnimationForm: TAnimationForm
end
end
object PopupMenu2: TPopupMenu
Left = 264
Top = 144
Left = 224
Top = 664
object CopyFromThumbView: TMenuItem
Caption = 'Copy'
OnClick = CopyFromThumbViewClick
end
end
object PopupMenu3: TPopupMenu
Left = 840
Top = 136
Left = 816
Top = 664
object NewAnimationMenu: TMenuItem
Caption = 'New Animation'
OnClick = NewAnimationMenuClick
Expand All @@ -246,12 +321,12 @@ object AnimationForm: TAnimationForm
object Timer1: TTimer
OnTimer = Timer1Timer
OnStartTimer = Timer1StartTimer
Left = 216
Top = 56
Left = 224
Top = 312
end
object MainMenu1: TMainMenu
Left = 296
Top = 56
Left = 312
Top = 312
object MenuItem1: TMenuItem
Caption = 'File'
object MenuItem8: TMenuItem
Expand Down Expand Up @@ -295,15 +370,15 @@ object AnimationForm: TAnimationForm
end
end
object SelectDirectoryDialog1: TSelectDirectoryDialog
Left = 352
Top = 56
Left = 384
Top = 328
end
object SaveDialog1: TSaveDialog
Left = 525
Top = 21
Left = 624
Top = 424
end
object OpenDialog1: TOpenDialog
Left = 608
Top = 32
Left = 616
Top = 344
end
end
66 changes: 47 additions & 19 deletions animate.pas
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ interface

uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, Buttons, ExtCtrls,
ComCtrls, Menus, StdCtrls,AnimBase,rmthumb,rwpng,fileprops;
ComCtrls, Menus, StdCtrls, Arrow,AnimBase,rmthumb,rwpng,fileprops;

type

Expand All @@ -20,6 +20,8 @@ TAnimationForm = class(TForm)
DeleteMenu: TMenuItem;
CopyFromThumbView: TMenuItem;
AnimDeleteMenu: TMenuItem;
Image1: TImage;
Image2: TImage;
MainMenu1: TMainMenu;
MenuItem1: TMenuItem;
MenuItem10: TMenuItem;
Expand Down Expand Up @@ -51,10 +53,12 @@ TAnimationForm = class(TForm)
TopSplitter: TSplitter;
LeftSplitter: TSplitter;
RightSplitter: TSplitter;
FPSTrackBar: TTrackBar;
procedure AddFrameMenuClick(Sender: TObject);
procedure AllAnimListViewClick(Sender: TObject);
procedure AllAnimListViewShowHint(Sender: TObject; HintInfo: PHintInfo);
procedure AnimDeleteMenuClick(Sender: TObject);
procedure Arrow1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure CopyFromThumbViewClick(Sender: TObject);
procedure CopyMenuClick(Sender: TObject);
Expand All @@ -77,15 +81,21 @@ TAnimationForm = class(TForm)
procedure MenuItem9Click(Sender: TObject);
procedure NewAnimationMenuClick(Sender: TObject);
procedure PasteMenuClick(Sender: TObject);
procedure PlayButtonClick(Sender: TObject);
procedure SpriteListViewDblClick(Sender: TObject);
procedure SpriteListViewDragDrop(Sender, Source: TObject; X, Y: Integer);
procedure SpriteListViewDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
procedure StopButtonClick(Sender: TObject);

procedure Timer1StartTimer(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FPSTrackBarChange(Sender: TObject);
private

public
AnimFrameCounter : integer;
FPSDelay : integer;

procedure LoadImageThumbList;
procedure LoadCurrentAnimList;
Expand Down Expand Up @@ -118,7 +128,7 @@ procedure TAnimationForm.FormCreate(Sender: TObject);

// CurrentAnimListView.Hint:='hello2';
// CurrentAnimListView.ShowHint:=true;

FPSDelay:=1000 Div FPSTrackBar.Position;
end;

procedure TAnimationForm.FormPaint(Sender: TObject);
Expand Down Expand Up @@ -299,6 +309,11 @@ procedure TAnimationForm.PasteMenuClick(Sender: TObject);
end;
end;

procedure TAnimationForm.PlayButtonClick(Sender: TObject);
begin
Timer1.Enabled:=true;
end;

procedure TAnimationForm.SpriteListViewDblClick(Sender: TObject);
begin
// ShowMessage(IntToStr((Sender as TListView).ItemIndex));
Expand Down Expand Up @@ -394,14 +409,23 @@ procedure TAnimationForm.SpriteListViewDragDrop(Sender, Source: TObject; X,

end;

procedure TAnimationForm.SpriteListViewDragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
begin

end;

procedure TAnimationForm.StopButtonClick(Sender: TObject);
begin
Timer1.Enabled:=false;
end;



procedure TAnimationForm.Timer1StartTimer(Sender: TObject);
begin
AnimFrameCounter:=0;
// if AnimateBase.GetFrameCount > 0 then AnimFrameCounter:=1;
// if AnimFrameCounter > 0 then CurrentAnimationImageList.Draw(Panel1.Canvas,10,10,AnimateBase.GetImageIndex(AnimFrameCounter-1),true);
// info.Caption:=IntToStr(AnimFrameCounter);

end;

procedure TAnimationForm.Timer1Timer(Sender: TObject);
Expand All @@ -417,21 +441,21 @@ procedure TAnimationForm.Timer1Timer(Sender: TObject);
if AnimateBase.GetFrameCount > 0 then
begin
ImageIndex:=AnimateBase.GetImageIndex(AnimFrameCounter-1);
// if ImageIndex <> -1 then
// begin
CurrentAnimationImageList.Draw(Panel1.Canvas,10,10,ImageIndex,true);
// end;
// if AnimFrameCounter > 0 then info.Caption:='Frame: '+IntToStr(AnimFrameCounter-1)+' Image Index:'+IntToStr(ImageIndex)+' Frame count'+IntToStr(AnimateBase.GetFrameCount);
CurrentAnimationImageList.Draw(Panel1.Canvas,10,10,ImageIndex,true);
end;
end;

end;
procedure TAnimationForm.FPSTrackBarChange(Sender: TObject);
begin
FPSDelay:=1000 div FPSTrackBar.Position;
Timer1.Interval:=FPSDelay;
end;

procedure TAnimationForm.FormActivate(Sender: TObject);
begin
LoadImageThumbList;
LoadCurrentAnimList;
LoadAnimThumbList;

SpriteListView.Repaint;
CurrentAnimListView.Repaint;
AllAnimListView.Repaint;
Expand All @@ -447,9 +471,6 @@ procedure TAnimationForm.AddFrame(ImageIndex : integer);
CurrentAnimListView.Repaint;
LoadAnimThumbList;
AllAnimListView.Repaint;

// CurrentAnimListView.AddItem('Frame '+IntToStr(AnimateBase.GetFrameCount),self);
// CurrentAnimListView.Items[AnimateBase.GetFrameCount-1].ImageIndex:=ImageIndex;
end;


Expand Down Expand Up @@ -541,6 +562,12 @@ procedure TAnimationForm.CurrentAnimListViewDragDrop(Sender, Source: TObject;
end;
end;

procedure TAnimationForm.CurrentAnimListViewDragOver(Sender, Source: TObject;
X, Y: Integer; State: TDragState; var Accept: Boolean);
begin

end;

procedure TAnimationForm.AllAnimListViewShowHint(Sender: TObject;
HintInfo: PHintInfo);
begin
Expand All @@ -556,6 +583,11 @@ procedure TAnimationForm.AnimDeleteMenuClick(Sender: TObject);
if index > -1 then DeleteAnimation(index);
end;

procedure TAnimationForm.Arrow1Click(Sender: TObject);
begin

end;

procedure TAnimationForm.Button1Click(Sender: TObject);
begin
// Panel1.Canvas.Draw(10,10,AnimThumbImageList.
Expand Down Expand Up @@ -597,11 +629,7 @@ procedure TAnimationForm.CopyMenuClick(Sender: TObject);



procedure TAnimationForm.CurrentAnimListViewDragOver(Sender, Source: TObject;
X, Y: Integer; State: TDragState; var Accept: Boolean);
begin

end;

procedure TAnimationForm.DeleteMenuClick(Sender: TObject);
var
Expand Down
Loading

0 comments on commit 79a14c0

Please sign in to comment.