XBMC Screensaver Competition
#16
it depends on which function it is - all the dx8 calls are emulated by xbmc on your behalf. check the .def file that came with the xbox_dx8.lib to see if your function is listed. if it isn't post the functions (preferably the ouput from the linker error) you are missing here and i'll see if they can be added.

you can see a list of the emulated calls in the xbmc source itself by looking at /xbmc/xbmc/cores/dllloader/directx8.h (cvs version)

hope this helps.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#17
here are my errors.  also, if you can tell me the steps necessary to make the changes myself, i'd be happy to do that as well.  it would speed up my development time as well as take the load off the developers for such a tedious task.


Quote:linking...
  creating library release/template.lib and object release/template.exp
logoscreensaver.obj : error lnk2019: unresolved external symbol _d3ddevice_settransform@8
logoscreensaver.obj : error lnk2019: unresolved external symbol _d3dxmatrixperspectivefovlh@20
logoscreensaver.obj : error lnk2019: unresolved external symbol _d3dxmatrixlookatlh@16
logoscreensaver.obj : error lnk2019: unresolved external symbol _d3dxmatrixrotationx@8
logoscreensaver.obj : error lnk2019: unresolved external symbol _d3dxcreatetexturefromfilea@12
release/template.xbs : fatal error lnk1120: 5 unresolved externals
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#18
the only dx8 call in your list not currently emulated by xbmc is matrixrotationx - all the others are already in place. to get the other function calls into the xbox_dx8.lib edit the xbox_dx8.def file and simply add the missing entries;

d3ddevice_settransform@8
d3dxmatrixperspectivefovlh@20
d3dxmatrixlookatlh@16
d3dxmatrixrotationx@8
d3dxcreatetexturefromfilea@12

then run the makelib batch file to create a new xbox_dx8.lib - note; use the visual studio command prompt option so that the path to libs etc. are set in the environment, this is found in the visual studio .net tools program group on your start menu.

you should then be able to compile your screensaver without the linker errors.

next you will need to add the missing matrixrotationx function to xbmc; edit the xbmc/cores/dllloader/directx8.h file and add;

exp2dll* xbox_dx8_exp93 = new exp2dll("xbox_dx8.dll", "d3dxmatrixrotationx@8", (unsigned long)d3dxmatrixrotationx);

recompile xbmc, copy your screensaver .xbs and .xml config file (if applicable) to the screensaver folder on your xbox and give it a whirl!

[note; i'm typing all this from work without the ability to check if any of it is correct - hopefully i've got it right Smile]
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#19
i haven't been able to get output to print to the log. i've tried both printf and outputdebugstring. i've also tried getting clog to work, but that was too difficult. is output supposed to go to xbmc.log automatically or do i need to open and route it myself?
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#20
outputdebugstring will send text to the debug output window when running xbmc from visual studio .net.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#21
ah, nevermind, it makes sense now. i was overthinking the problem, not realising that you simply have two include/link paths, one for dx8 on the pc, the other for the xdk.

i tried the wrapper, using pyro to test. when i went to run it, i got "this application has failed to start because xbox_dx8.dll was not found. re-installing the application may fix this problem."

what obvious thing am i missing? (new to xbox, not new to coding)
Reply
#22
i'm having difficulty getting anything working on the xbox. i have a simple example, basically just a slightly modified version of one of the codesampler.com dx8 samples, and it works fine in the test harness but gives a blank screen on the xbox (and usually hangs).

the (17kb) code is here: http://www.coolpowers.com/lab/data/cube.zip

any clues as to what i'm doing wrong?
Reply
#23
Exclamation 
@SiW, you're better off posting your questions either in this thread (link) if related to screensaver-api or create a new topic thread in the development forum
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#24
(siw @ jan. 31 2005,22:20 Wrote:i'm having difficulty getting anything working on the xbox.  i have a simple example, basically just a slightly modified version of one of the codesampler.com dx8 samples, and it works fine in the test harness but gives a blank screen on the xbox (and usually hangs).

the (17kb) code is here: http://www.coolpowers.com/lab/data/cube.zip

any clues as to what i'm doing wrong?
siw,

i haven't had a chance to look over your code in too much detail but did notice at least one mistake that may be causing problems.  try adding this code:

#ifdef _test
inline void d3dsetrenderstate(dword dwy, dword dwz)
{ m_pd3ddevice->setrenderstate((d3drenderstatetype)dwy,dwz); }
inline void d3dgetrenderstate(dword dwy, dword* dwz)
{ m_pd3ddevice->getrenderstate((d3drenderstatetype)dwy,dwz); }

#else
extern "c" void d3dgetrenderstate(dword dwy, dword* dwz);
extern "c" void d3dsetrenderstate(dword dwy, dword dwz);

#endif

and then change all of your setrenderstate calls to d3dsetrenderstate.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#25
thank you!

this was half of the problem, but it clued me into realising what the other half was. i was linking to the d3dx utility lib, because i didn't realise that all those functions were also emulated by xbmc - i thought it was just for the core d3d lib.

now everything works, and i can get back to making something pretty Smile
Reply
#26
Star 
xbmc screensaver competition reminder...

we just like remind all xbox developers that the submission dead-line for xbmc screensaver competition is this upcoming monday, (the 28th of february 2005, 24:00 g:mt). if you have not handed in your code/entry yet then please try to do so before the end of the weekend, (remember to include your contact details), don't miss your chance to win a x2vga-adapter.

ps! only have one entry for this contest has been submitted so far.

best wishes / team-xbmc
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#27
since the site is down is there a possibly for the xbs wrapper to be setup on a mirror?
Reply
#28
http://www.seansoria.com/testxbs.zip Huh

i'm no dev so i don't know what you mean exactly, but you don't specify very well (either)
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#29
Sad 
(pike @ feb. 26 2005,09:39 Wrote:
(demitrix @ feb. 26 2005,04:19 Wrote:since the site is down is there a possibly for the xbs wrapper to be setup on a mirror?
http://www.seansoria.com/testxbs.zip Huh i'm no dev so i don't know what you mean exactly, but you don't specify very well (either)
@demitrix, or do you mean templatexbs.rar? Huh (i don't know of any screensaver developers files being hosted on .com/.de before it want down)
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#30
well i got the testxbs but it need xbox_dx8.dll and visulization.dll
Reply

Logout Mark Read Team Forum Stats Members Help
XBMC Screensaver Competition0