+ Reply to Thread
Page 2 of 4 FirstFirst 1 2 3 4 LastLast
Results 16 to 30 of 54

Thread: Native RvS Coding Thread

  1. #16
    some people might be wondering why the Raven Shield headers in the Raven Shield SDK aren't "full". the reason why they aren't "full" is because even though the unreal engine in unreal engine based games are very similiar, game developers can come up with their own "unreal" types. some of you may have looked inside EngineClasses.h and seen variables of types that aren't defined in any of the headers at all. such as:

    FRegion GreenMenuRegion;
    FSoundZoneAudibleZones m_SoundZoneAudibleZones[64];

    these are types that need to be manually defined. rvs has an unrealscript class called LevelInfo. the c++ name of LevelInfo is ALevelInfo. if you look inside the ALevelInfo definition inside EngineClasses.h you will find the GreenMenuRegion declaration that is shown above. The problem is that FRegion itself is not defined. How do you define it? Well, by looking at the unrealscript version. Open LevelInfo.uc which is in the Engine folder inside the rvs sdk. inside this you will find the following definition:

    struct Region
    {
    var int Red;
    var int Green;
    };

    this is the unrealscript version of FRegion. how do you tell? structs in unrealscript have "F" appended to their name in c++. now that you've found the unrealscript version of the FRegion, it's time to define it inside of EngineClasses.h. so it would be:

    struct ENGINE_API FRegion
    {
    int Red;
    int Green;
    };

    this is to help those who are wanting to complete their rvs headers. this is just an example of a certain type. also, some types that you define manually will have data members of types that are types that you had to define manually . for example, some other classes or structs have data members that are of type FRegion. happy coding .
    Last edited by precision1337; 26th November 2005 at 16:23.

  2. #17
    Software Developer Necromancer of the Light DyslexicCheater's Avatar
    Join Date
    12th Mar 2004
    Location
    Florida, USA
    Posts
    612
    This is all great information, so no offense is intended by the following comment, but why do what you're doing when you can just as easily if not more so alter/call game functions on the assembler level, and have a much smaller, cleaner hack because of it? If you allocate yourself some memory space and build everything from scratch, you'll find you know exactly what everything means and how to use it.
    Quote Originally Posted by Kp[vL]
    Any code running on the client machine can be overridden with code that behaves in the interest of the client's user, not in the interests of the software owner.

  3. #18
    UE3 Tormentor Bronze Dragon tamimego's Avatar
    Join Date
    15th Jul 2004
    Location
    Australia
    Posts
    860
    Because 99% of the people here have the faintest idea of what asm is and how it worx. And yes you are correct, assembly built hacks will always be smaller and faster than any other hack.
    Browse my directory at:
    http://tamimego.virtualcoders.net/

  4. #19
    RAM OFFENSIVE COORDINATOR Devil of Hell
    Join Date
    4th Aug 2004
    Location
    bangkok
    Posts
    384
    tami why dont you make your hack in asm?
    see me for keys

    key of the week : RVS-CBRP-V831-8LWF-2L8H

  5. #20
    teh native god Evil One KizZamP-'s Avatar
    Join Date
    28th Jan 2005
    Location
    vectorcity
    Posts
    4,434
    i thought he told me on msn that that is what he's doing now.
    @tami : jelle :p
    kizzamp-
    kizzamp@visualcoding.com (MSN - No email.)








    BattleApps, Your private cheating resource since 2005

  6. #21
    __asm
    {
    push Result
    push Parms
    push Function
    call pProcessEvent
    }

    that's what i know about asm

  7. #22
    Moderator Apprentice God HyPeR-X's Avatar
    Join Date
    10th Apr 2004
    Location
    The Dutchland
    Posts
    2,335
    Quote Originally Posted by precision1337
    __asm
    {
    push Result
    push Parms
    push Function
    call pProcessEvent
    }

    that's what i know about asm
    Thats what osGb` knows about asm.

    - HyPz
    Legal CDKeys: GameKeyShop

  8. #23
    RAM OFFENSIVE COORDINATOR Devil of Hell
    Join Date
    4th Aug 2004
    Location
    bangkok
    Posts
    384
    burn...
    see me for keys

    key of the week : RVS-CBRP-V831-8LWF-2L8H

  9. #24
    Darkone+ Devil of Hell DotProduct's Avatar
    Join Date
    3rd Feb 2005
    Location
    Montreal, Quebec
    Posts
    325
    Quote Originally Posted by DyslexicCheater
    This is all great information, so no offense is intended by the following comment, but why do what you're doing when you can just as easily if not more so alter/call game functions on the assembler level, and have a much smaller, cleaner hack because of it? If you allocate yourself some memory space and build everything from scratch, you'll find you know exactly what everything means and how to use it.
    dc if its not to much to ask u should make us a little tutorial exactly on how to do so... would be greatly appreciated

    msn or pm would be great too...
    dotproduct@hotmail.com
    "If everything seems under control, your just not going fast enough" - Mario Andretti

  10. #25
    Bombus Bimaculatus Death Warrior
    Join Date
    2nd Dec 2004
    Posts
    514
    Quote Originally Posted by HyPeR-X
    Thats what osGb` knows about asm.

    - HyPz
    Nah, thats pretty much common knowledge, that how most native language compilers compile the

    Code:
    pProcessEvent(Function, Parms, Result);
    Quote Originally Posted by tamimego
    Because 99% of the people here have the faintest idea of what asm is and how it worx. And yes you are correct, assembly built hacks will always be smaller and faster than any other hack.
    That's for sure, if you also know how to use MMX, SSE/2, etc instructions too. But as the complexity of the hack grows, so will the unreadability of it grow. Did you tried to do a simple one-form application in MASM32 for example? Even with the many macro definitions you can use with it, its way too unreadable
    Last edited by HUMM3R; 28th November 2005 at 14:34. Reason: Automerged Doublepost

  11. #26
    Software Developer Necromancer of the Light DyslexicCheater's Avatar
    Join Date
    12th Mar 2004
    Location
    Florida, USA
    Posts
    612
    Quote Originally Posted by DotProduct
    dc if its not to much to ask u should make us a little tutorial exactly on how to do so... would be greatly appreciated
    Well, you need to be more specific. What exactly do you need a tutorial on? Writing a DLL in MASM? There are a plethora of tutorials about that, and all related topics on the web. If you are experienced in MASM, you could even use my C DLL example to figure it out. After all, C is nothing more than HLA.

    People don't realize that when they ask for explanations, they need to ask on specific subjects, instead of vague categories. For overviews, Google has everything you need and then some.

    @HUMM3R: The readability of the code is strictly the responsibility of the programmer. Creating linear, modular programs is not difficult. It's all about organization.
    Quote Originally Posted by Kp[vL]
    Any code running on the client machine can be overridden with code that behaves in the interest of the client's user, not in the interests of the software owner.

  12. #27
    RAM OFFENSIVE COORDINATOR Devil of Hell
    Join Date
    4th Aug 2004
    Location
    bangkok
    Posts
    384
    how do you express r6pawn(me) in native.. out of curiosity?
    see me for keys

    key of the week : RVS-CBRP-V831-8LWF-2L8H

  13. #28
    teh native god Evil One KizZamP-'s Avatar
    Join Date
    28th Jan 2005
    Location
    vectorcity
    Posts
    4,434
    just add a var for r6pawn and then do something like r6pawn(myplayercontroller->pawn).
    though if you would like to call a function directly,i don't think that'll wor,you'll need to find the function using Fname etc.
    kizzamp@visualcoding.com (MSN - No email.)








    BattleApps, Your private cheating resource since 2005

  14. #29
    Coder/Creator Golden Dragon
    Join Date
    23rd Apr 2003
    Posts
    1,121
    uhm...ok

    or just do

    AR6Pawn* MyPawn = (AR6Pawn*)MyPlayerController->Pawn;
    ..::|| Visit AgeRage.net||::..

  15. #30
    [RAM]Ruffian' Silver Dragon
    Join Date
    14th Feb 2005
    Location
    Ohio
    Posts
    986
    Quote Originally Posted by Kizzamp
    just add a var for r6pawn and then do something like r6pawn(myplayercontroller->pawn).
    though if you would like to call a function directly,i don't think that'll wor,you'll need to find the function using Fname etc.
    Kizzamp - whats your deffinition of calling a function "directly" and indirectly...

    I honostly dont think you have a clue what you are talking about....
    Last edited by RuffianSoldier; 8th December 2005 at 08:26.
    [RAM] Coding Team
    BF3 Beta Sign Up

+ Reply to Thread
Page 2 of 4 FirstFirst 1 2 3 4 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts