Developing For OpenBOR

Please hold off on posting a build - I want to go over the code changes first. I'll be posting one on Wednesday (tomorrow).

DC
 
Damon Caskey said:
Please hold off on posting a build - I want to go over the code changes first. I'll be posting one on Wednesday (tomorrow).

DC

No problem!

For developers:
see the checkplatformbelow() code:
Code:
HRESULT openbor_checkplatformbelow(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount)
{
    ScriptVariant *arg = NULL;
    DOUBLE x, z, a;

    if(paramCount < 3)
    {
        *pretvar = NULL;
        return E_FAIL;
    }

    ScriptVariant_ChangeType(*pretvar, VT_DECIMAL);
    (*pretvar)->dblVal = (DOUBLE)0;

    arg = varlist[0];
    if(FAILED(ScriptVariant_DecimalValue(arg, &x)))
    {
        return S_OK;
    }

    arg = varlist[1];
    if(FAILED(ScriptVariant_DecimalValue(arg, &z)))
    {
        return S_OK;
    }

    arg = varlist[2];
    if(FAILED(ScriptVariant_DecimalValue(arg, &a)))
    {
        return S_OK;
    }

    ScriptVariant_ChangeType(*pretvar, VT_PTR);
    (*pretvar)->ptrVal = (VOID *)check_platform_below((float)x, (float)z, (float)a, NULL);
    return S_OK;
}

This function for me have to return always a PTR. Right?
Why  I read these lines?
    ScriptVariant_ChangeType(*pretvar, VT_DECIMAL);
    (*pretvar)->dblVal = (DOUBLE)0;

I think to change these lines into:
    ScriptVariant_ChangeType(*pretvar, VT_PTR);
    (*pretvar)->ptrVal = (VOID *)NULL;

Or something I'm missing?
 
ok guys!
getanimationproperty() and changeanimationproperty() completed to100%!!
Not full test yet, but it should work fine!  ;)
 
I carry a log of all my changes so far:

- Fixed getentityproperty( {ent}, "aiflag", "walking" ) flag
- added offset in animation property
- fixed nograb reset on setidle()
- added a new standard sample: pause.wav (if missing it uses beep2.wav)
- Fixed a HEAVY bug in searchList(LIST, propname, MAXINDEX).
Old one commented and replaced with a new searchList() based on binarySearch.
The newest is more fast and it has a minor computational complexity cost and no bugs!
- fixed all arranged static const char* lists. bug fixed in openborvariants and playerproperties
- added to fast SQRT/SIN/COS by uTunnels other important math functions:
pow(double,double);
asin(double);
acos(double);
atan(double);
ssin(double); // not approx.
scos(double); // not approx.
- added a new openborvariant: "cheats". It's true if cheats are actived, else return s false
- solved a bug for the cheatoptions() for the custom menu
- added the hall of fame for the custom menu: hallfame() function.
working on arrays:
- improved size() -> now it works for labeled array too
- added add(array,index,value) to increment array dynamically
- added delete(array,index) or delete(array,label) to decrement array dynamically
Working on filestreams:
- added 3th param for getfilestreamargument(0, 0, "byte") to read a byte from a file
- added 4th param for filestreamappend(savefile,200,2,"byte") to write a byte into a file
- added 4th and 5th params for savefilestream(savefile,"testwrite.txt",0,"saves/","byte") to save the filestream:
4th param is the custom save path
5th param is the byte write (no newline at EOF)
Working on changeanimationproperty.
- Fixed NOSAME bug and improved. Now you can use:
NOSAME 1
NOSAME 1 2
NOSAME 0 2
flag 2 is for colourmap. If active it skip same colourmap ONLY for same players
- improved bindentity(): now you can set NULL() axis to do a partial binding
- fixed strange speedy effect when engine changes continuously lasthitc variant
- Added big functions getanimationproperty()/changeanimationproperty()
Working on platforms:
- added new event script: onblockpscript (it works like onblockwscript but for platform)
  localvars: self, plane, platform entity
- added checkplatformabove(x,z,y)
- added checkplatformbetween(x,z,y_min,y_max)
 
I'm testing as we speak, my own changes too. I'll post a devbuild as promised soon as I'm done.

Afterwards I'm going to make sure all coders have access to the development area and move most of this thread there. This wasn't meant to be an ongoing discussion thread - just instructions for people who want to join the team.

