b8 @¨ 6€€0€@€þÿüð¹€.text€€ 8 .rdata 8€ 8€0 X.dataP8€P8€ PX@.sdatað9€ð9€€ðY.sbssp:€p:€.bss�:€�:€@€€€<Àºc$!CЉ ! @!èÀ¿�¾�à½'Ðÿ½',¿¯(¾¯. !ð €<°9"¬€<°9cŒ b0@€<й„$; !(€<°9cŒ€b0@€<й„$; $€<°9cŒ@b0@€<й„$~ $€<°9cŒ€b0@€<й„$ $!0×  !8€<°9cŒ b0@€<й„$öÿ$!0×  !8€<°9cŒ@b0@€<й„$!( $×  !8€<°9cŒb0@€<й„$!(öÿ$×  !8€<°9cŒb0@`ð$¢¯xì$¢¯ ¯ ¯  ¯€@,Â�Ä�ƒŒ ¶<·`„4d@¨È¯¨È�! *Ã'#¤C¤,Â�Ã�d$ƒŒ ¶<·`„4d@¨È¯¨È�! *Ã'#¤C¤,Â�Ã�d$ƒŒ ¶<·`„4d@¨È¯¨È�! *Ã'#¤C¤Â� C$ï,Ã�b$! @0Å�¾· Ã�b0)@,Â�Ã�d„D¬,Â�Ä�ƒ$d„D¬,Â�Ä�ƒ$d„D¬Â�C$ïÃ�b0@,Ã�b$! @0Å�¾· 0Ä�,Å�nµ Ã�b0@,Â�Ã�dŒD¬,Â�Ä�ƒ$dŒD¬,Â�Ä�ƒ$dŒ D¬Â� C$ï,Ã�b$0Ä�bµ !(@eÌÂ�@Â�CŒÿÿb0ÌÄ�ÈÅ�á !0@! @(Å�=� !0eÐÂ�$+CÂ�CŒ `Â�CŒÿÿ4bV(Â�CŒH`¬Ã�b$!@gïÂ�C$ïÄÄ�EŒÔ 4¯(Ã�bŒ4Ã�dŒHD¬eÄÂ�@Â�@$ C‚ÄÄ�Å�  ‚ÄÄ�Å�… ‚eÃ�b0e@Ã�b0<@Â�!@Ã�! `Ä�€ #include #include "pad.h" // pad controller functions #include "tod.h" // definition for TOD functions #include "IDLists.h" // TMD ID list #include "graphics.h" // anything to do with display objects #include "addrs.h" // memory addresses of TMDS and TODS // DEFINES //------------ // PROTOTYPES //------------ void UpdateWorld(); void RenderWorld(); long ProcessInput(); // GLOBALS //---------- u_long pad; // For controller GsRVIEW2 view; // For viewing LinkObjectStruct theModel; // The instance of the model object ////////////////////////////////////////////////////////////////////////////////// // Updates everything in the world. void UpdateWorld() { } // Renders the graphics in the // world. void RenderWorld() { RenderPrepare(); DrawObjectLink(theModel.objs); RenderFinish(); } // Processes all user input. long ProcessInput() { /* Read the pad data */ pad = PadRead(); if((pad & PADRright) > 0) ResetAnim(&theModel,0); if((pad & PADRleft) > 0) ResetAnim(&theModel,1); if((pad & PADRdown) > 0) NextFrame(&theModel,TRUE); //if ((pad & PADo) >0){ view.vpz -= 100; GsSetRefView2(&view); } if ((pad & PADLleft) >0){MoveModel(&theModel.Object_Coord,10,0,0); } if ((pad & PADLright)>0){MoveModel(&theModel.Object_Coord,-10,0,0);} if ((pad & PADLdown)>0) {MoveModel(&theModel.Object_Coord,0,10,0); } if ((pad & PADLup)>0) {MoveModel(&theModel.Object_Coord,0,-10,0);} if ((pad & PADh)>0) InitialiseView(&view,100,0,-2000,-4000,-5000,0,0,0); if ((pad & PADk)>0) return FALSE; return TRUE; } ////////////////////////////////////////////////////////// // Main routine //-------------- void main() { long running=TRUE; PadInit(); Initialise3DGraphics(); InitialiseView(&view,100,0,0,-2000,-4000,0,0,0); InitialiseLights(); InitialiseModelLink(&theModel,1,0,0,0,ô€@€˜€ä€”€”€€”€¤€Œ€  ÿÿÿÿÿÿÿÿð¹€ÐM€!bTC$Â�b¬Â�Ã�! `€!bTC$Â�Ã�! `€! bT‚$Ã�Ä�!(€€ !ƒTd$…Œ£$! `D¬Â�Ã�! `€! bl‚$Ã�Ä�!(€€ !(ƒT£$dŒ…$e¬ƒŒC¬Â�Ã�! `€! bt‚$Ã�Ä�!(€€ !ƒTd$…Œ£$dŒD¬Â� Ã�˜C¬!èÀ¾�à½'àÿ½'¿¯¾¯!ð  į$ů Â� Ã�$Ä�!(€€ !ƒTd$ƒŒ\C¬ Â�$Ã�! `€! bt‚$ Ã� Ä�Œ†$ Ç� Ä�P…Œ¥¯$¤¯DŒ\eŒ˜çŒÄ Ã�\b¬ Â�ŒDŒ�EŒ”FŒ Â� Ã�$Ä�!(€€ !ƒtd$ƒŒhC¬ Â�$Ã�`C¬!èÀ¿�¾�à ½'àÿ½'¿¯¾¯!ð  į$ů Â� Ã�\dŒƒ$dŒdD¬ Â�dCŒb$ Ã� Ä�`…Œ!  €(! £lƒ$ Ä� Å�`¦Œ!(À€0! Ät…$cŒ¤Œ!d*C'@ Â� Ã� Ä�Œ†$ Ç� Ä�P…Œ¥¯$¤¯dDŒ\eŒ˜çŒÄ Ã�\b¬ Â�ŒDŒ�EŒ”FŒ Â� Ã�ddŒhD¬ù!ù$Â�$ C Â� Ä�`EŒP ù!ùù$!èÀ¿�¾�à ½'Øÿ½'$¿b