@@ -675,19 +675,19 @@ begin |
| 675 |
// Assemble |
675 |
// Assemble |
| 676 |
if Mode = emPreview then |
676 |
if Mode = emPreview then |
| 677 |
begin |
677 |
begin |
| 678 |
if Assemble(ConcatPaths([CacheDir, Filename + '_driver.obj']), |
678 |
if Assemble(Filename + '_driver.obj', |
| 679 |
ConcatPaths([RuntimeDir, 'hUGEDriver', 'hUGEDriver.asm']), |
679 |
ConcatPaths([RuntimeDir, 'hUGEDriver', 'hUGEDriver.asm']), |
| 680 |
['PREVIEW_MODE']) <> 0 then Die; |
680 |
['PREVIEW_MODE']) <> 0 then Die; |
| 681 |
end |
681 |
end |
| 682 |
else if Assemble(Filename + '_driver.obj', 'hUGEDriver/hUGEDriver.asm', []) <> 0 then Die; |
682 |
else if Assemble(Filename + '_driver.obj', 'hUGEDriver/hUGEDriver.asm', []) <> 0 then Die; |
| 683 |
|
683 |
|
| 684 |
if Assemble(ConcatPaths([CacheDir, Filename + '_song.obj']), |
684 |
if Assemble(Filename + '_song.obj', |
| 685 |
ConcatPaths([RuntimeDir, 'hUGEDriver', 'song.asm']), |
685 |
ConcatPaths([RuntimeDir, 'hUGEDriver', 'song.asm']), |
| 686 |
['SONG_DESCRIPTOR=song', 'TICKS='+IntToStr(Song.TicksPerRow)]) <> 0 then Die; |
686 |
['SONG_DESCRIPTOR=song', 'TICKS='+IntToStr(Song.TicksPerRow)]) <> 0 then Die; |
| 687 |
|
687 |
|
| 688 |
if Mode = emGBS then |
688 |
if Mode = emGBS then |
| 689 |
begin |
689 |
begin |
| 690 |
if Assemble(ConcatPaths([CacheDir, Filename + '_gbs.obj']), |
690 |
if Assemble(Filename + '_gbs.obj', |
| 691 |
ConcatPaths([RuntimeDir, 'hUGEDriver', 'gbs.asm']), |
691 |
ConcatPaths([RuntimeDir, 'hUGEDriver', 'gbs.asm']), |
| 692 |
['SONG_DESCRIPTOR=song', |
692 |
['SONG_DESCRIPTOR=song', |
| 693 |
'GBS_TITLE="'+PadRight(LeftStr(Song.Name, 32), 32)+'"', |
693 |
'GBS_TITLE="'+PadRight(LeftStr(Song.Name, 32), 32)+'"', |
@@ -696,7 +696,7 @@ begin |
| 696 |
'TIMER_MODULO='+IntToStr(IfThen(Song.TimerEnabled, Song.TimerDivider, 0)), |
696 |
'TIMER_MODULO='+IntToStr(IfThen(Song.TimerEnabled, Song.TimerDivider, 0)), |
| 697 |
'TIMER_CONTROL='+IntToStr(IfThen(Song.TimerEnabled, 4, 0))]) <> 0 then Die; |
697 |
'TIMER_CONTROL='+IntToStr(IfThen(Song.TimerEnabled, 4, 0))]) <> 0 then Die; |
| 698 |
end |
698 |
end |
| 699 |
else if Assemble(ConcatPaths([CacheDir, Filename + '_player.obj']), |
699 |
else if Assemble(Filename + '_player.obj', |
| 700 |
ConcatPaths([RuntimeDir, 'hUGEDriver', 'player.asm']), |
700 |
ConcatPaths([RuntimeDir, 'hUGEDriver', 'player.asm']), |
| 701 |
['SONG_DESCRIPTOR=song', |
701 |
['SONG_DESCRIPTOR=song', |
| 702 |
IfThen(Song.TimerEnabled, 'USE_TIMER=1', ''), |
702 |
IfThen(Song.TimerEnabled, 'USE_TIMER=1', ''), |
@@ -705,27 +705,27 @@ begin |
| 705 |
// Link |
705 |
// Link |
| 706 |
if Mode = emGBS then |
706 |
if Mode = emGBS then |
| 707 |
begin |
707 |
begin |
| 708 |
if Link(ConcatPaths([CacheDir, Filename + '.gbs']), |
708 |
if Link(Filename + '.gbs', |
| 709 |
[ConcatPaths([CacheDir, Filename + '_driver.obj']), |
709 |
[Filename + '_driver.obj', |
| 710 |
ConcatPaths([CacheDir, Filename + '_song.obj']), |
710 |
Filename + '_song.obj', |
| 711 |
ConcatPaths([CacheDir, Filename + '_gbs.obj'])]) <> 0 then Die; |
711 |
Filename + '_gbs.obj']) <> 0 then Die; |
| 712 |
end |
712 |
end |
| 713 |
else |
713 |
else |
| 714 |
begin |
714 |
begin |
| 715 |
if Link(ConcatPaths([CacheDir, Filename + '.gb']), |
715 |
if Link(Filename + '.gb', |
| 716 |
[ConcatPaths([CacheDir, Filename + '_driver.obj']), |
716 |
[Filename + '_driver.obj', |
| 717 |
ConcatPaths([CacheDir, Filename + '_song.obj']), |
717 |
Filename + '_song.obj', |
| 718 |
ConcatPaths([CacheDir, Filename + '_player.obj'])], |
718 |
Filename + '_player.obj'], |
| 719 |
ConcatPaths([CacheDir, Filename + '.map']), |
719 |
Filename + '.map', |
| 720 |
ConcatPaths([CacheDir, Filename + '.sym'])) <> 0 then Die; |
720 |
Filename + '.sym') <> 0 then Die; |
| 721 |
end; |
721 |
end; |
| 722 |
|
722 |
|
| 723 |
// Fix |
723 |
// Fix |
| 724 |
if Mode = emGBS then |
724 |
if Mode = emGBS then |
| 725 |
RectifyGBSFile(ConcatPaths([CacheDir, Filename + '.gbs'])) |
725 |
RectifyGBSFile(Filename + '.gbs') |
| 726 |
else |
726 |
else |
| 727 |
begin |
727 |
begin |
| 728 |
if (Fix(ConcatPaths([CacheDir, Filename + '.gb'])) <> 0) then |
728 |
if (Fix(Filename + '.gb') <> 0) then |
| 729 |
Die; |
729 |
Die; |
| 730 |
end; |
730 |
end; |
| 731 |
|
731 |
|
@@ -736,26 +736,26 @@ begin |
| 736 |
DeleteFile(FilePath); |
736 |
DeleteFile(FilePath); |
| 737 |
|
737 |
|
| 738 |
case Mode of |
738 |
case Mode of |
| 739 |
emGBS: RenameSucceeded := RenameFile(ConcatPaths([CacheDir, Filename + '.gbs']), FilePath); |
739 |
emGBS: RenameSucceeded := RenameFile(Filename + '.gbs', FilePath); |
| 740 |
else RenameSucceeded := RenameFile(ConcatPaths([CacheDir, Filename + '.gb']), FilePath); |
740 |
else RenameSucceeded := RenameFile(Filename + '.gb', FilePath); |
| 741 |
end; |
741 |
end; |
| 742 |
|
742 |
|
| 743 |
if not RenameSucceeded then |
743 |
if not RenameSucceeded then |
| 744 |
raise ECodegenRenameException.Create(FilePath); |
744 |
raise ECodegenRenameException.Create(FilePath); |
| 745 |
|
745 |
|
| 746 |
{$ifdef DEVELOPMENT} |
746 |
{$ifdef DEVELOPMENT} |
| 747 |
RenameFile(ConcatPaths([CacheDir, Filename + '.sym']), FilePath + '.sym'); |
747 |
RenameFile(Filename + '.sym', FilePath + '.sym'); |
| 748 |
RenameFile(ConcatPaths([CacheDir, Filename + '.map']), FilePath + '.map'); |
748 |
RenameFile(Filename + '.map', FilePath + '.map'); |
| 749 |
{$endif} |
749 |
{$endif} |
| 750 |
{$ifdef PRODUCTION} |
750 |
{$ifdef PRODUCTION} |
| 751 |
DeleteFile(ConcatPaths([CacheDir, Filename + '.sym'])); |
751 |
DeleteFile(Filename + '.sym'); |
| 752 |
DeleteFile(ConcatPaths([CacheDir, Filename + '.map'])); |
752 |
DeleteFile(Filename + '.map'); |
| 753 |
{$endif} |
753 |
{$endif} |
| 754 |
|
754 |
|
| 755 |
DeleteFile(ConcatPaths([CacheDir, Filename + '_driver.obj'])); |
755 |
DeleteFile(Filename + '_driver.obj'); |
| 756 |
DeleteFile(ConcatPaths([CacheDir, Filename + '_song.obj'])); |
756 |
DeleteFile(Filename + '_song.obj'); |
| 757 |
DeleteFile(ConcatPaths([CacheDir, Filename + '_player.obj'])); |
757 |
DeleteFile(Filename + '_player.obj'); |
| 758 |
DeleteFile(ConcatPaths([CacheDir, Filename + '_gbs.obj'])); |
758 |
DeleteFile(Filename + '_gbs.obj'); |
| 759 |
end; |
759 |
end; |
| 760 |
finally |
760 |
finally |
| 761 |
Proc.Free; |
761 |
Proc.Free; |