Jump to content

ecrow

Members
  • Content Count

    8
  • Joined

  • Last visited


Reputation Activity

  1. Upvote
    ecrow got a reaction from mrlongshen in Downgrade hercules svn before using .conf   
    This is a good question for those learning Git. If I understand correctly: you pulled the latest Hercules update and want to go back.
    Terminology wise, SVN is different from Git. SVN is Subversion; which is an alternative to Git.
     
    Here's the Git command you're looking for:
    (remember to cd into where ever you cloned your Hercules repository)
    git checkout <branch or commitid> I can't tell you where or when that change was made, since I'm very new to this project. You can do some research if you use:
    git log --follow <path to file> Hercules Github might have an easier to read interface for checking the logs.
  2. Upvote
    ecrow got a reaction from Legend in Downgrade hercules svn before using .conf   
    This is a good question for those learning Git. If I understand correctly: you pulled the latest Hercules update and want to go back.
    Terminology wise, SVN is different from Git. SVN is Subversion; which is an alternative to Git.
     
    Here's the Git command you're looking for:
    (remember to cd into where ever you cloned your Hercules repository)
    git checkout <branch or commitid> I can't tell you where or when that change was made, since I'm very new to this project. You can do some research if you use:
    git log --follow <path to file> Hercules Github might have an easier to read interface for checking the logs.
  3. Upvote
    ecrow reacted to 4144 in Developmet Files & Tools   
    servergreps link to outdated revision.
    Always actual link this: https://gitlab.com/evol/evol-tools/tree/master/servergreps/hercules
     
    It compare hercules packets to manaplus (open source client)
    and comapare hercules packets to other servers for each packet version.
    For packets versions before 20150916 used hercules, for newer used ragemu, because sadly for now hercules not support this versions.
  4. Upvote
    ecrow reacted to Ridley in Developmet Files & Tools   
    https://gitlab.com/evol/evol-tools/tree/f9e6037c7759139338f54cf3234f171e669da35f/servergreps
     
    http://www.divine-pride.net
     
    Both pretty self explaining
  5. Upvote
    ecrow reacted to Haru in Developmet Files & Tools   
    Doxygen is a developer-only dependency. We use it (check the 'hooks' target in the top directory Makefile) only to re-generate the HPM Hooking definitions and the HPMDataCheck definitions. That operation is only needed when you edit something in the interfaces (and it's generally not needed to do manually if you push code to the repository or make a pull request, because the build-bot will take care of re-generating those after each push to the master branch)
    It's not needed at all in order to run Hercules or to load HPM plugins (even if they use the HPM Hooking)
     
    About vim plugins and configurations, this is a good start: https://github.com/HerculesWS/StaffPlugins/tree/master/Haru/vimsyntaxgen
    it's a HPM plugin that will let you generate syntax definitions, filetype detectors, etc for Hercules scripts.
    It also includes a syntax definition for Syntastic, in case you want to use the Hercules built-in script checker to test the syntax of your scripts every time you save the file. Note that this last part needs the syntastic vim plugin available at https://github.com/scrooloose/syntastic and some configuration (you'll need to tell it where your compiled Hercules is located:
    " from my .vimrc let g:syntastic_herc_compiler = '/usr/local/Hercules/script-checker' Other noteworthy plugins that I use: 
    - airline - https://github.com/bling/vim-airline (a better status bar)
    - commentary - https://github.com/tpope/vim-commentary.git (comment in/out code quickly with 'gc')
    - DirDiff - https://github.com/grota/DirDiff.vim.git (diff directories)
    - easy-align - https://github.com/junegunn/vim-easy-align.git (auto-align definition blocks, such as enum definitions)
    - fugitive - https://github.com/tpope/vim-fugitive.git (git commands from inside vim)
    - gitgutter - https://github.com/airblade/vim-gitgutter.git (show markers for added/removed/edited lines if a file is in a git repository)
    - repeat - https://github.com/tpope/vim-repeat.git (extends the '.' repeat feature with support for more commands)
    - signature - https://github.com/kshenoy/vim-signature.git (show visual hints for 'm' markers)
    - unite - https://github.com/Shougo/unite.vim (a framework to search/show/select various kinds of things - advanced stuff, check their page for examples of use)
    - YouCompleteMe - https://valloric.github.io/YouCompleteMe (very good autocompleter that actually works, even with Hercules)
  6. Upvote
    ecrow reacted to Haru in Developmet Files & Tools   
    We don't really have any archive of actual Ragnarok database data (it's quite unfortunate, yep). Since many Hercules developers have/had access/owned a private server at some point in our life, we have some private samples we can use for tests. I generally use a clean database though.
     
    As for packet replays, it depends on what you're working on. I either gather it myself from official servers, if it's something I can access, or ask others if they can record something... There are also some packet structure/length tables available, and most stuff we implement comes from those (followed by test s with the actual client, where possible) - you can find some packet information here http://herc.ws/wiki/Packets (and if you google for some of those IDs, you can likely find more)
     
    You can find various more or less useful tools around the Downloads area (http://herc.ws/board/files/) and the Support&Releases area (http://herc.ws/board/forum/13-support-releases/), but there isn't very much tailored to source development. My main friends are vim and the dozen of general purpose vim plugins I use, along with a gcc-compatible compiler and the almighty Z-shell. For in-game testing, I tend to either download a pre-hexed client if I'm testing a specific version that I haven't made on my own, or download a clean one and hex it with NEMO. That goes on a case by case basis
     
    Probably not the kind of answer you expected, but I guess this is it at least for me
  7. Upvote
    ecrow got a reaction from Ridley in Hercules Specific Dev VM   
    It's a bit hard to find a category to fit this topic. I've setup a virtual machine for Hercules development for myself last weekend. I have a VDI (VirtualBox Disk Image) with the source, libs, and tools setup on it; tips from this post. It's sometimes helpful to pass around a disk image for new developers. Figure I'd share what I came up with.
     
    The Download: herc_ro_dev-ubuntu-vdi.7z (I used MEGA as a site to share this. Maybe you know a better one)
    Be aware: When you uncompress it, it'll need 12GB of space.
    If you're on a mac, probably want p7zip to extract.
     
    Information on the VM:
     
    Operating System ..... Ubuntu 16.0 x64

    Root Password ........ passwd1

    User ................. dev
    User Password ........ passwd1
    Default Shell ........ zsh

    MySQL Root Password .. passwd1
    MySQL RO User ........ ragnarok
    MySQL RO Password .... ragnarok
    MySQL RO Database .... ragnarok
     
    Paths (when you login as dev user):
     
    ~/git ........ I cloned the git repositories here. Already have Hercules cloned. Remember to update it. Profiles not configured.
    ~/svn ........ Subversion repositories.
    ~/script .... .zshrc sources a hercules.env in this directory.
    ~/foss ....... Directory with the FOSS packages I downloaded.
    ~/.app ....... Local binaries and development libraries for local dev user. Typically for overriding existing binaries and paths.
     
    Installed software:
    ZSH: Shell is only set for the dev user.
    VIM: With plugins Vundle, YouCompleteMe, Syntastic, VIM-Commentary, VIM-GitGutter, Unite. Syntasic has been configured with Haru's syntax highlighter for scripting.
    MySQL: The password and ragnarok user information above.
    Visual Sudio Code: Already has C/C++ and Git plugins. Useful GUI-based IDE.
     
    Useful Aliases (in ~/script/hercules.env):
     
    cdr ........ Goes to the root directory of Hercules. (~/git/Hercules)
    cds ........ Goes to Hercules source directory. (~/git/Hercules/src)
    cdcommon ... common directory under hercules' source.
    cdlogin .... login directory under hercules' source.
    cdchar ..... char directory under hercules' source.
    cdmap ...... map directory under hercules' source.
    cdconfig ... config directory under hercules' source.
    cdplugins .. plugins directory under hercules' source.
    cdtest ..... test directory under hercules' source.
    cdtool ..... tool directory under hercules' source.
     
    Other:
    I'd advise, if you decide to reconfigure Hercules, that you remember to set '-g' to the CFLAGS for debug information. Unless you're really good at reading assembly in GDB.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.