Commit 33f71c2

Nick committed on
Update codegen gbs export with quote hack, remove fd callback in wave render
commit 33f71c2374bd60922bc273354fba77b36b51ce90 parent 777dd45
4 changed files +30−22
Modifiedcodegen.pas +6−4
@@ -482,7 +482,9 @@ var
482 Proc.Parameters.Add('-i' + 'hUGEDriver'); 482 Proc.Parameters.Add('-i' + 'hUGEDriver');
483 Proc.Parameters.Add('-o' + OutFile); 483 Proc.Parameters.Add('-o' + OutFile);
484 for Define in Defines do 484 for Define in Defines do
485 Proc.Parameters.Add('-D' + Define); 485 // HACK: This just removes all instances of double quotes to avoid a bug
486 // where arguments don't get passed in right with double quotes.
487 Proc.Parameters.Add('-D' + ReplaceStr(Define, '"', ''));
486 Proc.Parameters.Add(InFile); 488 Proc.Parameters.Add(InFile);
487 Proc.Execute; 489 Proc.Execute;
488 490
@@ -575,9 +577,9 @@ begin
575 if Assemble( 577 if Assemble(
576 Filename + '_gbs.obj', 'hUGEDriver/gbs.asm', 578 Filename + '_gbs.obj', 'hUGEDriver/gbs.asm',
577 ['SONG_DESCRIPTOR=song', 579 ['SONG_DESCRIPTOR=song',
578 'GBS_TITLE="""'+PadRight(LeftStr(Song.Name, 32), 32)+'"""', 580 'GBS_TITLE="'+PadRight(LeftStr(Song.Name, 32), 32)+'"',
579 'GBS_AUTHOR="""'+PadRight(LeftStr(Song.Artist, 32), 32)+'"""', 581 'GBS_AUTHOR="'+PadRight(LeftStr(Song.Artist, 32), 32)+'"',
580 'GBS_COPYRIGHT="""'+PadRight(IntToStr(CurrentYear), 32)+'"""'] 582 'GBS_COPYRIGHT="'+PadRight(IntToStr(CurrentYear), 32)+'"']
581 ) <> 0 then Die; 583 ) <> 0 then Die;
582 end 584 end
583 else 585 else
ModifiedhUGEDriver +1−1
@@ -1 +1 @@
1 Subproject commit 00751710643b4ec10dbf90b84e5cd0ddac68085d 1 Subproject commit 96bbed47fbe93e35fca597e5ac87d99ff5725935
Modifiedrendertowave.pas +8−2
@@ -174,10 +174,12 @@ end;
174 174
175 procedure TfrmRenderToWave.RenderEntireSong(Times: Integer); 175 procedure TfrmRenderToWave.RenderEntireSong(Times: Integer);
176 var 176 var
177 OldFC: TCPUCallback; 177 OldFC, OldFD: TCPUCallback;
178 begin 178 begin
179 OldFC := FCCallback; 179 OldFC := FCCallback;
180 OldFD := FDCallback;
180 FCCallback := @OrderCheckCallback; 181 FCCallback := @OrderCheckCallback;
182 FDCallback := nil;
181 183
182 SetLength(SeenPatterns, PeekSymbol(SYM_ORDER_COUNT) div 2); 184 SetLength(SeenPatterns, PeekSymbol(SYM_ORDER_COUNT) div 2);
183 StartOfSong := -1; 185 StartOfSong := -1;
@@ -190,16 +192,19 @@ begin
190 192
191 SetLength(SeenPatterns, 0); 193 SetLength(SeenPatterns, 0);
192 FCCallback := OldFC; 194 FCCallback := OldFC;
195 FDCallback := OldFD;
193 end; 196 end;
194 197
195 procedure TfrmRenderToWave.RenderFromPosition(FromPos, ToPos: Integer); 198 procedure TfrmRenderToWave.RenderFromPosition(FromPos, ToPos: Integer);
196 var 199 var
197 OldFC: TCPUCallback; 200 OldFC, OldFD: TCPUCallback;
198 StartPattern, TargetPattern: Integer; 201 StartPattern, TargetPattern: Integer;
199 SawTargetPattern: Boolean; 202 SawTargetPattern: Boolean;
200 begin 203 begin
201 OldFC := FCCallback; 204 OldFC := FCCallback;
205 OldFD := FDCallback;
202 FCCallback := @OrderCheckCallback; 206 FCCallback := @OrderCheckCallback;
207 FDCallback := nil;
203 208
204 SetLength(SeenPatterns, PeekSymbol(SYM_ORDER_COUNT) div 2); 209 SetLength(SeenPatterns, PeekSymbol(SYM_ORDER_COUNT) div 2);
205 StartOfSong := -1; 210 StartOfSong := -1;
@@ -227,6 +232,7 @@ begin
227 232
228 SetLength(SeenPatterns, 0); 233 SetLength(SeenPatterns, 0);
229 FCCallback := OldFC; 234 FCCallback := OldFC;
235 FDCallback := OldFD;
230 end; 236 end;
231 237
232 procedure TfrmRenderToWave.OrderCheckCallback; 238 procedure TfrmRenderToWave.OrderCheckCallback;
Modifiedtracker.lfm +15−15
@@ -1,11 +1,11 @@
1 object frmTracker: TfrmTracker 1 object frmTracker: TfrmTracker
2 Left = 1232 2 Left = 1536
3 Height = 653 3 Height = 654
4 Top = 271 4 Top = 406
5 Width = 1232 5 Width = 1232
6 AllowDropFiles = True 6 AllowDropFiles = True
7 Caption = 'hUGETracker' 7 Caption = 'hUGETracker'
8 ClientHeight = 633 8 ClientHeight = 634
9 ClientWidth = 1232 9 ClientWidth = 1232
10 KeyPreview = True 10 KeyPreview = True
11 Menu = MainMenu1 11 Menu = MainMenu1
@@ -20,7 +20,7 @@ object frmTracker: TfrmTracker
20 LCLVersion = '2.0.12.0' 20 LCLVersion = '2.0.12.0'
21 object TreeView1: TTreeView 21 object TreeView1: TTreeView
22 Left = 0 22 Left = 0
23 Height = 521 23 Height = 522
24 Top = 89 24 Top = 89
25 Width = 193 25 Width = 193
26 Align = alLeft 26 Align = alLeft
@@ -41,34 +41,34 @@ object frmTracker: TfrmTracker
41 end 41 end
42 object Splitter1: TSplitter 42 object Splitter1: TSplitter
43 Left = 193 43 Left = 193
44 Height = 521 44 Height = 522
45 Top = 89 45 Top = 89
46 Width = 5 46 Width = 5
47 end 47 end
48 object Panel1: TPanel 48 object Panel1: TPanel
49 Left = 198 49 Left = 198
50 Height = 521 50 Height = 522
51 Top = 89 51 Top = 89
52 Width = 1034 52 Width = 1034
53 Align = alClient 53 Align = alClient
54 BevelOuter = bvNone 54 BevelOuter = bvNone
55 ClientHeight = 521 55 ClientHeight = 522
56 ClientWidth = 1034 56 ClientWidth = 1034
57 ParentFont = False 57 ParentFont = False
58 TabOrder = 2 58 TabOrder = 2
59 object PageControl1: TPageControl 59 object PageControl1: TPageControl
60 Left = 0 60 Left = 0
61 Height = 521 61 Height = 522
62 Top = 0 62 Top = 0
63 Width = 1034 63 Width = 1034
64 ActivePage = PatternTabSheet 64 ActivePage = GeneralTabSheet
65 Align = alClient 65 Align = alClient
66 ParentFont = False 66 ParentFont = False
67 TabIndex = 1 67 TabIndex = 0
68 TabOrder = 0 68 TabOrder = 0
69 object GeneralTabSheet: TTabSheet 69 object GeneralTabSheet: TTabSheet
70 Caption = 'General' 70 Caption = 'General'
71 ClientHeight = 493 71 ClientHeight = 494
72 ClientWidth = 1026 72 ClientWidth = 1026
73 ParentFont = False 73 ParentFont = False
74 object SongInformationGroupbox: TGroupBox 74 object SongInformationGroupbox: TGroupBox
@@ -1686,7 +1686,7 @@ object frmTracker: TfrmTracker
1686 object StatusBar1: TStatusBar 1686 object StatusBar1: TStatusBar
1687 Left = 0 1687 Left = 0
1688 Height = 23 1688 Height = 23
1689 Top = 610 1689 Top = 611
1690 Width = 1232 1690 Width = 1232
1691 AutoHint = True 1691 AutoHint = True
1692 Panels = < 1692 Panels = <
@@ -1751,7 +1751,7 @@ object frmTracker: TfrmTracker
1751 Top = 0 1751 Top = 0
1752 AutoSize = True 1752 AutoSize = True
1753 Caption = 'Export .GB' 1753 Caption = 'Export .GB'
1754 ImageIndex = 76 1754 ImageIndex = 81
1755 OnClick = ExportGBButtonClick 1755 OnClick = ExportGBButtonClick
1756 end 1756 end
1757 object ToolButton8: TToolButton 1757 object ToolButton8: TToolButton
@@ -1865,7 +1865,7 @@ object frmTracker: TfrmTracker
1865 Hint = 'Export the song as a GBS soundtrack' 1865 Hint = 'Export the song as a GBS soundtrack'
1866 Top = 0 1866 Top = 0
1867 Caption = 'Export .GBS' 1867 Caption = 'Export .GBS'
1868 ImageIndex = 76 1868 ImageIndex = 80
1869 OnClick = ExportGBSButtonClick 1869 OnClick = ExportGBSButtonClick
1870 end 1870 end
1871 object ToolButton5: TToolButton 1871 object ToolButton5: TToolButton