the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#! /usr/bin/perl -w
2use warnings;
3use File::Copy::Recursive qw(fcopy rcopy dircopy fmove rmove dirmove);
4
5open FH, '..\Xbox_BuildVer.h' or die $!;
6
7my $lineno=1;
8my $index;
9
10while(<FH>)
11{
12 $lineno++;
13
14 $index = rindex($_,'#define VER_PRODUCTBUILD ');
15 my($line) = $_;
16 chomp($line);
17 if($index>-1)
18 {
19 @build = split(/ +/, $line);
20
21 $buildnum = sprintf("%4d", $build[2]);
22 $buildnum=~ tr/ /0/;
23 }
24}
25
26my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
27
28##print 'Build num is Minecraft_', $year-100,'.',$mon+1,'.',$mday,'.',$buildnum;
29
30$buildname=sprintf("Minecraft_%02d.%02d.%02d.%s_Release", $year-100,$mon+1,$mday,$buildnum);
31$builddir=sprintf("c:/MinecraftReleaseBuilds/%s",$buildname);
32
33
34print $builddir;
35
36## now create the build directories
37
38$dir = 'c:/MinecraftReleaseBuilds/';
39
40unless(-d $dir)
41{
42 mkdir $dir or die;
43}
44
45$dir = 'c:/MinecraftReleaseBuilds/pdbs/';
46
47unless(-d $dir)
48{
49 mkdir $dir or die;
50}
51
52$dir = 'c:/MinecraftReleaseBuilds/Zips/';
53
54unless(-d $dir)
55{
56 mkdir $dir or die;
57}
58
59unless(-d $builddir)
60{
61 mkdir $builddir or die;
62}
63
64$builddir=sprintf("c:/MinecraftReleaseBuilds/%s/Docs",$buildname);
65unless(-d $builddir)
66{
67 mkdir $builddir or die;
68}
69
70$builddir=sprintf("c:/MinecraftReleaseBuilds/%s/Minecraft360",$buildname);
71unless(-d $builddir)
72{
73 mkdir $builddir or die;
74}
75
76$builddir=sprintf("c:/MinecraftReleaseBuilds/%s/Minecraft360/Saves",$buildname);
77unless(-d $builddir)
78{
79 mkdir $builddir or die;
80}
81
82## Now copy the files in
83
84## docs
85$target=sprintf("c:/MinecraftReleaseBuilds/%s/Docs/4J Minecraft XBLA Design Changes & Additions v1.0.docx",$buildname);
86fcopy('../Docs/4J Minecraft XBLA Design Changes & Additions v1.0.docx',$target) or die $!;
87$target=sprintf("c:/MinecraftReleaseBuilds/%s/Docs/Minecraft_XBLA_TIS_Nov2011.xls",$buildname);
88fcopy('../Docs/Minecraft_XBLA_TIS_Nov2011.xls',$target) or die $!;
89$target=sprintf("c:/MinecraftReleaseBuilds/%s/Docs/Minecraft_XBLA_TIS_Nov2011_Asia_SYA111511.xls",$buildname);
90fcopy('../Docs/Minecraft_XBLA_TIS_Nov2011_Asia_SYA111511.xls',$target) or die $!;
91$target=sprintf("c:/MinecraftReleaseBuilds/%s/Docs/Minecraft_XBLA_TIS_Nov2011_EU.xls",$buildname);
92fcopy('../Docs/Minecraft_XBLA_TIS_Nov2011_EU.xls',$target) or die $!;
93$target=sprintf("c:/MinecraftReleaseBuilds/%s/Docs/Xbox Live Avatar Items - Minecraft.xlsx",$buildname);
94fcopy('../Docs/Xbox Live Avatar Items - Minecraft.xlsx',$target) or die $!;
95
96## xex
97$target=sprintf("c:/MinecraftReleaseBuilds/%s/Minecraft360/Minecraft_Release.xex",$buildname);
98fcopy('../../Release/Minecraft.Client.xex',$target) or die $!;
99
100## game data
101$target=sprintf("c:/MinecraftReleaseBuilds/%s/Minecraft360/res/",$buildname);
102rcopy('../res/',$target) or die $!;
103$target=sprintf("c:/MinecraftReleaseBuilds/%s/Minecraft360/Tutorial/TutorialLevel.mcs",$buildname);
104rcopy('../Tutorial/TutorialLevel.mcs',$target) or die $!;
105##$target=sprintf("c:/MinecraftReleaseBuilds/%s/Minecraft360/Trial/TrialLevel.mcs",$buildname);
106##rcopy('../Trial/TrialLevel.mcs',$target) or die $!;
107$target=sprintf("c:/MinecraftReleaseBuilds/%s/Minecraft360/584111F70AAAAAAA",$buildname);
108rcopy('../584111F70AAAAAAA',$target) or die $!;
109$target=sprintf("c:/MinecraftReleaseBuilds/%s/Minecraft360/AvatarAwards",$buildname);
110rcopy('../AvatarAwards',$target) or die $!;
111
112## release files
113$target=sprintf("c:/MinecraftReleaseBuilds/pdbs/%s/Release/Default.exe",$buildname);
114fcopy('../../Release/Minecraft.Client.exe',$target) or die $!;
115$target=sprintf("c:/MinecraftReleaseBuilds/pdbs/%s/Release/Default.pdb",$buildname);
116fcopy('../../Release/Minecraft.Client.pdb',$target) or die $!;
117$target=sprintf("c:/MinecraftReleaseBuilds/pdbs/%s/Release/Default.xdb",$buildname);
118fcopy('../../Release/Minecraft.Client.xdb',$target) or die $!;
119
120# Cheat save
121$target=sprintf("c:/MinecraftSubmissionBuilds/%s/Test/Cheats/Content/E0000C2E8D782D00/584111F7/00000001/Save2012 11718 748.bin",$buildname);
122fcopy('../Cheats/E0000C2E8D782D00/584111F7/00000001/Save2012 11718 748.bin',$target) or die $!;
123$target=sprintf("c:/MinecraftSubmissionBuilds/%s/Test/Cheats/Content/E0000C2E8D782D00/FFFE07D1/00010000/E0000C2E8D782D00",$buildname);
124fcopy('../Cheats/E0000C2E8D782D00/FFFE07D1/00010000/E0000C2E8D782D00',$target) or die $!;
125
126open FH, "+>", 'zipthebuild.cmd' or die $!;
127
128$zipline = sprintf("\"C:\\Program Files (x86)\\winzip\\wzzip\" -p -r -ex c:\\MinecraftReleaseBuilds\\Zips\\%s.zip c:\\MinecraftReleaseBuilds\\%s\\*",$buildname,$buildname);
129
130print FH $zipline;
131close FH;