XBMC Screensaver Competition

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
jmarshall Offline
Team-XBMC Developer
Posts: 24,570
Joined: Oct 2003
Reputation: 138
Post: #11
thanks warren! that'll be a great help to others.

cheers,
jonathan

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: badge.gif]
find quote
Hullebulle Offline
Posting Freak
Posts: 1,966
Joined: Sep 2003
Reputation: 0
Post: #12
(warren @ jan. 09 2005,10:06 Wrote:i have just posted two files to the 3rd party upload site (they're currently awaiting approval). one of them is a windows dx8 based test harness for xbmc screensaver plugins and the other is a new version of forza's templatexbs which includes a test build target that allows you to make use of testxbs without making any changes to your code.

hopefully this will enable more people to compete in the competition as you now don't need an xbox (or at least one next to your computer) to develop screensavers.
published the files here. Smile

read the xbmc online-manual, faq and search the forums before posting! do not e-mail the xbmc-team asking for support!
read/follow the forum rules! note! team-xbmc never have and never will host or distribute ms-xdk binaries/executables!
find quote
malloc Offline
Team-XBMC Developer
Posts: 1,062
Joined: May 2004
Reputation: 0
Post: #13
warren,

this is a great tool.  there are a few bugs, however.  i fixed a problem with the speed, but i can't figure out how to get initdx8 to work so that it emulates xbmc properly.  if you or any of the developers would help, that would be greatly appreciated.  atm it doesn't work correctly with pyro, and simply trying to display a rectangle doesn't work either.

alright, i got it to work well enough. it still isn't exactly as xbmc is, but at least pyro works now. rather then upload it to the site and wait for approval i just put it up on my personal website.

http://www.seansoria.com/testxbs.zip

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.
find quote
Warren Offline
Junior Member
Posts: 8
Joined: Sep 2004
Reputation: 0
Post: #14
thanks malloc!

i forgot to fix the speed issue, but i thought i had the clean exit fixed (error before was due to a double free of directx stuff). it's interesting to know that changing to hw vertex processing fixed some stuff, i threw this together based on some dx8 demos i found on the net.

as for the rectangle thing, i'd been having that problem for days know and just thought it was due to my dx ineptitude - good to hear that its not. i'll try running my demos on the xbox to see if the actually work now Smile

could one of the devs please throw malloc's version of testxbs up on the 3rd party upload site as a new version?
find quote
malloc Offline
Team-XBMC Developer
Posts: 1,062
Joined: May 2004
Reputation: 0
Post: #15
so i've gotten some code to work on my pc using the test harness, but when i go to compile it for the xbox i get linking errors. it appears to have to do with the fact that it is being linked against xbox_dx8.lib instead of a real library. i'm pretty sure the funtion it's complaining about exists, i just don't know how to get it to link properly. any help is appreciated.

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.
find quote
forza Offline
Retired Developer
Posts: 293
Joined: Jan 2004
Reputation: 0
Post: #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: badge.gif]
find quote
malloc Offline
Team-XBMC Developer
Posts: 1,062
Joined: May 2004
Reputation: 0
Post: #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.
find quote
forza Offline
Retired Developer
Posts: 293
Joined: Jan 2004
Reputation: 0
Post: #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: badge.gif]
find quote
malloc Offline
Team-XBMC Developer
Posts: 1,062
Joined: May 2004
Reputation: 0
Post: #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.
find quote
forza Offline
Retired Developer
Posts: 293
Joined: Jan 2004
Reputation: 0
Post: #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: badge.gif]
find quote
Post Reply