DC
 
Damon Caskey said:
I'm testing as we speak, my own changes too. I'll post a devbuild as promised soon as I'm done.

Afterwards I'm going to make sure all coders have access to the development area and move most of this thread there. This wasn't meant to be an ongoing discussion thread - just instructions for people who want to join the team.

DC

Ok, tnx!!

I posted another update:
Working on platforms:
- added new event script: onblockpscript (it works like onblockwscript but for platform)
  localvars: self, plane, platform entity
- added checkplatformabove(x,z,y)
- added checkplatformbetween(x,z,y_min,y_max)
 
Great work, guys! Very good to see old bugs solved (maybe someday the first frame bug could be fixed too) and loved the new way to set attack.

About onblockpscript:
- self is self explanatory
- plane means what?
- platforms are now identified by IDs?

I am waiting for more information to update the manual (and DC, your wikia is down btw). Just please keep everything documented, I beg you :)
Some old coders loved to add things at the engine with zero instructions, lol

Congrats everyone.
 
O Ilusionista said:
Great work, guys! Very good to see old bugs solved (maybe someday the first frame bug could be fixed too) and loved the new way to set attack.

About onblockpscript:
- self is self explanatory
- plane means what?
- platforms are now identified by IDs?

I am waiting for more information to update the manual (and DC, your wikia is down btw). Just please keep everything documented, I beg you :)
Some old coders loved to add things at the engine with zero instructions, lol

Congrats everyone.

Hi O'!
localvars:
self = entity that blocks on Platform;
plane = 1  if enity blocked on x axis and 2 on z axis
platform = the Platform entity handler (ptr) that blocks the entity.

Example
platform = getlocalvar("platform"); // this is the platform entity
 
I don't know if I will be able to contribute a lot because I haven't used C since my days as a college student, but I used to play a lot to OpenBOR mods a couple of years ago and I have some curiosity about how is OpenBOR implemented.

If you want to give me access to the repository, this is my SourceForge username:
darkh3art

Thanks.
 
Just checking but can anyone code java to possibly export to iphone as the engine is up to sdl 2.0 i think
 
On phone right now, will go through this list and add names tomorrow.

DC
 
My github name is Demothens.

I was able to add Wii u pro controller support using Fix94's libwupc libraries, and msmalik suggested i applied to the development team. Id like to work more on compatibility  of pro controllers  and eventually work on adding support for the Wii U gamepad.
 
@Demothens its nice to see you here man! I thank you for what you have already done with OpenBor Wii and look forward to seeing your work on WiiU gamepad port come to fruition one day.  8)

@nsw25, The most direct way to access Wii OpenBor from Wii U menu would be with a Wii U homebrew forwarder channel like hbl2hbc, but to be able to do that you need to install vWii OpenBor channel first.

You can download it here http://www.chronocrash.com/forum/index.php?topic=3951.0
and I should provide the Wii U portion of hbl2hbc later but you need to have a WiI U portion capable of homebrew already to install that part. Send me PM if you have any questions. Cheers!

 
nsw25 said:
Hi welcome. I was wondering how wiiu gamepads etc will work when openbor can only be run through virtual wii mode on the wiiu. or is there a way to setup openbor on wiiu directly and not through wii system mode ?

For the Wii u pro controller its just a Bluetooth controller so all the hardware is available to the wii to connect to it just needs the code to know how, which is what the wupc library creates. For the gamepad there is also a library for wii homebrew to utilize, but if you just boot the homebrew normally, vwii locks all input from the gamepad. This can be bypassed by injecting the boot.dol into a wii vc title and booting into it straight from the wii u menu. This has been used by wiisxr and wii64 to not only add gamepad support, but also to unlock the full wii u cpu speed.
 
boot.dol is the openbor program. Wii homebrew is compiled into a boot.dol file which then can be ran on the console. So injecting it into a Wii vc title on the Wii u is just injecting openbor into the title.  Hopefully that makes sense.  I'm new to openbor so i'm not sure if there are any paks that struggle on the wii but if there are, unlocking the cpu should give a decent speed up as it takes the wii's 729mhz and bumps it up to wii u's full 1.25 Ghz. I'm not sure if vwii can access the rest of the wii u's ram and i have not heard of it being done.
 
Demothens has been added to the repository as a collaborator. Welcome to the forum BTW.

DC
 
Back
Top Bottom