Jump to content

Recommended Posts

Posted

I tried to translate this code from Bmax into codeblocks.

It loads the scene but nothing moves can anyone see why?

It complains about setstats which I commented out.

 

 

 

// ====================================================================

// This file was generated by LEBuilder

// http://leadwerks.com/werkspace

// ====================================================================

#include "engine.h"

#include <iostream>

#include <string>

 

const int ScreenWidth = 1200;

const int ScreenHeight = 900;

const char* MediaDir = "C:/mygame";

const char* AppTitle = "game";

TEntity scene;

TController player;

 

//Setup the player movement variables.

float move = 0.0 ;

float strafe = 0.0 ;

TVec3 camrotation = Vec3(0);

float mx = 0.0 ;

float my = 0.0;

float jump = 0.0;

float camy = 0.0;

float camz = 0.0;

 

void ErrOut( const std::string& message ) { std::cerr << message << std::endl; }

// -------------------------------

int main( int argn, char* argv[] )

{

if( !Initialize() )

return 1;

// Set graphics mode

SetAppTitle( AppTitle ) ;

if( !Graphics(ScreenWidth,ScreenHeight) )

{

ErrOut( "Failed to set graphics mode." );

return 1;

}

RegisterAbstractPath( MediaDir );

 

// Create framework object and set it to a global object so other scripts can access it

TFramework fw = CreateFramework();

if( fw == NULL )

{

ErrOut( "Failed to initialize engine." );

return 1;

}

AFilter(4);

TFilter(1);

// Set Lua framework object

SetGlobalObject( "fw", fw );

// Set Lua framework variable

BP lua = GetLuaState();

lua_pushobject( lua, fw );

lua_setglobal( lua, "fw" );

 

lua_pop( lua, 1 );

// Get framework main camera

TCamera camera = GetLayerCamera( GetFrameworkLayer(0) );

PositionEntity( camera, Vec3(3.18,0.2,41.86) );

scene = LoadScene("abstract::game03map.sbx");

//fw.SetStats(1) ;

//Create the controller

player=CreateController(2.0);

PositionEntity(player,EntityPosition(camera));

EntityType(player, 1);

SetBodyMass(player, 60.0);

Collisions(1, 1, 1);

// Skybox

SetSkybox(LoadMaterial("abstract::NiceSky.mat"));

SetBackgroundColor(Vec4(1 ,1, 1, 1));

 

HideMouse();

 

while( !KeyHit() && !AppTerminate() )

{

if( !AppSuspended() )

{

UpdateAppTime();

UpdateWorld(AppSpeed());

PositionEntity(player,EntityPosition(camera));

mx = Curve(MouseX() - GraphicsWidth() / 2, mx, 6) ;

my = Curve(MouseY() - GraphicsHeight() / 2, my, 6);

MoveMouse(GraphicsWidth() / 2, GraphicsHeight() / 2) ;

camrotation.X = camrotation.X + my / 10.0;

camrotation.Y = camrotation.Y - mx / 10.0 ;

RotateEntity(fw.Main.camera, camrotation);

move = KeyDown(KEY_W) - KeyDown(KEY_S) ;

strafe = KeyDown(KEY_D) - KeyDown(KEY_A) ;

jump = 0.0;

// If (KeyHit(KEY_SPACE) & ! ControllerAirborne(player) )

//jump = 4.0;

If (KeyDown(KEY_LSHIFT) )

{

move = move * 3.0 ;

strafe = strafe * 3.0 ;

}

PositionEntity(fw.Main.camera, Vec3(player.position.x, player.position.y + 0.8, player.position.z)) ;

camy = 0.5 ;

If (MouseZ()>0)

FlushMouse();

}

If (MouseZ()=0)

{

camy = 0.0 ;

camz = Curve(MouseZ(), camz, 10) ;

}

MoveEntity(fw.Main.camera, Vec3(0,camy,camz)) ;

 

UpdateController(player, camrotation.Y, move * 3, strafe * 3, jump, 500) ;

UpdateFramework();

RenderFramework();

 

Flip( 0 );

}

}

