Advertisement
nanerbk8

Age of Mythology Widescreen Patch SOURCE CODE

Oct 21st, 2012
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 13.43 KB | None | 0 0
  1. ###################### AOM Res Changer ########################
  2. Language: Pascal
  3. Dev: Renan Cavalieri
  4. Function: Change 4:3 to Widescreen (res'x' and res'y') on AOM
  5. ################################################################
  6.  
  7. ###################### PR FILE ##################################
  8.  
  9. program AOMRess;
  10.  
  11. uses
  12.   Forms,
  13.   UnitPrincipal in 'UnitPrincipal.pas' {Form1};
  14.  
  15. {$R *.res}
  16.  
  17. begin
  18.   Application.Initialize;
  19.   Application.Title := 'Age of Mythology & Titans Resolution Changer (Wide & Full HD Patch)';
  20.   Application.CreateForm(TForm1, Form1);
  21.   Application.Run;
  22. end.
  23.  
  24.  
  25. ############## UNIT FILE #####################
  26.  
  27.  
  28. unit UnitPrincipal;
  29.  
  30. interface
  31.  
  32. uses
  33.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  34.   Dialogs, StdCtrls, ExtCtrls, ShellApi, XPMan, INIFiles;
  35.  
  36. type
  37.   TForm1 = class(TForm)
  38.     BtnRun: TButton;
  39.     EditX: TEdit;
  40.     EditY: TEdit;
  41.     GrupLang: TGroupBox;
  42.     Button2: TButton;
  43.     Button3: TButton;
  44.     GrupAom: TRadioGroup;
  45.     lbadvise: TLabel;
  46.     Label1: TLabel;
  47.     version1: TRadioButton;
  48.     version2: TRadioButton;
  49.     GroupBox1: TGroupBox;
  50.     res14: TRadioButton;
  51.     res13: TRadioButton;
  52.     res15: TRadioButton;
  53.     res16: TRadioButton;
  54.     res12: TRadioButton;
  55.     res11: TRadioButton;
  56.     res10: TRadioButton;
  57.     res9: TRadioButton;
  58.     res8: TRadioButton;
  59.     res7: TRadioButton;
  60.     res1: TRadioButton;
  61.     res2: TRadioButton;
  62.     res3: TRadioButton;
  63.     res4: TRadioButton;
  64.     res5: TRadioButton;
  65.     res6: TRadioButton;
  66.     Label2: TLabel;
  67.     EditV: TEdit;
  68.     XPManifest1: TXPManifest;
  69.     Label3: TLabel;
  70.     Label4: TLabel;
  71.     Label5: TLabel;
  72.     res17: TRadioButton;
  73.     Button1: TButton;
  74.     procedure Button2Click(Sender: TObject);
  75.     procedure Button3Click(Sender: TObject);
  76.     procedure res1Click(Sender: TObject);
  77.     procedure res2Click(Sender: TObject);
  78.     procedure FormActivate(Sender: TObject);
  79.     procedure res3Click(Sender: TObject);
  80.     procedure res4Click(Sender: TObject);
  81.     procedure res5Click(Sender: TObject);
  82.     procedure res6Click(Sender: TObject);
  83.     procedure res7Click(Sender: TObject);
  84.     procedure res8Click(Sender: TObject);
  85.     procedure res9Click(Sender: TObject);
  86.     procedure res10Click(Sender: TObject);
  87.     procedure res11Click(Sender: TObject);
  88.     procedure res12Click(Sender: TObject);
  89.     procedure res13Click(Sender: TObject);
  90.     procedure res14Click(Sender: TObject);
  91.     procedure res15Click(Sender: TObject);
  92.     procedure res16Click(Sender: TObject);
  93.     procedure version1Click(Sender: TObject);
  94.     procedure version2Click(Sender: TObject);
  95.     procedure EditXKeyPress(Sender: TObject; var Key: Char);
  96.     procedure EditYKeyPress(Sender: TObject; var Key: Char);
  97.     procedure BtnRunClick(Sender: TObject);
  98.     procedure Label3Click(Sender: TObject);
  99.     procedure res17Click(Sender: TObject);
  100.     procedure Button1Click(Sender: TObject);
  101.   private
  102.     { Private declarations }
  103.   public
  104.     { Public declarations }
  105.   end;
  106.  
  107. var
  108.   workini: TIniFile;
  109.   loadini: string;
  110.   Form1: TForm1;
  111.   resolutionx: String;
  112.   resolutiony: String;
  113.   diretorio: String;
  114.   atualx: Integer;
  115.   atualy: Integer;
  116.  
  117. implementation
  118.  
  119. uses Math;
  120.  
  121. {$R *.dfm}
  122.  
  123. procedure TForm1.Button2Click(Sender: TObject);
  124. begin
  125.   GroupBox1.Caption:=('Escolha sua resolução');
  126.   lbadvise.Caption:=('Atenção: Não selecione resoluções maiores que seu monitor pode suportar, isto é serio!');
  127.   BtnRun.Caption:=('Executar');
  128.   GrupAom.Caption:=('Versão do AOM');
  129.   res16.Caption:=('Personalizar');
  130.   Label3.Caption:=('Criado por Renan Cavalieri (www.tecdicas.com), programa freeware.');
  131.   Label4.Caption:=('Para este programa funcionar, é necessário copia-lo para a pasta do Age Of Mhythology e');
  132.   Label5.Caption:=('executar este arquivo na pasta do jogo.');
  133.   workini.WriteString('lang','id','br');
  134.   Button1.Caption:=('Identificar');
  135. end;
  136.  
  137. procedure TForm1.Button3Click(Sender: TObject);
  138. begin
  139.   workini.WriteString('lang','id','en');
  140.   GroupBox1.Caption:=('Chose your resolution');
  141.   lbadvise.Caption:=('Warning: Do not select higher resolutions that your monitor can support, is serious!');
  142.   BtnRun.Caption:=('Run');
  143.   GrupAom.Caption:=('AOM Version');
  144.   res16.Caption:=('Custom');
  145.   Label3.Caption:=('Created by Renan Cavalieri (www.tecdicas.com), freeware software.');
  146.   Label4.Caption:=('For this program to work, you must copy it to the folder of the Age Of Mhythology and');
  147.   Label5.Caption:=('run this file in the game.');
  148.   Button1.Caption:=('identify');
  149. end;
  150.  
  151. procedure TForm1.res1Click(Sender: TObject);
  152. begin
  153.   EditX.ReadOnly:=True;
  154.   EditX.Enabled:=False;
  155.   EditY.ReadOnly:=True;
  156.   EditY.Enabled:=False;
  157.   EditX.Text:=('800');
  158.   EditY.Text:=('600');
  159.   workini.WriteString('res','last','1');
  160. end;
  161.  
  162. procedure TForm1.res2Click(Sender: TObject);
  163. begin
  164.   EditX.ReadOnly:=True;
  165.   EditX.Enabled:=False;
  166.   EditX.Text:=('960');
  167.   EditY.Text:=('600');
  168.   workini.WriteString('res','last','2');
  169. end;
  170.  
  171. procedure TForm1.FormActivate(Sender: TObject);
  172.   var locate: string;
  173. begin
  174.   diretorio:=GetCurrentDir;
  175.   workini:=TIniFile.Create(diretorio+'/reschanger.ini');
  176.   workini.ReadString('res','last', loadini);
  177.   if workini.ReadString('res','last', loadini)='' then
  178.   begin
  179.     workini.WriteString('res','last','1');
  180.   end;
  181.   if workini.ReadString('game','version', loadini)='' then
  182.   begin
  183.     workini.WriteString('game','version','aom');
  184.   end;
  185.   locate:=FileSearch('aom.exe', diretorio);
  186.   if FileExists(locate) then
  187.   begin
  188.     Form1.Refresh;
  189.   end
  190.   else
  191.   begin
  192.     ShowMessage('Error 10: Age of Mythology "AOM.EXE" not found! Please read the file "setup.txt" or "instalar.txt"');
  193.     Application.Terminate;
  194.   end;
  195.   locate:=FileSearch('aomx.exe', diretorio);
  196.   if FileExists(locate) then
  197.   begin
  198.     Form1.Refresh;
  199.   end
  200.   else
  201.   begin
  202.     ShowMessage('Error 11: Age of Mythology: The Titans "AOMX.EXE" not found!');
  203.     version2.Enabled:=False;
  204.     version1.SetFocus;
  205.     workini.WriteString('game','version','aom');
  206.   end;
  207.   if workini.ReadString('lang','id', loadini)='en' then
  208.   begin
  209.     Button3.Click;
  210.   end
  211.   else
  212.   begin
  213.     Button2.Click
  214.   end;
  215.  
  216. if workini.ReadString('res','last', loadini)='1' then
  217. begin
  218.   res1.SetFocus;
  219. end;
  220.  
  221. if workini.ReadString('res','last', loadini)='2' then
  222. begin
  223.   res2.SetFocus;
  224. end;
  225.  
  226. if workini.ReadString('res','last', loadini)='3' then
  227. begin
  228.   res3.SetFocus;
  229. end;
  230.  
  231. if workini.ReadString('res','last', loadini)='4' then
  232. begin
  233.   res4.SetFocus;
  234. end;
  235.  
  236. if workini.ReadString('res','last', loadini)='5' then
  237. begin
  238.   res5.SetFocus;
  239. end;
  240.  
  241. if workini.ReadString('res','last', loadini)='6' then
  242. begin
  243.   res6.SetFocus;
  244. end;
  245.  
  246. if workini.ReadString('res','last', loadini)='7' then
  247. begin
  248.   res7.SetFocus;
  249. end;
  250.  
  251. if workini.ReadString('res','last', loadini)='8' then
  252. begin
  253.   res8.SetFocus;
  254. end;
  255.  
  256. if workini.ReadString('res','last', loadini)='9' then
  257. begin
  258.   res9.SetFocus;
  259. end;
  260.  
  261. if workini.ReadString('res','last', loadini)='10' then
  262. begin
  263.   res10.SetFocus;
  264. end;
  265.  
  266. if workini.ReadString('res','last', loadini)='11' then
  267. begin
  268.   res11.SetFocus;
  269. end;
  270.  
  271. if workini.ReadString('res','last', loadini)='12' then
  272. begin
  273.   res12.SetFocus;
  274. end;
  275.  
  276. if workini.ReadString('res','last', loadini)='13' then
  277. begin
  278.   res13.SetFocus;
  279. end;
  280.  
  281. if workini.ReadString('res','last', loadini)='14' then
  282. begin
  283.   res14.SetFocus;
  284. end;
  285.  
  286. if workini.ReadString('res','last', loadini)='15' then
  287. begin
  288.   res15.SetFocus;
  289. end;
  290.  
  291. if workini.ReadString('res','last', loadini)='16' then
  292. begin
  293.   res16.SetFocus;
  294.   EditX.Text:=(workini.ReadString('res','customx', EditX.Text));
  295.   EditY.Text:=(workini.ReadString('res','customy', EditY.Text));
  296. end;
  297.  
  298. if workini.ReadString('res','last', loadini)='17' then
  299. begin
  300.   res17.SetFocus;
  301. end;
  302.  
  303. if workini.ReadString('game','version', loadini)='aom' then
  304. begin
  305.   version1.SetFocus;
  306. end;
  307.  
  308. if workini.ReadString('game','version', loadini)='aomx' then
  309. begin
  310.   version2.SetFocus;
  311. end;
  312. end;
  313.  
  314. procedure TForm1.res3Click(Sender: TObject);
  315. begin
  316.   EditX.ReadOnly:=True;
  317.   EditX.Enabled:=False;
  318.   EditY.ReadOnly:=True;
  319.   EditY.Enabled:=False;
  320.   EditX.Text:=('1024');
  321.   EditY.Text:=('768');
  322.   workini.WriteString('res','last','3');
  323. end;
  324.  
  325. procedure TForm1.res4Click(Sender: TObject);
  326. begin
  327.   EditX.ReadOnly:=True;
  328.   EditX.Enabled:=False;
  329.   EditY.ReadOnly:=True;
  330.   EditY.Enabled:=False;
  331.   EditX.Text:=('1280');
  332.   EditY.Text:=('720');
  333.   workini.WriteString('res','last','4');
  334. end;
  335.  
  336. procedure TForm1.res5Click(Sender: TObject);
  337. begin
  338.   EditX.ReadOnly:=True;
  339.   EditX.Enabled:=False;
  340.   EditY.ReadOnly:=True;
  341.   EditY.Enabled:=False;
  342.   EditX.Text:=('1280');
  343.   EditY.Text:=('768');
  344.   workini.WriteString('res','last','5');
  345. end;
  346.  
  347. procedure TForm1.res6Click(Sender: TObject);
  348. begin
  349.   EditX.ReadOnly:=True;
  350.   EditX.Enabled:=False;
  351.   EditY.ReadOnly:=True;
  352.   EditY.Enabled:=False;
  353.   EditX.Text:=('1280');
  354.   EditY.Text:=('800');
  355.   workini.WriteString('res','last','6');
  356. end;
  357.  
  358. procedure TForm1.res7Click(Sender: TObject);
  359. begin
  360.   EditX.ReadOnly:=True;
  361.   EditX.Enabled:=False;
  362.   EditY.ReadOnly:=True;
  363.   EditY.Enabled:=False;
  364.   EditX.Text:=('1280');
  365.   EditY.Text:=('960');
  366.   workini.WriteString('res','last','7');
  367. end;
  368.  
  369. procedure TForm1.res8Click(Sender: TObject);
  370. begin
  371.   EditX.ReadOnly:=True;
  372.   EditX.Enabled:=False;
  373.   EditY.ReadOnly:=True;
  374.   EditY.Enabled:=False;
  375.   EditX.Text:=('1280');
  376.   EditY.Text:=('1024');
  377.   workini.WriteString('res','last','8');
  378. end;
  379.  
  380. procedure TForm1.res9Click(Sender: TObject);
  381. begin
  382.   EditX.ReadOnly:=True;
  383.   EditX.Enabled:=False;
  384.   EditY.ReadOnly:=True;
  385.   EditY.Enabled:=False;
  386.   EditX.Text:=('1440');
  387.   EditY.Text:=('900');
  388.   workini.WriteString('res','last','9');
  389. end;
  390.  
  391. procedure TForm1.res10Click(Sender: TObject);
  392. begin
  393.   EditX.ReadOnly:=True;
  394.   EditX.Enabled:=False;
  395.   EditY.ReadOnly:=True;
  396.   EditY.Enabled:=False;
  397.   EditX.Text:=('1600');
  398.   EditY.Text:=('900');
  399.   workini.WriteString('res','last','10');
  400. end;
  401.  
  402. procedure TForm1.res11Click(Sender: TObject);
  403. begin
  404.   EditX.ReadOnly:=True;
  405.   EditX.Enabled:=False;
  406.   EditY.ReadOnly:=True;
  407.   EditY.Enabled:=False;
  408.   EditX.Text:=('1680');
  409.   EditY.Text:=('1050');
  410.   workini.WriteString('res','last','11');
  411. end;
  412.  
  413. procedure TForm1.res12Click(Sender: TObject);
  414. begin
  415.   EditX.ReadOnly:=True;
  416.   EditX.Enabled:=False;
  417.   EditY.ReadOnly:=True;
  418.   EditY.Enabled:=False;
  419.   EditX.Text:=('1600');
  420.   EditY.Text:=('1200');
  421.   workini.WriteString('res','last','12');
  422. end;
  423.  
  424. procedure TForm1.res13Click(Sender: TObject);
  425. begin
  426.   EditX.ReadOnly:=True;
  427.   EditX.Enabled:=False;
  428.   EditY.ReadOnly:=True;
  429.   EditY.Enabled:=False;
  430.   EditX.Text:=('1920');
  431.   EditY.Text:=('1080');
  432.   workini.WriteString('res','last','13');
  433. end;
  434.  
  435. procedure TForm1.res14Click(Sender: TObject);
  436. begin
  437.   EditX.ReadOnly:=True;
  438.   EditX.Enabled:=False;
  439.   EditY.ReadOnly:=True;
  440.   EditY.Enabled:=False;
  441.   EditX.Text:=('1920');
  442.   EditY.Text:=('1440');
  443.   workini.WriteString('res','last','14');
  444. end;
  445.  
  446. procedure TForm1.res15Click(Sender: TObject);
  447. begin
  448.   EditX.ReadOnly:=True;
  449.   EditX.Enabled:=False;
  450.   EditY.ReadOnly:=True;
  451.   EditY.Enabled:=False;
  452.   EditX.Text:=('2048');
  453.   EditY.Text:=('1530');
  454.   workini.WriteString('res','last','15');
  455. end;
  456.  
  457. procedure TForm1.res16Click(Sender: TObject);
  458. begin
  459.   EditX.ReadOnly:=False;
  460.   EditX.Enabled:=True;
  461.   EditY.ReadOnly:=False;
  462.   EditY.Enabled:=True;
  463.   EditX.Text:=('');
  464.   EditY.Text:=('');
  465.   EditX.SetFocus;
  466.   workini.WriteString('res','last','16');
  467. end;
  468.  
  469. procedure TForm1.version1Click(Sender: TObject);
  470. begin
  471.   EditV.Text:=('aom.exe')  ;
  472.   workini.WriteString('game','version','aom');
  473. end;
  474.  
  475. procedure TForm1.version2Click(Sender: TObject);
  476. begin
  477.   EditV.Text:=('aomx.exe');
  478.   workini.WriteString('game','version','aomx');
  479. end;
  480.  
  481. procedure TForm1.EditXKeyPress(Sender: TObject; var Key: Char);
  482. begin
  483.   if key = #13 then
  484.   begin
  485.     key:=#0;
  486.     EditY.SetFocus;
  487.   end;
  488.   if Not (key in ['0'..'9',#8]) then
  489.     key := #0;
  490.   end;
  491.  
  492. procedure TForm1.EditYKeyPress(Sender: TObject; var Key: Char);
  493. begin
  494.   if key = #13 then
  495.   begin
  496.     key:=#0;
  497.     BtnRun.SetFocus;
  498.   end;
  499.   if Not (key in ['0'..'9',#8]) then
  500.   key := #0;
  501.   end;
  502.  
  503. procedure TForm1.BtnRunClick(Sender: TObject);
  504. var run: String;
  505. begin
  506.   If EditX.Text=('') then
  507.   begin
  508.     ShowMessage('Custom resolution was not set')
  509.   end
  510.   else
  511.     If EditY.Text=('') then
  512.   begin
  513.     ShowMessage('Custom resolution was not set')
  514.   end
  515.   else
  516.   begin
  517.     workini.WriteString('res','customx', EditX.Text);
  518.     workini.WriteString('res','customy', EditY.Text);
  519.     run:=(EditV.Text+'  xres='+EditX.Text+' yres='+EditY.Text);
  520.     WinExec(pchar(run), SW_SHOWNORMAL);
  521.   end;
  522. end;
  523.  
  524. procedure TForm1.Label3Click(Sender: TObject);
  525. begin
  526.   ShellExecute(Handle,'open','http://www.tecdicas.com',nil,nil,SW_SHOWNORMAL);
  527. end;
  528.  
  529. procedure TForm1.res17Click(Sender: TObject);
  530. begin
  531.   EditX.ReadOnly:=True;
  532.   EditX.Enabled:=False;
  533.   EditY.ReadOnly:=True;
  534.   EditY.Enabled:=False;
  535.   EditX.Text:=('1360');
  536.   EditY.Text:=('768');
  537.   workini.WriteString('res','last','17');
  538. end;
  539. procedure TForm1.Button1Click(Sender: TObject);
  540. begin
  541.   atualx:=Screen.Width;
  542.   atualy:=Screen.Height;
  543.   if workini.ReadString('lang','id', loadini)='br' then
  544.   begin
  545.     ShowMessage('Neste momento seu monitor está exibindo a resolução '+IntToStr(atualx)+'x'+IntToStr(atualy));
  546.   end
  547.   else
  548.   begin
  549.     ShowMessage('Right now your monitor is displaying this resolution: '+IntToStr(atualx)+'x'+IntToStr(atualy));
  550.   end;
  551. end;
  552. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement