GithubHelp home page GithubHelp logo

mecwerks / ioq3-ios Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ioquake/ioq3

3.0 3.0 2.0 23.24 MB

License: GNU General Public License v2.0

C 93.32% C++ 4.26% Assembly 0.18% Objective-C 1.94% Perl 0.03% MATLAB 0.01% Shell 0.25% Visual Basic 0.01%

ioq3-ios's Introduction

mecwerks's github stats

ioq3-ios's People

Contributors

dersaidin avatar ensiform avatar hgs3 avatar icculus avatar jeremiah-sypult avatar jonathangray avatar lnussel avatar losinggeneration avatar mecwerks avatar nuclearmonster avatar richard-allen avatar smiletheory avatar thiloschulz avatar timangus avatar tjdub avatar zturtleman avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ioq3-ios's Issues

Improve iOS port

These issues were reported by @zturtleman

  • GLimp_ReleaseGL doesn't get called in CL_CgameSystemCalls (it's after return)
  • vidRotation in glconfig_t is only used in engine and breaks cgame/ui VMs (if VM is not build with IOS defined and your tr_types.h)
    -- trap_GetGlconfig overwrites too much memory, and wrong order for non-IOS VMs.
  • Sys_PIDFileName is broken in sys_main.c, should be ( *homePath != '\0' )
    -- (if you don't want a pid file on ios add #ifndef IOS around homepath code in Sys_PIDFileName)
  • Non-existent BUILD_IOS_BASEGAME is in README
  • botlib/l_precomp.c change in PC_ExpandBuiltinDefine doesn't make sense, only makes non-iOS act different. Also the file isn't compiled by lcc.
  • Stub Sys_Dialog with {} instead of #ifndef IOS it everywhere?
  • cl_cin.c -- why change CIN_DrawCinematic? change only affects case where cls.glconfig.maxTextureSize <= 256
  • Moved keyCatchers variable in cl_keys.c for no reason?

ioq3-ios

@alexey12424323

I would suggest using my ioq3-ios port. It's based off of sethk's iOS port but im going to be updating it. Currently the menu's use an absolute cursor value to move the menu cursor and releaseing the touch does a button press on the button your over top of, also movement (and soon to be looking) is gradual dependent on how far you push the joystick forward. Soon looking will be able to be set between sliding across screen and using a joypad to look. Currently there is no shoot button but that will be fixed.

Also if your interested you can use spearmint-ios which is based off of zturtleman's engine which adds splitscreen support to other devices and other fixes and improvements. It also pulls iOS stuff from ioq3-ios so the same features are supported.

Hope i helped some,
~Marcus

iOS move/look options

Need to add in-game options to be able to change the sensitivity of the move/look joypads

iOS Touch Buttons

iOS Touch buttons need to be drawn automatically. Currently the main menu works okay with the current implementation but it is still a little offset from how it should be, and bitmaps do not draw correctly at all.

The iDevice is held with the home button on the left side, and the problem is that Quake3 draws things from the top-left corner, x is horizontal and y is vertical. However on iOS, CG* functions draw based on drawing from the top-right, x is vertical and y is horizontal.

Here is the current math being done to translate the coordinates:

/*
=================
Text_TouchValues
=================
*/
void Text_TouchValues ( menutext_s *item, button_s *button ) {
        char buff[512];
        float nx;
        int width;
        int charw;
        int charh;

        if (item->generic.name)
                strcpy(buff, item->generic.name);
        else if (item->string)
                strcpy(buff, item->string);
        else
                return;


        if (item->style & UI_SMALLFONT) {
                charw = SMALLCHAR_WIDTH;
                charh = SMALLCHAR_HEIGHT;
        } else if (item->style & UI_GIANTFONT) {
                charw = GIANTCHAR_WIDTH;
                charh = GIANTCHAR_HEIGHT;
        } else {
                charw = BIGCHAR_WIDTH;
                charh = BIGCHAR_HEIGHT;
        }

        nx = item->generic.x;
        width = strlen(buff) * charw;

        switch (item->style & UI_FORMATMASK) {
                case UI_CENTER:
                        // center justify at x
                        nx += width / 2;
                        break;
                case UI_RIGHT:
                        // right justify at x
                        nx += width;
                        break;
                default:
                        // left justify at x
                        break;
        }

        // in trap_DrawTouchArea, x and y are flipped, w and h are flipped
        button->x = nx * uis.xscale + uis.bias;
        button->y = (float)item->generic.y * uis.yscale;
        button->w = (float)width;
        button->h = (float)charh;
        button->menu = item->generic.parent->id;
        button->id = item->generic.id;
}

Help would be apreciated :)

Add UI tools for drawing iOS sliders/switches/etc. ?

This would be helpful when changing sensitivity in the options or enabling/disabling other options.

Is this possible?

May have to set it up like the touch buttons using a limited amount being allowed to display at one time.

Improve looking on iOS

The currently implementation of the looking joypad just uses standard key presses to look around. This needs to be made so that it can be changed between gradual like the move joypad, screen dragging, or device tilting.

Also let screen tilting be used for movement?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.