return Terminate();

amd quad core 4 ghz / geforce 660 ti 2gb / win 10

Blender,gimp,silo2,ac3d,,audacity,Hexagon / using c++

Posted
while( !KeyHit() && !AppTerminate() )
{
  if( !AppSuspended() )
  {
     UpdateAppTime();
     UpdateWorld(AppSpeed());

     PositionEntity(player,EntityPosition(camera));

     mx = Curve(MouseX() - GraphicsWidth() / 2, mx, 6) ;
     my = Curve(MouseY() - GraphicsHeight() / 2, my, 6);

     MoveMouse(GraphicsWidth() / 2, GraphicsHeight() / 2) ;
     camrotation.X = camrotation.X + my / 10.0;
     camrotation.Y = camrotation.Y - mx / 10.0 ;

     TCamera mainCam = GetLayerCamera( GetFrameworkLayer(0) );
      RotateEntity(mainCam, camrotation);

      move = KeyDown(KEY_W) - KeyDown(KEY_S) ;
      strafe = KeyDown(KEY_D) - KeyDown(KEY_A) ;
      jump = 0.0;

     // If (KeyHit(KEY_SPACE) & ! ControllerAirborne(player) )
        //jump = 4.0;

     if (KeyDown(KEY_LSHIFT) )
     {
         move = move * 3.0 ;
         strafe = strafe * 3.0 ;
     }

     TVec3 playerPos = EntityPosition(player);
     PositionEntity(mainCam, Vec3(playerPos.X, playerPos.Y + 0.8, playerPos.Z )) ;

     camy = 0.5 ;
     if (MouseZ()>0)
          FlushMouse();

     if (MouseZ()==0)
     {
         camy = 0.0 ;
         camz = Curve(MouseZ(), camz, 10) ;
     }

     MoveEntity(mainCam, Vec3(0,camy,camz)) ;

     UpdateController(player, camrotation.Y, move * 3, strafe * 3, jump, 500) ;
     UpdateFramework();
     RenderFramework();

     Flip( 0 );
   }
}

Roland Strålberg
Website: https://rstralberg.com

Posted

What ? ...

Iam pretty sure we agreed in some topic that "UpdateFramework()", just like "UpdateFramewerk()", does call an update on world and AppTime already - and that a second use of update calls does nothing but to make the ups displayed wrong.

 

void Framewerk::Update()
{
UpdateAppTime();
SetWorld( background.GetWorld() );
UpdateWorld( AppSpeed() );
SetWorld( transparency.GetWorld() );
UpdateWorld( AppSpeed() );
SetWorld( main.GetWorld() );
UpdateWorld( AppSpeed() );
}

 

Dont get me wrong - i talk about framework here but i had the intention it should look quit similar ... the version differences are getting on my nerves.

 

... "UpdateWorld()" is in charge for updating the physics as well afaik - calling it two times should/would/could fobaring quit a lot.

 

Can this be clarified for real this time ?!

AMD 64 X2 Dual 5k - 4GB - XFX GForce9800GT - nv196.21 - WinXP Sp3

zBrush4R2 - Silo2Pro - Unwrap3DPro - Gile - MaPZone2.5

 

adv_banner-april2012_720x150_tex01.png

 

Xxploration FPS in progress ...

Posted

Thanks Roland I will try that code tonight. I am trying c++ so I can use any examples that come with leadwerks 3d.I havn't used the language since I used c++builder 3 some years ago. I am having the usual noob problems with curly brackets and sem colons etc but its slowly coming back to me.

  • Upvote 1

amd quad core 4 ghz / geforce 660 ti 2gb / win 10

Blender,gimp,silo2,ac3d,,audacity,Hexagon / using c++

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...